> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ionworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ionworks DAE Solver

> The fast default solver behind ionworkspipeline.Simulation, with automatic fallback to IDAKLU.

The **Ionworks DAE Solver** (`IonworksSolver`) is a faster drop-in replacement for PyBaMM's `IDAKLUSolver`. It returns the same results as IDAKLU and falls back to it automatically for models it can't accelerate.

It is the **default solver** behind `ionworkspipeline.Simulation`, so every pipeline submission and SDK simulation uses it automatically — there is nothing to configure.

<Note>
  The fast path currently supports fixed output time steps only, with linear interpolation between the `t_eval` and `t_interp` points. Models with events (such as voltage cut-offs) are run through IDAKLU instead.
</Note>

## Using the solver directly

You normally don't need to touch the solver. To use it with a stock `pybamm.Simulation`:

```python theme={null}
import pybamm
from ionworkspipeline.solvers import IonworksSolver

model = pybamm.lithium_ion.DFN()
solver = IonworksSolver(atol=1e-6, rtol=1e-4)

sim = pybamm.Simulation(model, solver=solver)
solution = sim.solve(t_eval=[0, 3600])
```

`IonworksSolver` accepts the same constructor arguments as `pybamm.IDAKLUSolver`.
