OGS
EigenOption.h
Go to the documentation of this file.
1
11
#pragma once
12
13
#include <string>
14
15
namespace
MathLib
16
{
18
struct
EigenOption
final
19
{
21
enum class
SolverType
:
short
22
{
23
CG
,
24
LeastSquareCG
,
25
BiCGSTAB
,
26
BiCGSTABL
,
27
IDRS
,
28
IDRSTABL
,
29
SparseLU
,
30
PardisoLU
,
31
GMRES
32
};
33
35
enum class
PreconType
:
short
36
{
37
NONE
,
38
DIAGONAL
,
39
LeastSquareDIAGONAL
,
40
ILUT
41
};
42
44
SolverType
solver_type
;
46
PreconType
precon_type
;
48
int
max_iterations
;
50
double
error_tolerance
;
51
#ifdef USE_EIGEN_UNSUPPORTED
53
bool
scaling;
55
int
restart;
56
int
l;
57
int
s
;
58
double
angle;
59
bool
smoothing;
60
bool
residualupdate;
61
#endif
62
67
EigenOption
();
68
75
static
SolverType
getSolverType
(
const
std::string& solver_name);
76
83
static
PreconType
getPreconType
(
const
std::string& precon_name);
84
86
static
std::string
getSolverName
(
SolverType
const
solver_type
);
87
89
static
std::string
getPreconName
(
PreconType
const
precon_type
);
90
};
91
92
}
// namespace MathLib
MathLib
Definition
CreateComponent.h:32
MathLib::s
static const double s
Definition
GaussLegendreTet.cpp:102
MathLib::EigenOption
Option for Eigen sparse solver.
Definition
EigenOption.h:19
MathLib::EigenOption::precon_type
PreconType precon_type
Preconditioner type.
Definition
EigenOption.h:46
MathLib::EigenOption::getSolverName
static std::string getSolverName(SolverType const solver_type)
return a linear solver name from the solver type
Definition
EigenOption.cpp:100
MathLib::EigenOption::PreconType
PreconType
Preconditioner type.
Definition
EigenOption.h:36
MathLib::EigenOption::PreconType::ILUT
@ ILUT
MathLib::EigenOption::PreconType::LeastSquareDIAGONAL
@ LeastSquareDIAGONAL
MathLib::EigenOption::PreconType::NONE
@ NONE
MathLib::EigenOption::PreconType::DIAGONAL
@ DIAGONAL
MathLib::EigenOption::getPreconType
static PreconType getPreconType(const std::string &precon_name)
Definition
EigenOption.cpp:77
MathLib::EigenOption::solver_type
SolverType solver_type
Linear solver type.
Definition
EigenOption.h:44
MathLib::EigenOption::error_tolerance
double error_tolerance
Error tolerance.
Definition
EigenOption.h:50
MathLib::EigenOption::SolverType
SolverType
Solver type.
Definition
EigenOption.h:22
MathLib::EigenOption::SolverType::BiCGSTAB
@ BiCGSTAB
MathLib::EigenOption::SolverType::IDRS
@ IDRS
MathLib::EigenOption::SolverType::CG
@ CG
MathLib::EigenOption::SolverType::LeastSquareCG
@ LeastSquareCG
MathLib::EigenOption::SolverType::SparseLU
@ SparseLU
MathLib::EigenOption::SolverType::BiCGSTABL
@ BiCGSTABL
MathLib::EigenOption::SolverType::PardisoLU
@ PardisoLU
MathLib::EigenOption::SolverType::GMRES
@ GMRES
MathLib::EigenOption::SolverType::IDRSTABL
@ IDRSTABL
MathLib::EigenOption::getSolverType
static SolverType getSolverType(const std::string &solver_name)
Definition
EigenOption.cpp:34
MathLib::EigenOption::EigenOption
EigenOption()
Definition
EigenOption.cpp:17
MathLib::EigenOption::getPreconName
static std::string getPreconName(PreconType const precon_type)
return a preconditioner name from the preconditioner type
Definition
EigenOption.cpp:126
MathLib::EigenOption::max_iterations
int max_iterations
Maximum iteration count.
Definition
EigenOption.h:48
MathLib
LinAlg
Eigen
EigenOption.h
Generated by
1.11.0