Relaxation using Machine learning Potential

I recently developed a NNP potential for MD simulation. Each time i try to relax my
system, with the hope that the stopping criterion will be the force threshold, it is rather satisfied by ’ linesearch alpha is zero’ as shown below:

Minimization stats:
Stopping criterion = linesearch alpha is zero
Energy initial, next-to-last, final =
-42579.9975264318 -42579.9975264318 -42579.9975264318
Force two-norm initial, final = 0.051044063 0.051044063
Force max component initial, final = 0.047369549 0.047369549
Final line search alpha, max atom move = 2.5769786e-06 1.2207031e-07
Iterations, force evaluations = 1 27

How do i ensure that the force_threshold satisfies the stopping criterion or that the force max goes to 10e-4 instead of 10e-2. The script i used is as shown below:

dimension 3
boundary p p p # periodic boundary conditions
atom_style charge
atom_modify map array
units metal

box tilt large

read_data LTA.lammps

mass 1 15.99900000
mass 2 28.08500000

pair_style panna
pair_coeff * * lammps_weights_april_24_disp_2024_128 panna.in

min_style cg
min_modify dmax 0.02
fix 1 all box/relax iso 0.0 vmax 0.001
minimize 0.0 2.5e-4 5000 500000
minimize 0.0 2.5e-4 5000 500000

write_data data.in

That is not guaranteed. Please keep in mind that minimizer algorithms are based on minimizing the energy. When they reach a point, where they cannot find a path to a lower energy, they have to stop, regardless of the current forces.

This can happen if, for example, your potential is noisy or your forces/virial are not consistent with the energy. You can check for the latter with fix numdiff and fix numdiff/virial.

Including fix box/relax can increase the noise, so you can try without.
You can also try other minimizer algorithms (there is a reason why there are multiple).

2 Likes