Cell#

class mbgdml.periodic.Cell(cell_v, cutoff=None, pbc=True)[source]#

Enables \(n\)-body predictions under periodic boundary conditions.

The minimum-image convention (mic) is used to reformat \(n\)-body structures in a form resembling non-periodic structures.

Parameters:
  • cell_v (numpy.ndarray, shape: (3, 3)) – The three cell vectors. For example, a cube of length 9.0 would be [[9.0, 0.0, 0.0], [0.0, 9.0, 0.0], [0.0, 0.0, 9.0]].

  • cutoff (float, default: None) – A periodic image interaction cutoff. Must be smaller than half the smallest cube length (non-cubic cells might have slightly larger cutoffs). Is automatically calculated if this is None.

  • pbc (list or bool) – Periodic boundary conditions in x-, y- and z-direction. Default is to assume periodic boundaries in all directions (i.e., pbc=True).

property cell_v#

The three cell vectors. For example, a cube of length 9.0 would be [[9.0, 0.0, 0.0], [0.0, 9.0, 0.0], [0.0, 0.0, 9.0]].

Type:

numpy.ndarray

d_mic(d, check_cutoff=True)[source]#

Applies the minimum-image convention to distance vectors.

Also checks that all atomic pairwise distances are less than self.cutoff. If any are equal to greater than the cutoff then it returns None.

Parameters:

d (numpy.ndarray, ndim: 2) – Distances computed within the periodic cell.

Returns:

The minimum image coordinates.

Return type:

numpy.ndarray

r_mic(r)[source]#

Find minimum-image convention coordinates of molecule(s) under periodic boundary conditions.

Creates distance vectors of each atom with respect to the first. Then applies the minimum-image convention using self.d_mic().

Parameters:

r (numpy.ndarray, ndim: 2) – Cartesian coordinates of atoms under periodic boundary conditions.

Returns:

Cartesian coordinates of atoms after applying the minimum-image convention.

Return type:

numpy.ndarray

property volume#

Volume of the periodic cell.

The volume of the parallelepiped described by cell_v (\(\boldsymbol{v}\)) is computed with

\[\text{Volume} = (v_1 \times v_2) \cdot v_3.\]