SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::solver::linear::backend::mfem Namespace Reference

Functions

Report solve (FGMRES options, const ::mfem::Operator &operation, ::mfem::Solver &preconditioner, preconditioner::ApplicationContract contract, const ::mfem::Vector &right_hand_side, ::mfem::Vector &correction, Control control={})
 Solve a serial linear system and independently verify the resulting correction.
 
template<typename Backend>
requires (!std::same_as<std::remove_cvref_t<Backend>, FGMRES>)
Report solve (const Backend &backend, const ::mfem::Operator &operation, ::mfem::Solver &inverse, preconditioner::ApplicationContract contract, const ::mfem::Vector &rhs, ::mfem::Vector &correction, Control control)
 Custom linear solvers implement the same checked-result contract as the built-in solver.
 

Function Documentation

◆ solve() [1/2]

template<typename Backend>
requires (!std::same_as<std::remove_cvref_t<Backend>, FGMRES>)
Report serif::solver::linear::backend::mfem::solve ( const Backend & backend,
const ::mfem::Operator & operation,
::mfem::Solver & inverse,
preconditioner::ApplicationContract contract,
const ::mfem::Vector & rhs,
::mfem::Vector & correction,
Control control )
nodiscard

Custom linear solvers implement the same checked-result contract as the built-in solver.

◆ solve() [2/2]

Report serif::solver::linear::backend::mfem::solve ( FGMRES options,
const ::mfem::Operator & operation,
::mfem::Solver & preconditioner,
preconditioner::ApplicationContract contract,
const ::mfem::Vector & right_hand_side,
::mfem::Vector & correction,
Control control = {} )
nodiscard

Solve a serial linear system and independently verify the resulting correction.

Parameters
correctionOn entry, a finite initial guess; on return, the final attempted correction. A reused guess is discarded if its true defect exceeds the right-hand-side norm. Convergence remains relative to that right-hand side, including when the backend takes zero iterations.
Note
The caller retains the matching operator and inverse owners throughout this call. Numerical failure is reported as data; invalid dimensions, stale inverses, and callback errors propagate.