|
本帖最后由 beefly 于 2020-2-25 10:57 编辑
1. 编译。
F90 -O3 g2c4.f90 -o g2c4.exe
根据所用的编译器,把F90改为gfortran,ifort,或者pgf90。
然后把g2c4.exe,以及scripts中的3个文件cfour.templet-*全部放入同一个目录下。例如:/home/Chemsoft/G2C4
2. 把scripts中run-cfour.sh放入Gaussian当前计算的目录下,修改run-cfour.sh。
第4行是MRCC可执行程序的路径,如果不需要MRCC的功能,不用写
6-13行是关于CFour的设置,比较重要的有:
第7行是CFour 2.x版可执行程序的路径。如果编译用了动态链接库(如mkl),还要把环境变量加上
第8行是CFour存储计算临时文件的位置
第10行是每次计算都把临时文件夹删除,以防CFour出现莫名其妙的错误。但是如果做restart计算,要把这行注释掉
第13行是CFour多核并行计算的核心数,对串行编译的CFour无效
15-28行是关于G2C4的设置,比较重要的有:
第16行g2c4dir指定第一步的程序路径
第19行指定CFour输入文件模板文件,见下一步
其余参数的一般不需要改。
3. 编辑CFour输入文件模板文件
作为示例,程序给了三个模板,分别是CFour的HF、CCSD计算和MRCC的CCSDT计算。用户也可以定义自己的计算类型,包括加上收敛参数、自定义基组等。
以cfour.templet-hf为例,模板文件有三个输入块,分别对应单点、解析梯度、解析频率计算,每个输入块内的结构都是一样的。
每个数据块内,首先是file_block区,这不是必须的。因为run-cfour.sh里没有定义CFour的基组文件GENBAS和赝势文件ECPDATA,就需要在这里定义。如果是restart计算,还可以定义其它的文件。
接下来calc_block区定义CFour的计算设置,也就是在CFour输入文件坐标之后的部分。以下四个关键词是必须出现的:
UNITS=1
COORDINATES=1
CHARGE={C}
MULT={M}
还可以定义REFERENCE={R},表示只考虑RHF和UHF两种REFERENCE,G2C4会根据自旋多重度自动设定;倘若用ROHF(或其它参考波函)就直接写REFERENCE=ROHF,不过这些参考波函支持的解析导数较少,需查看CFour手册。
解析梯度部分要有DERIV_LEVEL=1,解析频率部分要有VIB=ANALYTIC。如果某些方法没有解析梯度或解析频率,要删除相应的输入块,然后在Gaussian里指定数值梯度或数值频率(例如EOM在少数理论级别下能算激发态梯度,大部分理论级别下连梯度都没有)。不要直接用CFour算数值梯度和数值频率,否则很多数据找不到。
4. 把test中的Gaussian输入文件复制到run-cfour.sh同一目录下,把输入文件中的'G2C4/run-cfour.sh'改为'./run-cfour.sh',然后可以做测试计算。
|
|