ClusterSpace(prototype_structure, cutoffs, sum_rules=True, symprec=1e-05, length_scale=0.1)¶
Primitive object handling cluster and force constants for a structure.
- prototype_struture (ASE Atoms object) – prototype structure; spglib will be used to find a suitable cell based on this structure.
- cutoffs (list or Cutoffs obj) – cutoff radii for different orders starting with second order
- sum_rules (bool) – If True the aucostic sum rules will be enforced by constraining the parameters.
- symprec (float) – numerical precision that will be used for analyzing the symmetry (this parameter will be forwarded to spglib)
- length_scale (float) – This will be used as a normalization constant for the eigentensors
To instantiate a ClusterSpace object one has to specify a prototype structure and cutoff radii for each cluster order that should be included. For example the following snippet will set up a ClusterSpace object for a BCC structure including second order terms up to a distance of 5 A and third order terms up to a distance of 4 A.
>>> from ase.build import bulk >>> prim = bulk('W') >>> cs = ClusterSpace(prim, [5.0, 4.0])
BiMap object – atoms inside the cutoff relative to the of the center cell
BiMap object – clusters possible within the cutoff
Cutoffs object – cutoffs used for constructing the cluster space
float – normalization constant of the force constants
int – number of free parameters in the model
If the sum rules are not enforced the number of DOFs is the same as the total number of eigentensors in all orbits.
list – list of dictionaries containing detailed information for each orbit, e.g., cluster radius and atom types.
list of Orbit objects – orbits associated with the lattice structure.
list of vectors – lookup for permutation references
ASE Atoms object – structure of the lattice
Prints a list of all orbits.
Reads a ClusterSpace instance from file.
Parameters: f (string or file object) – name of input file (string) or stream to load from (file object)
list of 3x3 matrices – symmetry elements representing rotations
str – space group of the lattice structure obtained from spglib
bool – True if sum rules are enforced
float – symprec value used when constructing the cluster space
list of 3-vectors – symmetry elements representin translations
Saves to file or to a file-like object.
The instance is saved into a custom format based on tar-files. The resulting file will be a valid tar file and can be browsed by by a tar reader. The included objects are themself either pickles, npz or other tars.
Parameters: fileobj (str or file-like object) – If the input is a string a tar archive will be created in the current directory. Otherwise the input must be a valid file like object.
list – wyckoff sites in the primitive cell
Contains information about cutoff config
Contains conventient functionality to be used in the algorithms
Parameters: cutoff_matrix – cutoff_matrix[i][j] corresponds to the cutoff for order i+2 and nbody j+2. Elements where j>i will be ignored.
Returns cutoff for a given body and order.
float – maximum cutoff
int – maximum body
Return maximum cutoff for a given body.
Returns maximum order for a given body
int – maximum order
list – list of all orders in Cutoffs
Reads a Cutoffs instance from file.
Parameters: fileobj (file-like object) – input file to read from
Write Cutoffs to file in pickle format.
Parameters: fileobj (file-like object) – file-like object to which the cutoffs will be written to