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:

FireState | CellFireState

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