Releases: prisms-center/CASMcode_mapping
Releases · prisms-center/CASMcode_mapping
v3.0a1
[3.0a1] - 2026-03-02
Added
- 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 topartition()and a list of booleans indicating whether each was inserted into the queue - Added unit tests for
libcasm.mapping.mapsearch.MappingNodeinpython/tests/test_MappingNode.py - Added
libcasm.mapping.methods.direct_structure_mappingto map structures directly without lattice orientation or atom permutation.
Changed
- Breaking change: Removed
atom_to_site_cost_future_farguments. Customatom_to_site_cost_ffunctions passed tolibcasm.mapping.mapsearch.MappingSearchorlibcasm.mapping.mapsearch.AtomMappingSearchDataconstructors must now acceptlibcasm.mapping.mapsearch.LatticeMappingSearchDataas the first parameter instead oflibcasm.xtal.Lattice. This provides access to the full lattice mapping context including the deformation gradient. The built-in cost functionlibcasm.mapping.mapsearch.make_atom_to_site_costhas been updated accordingly. - Renamed
libcasm.mapping.mapsearch.make_atom_to_site_cost_futureto replacelibcasm.mapping.mapsearch.make_atom_to_site_cost - Changed
libcasm.mapping.mapsearch.make_atom_to_site_costso 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.
v2.4.1
v2.4.0
v2.3.0
[2.3.0] - 2025-08-07
Added
- Added
CASM::mapping::DispOnlyAtomToSiteCostFunction, which has the same definition ofCASM::mapping::AtomToSiteCostFunctionprevious to this release. - Added
libcasm.mapping.mapsearch.make_atom_to_site_cost_future. This method makes the cost infinity for displacements that are on the boundary of the Voronio cell. This addresses an issue where the choice of displacement vector for atoms on the parent superlattice voronoi cell boundary was ambiguous and in practice sensitive to small numerical differences, leading to inconsistent mapping results. With the change, atom mappings with displacements on the Voronoi cell boundary will not be selected, and larger supercells will be necessary to find atom mappings with those assignments. - Added an
atom_to_site_cost_future_fargument for theMapSearchandAtomMappingSearchDataconstructors to allow use ofmake_atom_to_site_cost_futureinstead ofmake_atom_to_site_cost.
Changed
- Changed
CASM::mapping::AtomToSiteCostFunctionto take the Lattice used to find displacements under periodic boundary conditions.
Deprecated
- The
make_atom_to_site_cost_futureandmake_atom_to_site_costmethods are marked deprecated becausemake_atom_to_site_cost_futureis planned to replacemake_atom_to_site_costin libcasm-mapping 3.0.0. - The
atom_to_site_cost_fandatom_to_site_cost_future_farguments for theMapSearchandAtomMappingSearchDataconstructors are marked deprecated becauseatom_to_site_cost_future_fis planned to replaceatom_to_site_cost_fin libcasm-mapping 3.0.0.
v2.2.0
v2.1.0
v2.0.1
v2.0.0
[2.0.0] - 2025-05-02
Fixed
- Fixed a bug in
make_mapped_structurewhich was always returning zero for atom properties
Changed
- Build for Python 3.13
- Restrict requires-python to ">=3.9,<3.14"
- Run CI tests using Python 3.13
- Build MacOS arm64 wheels using MacOS 15
- Build Linux wheels using Ubuntu 24.04
v2.0a6
v2.0a5
[v2.0a5] - 2024-08-18
Added
- Added
isotropic_strain_costandsymmetry_breaking_strain_costtolibcasm.mapping.info. - Added
map_lattices_without_reorientationtolibcasm.mapping.methods.
Fixed
- Fixed the displacement cost descriptions in
libcasm.mapping.methods.map_atoms.