Linear Solvers¶
Newton's method requires solving a linear system at each nonlinear iteration:
Exasim primarily uses GMRES for these nonsymmetric systems. DG discretizations, implicit time integration, boundary conditions, and stabilization terms usually produce nonsymmetric Jacobians, so GMRES is a natural Krylov method.
GMRES¶
GMRES builds a Krylov subspace
and chooses the correction that minimizes the residual over this subspace.
Restarted GMRES limits memory and orthogonalization cost by restarting after
GMRESrestart basis vectors.
Exasim Controls¶
| Field | Role |
|---|---|
GMRESiter |
Maximum total Krylov iterations. |
GMRESrestart |
Restart length. |
GMREStol |
Linear solver tolerance. |
GMRESortho |
Orthogonalization selector. |
linearsolver |
Linear solver selector. |
linearsolveriter |
Frontend-facing maximum iteration count. |
linearsolvertol |
Frontend-facing tolerance. |
Matrix-Free LDG¶
For LDG, Exasim uses residual evaluations to form matrix-vector products:
The perturbation size and approximation order are controlled by fields such as
matvectol and matvecorder. This design avoids storing the full LDG Jacobian,
but GMRES convergence depends strongly on preconditioning.
Matrix-Based HDG¶
For HDG, local element Jacobian blocks are assembled, statically condensed, and used to build a trace-space operator. GMRES then operates on trace unknowns. This costs more memory per element than the matrix-free LDG path, but the global Krylov vector dimension is reduced to face trace unknowns.
Polynomial Preconditioning¶
When ppdegree > 1, the GMRES path can apply a polynomial preconditioner. The
backend constructs polynomial data from Krylov/Hessenberg information and uses
the resulting polynomial action together with the selected base preconditioner.
Reduced-Basis Acceleration¶
The RBdim field controls storage for a reduced basis used by the solver and
preconditioner path. It is intended to reuse recent correction information to
improve the initial guess and preconditioner action. Its effectiveness is
problem-dependent and should be validated with residual histories.
Practical Guidance¶
- Increase
GMRESrestartonly when memory allows; orthogonalization cost grows with restart length. - Prefer improving the preconditioner before allowing very large GMRES iteration counts.
- For LDG, matrix-free products reduce storage but can increase residual evaluations.
- For HDG, trace-system assembly costs must be balanced against fewer global unknowns.