mindspore.ops.LJEnergy

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

Calculate the Van der Waals interaction energy described by Lennard-Jones potential for each atom. Assume the number of atoms is n, and the number of Lennard-Jones types for all atoms is P, which means there will be q = P*(P+1)/2 types of possible Lennard-Jones interactions for all kinds of atom pairs.

\[dr = (x_a-x_b, y_a-y_b, z_a-z_b)\]
\[E = A/|dr|^{12} - B/|dr|^{6}\]
Parameters
  • atom_numbers (int32) – the number of atoms, n.

  • cutoff_square (float32) – the square value of cutoff.

Inputs:
  • uint_crd (Tensor, uint32) - [n, 3], the unsigned int coordinate value of each atom.

  • LJtype (Tensor, int32) - [n,], the Lennard-Jones type of each atom.

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

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

  • 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.

  • d_LJ_A (Tensor, float32) - [q,], the Lennard-Jones A coefficient of each kind of atom pair. q is the number of atom pair.

  • d_LJ_B (Tensor, float32) - [q,], the Lennard-Jones B coefficient of each kind of atom pair. q is the number of atom pair.

Outputs:
  • d_LJ_energy_atom (Tensor, float32) - [n,], the Lennard-Jones potential energy of each atom.

  • d_LJ_energy_sum (float32), the sum of Lennard-Jones potential energy of each atom.

Supported Platforms:

GPU