用户工具

站点工具


adf:viscosity

差别

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

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
adf:viscosity [2022/02/16 23:54] – [ReaxFF分子动力学参数设置] liu.junadf:viscosity [2023/08/30 10:16] (当前版本) – [模型] liu.jun
行 8: 行 8:
   * //T//为温度   * //T//为温度
   * //P<sub>αβ</sub>//为压力张量的非对角项   * //P<sub>αβ</sub>//为压力张量的非对角项
-  * //<P<sub>αβ</sub>(0)P<sub>αβ</sub>(t)>//即自相关函数对所有时间原点、所有非对角分量的平均+  * //<P<sub>αβ</sub>(0)P<sub>αβ</sub>(t)>//压力张量自相关函数对所有时间原点、所有非对角分量的平均
  
-因为粘度的计算不涉及反应,因此除了使用ReaxFF外,也可以使用Force Field模块中其他力场(例如GAFF力场)进行分子动力学模拟。分子动力学的参数设置大同小异,只是Main面板的参数设置有所差别。+因为粘度的计算不涉及反应,因此除了使用ReaxFF外,也可以使用Force Field模块中其他力场(例如GAFF力场),甚至也可以使用第一性原理进行分子动力学模拟,从而类似地生成粘度信息。分子动力学的参数设置大同小异,只是Main面板的参数设置有所差别。
  
 这里以苯为例,室温下苯的粘度实验值为0.5 mPa s。 这里以苯为例,室温下苯的粘度实验值为0.5 mPa s。
 =====模型===== =====模型=====
-AMSinput - Edit - Builder,设置晶格常数为26.666*26.666*26.666 Å<sup>3</sup>,并加入128个Benzene分子(创建分子混合物参考教程:[[adf:creatsurfaceofliquid]]):+AMSinput - Edit - Builder,设置晶格常数为26.666*26.666*26.666 Å<sup>3</sup>,并加入128个Benzene分子(创建分子混合物参考教程:[[adf:creatsurfaceofliquid]]),从而密度与实验密度尽量接近:
  
 {{ :adf:viscosity01.png?650 }} {{ :adf:viscosity01.png?650 }}
  
-注意体系的大小,会严重影响粘度的计算数值,因此**体系规模应该大一些,这样粘度数值可靠性强一些**(统计振荡减弱)。+注意体系的大小,会严重影响粘度的计算数值,因此**体系规模应该大一些,这样粘度数值可靠性强一些**(统涨洛误差减弱)。
 =====ReaxFF分子动力学参数设置===== =====ReaxFF分子动力学参数设置=====
 基本的设置(周期性一定要确保为Bulk): 基本的设置(周期性一定要确保为Bulk):
 {{ :adf:viscosity02.png?650 }} {{ :adf:viscosity02.png?650 }}
-由于不关心化学反应,因此步长不需要太小,1fs就可以了,但是**运动轨迹对粘度非常重要,因此每5fs就需要保存一次轨迹(甚至可以更小)**,关于动量、角动量守恒的限制也可以去掉(起始温度也可以不设置,因为后面Thermostat会设置温度):+由于不关心化学反应,因此步长不需要太小,1fs就可以了,但是**运动轨迹对粘度非常重要,因此每5fs就需要保存一次轨迹(甚至可以更小)**,关于动量、角动量守恒的限制也可以去掉(起始温度也可以不设置,因为后面Thermostat会设置温度):
 {{ :adf:viscosity03.png?650 }} {{ :adf:viscosity03.png?650 }}
 温度的设置: 温度的设置:
 {{ :adf:viscosity04.png?650 }} {{ :adf:viscosity04.png?650 }}
