Data Fields¶
The NequIP infrastructure provides some ready-to-use data fields, such as total_energy, forces, stress, etc. These are the names that should be referred to when using methods and classes in the NequIP package, such as the fields given to nequip.data.DataStatisticsManager or nequip.train.MetricsManager. The data fields are broadly categorized (in a mutually exclusive manner) as graph (per-frame), node (per-atom), or edge fields (per-“bond”).
- nequip.data._GRAPH_FIELDS = {'cell', 'charge', 'dataset', 'dielectric_tensor', 'free_energy', 'magmom', 'num_atoms', 'pbc', 'polarization', 'spin', 'stress', 'total_energy', 'virial'}¶
- nequip.data._NODE_FIELDS = {'atom_types', 'atomic_energy', 'atomic_numbers', 'batch', 'born_effective_charges', 'charges', 'dipole', 'feature_norm_factor', 'forces', 'magmoms', 'node_attrs', 'node_features', 'pos', 'stresses'}¶
- nequip.data._EDGE_FIELDS = {'edge_attrs', 'edge_cell_shift', 'edge_cutoff', 'edge_embedding', 'edge_energy', 'edge_features', 'edge_forces', 'edge_lengths', 'edge_vectors', 'normed_edge_lengths'}¶
There are additional categories used for the internal data processing in the NequIP infrastructure.
- nequip.data._LONG_FIELDS = {'atom_types', 'atomic_numbers', 'batch', 'charge', 'dataset', 'edge_index', 'edge_type_flat', 'num_atoms', 'num_local_ghost_atoms', 'spin'}¶
- nequip.data._CARTESIAN_TENSOR_FIELDS = {'born_effective_charges': 'ij', 'dielectric_tensor': 'ij=ji', 'stress': 'ij=ji', 'stresses': 'ij=ji', 'virial': 'ij=ji'}¶
Custom fields must be registered to be compatible with the internal logic of NequIP’s data processing infrastructure. See the extension packages data documentation for registration details.