详细内容

LAMMPS讲解70-GARFfield基本使用

GARFfield的使用采用以下命令

mpirun -n p garffield <GeoFile> <ForceFieldFile> <TrainSetFile> <ParamsFile> [Options]

garffield是编译好的可执行文件,可能是其他名字,具体查看自己编译好的文件。使用GARFfield需要准备几个输入文件。

第一个是几何文件GeoFile。下面是GeoFile的一个示例截图。

image.png 

反应力场的开发过程需要对比设定分子中某一项相互作用的能量的ReaxFF计算值和DFT的计算值,由此计算误差函数并调整力场参数,使得两个能量尽可能的接近。某一项相互作用的能量是一个包含两列数据的列表,第一列是参数变化,第二列是能量。比如要对比键能,第一列就是不同键长值,第二列就是分子的能量;再比如二面角能,第一列就是不同二面角值,第二列就是分子的能量。为了在ReaxFF下计算不同力场参数下的分子能量,我们需要向软件提供不同键长,键角,二面角等值时的分子中的原子坐标。而GeoFile文件就是提供这一作用。在软件中会将GeoFile文件转换为data文件,从而利用LAMMPS计算能量。反应力场的开发流程简单的说就是对比DFTReaxFF计算的能量。如果不满足误差要求就调整力场参数,然后计算新的力场参数下的ReaxFF能量并与DFT进行对比,如果还不满足误差要求,就重复这一过程直到有ReaxFF计算的能量与DFT计算的能量满足误差要求。开发流程如下图所示

image.png

 

ReaxFF力场开发的基本流程

对于GARFfield软件如果你直接提供了一些列data文件那么GeoFile可以不提供。

GARFfield需要提供的第二个文件就是力场文件。为了让GARFfield识别你在开发ReaxFF力场,你的力场文件的第一行要以“Reactive”这个词开头。首先你需要准备一个满足最后要输出的力场文件的格式,包括所有的参数。这些参数必须具有初始值。也就是说必须提供一个完整的力场文件,而力场文件中的参数要尽可能的接近最后要输出的参数。通常开发反应力场并不是从零开始,而是在前人的力场基础上进行开发。所以首先找一个和目标力场尽可能接近的已有力场文件。调整力场文件中元素个数和参数值使其格式与目标力场一致。由此力场文件就准备好了。在准备力场文件的时候,可以将已有的力场文件进行删减增改。也可以把几个不同的力场文件进行组合。要尽可能准确的找到目标力场中的所有参数。如果实在找不到了就用化学性质相似的元素或者键结形式相似的参数进行替代。

第三个需要提供的文件就是训练集文件TrainSetFile。训练集文件可以包含很多选项。最常见的选项就是能量项。通常ReaxFF力场开发是逐步进行的。一次训练会包含一个能量选项或其他选项。支持ReaxFF的选项包括

其中,Key对应结构文件名。该文件名在GeoFile中设定,或者是LAMMPSdata.Key文件。weight是权重,其可以用在每个部分或每一条输入中,权重用来计算该条选项在总的误差中的加权和。op是数学符号+-Value是从量子力学或实验中得到的参考值。当你不显示指定一个部分的权重时,它会默认为1,或者利用-W选项来是的GARFfield随机产生。所有涉及到的单位都和LAMMPS中的real单位系统一致。括号中的字母表示每个参数的数据类型,i=integerf=reala=ASCII,这些字母不出现在实际的输入中。()表示可能重复的输入。

CHARGE部分用来优化ReaxFF中原子电荷平衡参数,包括电负性,硬度,和半径(electronegativityhardnessradius)。

STRESS部分相对于一个没有应力的周期性元胞用来优化力场参数

PRESSURE部分相对于一个周期性元胞压强标量或者张量分量来优化力场参数

STSTRAIN部分相对于一系列应力张量分量来优化力场参数,也就是对角分量(xxyyzz)和非对角分量(xyxzyz)。同一个权重会被用于所有的张量分量。

ATOM_FORCE部分使用原子受力来优化力场参数,通常这会提高力场的精度和可迁移性,即加入了能量梯度。

CELL_PARAMETERS部分相对于周期性元胞晶格参数来优化力场参数

GEOMETRY部分相对于几何特征如键长,键角,二面角来优化力场参数

ENERGY部分相对于能量差来优化力场参数。

