CP2K入门教程-7:使用NEB方法进行过渡态搜索
CP2K中可以使用NEB方法进行过渡态的搜索。
要使用NEB方法,首先在GLOBAL部分设置RUN_TYPE为BAND。然后,需要在MOTION部分设置NEB计算的参数。输入文件例子如下:
&MOTION
&BAND
NPROC_REP 32
BAND_TYPE IT-NEB
NUMBER_OF_REPLICA 6
K_SPRING 0.02
&CONVERGENCE_CONTROL
MAX_DR 0.01
MAX_FORCE 0.001
RMS_DR 0.02
RMS_FORCE 0.0005
&END
ROTATE_FRAMES F
&CI_NEB
NSTEPS_IT 5
&END
&OPTIMIZE_BAND
OPT_TYPE MD
# OPTIMIZE_END_POINTS F
OPTIMIZE_END_POINTS T
&MD
TIMESTEP 0.5
TEMPERATURE 500.0
MAX_STEPS 300
&VEL_CONTROL
ANNEALING 0.99
PROJ_VELOCITY_VERLET T
&END
&END
&END
&REPLICA
COORD_FILE_NAME ./1.xyz
&END
&REPLICA
COORD_FILE_NAME ./2.xyz
&END
&REPLICA
COORD_FILE_NAME ./3.xyz
&END
&REPLICA
COORD_FILE_NAME ./4.xyz
&END
&REPLICA
COORD_FILE_NAME ./5.xyz
&END
&REPLICA
COORD_FILE_NAME ./6.xyz
&END
&PROGRAM_RUN_INFO
&END
&CONVERGENCE_INFO
&END
&END BAND
&CONSTRAINT
&FIXED_ATOMS
LIST 1.. 4
LIST 12 .. 43
LIST 76..91
&END FIXED_ATOMS
&END CONSTRAINT
&END MOTION
对于以上输入文件中的参数,解释如下:
关键词
示例中的设置
解释
NPROC_REP
32
进行BAND计算时,每个REPLICA使用的CPU数目
BAND_TYPE
IT-NEB
BAND计算方法类型。有IT-NEB,CI-NEB,B-NEB,D-NEB,EB,SM等多种。推荐使用IT-NEB以及CI-NEB
NUMBER_OF_REPLICA
6
BAND计算中使用的REPLICA的总数目。REPLICA的数目越多,计算越准确。如果使用较少的REPLICA无法得到正确的结果,可以考虑增加REPLIA的数目。CP2K使用的CPU总数目为NUMBER_OF_REPLICA*NPROC_REP。在本例中,就是32*6=192
K_SPRING
0.02
BAND计算中使用的弹簧劲度系数。K_SPRING越大,NEB计算收敛越快,但计算不准确。K_SPING越小,计算收敛越慢,但计算较为准确。在初步计算中,可以将K_SPRING设置为0.08左右,然后再放松至0.02以获得精确结果。
评论