| 查看: 664 | 回复: 1 | |||
| 【奖励】 本帖被评价1次,作者beefly增加金币 1 个 | |||
| 当前主题已经存档。 | |||
[资源]
【beefly个人文集】在Windows下编译从头计算程序CFour(ACES II)
|
|||
|
(一)为什么用CFour CFour是从头计算ACES II-MAB程序的升级版。CFour的优势有: 1. 不花钱的。 2. 对于非Pople型基组(也即,一般收缩基组,如ANO、cc-pVnZ),双电子积分的计算速度比Gaussian快几倍至十几倍。 (不过,比Molcas和Molpro程序的seward模块还是稍慢) 3. Post-HF计算比Gaussian快得多。最近帮了一个朋友。由于计算条件的限制,他用Gaussian最高只做到MP2/6-311++G**级别的计算。换用CFour以后,同样的体系和基组,CCSD(T)十几分钟就算完了,让他很惊讶。 (再一个不过:对于单点能计算,Molpro程序的CCSD/CCSD(T)更快) 4. 大量的高级Post-HF方法。除了没有SAC-CI(一种EOM-CCSD的变体),以及较少用到的MP5、QCISD(TQ)方法外,比Gaussian、Molpro中的Post-HF方法多很多。 5. 独一无二的功能:CCSD(T)的解析梯度和解析频率,因此做结构优化和振动频率计算要比Gaussian和Molpro程序的数值方法都快得多。此外,还能产生CCSD(T)级别的电子密度,用来进行特性分析。 6. 大量的特性计算。 7. 等等。 就像学习一门语言一样,掌握一个新的程序不是坏事,特别是当你对G**W的速度难以忍受的情况下。为了帮上面那位朋友熟悉CFour的使用,本人最近把CFour移植到了Windows。 (二)在Windows下编译CFour 1. 准备工作。 1) 安装MinGW+MSYS+gcc+g95或者MinGW+MSYS+gcc4.4(含gFortran)。 前一种搭配,gcc版本不限,3.x和4.x都可以。后一种搭配的gcc不要用旧版本,因为gFortran对cpp预编译的支持有问题。 程序的先后顺序就是安装的顺序,具体安装方法可以到网上找。注意:必须下载安装MSYS的coreutils基本包,把其中子目录的文件直接覆盖到MinGW的主目录下。其中的test.exe是必需的,否则做非单点能计算时会出错。另一个可能有用的是nohup.exe,可用来在后台运行作业。 2) 申请和获取CFour源代码,需要寄信或发传真。见主页:http://www.cfour.de/ 3) 另外准备一台装有Linux的计算机,备用。两台机器最好都是x86,x86-64或ia64。在同一台计算机装了双系统或Cygwin也可以。 2. 在MinGW/include/sys/stat.h找到 #define S_IWUSR _S_IWUSR #define S_IRUSR _S_IRUSR 在后面加上: #define S_IRGRP (S_IRUSR >> 3) #define S_IWGRP (S_IWUSR >> 3) 或 #define S_IRGRP 0000040 /* read permission, group */ #define S_IWGRP 0000020 /* write permission, group */ 分别是从Linux-IA32和Cygwin复制来的,我没发现有什么区别。 3. 解压缩CFour;运行CFour根目录下的configure,然后修改产生的make.config文件。 1) 把 FC:=g77 改为 FC:=g95 或 FC:=gfortran 2) 找到“#Fortran flags”下面的 fcflags:=...... 改为 fcflags:=-O2 -cpp -ffixed-line-length-132 如果用g95编译器,还要再加上 -fsloppy-char -ftrace=full 分别表示:优化;预处理;固定格式用132列(不是默认的72列);整型和字符型变量互相转换;堆栈回溯。 如果是64位计算机,还要为fcflags加上其他参数。运行“configure -h”可以找到。 3. 把librlinux下的文件全部复制到libr。 4. 把vprop目录改名;把vprop_linux目录改名为vprop。 5. 编辑joda\title.f文件。找到 istat=ishell('date > when') 替换为 istat=ishell('/mingw/bin/date > when') (也可以不改,但是每次运行必须额外输入一个回车,因此无法自动做批处理。) 6. 运行make。当提示缺少某些.h文件时,到linux或cygwin的/usr/include及其子目录下去找,并复制到MinGW/include目录相应的位置。 推荐从linux复制.h文件,因为需要的文件比较少。我只用到四个: MinGW/include/features.h MinGW/include/sys/cdefs.h MinGW/include/sys/times.h MinGW/include/gnu/stubs.h 7. 其它可能遇到的问题: 1) 编译libr/etime.c时,若显示未定义FC_FUNC,需要在CFOUR根目录下的config.h加入: #define FC_FUNC(name,NAME) name ## _ 2) 装了gcc 4.4后,若出现乱码,可以在msys\1.0\etc\profile文件中加入: export PS1='[\u@msys \W]$ ' export PS2='> ' export PS4='+ ' export LANG=en alias l='/bin/ls --show-control-chars --color=tty' alias la='/bin/ls -aF --show-control-chars --color=tty' alias ll='/bin/ls -alF --show-control-chars --color=tty' alias ls='/bin/ls --show-control-chars -F --color=tty' 3) 如果用gFortran编译器,会报告cpdens\xcpdens.f90的多处write语句有语法错误。需要把write的第二个参数都改为*。 4) 输入不认,或者输出文件不分行。这是文本格式的问题。CFOUR只接受UNIX格式,不能用默认的DOS格式。建议用UltraEdit或免费的Crimson Editor编辑器读写输入输出文件。也可以用免费的PSPad,但缺点是图标的颜色都差不多,找起来很费劲,而且打开1MB以上文件时会很慢。 (三)小提示 1. 加快post-HF计算的速度。有以下选择: 1) 加入选项ABCDTYPE=AOBASIS 2) 对于耦合簇计算,用CC_PROGRAM=ECC,调用实验性的耦合簇代码。 3) 用DROPMO指定动芯。和大多数从头计算程序不同,CFOUR默认不用冻芯,而且也没有库存的默认冻芯设置,必须自己指定。 不用冻芯并不意味着结果更准确,因为一般情况下,芯轨道(半芯轨道除外)的相关能影响很小。而且,只有专门优化过的基组才能准确考虑芯电子级别的相关能。 不用冻芯的话,删掉DROPMO就可以,千万不要用DROPMO=0或NONE,否则会得到错误的能量! 以上选项只能用于部分计算方法,有些情况下无法搭配使用,若出现错误,请仔细阅读输出文件的提示信息。 2. 输入格式。说实话,虽然最新版本做了不少改进,但输入格式还不够完善。如果你套用Gaussian、Molpro等程序中约定俗成的习惯,很可能遇到不知名的错误。根据CFour版本的不同,建议遵循以下习惯: 1) 坐标和基组定义部分的元素符号一律用大写 2) 除了restart文件名、基组名、第一行的标题外,所有输入命令一律用大写 3) Z矩阵第一列不能是空格,也不能连用两个空格 4) 不同的关键词只能用逗号或换行隔开,不能用空格。逗号和换行不可连用,也就是说,行尾不能是空格 5) 输入文件最后需要至少两个空行 3. 验证HF结果的可靠性。 CFOUR(包括早期版本的ACES II)有个缺陷,在计算过渡金属体系,或者使用了3-zeta以上的大基组时,经常会得到错误的HF结果。当然此后的post-HF计算当然也就不对了。错误的征兆可能反映在: 1) HF不收敛; 2) HF打印的HOMO、LUMO、芯轨道等轨道能量不合理; 3) 若使用的点群不是分子最高对称性,HF轨道的FULLSYM和COMPSYM不可约表示可能不符合对称关系(如线形分子Delta轨道,在FULLSYM可能会错误地显示为两个SG+); 个别情况下,可能任何特征也没有,但HF却是错的。 解决方法是加入选项: SCF_EXPSTART=6,SCF_EXPORDER=8,SCF_DAMP=500 个别情况下,SCF_DAMP还需要改为600、700等。但即便如此,也不能保证HF就是对的。 遇到上述体系,最好用其他从头算程序,用同样的基组对同样的结构,在HF级别做个单点计算进行验证。 [ Last edited by yjcmwgk on 2010-6-16 at 21:37 ] |
» 收录本帖的淘帖专辑推荐
有用 |
» 猜你喜欢
华南师范大学先进光电子研究院电子纸团队诚聘2026级博士研究生
已经有0人回复
QE利用声子计算的一系列lambda和Tc如何选
已经有8人回复
物理化学论文润色/翻译怎么收费?
已经有134人回复
理论计算合作
已经有2人回复
小木虫的论文辅导靠谱吗?有没有用过的同学?
已经有1人回复
QE计算声子ph.out的Γ点出现虚频(-30cm-1)vasp计算没有
已经有0人回复
40-50万/年,中国散裂中子源诚聘计算模拟方向博士后
已经有81人回复
2026博士申请—化学能源方向,本人熟练分子动力学模拟的使用
已经有4人回复
请问四氢呋喃溶解的聚合物用甲醇沉淀时,如何使沉淀过程加速?
已经有2人回复
书籍求助:汽车市场营销理论与实务(电子版)——章小平
已经有0人回复
七嗪类物质合成求助
已经有0人回复
» 本主题相关商家推荐: (我也要在这里推广)
2楼2009-10-20 14:43:27














回复此楼
