4. Topology and structure file

The conformational setup, bond network, molecules, particle types, names, masses, charges, and velocities are specified in the structure/topology input file in HDF5 format. The file is structured as a flag collection of datasets attached to the root / group.

The HyMD-tutorial has multiple examples of structure files for various levels of complexity.

4.1. Required datasets

/coordinates:

array shape [T, N, D,]

datatype [float32 or float64]

The shape represents T number of frames, N number of particles, in D dimensions. The data type may be either four or eight byte reals. If multiple frames are provided T > 1, then the last frame is used as starting point for the new simulation by default.

/indices:

array shape [N,]

datatype [int32 or int64]

The shape represents one particle index per N particles. The data type may be either 32 or 64 bit integers.

/names:

array shape [N,]

datatype [string (length between 1 and 16)]

The shape represents one particle name per N particles. The datatype may be a string of length =<16.

4.2. Optional datasets

/velocities:

array shape [T, N, D,]

datatype [float32 or float64]

The shape represents T number of frames, N number of particles, in D dimensions. The data type may be either four or eight byte reals. If multiple frames are provided T > 1, then the last frame is used as starting point for the new simulation by default.

/types:

array shape [N,]

datatype [int32 or int64]

The shape represents one particle type index per N particles. The data type may be either 32 or 64 bit integers.

/molecules:

array shape [N,]

datatype [int32 or int64]

The shape represents one molecule index per N particles. The data type may be either 32 or 64 bit integers.

/bonds:

array shape [N, B,]

datatype [int32 or int64]

The shape represents B bond specifications (indices of different particles) per N particles. The data type may be either 32 or 64 bit integers.

/charge:

array shape [N,]

datatype [float32 or float64]

The shape represents one particle charge per N particles. The data type may be either four or eight byte reals.

/box:

array shape [3,]

datatype [float32 or float64]

The shape represents the initial box dimensions in Cartesian coordinates.