CP2K入门教程-6:多重度计算
当体系中有多个不成对电子的时候,计算的时候就需要考虑多重度问题。此时,计算必须是自旋非限制的,即使用LSD或者UKS参数。多重度的计算有两种方案。
第一种方案是手工指定多重度,使用MUTIPLICITY关键词设定多重度。这种方法最为简单可靠,但如果体系自旋多重度的可能性很多,就需要进行多次计算。
第二种方案是自动进行多重度的猜测,使用RELAX_MULTIPLICITY关键词。类似的方法在Dmol3程序中也有实现。下面是使用这种方法进行计算使用的输入文件:
&DFT
LSD
BASIS_SET_FILE_NAME ./BASIS_MOLOPT
POTENTIAL_FILE_NAME ./rr_pot
WFN_RESTART_FILE_NAME ./cp2k-RESTART.wfn
CHARGE 0
RELAX_MULTIP 0.001
&MGRID
CUTOFF 300
&END MGRID
&QS
EPS_DEFAULT 1.0E-14
WF_INTERPOLATION ASPC
EXTRAPOLATION_ORDER 3
&END QS
&SCF
ADDED_MOS 50 50
EPS_SCF 5.0E-7
SCF_GUESS RESTART
MAX_SCF 200
CHOLESKY INVERSE
&DIAGONALIZATION
ALGORITHM STANDARD
&END DIAGONALIZATION
&MIXING
METHOD BROYDEN_MIXING
ALPHA 0.1
BETA 1.5
NBROYDEN 8
&END MIXING
&OUTER_SCF ON
MAX_SCF 5
EPS_SCF 1.0E-6
&END OUTER_SCF
&RESTART
&EACH
QS_SCF 100
&END EACH
ADD_LAST NUMERIC
&END RESTART
&END PRINT
&END SCF
&XC
&XC_FUNCTIONAL PBE
&END XC_FUNCTIONAL
&END XC
&END DFT
使用这种方法,需要注意以下几点:
-
必须使用自旋非限制计算,即开启UKS或者LSD。
-
必须使用对角化方法,不能使用OT算法。由于使用对角化方法,也必须使用ADDED_MOS参数。
-
不能使用SMEAR方法。
-
RELAX_MULTIP 设置为大于0的值,就开启自旋优化模式。设置的值越大,自旋翻转发生的概率越大。
综上,尽管这种方法看似很诱人,但在使用中很受限制。
评论(3)