convergence
Behind the scenes, SPICE does not solve a circuit in one clean step. For anything with diodes or transistors the equations are nonlinear, so it guesses an answer, checks how wrong it is, improves the guess, and repeats, hoping the guesses close in on the true solution. Convergence is that happy outcome: the guesses settle down and SPICE finds a stable answer. Non-convergence is when they never do, and the simulation fails.
The method is called Newton-Raphson iteration: from a trial set of node voltages, SPICE computes the currents, sees by how much Kirchhoff's law is violated, and nudges the voltages to reduce the error, looping until the change per step falls below a tolerance. It usually just works. But a sharp nonlinearity (an idealized switch snapping on), a circuit with no resistive path to ground, or a wildly bad starting guess can send the iterations oscillating or diverging, and you get singular matrix, timestep too small, or failed to converge.
Knowing how to coax a stubborn simulation is a real skill. Common fixes: add a tiny series resistance so no node is perfectly isolated, give realistic initial conditions, soften an idealized model, or loosen tolerances slightly. A convergence failure is not always a SPICE bug, sometimes it is a genuine flaw in the circuit (a floating node, a latch-up) that the simulator is right to choke on, so read the message before blaming the tool.
A transient that dies with timestep too small at the instant a switch flips often converges once you add a small series resistor or a snubber, giving the solver a gentler, more realistic edge to follow instead of an impossible instantaneous jump.
The iterative solver settling onto a stable answer, and the art of helping it when it will not.
A non-converging simulation is sometimes telling the truth, the circuit itself may be ill-defined (a floating node, a latch-up). Read the error before assuming the solver is merely being fussy.