mindspore.ops.MDIterationLeapFrogLiujian

class mindspore.ops.MDIterationLeapFrogLiujian(*args, **kwargs)[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.

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, equals

  • exp (-gamma_ln * dt) –

  • dynamics.

Inputs:
  • inverse_mass (Tensor, float32) - [n,], the inverse value of mass of each atom.

  • sqrt_mass_inverse (Tensor, float32) - [n,], the inverse square root value of effect mass in Liu’s dynamics of each atom.

  • vel (Tensor, float32) - [n, 3], the velocity of each atom.

  • crd (Tensor, float32) - [n, 3], the coordinate of each atom.

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

  • acc (Tensor, float32) - [n, 3], the acceleration of each atom.

  • rand_state (Tensor, float32) - [math.ceil(atom_numbers * 3.0 / 4.0) * 16, ], random state to generate random force.

  • rand_frc (Tensor, float32) - [n, 3], the random forces.

Outputs:
  • output (float32)

Supported Platforms:

GPU