mindspore.ops.LJForce

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

Calculate the Van der Waals interaction force described by Lennard-Jones potential energy for each atom.

\[dr = (x_a-x_b, y_a-y_b, z_a-z_b)\]
\[F = (-12*A/|dr|^{14} + 6*B/|dr|^{8}) * dr\]
Agrs:

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:
  • frc (Tensor, float32) - [n, 3], the force felt by each atom.

Supported Platforms:

GPU