注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

zevan的博客

悟以往之不谏,知来者之可追

 
 
 

日志

 
 
关于我

Debian GNU/Linux user Vegetarian Seventh-Day Adventist

CP2K入门教程-5:使用CP2K进行几何优化计算  

2014-11-14 20:17:48|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

要使用CP2K进行几何优化计算,需要设置GLOBAL 部分的RUN_TYPEGEO_OPT

&GLOBAL

PROJECT CP2K

RUN_TYPE GEO_OPT

&END GLOBAL

几何优化的种类有两种,一种是正常的能量极小化优化,一种是使用dimer算法进行过渡态优化。默认为能量极小化计算。下面将分别介绍这两种计算的输入文件。

3.3.1 能量极小化计算

使用CP2K进行常规的几何优化,关键输入文件如下:

&MOTION

&GEO_OPT

TYPE MINIMIZATION

MAX_ITER 400

OPTIMIZER LBFGS

MAX_FORCE 4.0E-4

&END GEO_OPT

&END MOTION

需要注意的是,几何优化有三种算法,分别是CGBFGSLBFGS。其中,CG算法是最稳定的算法,但计算速度相对较慢;BFGS算法效率最高,计算中需要对Hessian矩阵进行对角化,如果初始结构不合理,BFGS算法容易出问题;LBFGS算法效率和BFGS类似,同时稳定性也很好。对于一般的几何优化,推荐使用LBFGS算法。

如果在几何优化过程中需要固定部分原子,可以在MOTION部分启用CONSTRAINT选项。例子如下:

&CONSTRAINT

&FIXED_ATOMS

LIST 1 2 3 4

LIST 12 .. 43

LIST 76..91

&END FIXED_ATOMS

&END CONSTRAINT


3.3.2 使用Dimer算法进行过渡态优化

使用Dimer算法进行过渡态优化的关键输入文件如下:

&MOTION

&GEO_OPT

TYPE TRANSITION_STATE

MAX_ITER 400

OPTIMIZER CG

MAX_FORCE 4.5E-4

&CG

&LINE_SEARCH

TYPE 2PNT

&END LINE_SEARCH

&END CG

&TRANSITION_STATE

METHOD DIMER

&DIMER

DR 0.01

ANGLE_TOLERANCE [deg] 4.0

INTERPOLATE_GRADIENT

&ROT_OPT

OPTIMIZER CG

MAX_ITER 10

#Loose these value. Just for faster converge.

MAX_DR 3.0E-3

MAX_FORCE 4.5E-4

&CG

# MAX_STEEP_STEPS 15

&LINE_SEARCH

TYPE 2PNT

&END LINE_SEARCH

&END CG

&END ROT_OPT

&END DIMER

&END TRANSITION_STATE

&END GEO_OPT

&END MOTION

注意,使用dimer方法进行过渡态搜索计算时,只能使用CG优化算法,不能用BFGS或者LBFGS

使用dimer方法进行计算的时候,可以手工给定初始的Dimer VectorDimer Vector应该是指向过渡态方向的一个多维向量,使dimer方法在进行过渡态搜寻的时候沿着该方向进行搜索,可以提高搜索的效率。如果没有给定初始Dimer VectorCP2K程序中会随机设定一个初始的搜索方向。

要理解dimer算法中的各种参数的含义,请参考

Henkelman, G; Jonsson, H. JOURNAL OF CHEMICAL PHYSICS, 111 (15), 7010-7022 (1999). http://dx.doi.org/10.1063/1.480097

A dimer method for finding saddle points on high dimensional potential surfaces using only first derivatives.

3.4 非周期性体系的计算

要使用CP2K对团簇等非周期性体系进行计算,需要额外进行一些设置:

首先,%FORCE_EVAL%DFTPOISSON部分要进行设置

&POISSON

PERIODIC none

POISSON_SOLVER wavelet

&END POISSON

如果使用MT作为POISSON_SOLVER,则设置为:

&POISSON

PERIODIC NONE

POISSON_SOLVER MT

&MT

ALPHA 7.0

REL_CUTOFF 1.2

&END MT

&END POISSON

对于周期性计算,POISSON_SOLVER设置为PERIODIC;对于非周期性计算,可以设置为MT或者 WAVELET,两者略有不同。如果设置为MT,要保证计算使用的单胞体积足够大,至少是电荷密度的两倍。如果设置为WAVELET,不需要设置非常大的单胞,但分子必须处于单胞的中心,确保单胞的边界处电子密度为0。可以使用TOPOLOGY参数来强制将分子置于单胞的中心。

&TOPOLOGY

&CENTER_COORDINATES

&END CENTER_COORDINATES

&END TOPOLOGY

此外,CELL部分周期性也要设置为NONE

&CELL

ABC 20.0 20.0 20.0

PERIODIC NONE

&END CELL

3.5 使用CP2K进行晶胞参数的优化

CP2K可以对晶体的晶胞参数进行直接优化。

首先,GLOBAL部分需要设置RUN_TYPECELL_OPT

&GLOBAL

PROJECT cp2k

RUN_TYPE CELL_OPT

PRINT_LEVEL MEDIUM

&END GLOBAL

然后,在MOTION部分需要设置CELL_OPT的参数

&CELL_OPT

TYPE GEO_OPT

OPTIMIZER CG

MAX_ITER 200

EXTERNAL_PRESSURE 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0

PRESSURE_TOLERANCE 0.1

KEEP_ANGLES

KEEP_SYMMETRY

&CG

&LINE_SEARCH

TYPE 2PNT

&2PNT

&END 2PNT

&END LINE_SEARCH

&END CG

&END CELL_OPT

&GEO_OPT

MAX_ITER 400

OPTIMIZER LBFGS

MAX_FORCE 4.0E-4

&END GEO_OPT

此外,在FORCE_EVAL部分需要设置STRESS_TENSOR的计算方法为ANALYTICAL。如果晶胞本身有特定的对称性,可以在CELL部分增加晶胞的对称性限制(SYMMETRY)。

更多细节可以参考CP2K源码包中的tests/QS/regtest-gpw-4/cell-1.inp文件。

  评论这张
 
阅读(1367)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018