sponge.core.AnalysisCell

View Source On Gitee
class sponge.core.AnalysisCell(system: Molecule, potential: PotentialCell, neighbour_list: NeighbourList = None)[source]

Cell for analysis.

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.

  • pbc_box (Tensor) - Periodic boundary condition box. Tensor of shape \((B, D)\). Data type is float.

  • energy (Tensor) - Energy. Tensor of shape \((B, 1)\). Data type is float.

  • force (Tensor) - Force. Tensor of shape \((B, A, D)\). Data type is float.

  • potentials (Tensor, optional) - Original potential energies from force field. Tensor of shape \((B, U)\). Here \(U\) is the number of potential energies. Data type is float. Default: 0.

  • total_bias (Tensor, optional) - Total bias energy for reweighting. Tensor of shape \((B, 1)\). Data type is float. Default: 0.

  • biases (Tensor, optional) - Original bias potential energies from bias functions. Tensor of shape \((B, V)\). Here V is the number of bias potential energies. Data type is float. Default: 0.

Outputs:
  • coordinate (Tensor) - with shape of \((B, A, D)\). Coordinate. Data type is float.

  • pbc_box (Tensor) - with shape of \((B, D)\), PBC box. Data type is float.

  • energy (Tensor) - with shape of \((B, 1)\), Total potential energy of the simulation system. Data type is float.

  • force (Tensor) - with shape of \((B, A, D)\). Force on each atom of the simulation system. Data type is float.

  • potentials (Tensor) - with shape of \((B, U)\). Original potential energies from force field. Data type is float.

  • total_bias (Tensor) - with shape of \((B, 1)\). Total bias energy for reweighting. Data type is float.

  • biases (Tensor) - with shape of \((B, V)\). Bias potential energies from bias functions. Data type is float.

Supported Platforms:

Ascend GPU

Examples

>>> from sponge.system import Molecule
>>> from sponge.potential.forcefield import ForceField
>>> from sponge.core.sponge import Sponge
>>> from sponge.core.analysis import AnalysisCell
>>> system = Molecule(template='water.tip3p.yaml')
>>> potential = ForceField(system, parameters='SPCE')
>>> analysis = AnalysisCell(system, potential)