Property Types#
Properties in aiida-atomistic fall into three categories:
1. Global Properties#
Properties that apply to the entire structure (not per-site):
pbc(periodic boundary conditions)cell(lattice vectors)tot_charge(total charge of the structure)tot_magnetization(total magnetization of the structure)hubbard(Hubbard parameters - global because it contains site indices for U and V parameters)
Note
hubbard is a global property because Hubbard parameters reference site indices (e.g., for on-site U or inter-site V). For example, V parameters involve pairs of site indices, making it inherently a structure-level property rather than a per-site property.
2. Site Properties#
Properties defined per atomic site in the Site model. These are the fundamental properties stored for each site:
Individual site properties (accessed per site):
symbol(chemical symbol, singular)position(atomic coordinates, 3D vector)mass(atomic mass, scalar)charge(atomic charge, scalar)magmom(magnetic moment vector, 3D) - mutually exclusive withmagnetizationmagnetization(scalar magnetization) - mutually exclusive withmagmomkind_name(kind identifier, string)weight(for alloys/vacancies, tuple)
Computed array properties (accessed for all sites at once):
symbols(all chemical symbols as list)positions(all atomic coordinates as N×3 array)masses(all atomic masses as N array)charges(all atomic charges as N array)magmoms(all magnetic moment vectors as N×3 array)magnetizations(all scalar magnetizations as N array)kind_names(all kind identifiers as list)weights(all alloy/vacancy weights as list of tuples)
Note
Computed array properties (plural names) aggregate the individual site properties (singular names) from all sites. For example:
site.charge→ single scalar value for one sitestructure.properties.charges→ numpy array of all charges
Warning
Mutually Exclusive Magnetic Properties:
For each site, you must choose either magmom or magnetization, but not both:
magmom: Use for non-collinear magnetism (3D vector[x, y, z])magnetization: Use for collinear magnetism (scalar value)
Setting both on the same site will cause validation errors. See the Magnetic Structures guide for details.
3. Computed Properties#
Properties calculated from other properties (not stored, calculated on-the-fly):
cell_volume(calculated fromcell)dimensionality(calculated frompbcandcell)formula(calculated fromsymbols)is_alloy(whether structure contains alloys)has_vacancies(whether structure contains vacancies)kinds(grouped site information based on properties)the already mentioned computed arrays
These properties are mainly useful for querying StructureData objects.
Property Formats#
Individual Site Properties (Singular)#
These are the actual fields stored in each Site object:
Property |
Format |
Example |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Computed Array Properties (Plural)#
These are computed fields that aggregate all sites’ properties into arrays:
Property |
Type |
Format |
Example |
|---|---|---|---|
|
Computed |
|
|
|
Computed |
|
|
|
Computed |
|
|
|
Computed |
|
|
|
Computed |
|
|
|
Computed |
|
|
|
Computed |
|
|
|
Computed |
|
|
Global Properties#
Property |
Type |
Format |
Example |
|---|---|---|---|
|
Global |
|
|
|
Global |
|
|
|
Global |
|
|
|
Global |
|
|
|
Global |
|
Contains U and V parameters with site indices |
Note
The hubbard property is global because it references site indices. For example:
On-site U:
{'atom_index': 0, 'manifold': '3d', 'U': 4.0}Inter-site V:
{'atom_index': 0, 'neighbour_index': 1, 'manifold': '3d', 'V': 1.0}
Since these parameters involve references to specific sites (by index), they cannot be stored as individual site properties.
Accessing Properties#
# Access individual site property (singular)
structure.properties.sites[0].charge # Single float value
# Access computed array property (plural)
structure.properties.charges # np.ndarray with all charges
# Both return the same values:
structure.properties.charges[0] == structure.properties.sites[0].charge # True