chombo-discharge
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
EllipticSolverChain Namespace Reference

Support code for using an AMR-multigrid cycle as a preconditioner for an outer Krylov solver. More...

Classes

struct  FallbackPolicy
 Stateful policy for the solver fallback chain. More...
 
class  KrylovSolver
 Stateful owner of the outer-Krylov solver path. More...
 
struct  Settings
 Outer-Krylov configuration. Defaults reproduce stand-alone multigrid (solvers == {GMG}). More...
 

Enumerations

enum class  SolverType { GMG , GMRES , BiCGStab }
 Top-level solve method. More...
 

Functions

SolverType toSolverType (const std::string &a_str)
 Map a solver-type string to the corresponding enum.
 
std::string solverTypeName (const SolverType a_type)
 Human-readable name for a solver type, for diagnostic output.
 

Detailed Description

Support code for using an AMR-multigrid cycle as a preconditioner for an outer Krylov solver.

The multigrid cycle itself (smoother, cycle type, bottom solver, BC stencils, ...) is configured by the usual gmg_* options of the host solver. The settings here control the outer Krylov wrapper.

Enumeration Type Documentation

◆ SolverType

Top-level solve method.

Enumerator
GMG 

Stand-alone multigrid V-cycling (no outer Krylov).

GMRES 

GMRES preconditioned by the multigrid cycle.

BiCGStab 

BiCGStab preconditioned by the multigrid cycle.

Function Documentation

◆ solverTypeName()

std::string EllipticSolverChain::solverTypeName ( const SolverType  a_type)
inline

Human-readable name for a solver type, for diagnostic output.

Parameters
[in]a_typeKrylovSolver type.
Returns
"gmg", "gmres", or "bicgstab".

◆ toSolverType()

SolverType EllipticSolverChain::toSolverType ( const std::string &  a_str)
inline

Map a solver-type string to the corresponding enum.

Pure string-to-enum conversion; the host solver is responsible for reading the input database (the Krylov module deliberately does not call ParmParse). Aborts on an unrecognised string.

Parameters
[in]a_strOne of 'gmg', 'gmres', or 'bicgstab'.
Returns
The corresponding SolverType.