The FIRE optimization algorithm
Parameters :  coords : array
potential :
dt : float
maxstep : float
dtmax : float
Nmin : int
finc : float
fdec : float
astart : float
fa : float
a : float
iprint : int
alternative_stop_criterion : callable
events : list of callables


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.
Methods
converged([forces])  Did the optimization converge? 
initialize()  
run([fmax, steps])  Run structure optimization algorithm. 
step(f) 