Engines
SpiceBook supports two SPICE simulation engines. Each notebook is bound to one engine, selected when you create it (or changed later via the toolbar).
ngspice
Section titled “ngspice”The default engine. ngspice is an open-source circuit simulator that runs natively on the SpiceBook backend — no additional setup required.
Strengths:
- Always available — built into the backend container
- Broad analysis support:
.op,.dc,.tran,.ac,.noise,.pz - Well-documented netlist syntax with extensive model libraries
- Fast for small-to-medium circuits
Typical use: General-purpose simulation, educational circuits, quick prototyping.
LTspice
Section titled “LTspice”Available when the SpiceBook backend is configured with mcltspice, an MCP server that automates LTspice via Wine on Linux.
Strengths:
- Proprietary solver with strong convergence for switching circuits
- Extensive built-in component library (power semiconductors, op-amps, regulators)
- Better performance on large circuits with many timesteps
- Tight
.measdirective support for automated measurements
Typical use: Power electronics, switching regulators, circuits using manufacturer models.
Differences That Matter
Section titled “Differences That Matter”| Feature | ngspice | LTspice |
|---|---|---|
| Availability | Always | Requires mcltspice |
Operating point (.op) | Yes | Yes |
Transient (.tran) | Yes | Yes |
AC sweep (.ac) | Yes | Yes |
| Convergence on switchers | Fair | Excellent |
| Built-in device models | Community libs | Extensive vendor libs |
| Output format | Raw binary | Raw binary |
Both engines produce the same WaveformData structure in SpiceBook — the waveform viewer, SVG plots, and schematic generation work identically regardless of which engine ran the simulation.
Choosing an Engine
Section titled “Choosing an Engine”For most circuits, ngspice works well and requires no configuration. Reach for LTspice when you need:
- A specific manufacturer model that ships with LTspice (LT1234, LTC3780, etc.)
- Better convergence on circuits with fast switching edges
.measdirectives for automated waveform measurements
You can switch engines on an existing notebook at any time — the netlist syntax is largely compatible. Re-run cells after switching to regenerate results with the new engine.