yafanzhao

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

&PRINT

&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


使用这种方法,需要注意以下几点:

  1. 必须使用自旋非限制计算,即开启UKS或者LSD。

  2. 必须使用对角化方法,不能使用OT算法。由于使用对角化方法,也必须使用ADDED_MOS参数。

  3. 不能使用SMEAR方法。

  4. RELAX_MULTIP 设置为大于0的值,就开启自旋优化模式。设置的值越大,自旋翻转发生的概率越大。

综上,尽管这种方法看似很诱人,但在使用中很受限制。

评论(3)

热度(14)

  1. 共1人收藏了此文字
只展示最近三个月数据