Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Diagnose an instability

Identify the first equation or field that becomes unstable before changing solver settings.

Preserve the evidence

Check the terminal status and completed flag. A diverged run retains a result bundle for diagnosis; an error or killed run does not. Download iteration_info.csv and the submitted request before creating a variant.

Find the first unstable equation

Read or plot these columns around the first sustained residual increase or NaN:

ColumnsWhat they identify
residual_x_velocity, residual_y_velocity, residual_z_velocityMomentum instability
residual_pressurePressure-correction instability
residual_temperatureEnergy instability
residual_tke, residual_sdrTurbulence instability
*_linear_iterationsWork required by the retained inner linear solve
*_right_preconditionerPreconditioner retained after any fallback attempts

A sudden linear-iteration increase before the outer residual grows points toward a poorly conditioned linear system. A change in *_right_preconditioner shows that a fallback was required. Repeated outer-residual oscillation without unusual inner work points more toward relaxation or coupled boundary behavior.

The first NaN not necessarily the root cause: one failed equation can produce erroneous non-NaN values (e.g. a negative TKE) which contaminate equations solved later in the same SIMPLE iteration. Errors rarely appear from nowhere, they almost always build up over several SIMPLE iterations. Start with the earliest sustained change in residuals, linear iterations, monitored fields, or iteration runtime.

Add field diagnostics

If the existing history is insufficient, add minimum and maximum monitors for the suspect field, conservation monitors, and probes near the expected problem region. Run the variant long enough to capture the onset rather than waiting only for the terminal status.

Use temperature extrema and energy balance for an energy failure, pressure or velocity probes and mass balance for a flow failure, and the relevant residuals for turbulence. Monitor histories appear as monitor_* columns in iteration_info.csv.

Choose the next strategy

See also