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
7
9#include "BaseLib/Logging.h"
11
12namespace MathLib
13{
14std::tuple<std::string, std::string>
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
void INFO(fmt::format_string< Args... > fmt, Args &&... args)
Definition Logging.h:28
std::optional< T > getConfigParameterOptional(std::string const &param) const
static const double s
void ignoreOtherLinearSolvers(const BaseLib::ConfigTree &config, const std::string &solver_name)