OGS
CreateTwoPhaseFlowWithPPProcess.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
4#pragma once
5
6#include <map>
7#include <memory>
8#include <string>
9#include <vector>
10
11namespace BaseLib
12{
13class ConfigTree;
14}
15namespace MaterialPropertyLib
16{
17class Medium;
18}
19namespace MathLib
20{
22}
23namespace MeshLib
24{
25class Mesh;
26}
27namespace ParameterLib
28{
29struct ParameterBase;
30}
31namespace ProcessLib
32{
34}
35namespace ProcessLib
36{
37class Process;
38}
39namespace ProcessLib
40{
41class ProcessVariable;
42}
43
44namespace ProcessLib
45{
46namespace TwoPhaseFlowWithPP
47{
48std::unique_ptr<Process> createTwoPhaseFlowWithPPProcess(
49 std::string const& name,
50 MeshLib::Mesh& mesh,
51 std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
52 std::vector<ProcessVariable> const& variables,
53 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
54 unsigned const integration_order,
55 BaseLib::ConfigTree const& config,
56 std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
57} // namespace TwoPhaseFlowWithPP
58} // namespace ProcessLib
Base class for Jacobian assemblers.
std::unique_ptr< Process > createTwoPhaseFlowWithPPProcess(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, unsigned const integration_order, BaseLib::ConfigTree const &config, std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)