prips


Nameprips JSON
Version 1.4 PyPI version JSON
download
home_page
SummaryPRIPS: Python Runtime Interface Plugin of SPONGE
upload_time2023-12-31 08:48:22
maintainer
docs_urlNone
author
requires_python
license
keywords sponge molecular dynamics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # PRIPS: Python Runtime Interface Plugin of SPONGE

SPONGE的python的运行时接口插件

该插件将SPONGE视为一个python解释器,运行python脚本

# 依赖

该插件依赖于cupy。请自行安装好适配你CUDA版本的cupy。

## 为什么需要cupy?

SPONGE的GPU代码需要适配GPU的python端的库,许多库都能满足,如`cupy`、`jax`、`torch`以及`mindspore`。而`cupy`是上述里唯一一个支持“野”指针的库,也即`cupy.cuda.UnownedMemory`,使得它能直接调用SPONGE的内存地址作为自变量,而不需要显式地同步。另外`cupy`作为一个中介,它的数组也可以比较方便地转化为其他库的数组。

# 安装

安装方法:

1. pypi安装

```
pip install prips
```

2. 本地安装
前往gitee库下载解压或克隆源码

```
git clone https://gitee.com/gao_hyp_xyj_admin/sponge_pyplugin.git
```

打开下载并解压或克隆后的文件夹,在有`pyproject.py`的文件夹内呼出合适的shell终端,如windows下的powershell或linux下的shell

```
pip install .
```

# 使用

## SPONGE命令

目前本插件适用的版本为:1.4,也即SPONGE的1.4正式版本

首先在命令行中输入:

```
python -c "import prips"
```

然后正常情况下会输出

```
  PRIPS: Python Runtime Interface Plugin of SPONGE

Version: 1.4a0
Path: xxx\prips\_prips.so

Usage:
    1. Copy the path printed above
    2. Paste it to the value of the command "plugin" of SPONGE
```

在SPONGE的mdin.txt文件夹中加入:

```
plugin =  xxx\prips\_prips.so #上方的Path
py = xxxx\example.py #你需要使用的python脚本地址
```

此处的` xxxx\example.py`仅为示例,请修改为你对应的地址。

## SPONGE获取python信息

SPONGE读取python信息使用的方式是读取函数名。
首先,SPONGE会直接逐行运行一遍该python脚本,由此可进行初始化。
然后,SPONGE会读取python脚本里的`After_Initial()`、`Calculate_Force()`和`Mdout_Print()`,分别在其他模块初始完毕、力计算和打印信息的时候调用。例如下面是一个简单的`Example.py`
```python
def Mdout_Print():
    print("Hellow SPONGE World!")
```

## python获取SPONGE信息

python由模块`Sponge`获取SPONGE信息。模块`Sponge`是SPONGE作为解释器时的内置模块,在外部用python调用是没有的。

`Sponge`模块内若干个子模块,其中`controller`(程序控制)、`cv_controller`(CV定义)、`md_info`(MD信息)是较为重要的模块。这些子模块的定义与C++版本的定义相同。可以使用`help()`寻求帮助,或阅读下面的API介绍。
```
import Sponge
help(Sponge.controller)
help(Sponge.cv_controller)
help(Sponge.md_info)
```

# 简单例子

以下是一个简单的steer MD的例子,对第一个原子的y方向加上一个力。
```python
import Sponge
my_force_factor = 1
if Sponge.controller.Command_Exist("my_force_factor"):
    my_force_factor = float(Sponge.controller.Command("my_force_factor"))
Sponge.controller.Step_Print_Initial("My_Force_Potential", "%2f")

def Calculate_Force():
    Sponge.md_info.frc[0][1] += my_force_factor

def Mdout_Print():
    Sponge.controller.Step_Print("My_Force_Potential", -my_force_factor * Sponge.md_info.crd[0][1])
```

# API介绍

