sponge.control.BerendsenBarostat
- class sponge.control.BerendsenBarostat(system: Molecule, pressure: float = 1, anisotropic: bool = False, control_step: int = 1, compressibility: float = 4.6e-05, time_constant: float = 1.0, **kwargs)[source]
A Berendsen (weak coupling) barostat module, which is a subclass of
sponge.control.Barostat
.Reference Berendsen, H. J. C.; Postma, J. P. M.; van Gunsteren, W. F.; DiNola, A.; Haak, J. R. Molecular Dynamics with Coupling to an External Bath [J]. The Journal of Chemical Physics, 1984, 81(8).
- Parameters
system (
sponge.system.Molecule
) – Simulation system.pressure (float, optional) – Reference pressure \(P_{ref}\) in unit \(bar\) for pressure coupling. Default:
1.0
.anisotropic (bool, optional) – Whether to perform anisotropic pressure control. Default:
False
.control_step (int, optional) – Step interval for controller execution. Default:
1
.compressibility (float, optional) – Isothermal compressibility \(\beta\) in unit \(bar^{-1}\). Default:
4.6e-5
.time_constant (float, optional) – Time constant \(\tau_p\) in unit picosecond for pressure coupling. Default:
1
.
- 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 BerendsenBarostat >>> system = Molecule(template='water.tip3p.yaml') >>> controller = BerendsenBarostat(system)
- set_time_step(dt: float)[source]
Set simulation time step.
- Parameters
dt (float) – Simulation time step.
- Returns
sponge.control.BerendsenBarostat
, current object ofsponge.control.BerendsenBarostat
.