第四个要提供的文件是参数文件ParamsFile。参数文件确定哪些力场参数会被GARFfield优化。一行代表一个参数,可以有多行来设定多个参数。每一行的格式为

Section Entry Parameter 0.0 Low High (i,i,i,f,f,f)

当在命令行中使用-i range选项时,每一个参数都会有一个优化范围,即介于LowHigh之间。当我们提供的初始力场文件中参数是可接受的,那么GARFfield也提供另一种格式来优化参数,即提供参数的平均值和±百分比浮动来探索力场参数。此时每一行的格式变为

Section Entry Parameter 2.0 Mean %Offset (i,i,i,f,f,f)

其中Mean的值直接来自力场文件,%Offset来自参数文件。此时每一行中的第四个值要小于等于2.0

第五个可选提供的是约束文件RestrainFile。在开发反应力场时,计入反应物,产物和过渡态是有用的。由于GARFfield通过所选择的力场引擎来进行几何优化,因此必须采用相应的约束来使得结构不会偏离想要的反应路径。约束可以是两个原子之间的距离,三个原子时间的角度以及四个原子之间的二面角。在RestrainFile中定义这些约束的格式是

RESTRAINT Key Keyword args

其中,Key为在GeoFile文件中的结构文件名,Keyword可以是BONDANGLETORSIONBOND argsparticle1 particle2 Kstart Kstop r0particle1particle2为键中的两个原子编号,KstartKstop为起始和结束约束参数(能量单位),r0是平衡键长(距离单位)。ANGLE args = particle1 particle2 particle3 Kstart Kstop θ0particle1particle2particle3为键角中的三个原子编号,particle2是那个中间的原子,KstartKstop为起始和结束约束参数(能量单位),θ0是平衡键角(度),TORSION args = particle1 particle2 particle3 particle4 Kstart Kstop Ф0particleparticle2particle3particle4为二面角中的原子编号,KstartKstop为起始和结束约束参数(能量单位),Ф0是平衡二面角(度)

GARFfield会自动检测并将RestrainFile用作命令行中的第五个参数。当使用bgf格式的GeoFile是,可以直接通过RESTRAIN关键词直接描述约束,这样就不用提供一个单独的RestrainFile了。

GARFfield的输出信息:

GARFfield开始的时候,它会向终端输出以下信息:默认设置以及对默认设置的修改;优化开始前对ForceFieldFileGeoFileTrainSetFileParamsFile的读取信息;每个迭代的总误差。除此之外,GARFfield还会输出以下文件:

Force Field parametersffield.best包含每次run结束之后最优的力场参数,其余初始力场文件的格式一样。ForceFieldFile.original对应初始力场文件,每个GA迭代中间力场文件ffield.new。如果使用命令选项-w,那么,还写入了一个 ffeld.restart 文件,该文件对应于在最后一次 GA 报告迭代之前评估的最佳参数(重启的频率通过-r选项控制)

误差信息:trainset.err.best文件写入了从TrainSetFile ffeld.best对比获得的误差值。train-set.err.initial文件中写入了从ForceFieldFile.original文件和 TrainSetFile对比获得的错误值。这些文件遵循原始TrainSetFile的格式,除了额外的几列,即力场值、每个条目的计算加权误差和总累积加权误差。

调试信息:GARFfield会写入两级调试信息,这些信息会输出到终端中或者logfile中(如果使用了-l选项),调试的写出受命令行中-d选项的控制。

重启:在GARFfield中提供了两个重启选项。第一个是使用命令行中-R选项来从最佳累积力场(即mutated variants of the seed, with mutation probability at 0.5)产生新的population reseeded进行周期性的重启。第二个是-w BestForceField选项来周期性的写出最佳的力场,该力场可以作为输入文件来重启优化。第二个选项在需要多个优化过程时会很有用。第一个选项在初始力场比较合理时推荐使用,此时可以设置重启频率为一个较大的值。

在并行过程中还会输出一些中间文件,这些文件在运行结束后会被删除。

 

 

感谢鲍路瑶老师的分享,内容来自于鲍老师分享出来的资料

如有需要添加微信:lmp_zhushou  进入微信群,帮助他人,共建社区

获取完整版lammps讲义可以加微信lmp_zhushou或加入QQ994359511


最新评论
请先登录才能进行回复登录
技术支持: CLOUD | 管理登录
seo seo