用户工具

站点工具


adf:frictioncoeff

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
adf:frictioncoeff [2023/04/23 01:12] – [分子动力学参数] liu.junadf: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区(分区的命名根据自己方便即可)
 {{ :adf:frictioncoeff01.png?650 }} {{ :adf:frictioncoeff01.png?650 }}
-====设置压力B区薄片运动速度====+====设置B区薄片受到的压力,以及B区薄片运动速度====
 {{ :adf:frictioncoeff02.png?650 }} {{ :adf:frictioncoeff02.png?650 }}
 其中: 其中:
-  * 运动速度为X方向0.002 Å/fs,其中ComponentsXY表示Z方向施加了压力,因此只控制XY方向的速度,Z方向的速度由压力与力场、运动本身规律去产生,不做限制+  * 运动速度为X方向0.002 Å/fs,其中Components设置为XY,(因为Z方向施加了压力,因此只控制XY方向的速度,Z方向的速度由压力与力场、运动本身规律去产生,不做限制
   * 施加的力为Z方向1.6 × 10<sup>-7</sup>   * 施加的力为Z方向1.6 × 10<sup>-7</sup>
  
行 19: 行 20:
  
 {{ :adf:frictioncoeff06.png?650 }} {{ :adf:frictioncoeff06.png?650 }}
 +**如果使用其他模块计算,则仅有Main中的参数设置不同,其他全部一样。**
 {{ :adf:frictioncoeff03.png?650 }} {{ :adf:frictioncoeff03.png?650 }}
 注意: 注意:
-  * 由于运动速度非常小,0.002 Å/fs,因此Step设置的比较大,每个Step才运动0.004 Å,这是可以的。如果运动速度快,则不允许设置这么大的步长。要确保速度×步长保持较小的值+  * 由于运动速度非常小,0.002 Å/fs,因此Step设置的比较大,每个Step才运动0.004 Å,这是可以的。如果运动速度快,则不允许设置这么大的步长。要确保速度×步长保持较小的值
   * 采样频率非常高,每10步就需要采样一次   * 采样频率非常高,每10步就需要采样一次
   * 步数这里只运行了1万步,用户可以运行更长时间,从而降低不同时刻的摩擦系数震荡,从而在最后用Python脚本进行分析的时候,可以设置较大步数平均   * 步数这里只运行了1万步,用户可以运行更长时间,从而降低不同时刻的摩擦系数震荡,从而在最后用Python脚本进行分析的时候,可以设置较大步数平均
-其他分子动力学参数正常设置即可,这是一个标准的常温NTV系综:+其他分子动力学参数正常设置即可,这是一个标准的常温NTV系综(注意系综里面选择了free分区,固定的原子不能出现在系综里面)
 {{ :adf:frictioncoeff04.png?650 }} {{ :adf:frictioncoeff04.png?650 }}
  
行 34: 行 35:
 {{ :adf:frictioncoeff07.png?650 }} {{ :adf:frictioncoeff07.png?650 }}
  
-保存并运行作业+保存并运行作业,例如作业名为frictioncoeff。 
 + 
 +[[adf:runfileforfriction|如果有的用户关心生成的作业脚本详细内容,点击查看]]。不关心在掠过即可。 
 + 
 +=====结果分析===== 
 +将AMS202*.*\examples\AMS\MD_friction中的friction_coeff.py拷贝到**作业所在目录**,AMSJobs → 进入作业目录 → Help → Command-line → 输入sh回车 → 输入命令 
 +<code>amspython friction_coeff.py --block 200 frictioncoeff.results/</code>回车,稍后几秒,即可输出摩擦系数: 
 + 
 +{{ :adf:frictioncoeff08.png?650 }} 
 + 
 +注意: 
 +  * “--block 200”,指在200帧轨迹内取均值,如果模拟步数足够多,这个值也可以对应增大,从而可以得到更稳定的数值 
 +  * 数据总共4列,最后一列是不同时间段的摩擦系数,取均值更合适 
 +  * 体系如果太小,数据的随机性也会很大
adf/frictioncoeff.1682183577.txt.gz · 最后更改: 2023/04/23 01:12 由 liu.jun

© 2014-2022 费米科技(京ICP备14023855号