diff --git a/Applications/ApplicationsLib/ProjectData.cpp b/Applications/ApplicationsLib/ProjectData.cpp index 177afcbaeb1266fc4957b77f2a4582e61c430828..5b2209b42d001d700b83881f9c930a9da0172c57 100644 --- a/Applications/ApplicationsLib/ProjectData.cpp +++ b/Applications/ApplicationsLib/ProjectData.cpp @@ -554,8 +554,8 @@ ProjectData::parseChemicalSolverInterface( "using file-based approach."); chemical_solver_interface = ChemistryLib::createChemicalSolverInterface< - ChemistryLib::ChemicalSolver::Phreeqc>(_mesh_vec, *config, - output_directory); + ChemistryLib::ChemicalSolver::Phreeqc>(_mesh_vec, _linear_solvers, + *config, output_directory); } else if (boost::iequals(chemical_solver, "PhreeqcKernel")) { diff --git a/ChemistryLib/CreateChemicalSolverInterface.cpp b/ChemistryLib/CreateChemicalSolverInterface.cpp index e3e6275b6773be9af6a9f31e0d7fc2df97959c19..9588791cc0b3508b5a177c6b589a95129e41733b 100644 --- a/ChemistryLib/CreateChemicalSolverInterface.cpp +++ b/ChemistryLib/CreateChemicalSolverInterface.cpp @@ -64,6 +64,8 @@ template <> std::unique_ptr<ChemicalSolverInterface> createChemicalSolverInterface<ChemicalSolver::Phreeqc>( std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes, + std::map<std::string, std::unique_ptr<GlobalLinearSolver>> const& + linear_solvers, BaseLib::ConfigTree const& config, std::string const& output_directory) { auto mesh_name = @@ -145,6 +147,8 @@ template <> std::unique_ptr<ChemicalSolverInterface> createChemicalSolverInterface<ChemicalSolver::PhreeqcKernel>( std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes, + std::map<std::string, std::unique_ptr<GlobalLinearSolver>> const& + linear_solvers, BaseLib::ConfigTree const& config, std::string const& /*output_directory*/) { auto mesh = *meshes[0]; diff --git a/ChemistryLib/CreateChemicalSolverInterface.h b/ChemistryLib/CreateChemicalSolverInterface.h index 104c80636665a39092b6f7f22fc130b542616449..85c4ba782d165647cc345053a82c1d78660c4b2e 100644 --- a/ChemistryLib/CreateChemicalSolverInterface.h +++ b/ChemistryLib/CreateChemicalSolverInterface.h @@ -10,11 +10,13 @@ #pragma once +#include <map> #include <memory> #include <string> #include <vector> #include "ChemicalSolverType.h" +#include "MathLib/LinAlg/GlobalMatrixVectorTypes.h" namespace BaseLib { @@ -33,5 +35,7 @@ class ChemicalSolverInterface; template <ChemicalSolver chemical_solver> std::unique_ptr<ChemicalSolverInterface> createChemicalSolverInterface( std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes, + std::map<std::string, std::unique_ptr<GlobalLinearSolver>> const& + linear_solvers, BaseLib::ConfigTree const& config, std::string const& output_directory); } // namespace ChemistryLib