This is an implementation of the FIRE algorithm for structural relaxation put forward by Bitzek et al. (2006)
fire(
r,
force,
restraint,
m = 1,
dt = 0.1,
maxmove = 100,
dtmax = 1,
Nmin = 5,
finc = 1.1,
fdec = 0.5,
astart = 0.1,
fa = 0.99,
a = 0.1,
nstep = 100,
tol = 1e-05,
verbose = FALSE,
report = message
)
Initial locations of particles
Force function
Restraint function
Masses of points
Initial time step
Maximum distance to move in any time step
Maximum time step
Number of steps after which to start increasing dt
Fractional increase in dt
per time step
Fractional decrease in dt
after a stop
Starting value of a
after a stop
Fraction of a
to retain after each step
Initial value of a
Maximum number of steps
Tolerance - if RMS force is below this value, stop and report convergence
If TRUE
report progress verbosely
Function to report progress when verbose
is TRUE
List containing x
, the positions of the points,
conv
, which is 0 if convergence as occurred and 1 otherwise,
and frms
, the root mean square of the forces on the
particles.
Bitzek, E., Koskinen, P., G\"ahler, F., Moseler, M., and Gumbsch, P. (2006). Structural relaxation made simple. Phys. Rev. Lett., 97:170201.