GEOSX
Public Types | Public Attributes | List of all members
geos::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::fgs,
  SmootherType::bgs, 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::fgs,
  CoarseType::sgs, CoarseType::l1sgs, CoarseType::chebyshev, CoarseType::direct,
  CoarseType::bgs
}
 AMG coarse solver type. More...
 
enum  CoarseningType : integer {
  CoarseningType::default_, CoarseningType::CLJP, CoarseningType::RugeStueben, CoarseningType::Falgout,
  CoarseningType::PMIS, CoarseningType::HMIS
}
 AMG coarsening types (HYPRE only) More...
 
enum  InterpType : integer {
  InterpType::default_, InterpType::modifiedClassical, InterpType::direct, InterpType::multipass,
  InterpType::extendedI, InterpType::standard, InterpType::extended, InterpType::directBAMG,
  InterpType::modifiedExtended, InterpType::modifiedExtendedI, InterpType::modifiedExtendedE
}
 AMG interpolation type (HYPRE only) More...
 
enum  AggInterpType : integer {
  AggInterpType::default_, AggInterpType::extendedIStage2, AggInterpType::standardStage2, AggInterpType::extendedStage2,
  AggInterpType::multipass, AggInterpType::modifiedExtended, AggInterpType::modifiedExtendedI, AggInterpType::modifiedExtendedE,
  AggInterpType::modifiedMultipass
}
 AMG interpolation type for aggressive coarsening levels (HYPRE only) More...
 
enum  NullSpaceType : integer { NullSpaceType::constantModes, NullSpaceType::rigidBodyModes }
 Null space type. More...
 

Public Attributes

CoarseningType coarseningType = CoarseningType::PMIS
 Coarsening algorithm (GPUs)
 
SmootherType smootherType = SmootherType::l1jacobi
 Smoother type (GPUs)
 
integer maxLevels = 20
 Maximum number of coarsening levels.
 
CycleType cycleType = CycleType::V
 AMG cycle type.
 
CoarseType coarseType = CoarseType::direct
 Coarse-level solver/smoother.
 
InterpType interpolationType = InterpType::extendedI
 Interpolation algorithm.
 
integer interpolationMaxNonZeros = 4
 Interpolation - Max. nonzeros/row.
 
real64 relaxWeight = 1.0
 Relaxation weight.
 
integer numSweeps = 1
 Number of smoother sweeps.
 
integer numFunctions = 1
 Number of amg functions.
 
integer aggressiveNumPaths = 1
 Number of paths agg. coarsening.
 
integer aggressiveNumLevels = 0
 Number of levels for aggressive coarsening.
 
AggInterpType aggressiveInterpType = AggInterpType::multipass
 Interp. type for agg. coarsening.
 
integer aggressiveInterpMaxNonZeros = 16
 Aggressive Interpolation - Max. nonzeros/row.
 
PreOrPost preOrPostSmoothing = PreOrPost::both
 Pre and/or post smoothing.
 
real64 threshold = 0.0
 
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 138 of file LinearSolverParameters.hpp.

Member Enumeration Documentation

◆ AggInterpType

AMG interpolation type for aggressive coarsening levels (HYPRE only)

Enumerator
default_ 

Use LAI's default option.

extendedIStage2 

Extended+i 2-stage (GPU support)

standardStage2 

Standard 2-stage.

extendedStage2 

Extended 2-stage (GPU support)

multipass 

Multipass (GPU support)

modifiedExtended 

Modularized Extended (GPU support)

modifiedExtendedI 

Modularized Extended+i (GPU support)

modifiedExtendedE 

Modularized Extended+e (GPU support)

modifiedMultipass 

Modularized Multipass (GPU support)

Definition at line 214 of file LinearSolverParameters.hpp.

◆ CoarseningType

AMG coarsening types (HYPRE only)

Enumerator
default_ 

Use LAI's default option.

CLJP 

A parallel coarsening algorithm using independent sets.

RugeStueben 

Classical Ruge-Stueben on each processor, followed by a third pass.

Falgout 

Ruge-Stueben followed by CLJP.

PMIS 

Parallel coarsening as CLJP but with lower complexities (GPU support)

HMIS 

Hybrid PMIS coarsening.

Definition at line 187 of file LinearSolverParameters.hpp.

◆ CoarseType

AMG coarse solver type.

Enumerator
default_ 

Use LAI's default option.

jacobi 

Jacobi (GPU support in hypre)

l1jacobi 

l1-Jacobi (GPU support in hypre)

fgs 

Gauss-Seidel (forward sweep)

sgs 

Symmetric Gauss-Seidel.

l1sgs 

l1-Symmetric Gauss-Seidel

chebyshev 

Chebyshev polynomial (GPU support in hypre)

direct 

Direct solver as preconditioner.

bgs 

Gauss-Seidel smoothing (backward sweep)

Definition at line 173 of file LinearSolverParameters.hpp.

◆ CycleType

AMG cycle type.

Enumerator

V-cycle.

W-cycle.

Definition at line 141 of file LinearSolverParameters.hpp.

◆ InterpType

AMG interpolation type (HYPRE only)

Enumerator
default_ 

Use LAI's default option.

modifiedClassical 

Modified classical.

direct 

Direct (GPU support)

multipass 

Multipass (GPU support)

extendedI 

Extended+i (GPU support)

standard 

Standard.

extended 

Extended classical (GPU support)

directBAMG 

Direct with separation of weights (GPU support)

modifiedExtended 

Modularized extended classical (GPU support)

modifiedExtendedI 

Modularized extended+i (GPU support)

modifiedExtendedE 

Modularized extended+e (GPU support)

Definition at line 198 of file LinearSolverParameters.hpp.

◆ NullSpaceType

Null space type.

Enumerator
constantModes 

Constant modes.

rigidBodyModes 

Rigid body modes.

Definition at line 228 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 148 of file LinearSolverParameters.hpp.

◆ SmootherType

AMG smoother type.

Enumerator
default_ 

Use LAI's default option.

jacobi 

Jacobi smoothing.

l1jacobi 

l1-Jacobi smoothing

fgs 

Gauss-Seidel smoothing (forward sweep)

bgs 

Gauss-Seidel smoothing (backward sweep)

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

Member Data Documentation

◆ threshold

real64 geos::LinearSolverParameters::AMG::threshold = 0.0

Threshold for "strong connections" (for classical and smoothed-aggregation AMG)

Definition at line 255 of file LinearSolverParameters.hpp.


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