FIRE

class FIRE(maximum_timestep=PhysicalQuantity(2.0, fs))

Constructor for the FIRE optimizer method.

Parameters:maximum_timestep (PhysicalQuantity of type time) – The maximum timestep.
Default: 2.0*femtosecond

Usage Examples

Optimize the geometry of a water molecule using the FIRE algorithm.

# Define elements
elements = [Oxygen, Hydrogen, Hydrogen]

# Define coordinates
cartesian_coordinates = [[  0.0,  -1.70000000e-05,   1.20198000e-01],
                         [  0.0,   7.59572000e-01,  -4.86714000e-01],
                         [  0.0,  -7.59606000e-01,  -4.86721000e-01]]*Angstrom

# Set up configuration
molecule_configuration = MoleculeConfiguration(
    elements=elements,
    cartesian_coordinates=cartesian_coordinates
    )

# Define a calculator
molecule_configuration.setCalculator(LCAOCalculator())

# Perform optimization using the FIRE algorithm.
OptimizeGeometry(molecule_configuration, optimizer_method=FIRE())


fire.py

Notes

The Fast Inertial Relaxation Engine (FIRE) is an optimization algorithm which is based on molecular dynamics with additional modifications on the velocity and an adaptive timestep. Details about this algorithm can be found in [BKG+06].

[BKG+06]E. Bitzek, P. Koskinen, F. Gähler, M. Moseler, and P. Gumbsch. Structural relaxation made simple. Phys. Rev. Lett., 97:170201, Oct 2006. doi:10.1103/PhysRevLett.97.170201.