- [Sponge](#sponge)

   - [Sponge.spongeError](#spongespongeerror)

   - [Sponge.COLLECTIVE_VARIABLE_NEED](#spongecollective_variable_need)

   - [Sponge.controller](#spongecontroller)

   - [Sponge.cv_controller](#spongecv_controller)

   - [Sponge.md_info](#spongemd_info)

       - [Sponge.md_info.sys](#spongemd_infosys)

   - [Sponge.NEIGHBOR_LIST](#spongeneighbor_list)

### Sponge
```
Help on built-in module Sponge:

NAME
    Sponge

DATA
    controller = < IO and CUDA controller of SPONGE >
    cv_controller = < cv controller of SPONGE>
    fname = r'D:\prips\api_generator.py'
    md_info = < MD information container of SPONGE >

FILE
    (built-in)


```
### Sponge.spongeError
```
    Sponge.spongeError.spongeSuccess = 0
    Sponge.spongeError.spongeErrorNotImplemented = 1001
    Sponge.spongeError.spongeErrorBadFileFormat = 1002
    Sponge.spongeError.spongeErrorConflictingCommand = 1003
    Sponge.spongeError.spongeErrorMissingCommand = 1004
    Sponge.spongeError.spongeErrorTypeErrorCommand = 1005
    Sponge.spongeError.spongeErrorValueErrorCommand = 1006
    Sponge.spongeError.spongeErrorSimulationBreakDown = 1007
    Sponge.spongeError.spongeErrorMallocFailed = 1008
    Sponge.spongeError.spongeErrorOverflow = 1009
    Sponge.spongeError.spongeErrorOpenFileFailed = 1010

```
### Sponge.COLLECTIVE_VARIABLE_NEED
```
    Sponge.COLLECTIVE_VARIABLE_NEED.CV_NEED_GPU_VALUE = 1
    Sponge.COLLECTIVE_VARIABLE_NEED.CV_NEED_CRD_GRADS = 2
    Sponge.COLLECTIVE_VARIABLE_NEED.CV_NEED_CPU_VALUE = 4
    Sponge.COLLECTIVE_VARIABLE_NEED.CV_NEED_BOX_GRADS = 8

```
### Sponge.controller
```
Help on CONTROLLER in module __main__ object:

class CONTROLLER(builtins.object)
 |  this **class** is the module to control the input, output and cuda in SPONGE
 |
 |  Methods defined here:
 |
 |  Command(self, arg1, arg2=None)
 |      Get the simplified value of the command in SPONGE.
 |      If Only arg1 is given, the command to get the value is "arg1".
 |      If arg1 and arg2 is given, the command to get the value is "arg1_arg2".
 |
 |      :param arg1: the command or the command prefix
 |      :param arg2: the command suffix
 |      :return: a string, the simplified value of the command
 |
 |  Command_Exist(self, arg1, arg2=None)
 |      Check the command whether exist in SPONGE.
 |      If Only arg1 is given, the command to check is "arg1".
 |      If arg1 and arg2 is given, the command to check is "arg1_arg2".
 |
 |      :param arg1: the command or the command prefix
 |      :param arg2: the command suffix
 |      :return: True if the command exist, else False
 |
 |  Original_Command(self, arg1, arg2=None)
 |      Get the original value of the command in SPONGE.
 |      If Only arg1 is given, the command to get the value is "arg1".
 |      If arg1 and arg2 is given, the command to get the value is "arg1_arg2".
 |
 |      :param arg1: the command or the command prefix
 |      :param arg2: the command suffix
 |      :return: a string, the original value of the command
 |
 |  Step_Print(self, head, content)
 |      Print a step print item. A step print item is an item to print in the screen and in the mdout file.
 |
 |      :param head: the name of the item
 |      :param content: the content of the step print item
 |
 |  Step_Print_Initial(self, head, format)
 |      Initialize a step print item. A step print item is an item to print in the screen and in the mdout file.
 |
 |      :param head: the name of the item
 |      :param format: the format of the step print item
 |
 |  Throw_SPONGE_Error(self, error, error_by, error_hint)
 |      Raise error to the screen and the mdinfo file, then exit
 |
 |  Warn(self, warning)
 |      Print the warning to the screen and the mdinfo file
 |
 |  __init__(self)
 |
 |  __repr__(self)
 |
 |  printf(self, *values, sep=' ', end='\n')
 |      Print the values to the screen and the mdinfo file
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties defined here:
 |
 |  working_device
 |      The working device id
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __dict__
 |      dictionary for instance variables (if defined)
 |
 |  __weakref__
 |      list of weak references to the object (if defined)

```
### Sponge.cv_controller
```
Help on COLLECTIVE_VARIABLE_CONTROLLER in module __main__ object:

class COLLECTIVE_VARIABLE_CONTROLLER(CONTROLLER)
 |  Method resolution order:
 |      COLLECTIVE_VARIABLE_CONTROLLER
 |      CONTROLLER
 |      builtins.object
 |
 |  Methods defined here:
 |
 |  Ask_For_CV(self, name, N, verbose_level=0)
 |
 |  Command(self, arg1, arg2=None)
 |
 |  Command_Exist(self, arg1, arg2=None)
 |
 |  Get_CV(self, cv_name)
 |
 |  Original_Command(self, arg1, arg2=None)
 |
 |  __repr__(self)
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from CONTROLLER:
 |
 |  Step_Print(self, head, content)
 |      Print a step print item. A step print item is an item to print in the screen and in the mdout file.
 |
 |      :param head: the name of the item
 |      :param content: the content of the step print item
 |
 |  Step_Print_Initial(self, head, format)
 |      Initialize a step print item. A step print item is an item to print in the screen and in the mdout file.
 |
 |      :param head: the name of the item
 |      :param format: the format of the step print item
 |
 |  Throw_SPONGE_Error(self, error, error_by, error_hint)
 |      Raise error to the screen and the mdinfo file, then exit
 |
 |  Warn(self, warning)
 |      Print the warning to the screen and the mdinfo file
 |
 |  __init__(self)
 |
 |  printf(self, *values, sep=' ', end='\n')
 |      Print the values to the screen and the mdinfo file
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from CONTROLLER:
 |
 |  working_device
 |      The working device id
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from CONTROLLER:
 |
 |  __dict__
 |      dictionary for instance variables (if defined)
 |
 |  __weakref__
 |      list of weak references to the object (if defined)

```
### Sponge.md_info
```
Help on MD_INFORMATION in module __main__ object:

class MD_INFORMATION(builtins.object)
 |  Contains the information for MD simulations
 |
 |  Methods defined here:
 |
 |  __init__(self)
 |
 |  __repr__(self)
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties defined here:
 |
 |  atom_numbers
 |      the total number of atoms
 |
 |  d_mass
 |      the mass of the atoms
 |
 |  sys
 |      the system information
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __dict__
 |      dictionary for instance variables (if defined)
 |
 |  __weakref__
 |      list of weak references to the object (if defined)
 |
 |  crd
 |      the position coordinates of the atoms
 |
 |  d_atom_energy
 |      the energy of the atoms
 |
 |  d_atom_virial
 |      the virial of the atoms
 |
 |  d_charge
 |      the charge of the atoms (In the unit of SPONGE, a unit charge is 18.2223)
 |
 |  frc
 |      the force of the atoms
 |
 |  vel
 |      the velocity of the atoms

```
### Sponge.md_info.sys
```
Help on system_information in module __main__ object:

class system_information(builtins.object)
 |  the system information of MD information
 |
 |  Readonly properties defined here:
 |
 |  box_length
 |      the length of the box
 |
 |  steps
 |      the current step of the simulation
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __dict__
 |      dictionary for instance variables (if defined)
 |
 |  __weakref__
 |      list of weak references to the object (if defined)

```
### Sponge.NEIGHBOR_LIST
```
Help on class NEIGHBOR_LIST in module __main__:

class NEIGHBOR_LIST(builtins.object)
 |  Neighbor List of SPONGE.
 |  This class should be initialized at After_Initial, because neighbor_list is not initialized when initializing prips
 |
 |  Methods defined here:
 |
 |  __init__(self)
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties defined here:
 |
 |  atom_numbers
 |      the number of neighbors for every atom
 |
 |  atom_serials
 |      the serial of neighbors for every atom
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __dict__
 |      dictionary for instance variables (if defined)
 |
 |  __weakref__
 |      list of weak references to the object (if defined)

```


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "prips",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "SPONGE,molecular dynamics",
    "author": "",
    "author_email": "Yijie Xia <yijiexia@pku.edu.cn>",
    "download_url": "https://files.pythonhosted.org/packages/d1/c0/35e829fb82fd6d4bcb5debd0a0fa7cfeec85325f9d015a2babb68123a3ee/prips-1.4.tar.gz",
    "platform": null,
    "description": "# PRIPS: Python Runtime Interface Plugin of SPONGE\n\nSPONGE\u7684python\u7684\u8fd0\u884c\u65f6\u63a5\u53e3\u63d2\u4ef6\n\n\u8be5\u63d2\u4ef6\u5c06SPONGE\u89c6\u4e3a\u4e00\u4e2apython\u89e3\u91ca\u5668\uff0c\u8fd0\u884cpython\u811a\u672c\n\n# \u4f9d\u8d56\n\n\u8be5\u63d2\u4ef6\u4f9d\u8d56\u4e8ecupy\u3002\u8bf7\u81ea\u884c\u5b89\u88c5\u597d\u9002\u914d\u4f60CUDA\u7248\u672c\u7684cupy\u3002\n\n## \u4e3a\u4ec0\u4e48\u9700\u8981cupy\uff1f\n\nSPONGE\u7684GPU\u4ee3\u7801\u9700\u8981\u9002\u914dGPU\u7684python\u7aef\u7684\u5e93\uff0c\u8bb8\u591a\u5e93\u90fd\u80fd\u6ee1\u8db3\uff0c\u5982`cupy`\u3001`jax`\u3001`torch`\u4ee5\u53ca`mindspore`\u3002\u800c`cupy`\u662f\u4e0a\u8ff0\u91cc\u552f\u4e00\u4e00\u4e2a\u652f\u6301\u201c\u91ce\u201d\u6307\u9488\u7684\u5e93\uff0c\u4e5f\u5373`cupy.cuda.UnownedMemory`\uff0c\u4f7f\u5f97\u5b83\u80fd\u76f4\u63a5\u8c03\u7528SPONGE\u7684\u5185\u5b58\u5730\u5740\u4f5c\u4e3a\u81ea\u53d8\u91cf\uff0c\u800c\u4e0d\u9700\u8981\u663e\u5f0f\u5730\u540c\u6b65\u3002\u53e6\u5916`cupy`\u4f5c\u4e3a\u4e00\u4e2a\u4e2d\u4ecb\uff0c\u5b83\u7684\u6570\u7ec4\u4e5f\u53ef\u4ee5\u6bd4\u8f83\u65b9\u4fbf\u5730\u8f6c\u5316\u4e3a\u5176\u4ed6\u5e93\u7684\u6570\u7ec4\u3002\n\n# \u5b89\u88c5\n\n\u5b89\u88c5\u65b9\u6cd5\uff1a\n\n1. pypi\u5b89\u88c5\n\n```\npip install prips\n```\n\n2. \u672c\u5730\u5b89\u88c5\n\u524d\u5f80gitee\u5e93\u4e0b\u8f7d\u89e3\u538b\u6216\u514b\u9686\u6e90\u7801\n\n```\ngit clone https://gitee.com/gao_hyp_xyj_admin/sponge_pyplugin.git\n```\n\n\u6253\u5f00\u4e0b\u8f7d\u5e76\u89e3\u538b\u6216\u514b\u9686\u540e\u7684\u6587\u4ef6\u5939\uff0c\u5728\u6709`pyproject.py`\u7684\u6587\u4ef6\u5939\u5185\u547c\u51fa\u5408\u9002\u7684shell\u7ec8\u7aef\uff0c\u5982windows\u4e0b\u7684powershell\u6216linux\u4e0b\u7684shell\n\n```\npip install .\n```\n\n# \u4f7f\u7528\n\n## SPONGE\u547d\u4ee4\n\n\u76ee\u524d\u672c\u63d2\u4ef6\u9002\u7528\u7684\u7248\u672c\u4e3a\uff1a1.4\uff0c\u4e5f\u5373SPONGE\u76841.4\u6b63\u5f0f\u7248\u672c\n\n\u9996\u5148\u5728\u547d\u4ee4\u884c\u4e2d\u8f93\u5165\uff1a\n\n```\npython -c \"import prips\"\n```\n\n\u7136\u540e\u6b63\u5e38\u60c5\u51b5\u4e0b\u4f1a\u8f93\u51fa\n\n```\n  PRIPS: Python Runtime Interface Plugin of SPONGE\n\nVersion: 1.4a0\nPath: xxx\\prips\\_prips.so\n\nUsage:\n    1. Copy the path printed above\n    2. Paste it to the value of the command \"plugin\" of SPONGE\n```\n\n\u5728SPONGE\u7684mdin.txt\u6587\u4ef6\u5939\u4e2d\u52a0\u5165\uff1a\n\n```\nplugin =  xxx\\prips\\_prips.so #\u4e0a\u65b9\u7684Path\npy = xxxx\\example.py #\u4f60\u9700\u8981\u4f7f\u7528\u7684python\u811a\u672c\u5730\u5740\n```\n\n\u6b64\u5904\u7684` xxxx\\example.py`\u4ec5\u4e3a\u793a\u4f8b\uff0c\u8bf7\u4fee\u6539\u4e3a\u4f60\u5bf9\u5e94\u7684\u5730\u5740\u3002\n\n## SPONGE\u83b7\u53d6python\u4fe1\u606f\n\nSPONGE\u8bfb\u53d6python\u4fe1\u606f\u4f7f\u7528\u7684\u65b9\u5f0f\u662f\u8bfb\u53d6\u51fd\u6570\u540d\u3002\n\u9996\u5148\uff0cSPONGE\u4f1a\u76f4\u63a5\u9010\u884c\u8fd0\u884c\u4e00\u904d\u8be5python\u811a\u672c\uff0c\u7531\u6b64\u53ef\u8fdb\u884c\u521d\u59cb\u5316\u3002\n\u7136\u540e\uff0cSPONGE\u4f1a\u8bfb\u53d6python\u811a\u672c\u91cc\u7684`After_Initial()`\u3001`Calculate_Force()`\u548c`Mdout_Print()`\uff0c\u5206\u522b\u5728\u5176\u4ed6\u6a21\u5757\u521d\u59cb\u5b8c\u6bd5\u3001\u529b\u8ba1\u7b97\u548c\u6253\u5370\u4fe1\u606f\u7684\u65f6\u5019\u8c03\u7528\u3002\u4f8b\u5982\u4e0b\u9762\u662f\u4e00\u4e2a\u7b80\u5355\u7684`Example.py`\n```python\ndef Mdout_Print():\n    print(\"Hellow SPONGE World!\")\n```\n\n## python\u83b7\u53d6SPONGE\u4fe1\u606f\n\npython\u7531\u6a21\u5757`Sponge`\u83b7\u53d6SPONGE\u4fe1\u606f\u3002\u6a21\u5757`Sponge`\u662fSPONGE\u4f5c\u4e3a\u89e3\u91ca\u5668\u65f6\u7684\u5185\u7f6e\u6a21\u5757\uff0c\u5728\u5916\u90e8\u7528python\u8c03\u7528\u662f\u6ca1\u6709\u7684\u3002\n\n`Sponge`\u6a21\u5757\u5185\u82e5\u5e72\u4e2a\u5b50\u6a21\u5757\uff0c\u5176\u4e2d`controller`\uff08\u7a0b\u5e8f\u63a7\u5236\uff09\u3001`cv_controller`\uff08CV\u5b9a\u4e49\uff09\u3001`md_info`\uff08MD\u4fe1\u606f\uff09\u662f\u8f83\u4e3a\u91cd\u8981\u7684\u6a21\u5757\u3002\u8fd9\u4e9b\u5b50\u6a21\u5757\u7684\u5b9a\u4e49\u4e0eC++\u7248\u672c\u7684\u5b9a\u4e49\u76f8\u540c\u3002\u53ef\u4ee5\u4f7f\u7528`help()`\u5bfb\u6c42\u5e2e\u52a9\uff0c\u6216\u9605\u8bfb\u4e0b\u9762\u7684API\u4ecb\u7ecd\u3002\n```\nimport Sponge\nhelp(Sponge.controller)\nhelp(Sponge.cv_controller)\nhelp(Sponge.md_info)\n```\n\n# \u7b80\u5355\u4f8b\u5b50\n\n\u4ee5\u4e0b\u662f\u4e00\u4e2a\u7b80\u5355\u7684steer MD\u7684\u4f8b\u5b50\uff0c\u5bf9\u7b2c\u4e00\u4e2a\u539f\u5b50\u7684y\u65b9\u5411\u52a0\u4e0a\u4e00\u4e2a\u529b\u3002\n```python\nimport Sponge\nmy_force_factor = 1\nif Sponge.controller.Command_Exist(\"my_force_factor\"):\n    my_force_factor = float(Sponge.controller.Command(\"my_force_factor\"))\nSponge.controller.Step_Print_Initial(\"My_Force_Potential\", \"%2f\")\n\ndef Calculate_Force():\n    Sponge.md_info.frc[0][1] += my_force_factor\n\ndef Mdout_Print():\n    Sponge.controller.Step_Print(\"My_Force_Potential\", -my_force_factor * Sponge.md_info.crd[0][1])\n```\n\n# API\u4ecb\u7ecd\n\n- [Sponge](#sponge)\n\n   - [Sponge.spongeError](#spongespongeerror)\n\n   - [Sponge.COLLECTIVE_VARIABLE_NEED](#spongecollective_variable_need)\n\n   - [Sponge.controller](#spongecontroller)\n\n   - [Sponge.cv_controller](#spongecv_controller)\n\n   - [Sponge.md_info](#spongemd_info)\n\n       - [Sponge.md_info.sys](#spongemd_infosys)\n\n   - [Sponge.NEIGHBOR_LIST](#spongeneighbor_list)\n\n### Sponge\n```\nHelp on built-in module Sponge:\n\nNAME\n    Sponge\n\nDATA\n    controller = < IO and CUDA controller of SPONGE >\n    cv_controller = < cv controller of SPONGE>\n    fname = r'D:\\prips\\api_generator.py'\n    md_info = < MD information container of SPONGE >\n\nFILE\n    (built-in)\n\n\n```\n### Sponge.spongeError\n```\n    Sponge.spongeError.spongeSuccess = 0\n    Sponge.spongeError.spongeErrorNotImplemented = 1001\n    Sponge.spongeError.spongeErrorBadFileFormat = 1002\n    Sponge.spongeError.spongeErrorConflictingCommand = 1003\n    Sponge.spongeError.spongeErrorMissingCommand = 1004\n    Sponge.spongeError.spongeErrorTypeErrorCommand = 1005\n    Sponge.spongeError.spongeErrorValueErrorCommand = 1006\n    Sponge.spongeError.spongeErrorSimulationBreakDown = 1007\n    Sponge.spongeError.spongeErrorMallocFailed = 1008\n    Sponge.spongeError.spongeErrorOverflow = 1009\n    Sponge.spongeError.spongeErrorOpenFileFailed = 1010\n\n```\n### Sponge.COLLECTIVE_VARIABLE_NEED\n```\n    Sponge.COLLECTIVE_VARIABLE_NEED.CV_NEED_GPU_VALUE = 1\n    Sponge.COLLECTIVE_VARIABLE_NEED.CV_NEED_CRD_GRADS = 2\n    Sponge.COLLECTIVE_VARIABLE_NEED.CV_NEED_CPU_VALUE = 4\n    Sponge.COLLECTIVE_VARIABLE_NEED.CV_NEED_BOX_GRADS = 8\n\n```\n### Sponge.controller\n```\nHelp on CONTROLLER in module __main__ object:\n\nclass CONTROLLER(builtins.object)\n |  this **class** is the module to control the input, output and cuda in SPONGE\n |\n |  Methods defined here:\n |\n |  Command(self, arg1, arg2=None)\n |      Get the simplified value of the command in SPONGE.\n |      If Only arg1 is given, the command to get the value is \"arg1\".\n |      If arg1 and arg2 is given, the command to get the value is \"arg1_arg2\".\n |\n |      :param arg1: the command or the command prefix\n |      :param arg2: the command suffix\n |      :return: a string, the simplified value of the command\n |\n |  Command_Exist(self, arg1, arg2=None)\n |      Check the command whether exist in SPONGE.\n |      If Only arg1 is given, the command to check is \"arg1\".\n |      If arg1 and arg2 is given, the command to check is \"arg1_arg2\".\n |\n |      :param arg1: the command or the command prefix\n |      :param arg2: the command suffix\n |      :return: True if the command exist, else False\n |\n |  Original_Command(self, arg1, arg2=None)\n |      Get the original value of the command in SPONGE.\n |      If Only arg1 is given, the command to get the value is \"arg1\".\n |      If arg1 and arg2 is given, the command to get the value is \"arg1_arg2\".\n |\n |      :param arg1: the command or the command prefix\n |      :param arg2: the command suffix\n |      :return: a string, the original value of the command\n |\n |  Step_Print(self, head, content)\n |      Print a step print item. A step print item is an item to print in the screen and in the mdout file.\n |\n |      :param head: the name of the item\n |      :param content: the content of the step print item\n |\n |  Step_Print_Initial(self, head, format)\n |      Initialize a step print item. A step print item is an item to print in the screen and in the mdout file.\n |\n |      :param head: the name of the item\n |      :param format: the format of the step print item\n |\n |  Throw_SPONGE_Error(self, error, error_by, error_hint)\n |      Raise error to the screen and the mdinfo file, then exit\n |\n |  Warn(self, warning)\n |      Print the warning to the screen and the mdinfo file\n |\n |  __init__(self)\n |\n |  __repr__(self)\n |\n |  printf(self, *values, sep=' ', end='\\n')\n |      Print the values to the screen and the mdinfo file\n |\n |  ----------------------------------------------------------------------\n |  Readonly properties defined here:\n |\n |  working_device\n |      The working device id\n |\n |  ----------------------------------------------------------------------\n |  Data descriptors defined here:\n |\n |  __dict__\n |      dictionary for instance variables (if defined)\n |\n |  __weakref__\n |      list of weak references to the object (if defined)\n\n```\n### Sponge.cv_controller\n```\nHelp on COLLECTIVE_VARIABLE_CONTROLLER in module __main__ object:\n\nclass COLLECTIVE_VARIABLE_CONTROLLER(CONTROLLER)\n |  Method resolution order:\n |      COLLECTIVE_VARIABLE_CONTROLLER\n |      CONTROLLER\n |      builtins.object\n |\n |  Methods defined here:\n |\n |  Ask_For_CV(self, name, N, verbose_level=0)\n |\n |  Command(self, arg1, arg2=None)\n |\n |  Command_Exist(self, arg1, arg2=None)\n |\n |  Get_CV(self, cv_name)\n |\n |  Original_Command(self, arg1, arg2=None)\n |\n |  __repr__(self)\n |\n |  ----------------------------------------------------------------------\n |  Methods inherited from CONTROLLER:\n |\n |  Step_Print(self, head, content)\n |      Print a step print item. A step print item is an item to print in the screen and in the mdout file.\n |\n |      :param head: the name of the item\n |      :param content: the content of the step print item\n |\n |  Step_Print_Initial(self, head, format)\n |      Initialize a step print item. A step print item is an item to print in the screen and in the mdout file.\n |\n |      :param head: the name of the item\n |      :param format: the format of the step print item\n |\n |  Throw_SPONGE_Error(self, error, error_by, error_hint)\n |      Raise error to the screen and the mdinfo file, then exit\n |\n |  Warn(self, warning)\n |      Print the warning to the screen and the mdinfo file\n |\n |  __init__(self)\n |\n |  printf(self, *values, sep=' ', end='\\n')\n |      Print the values to the screen and the mdinfo file\n |\n |  ----------------------------------------------------------------------\n |  Readonly properties inherited from CONTROLLER:\n |\n |  working_device\n |      The working device id\n |\n |  ----------------------------------------------------------------------\n |  Data descriptors inherited from CONTROLLER:\n |\n |  __dict__\n |      dictionary for instance variables (if defined)\n |\n |  __weakref__\n |      list of weak references to the object (if defined)\n\n```\n### Sponge.md_info\n```\nHelp on MD_INFORMATION in module __main__ object:\n\nclass MD_INFORMATION(builtins.object)\n |  Contains the information for MD simulations\n |\n |  Methods defined here:\n |\n |  __init__(self)\n |\n |  __repr__(self)\n |\n |  ----------------------------------------------------------------------\n |  Readonly properties defined here:\n |\n |  atom_numbers\n |      the total number of atoms\n |\n |  d_mass\n |      the mass of the atoms\n |\n |  sys\n |      the system information\n |\n |  ----------------------------------------------------------------------\n |  Data descriptors defined here:\n |\n |  __dict__\n |      dictionary for instance variables (if defined)\n |\n |  __weakref__\n |      list of weak references to the object (if defined)\n |\n |  crd\n |      the position coordinates of the atoms\n |\n |  d_atom_energy\n |      the energy of the atoms\n |\n |  d_atom_virial\n |      the virial of the atoms\n |\n |  d_charge\n |      the charge of the atoms (In the unit of SPONGE, a unit charge is 18.2223)\n |\n |  frc\n |      the force of the atoms\n |\n |  vel\n |      the velocity of the atoms\n\n```\n### Sponge.md_info.sys\n```\nHelp on system_information in module __main__ object:\n\nclass system_information(builtins.object)\n |  the system information of MD information\n |\n |  Readonly properties defined here:\n |\n |  box_length\n |      the length of the box\n |\n |  steps\n |      the current step of the simulation\n |\n |  ----------------------------------------------------------------------\n |  Data descriptors defined here:\n |\n |  __dict__\n |      dictionary for instance variables (if defined)\n |\n |  __weakref__\n |      list of weak references to the object (if defined)\n\n```\n### Sponge.NEIGHBOR_LIST\n```\nHelp on class NEIGHBOR_LIST in module __main__:\n\nclass NEIGHBOR_LIST(builtins.object)\n |  Neighbor List of SPONGE.\n |  This class should be initialized at After_Initial, because neighbor_list is not initialized when initializing prips\n |\n |  Methods defined here:\n |\n |  __init__(self)\n |\n |  ----------------------------------------------------------------------\n |  Readonly properties defined here:\n |\n |  atom_numbers\n |      the number of neighbors for every atom\n |\n |  atom_serials\n |      the serial of neighbors for every atom\n |\n |  ----------------------------------------------------------------------\n |  Data descriptors defined here:\n |\n |  __dict__\n |      dictionary for instance variables (if defined)\n |\n |  __weakref__\n |      list of weak references to the object (if defined)\n\n```\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "PRIPS: Python Runtime Interface Plugin of SPONGE",
    "version": "1.4",
    "project_urls": null,
    "split_keywords": [
        "sponge",
        "molecular dynamics"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d1c035e829fb82fd6d4bcb5debd0a0fa7cfeec85325f9d015a2babb68123a3ee",
                "md5": "86b7284d4510fd752ebf5ebc1976e119",
                "sha256": "1d6907b0d2e0ca2f172dab8411a3256c67034b37bd8e54c0166dd656d589e80c"
            },
            "downloads": -1,
            "filename": "prips-1.4.tar.gz",
            "has_sig": false,
            "md5_digest": "86b7284d4510fd752ebf5ebc1976e119",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 78419,
            "upload_time": "2023-12-31T08:48:22",
            "upload_time_iso_8601": "2023-12-31T08:48:22.951185Z",
            "url": "https://files.pythonhosted.org/packages/d1/c0/35e829fb82fd6d4bcb5debd0a0fa7cfeec85325f9d015a2babb68123a3ee/prips-1.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-31 08:48:22",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "prips"
}
        
Elapsed time: 0.15694s