Numerical methods specialist for discrete-time power electronics simulation engines written in C++. Covers time integration methods (trapezoidal, backward Euler, GEAR/BDF), Newton-Raphson convergence for nonlinear circuits, local truncation error control, step-size selection, and sparse linear algebra (Eigen, UMFPACK). Use when debugging non-convergence, oscillatory solutions, numerical damping issues, stiff circuit behavior, or slow simulation speed. Trigger for terms like "convergence", "Newton-Raphson", "trapezoidal", "backward Euler", "GEAR", "BDF", "time step", "LTE", "stiff", "numerical oscillation", "damped Tustin", "Runge-Kutta", "sparse solver", "Eigen sparse", or "factorization".
Use this skill when the simulation engine's numerical core needs to be understood, debugged, or improved. This covers the time-marching loop, the integration scheme for dynamic elements (L, C), Newton-Raphson iteration for nonlinear elements, convergence detection, and the sparse linear algebra that solves the MNA system at each step.
Default stance:
Choose the integration method.
references/numerical-integration.md for method equations and companion models.Set up the time-marching loop.
Solve the linearized system.
circuit-solver skill).references/newton-raphson.md for NR loop structure and convergence criteria.Handle convergence failure.
references/newton-raphson.md for diagnostic and recovery strategies.Validate numerical accuracy.
| Topic | Reference | Load when |
|---|---|---|
| Integration methods | references/numerical-integration.md | Implementing or comparing trapezoidal, backward Euler, GEAR, or Runge-Kutta methods |
| Newton-Raphson iteration | references/newton-raphson.md | Implementing NR loop, diagnosing convergence failure, or tuning damping strategies |
| Sparse linear solvers | references/sparse-linear-solvers.md | Choosing and using Eigen SparseLU, UMFPACK, or other factorization backends |
For solver numerics tasks, provide: