mindspore.ops.Dihedral14LJForce

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

Calculate the Lennard-Jones part of 1,4 dihedral force correction for each necessary dihedral terms on the corresponding atoms.

Assume the number of necessary dihedral 1,4 terms is m, 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)\]
\[F = k*(-12*A/|dr|^{14} + 6*B/|dr|^{8})*dr\]
Parameters
  • nb14_numbers (int32) – the number of necessary dihedral 1,4 terms m.

  • atom_numbers (int32) – the number of atoms n.

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

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

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

  • boxlength_f (Tensor, float32) - [3,], the length of molecular simulation box in 3 dimensions.

  • a_14 (Tensor, int32) - [m,], the first atom index of each dihedral 1,4 term.

  • b_14 (Tensor, int32) - [m,], the second atom index of each dihedral 1,4 term.

  • lj_scale_factor (Tensor, float32) - [m,], the scale factor for the Lennard-Jones part of force correction of each dihedral 1,4 term.

  • LJ_type_A (Tensor, float32) - [q,], the A parameter in Lennard-Jones scheme of each atom pair type. q is the number of atom pair.

  • LJ_type_B (Tensor, float32) - [q,], the B parameter in Lennard-Jones shceme of each atom pair type. q is the number of atom pair.

Outputs:
  • frc_f (Tensor, float32) - [n, 3], the force felt by each atom.

Supported Platforms:

GPU