OGS
HydroMechanicsProcessData.h
Go to the documentation of this file.
1 
11 #pragma once
12 
13 #include <Eigen/Core>
14 #include <memory>
15 #include <utility>
16 
19 #include "MeshLib/ElementStatus.h"
20 #include "MeshLib/PropertyVector.h"
22 
23 namespace MeshLib
24 {
25 class Element;
26 }
27 
28 namespace ProcessLib
29 {
30 namespace LIE
31 {
32 namespace HydroMechanics
33 {
34 template <int GlobalDim>
36 {
38  MeshLib::PropertyVector<int> const* const material_ids_,
39  std::map<
40  int,
42  solid_materials_,
43  ParameterLib::Parameter<double> const& intrinsic_permeability_,
44  ParameterLib::Parameter<double> const& specific_storage_,
45  ParameterLib::Parameter<double> const& fluid_viscosity_,
46  ParameterLib::Parameter<double> const& fluid_density_,
47  ParameterLib::Parameter<double> const& biot_coefficient_,
48  ParameterLib::Parameter<double> const& porosity_,
49  ParameterLib::Parameter<double> const& solid_density_,
50  Eigen::Matrix<double, GlobalDim, 1>
51  specific_body_force_,
54  std::unique_ptr<FracturePropertyHM>&& fracture_prop,
55  ParameterLib::Parameter<double> const& initial_effective_stress_,
57  initial_fracture_effective_stress_,
58  bool const deactivate_matrix_in_flow_,
59  double const reference_temperature_)
60  : material_ids(material_ids_),
61  solid_materials{std::move(solid_materials_)},
62  intrinsic_permeability(intrinsic_permeability_),
63  specific_storage(specific_storage_),
64  fluid_viscosity(fluid_viscosity_),
65  fluid_density(fluid_density_),
66  biot_coefficient(biot_coefficient_),
67  porosity(porosity_),
68  solid_density(solid_density_),
69  specific_body_force(std::move(specific_body_force_)),
70  fracture_model{std::move(fracture_model)},
71  fracture_property{std::move(fracture_prop)},
72  initial_effective_stress(initial_effective_stress_),
73  initial_fracture_effective_stress(initial_fracture_effective_stress_),
74  deactivate_matrix_in_flow(deactivate_matrix_in_flow_),
75  reference_temperature(reference_temperature_)
76  {
77  }
78 
80 
83 
85  void operator=(HydroMechanicsProcessData const&) = delete;
86 
89 
91  std::map<int,
92  std::unique_ptr<MaterialLib::Solids::MechanicsBase<GlobalDim>>>
101  Eigen::Matrix<double, GlobalDim, 1> const specific_body_force;
102  std::unique_ptr<MaterialLib::Fracture::FractureModelBase<GlobalDim>>
104  std::unique_ptr<FracturePropertyHM> fracture_property;
107 
109  std::unique_ptr<MeshLib::ElementStatus> p_element_status;
111 
112  // mesh properties for output
138 
142 
143  double const reference_temperature;
144 
146 };
147 
148 } // namespace HydroMechanics
149 } // namespace LIE
150 } // namespace ProcessLib
Definition of the ElementStatus class.
ParameterLib::Parameter< double > const & intrinsic_permeability
MeshLib::PropertyVector< int > const *const material_ids
ParameterLib::Parameter< double > const & initial_fracture_effective_stress
Eigen::Matrix< double, GlobalDim, 1 > const specific_body_force
std::map< int, std::unique_ptr< MaterialLib::Solids::MechanicsBase< GlobalDim > > > solid_materials
HydroMechanicsProcessData(HydroMechanicsProcessData const &)=delete
Copies are forbidden.
HydroMechanicsProcessData(MeshLib::PropertyVector< int > const *const material_ids_, std::map< int, std::unique_ptr< MaterialLib::Solids::MechanicsBase< GlobalDim >>> &&solid_materials_, ParameterLib::Parameter< double > const &intrinsic_permeability_, ParameterLib::Parameter< double > const &specific_storage_, ParameterLib::Parameter< double > const &fluid_viscosity_, ParameterLib::Parameter< double > const &fluid_density_, ParameterLib::Parameter< double > const &biot_coefficient_, ParameterLib::Parameter< double > const &porosity_, ParameterLib::Parameter< double > const &solid_density_, Eigen::Matrix< double, GlobalDim, 1 > specific_body_force_, std::unique_ptr< MaterialLib::Fracture::FractureModelBase< GlobalDim >> &&fracture_model, std::unique_ptr< FracturePropertyHM > &&fracture_prop, ParameterLib::Parameter< double > const &initial_effective_stress_, ParameterLib::Parameter< double > const &initial_fracture_effective_stress_, bool const deactivate_matrix_in_flow_, double const reference_temperature_)
void operator=(HydroMechanicsProcessData const &)=delete
Assignments are not needed.
void operator=(HydroMechanicsProcessData &&)=delete
Assignments are not needed.
ParameterLib::Parameter< double > const & initial_effective_stress
HydroMechanicsProcessData(HydroMechanicsProcessData &&other)=default
std::unique_ptr< MaterialLib::Fracture::FractureModelBase< GlobalDim > > fracture_model