Basis Functions
Each cluster is defined on a set of cluster functions, which is expanded on a set of single-site basis functions. The basis function obeys the orthogonality condition
For more information, please see the CLEASE paper.
CLEASE implements three different basis functions:
Polynomial
,
Trigonometric
and
BinaryLinear
.
- class clease.basis_function.Polynomial(unique_elements: Sequence[str])[source]
Pseudospin and basis function from Sanchez et al.
Sanchez, J. M., Ducastelle, F. and Gratias, D. (1984). Generalized cluster description of multicomponent systems. Physica A: Statistical Mechanics and Its Applications, 128(1-2), 334-350.
- class clease.basis_function.Trigonometric(unique_elements: Sequence[str])[source]
Pseudospin and basis function from van de Walle.
van de Walle, A. (2009). Multicomponent multisublattice alloys, nonconfigurational entropy and other additions to the Alloy Theoretic Automated Toolkit. Calphad, 33(2), 266-278.
- class clease.basis_function.BinaryLinear(unique_elements: List[str], redundant_element: str | None = 'auto')[source]
Pseudospin and basis function from Zhang and Sluiter. The
redunant_element
parameter can be used to select which element is not explicitly defined by the ECI values. If it is not set, the element will be chosen as the first element in alphabetical order.Zhang, X. and Sluiter M. Cluster expansions for thermodynamics and kinetics of multicomponent alloys. Journal of Phase Equilibria and Diffusion 37(1) 44-52.
- customize_full_cluster_name(full_cluster_name: str) str [source]
Translate the decoration number to element names.
- get_basis_functions() List[Dict[str, float]] [source]
Create orthonormal basis functions.
Due to the constraint that any site is occupied by exactly one element, we only need to track N-1 species if there are N species. Hence, the first element specified is redundant, and will not have a basis function.
All three basis functions inherit from the same base abstract base interface:
- class clease.basis_function.BasisFunction(unique_elements: Sequence[str])[source]
Base class for all Basis Functions.
- property basis_functions: List[Dict[str, float]]
Property access to
get_basis_functions()
.
- customize_full_cluster_name(full_cluster_name: str) str [source]
Customize the full cluster names. Default is to do nothing.
- abstract get_basis_functions()[source]
Create basis functions which guarantees the orthonormality condition.
- classmethod load(fd, **kwargs)
Method for loading class object from JSON
- save(fd)
Method for writing class object to a JSON file.