- 2020-10-24 22:39:37 感谢 刘丽斌 提供相关信息
在MD模拟中可以施加外场, 除电场, 磁场, 重力场等常见外场, 也可以施加一些人为的外场, 如剪切, 排斥等. 电场, 重力场的施加比较简单, 因为由它们引起的力只取决于粒子的电荷或质量, 而这些都是粒子的基本属性, 在模拟过程中不会变化, 很容易处理. 施加磁场就麻烦一些. 根据经典的电动力学理论, 带电粒子在磁场中运动时会受到洛伦兹力, $\vec F=q (\vec v × \vec B)$. 这个力的大小正比于粒子的速度和磁感应强度, 方向始终与粒子速度垂直, 因而不会做功, 只会改变粒子运动速度的方向. 由于洛伦兹力与粒子的速度有关, 而粒子速度在MD模拟过程中是变化的, 需要借助数值积分进行更新, 这样就导致没有办法直接施加磁场, 因为速度和力耦合在一起, 必须隐式地求解的更新方程, 或借助其他特殊的算法.
总体而言, MD代码中实现外磁场难度不大, 但应用并不广泛, 猜测原因在于外磁场对体系的影响比较小, 也没有太多有意义的体系可供研究.
GROMACS目前不支持外磁场, 需要自己修改代码实现. DL_POLY支持好几种外传, 包括外磁场, 所以一般涉及外磁场的模拟都是使用DL_POLY完成.
下面是我初步查阅的几篇文献, 可以作为外磁场实现和测试的参考.
- “Classical Molecular Dynamics Simulation with the Velocity Verlet Algorithm at Strong External Magnetic Fields”, Q Spreiter, M Walter; J. Comput. Phys. 152(1):102-119, 1999; 10.1006/jcph.1999.6237
详细讨论了如何在MD过程中施加外磁场, 给出了具体的实现方法和公式, 很多程序的实现都参考了这篇文献给出的方法.
- “The effect of an external magnetic field on the structure of liquid water using molecular dynamics simulation”, Kai-tai Chang, Cheng-i. Weng; J. Appl. Phys. 100(4):043917, 2006; 10.1063/1.2335971
研究了外磁场对液态水的影响, 施加外磁场的方法基于前一篇文献.
- “Magnetic molecular dynamics simulations with Velocity Verlet algorithm”, E. Della Valle, P. Marracino, S. Setti, …, M. Liberti, F. Apollonio; 2017 URSI GASS, 2017; 10.23919/URSIGASS.2017.8105168
给出了外磁场实现的简单原理, 更重要的是给出了具体的模拟实例, 可用于测试.
-
“Molecular dynamics simulation of magnetic field influence on waxy crude oil”, Xuejiao Chen, Lei Hou, Wenchao Li, Shiyao Li, Yujie Chen; J. Mol. Liq. 249():1052-1059, 2018; 10.1016/j.molliq.2017.11.101
-
“Magnetic treatment of petroleum and its relation with asphaltene aggregation onset (an atomistic investigation)”, Mohammed H. Khalaf, G.ali Mansoori, Chin W. Yong; Journal of Petroleum Science and Engineering 176():926-933, 2019; 10.1016/j.petrol.2019.01.059
两个应用实例, 看看施加外磁场能做些什么.