作者caseypie (吟游诗人)
看板Physics
标题Re: [问题] 人类有能力用电脑模拟找出新材料来吗
时间Thu Feb 17 17:03:35 2022
最後这篇来讲讲考虑到量子效应的动力学模拟方法
其实这讲法有点误导人,并不是像上一篇有推文提到的Lindbladian那样高级的东西
具体一点,我要讲的是ab initio molecular dynamics (AIMD)
也就是「完全」建立在量子力学结果上的MD模拟
各种量子模拟方法处理的问题都是:给定一个位能,求波函数
在计算化学里,这个位能通常来源是原子核的电荷和(有时还有磁矩)
在凝态物理和化学物理的大多数研究里,原子核被当成固定点
比如说,在量子物理课解氢原子的薛丁格方程时,氢原子核是一个处於原点的点电荷
也就是说,原子核并不具有量子效应
整个量子模拟仅仅关注电子们的量子效应,原子核们只是提供位能的背景
这个简化叫做Born-Oppenheimer approximation
BO近似把电子和原子核的区分开来,让AIMD能有一些相对简单的实践
主要步骤是:
(1)给定原子核分布
(2)依此原子核分布计算基态电子密度分布
(3)依此电子密度分布计算其作用於各原子核上的库仑力
(4)依此库仑力移动各原子核
(5)重复(2)(3)(4)
简单的说,就是on the fly用量子力学计算force field
这样的方法能达到古典有效力场达不到的细致和精确度
相应地,需要的计算资源和计算时间也变得相当恐怖
此外,由於电脑计算能力的发展
最近也开始有人尝试建立不依赖BO近似的AIMD
比如说ab initio Ehrenfest Dynamics
这里有一篇回答写得不错:
https://shorturl.at/vBEY8
以下就不特别依照什麽原则排序了,单纯想到什麽写什麽
6. 在MD开始大行其道的1980年代,Car和Parrinello对於力场这种有效模型相当不满
於是他们想到了--把DFT连上MD!
DFT计算给定原子位置的电荷密度分布,再由此计算各原子受力
这就是Car–Parrinello molecular dynamics (CPMD)
是第一个实际应用的AIMD方法
在此下载:
https://www.cpmd.org/wordpress/ (非营利用途免费)
事实上CPMD也不是每一步都计算一次DFT
而是让电子密度函数自己依照Kohn-Sham energy进行动力学演化
有个论证是说,由於CPMD的时间尺度小於1fs,所以电子密度的演化可能有些延迟
因此让电子密度自行演化反而更接近真实结果
但我个人认为纯粹就是1980年代的电脑太烂了,每步都算DFT会什麽都算不出来...
CPMD有一个变体是CP2K,采用了不同的电子密度演化模式
据说更接近原本每步都算DFT的初衷,现在的CPMD软体是采用CP2K演算法
7. Ehrenfest Dynamics:
这个我没做过,仅就我看过的资料随便讲讲
这个方法是基於所谓的Ehrenfest theorem
亦即重粒子的运动轨迹和动量的期望值和位能的期望值满足哈密顿力学
把动量和位置的期望值当成其古典值,就变成了一个MD方法
这个方法的步骤:
(1)根据原子核位置(的期望值,以下省略)写下Hamiltonian
(2)解时变薛丁格方程得一原子核和电子的波函数
(3)依此波函数计算位能期望值并求其对於原子核位置的梯度
(4)将此梯度当成对於原子核位置的作用力,依此移动原子核
(5)重复(1)到(4)
由於所需计算量极为巨大,解薛丁格方程一般使用最快速的Hatree-Fock方法
比起BO近似的AIMD,这个方法能够计算电子激发态和一些原子核的量子效应
例如在核磁共振实验里非常重要的Nuclear Overhauser effect
AIMD方法就是很慢,算不了大系统
但是「考虑量子效应的MD」这个点子实在太吸引人了,因此有不少曲线路径被提出来
以下讲两个有具体做出软体并应用的
8. Reactive force field
化学里最重要的量子效应是什麽?
其实不用想得太深奥,键结的断裂和重组就是个量子效应
在通用的MD力场里,键结是弹簧或长杆
那是不是只要允许这个弹簧或杆子可以被拉断就能模拟各种化学反应了?
这种键结能被打断/接上的力场就是reactive force field
目前唯一开发完成被足够广泛应用的这类力场是ReaxFF:
https://pubs.acs.org/doi/10.1021/jp004368u
所有键结都能断裂,号称能模拟任何化学反应
创始人非常用力推广,但接受度实在是不怎麽样
因为很多东西算不准!
这未必是这个想法根本上有问题,也有可能是实践上的瑕疵
比如说位能函数的形式不够好,或者电荷转移机制有问题,或参数没有调好
毕竟ReaxFF的开发人数远不能跟古典力场御三家CHARMM/AMBER/GROMACS相比
工程实践上有很多问题也是可以理解的
不过大者恒大也是计算科学的常态,ReaxFF恐怕没有证明自己的机会了
除了所有键结都能断裂的ReaxFF,有些人退而求其次只让自己有兴趣的键结断裂
最常见的是允许氢离子解离,也就是能模拟酸硷反应,模拟生化系统时很有用
比如说这个:
https://pubs.acs.org/doi/abs/10.1021/acs.jcim.7b00603
和这个:
https://aip.scitation.org/doi/10.1063/1.3688228
不过这些都只是一些实验室自己的小众工作
而且在这个年头在学术界做这些实在太吃力不讨好了
因为最近MD领域流行的东西是......
9. Machine learning force field
喜闻乐见地,任何领域都逃不过的机器学习也在MD轧上一角了
概念也如同其他机器学习应用一般简单粗暴:
力场说穿了不就是个函数,输入原子位置输出能量
这个能量可以来自古典有效模型,也可以来自DFT,那为什麽不能来自ML/DL函数?
於是有许多人喂各种ML模型CPMD的结果,训练出各种精确度不输CPMD的力场
一开始大家还用一些传统ML方法,比如Gaussian approx potential之类的
最近几乎无一例外都上深度神经网路了
目前许多人采用ANI-1cxx这个框架来训练自己的深度学习力场
https://roitberg.chem.ufl.edu/research/
现在还没有大家公认信服的通用力场,都是各自对自己的系统训练
机器学习力场的瓶颈是对资料量的需求
CPMD本身就很耗资源了,还要跑好多不同的模型好长的轨迹来搜集资料做训练...
目前机器学习力场在小分子和纯物质(例如纯水、碳奈管)取得很好的结果
在比较复杂的系统里(例如大分子溶液)的表现很差
键结重组等化学效应的结果也欠缺可迁移性--那我CPMD都算完了干嘛还要训练?
这些问题可以靠更大量的训练样本来解决,也可能靠一些拆分问题的巧思来解决
最近有一篇不错的Review:
https://doi.org/10.1021/acs.chemrev.0c01111
大概就这样了,我没什麽其他领域的东西可以讲了
如果你看到这里,有MD模拟的经验,对C/Python的程式能力有自信
也有兴趣继续做这方面工作(毕竟有程式经验的话刷题转码多好)
我公司(不是我的)正在招人:
https://www.htuobio.com
不要管网站上写的开缺,那个过期了
可以直接丢公司招聘信箱或私讯我
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 198.47.45.153 (加拿大)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Physics/M.1645088625.A.58D.html
1F:→ Eriri: 推学长 也推加拿大 老实说我也写过MD 课堂程度而已XD 02/17 17:23
2F:→ recorriendo: 推学长 02/18 14:26
3F:推 recorriendo: 补推 02/18 15:24
4F:推 contaminate: 这个缺base在那 02/20 19:19
5F:推 meblessme: 谢谢提供资料 02/20 22:55
6F:→ caseypie: 温哥华,可以讨论远端可行性 02/21 02:27
7F:推 ccchenUAB: 多谢分享 03/05 11:27