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.