Structure class
A Structure
object is a SuperCell
object augmented by an array of species numbers (or symbols). This array
indicates a particular configuration of the SuperCell
(a “decoration”), in a way which is compatible with
the sublattices defined in the SuperCell
object.
The Structure
class inherits from the SuperCell
class. Therefore, all methods available to the
SuperCell
class (and to the ParentLattice
class, from which SuperCell
inherits) are available
to the Structure
class. Therefore, look at the documentation of the classes SuperCell
and ParentLattice
for additional methods for the Structure
class.
Parameters:
super_cell
: SuperCell objectSuperCell
object.
decoration
: list of int (default: None
)Atomic numbers of the structure. Overriden by sigmas
and atomic_symbols
if not None
.
decoration_symbols
: list of strings (default: None
)Atomic symbols of the structure. Overriden by sigmas
if not None
.
sigmas
: list of int (default: None
)Every site in a supercell is represented by an array of the species that
can occupy the site. Thus, taking as reference these arrays, a possible
representation of a decoration is by indicating the ordinal number of the
corresponding species. For instance, if the “sites”-based representation of the SuperCell
is {0: [10,11], 1: [25], 2: [12,25]}
(*), then equivalent structures are obtained with
decoration = [10,25,25]
or decoration_symbols = ["Ne","Mn","Mn"]
or sigmas = [0,0,1]
.
If not None
, sigmas
overrides decoration
and decoration_symbols
.
mc
: Boolean (default: False
)whether the initialization of the Structure
object is in the context of a Monte Carlo (MC) run. Setting it to True
affects the behavior of the method Structure.swap_random_binary()
(*) This means, crystal site 0
can host any of the species 10
(Neon) or 11
(Sodium), etc.
See, e.g., ParentLattice.get_sites()
.
Methods:
Get decoration array
Get Atoms object corresponding to the Structure object
Get decoration array
Get fractional concentration of each species on each sublattice
This function returns a dictionary. The keys of the dictionary, denoted
with \(t\), are the site types that admit substitution (i.e., those returned
by Structure.get_substitutional_tags()
). The values of the dictionary
are arrays of float, denoted with vectors \(\mathbf{c}_t\).
The coordinates of \(\mathbf{c}_t\) (\(c_{\sigma t}\)) are equal to
\(n_{\sigma t}/n_t\), where \(\sigma \in [ 0,m-1]\),
\(n_{\sigma t}\) is the number of atoms of species \(\sigma\)
occupying sites of type \(t\), and \(n_t\) is the total number
of sites of type \(t\). The coordinates of \(\mathbf{c}_t\) sum
up to \(1\).
Get array of positions.
Parameters:
wrap atoms back to the cell before returning positions
optional keywords pbc, center, pretty_translation, eps,
see ase.geometry.wrap_positions()
Return decoration array in terms of sigma variables.
Return SuperCell member of the Structure
Serialize structure object
Wrapper for ASEs write method.
Parameters:
fmt
: string (default: json
)Indicate the file format of the output file. All the formats
accepted by ase.io.write()
method are valid (see corresponding
documentation in https://wiki.fysik.dtu.dk/ase/ase/io/io.html#ase.io.write).
filepath
: string (default: structure.json
)DEPRECATED, use filepath instead file name (may includ absolute or relative path).
fname
: string (default: None
)DEPRECATED, use filepath instead. File name (may includ absolute or relative path).
Set Calculator object for structure.
Swap two randomly selected atoms in randomly selected sub-lattice.
First, a sublattice from the site_types array is picked at random. Second, a pair of species from the selected sublattice are swapped.
Structure object is modified by the swap. The swapped Structure object is also returned.
See also Structure.swap_random_binary()
Parameters:
site_types
: integer array (required)Indicate indices of sub-lattices to be considered in the random sub-lattice selection.
Swap two randomly selected atoms in given sub-lattice.
Parameters:
site_type
: integer (required)Indicate index of sub-lattice where atoms are to be swapped.
sigma_swap
: two-component integer array (default: [0,1]
)Indicate which atomic species (represented by sigma variables) in the sublattice
are swapped. E.g., in the case of a binary, this can only be [0,1]
, while
for a ternary, this can be [0,1]
, [0,2]
, [1,2]
(and, obviously, the exchanged ones, e.g. [1,0]
).
Return:
Update decoration of the structure object
Parameters:
decoration
: