fire_init¶
- torch_sim.optimizers.fire.fire_init(state, model, *, dt_start=0.1, alpha_start=0.1, fire_flavor='ase_fire', cell_filter=None, **filter_kwargs)[source]¶
Initialize a FIRE optimization state.
Creates an optimizer that performs FIRE (Fast Inertial Relaxation Engine) optimization on atomic positions and optionally cell parameters.
- Parameters:
model (ModelInterface) – Model that computes energies, forces, and optionally stress
state (SimState | dict[Literal['positions', 'masses', 'cell', 'pbc', 'atomic_numbers', 'system_idx'], ~torch.Tensor]) – Input state as SimState object or state parameter dict
dt_start (float) – Initial timestep per system
alpha_start (float) – Initial mixing parameter per system
fire_flavor (FireFlavor) – Optimization flavor (“vv_fire” or “ase_fire”)
cell_filter (CellFilter | CellFilterFuncs | None) – Filter for cell optimization (None for position-only optimization)
**filter_kwargs (Any) – Additional arguments passed to cell filter initialization
- Returns:
FireState with initialized optimization tensors
- Return type:
Notes
fire_flavor=”vv_fire” follows the original paper closely
fire_flavor=”ase_fire” mimics the ASE implementation
Use cell_filter=UNIT_CELL_FILTER or FRECHET_CELL_FILTER for cell optimization