Basis Set
Description
A description of a cluster expansion basis set.
Project files
This format is used for the following standard CASM project files:
basis.json
: This file is generated by CASM when a basis set is constructed using thecasm bset --update
method.eci.json
: This file, witheci
values included, is used to input coefficients. It may be generated using thecasm learn --select
method after usingcasm learn
to fit coefficients, or it can be created manually by copyingbasis.json
and addingeci
values.
JSON Attributes List
Basis Set attributes:
Name | Description | Format |
---|---|---|
bspecs |
Basis set specifications | Basis Set Specs |
orbits |
Cluster orbits and basis set functions | array of Cluster Basis Set Orbit |
prim |
Primitive crystal structure and DoF | Prim |
site_functions |
Description of site functions at each sublattice | array of Site Functions |
Cluster Basis Set Orbit attributes:
Name | Description | Format |
---|---|---|
cluster_functions |
Basis functions of the prototype cluster DoF values | array of Cluster Function |
linear_orbit_index |
Linear cluster orbit index | int |
mult |
Number of equivalent clusters in the orbit | int |
prototype |
Representation of the prototype cluster | Prototype Cluster |
Cluster Function attributes:
Name | Description | Format |
---|---|---|
\\Phi_{<linear_function_index>} |
Basis function formula, formatted for Latex | string |
linear_function_index |
Linear basis function index | int |
eci |
Effective cluster interaction value | number |
Prototype Cluster attributes:
Name | Description | Format |
---|---|---|
invariant_group |
Indices of prim factor group operations that leave the prototype cluster invariant | array of int |
invariant_group_descriptions |
Prototype cluster invariant group operation descriptions | array of string |
max_length |
Maximum distance between sites in the cluster. | number |
min_length |
Minimum distance between sites in the cluster. | number |
sites |
Cluster site coordinates | array of integral site coordinates |
Site Functions attributes:
Name | Description | Format |
---|---|---|
asym_unit |
Asymmetric unit index for the sublattice | int |
occ |
Occupation site basis functions | dict |
<site_dof_key> |
Continuous DoF site basis functions | dict |
sublat |
Sublattice index | int |
JSON Attributes Description
Basis Set JSON object
-
bspecs
: Basis Function SpecsA copy of the basis set specifications (
bspecs.json
) used to generate the basis set. -
orbits
: array of Cluster Basis Set Orbit.An array of cluster basis set orbit objects, one for each orbit generated, including the null cluster orbit.
-
prim
: PrimA copy of the prim used to generate the basis set.
-
site_functions
: array of Site Functions,shape=(n_sublattice,)
The
site_functions
array contains one site functions object for each sublattice in the prim.
Cluster Basis Set Orbit JSON object
-
cluster_functions
: array of Cluster FunctionAn array describing the cluster functions associated with the prototype cluster.
-
linear_orbit_index
: intLinear cluster orbit index
-
mult
: intCluster multiplicity, the number of symmetrically equivalent clusters in the orbit.
-
prototype
: Prototype ClusterInformation about one cluster (the “prototype”) in the orbit of symmetrically equivalent clusters.
Cluster Function JSON object
-
\\Phi_{<linear_function_index>}
: stringBasis function formula, formatted for Latex. This is the formula for the basis function evaluated from site DoF values on the prototype cluster sites and global DoF values. The complete basis set also includes symmetrically the equivalent basis functions for each cluster in the orbit.
Example:
"\\Phi_{24}" : "\\sqrt{1/2}(e_1\\phi_{0,0}(s_{0})\\phi_{0,0}(s_{1})+e_3\\phi_{0,0}(s_{0})\\phi_{0,0}(s_{1}))"
In this example:
\\phi_{b,i}
are site basis functions, whereb
is a sublattice index andi
is a function index at that sites_{0}
,s_{1}
are the occupation values at sites in the clusters, where<site_index>
is an index into the sites in the cluster.e_1
,e_3
are strain DoF component values- In general, other site and global DoF component values may also be included in the formulas using the standard basis names or user-specified
axis_names
as defined in the prim.
-
linear_function_index
: intLinear basis function index.
-
eci
: number (optional)Basis function coefficient value. Not printed in
basis.json
. This is an optional value in theeci.json
file. Not including theeci
attribute indicates the coefficient value is zero and the corresponding basis functions do not need to be evaluated for property prediction.
Site functions JSON object
-
asym_unit
: intAsymmetric unit index. Sublattices with the same
asym_unit
value are equivalent under prim factor group operations. -
occ
: dictSpecifies the value of occupation site basis functions as a function of which occupant is at the site. The discrete site basis functions are named
\\phi_{b,i}
, whereb
is the sublattice index andi
is an index over site basis functions on this sublattice.Example: Discrete site basis functions, for a ternary system, using the
"occupation"
basis"occ" : { "basis" : { "\\phi_{0,0}" : { "A" : 0.000000000000, "B" : 1.000000000000, "C" : 0.000000000000 }, "\\phi_{0,1}" : { "A" : 0.000000000000, "B" : 0.000000000000, "C" : 1.000000000000 } } }
Example: Discrete site basis functions, for a ternary system, using the
"chebychev"
basis"occ" : { "basis" : { "\\phi_{0,0}" : { "A" : -1.224744871392, "B" : 0.000000000000, "C" : 1.224744871392 }, "\\phi_{0,1}" : { "A" : -0.707106781187, "B" : 1.414213562373, "C" : -0.707106781187 } } }
-
<site_dof_key>
: dictSpecifies the value of continuous site DoF basis functions as a function of the vector components, using the standard or user-specified axis names. The
<site_dof_key>
is the site DoF type as specified in the [prim]dofs
dict for this sublattice. The continuous site basis functions are namedvar_{b}_{i}
, whereb
is the sublattice index andi
is an index over continuous site basis functions of this type on this sublattice.Example: Atomic displacement site basis functions, using standard basis
"disp" : { "basis" : { "var_{0}_{0}" : "dx_{0}", "var_{0}_{1}" : "dy_{0}", "var_{0}_{2}" : "dz_{0}" } }
Example: Atomic displacement site basis functions, using user-specified basis in a 2d subspace
"disp" : { "basis" : { "var_{0}_{0}" : "d1_{0}", "var_{0}_{1}" : "d2_{0}" } }
-
sublat
: int
Sublattice index.