mindspore.ops.PMEEnergy

class mindspore.ops.PMEEnergy(atom_numbers, excluded_numbers, beta, fftx, ffty, fftz, box_length_0, box_length_1, box_length_2)[source]

Calculate the Coulumb energy of the system using PME method.

Because there is a large amount of inputs and each of them are related, there is no way to construct Examples using random methods. For details, refer the webpage SPONGE in MindSpore.

\[E = sum_{ij} q_iq_j/r_{ij}\]
Parameters
  • atom_numbers (int32) – the number of atoms, n.

  • excluded_numbers (int32) – the length of excluded list, E.

  • beta (float32) – the PME beta parameter, determined by the non-bond cutoff value and simulation precision tolerance.

  • fftx (int32) – the number of points for Fourier transform in dimension X.

  • ffty (int32) – the number of points for Fourier transform in dimension Y.

  • fftz (int32) – the number of points for Fourier transform in dimension Z.

  • box_length_0 (float32) – the value of boxlength idx 0

  • box_length_1 (float32) – the value of boxlength idx 1

  • box_length_2 (float32) – the value of boxlength idx 2

Inputs:
  • uint_crd (Tensor) - The unsigned int coordinates value of each atom. The data type is uint32 and the shape is \((n, 3)\)

  • charge (Tensor) - The charge carried by each atom. The data type is float32 and the shape is \((n,)\)

  • nl_numbers - (Tensor) - The each atom. The data type is int32 and the shape is \((n, 3)\)

  • nl_serial - (Tensor) - The neighbor list of each atom, the max number is 800. The data type is int32 and the shape is \((n, 800)\)

  • scaler (Tensor) - The scale factor between real space coordinates and its unsigned int value. The data type is float32 and the shape is \((3,)\)

  • excluded_list_start (Tensor) - The start excluded index in excluded list for each atom. The data type is int32 and the shape is \((n,)\)

  • excluded_list (Tensor) - The contiguous join of excluded list of each atom. E is the number of excluded atoms. The data type is int32 and the shape is \((E,)\)

  • excluded_atom_numbers (Tensor) - The number of atom excluded in excluded list for each atom. The data type is int32 and the shape is \((n,)\)

Outputs:
  • reciprocal_ene (Tensor) - The reciprocal term of PME energy. The data type is float32 and the the shape is \((1,)\).

  • self_ene (Tensor) - The self term of PME energy. The data type is float32 and the the shape is \((1,)\).

  • direct_ene (Tensor) - The direct term of PME energy. The data type is float32 and the the shape is \((1,)\).

  • correction_ene (Tensor) - The correction term of PME energy. The data type is float32 and the the shape is \((1,)\).

Supported Platforms:

GPU