计算化学公社
标题:
计算角度浅谈量子蒙特卡罗/洛(Quantum Monte Carlo, QMC)为什么重要
[打印本页]
作者Author:
qinken406
时间:
2025-4-12 00:15
标题:
计算角度浅谈量子蒙特卡罗/洛(Quantum Monte Carlo, QMC)为什么重要
本帖最后由 qinken406 于 2025-4-12 00:25 编辑
第一次发帖,搬运自我自己的回答,浅从计算角度讲一下我的理解。回答QMC方法的优势。
相比于DFT,DFT的计算体系可以很大,但是精度很难处理一些更细节的问题,比如范德华力、强关联等,这些都是依靠经验参数进行纠正,而QMC相当于直接计算,所以这些问题从理论上只要随机采样的sample的数量足够,那么取得的积分也更精确,那么这些问题也都可以得到高精度的结果。而分子轨道量子化学方法(MO),显而易见精度很高,但是因为计算成本问题,体系稍大一点就算不动了。
QMC方法的优势就是每个walker都是独立的MC随机采样,那么大规模并行的时候,节点之间的通信要求很低,所以scaling非常好,假如某个体系用Gaussian 做CCSD(T),可能4-5个节点基本上就没有加速了,而DFT如果集群之间的带宽很小,比如10Gbps,那20个节点左右可能就加速不明显了,100Gbps带宽下可能100个节点效率就很低了。而QMC的常用方法扩散蒙特卡洛(DMC)基本上可以保持线性加速比,上千个节点依然可以加速。(仅仅是举个例子,这里的节点数字都是凭印象,实际上的scaling 分析更复杂。)
所以在大部分的情况下,DFT都能适度的解决问题(可能占90%的科学问题),而MO方法能解决剩下的大部分问题,再剩下的问题(可能占1%的科学问题)就只能用QMC方法来解决,因为精度和体系只能靠集群的体量来解决,以我有限的所知比较典型的例子是QMC在解决范德华力主导的体系中作用很大,比如:
魔角石墨烯的超导问题;
分子晶体的问题;
DNA碱基分子;
...
举例来说,我们尝试过DNA碱基分子之间堆叠力非可加性的QMC计算和讨论,碱基之间的堆叠力很弱,堆叠力之间的非可加性差就更弱了,QMC能算出来,DFT基本算不出来非可加性,我们认为是DFT缺乏精确描述色散力项的问题。也就是说,计算堆叠力本身DFT是可接受的,但是再精细一点就发现精度是不够的,然而这个非可加性本身在大部分情况下可以忽略,所以常规使用DFT并没有什么问题。
那么QMC的方法的缺点也是有的,除了老生常谈的符号问题,其计算的局限性也很多,比如对自旋的处理困难、对Force计算困难、另外对大体系分子结构不能像MO方法一样分片处理等等,业界有很多人在积极解决,但是据我有限的了解(已经5年没有关注QMC了)尚没有公认的完美的突破。此外计算QMC一般需要超大规模超算,而且过程相对有一点复杂,需要从其他自洽场方法先做个trial WaveFunction,再用VMC 优化,再求DMC,(简略过程,还需要其他的优化步骤),如此反复,每一次的成本都很高,所以Community真的很小。
QMC的终极目标可能是全组态QMC(FCI-QMC),而QMC的发展注定要伴随AI,我了解的是北京大学陈基老师和字节跳动公司合作开发的
Neural network based quantum Monte Carlo等等。
补充一个QMC发展的PPT,送给对QMC方法感兴趣的小伙伴。
LuxembourgDMC2.pdf
附:常用的计算软件包括:
QMCPack,
Home | QMCPACK
Casino,
QMC and the CASINO program | Quantum Monte Carlo
Turb-RVB,
Welcome to our TurboRVB website — TurboRVB website Updated on 03/09/2024 documentation
Qwalk,
QWalk
CHAMP,
CHAMP | TREX
mVMC,
Samples | mVMC
QMCSGF,
GitHub - galanakis/QMCSGF: Quantum Monte Carlo for bosons based on the Stochastic Green Function Algorithm
ALF,
gitpages.physik.uni-wuerzburg.de/ALF/ALF_Webpage/
(AF-QMC)
ALPS,
About – ALPS - Algorithms and Libraries for Physics Simulations
DCA++,
github.com
DSQSS,
github.com
...。
这些软件的官方网站上都会挂有一些利用QMC已经解决的代表性的问题。如果有小伙伴想要使用QMC方法解决实际问题,个人推荐QMCPack,该软件使用C++开发,开发社区相对比较活跃,对GPU和超大规模并行的支持更好,功能也比较完整,也支持利用python nexus 脚本进行调用。但是由于使用较高版本的C++,并且依赖多,编译和安装的难度比较高。
QMCPACK是一款完全开源且公开开发的量子蒙特卡洛(QMC)软件包。该软件旨在实现最先进的QMC方法,具备广泛适用性、易用性,并在所有现代计算机上表现出色。支持:
基于轨道的AFQMC方法
实空间变分量子蒙特卡洛(VMC)
和扩散量子蒙特卡洛(DMC)
作者Author:
sobereva
时间:
2025-4-12 00:31
在QMC的精度范畴,DFT就没有可比性了。DNA碱基分子这种相互作用能高精度计算,当体系达到CCSD(T)算不动的情况,如今人们一般会倾向于基于局域相关的耦合簇,诸如LNO-CCSD(T),留给QMC的市场极小。PS:DMC和CCSD(T)算弱相互作用的精度和差异问题近期有很多讨论,哪个更准不一定:J. Chem. Theory Comput., 21, 2311–2324 (2025)、J. Chem. Phys. 162, 144107 (2025)、J. Chem. Phys. 162, 114112 (2025)。
对于分子体系,在我来看QMC比较有实用性的是很高精度计算静态相关很强的体系不很大(QMC也算不动)又不很小(无法用得动CCSDT甚至到Q)而且多参考方法也不好算(活性空间不好定义、或者超过了能考虑的活性空间上限)的情况。但其实这种情况的市场也很小。一个比较典型的QMC适合的应用场景是计算C20富勒烯、碗状C20和C20碳环之间的异构化能这种问题(J. Phys. Mater. 3 (2020) 025006)。
作者Author:
qinken406
时间:
2025-4-12 14:20
是的,非常感谢Sobereva 老师的补充,可能这也是讨论QMC方法比较少的原因。
但是根据这个讨论我想到之前和我导师讨论过的一个问题:
【是否可以通过FMO分片来增加QMC解决大体系的问题。例如Physical Chemistry Chemical Physics 23:26, pages 14308-14314 这篇文章那样做的】
我英语日语都不好,可能没理解到位。
我记得主要是QMC的轨道分解会引起误差累积,而QMC的统计学误差是相互叠加而难以从增加样本来消除,而这样就失去了QMC的优势。
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3