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
BiCGSTAB
,
25
BiCGSTABL
,
26
IDRS
,
27
IDRSTABL
,
28
SparseLU
,
29
PardisoLU
,
30
GMRES
31
};
32
34
enum class
PreconType
:
short
35
{
36
NONE
,
37
DIAGONAL
,
38
ILUT
39
};
40
42
SolverType
solver_type
;
44
PreconType
precon_type
;
46
int
max_iterations
;
48
double
error_tolerance
;
49
#ifdef USE_EIGEN_UNSUPPORTED
51
bool
scaling;
53
int
restart;
54
int
l;
55
int
s
;
56
double
angle;
57
bool
smoothing;
58
bool
residualupdate;
59
#endif
60
65
EigenOption
();
66
73
static
SolverType
getSolverType
(
const
std::string& solver_name);
74
81
static
PreconType
getPreconType
(
const
std::string& precon_name);
82
84
static
std::string
getSolverName
(
SolverType
const
solver_type
);
85
87
static
std::string
getPreconName
(
PreconType
const
precon_type
);
88
};
89
90
}
// 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:44
MathLib::EigenOption::getSolverName
static std::string getSolverName(SolverType const solver_type)
return a linear solver name from the solver type
Definition
EigenOption.cpp:92
MathLib::EigenOption::PreconType
PreconType
Preconditioner type.
Definition
EigenOption.h:35
MathLib::EigenOption::PreconType::ILUT
@ ILUT
MathLib::EigenOption::PreconType::NONE
@ NONE
MathLib::EigenOption::PreconType::DIAGONAL
@ DIAGONAL
MathLib::EigenOption::getPreconType
static PreconType getPreconType(const std::string &precon_name)
Definition
EigenOption.cpp:73
MathLib::EigenOption::solver_type
SolverType solver_type
Linear solver type.
Definition
EigenOption.h:42
MathLib::EigenOption::error_tolerance
double error_tolerance
Error tolerance.
Definition
EigenOption.h:48
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::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:116
MathLib::EigenOption::max_iterations
int max_iterations
Maximum iteration count.
Definition
EigenOption.h:46
MathLib
LinAlg
Eigen
EigenOption.h
Generated by
1.12.0