2.1. System
DeePMD-kit takes a system as data structure. A snapshot of a system is called a frame. A system may contain multiple frames with the same atom types and numbers, i.e. the same formula (like H2O
). To contains data with different formula, one need to divide data into multiple systems.
A system should contain system properties, input frame properties, and labeled frame properties. The system property contains the following property:
ID |
Property |
Raw file |
Required/Optional |
Shape |
Description |
---|---|---|---|---|---|
type |
Atom type indexes |
type.raw |
Required |
Natoms |
Integers that start with 0 |
type_map |
Atom type names |
type_map.raw |
Optional |
Ntypes |
Atom names that map to atom type, which is unnecessart to be contained in the periodic table |
nopbc |
Non-periodic system |
nopbc |
Optional |
1 |
If True, this system is non-periodic; otherwise it’s periodic |
The input frame properties contains the following property, the first axis of which is the number of frames:
ID |
Property |
Raw file |
Unit |
Required/Optional |
Shape |
Description |
---|---|---|---|---|---|---|
coord |
Atomic coordinates |
coord.raw |
Å |
Required |
Nframes * Natoms * 3 |
|
box |
Boxes |
box.raw |
Å |
Required if periodic |
Nframes * 3 * 3 |
in the order |
fparam |
Extra frame parameters |
fparam.raw |
Any |
Optional |
Nframes * Any |
|
aparam |
Extra atomic parameters |
aparam.raw |
Any |
Optional |
Nframes * aparam * Any |
The labeled frame properties is listed as follows, all of which will be used for training if and only if the loss function contains such property:
ID |
Property |
Raw file |
Unit |
Shape |
Description |
---|---|---|---|---|---|
energy |
Frame energies |
energy.raw |
eV |
Nframes |
|
force |
Atomic forces |
force.raw |
eV/Å |
Nframes * Natoms * 3 |
|
virial |
Frame virial |
virial.raw |
eV |
Nframes * 3 |
in the order |
atom_ener |
Atomic energies |
atom_ener.raw |
eV |
Nframes * Natoms |
|
atom_pref |
Weights of atomic forces |
atom_pref.raw |
1 |
Nframes * Natoms |
|
dipole |
Frame dipole |
dipole.raw |
Any |
Nframes * 3 |
|
atomic_dipole |
Atomic dipole |
atomic_dipole.raw |
Any |
Nframes * Natoms * 3 |
|
polarizability |
Frame polarizability |
polarizability.raw |
Any |
Nframes * 9 |
in the order |
atomic_polarizability |
Atomic polarizability |
atomic_polarizability.raw |
Any |
Nframes * Natoms * 9 |
in the order |
In general, we always use the following convention of units:
Property |
Unit |
---|---|
Time |
ps |
Length |
Å |
Energy |
eV |
Force |
eV/Å |
Virial |
eV |
Pressure |
Bar |