OGS
CreateChemicalSolverInterface.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
28#pragma once
29
30#include <map>
31#include <memory>
32#include <string>
33#include <vector>
34
35#include "ChemicalSolverType.h"
37
38namespace BaseLib
39{
40class ConfigTree;
41}
42
43namespace MeshLib
44{
45class Mesh;
46}
47
48namespace ChemistryLib
49{
51
52template <ChemicalSolver chemical_solver>
53std::unique_ptr<ChemicalSolverInterface> createChemicalSolverInterface(
54 std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes,
55 std::map<std::string, std::unique_ptr<GlobalLinearSolver>> const&
56 linear_solvers,
57 BaseLib::ConfigTree const& config, std::string const& output_directory);
58} // namespace ChemistryLib
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)