这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
adf:frictioncoeff [2023/04/23 01:12] – [分子动力学参数] liu.jun | adf:frictioncoeff [2024/01/15 09:47] (当前版本) – [分子动力学参数] liu.jun | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ======摩擦系数模拟计算====== | + | ======AMS基于分子动力学计算摩擦系数====== |
该功能基于分子动力学,原则上ReaxFF与机器学习势或者其他力场均,甚至DFTB、MOPAC、BAND,都可以进行该功能的计算,除了Main面板参数设置各不相同外,其他参数设置一致。这里为了简单演示,采用了UFF力场。 | 该功能基于分子动力学,原则上ReaxFF与机器学习势或者其他力场均,甚至DFTB、MOPAC、BAND,都可以进行该功能的计算,除了Main面板参数设置各不相同外,其他参数设置一致。这里为了简单演示,采用了UFF力场。 | ||
+ | 本功能从2023版以后可用。 | ||
=====模型===== | =====模型===== | ||
这里我们采用了一个很小的样本模型,为了避免热力学随机性带来的差异、小体系的统计涨落,用户建模时应该尽量创建更大的模型,例如1万原子左右。由于模拟时间长度相对较短,模型更大,在计算耗时上,应该是可以承受的。**另外需要注意,这是一个二维周期性模型,因此Main → Periodicity为Slab。** | 这里我们采用了一个很小的样本模型,为了避免热力学随机性带来的差异、小体系的统计涨落,用户建模时应该尽量创建更大的模型,例如1万原子左右。由于模拟时间长度相对较短,模型更大,在计算耗时上,应该是可以承受的。**另外需要注意,这是一个二维周期性模型,因此Main → Periodicity为Slab。** | ||
行 10: | 行 11: | ||
将下面的薄片设置为A区,上面的薄片设置为B区,A底部的几个原子设置为Fixed区,其他所有原子设置为Free区(分区的命名根据自己方便即可) | 将下面的薄片设置为A区,上面的薄片设置为B区,A底部的几个原子设置为Fixed区,其他所有原子设置为Free区(分区的命名根据自己方便即可) | ||
{{ : | {{ : | ||
- | ====设置压力、B区薄片运动速度==== | + | ====设置B区薄片受到的压力,以及B区薄片运动速度==== |
{{ : | {{ : | ||
其中: | 其中: | ||
- | * 运动速度为X方向0.002 Å/ | + | * 运动速度为X方向0.002 Å/ |
* 施加的力为Z方向1.6 × 10< | * 施加的力为Z方向1.6 × 10< | ||
行 19: | 行 20: | ||
{{ : | {{ : | ||
+ | **如果使用其他模块计算,则仅有Main中的参数设置不同,其他全部一样。** | ||
{{ : | {{ : | ||
注意: | 注意: | ||
- | * 由于运动速度非常小,0.002 Å/ | + | * 由于运动速度非常小,0.002 Å/ |
* 采样频率非常高,每10步就需要采样一次 | * 采样频率非常高,每10步就需要采样一次 | ||
* 步数这里只运行了1万步,用户可以运行更长时间,从而降低不同时刻的摩擦系数震荡,从而在最后用Python脚本进行分析的时候,可以设置较大步数平均 | * 步数这里只运行了1万步,用户可以运行更长时间,从而降低不同时刻的摩擦系数震荡,从而在最后用Python脚本进行分析的时候,可以设置较大步数平均 | ||
- | 其他分子动力学参数正常设置即可,这是一个标准的常温NTV系综: | + | 其他分子动力学参数正常设置即可,这是一个标准的常温NTV系综(注意系综里面选择了free分区,固定的原子不能出现在系综里面): |
{{ : | {{ : | ||
行 34: | 行 35: | ||
{{ : | {{ : | ||
- | 保存并运行作业 | + | 保存并运行作业,例如作业名为frictioncoeff。 |
+ | |||
+ | [[adf: | ||
+ | |||
+ | =====结果分析===== | ||
+ | 将AMS202*.*\examples\AMS\MD_friction中的friction_coeff.py拷贝到**作业所在目录**,AMSJobs → 进入作业目录 → Help → Command-line → 输入sh回车 → 输入命令 | ||
+ | < | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 注意: | ||
+ | * “--block 200”,指在200帧轨迹内取均值,如果模拟步数足够多,这个值也可以对应增大,从而可以得到更稳定的数值 | ||
+ | * 数据总共4列,最后一列是不同时间段的摩擦系数,取均值更合适 | ||
+ | * 体系如果太小,数据的随机性也会很大 |