Data Representation

mlcg.data defines the AtomicData class, the data structure used as input to models. It contains one or more atomic structures with associated physical properties. AtomicData instances also store the outputs of models through which they pass.

class mlcg.data.atomic_data.AtomicData(**kwargs)[source]

A data object holding atomic structures. The attribute names are defined in mlcg.data._keys

pos

set of atomic positions in each structures

Type:

[n_atoms * n_structures, 3]

atom_types

if atoms then it’s the atomic number, if it’s a CG bead then it’s a number defined by the CG mapping

Type:

[n_atoms * n_structures]

masses

Masses of each atom

Type:

[n_atoms * n_structures]

pbc

periodic boundary conditions

Type:

[n_structures, 3] (Optional)

cell

unit cell of the atomic structure. Lattice vectors are defined row wise

Type:

[n_structures, 3, 3] (Optional)

tag

metadata about each structure

Type:

[n_structures] (Optional)

energy

reference energy associated with each structures

Type:

[n_structures] (Optional)

forces

reference forces associated with each structures

Type:

[n_atoms * n_structures, 3] (Optional)

velocities

velocities associated with each structure

Type:

[n_atoms * n_structures, 3] (optional)

neighborlist

contains information about the connectivity formatted according to mlcg.neighbor_list.neighbor_list.make_neighbor_list.

Type:

Dict[str, Dict[str, Any]] (Optional)

batch

maps the atoms to their structure index (from 0 to n_structures-1)

Type:

[n_atoms]