The nonlinear solver uses an affine invariant form of the damped Newton method as described in Ref. 3. You can write the discrete form of the equations as
f(U) = 0, where
f(U) is the residual vector and
U is the solution vector. Starting with the initial guess
U0, the software forms the linearized model using
U0 as the linearization point. It solves the discretized form of the linearized model
f '(U0) δU = −f(U0) for the Newton step
δU using the selected linear system solver (
f '(U0) is the Jacobian matrix). It then computes the new iteration
U1 = U0 + λ δU, where
λ (
0 ≤ λ ≤ 1) is the damping factor.
Next the solver estimates the error E for the new iteration
U1 by solving
f '(U0) E = −f(U1). If the error is small enough to satisfy the specified relative tolerance (see
Termination Criterion for the Fully Coupled and Segregated Attribute Nodes) the iteration is stopped. When using automatic damping and the relative error corresponding to
E is larger than the relative error in the previous iteration, the algorithm reduces the damping factor
λ and recomputes
U1. This algorithm repeats the damping-factor reduction until the relative error is less than in the previous iteration or until the damping factor underflows the minimum damping factor. When it has taken a successful step
U1, the algorithm proceeds with the next Newton iteration.
A value of λ = 1 results in Newton’s method, which converges quadratically if the initial guess
U0 is sufficiently close to a solution. In order to enlarge the domain of attraction, the solver may have to reduce the damping factor. The success of a nonlinear solver still depends heavily on a carefully selected initial guess, so you should provide the best value for
U0, giving at least an order of magnitude guess for different solution components.
where the controller parameters kP,
kI, and
kD for the proportional, integral, and derivative parts, respectively, are positive constants. Here
en is the nonlinear error estimate for step
n and tol is a given target error estimate. CFL
n is the built-in solver variable CFLCMP.
After each segregated solver iteration, the log reports the Pseudo time-stepping CFL-ratio defined as min(
log(
CFL)/
log(
CFL∞),
1.0), where
CFL∞=
104 is the steady-state CFL number. The CFL ratio concerns the overall progress of the segregated solver and not individual groups. Convergence is allowed when this number is one and the usual convergence criteria are met.