sponge.control.Integrator

View Source On Gitee
class sponge.control.Integrator(system: Molecule, thermostat: Thermostat = None, barostat: Barostat = None, constraint: Union[Constraint, List[Constraint]] = None, **kwargs)[source]

Base class for thermostat module in MindSPONGE, which is a subclass of sponge.control.Controller.

The sponge.control.Integrator module is used to control the atomic coordinates and velocities during the simulation process.

Parameters
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 Integrator
>>> system = Molecule(template='water.tip3p.yaml')
>>> controller = Integrator(system)
add_constraint(constraint: Constraint)[source]

Add constraint algorithm for integrator.

Parameters

constraint (sponge.control.Constraint) – Constraint algorithm.

classmethod get_name(controller: Controller)[source]

Get name of controller.

Parameters

controller (sponge.control.Controller) – Controller object.

set_barostat(barostat: Barostat)[source]

Set barostat algorithm for integrator.

Parameters

barostat (sponge.control.Barostat) – Barostat algorithm.

set_constraint(constraint: Union[Constraint, List[Constraint]], num_constraints: int = 0)[source]

Set constraint algorithm for integrator.

Parameters
set_degrees_of_freedom(dofs: int)[source]

Set degrees of freedom (DOFs).

Parameters

dofs (int) – Degrees of freedom.

set_thermostat(thermostat: Thermostat)[source]

Set thermostat algorithm for integrator.

Parameters

thermostat (sponge.control.Thermostat) – Thermostat algorithm.

set_time_step(dt: float)[source]

Set simulation time step.

Parameters

dt (float) – Simulation time step.