GEOSX
Public Types | Public Attributes | List of all members
geosx::LinearSolverParameters::AMG Struct Reference

Algebraic multigrid parameters. More...

#include <LinearSolverParameters.hpp>

Public Types

enum  CycleType : integer { CycleType::V, CycleType::W }
 AMG cycle type. More...
 
enum  PreOrPost : integer { PreOrPost::pre, PreOrPost::post, PreOrPost::both }
 AMG pre/post smoothing option. More...
 
enum  SmootherType : integer {
  SmootherType::default_, SmootherType::jacobi, SmootherType::l1jacobi, SmootherType::gs,
  SmootherType::sgs, SmootherType::l1sgs, SmootherType::chebyshev, SmootherType::ilu0,
  SmootherType::ilut, SmootherType::ic0, SmootherType::ict
}
 AMG smoother type. More...
 
enum  CoarseType : integer {
  CoarseType::default_, CoarseType::jacobi, CoarseType::l1jacobi, CoarseType::gs,
  CoarseType::sgs, CoarseType::l1sgs, CoarseType::chebyshev, CoarseType::direct
}
 AMG coarse solver type. More...
 
enum  NullSpaceType : integer { NullSpaceType::constantModes, NullSpaceType::rigidBodyModes }
 Null space type. More...
 

Public Attributes

integer maxLevels = 20
 Maximum number of coarsening levels.
 
CycleType cycleType = CycleType::V
 AMG cycle type.
 
SmootherType smootherType = SmootherType::gs
 Smoother type.
 
CoarseType coarseType = CoarseType::direct
 Coarse-level solver/smoother.
 
string coarseningType = "HMIS"
 Coarsening algorithm.
 
integer interpolationType = 6
 Coarsening algorithm.
 
integer numSweeps = 2
 Number of smoother sweeps.
 
integer numFunctions = 1
 Number of amg functions.
 
integer aggresiveNumLevels = 0
 Number of levels for aggressive coarsening.
 
PreOrPost preOrPostSmoothing = PreOrPost::both
 Pre and/or post smoothing.
 
real64 threshold = 0.0
 Threshold for "strong connections" (for classical and smoothed-aggregation AMG)
 
integer separateComponents = false
 Apply a separate component filter before AMG construction.
 
NullSpaceType nullSpaceType = NullSpaceType::constantModes
 Null space type [constantModes,rigidBodyModes].
 

Detailed Description

Algebraic multigrid parameters.

Definition at line 133 of file LinearSolverParameters.hpp.

Member Enumeration Documentation

◆ CoarseType

AMG coarse solver type.

Enumerator
default_ 

Use LAI's default option.

jacobi 

Jacobi.

l1jacobi 

l1-Jacobi

gs 

Gauss-Seidel.

sgs 

Symmetric Gauss-Seidel.

l1sgs 

l1-Symmetric Gauss-Seidel

chebyshev 

Chebyshev polynomial.

direct 

Direct solver as preconditioner.

Definition at line 167 of file LinearSolverParameters.hpp.

◆ CycleType

AMG cycle type.

Enumerator

V-cycle.

W-cycle.

Definition at line 136 of file LinearSolverParameters.hpp.

◆ NullSpaceType

Null space type.

Enumerator
constantModes 

Constant modes.

rigidBodyModes 

Rigid body modes.

Definition at line 180 of file LinearSolverParameters.hpp.

◆ PreOrPost

AMG pre/post smoothing option.

Enumerator
pre 

pre-smoothing only

post 

post-smoothing only

both 

pre- and post-smoothing

Definition at line 143 of file LinearSolverParameters.hpp.

◆ SmootherType

AMG smoother type.

Enumerator
default_ 

Use LAI's default option.

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.

ilu0 

ILU(0)

ilut 

Incomplete LU with thresholding.

ic0 

Incomplete Cholesky.

ict 

Incomplete Cholesky with thresholding.

Definition at line 151 of file LinearSolverParameters.hpp.


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