OGS
ConstitutiveData.h
Go to the documentation of this file.
1
10#pragma once
11
12#include "Biot.h"
13#include "Bishops.h"
14#include "ConstitutiveDensity.h"
16#include "Enthalpy.h"
18#include "FluidDensity.h"
19#include "MassMoleFractions.h"
20#include "MechanicalStrain.h"
21#include "PermeabilityData.h"
22#include "PhaseTransitionData.h"
23#include "Porosity.h"
27#include "PureLiquidDensity.h"
28#include "Saturation.h"
30#include "SolidDensity.h"
31#include "SolidMechanics.h"
33#include "Swelling.h"
34#include "TotalStress.h"
36#include "Viscosity.h"
37
38namespace ProcessLib::TH2M
39{
40namespace ConstitutiveRelations
41{
43template <int DisplacementDim>
62
63template <int DisplacementDim>
87
89template <int DisplacementDim>
91{
100
101 static auto reflect()
102 {
103 using Self = OutputData<DisplacementDim>;
104
105 return Reflection::reflectWithoutName(&Self::eps_data,
106 &Self::permeability_data,
107 &Self::enthalpy_data,
108 &Self::mass_mole_fractions_data,
109 &Self::fluid_density_data,
110 &Self::vapour_pressure_data,
111 &Self::porosity_data,
112 &Self::solid_density_data);
113 }
114};
115
117template <int DisplacementDim>
122
125template <int DisplacementDim>
127{
141
142 using DisplacementDimVector = Eigen::Matrix<double, DisplacementDim, 1>;
144 Eigen::Matrix<double, DisplacementDim, DisplacementDim>;
145
177 double drho_u_eff_dT = std::numeric_limits<double>::quiet_NaN();
178 double drho_u_eff_dp_GR = std::numeric_limits<double>::quiet_NaN();
179 double drho_u_eff_dp_cap = std::numeric_limits<double>::quiet_NaN();
180 double drho_h_eff_dT = std::numeric_limits<double>::quiet_NaN();
181 double drho_h_eff_dp_GR = std::numeric_limits<double>::quiet_NaN();
182 double drho_h_eff_dp_cap = std::numeric_limits<double>::quiet_NaN();
183 double dh_G_dT = std::numeric_limits<double>::quiet_NaN();
184 double dh_L_dT = std::numeric_limits<double>::quiet_NaN();
185 double dfC_4_MCpG_dp_GR = std::numeric_limits<double>::quiet_NaN();
186 double dfC_4_MCpG_dT = std::numeric_limits<double>::quiet_NaN();
187 double dfC_4_MCT_dT = std::numeric_limits<double>::quiet_NaN();
188 double dfC_4_MCu_dT = std::numeric_limits<double>::quiet_NaN();
189 double dfC_3a_dp_GR = std::numeric_limits<double>::quiet_NaN();
190 double dfC_3a_dp_cap = std::numeric_limits<double>::quiet_NaN();
191 double dfC_3a_dT = std::numeric_limits<double>::quiet_NaN();
192 double dfC_2a_dp_GR = std::numeric_limits<double>::quiet_NaN();
193 double dfC_2a_dp_cap = std::numeric_limits<double>::quiet_NaN();
194 double dfC_2a_dT = std::numeric_limits<double>::quiet_NaN();
195 double dfW_2a_dp_GR = std::numeric_limits<double>::quiet_NaN();
196 double dfW_2b_dp_GR = std::numeric_limits<double>::quiet_NaN();
197 double dfW_2a_dp_cap = std::numeric_limits<double>::quiet_NaN();
198 double dfW_2b_dp_cap = std::numeric_limits<double>::quiet_NaN();
199 double dfW_2a_dT = std::numeric_limits<double>::quiet_NaN();
200 double dfW_2b_dT = std::numeric_limits<double>::quiet_NaN();
201 double dfW_3a_dp_GR = std::numeric_limits<double>::quiet_NaN();
202 double dfW_3a_dp_cap = std::numeric_limits<double>::quiet_NaN();
203 double dfW_3a_dT = std::numeric_limits<double>::quiet_NaN();
204};
205} // namespace ConstitutiveRelations
206} // namespace ProcessLib::TH2M
auto reflectWithoutName(Accessors &&... accessors)
Represents a previous state of type T.
Definition Base.h:21
Data that is needed for the equation system assembly.
SolidMechanicsDataStateless< DisplacementDim > s_mech_data
Eigen::Matrix< double, DisplacementDim, DisplacementDim > DisplacementDimMatrix
Eigen::Matrix< double, DisplacementDim, 1 > DisplacementDimVector
ElasticTangentStiffnessData< DisplacementDim > C_el_data
SolidThermalExpansionData< DisplacementDim > s_therm_exp_data
Data that is needed for output purposes.
ProcessLib::ConstitutiveRelations::StrainData< DisplacementDim > eps_data
PermeabilityData< DisplacementDim > permeability_data
PrevState< MechanicalStrainData< DisplacementDim > > mechanical_strain_data
PrevState< ProcessLib::ConstitutiveRelations::StressData< DisplacementDim > > eff_stress_data
StatefulDataPrev< DisplacementDim > & operator=(StatefulData< DisplacementDim > const &state)
PrevState< ConstituentDensityData > constituent_density_data
PrevState< SwellingDataStateful< DisplacementDim > > swelling_data
Data whose state must be tracked by the process.
ProcessLib::ConstitutiveRelations::StressData< DisplacementDim > eff_stress_data
SwellingDataStateful< DisplacementDim > swelling_data
MechanicalStrainData< DisplacementDim > mechanical_strain_data