This is the most catastrophic thing that can go wrong during the solution phase. A fatal failure of the linear solver could look like this:
======================================================================= TIME STEP = 6 SIMULATION TIME = 3.00E+11 CPU SECONDS = 1.05E+02 ---------------------------------------------------------------------- | Equation | Rate | RMS Res | Max Res | Location | Linear Solution | +----------+------+---------+---------+----------+-------------------+ | U - Mom | 1.36 | 3.7E-02 | 3.5E-01 | 1 | NaN * | | V - Mom | 1.37 | 3.8E-02 | 3.5E-01 | 1 | NaN * | | W - Mom | 0.75 | 1.2E-01 | 1.2E+00 | 26 | NaN * | | P - Mass | 1.74 | 2.0E-02 | 6.9E-01 | 1248 | 8.3 Nan * | +----------+------+---------+---------+----------+------------------- +--------------------------------------------------------------------+ | ERROR #004100018 has occurred in subroutine FINMES. | | Message: | | Fatal overflow in linear solver. | +--------------------------------------------------------------------+
After which the CFX-Solver terminates. The " * " means that there has been a floating point exception in the linear solver, usually a floating point overflow.
Sometimes a linear solver failure can be less dramatic, such as
====================================================================== TIME STEP = 2 SIMULATION TIME = 1.00E+11 CPU SECONDS = 2.52E+01 ---------------------------------------------------------------------- | Equation | Rate | RMS Res | Max Res | Location | Linear Solution | +----------+------+---------+---------+----------+-------------------+ | U - Mom | 0.00 | 3.7E-05 | 4.9E-04 | 48 | 2.6E+01 F | | V - Mom | 0.00 | 3.7E-05 | 4.9E-04 | 38 | 2.6E+01 F | | W - Mom | 0.00 | 2.8E-04 | 7.1E-03 | 37 | 8.4E+01 F | | P - Mass | 0.00 | 1.3E-07 | 3.8E-06 | 37 | 8.3 1.1E+02 F | +----------+------+---------+---------+----------+-------------------+ | H-Energy | 0.00 | 2.6E-02 | 1.9E-01 | 748 | 10.2 5.0E-04 OK | +----------+------+---------+---------+----------+-------------------+ | K-TurbKE | 0.00 | 0.0E+00 | 5.9E-34 | 1200 | 5.6 0.0E+00 OK | +----------+------+---------+---------+----------+-------------------+ | E-Diss.K | 0.00 | 0.0E+00 | 5.7E-34 | 1200 | 5.6 0.0E+00 OK | +----------+------+---------+---------+----------+-------------------+
This time the CFX-Solver continues with mixed results (that is, sometimes it will recover and converge, sometimes not). The "F" in the last column means that the linear solver failed to reduce the residuals of the linearized equations (the solution was diverging).
When the linear solver fails, it can mean that non-physical
boundary conditions have been applied, or that the initial values
were inappropriately set. For details, see Boundary Condition Modeling. A good set of initial conditions can be generated by solving a
simpler flow. For instance, assume that the flow you want to model
is turbulent and compressible. You want to model it using the model, with the most accurate discretization, with several pressure
specified opening boundaries and a complex, curved geometry. There
is no good initial values guess, and the linear solver might fail
no matter what you try. However, if you instead modeled laminar flow,
with the most robust discretization, and changed the boundary conditions
to be velocity specified inflows with only one pressure-specified
opening, the solution will converge with almost any initial value
you choose. You could then use this converged result as the much better
initial value for the real problem of interest.