进行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可有效降低出错概率,是一个谁用谁知道,用了都说好的命令。