GEOSX
Classes | Public Types | Public Attributes | List of all members
geos::LinearSolverParameters Struct Reference

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  SolverType : integer {
  SolverType::direct, SolverType::cg, SolverType::gmres, SolverType::fgmres,
  SolverType::bicgstab, SolverType::preconditioner
}
 Linear solver type. More...
 
enum  PreconditionerType : integer {
  PreconditionerType::none, PreconditionerType::jacobi, PreconditionerType::l1jacobi, PreconditionerType::fgs,
  PreconditionerType::sgs, PreconditionerType::l1sgs, PreconditionerType::chebyshev, PreconditionerType::iluk,
  PreconditionerType::ilut, PreconditionerType::ic, PreconditionerType::ict, PreconditionerType::amg,
  PreconditionerType::mgr, PreconditionerType::block, PreconditionerType::direct, PreconditionerType::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.
 

Detailed Description

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 33 of file LinearSolverParameters.hpp.

Member Enumeration Documentation

◆ PreconditionerType

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 51 of file LinearSolverParameters.hpp.

◆ SolverType

Linear solver type.

Enumerator
direct 

Direct solver.

cg 

CG.

gmres 

GMRES.

fgmres 

Flexible GMRES.

bicgstab 

BiCGStab.

preconditioner 

Preconditioner only.

Definition at line 38 of file LinearSolverParameters.hpp.


The documentation for this struct was generated from the following file: