Skip to content

Releases: prisms-center/CASMcode_bset

v2.2.0

27 Feb 15:08

Choose a tag to compare

[2.2.0] - 2026-02-26

Changed

  • Set requires-python to ">=3.10,<3.15" to match the wheels being built for CASM C++ extensions and distributed on PyPI.
  • Changed libcasm-configuration dependency to ">=2.3.0". This will avoid potential compatibility issues between libcasm-configuration<2.3.0 and the planned libcasm-xtal>=3.

Fixed

  • Fixed a variable name in ClusterFunctionsBuilder._build_equivalent_orbit_basis_sets which resulted in an error when build_cluster_functions was called with verbose=True.

v2.1.0

09 Jul 13:44

Choose a tag to compare

[2.1.0] - 2025-08-09

Added

  • Added --test option to __main__ script to test specific configuration flags for clexulator compilation

Changed

  • Make --autoconfigure call --test as subprocesses and prefer no -D_GLIBCXX_USE_CXX11_ABI=0

v2.0.0

04 May 18:06

Choose a tag to compare

[2.0.0] - 2025-05-04

Changed

  • Restrict requires-python to ">=3.9,<3.14"
  • Run CI tests using Python 3.13

v2.0a3

11 Feb 04:18

Choose a tag to compare

[2.0a3] - 2025-02-10

Added

  • Added formulas using neighbor list indexing

Fixed

  • Fixed cluster function variable naming (update variables after transforming cluster functions to assign correct neighborhood_site_index and name). C++ functions are unchanged.

v2.0a2

11 Dec 14:39

Choose a tag to compare

[2.0a2] - 2024-12-11

Added

  • Added ClexulatorWriter.generated_files attribute, holding a list of the files generated when writing a Clexulator
  • Added generation of latex formulas during the Clexulator writing process
  • Added casm.bset.cluster_functions.MakeVariableName for variable naming
  • Added verbose and very_verbose options to casm.bset.write_clexulator
  • Added to_dict methods to ClusterFunctionsBuilder, OrbitMatrixRepBuilder and ClusterMatrixRepBuilder
  • Added to_dict and from_dict methods to ExponentSumConstraint
  • Added casm.bset.json_io module
  • Added option to specify occ_site_basis_functions_specs of type occupation with a choice of reference occupant on each sublattice.
  • Added a check that prints an error message and raises an exception if the constant occupation site basis function mixes with other site basis functions.

Changed

  • Updated ClexulatorWriter.write to write a "variables.json.gz" file for each Clexulator (including local Clexulator) which contains the variables used by the jinja2 templates as well as information like basis function formulas generated during the write process
  • Updated ClexulatorWriter.write to write a "cluster_functions.json.gz" file with the generated clusters, matrix reps, and functions.
  • Changed the name used for occupation variables. The name "\phi" is the base, but the number and meaning of the indices can vary depending on the site basis functions. An "occ_site_functions_info" dict in the "variables.json" file contains the string value used as a template ("occ_var_name") and a description of the variable including its indices, if any ("occ_var_desc" and "occ_var_indices").

Fixed

  • Fixed v1.basic templates so that the Clexulator compiles for a prim with occupation DoF, but only the constant basis function is included.
  • Fixed tests with anisotropic occupants and occupation site basis functions.

v2.0a1

15 Aug 15:53

Choose a tag to compare

[2.0a1] - 2024-08-15

This release creates the casm-bset CASM cluster expansion basis set construction module. This includes:

  • Methods for generating coupled cluster expansion Hamiltonians of occupation, strain, displacement, and magnetic spin degrees of freedom (DoF) appropriate for the symmetry of any multi-component crystalline solid.
  • Methods for generating C++ code for a CASM cluster expansion calculator (Clexulator) which efficiently evaluates the cluster expansion basis function for configuration represented using the CASM ConfigDoFValues data structure
  • Generalized methods for creating symmetry adapted basis functions of other variables

This package is designed to work with the cluster expansion calculator (Clexulator) evaluation methods which are implemented in libcasm-clexulator.

This package may be installed via pip install. This release also includes API documentation, built using Sphinx.