这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
adf:visosityofionicliquid [2023/11/18 14:33] – [第四步:正式计算粘度的分子动力学模拟] liu.jun | adf:visosityofionicliquid [2023/11/18 17:44] (当前版本) – [总结与经验] liu.jun | ||
---|---|---|---|
行 1: | 行 1: | ||
======使用 APPLE&P 计算离子液体的粘度====== | ======使用 APPLE&P 计算离子液体的粘度====== | ||
+ | Apple& | ||
+ | |||
在本教程中,我们将以 N-甲基-N-丁基吡咯烷鎓 (pyr14) 和双(三氟甲磺酰亚胺) (TFSI)(1: | 在本教程中,我们将以 N-甲基-N-丁基吡咯烷鎓 (pyr14) 和双(三氟甲磺酰亚胺) (TFSI)(1: | ||
行 67: | 行 69: | ||
单击SCM → Movie来分析此次 NPT 作业。Movie → Graph → Add Graph,然后MD Properties → Density观察密度的变化。理想情况下,NPT 收敛后的密度与实验较为接近,这里我们发现 NPT 模拟得到的密度在 1336 至 1346 kg/ | 单击SCM → Movie来分析此次 NPT 作业。Movie → Graph → Add Graph,然后MD Properties → Density观察密度的变化。理想情况下,NPT 收敛后的密度与实验较为接近,这里我们发现 NPT 模拟得到的密度在 1336 至 1346 kg/ | ||
- | 运行完毕后,图形窗口仍然弹出窗口寻味是否更新结构,建议同时勾选 Use MD velocities from result 后点击Yes。然后进行下一步。 | + | 运行完毕后,图形窗口仍然弹出窗口寻味是否更新结构,建议同时勾选 Use MD velocities from result 后点击Yes,然后进行下一步。这里,如果体系足够大,能观察到压强的震荡,对应的也有密度的震荡,在已经达到平衡的区域,也可以找到压强最准确的一帧,更新结构进行后续的计算。 |
=====第四步:正式计算粘度的分子动力学模拟===== | =====第四步:正式计算粘度的分子动力学模拟===== | ||
行 104: | 行 106: | ||
例如: | 例如: | ||
- | {{ :adf:0c21832b-3e87-4eae-85ff-88907244af1a.png?650 }} | + | {{ :adf:visositybyapplep13.png?650 }} |
+ | |||
+ | |||
+ | ====注意==== | ||
+ | 如果最后一步的分子动力学模拟长度为几纳秒,则 Python 脚本的执行可能需要长达几个小时。事实上,对数百万帧的自相关函数进行评估非常耗时。 | ||
+ | |||
+ | 得到: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 基于此处 400 ps 动力学过程的模拟,我们得到的极限值为 η= 23.92 mPa·s。请注意,尽管此模拟很短,但我们与混合物的实验粘度值 21.0 mPa·s(在 333 K 下实验值,参见O. Borodin, Polarizable Force Field Development and Molecular Dynamics Simulations of Ionic Liquids, J. Phys. Chem. B, 2009, 113, 11463–11478)非常吻合。不过,粘度的波动表明模拟没有很好地收敛。 | ||
+ | |||
+ | 如果我们继续之前的模拟直至 5 ns,我们会得到一个极限值 η= 22.55 mPa·s。在这里我们可以很容易地看到粘度收敛,趋向稳定值: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | =====总结与经验===== | ||
+ | * 模拟需要很好地平衡:本例中,我们从低密度开始,对模拟盒进行变形以接近实验密度,用户还可以考虑对系统进行温和的退火处理(关于退火的概念与操作,参考[[adf: | ||
+ | * 一般来说,使用 NPT 模拟平衡液体的时候,要注意验证密度、压力是否接近实验值。 | ||
+ | * 粘度通常对体系的规模大小很敏感,应使用更大的体系以获得更稳定的结果。 | ||
+ | * 在整个时间范围内,粘度曲线应平滑上升,平滑特征代表收敛、数据的稳定性。 | ||
+ | * 如果粘度曲线有噪声,请减少最大相关时间(Python脚本中的max_dt_fs,单位为fs)或运行更长时间的 MD 模拟。拟合的双指数曲线在任何点都不应大幅偏离粘度曲线。 | ||
+ | * 确保模拟时间至少比最大相关时间长 20 倍(但最好接近至少 50 倍)。例如:如果 MD 模拟长度为 2 ns,则将后分析脚本中的 max_dt_fs 设置为 (2 ns / 20) = 100 ps 或更短。在上图中,最大相关时间太长(400 ps / 100 ps = 4 ),大量噪声也从侧面印证了这一点。 | ||
+ | * 对积分的最大贡献来自较短的相关时间。因此,有必要使用 BinLog 功能,该功能在每个时间步写入压力张量。 |