pele.optimize._fire#
Created on 30 Apr 2012
@author: ruehle
- class pele.optimize._fire.Fire[source]
-
class Fire:The FIRE optimization algorithm
- Parameters:
- coordsarray
the starting configuration for the optimization.
- potential
the potential object
- dtfloat
adaptive time step for integration of the equations of motion
- maxstepfloat
the maximum step size permitted
- dtmaxfloat
the maximum time step permitted
- Nminint
minimum number of steps taken after an uphill step before adaptive parameters are allowed to change
- fincfloat
factor by which the time step is increased if moving downhill and at least Nmin steps from the last uphill step
- fdecfloat
factor by which the time step is decreased if an uphill step has been taken
- astartfloat
initial value of a and value taken after an uphill step.
- fafloat
factor by which parameter a decreases if moving downhill and at least Nmin steps from the last uphill step
- afloat
adaptive parameter that controls the velocity used to evolve the system.
- iprintint
how often to print status information
- alternate_stop_criterioncallable
this criterion will be used rather than rms gradient to determine when to stop the iteration. must return a boolean and accept the following keywords:
energy
gradient
tol
- eventslist of callables
callbacks supplied through the events argument, called after each iteration. Each event must accept keywords:
coords
energy
rms
Notes
The Fast Inertial Relaxation Engine is an optimization algorithm based on molecular dynamics with modifications to the velocity and adaptive time steps. The method is based on a blind skier searching for the bottom of a valley and is described and tested here:
Erik Bitzek, Pekka Koskinen, Franz Gaehler, Michael Moseler, and Peter Gumbsch. Phys. Rev. Lett. 97, 170201 (2006) http://link.aps.org/doi/10.1103/PhysRevLett.97.170201
This implementation of the algorithm differs significantly from the original algorithm in the order in which the steps are taken.
- Fire.run()[source]
-
def run(self, fmax=1e-3, steps=100000):Run structure optimization algorithm.
By default, stop when the RMS gradient is less than
fmaxor after at moststepsiterations. If supplied,alternate_stop_criteriondetermines convergence instead of the RMS gradient.