mindspore.ops.PMEEnergy

class mindspore.ops.PMEEnergy(*args, **kwargs)[source]

Calculate the Coulumb energy of the system using PME method.

\[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, uint32) - [n, 3], the unsigned int coordinates value of each atom.

  • charge (Tensor, float32) - [n,], the charge carried by each atom.

  • nl_numbers - (Tensor, int32) - [n,], the each atom.

  • nl_serial - (Tensor, int32) - [n, 800], the neighbor list of each atom, the max number is 800.

  • scaler (Tensor, float32) - [3,], the scale factor between real space coordinates and its unsigned int value.

  • excluded_list_start (Tensor, int32) - [n,], the start excluded index in excluded list for each atom.

  • excluded_list (Tensor, int32) - [E,], the contiguous join of excluded list of each atom. E is the number of excluded atoms.

  • excluded_atom_numbers (Tensor, int32) - [n,], the number of atom excluded in excluded list for each atom.

Outputs:
  • reciprocal_ene (float32) - the reciprocal term of PME energy.

  • self_ene (float32) - the self term of PME energy.

  • direct_ene (float32) - the direct term of PME energy.

  • correction_ene (float32) - the correction term of PME energy.

Supported Platforms:

GPU