@tkaray RASPA 相关内容遵循原作者授权协议, 本文简译和注释内容遵循 CC-BY-NC 4.0 协议共享.
本文是 RASPA manual 的中文简译, 带有一些个人补充的注释内容. 部分内容没有特别合适的翻译则会使用英文原文. 限于能力所限本文的内容可能有部分纰漏, 请酌情参考. 所有补充的注释内容均使用以下方法标记:
Note: 建议使用 Linux 和 macOS 安装.
Part 1. 简介
RASPA是由 Randall Q. Snurr, Sofia Calero, David Dubbeldam, T.J.H. Vlugt 等研究者开发的经典模拟软件包, 可以用于模拟气体, 流体, 沸石, 硅铝酸盐, MOF, 碳纳米管等材料.
引用文献: (来自于 GitHub 的介绍页)
- D. Dubbeldam, S. Calero, D.E. Ellis, and R.Q. Snurr, "RASPA: Molecular Simulation Software for Adsorption and Diffusion in Flexible Nanoporous Materials",
Mol. Sim., 42 (2), 81-101, 2016.
link to article - D. Dubbeldam, A. Torres-Knoop, and K.S. Walton, "On the Inner Workings of Monte Carlo Codes",
Mol. Sim. (special issue on Monte Carlo) 39(14-15), 1253-1292, 2013.
link to article - D. Dubbeldam and R.Q. Snurr, "Recent developments in the molecular modeling of diffusion in nanoporous materials",
Mol. Sim., 33 (4-5), 305-325, 2007.
link to article - D. Dubbeldam, K.S. Walton, T.J.H. Vlugt, and S. Calero, "Design, Parameterization, and Implementation of Atomic Force Fields for Adsorption in Nanoporous Materials",
Adv. Theory Simulat., 2(11), 1900135, 2019.
link to article
安装, 编译与运行
自行编译
RASPA 是由 C 语言写成的, 因此需要一个 gcc 或 icc 编译器.
Note: 建议使用 Linux / macOS 系统运行()
export RASPA_DIR=/path/to/environment/root
rm -rf autom4te.cache
mkdir m4
aclocal
autoreconf -i
automake --add-missing
autoconf
./configure --prefix=${RASPA_DIR}
# or ./scripts/CompileScript/make-gcc-local
make
make install
Note: cd 到对应目录后直接运行即可. RASPA_DIR 为目标安装位置.
使用 Conda-forge 源
也可以使用 Anaconda 的方式安装预编译版本.
conda install -c conda-forge raspa2
export RASPA_DIR=/path/to/environment/root
# e.g. export RASPA_DIR=/Users/leopold/Applications/miniconda3/envs/raspa-env
Note: Conda-forge 版本的软件本体在 /path/to/anaconda3/envs/envs-name/bin/simulate, 支持文件在 /path/to/anaconda3/envs/envs-name/share/raspa下. 因此, RASPA_DIR 环境变量设置位置应当位于虚拟环境目录处, 此时和自行编译的情况相同.
Note: (2022年3月5日记) 即使使用 conda-forge 源的预编译方法安装, 也应该下载 GitHub 版本, 因为其中有一些教学示例 demo 是预编译方法未提供的. 此外, GitHub 源目前仅含有部分 example forcefield & molecules, 但 conda-forge 源有更多示例用的力场和小分子文件. 因此, 建议两个都装, 然后合并到一处.
Note: 还需要注意的是, 所有的教学示例 demo 均指定了~目录下的文件夹, 如果不想每次运行示例都改提交文件, 请在家目录对对应位置使用 ln -s 建立软链接.
文档编译与下载
虽然 GitHub 中提供了 tex 编译的选项, 但是有已经编译好的版本在 iRASPA 的主页: Link
运行
Note: RASPA的运行需要多个文件. 其中, simulation.input 文件控制运行过程, 一个运行脚本负责设置环境变量和调用主程序 simulate. 具体内容可以查看示例. 运行过程如果需要使用 mpi, 则应当在运行前添加 mpirun 指令. 暂不清楚开启 openMPI 编译后使用 intelMPI 运行是否会报错, 和安装时保持一致就好了.
使用 AiiDA 调用
Note: 通过安装 AiiDA 框架和交互组件 aiida-raspa 可以实现基于 Python 的控制. 具体方法可以查看 aiida-raspa 的 GitHub repo 的 demo.
Part 2. 文件设置
工程文件的种类
-
simulation.input
包含模拟类型, 模拟的步数, 骨架名字, 晶胞数目, 使用的小分子, Monte-Carlo 行动 (move) 类型等控制词条.
-
structure-name.cif
如果使用了一个骨架 (如沸石和 MOF), 则需要提供一个 CIF 文件, 该文件名的前半部分需要在 simulation.input 中进行指定.
-
pseudo_atoms.def
列举使用的赝原子的信息, 包括电荷和质量等. 一般情况下赝原子代表一个原子, 但也可能代表一个小基团 (比如 -CH3). 由于 CIF 文件会提供原子信息, 因此在 CIF 中列举的原子并不需要在赝原子列表中进行规定, 当读取 CIF 文件时原子信息将自动加入到该列表中. 如果在赝原子中也提供了原子信息, 那么该文件中的数据将被优先读取.
-
force_field_mixing_rules.def 和 force_field.def
赝原子列表中每个原子所使用的力场参数. 这些参数包括 Van der Waals potential 类型和其他参数, 如是否使用尾部校正 (tail correction), 是否在 cutoff 之后将作用置零, 还有 mixing rule 的类型等.
在文献中报道的力场参数主要包括两种类型, 第一种会提供每个原子的势能参数和 mixing rule 的列表, 第二种则会提供原子对和参数. 第一种对应 force_field_mixing_rules.def, 第二种则对应 force_field.def. 其中, force_field.def 的优先级高于 force_field_mixing_rules.def.