Crate gosh_fire

Source
Expand description

Implementation of the Fast-Inertial-Relaxation-Engine (FIRE) algorithm

§References

  • Bitzek, E. et al. Structural Relaxation Made Simple. Phys. Rev. Lett. 2006, 97 (17), 170201.
  • http://users.jyu.fi/~pekkosk/resources/pdf/FIRE.pdf
  • https://github.com/siesta-project/flos/blob/master/flos/optima/fire.lua

§Usage

use fire::*;
 
let mut x = [0.0];
fire().minimize(&mut x, |x, gx| {
    let fx = (x[0] - 1.).powi(2);
    gx[0] = 2.0 * (x[0] - 1.0);
    fx
});

Modules§

lj

Structs§

FIRE
The Fast-Inertial-Relaxation-Engine (FIRE) algorithm
FireIter
Iterator over optimization iterations.
Output
Evaluated function value and gradient
Progress
Important iteration data in minimization, useful for progress monitor or defining artificial termination criteria.
UserTermination
For user defined termination criteria

Enums§

MdScheme
MD Integration formulations for position update and velocity update

Traits§

GradientBasedMinimizerDeprecated
Common interfaces for structure relaxation
TerminationCriteria
Define termination conditions

Functions§

fire
Create FIRE optimization interface
monitor
Create user defined monitor or termination criteria with a closure