Find the first bad field and first bad location before changing solver settings. A pressure spike, negative property, impossible temperature or exploding turbulence variable usually points closer to the root cause than the final residual curve.
Problem: the solver becomes numerically unstable
Typical signs are rapidly increasing residuals, pressure or velocity values that jump by orders of magnitude, temperatures leaving the physically possible range, turbulence quantities becoming invalid, or a solver stopping because the linear system can no longer be solved robustly.
The point at which the run stops is often later than the point where the problem begins. Your task is to rewind the evidence and localize the first failure.
Likely cause groups
Units / properties
Geometry imported at wrong scale, viscosity in wrong units, impossible density, heat source or rotational speed.
Boundary conditions
Over-constrained pressure/flow, incompatible inlet/outlet conditions, incorrect signs, unrealistic backflow values.
Mesh
Very poor cells, collapsed prism layers, tiny slivers, abrupt transitions or unresolved narrow gaps.
Initialization
Initial field far from the operating state, strong startup shock or multiphase initialization inconsistent with gravity/pressure.
Physics
Wrong material model, missing compressibility, inconsistent phase model, unrealistic source term or unsuitable turbulence treatment.
Numerics
Timestep too large, aggressive high-order scheme, insufficient relaxation or difficult equation coupling.
Numerics are intentionally listed last. They matter, but damping a physically inconsistent setup can produce a stable wrong answer.
How to identify the root cause
- Check dimensions and order of magnitude.
Confirm geometry scale, material properties, velocity, pressure, heat source, rotation and gravity.
- Plot extrema.
Track minimum/maximum pressure, velocity, temperature, density and key model variables every iteration/time step.
- Find the location of the first extreme.
Is it at an inlet, outlet, sharp corner, tiny gap, prism collapse, interface or source region?
- Check global conservation.
Mass and energy imbalance can reveal a boundary/interface problem before residuals explode.
- Inspect the local mesh.
Do not rely only on one global quality histogram; look at cells around the failure location.
- Simplify the physics.
Temporarily remove secondary models or run an easier operating point to isolate the subsystem that triggers instability.
Fix in a controlled order
A useful diagnostic fix changes one cause class at a time:
- Correct setup errors.
Units, topology, boundary conditions, properties and sources.
- Repair local mesh problems.
Remove pathological cells or add resolution where the physics demands it.
- Improve initialization.
Use a physically closer field, ramp difficult boundary values or initialize phases consistently.
- Reduce timestep / pseudo-timestep.
For transient behavior, use the local restrictive cell and speed to check Courant number.
- Use robust numerics during startup.
Lower-order or more damped settings can help establish a stable field, after which accuracy-oriented settings can be restored and tested.
Build a symptom-specific checklist
Select divergence, solver context and steady/transient mode.
For transient cases, separate CFL problems from physical stiffness
If divergence disappears when Δt is reduced substantially, investigate the local Courant field and fast source terms. But also check whether one tiny bad mesh cell is forcing an unnecessarily small global timestep.
Multiphase interfaces, compressible waves, rotating motion and strong thermal/chemical sources can introduce timescales beyond the simple UΔt/Δx estimate.
Estimate timestep / Courant number
Use local cell size and transport speed as a pre-run screening check.
Common troubleshooting mistakes
- Changing five solver controls simultaneously and losing causality.
- Increasing relaxation/damping without checking if a BC is physically impossible.
- Looking only at residuals and not field extrema or conservation.
- Checking global mesh quality but not the cells where failure begins.
- Using a smaller timestep forever instead of repairing an accidental tiny cell.
- Assuming a converged simplified case proves the full physics setup is correct.