OGS
CreateTwoPhaseFlowWithPPProcess.h
Go to the documentation of this file.
1
11#pragma once
12
13#include <map>
14#include <memory>
15#include <string>
16#include <vector>
17
18namespace BaseLib
19{
20class ConfigTree;
21}
22namespace MaterialPropertyLib
23{
24class Medium;
25}
26namespace MathLib
27{
28class PiecewiseLinearInterpolation;
29}
30namespace MeshLib
31{
32class Mesh;
33}
34namespace ParameterLib
35{
36struct ParameterBase;
37}
38namespace ProcessLib
39{
40class AbstractJacobianAssembler;
41}
42namespace ProcessLib
43{
44class Process;
45}
46namespace ProcessLib
47{
48class ProcessVariable;
49}
50
51namespace ProcessLib
52{
53namespace TwoPhaseFlowWithPP
54{
55std::unique_ptr<Process> createTwoPhaseFlowWithPPProcess(
56 std::string const& name,
57 MeshLib::Mesh& mesh,
58 std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
59 std::vector<ProcessVariable> const& variables,
60 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
61 unsigned const integration_order,
62 BaseLib::ConfigTree const& config,
63 std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
64} // namespace TwoPhaseFlowWithPP
65} // namespace ProcessLib
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)