文档反馈

问题文档片段

问题文档片段包含公式时,显示为空格。

提交类型
issue

有点复杂...

找人问问吧。

PR

小问题,全程线上修改...

一键搞定!

请选择提交类型

问题类型
规范和低错类

- 规范和低错类:

- 错别字或拼写错误,标点符号使用错误、公式错误或显示异常。

- 链接错误、空单元格、格式错误。

- 英文中包含中文字符。

- 界面和描述不一致,但不影响操作。

- 表述不通顺,但不影响理解。

- 版本号不匹配:如软件包名称、界面版本号。

易用性

- 易用性:

- 关键步骤错误或缺失,无法指导用户完成任务。

- 缺少主要功能描述、关键词解释、必要前提条件、注意事项等。

- 描述内容存在歧义指代不明、上下文矛盾。

- 逻辑不清晰,该分类、分项、分步骤的没有给出。

正确性

- 正确性:

- 技术原理、功能、支持平台、参数类型、异常报错等描述和软件实现不一致。

- 原理图、架构图等存在错误。

- 命令、命令参数等错误。

- 代码片段错误。

- 命令无法完成对应功能。

- 界面错误,无法指导操作。

- 代码样例运行报错、运行结果不符。

风险提示

- 风险提示:

- 对重要数据或系统存在风险的操作,缺少安全提示。

内容合规

- 内容合规:

- 违反法律法规,涉及政治、领土主权等敏感词。

- 内容侵权。

请选择问题类型

问题描述

点击输入详细问题描述,以帮助我们快速定位问题。

sponge.control.Barostat

查看源文件
class sponge.control.Barostat(system: :class:`sponge.system.Molecule`, pressure: float = 1, anisotropic: bool = False, control_step: int = 1, compressibility: float = 4.6e-5, time_constant: float = 1., **kwargs)[源代码]

MindSPONGE中压力耦合器的气压调节器的基类,是 sponge.controller.Controller 的基类。

sponge.controller.Barostat 模块用于压力耦合,它的功能是在模拟过程中控制原子的坐标和周期性边界条件盒子(PBC box)的大小。

参数:
  • system (:class: sponge.system.Molecule) - 模拟系统。

  • pressure (float, 可选) - 压力耦合参考压力 Pref 。单位是 bar 。默认值: 1.0

  • anisotropic (bool, 可选) - 是否执行各向异性压力控制。默认值: False

  • control_step (int, 可选) - 控制器执行的步骤间隔。默认值: 1

  • compressibility (float, 可选) - 等温压缩率 β 。单位是 bar1 。默认值: 4.6e-5

  • time_constant (float, 可选) - 压力耦合的时间常数。默认值: 1.0

  • kwargs (dict) - 关键字参数。

输入:
  • coordinate (Tensor) - 坐标。shape为 (B,A,D) 的Tensor。数据类型是float。这里 B 是分子模拟中walker的数目, A 是原子数目, D 是模拟系统的空间维数,通常为3。

  • velocity (Tensor) - 速度。shape为 (B,A,D) 的Tensor。数据类型是float。

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

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

  • kinetics (Tensor) - 动能。shape为 (B,D) 的Tensor。数据类型是float。

  • virial (Tensor) - 维里应力。shape为 (B,D) 的Tensor。数据类型是float。

  • pbc_box (Tensor) - 周期性边界条件盒子。shape为 (B,D) 的Tensor。数据类型是float。

  • step (int) - 模拟步数。默认值: 0

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

  • velocity (Tensor) - 速度。shape为 (B,A,D) 的Tensor。数据类型是float。

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

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

  • kinetics (Tensor) - 动能。shape为 (B,D) 的Tensor。数据类型是float。

  • virial (Tensor) - 维里。shape为 (B,D) 的Tensor。数据类型是float。

  • pbc_box (Tensor) - 周期性边界条件盒子。shape为 (B,D) 的Tensor。数据类型是float。

支持平台:

Ascend GPU

样例:

>>> from sponge import Molecule
>>> from sponge.control import Barostat
>>> system = Molecule(template='water.tip3p.yaml')
>>> controller = Barostat(system)
compressibility()

等温压缩率。

返回:

Tensor,等温压缩率。

property pressure

参考压力。

返回:

Tensor。参考压力。

pressure_scale(sim_press: Tensor, ref_press: Tensor, ratio: float = 1.0)[源代码]

计算压力耦合器的坐标缩放因子。

参数:
  • sim_press (Tensor) - 模拟压力。

  • ref_press (Tensor) - 参考压力。

  • ratio (float) - 压力耦合的比率。默认值: 1.0

返回:

Tensor,压力耦合的坐标缩放因子。

reconstruct_pressure(pressure: Union[float, ndarray, Tensor, List[float]])[源代码]

重置参考压力。

参数:
  • pressure (Union[float, ndarray, Tensor, List[float]]) - 压力。

返回:

sponge.control.Barostat。当前的压力耦合器。

set_pressure(pressure: Union[float, ndarray, Tensor, List[float]])[源代码]

设置参考压力。 参考压力数组的形状必须与当前压力数组的形状相同。

参数:
  • pressure (Union[float, ndarray, Tensor, List[float]]) - 参考压力。

返回:

Tensor,参考压力。