mindspore.ops.MDIterationLeapFrogLiujian

class mindspore.ops.MDIterationLeapFrogLiujian(atom_numbers, half_dt, dt, exp_gamma)[source]

One step of classical leap frog algorithm to solve the finite difference Hamiltonian equations of motion for certain system, using Langevin dynamics with Liu’s thermostat scheme. Assume the number of atoms is n and the target control temperature is T.

Detailed iteration formula can be found in this paper: A unified thermostat scheme for efficient configurational sampling for classical/quantum canonical ensembles via molecular dynamics. DOI: 10.1063/1.4991621.

Because there is a large amount of inputs and each of them are related, there is no way to construct Examples using random methods. For details, refer the webpage SPONGE in MindSpore.

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

  • dt (float32) – time step for finite difference.

  • half_dt (float32) – half of time step for finite difference.

  • exp_gamma (float32) – parameter in Liu’s dynamic.

Inputs:
  • inverse_mass (Tensor) - The inverse value of mass of each atom. The data type is float32 and the shape is \((n)\).

  • sqrt_mass_inverse (Tensor) - The inverse square root value of effect mass in Liu’s dynamics of each atom. The data type is float32 and the shape is \((n,)\).

  • vel (Tensor) - The velocity of each atom. The data type is float32 and the shape is \((n, 3)\).

  • crd (Tensor) - The coordinate of each atom. The data type is float32 and the shape is \((n, 3)\).

  • frc (Tensor) - The force felt by each atom. The data type is float32 and the shape is \((n, 3)\).

  • acc (Tensor) - The acceleration of each atom. The data type is float32 and the shape is \((n, 3)\).

  • rand_state (Tensor) - Random state to generate random force. The data type is float32 and the shape is \((math.ceil(n * 3.0 / 4.0) * 16, )\).

  • rand_frc (Tensor) - The random forces. The data type is float32 and the shape is \((n, 3)\).

Outputs:
  • output (Tensor) - The output coordinates. The data type is float32, and the shape is \((n, 3)\).

Supported Platforms:

GPU