OGS
EigenLis/LinearSolverOptionsParser.cpp
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 "
LinearSolverOptionsParser.h
"
7
8
#include "
BaseLib/ConfigTree.h
"
9
#include "
BaseLib/Logging.h
"
10
#include "
MathLib/LinAlg/LinearSolverOptions.h
"
11
12
namespace
MathLib
13
{
14
std::tuple<std::string, std::string>
15
LinearSolverOptionsParser<EigenLisLinearSolver>::parseNameAndOptions
(
16
std::string
const
& prefix,
BaseLib::ConfigTree
const
*
const
config)
const
17
{
18
std::string lis_options =
"-initx_zeros 0"
;
19
20
if
(config)
21
{
22
ignoreOtherLinearSolvers
(*config,
"lis"
);
24
if
(
auto
s
= config->
getConfigParameterOptional
<std::string>(
"lis"
))
25
{
26
if
(!
s
->empty())
27
{
28
lis_options +=
" "
+ *
s
;
29
INFO
(
"Lis options: '{:s}'"
, lis_options);
30
}
31
}
32
}
33
return
{prefix, lis_options};
34
}
35
}
// namespace MathLib
ConfigTree.h
LinearSolverOptionsParser.h
LinearSolverOptions.h
Logging.h
INFO
void INFO(fmt::format_string< Args... > fmt, Args &&... args)
Definition
Logging.h:28
BaseLib::ConfigTree
Definition
ConfigTree.h:101
BaseLib::ConfigTree::getConfigParameterOptional
std::optional< T > getConfigParameterOptional(std::string const ¶m) const
Definition
ConfigTree-impl.h:58
MathLib
Definition
CreateComponent.h:23
MathLib::s
static const double s
Definition
GaussLegendreTet.cpp:95
MathLib::ignoreOtherLinearSolvers
void ignoreOtherLinearSolvers(const BaseLib::ConfigTree &config, const std::string &solver_name)
Definition
LinearSolverOptions.cpp:17
MathLib::LinearSolverOptionsParser
Definition
LinearSolverOptionsParser.h:9
MathLib
LinAlg
EigenLis
LinearSolverOptionsParser.cpp
Generated by
1.14.0