Minimization using hftn


I am running a minimization using the hftn algorithm. I ran two simulations: one with a force norm convergence criterion of 1e-3 and another with a force norm convergence criterion of 1. All other parameters are the same.

However the optimization seemed to take different paths after a certain iteration step. I find this strange as the convergence criterion shouldn’t influence the path of the optimization. I was just expecting the second simulation to take the same path as the first but just stop earlier.

Please let me know if anyone knows why this may be happening.



I don’t know. Here is a simple test script that
does not do that. The min output is the same
up to the point the earliest convergence takes place.


2d Lennard-Jones melt and subsequent energy minimization

units lj
dimension 2
atom_style atomic

lattice sq2 0.8442
region box block 0 20 0 20 -0.1 0.1
create_box 1 box
create_atoms 1 box
mass 1 1.0

velocity all create 5.0 87287 loop geom

pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
pair_modify shift yes

neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes

fix 1 all nve
fix 2 all enforce2d

dump 1 all atom 100 dump.min

thermo 100

run 1000

neigh_modify delay 0 every 1 check yes

dump_modify 1 every 25
thermo 10
min_style hftn
minimize 0.0 0.01 1000 10000

From the doc page, “At each (HFTN) iteration a quadratic model of the energy potential is solved by a conjugate gradient (CG) inner iteration.”

HFTN performs a convergence test for the CG iterations where a properly chose tolerance is crucial so as to ensure that CG terminates in a reasonable way. Also there is the correction to the “residual” that is based on the tolerance. Therefore depending on the ruggedness of the potential energy surface, difference tolerance may give different results.

In a nutshell, it is possible that convergence criterion (tolerance) does influence the path of the optimization.


Ray, thanks for your note. That explains my observations.