You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added libcasm.mapping.mapsearch.MappingNode.symmetry_preserving_displacement() method to calculate and return the symmetry-preserving component of the atom mapping displacements as a shape=(3, N_supercell_site) array
Added libcasm.mapping.mapsearch.MappingNode.symmetry_breaking_displacement() method to calculate and return the symmetry-breaking component of the atom mapping displacements as a shape=(3, N_supercell_site) array
Added libcasm.mapping.mapsearch.PrimSearchData.make_symmetry_preserving_displacement(displacement, unitcellcoord_index_converter) method to decompose an arbitrary displacement into its symmetry-preserving component
Added libcasm.mapping.mapsearch.PrimSearchData.make_symmetry_breaking_displacement(displacement, unitcellcoord_index_converter) method to decompose an arbitrary displacement into its symmetry-breaking component
Added libcasm.mapping.mapsearch.MappingSearch.last_partition() method that returns a tuple (subnodes, inserted) containing the list of sub-nodes generated by the last call to partition() and a list of booleans indicating whether each was inserted into the queue
Added unit tests for libcasm.mapping.mapsearch.MappingNode in python/tests/test_MappingNode.py
Added libcasm.mapping.methods.direct_structure_mapping to map structures directly without lattice orientation or atom permutation.
Changed
Breaking change: Removed atom_to_site_cost_future_f arguments. Custom atom_to_site_cost_f functions passed to libcasm.mapping.mapsearch.MappingSearch or libcasm.mapping.mapsearch.AtomMappingSearchData constructors must now accept libcasm.mapping.mapsearch.LatticeMappingSearchData as the first parameter instead of libcasm.xtal.Lattice. This provides access to the full lattice mapping context including the deformation gradient. The built-in cost function libcasm.mapping.mapsearch.make_atom_to_site_cost has been updated accordingly.
Renamed libcasm.mapping.mapsearch.make_atom_to_site_cost_future to replace libcasm.mapping.mapsearch.make_atom_to_site_cost
Changed libcasm.mapping.mapsearch.make_atom_to_site_cost so that the displacement cost is calculated using the mean of the parent-to-child and child-to-parent costs, rather than just the parent-to-child cost. This makes the cost function symmetric with respect to swapping the parent and child structures.
Thread safety updates in casm/mapping/impl/ to StrainCostCalculator, LatticeMap, MappingNode, and StrucMapper.
Removed
Removed deprecatd mapping_impl::LatticeNode constructors. Use standalone methods to calculate LatticeNode members instead.