GEOS
|
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< integer > | order |
Order of application of sub-problem solvers. | |
Block preconditioner parameters.
Definition at line 346 of file LinearSolverParameters.hpp.
|
strong |
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.
|
strong |
Type of Schur complement approximation used.
Definition at line 358 of file LinearSolverParameters.hpp.
|
strong |
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.
|
inline |
Set the number of blocks and resize arrays accordingly.
numBlocks | the number of sub-problem blocks in the system |
Definition at line 385 of file LinearSolverParameters.hpp.