OGS
EigenOption.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <string>
7
8namespace MathLib
9{
11struct EigenOption final
12{
26
35
37 enum class TriangularMatrixType : short
38 {
42 };
43
54#ifdef USE_EIGEN_UNSUPPORTED
56 bool scaling;
58 int restart;
59 int l;
60 int s;
61 double angle;
62 bool smoothing;
63 bool residualupdate;
64#endif
65
71
78 static SolverType getSolverType(const std::string& solver_name);
79
86 static PreconType getPreconType(const std::string& precon_name);
87
95 const std::string& triangular_matrix_name);
96
98 static std::string getSolverName(SolverType const solver_type);
99
101 static std::string getPreconName(PreconType const precon_type);
102
104 static std::string getTriangularMatrixName(
106};
107
108} // namespace MathLib
static const double s
TriangularMatrixType
triangular matrix type
Definition EigenOption.h:38
static TriangularMatrixType getTriangularMatrixType(const std::string &triangular_matrix_name)
PreconType precon_type
Preconditioner type.
Definition EigenOption.h:47
static std::string getSolverName(SolverType const solver_type)
return a linear solver name from the solver type
TriangularMatrixType triangular_matrix_type
Triangular Matrix Type.
Definition EigenOption.h:49
PreconType
Preconditioner type.
Definition EigenOption.h:29
static std::string getTriangularMatrixName(TriangularMatrixType const triangular_matrix_type)
return a triangular matrix name from the preconditioner type
static PreconType getPreconType(const std::string &precon_name)
SolverType solver_type
Linear solver type.
Definition EigenOption.h:45
double error_tolerance
Error tolerance.
Definition EigenOption.h:53
SolverType
Solver type.
Definition EigenOption.h:15
static SolverType getSolverType(const std::string &solver_name)
static std::string getPreconName(PreconType const precon_type)
return a preconditioner name from the preconditioner type
int max_iterations
Maximum iteration count.
Definition EigenOption.h:51