mindspore.ops.BondForce

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

Calculate the force exerted by the simple harmonic bond on the corresponding atoms. Assume the number of harmonic bonds is m and the number of atoms is n.

\[dr = (x_1-x_2, y_1-y_2, z_1-z_2)\]
\[F = (F_x, F_y, F_z) = 2*k*(1 - r_0/|dr|)*dr\]
Parameters
  • atom_numbers (int32) – the number of atoms n.

  • bond_numbers (int32) – the number of harmonic bonds m.

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

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

  • atom_a (Tensor, int32) - [m,], the first atom index of each bond.

  • atom_b (Tensor, int32) - [m,], the second atom index of each bond.

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

  • bond_r0 (Tensor, float32) - [m,], the equlibrium length of each bond.

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

Supported Platforms:

GPU