-这里不建议使用NPT系综,因为Green-Kubo公式中有体积,如果使用NPT系综,则体积会发生变化,从而导致求解非常麻烦,另外液体在特定温度下,密度是确定的,所以使用NVT系综即可。+这里不建议使用NPT系综(因此不需要设置Barostat),因为Green-Kubo公式中有体积,如果使用NPT系综,则体积会发生变化,从而导致求解非常麻烦,另外液体在特定温度下,密度是确定的,所以使用NVT系综即可。
  
 保存作业并运行。在logfile里面,确保Pressure一列有具体数值。**如果使用ForceField模块,则未必有这个数值,有可能是“n/a”,那就需要增加设置:Model → MD → Trajectory Options后面的详细设置按钮 → 勾选Calculate pressure(为了减小计算量,可以去掉Write velocities、Write charges、Write bonds、Write molecules选项)。** 保存作业并运行。在logfile里面,确保Pressure一列有具体数值。**如果使用ForceField模块,则未必有这个数值,有可能是“n/a”,那就需要增加设置:Model → MD → Trajectory Options后面的详细设置按钮 → 勾选Calculate pressure(为了减小计算量,可以去掉Write velocities、Write charges、Write bonds、Write molecules选项)。**
行 33: 行 33:
 压力张量自相关函数的计算范围,必须是动力学模拟达到平衡之后的时间。所以如果体系事先经过弛豫,则除去前面少量帧数,后面大量帧数都可以使用,如果没有弛豫,**在势能**(SCM → Movie → MD Properties - Potential Energy,即可显示势能;Properties - Time显示时间,Graph - Curve on X Axes,则时间变为横轴)**达到稳定前的帧数是不能用的。** 压力张量自相关函数的计算范围,必须是动力学模拟达到平衡之后的时间。所以如果体系事先经过弛豫,则除去前面少量帧数,后面大量帧数都可以使用,如果没有弛豫,**在势能**(SCM → Movie → MD Properties - Potential Energy,即可显示势能;Properties - Time显示时间,Graph - Curve on X Axes,则时间变为横轴)**达到稳定前的帧数是不能用的。**
  
-从势能的结果来看,300帧的时候,就接近平衡状态了,因此我们可以从300帧开始生成自相关函数(总共12001帧,**模拟时间太短,帧数太少,会导致粘度数据不可靠**): +Movie中显示的势能的结果来看,300帧的时候,就接近平衡状态了,因此我们可以从300帧开始生成自相关函数(总共12001帧,**模拟时间太短,帧数太少,会导致粘度数据不可靠**):
- +
-{{ :adf:viscosity06.png?950 }}+
  
 MD Properties - Autocorrelation Function... MD Properties - Autocorrelation Function...
 +
 +{{ :adf:viscosity06.png?950 }}
  
   * Steps设置为300-12001   * Steps设置为300-12001
   * Property设置为Pressure Tensor   * Property设置为Pressure Tensor
-  * Atoms:在Movie窗口Ctrl A选中所有原子,然后点击此处的➕ +  * Atoms:在Movie窗口Ctrl A选中所有原子,然后点击此处的➕。这里也可以留白不处理,也表示将所有原子纳入考虑 
-  * Vector elements设置为4 5 6,表示P<sub>yz</sub>、P<sub>xz</sub>、P<sub>xy</sub> (当然1、2、3表示P<sub>xx</sub>、P<sub>yy</sub>、P<sub>zz</sub>)+  * Vector elements设置为4 5 6,表示P<sub>yz</sub>、P<sub>xz</sub>、P<sub>xy</sub> (当然1、2、3表示P<sub>xx</sub>、P<sub>yy</sub>、P<sub>zz</sub>),不过粘度只跟非对角项有关,所以这里必须填入4 5 6
   * Max ACF Step建议设置为3000帧,即大致为15 ps左右   * Max ACF Step建议设置为3000帧,即大致为15 ps左右
  
行 59: 行 59:
  
 与实验符合的极好。 与实验符合的极好。
 +
 +=====补充:QSPR预测粘度=====
 +AMS的COSMO-RS模块,也能预测液体粘度:[[adf:viscositycosmo-rs]]
adf/viscosity.1645026877.txt.gz · 最后更改: 2022/02/16 23:54 由 liu.jun

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