MFEMSolverBase
Summary
Base class for mfem::Solver
objects to use in MFEM problems.
Overview
Classes derived from MFEMSolverBase
can usually be used as preconditioners or linear solvers; the constructSolver
method should be overridden to construct a unique_ptr
to an mfem::Solver
derived object. The getSolver
method returns a reference to the underlying mfem::Solver
for use during a solve.
Problem-specific information - such as finite element spaces used in the set-up of some preconditioners - can be passed to the mfem::Solver
at construction time.
Most solvers have the option of being used as a Low-Order-Refined (LOR) preconditioner, by setting their respective low_order_refined
parameter to true
. LOR solvers work by taking a problem and casting it onto a spectrally equivalent one with lower polynomial order and more refined mesh. Due to the scaling properties of the computing time with respect to polynomial order and mesh size, this change will often result in a significant performance improvement, which tends to be more pronounced at higher polynomial orders. More details can be found here.