GEOS
|
Set of parameters for a linear solver or preconditioner. More...
#include <LinearSolverParameters.hpp>
Classes | |
struct | AMG |
Algebraic multigrid parameters. More... | |
struct | DD |
Domain decomposition parameters. More... | |
struct | Direct |
Direct solver parameters: used for SuperLU_Dist interface through hypre and PETSc. More... | |
struct | IFact |
Incomplete factorization parameters. More... | |
struct | Krylov |
Krylov-method parameters. More... | |
struct | MGR |
Multigrid reduction parameters. More... | |
struct | Scaling |
Matrix-scaling parameters. More... | |
Public Types | |
enum class | SolverType : integer { direct , cg , gmres , fgmres , bicgstab , preconditioner } |
Linear solver type. More... | |
enum class | PreconditionerType : integer { none , jacobi , l1jacobi , fgs , sgs , l1sgs , chebyshev , iluk , ilut , ic , ict , amg , mgr , block , direct , bgs } |
Preconditioner type. More... | |
Public Attributes | |
integer | logLevel = 0 |
Output level [0=none, 1=basic, 2=everything]. | |
integer | dofsPerNode = 1 |
Dofs per node (or support location) for non-scalar problems. | |
bool | isSymmetric = false |
Whether input matrix is symmetric (may affect choice of scheme) | |
integer | stopIfError = 1 |
Whether to stop the simulation if the linear solver reports an error. | |
SolverType | solverType = SolverType::direct |
Solver type. | |
PreconditionerType | preconditionerType = PreconditionerType::iluk |
Preconditioner type. | |
struct geos::LinearSolverParameters::Direct | direct |
direct solver parameter struct | |
struct geos::LinearSolverParameters::Krylov | krylov |
Krylov-method parameter struct. | |
struct geos::LinearSolverParameters::Scaling | scaling |
Matrix-scaling parameter struct. | |
struct geos::LinearSolverParameters::AMG | amg |
Algebraic Multigrid (AMG) parameters. | |
struct geos::LinearSolverParameters::MGR | mgr |
Multigrid reduction (MGR) parameters. | |
struct geos::LinearSolverParameters::IFact | ifact |
Incomplete factorization parameter struct. | |
struct geos::LinearSolverParameters::DD | dd |
Domain decomposition parameter struct. | |
Set of parameters for a linear solver or preconditioner.
This class holds a simple tree of linear solver options. They are set to default values, but can be overwritten as needed.
Definition at line 34 of file LinearSolverParameters.hpp.
|
strong |
Preconditioner type.
Enumerator | |
---|---|
none | No preconditioner. |
jacobi | Jacobi smoothing. |
l1jacobi | l1-Jacobi smoothing |
fgs | Gauss-Seidel smoothing (forward sweep) |
sgs | Symmetric Gauss-Seidel smoothing. |
l1sgs | l1-Symmetric Gauss-Seidel smoothing |
chebyshev | Chebyshev polynomial smoothing. |
iluk | Incomplete LU with k-level of fill. |
ilut | Incomplete LU with thresholding. |
ic | Incomplete Cholesky. |
ict | Incomplete Cholesky with thresholding. |
amg | Algebraic Multigrid. |
mgr | Multigrid reduction (Hypre only) |
block | Block preconditioner. |
direct | Direct solver as preconditioner. |
bgs | Gauss-Seidel smoothing (backward sweep) |
Definition at line 52 of file LinearSolverParameters.hpp.
|
strong |
Linear solver type.
Enumerator | |
---|---|
direct | Direct solver. |
cg | CG. |
gmres | GMRES. |
fgmres | Flexible GMRES. |
bicgstab | BiCGStab. |
preconditioner | Preconditioner only. |
Definition at line 39 of file LinearSolverParameters.hpp.