GEOS
Public Types | Public Member Functions | Public Attributes | List of all members
geos::LinearSolverParameters::Block Struct Reference

Block preconditioner parameters. More...

#include <LinearSolverParameters.hpp>

Public Types

enum class  Shape { Diagonal , UpperTriangular , LowerTriangular , LowerUpperTriangular }
 Shape of the block preconditioner. More...
 
enum class  SchurType { None , FirstBlockDiagonal , RowsumDiagonalProbing , FirstBlockUserDefined }
 Type of Schur complement approximation used. More...
 
enum class  Scaling { None , FrobeniusNorm , UserProvided }
 Type of block row scaling to apply. More...
 

Public Member Functions

void resize (integer const numBlocks)
 Set the number of blocks and resize arrays accordingly. More...
 

Public Attributes

Shape shape = Shape::UpperTriangular
 Block preconditioner shape.
 
SchurType schurType = SchurType::RowsumDiagonalProbing
 Schur complement type.
 
Scaling scaling = Scaling::FrobeniusNorm
 Type of system scaling to use.
 
array1d< LinearSolverParameters const * > subParams
 Pointers to parameters for sub-problems.
 
array1d< integerorder
 Order of application of sub-problem solvers.
 

Detailed Description

Block preconditioner parameters.

Definition at line 346 of file LinearSolverParameters.hpp.

Member Enumeration Documentation

◆ Scaling

Type of block row scaling to apply.

Enumerator
None 

No scaling.

FrobeniusNorm 

Equilibrate Frobenius norm of the diagonal blocks.

UserProvided 

User-provided scaling.

Definition at line 367 of file LinearSolverParameters.hpp.

◆ SchurType

Type of Schur complement approximation used.

Enumerator
None 

No Schur complement - just block-GS/block-Jacobi preconditioner.

FirstBlockDiagonal 

Approximate first block with its diagonal.

RowsumDiagonalProbing 

Rowsum-preserving diagonal approximation constructed with probing.

FirstBlockUserDefined 

User defined preconditioner for the first block.

Definition at line 358 of file LinearSolverParameters.hpp.

◆ Shape

Shape of the block preconditioner.

Enumerator
Diagonal 

(D)^{-1}

UpperTriangular 

(DU)^{-1}

LowerTriangular 

(LD)^{-1}

LowerUpperTriangular 

(LDU)^{-1}

Definition at line 349 of file LinearSolverParameters.hpp.

Member Function Documentation

◆ resize()

void geos::LinearSolverParameters::Block::resize ( integer const  numBlocks)
inline

Set the number of blocks and resize arrays accordingly.

Parameters
numBlocksthe number of sub-problem blocks in the system

Definition at line 385 of file LinearSolverParameters.hpp.


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