Optimisers¶
optimize ¶
GPU structure relaxations, fixed and variable cell (SPEC §10.3).
This package's namespace is fm.optimize: the public optimiser records (plan task 4-T01, conductor's
choice 1), which a Simulation takes as optimizer= (4-T05) and which map onto OptimizerConfig.
The implementations (lbfgs.py, 4-T05; fire.py, 4-T06; cell.py, 4-T07) are built by the planner
only, over a base.DOFView (SPEC §5); importing this package imports neither them nor torch.
The optimisers take ASE 3.27's arguments and defaults; lengths are Angstrom. FIRE's dt and dtmax are
in ASE time units, as ASE's (they are step-size parameters, not physical times). FrechetCell is ASE's
FrechetCellFilter with the pressure in GPa.
LBFGS
dataclass
¶
ASE 3.27's LBFGS on the graph engine (4-T05): maxstep_A (ASE maxstep), memory,
damping and alpha with ASE's defaults. use_line_search is not offered (refused in the
fastmace.ase class). cell_filter: None (fixed cell) or FrechetCell(...).
to_config ¶
to_config(
*, fmax: float = 0.05, steps: int = 100000000
) -> OptimizerConfig
The OptimizerConfig with ASE's run(fmax=, steps=).
FIRE
dataclass
¶
ASE 3.27's FIRE on the graph engine (4-T06), with ASE's arguments and defaults: dt and
dtmax in ASE time units, maxstep_A (ASE maxstep), Nmin, finc, fdec, astart,
fa, a and downhill_check. ASE's deprecated maxmove and position_reset_callback are not
offered. cell_filter: None or FrechetCell(...).
to_config ¶
to_config(
*, fmax: float = 0.05, steps: int = 100000000
) -> OptimizerConfig
The OptimizerConfig with ASE's run(fmax=, steps=).
FrechetCell
dataclass
¶
ASE 3.27's FrechetCellFilter on the device (4-T07): positions and the log of the deformation
gradient, both optimisers unchanged on it.
scalar_pressure_GPa is ASE's scalar_pressure in GPa; hydrostatic_strain, constant_volume,
mask (six Voigt flags or a 3x3 of flags, as ASE) and exp_cell_factor (None: N, ASE's
default) as ASE's.