OGS
HydroMechanicsProcessData.h
Go to the documentation of this file.
1 
11 #pragma once
12 
13 #include <Eigen/Dense>
14 #include <memory>
15 #include <utility>
16 
17 #include "MeshLib/ElementStatus.h"
18 #include "MeshLib/PropertyVector.h"
19 
22 
24 
25 namespace MeshLib
26 {
27 class Element;
28 }
29 
30 namespace ProcessLib
31 {
32 namespace LIE
33 {
34 namespace HydroMechanics
35 {
36 template <int GlobalDim>
38 {
40  MeshLib::PropertyVector<int> const* const material_ids_,
41  std::map<
42  int,
44  solid_materials_,
45  ParameterLib::Parameter<double> const& intrinsic_permeability_,
46  ParameterLib::Parameter<double> const& specific_storage_,
47  ParameterLib::Parameter<double> const& fluid_viscosity_,
48  ParameterLib::Parameter<double> const& fluid_density_,
49  ParameterLib::Parameter<double> const& biot_coefficient_,
50  ParameterLib::Parameter<double> const& porosity_,
51  ParameterLib::Parameter<double> const& solid_density_,
52  Eigen::Matrix<double, GlobalDim, 1>
53  specific_body_force_,
56  std::unique_ptr<FracturePropertyHM>&& fracture_prop,
57  ParameterLib::Parameter<double> const& initial_effective_stress_,
59  initial_fracture_effective_stress_,
60  bool const deactivate_matrix_in_flow_,
61  double const reference_temperature_)
62  : material_ids(material_ids_),
63  solid_materials{std::move(solid_materials_)},
64  intrinsic_permeability(intrinsic_permeability_),
65  specific_storage(specific_storage_),
66  fluid_viscosity(fluid_viscosity_),
67  fluid_density(fluid_density_),
68  biot_coefficient(biot_coefficient_),
69  porosity(porosity_),
70  solid_density(solid_density_),
71  specific_body_force(std::move(specific_body_force_)),
72  fracture_model{std::move(fracture_model)},
73  fracture_property{std::move(fracture_prop)},
74  initial_effective_stress(initial_effective_stress_),
75  initial_fracture_effective_stress(initial_fracture_effective_stress_),
76  deactivate_matrix_in_flow(deactivate_matrix_in_flow_),
77  reference_temperature(reference_temperature_)
78  {
79  }
80 
82 
85 
87  void operator=(HydroMechanicsProcessData const&) = delete;
88 
91 
93  std::map<int,
94  std::unique_ptr<MaterialLib::Solids::MechanicsBase<GlobalDim>>>
103  Eigen::Matrix<double, GlobalDim, 1> const specific_body_force;
104  std::unique_ptr<MaterialLib::Fracture::FractureModelBase<GlobalDim>>
106  std::unique_ptr<FracturePropertyHM> fracture_property;
109 
111  std::unique_ptr<MeshLib::ElementStatus> p_element_status;
113 
114  // mesh properties for output
140 
144 
145  double const reference_temperature;
146 
148 };
149 
150 } // namespace HydroMechanics
151 } // namespace LIE
152 } // 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