GEOSX
Classes | Public Types | Public Attributes | List of all members
geosx::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::gs,
  PreconditionerType::sgs, PreconditionerType::l1sgs, PreconditionerType::chebyshev, PreconditionerType::iluk,
  PreconditionerType::ilut, PreconditionerType::ic, PreconditionerType::ict, PreconditionerType::amg,
  PreconditionerType::mgr, PreconditionerType::block, PreconditionerType::direct
}
 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 geosx::LinearSolverParameters::Direct direct
 direct solver parameter struct
 
struct geosx::LinearSolverParameters::Krylov krylov
 Krylov-method parameter struct.
 
struct geosx::LinearSolverParameters::Scaling scaling
 Matrix-scaling parameter struct.
 
struct geosx::LinearSolverParameters::AMG amg
 Algebraic Multigrid (AMG) parameters.
 
struct geosx::LinearSolverParameters::MGR mgr
 Multigrid reduction (MGR) parameters.
 
struct geosx::LinearSolverParameters::IFact ifact
 Incomplete factorization parameter struct.
 
struct geosx::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

gs 

Gauss-Seidel smoothing.

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.

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: