|
本帖最后由 beefly 于 2018-10-28 07:28 编辑
LDA+U(以及GGA+U)方法可以处理强关联体系,其中的U、J参数一般来自实验值拟合,或者文献给出的类似体系参数。2007年,Mosey和Carter提出在UHF级别估算U、J参数,并公布了程序源代码。AIDFT-U程序(也叫GAMESS-UJ)以及使用手册的最新下载网址是:https://github.com/EACcodes/AIDFT-U/ 。
由于AIDFT-U所基于的GAMESS 2006-Feb(R5)版已经很难找到,我把它移植到GAMESS 2009-May(R3)版。之所以未采用新一点的版本,是因为GAMESS从2010版开始,scflib.src文件中的UHF代码结构完全变了,修改比较麻烦。我做的另一处修改是把AIDFT-U的独立输入文件OrbsAA中的参数直接写到GAMESS输入文件里。所有修改的部分放在
这样的结构里,很容易搜索。
简短的用法
1,到http://bbs.keinsci.com/thread-727-1-2.html 下载GAMESS 2009-May(R3)版源代码,以及下载附件中的AIDFT-U源代码(也就是针对该版本修改后的GAMESS源代码)。
2,解压缩,用修改后的GAMESS源代码覆盖gamess/source/中的文件。
3,编译GAMESS。
4,运行附件中的算例。AIDFT-U的关键词在GAMESS输入文件的namelist $OrbsAA中指定,共有三个,IDFrst,IDLast,PopThr(也就是原程序的OrbsAA文件中的三个参数,见手册第三页),分别表示给定原子的(收缩)d基函数起始编号和终止编号,以及布居分析的阈值。由于Mulliken布居分析的结果对基组比较敏感,IDFrst—IDLast尽量避开弥散函数。PopThr不输入的话默认是0;对于较大的模型体系,适当增加PopThr(如5.0e-3)可以节省计算时间。
5,在输出文件的末尾找到U、J的结果,可以用来做LDA+U计算。
输入文件的详细解释,见GAMESS的使用手册。更多细节(例如,如何构建带有点电荷的团簇模型),参见AIDFT-U程序手册以及其中的两篇参考文献。
已知问题
1,ENERGY COMPONENTS部分输出的各种能量都是错的,不要使用。(我个人不喜欢这种粗暴的改代码风格)
2,AIDFT-U仅支持d区过渡元素。不要用于主族元素和f区过渡元素。
|
评分 Rate
-
查看全部评分 View all ratings
|