velph.toml-crystal structure sections#
The [unitcell], [primitive_cell], and [symmetry] sections describe the
crystal structure and its symmetry. They are written by velph init from the
input cell file.
Note
These sections are generated automatically and are normally not edited by hand. They are the reference structure for the whole project, and the reproducibility of a calculation depends on them staying unchanged. This page explains how to read them; edit them only if you understand the consequences.
[unitcell] and [primitive_cell]#
Both sections use the same layout: a lattice table followed by one
[[...points]] entry per atom.
[unitcell]
lattice = [
[ 6.000000000000000, 0.000000000000000, 0.000000000000000 ], # a
[ 0.000000000000000, 6.000000000000000, 0.000000000000000 ], # b
[ 0.000000000000000, 0.000000000000000, 6.000000000000000 ], # c
]
[[unitcell.points]] # 1
symbol = "Na"
coordinates = [ 0.000000000000000, 0.000000000000000, 0.000000000000000 ]
mass = 22.989769
[[unitcell.points]] # 2
symbol = "Cl"
coordinates = [ 0.500000000000000, 0.500000000000000, 0.500000000000000 ]
mass = 35.453000
lattice: the three lattice vectors a, b, c as rows, in Angstrom.[[unitcell.points]]/[[primitive_cell.points]]: a TOML array of tables, one per atom, in the order the atoms are stored. The trailing# 1,# 2, … comments are the 1-based atom indices, written for readability only.
Each point entry accepts the following keys:
Key |
Type |
Meaning |
|---|---|---|
|
str |
Chemical element symbol. |
|
list[float] (3) |
Fractional coordinates in the cell. |
|
float |
Atomic mass in AMU. See the note below. |
|
float or list[float] (optional) |
Collinear (scalar) or non-collinear (3-vector) magnetic moment. |
Note
mass is written explicitly so that velph.toml is self-describing: the masses
do not depend on the default atomic-mass table and can be edited (e.g. for
isotopes). These values may differ from the masses used internally by VASP
(POMASS). magnetic_moment is written only when the structure carries magnetic
moments (e.g. set through the --magmom option of velph init).
The [primitive_cell] section is written with the same layout as [unitcell].
When the primitive cell differs from the unit cell, the transformation between
them is recorded as primitive_matrix in the [symmetry] section.
[symmetry]#
This section records the symmetry of the unit cell as found by spglib.
[symmetry]
spacegroup_type = "Fm-3m"
tolerance = 1e-05
primitive_matrix = [
[ 0.000000000000000, 0.500000000000000, 0.500000000000000 ],
[ 0.500000000000000, 0.000000000000000, 0.500000000000000 ],
[ 0.500000000000000, 0.500000000000000, 0.000000000000000 ],
]
Key |
Type |
Meaning |
|---|---|---|
|
str |
International space-group symbol (non-magnetic structures). |
|
int |
Magnetic space-group “uni number” (written instead of |
|
float |
Symmetry-search tolerance in Angstrom, set by the |
|
list[list[float]] (3x3) |
Transformation from the unit cell to the primitive cell. Written only when the primitive cell is smaller than the unit cell. |
For a non-magnetic structure, spacegroup_type holds the international symbol
(e.g. "P1", "Fm-3m"). For a magnetic structure, uni_number is written
instead. The primitive_matrix appears only when the unit cell and primitive
cell have different numbers of atoms.