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