sponge.core.AnalysisCell

查看源文件
class sponge.core.AnalysisCell(system: Molecule, potential: PotentialCell, neighbour_list: NeighbourList = None)[源代码]

用于分析的模块。

参数:
输入:
  • coordinate (Tensor) - 坐标。shape为 \((B, A, D)\) 。数据类型为 float。这里的 \(B\) 是batch size, \(A\) 是原子数量,而 \(D\) 是模拟系统的空间维度,通常为3。

  • pbc_box (Tensor) - PBC边界条件。shape为 \((B, D)\) 。数据类型为 float。

  • energy (Tensor) - 能量。shape为 \((B, 1)\) 。数据类型为 float。

  • force (Tensor) - 原子力。shape为 \((B, A, D)\) 。数据类型为 float。

  • potentials (Tensor, 可选) - 力场来源的原始势能。shape为 \((B, U)\) 。这里的 \(U\) 是势能的数量。数据类型为 float。默认: 0

  • total_bias (Tensor, 可选) - 用于重加权的总偏置势。shape为 \((B, 1)\) 。数据类型为 float。默认: 0

  • biases (Tensor, 可选) - 初始偏置势。shape为 \((B, V)\) 。这里的 \(V\) 是偏置势的数量。数据类型为 float。默认: 0

输出:
  • coordinate (Tensor) - 坐标。shape为 \((B, A, D)\) 。数据类型为 float。

  • pbc_box (Tensor) - PBC边界条件。shape为 \((B, D)\) 。数据类型为 float。

  • energy (Tensor) - 模拟系统的总势能。shape为 \((B, 1)\) 。数据类型为 float。

  • force (Tensor) - 模拟系统中每个原子的力。shape为 \((B, A, D)\) 。数据类型为 float。

  • potentials (Tensor) - 来自力场的势能。shape为 \((B, U)\) 。数据类型为 float。

  • total_bias (Tensor) - 用于重加权的总偏置势。shape为 \((B, 1)\) 。数据类型为 float。

  • biases (Tensor) - 偏置势。shape为 \((B, V)\) 。数据类型为 float。

支持平台:

Ascend GPU

样例:

>>> 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)