xnn.common.data.runner_io#

Read and write the RuNNer input.data structure format.

input.data is the data set format of the RuNNer code (Behler group) for high-dimensional neural network potentials: a sequence of structures, each between a begin and an end line, with lattice lines for a periodic cell, one atom line per atom, and the energy and total charge of the structure. RuNNer works in atomic units (bohr, hartree, elementary charges); the reader converts to the xnn units (Angstrom, eV) and returns the structure dicts of structure_to_graph().

The columns of the atom lines follow the begin line. A bare begin means the default layout:

atom  x y z  element  charge  energy  fx fy fz

and a begin line may name its own, with the width of a vector property in parentheses, e.g. begin position(3) element charges hirshfeld_volume forces(3). The reader understands position, element, charge (charges), forces (force) and skips every other property.

Example:

from xnn.common.data.runner_io import read_runner_data

structures = read_runner_data("input.data")      # Angstrom, eV, e

Module Attributes

DEFAULT_COLUMNS

the atom columns of a bare begin line

Functions

iter_runner_data(path[, units, charges])

Iterate over the structures of a RuNNer input.data file.

read_runner_data(path[, units, charges])

Read every structure of a RuNNer input.data file.

write_runner_data(structures, path[, units])

Write structure dicts to a RuNNer input.data file (default layout).