mindspore.ops.DihedralEnergy

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

Calculate the potential energy caused by dihedral terms for each 4-atom pair. Assume our system has n atoms and m dihedral terms.

\[E = k(1 + cos(n*phi - phi_0))\]
Parameters

dihedral_numbers (int32) – the number of dihedral terms m.

Inputs:
  • dihedral_numbers (int32) - the number of dihedral terms m.

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

  • scaler_f (Tensor, float32) - [3,], the 3-D scale factor between the real space float coordinates and the unsigned int coordinates.

  • atom_a (Tensor, int32) - [m,], the 1st atom index of each dihedral.

  • atom_b (Tensor, int32) - [m,], the 2nd atom index of each dihedral.

  • atom_c (Tensor, int32) - [m,], the 3rd atom index of each dihedral.

  • atom_d (Tensor, int32) - [m,], the 4th atom index of each dihedral. 4 atoms are connected in the form a-b-c-d.

  • ipn (Tensor, int32) - [m,], the period of dihedral angle of each dihedral.

  • pk (Tensor, float32) - [m,], the force constant of each dihedral.

  • gamc (Tensor, float32) - [m,], k*cos(phi_0) of each dihedral.

  • gams (Tensor, float32) - [m,], k*sin(phi_0) of each dihedral.

  • pn (Tensor, float32) - [m,], the floating point form of ipn.

Outputs:
  • ene (Tensor, float32) - [m,], the potential energy for each dihedral term.

Supported Platforms:

GPU