这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
adf:applywallpotential [2022/10/25 11:22] – [设置球形弹性墙壁] liu.jun | adf:applywallpotential [2023/11/03 21:48] (当前版本) – [设置球形弹性墙壁] liu.jun | ||
---|---|---|---|
行 2: | 行 2: | ||
LAMMPS中,外加电场时,只考虑电场对原子的“受力”的影响,不考虑对能量(进而对化学反应)的影响。在AMS中,电场的影响不仅仅体现在力上,也体现在能量上。 | LAMMPS中,外加电场时,只考虑电场对原子的“受力”的影响,不考虑对能量(进而对化学反应)的影响。在AMS中,电场的影响不仅仅体现在力上,也体现在能量上。 | ||
- | 模拟体系存在外加电场的情况下,如果有原子穿越Cell的边界,就会出现EEM电荷(EEM:ReaxFF计算原子电荷的方法模型)unphysically large相关报错。为了避免穿越Cell边界,因此需要设置一个弹性墙壁,限制原子的活动范围。当然这就变成了一个非周期性的体系,为了避免分子扩散,同理也是需要这个弹性墙壁的。 | + | 模拟体系存在外加电场的情况下,如果有原子穿越Cell的边界,就会出现EEM电荷(EEM:ReaxFF计算原子电荷的方法模型)unphysically large相关报错。为了避免穿越Cell边界,因此需要设置一个弹性墙壁,限制原子的活动范围。当然这就变成了一个**非周期性**的体系,为了避免分子扩散,同理也是需要这个弹性墙壁的。 |
- | 下面以一个简单的例子,演示如何添加外电场,以及如何添加弹性墙壁。思路如下:首先创建一个常规的盒型体系,然后将其修改为球形,设置外加电场后,设置球形弹性墙壁,球半径略大于模型半径。 | + | 下面以一个简单的例子,演示如何添加外电场,以及如何添加弹性墙壁。思路如下:首先创建一个常规的盒型体系,**去掉周期性(Main中周期性设置为None)**,然后将其**修改为球形**,设置外加电场后,设置球形弹性墙壁,球半径略大于模型半径。 |
+ | |||
+ | 本教程适用于AMS2022及其以上版本,2019及以前的版本,请参考:[[adf: | ||
=====建模===== | =====建模===== | ||
行 17: | 行 19: | ||
====将体系修改为球形==== | ====将体系修改为球形==== | ||
- | 选中某个原子(尽量选中坐标原点附近的原子,因为在AMS2022.101版中有一个bug:原点不可以更改,否则设置弹性墙壁后计算会报错,后续版本应会修复)。然后Select → Select within Radius,输入一个半径例如12 Å(建议这个值略小于Cell直径的一半,确保球在Cell内),OK。这样一个半径为12 Å的一个球被选中了,此时球表面有的分子只有部分原子被选中,我们希望完整的分子都被选中,因此我们按Ctrl m键,则相关完整分子都被选中了(也意味着半径略有扩大)。 | + | **Main → Periodicity设置为None**。选中尽量接近坐标原点的某个原子,然后Select → Select within Radius,输入一个半径例如12 Å(建议这个值略小于Cell直径的一半,确保球在Cell内),OK。这样一个半径为12 Å的一个球被选中了,此时球表面有的分子只有部分原子被选中,我们希望完整的分子都被选中,因此我们按Ctrl m键,则相关完整分子都被选中了(也意味着半径略有扩大)。 |
Select - Invert Selection反选,然后del键删除,这样留下来的,就是刚才半径约为12 Å的一个球: | Select - Invert Selection反选,然后del键删除,这样留下来的,就是刚才半径约为12 Å的一个球: | ||
行 43: | 行 45: | ||
</ | </ | ||
- | AMS2022.101的GUI无法将该设置读入,2022.102版将修复。因此AMS2022.101用户需要自行将上述3行,添加到*.run文件中相应应位置,具体案例参考下文。 | + | |
====设置球形弹性墙壁==== | ====设置球形弹性墙壁==== | ||
- | 设置基本分子动力学参数,例如力场、系综、温度、步数、保存轨迹的频率等等,可以参考其他教程。设置完毕后保存作业,在生成的*.run文件中,我们添加如下字段: | + | 照常设置基本分子动力学参数,例如力场、系综、温度、步数、保存轨迹的频率等等,可以参考其他教程。设置完毕后保存作业,在生成的*.run文件中,我们添加如下字段: |
< | < | ||
EngineAddons | EngineAddons | ||
| | ||
Enabled Yes | Enabled Yes | ||
- | Gradient | + | Gradient |
Prefactor 1.0 | Prefactor 1.0 | ||
Radius 17 | Radius 17 | ||
行 57: | 行 59: | ||
End | End | ||
</ | </ | ||
- | 这里Gradient是弹性墙壁的Potential强度变化梯度,我们设置为100一般来说是足够大,Prefactor是Potential的指前因子,Radius是球半径,单位为Å,这里我们设置为17 Å,足以将之前的原子全部包围。 | + | 这里Gradient是描述弹性墙壁的Potential强度变化梯度,单位是1/ |
- | 这个字段可以添加在*.run文件任何字段之间,例如在MolecularDynamics字段后面: | + | 这个字段可以添加在*.run文件任何字段之间,例如在MolecularDynamics字段后面(该例子是一个NVT系综): |
< | < | ||
MolecularDynamics | MolecularDynamics | ||
行 75: | 行 77: | ||
| | ||
Enabled Yes | Enabled Yes | ||
- | Gradient | + | Gradient |
Prefactor 1.0 | Prefactor 1.0 | ||
Radius 17 | Radius 17 |