mindspore.ops.Dihedral14LJForceWithDirectCF

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

Calculate the Lennard-Jones part and the Coulomb part of force correction for each necessary dihedral 1,4 terms.

The calculation formula of the Lennard-Jones part is the same as operator Dihedral14LJForce(), and the Coulomb part is as follows:

\[dr = (x_a-x_b, y_a-y_b, z_a-z_b)\]
\[F = -k*q_a*q_b/|r|^3*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.

  • cf_scale_factor (Tensor, float) - [m,], the scale factor for the Coulomb part of force correction for each dihedral 1,4 terms.

  • 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, float) - [n, 3], the force felt by each atom.

Supported Platforms:

GPU