MOLCAS基本介绍
MOLCAS is a quantum chemistry software developed by scientists to be used by scientists (http://www.molcas.org/introduction.html) MOLCAS官网介绍部分的第一句话很好的说明了MOLCAS的定位。
MOLCAS最开始是Lund University的B.-O. Roos团队开发的多组态自洽场程序,其中CI的部分支持完全活性空间自洽场(CASSCF),以及限制性活性空间自洽场(RASSCF)。 一般来说多组态的方案可以给出定性可靠的结果,特别是对于近简并的体系,无论是基态还是激发态。 不过多组态方案无法获得动态的电子相关能,那时的MOLCAS也有MRCI模块来描述动态相关,但是一般是限定在小分子体系。
1988-1992年期间,B.-O. Roos的团队发展出CASPT2方法,使其大放异彩。这个标志性的CASPT2方法也被收录到MOLCAS-5的第二个版本里面。最开始的时候因为没有参照的结果不好确定CASPT2是否可靠,但是后来越来越多的结果表明CASPT2对于多种体系都有令人难以置信的准确度。(其实这个地方可以联想平衡构型下的MP2有很好的精度;活性空间选取合适后的CASPT2可以达到个平衡构型下MP2一样的精度) 这也使得CASPT2在激发态和波谱计算领域成为了几乎唯一的研究方法。直到现在CASPT2仍然是化学反应势能面计算以及光化学反应不可获取的研究工具。CASPT2也有多态的版本,可以基于态平均的多组态波函数计算多个电子态。 不过稍有遗憾的是CASPT2的解析梯度仍然没有完成(可以想象主要是写起来太太麻烦了,要基于CP-SAMCSCF;记得MOLCAS开发者会议的时候,好些参会人员提到这个问题),不过当前有并行效率很好的CASPT2数值梯度作为替代。
MOLCAS-7的一个重要更新就是对于双电子积分的处理,特别是基于Cholesky decomposition的处理技术。 说到这里,MOLCAS的Cholesky decomposition应该是量子化学软件里面速度最快的。 因为这类的积分近似技术可以简单认为是4指标缩减为3指标或者更低,不影响静电势、标量相对论校正等单电子积分部分的处理,有很好的普适性。 这部分的引入使得MOLCAS可以非常快速的执行SCF、CASSCF、CASPT2等等各种从头算。(毕竟双电子积分就是哈密顿的里面最为麻烦的电子电子作用项) 记得这个事情是当时Roland慧眼识珠,把当时默默无闻的Micheal(应该没记错就是这个名字,虽然他也是Lund出来的?)引进了过去。Thomas是很务实的,在开发者会议的时候也多次提到Roland对他的知遇之恩。
再后来就是MOCLAS-8.x的版本。这个版本最大的变化就是引入了DMRG、QMC等最新的多组态求解器。这两个求解器的引入使得MOLCAS可以处理的活性空间由16e16o扩展到40e40o(30左右时间以天计,40的话估计以周计了)。其中QMC应该是就Alivi的qmc,然后DMRG的话包含QCmaquis、block、CheMPS多个版本。这几个最早接入和功能最完善的是QCmaquis的DMRG的求解器,最早13年到15年我和Stefan、Sebastian的接口,最新还有Leon、Albtro升级版的结构以及我们合作的激发态梯度的功能。 预计最近也会有越来越多的应用使用到MOLCAS里面的DMRG模块。
其实这个版本开始,MOCLAS也有了MOLCAS和OpenMOLCAS之分。 邹老师在量子化学网上也解释过(http://www.quantumchemistry.net/content/openmolcas : OpenMOLCAS是遵守LGPL协议的开源MOLCAS代码部分,未经原作者授权的MOLCAS代码部分未包含在内。) 通俗来说的话,就是类似与RedHat Linux和CentOS的区别,或者说Debain和Ubuntu的区别。 OpenMOLCAS在gitlab上版本可以直接下载 https://gitlab.com/Molcas/OpenMolcas 。
与MOLPRO异同
说道这里的话 有人会问MOCLAS和MOLPRO均是主打多组态的计算软件包,然后这两个软件有什么区别和联系吗?
- 这里的话,我个人觉得MOLPRO的优势再是MCSCF(CASSCF、RASSCF等)的优化方案,一是收敛次数少于MOLCAS (macro远小于,micro远多于;不过总体还是快的,毕竟MOLPRO是WMK的收敛方案,轨道和组态可以以de-couple的方式couple到完全2阶),二是MOLPRO可以态平均处理不同不可约表示的多个电子态,而MOLCAS受限于CI求解器以及RASSCF的程序框架,仅能进行相同不可约表示下的电子态的求解。
- MOLPRO和MOLCAS好些程序模块是共用的,印象中有积分部分seward、还有构型优化的slapf(记起来Stefan跟我解释过瑞典语中slapf的意思,哈哈)
- MOLCAS的CASPT2优于MOLPRO;不过MOLPRO的MRCI部分优于MOLCAS (均指的你能想象到的各个方面,特别是速度)
- MOLPRO近年来跟ORCA均增加了很好基于PNO的局域电子相关方法,不过MOLCAS还没有类似的功能。
- MOLCAS的多组态下电子态能量梯度使用的是MCLR方案,而MOLPRO使用的是CPMC方案;其实两个本质上差不多,一个可以认为是分子轨道下的求解方案,一个更偏原子轨道。
- MOLCAS中对于DMRG的支持好于MOLPRO,主要是因为MOLCAS中的多组态自洽场为two-step的方案,很容易驳接DMRG、QMC、CI等不同的活性空间求解器。
MOLCAS安装
现在的量子化学软件,或者说新开发的软件均支持cmake安装了,所以基本ccmake调出来安装界面就可以了,比如可参考以下视频
MOLCAS运行
MOLCAS安装完以后,有多种方式可以将其配置到系统环境里面,比如
#MOLCAS/Maquis sa-solver export MOLCAS=/home/yingjin/Chem_Soft/MOLCAS_developing/VLeon/ source /home/yingjin/Chem_Soft/MOLCAS_developing/VLeon/qcmaquis/bin/qcmaquis.sh (如果安装QC-Maquis DMRG模块的话)
MOLCAS的环境配置也可以使用molcasrc文件 (一般以“.molcasrc”的形式存在于用户主目录,程序可以直接读取)
MOLCAS_MEM=10000 MOLCAS_WORKDIR=/scratch MOLCAS_NEW_WORKDIR=YES MOLCAS_KEEP_WORKDIR=YES MOLCAS_PROJECT=NAME
之后的话,采用pymolcas(实为python的提交脚本)的命令就可以提交molcas的计算任务,
如,
pymolcas -b 1 -f molcas-input.inp (-b 1 意思是缓存直接输出)
此外,直接键入pymolcas后键入回车,可以查看pymolcas支持的命令列表