From 6c71fecba185ab099a41585d49d4c52b7910a587 Mon Sep 17 00:00:00 2001
From: Thomas Fischer <thomas.fischer@ufz.de>
Date: Mon, 20 Dec 2021 08:46:59 +0100
Subject: [PATCH] [A/AppLib/ProjectData] Adjustments for
 LinearSolverOptionsParser.

Use LinearSolverOptionsParser to construct linear solver object instead of
passing ConfigTree to constructor.
---
 Applications/ApplicationsLib/ProjectData.cpp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/Applications/ApplicationsLib/ProjectData.cpp b/Applications/ApplicationsLib/ProjectData.cpp
index 434869390cd..cecca9cbdd1 100644
--- a/Applications/ApplicationsLib/ProjectData.cpp
+++ b/Applications/ApplicationsLib/ProjectData.cpp
@@ -1142,10 +1142,16 @@ void ProjectData::parseLinearSolvers(BaseLib::ConfigTree const& config)
     {
         //! \ogs_file_param{prj__linear_solvers__linear_solver__name}
         auto const name = conf.getConfigParameter<std::string>("name");
+        auto const linear_solver_parser =
+            MathLib::LinearSolverOptionsParser<GlobalLinearSolver>{};
+        auto const solver_options =
+            linear_solver_parser.parseNameAndOptions("", &conf);
+
         BaseLib::insertIfKeyUniqueElseError(
             _linear_solvers,
             name,
-            std::make_unique<GlobalLinearSolver>("", &conf),
+            std::make_unique<GlobalLinearSolver>(std::get<0>(solver_options),
+                                                 std::get<1>(solver_options)),
             "The linear solver name is not unique");
     }
 }
-- 
GitLab