lammps教程:minimize命令使用详解

进行lammps模拟,如果初始模型不合理、原子间距离过近,容易导致体系能量过高,原子速度过快致使原子飞出box。

前文介绍过“delete_atoms”命令可删除重叠或距离过近原子,但在大多数模型中,并不需要删除原子,有些模型也不允许删除原子,这时候就需要用到minimize命令。

1. minimize命令

minimize命令通过力的计算排开距离过近的原子,使体系的能量降到一个较低的水平,便于后续的弛豫操作。

minimize语法为:

minimize etol ftol maxiter maxeval

后面四个参数为minimize运行停止条件,其中etol、ftol分别为能量和力的容差,maxiter、maxeval为迭代最大步数。

在最小化过程中,达到四个条件中的任意一个时,最小化即停止运行。

力或者能量已经降低到一个较低水平,或者力或能量还没有降低到一个低值,但设定的迭代步数已经用完,都会停止最小化。

2. min_style命令

minimize最小化采用的算法由min_style命令确定,min_style语法为:

min_style style
style = cg or hftn or sd or quickmin or fire or fire/old or spin or spin/cg or spin/lbfgs

最常用的为共轭梯度法(cg)、最速下降法(sd)。

3. 使用举例

min_style cg
minimize 1.0e-4 1.0e-6 100 1000

如果已经进行了最小化,但是后续弛豫仍然会报错,可查看log文件,排查minimize运行停止的条件,适当调小能量和力的容差或者加大迭代步数。

如以上语句可改为:

min_style cg
minimize 1.0e-15 1.0e-15 10000 10000

mimimize可有效降低出错概率,是一个谁用谁知道,用了都说好的命令。

上一篇
下一篇