sponge.control.VelocityVerlet
- class sponge.control.VelocityVerlet(system: Molecule, thermostat: Thermostat = None, barostat: Barostat = None, constraint: Constraint = None, **kwargs)[source]
A velocity verlet integrator based on "middle scheme" developed by Jian Liu, et al. It is a subclass of
sponge.control.Integrator
.Reference Zhang, Z.; Liu, X.; Chen, Z.; Zheng, H.; Yan, K.; Liu, J. A Unified Thermostat Scheme for Efficient Configurational Sampling for Classical/Quantum Canonical Ensembles via Molecular Dynamics [J]. The Journal of Chemical Physics, 2017, 147(3).
- Parameters
system (
sponge.system.Molecule
) – Simulation system.thermostat (
sponge.control.Thermostat
) – Thermostat for temperature coupling. Default:None
.barostat (
sponge.control.Barostat
) – Barostat for pressure coupling. Default:None
.constraint (
sponge.control.Constraint
) – Constraint algorithm. Default:None
.
- Inputs:
coordinate (Tensor) - Coordinate. Tensor of shape \((B, A, D)\). Data type is float. Here \(B\) is the number of walkers in simulation, \(A\) is the number of atoms and \(D\) is the spatial dimension of the simulation system, which is usually 3.
velocity (Tensor) - Velocity. Tensor of shape \((B, A, D)\). Data type is float.
force (Tensor) - Force. Tensor of shape \((B, A, D)\). Data type is float.
energy (Tensor) - Energy. Tensor of shape \((B, 1)\). Data type is float.
kinetics (Tensor) - Kinetics. Tensor of shape \((B, D)\). Data type is float.
virial (Tensor) - Virial. Tensor of shape \((B, D)\). Data type is float.
pbc_box (Tensor) - Pressure boundary condition box. Tensor of shape \((B, D)\). Data type is float.
step (int) - Simulation step. Default:
0
.
- Outputs:
coordinate, Tensor of shape \((B, A, D)\). Coordinate. Data type is float.
velocity, Tensor of shape \((B, A, D)\). Velocity. Data type is float.
force, Tensor of shape \((B, A, D)\). Force. Data type is float.
energy, Tensor of shape \((B, 1)\). Energy. Data type is float.
kinetics, Tensor of shape \((B, D)\). Kinetics. Data type is float.
virial, Tensor of shape \((B, D)\). Virial. Data type is float.
pbc_box, Tensor of shape \((B, D)\). Periodic boundary condition box. Data type is float.
- Supported Platforms:
Ascend
GPU
Examples
>>> from sponge import Molecule >>> from sponge.control import VelocityVerlet >>> system = Molecule(template='water.tip3p.yaml') >>> controller = VelocityVerlet(system)