OGS
CEquation.h
Go to the documentation of this file.
1
10#pragma once
11
12#include "Advection.h"
13#include "Base.h"
14#include "Biot.h"
15#include "ConstitutiveDensity.h"
16#include "FluidDensity.h"
17#include "PermeabilityData.h"
18#include "PhaseTransitionData.h"
19#include "Porosity.h"
20#include "Saturation.h"
22#include "Viscosity.h"
23
24namespace ProcessLib::TH2M
25{
26namespace ConstitutiveRelations
27{
28template <int DisplacementDim>
33
34template <int DisplacementDim>
36{
37 void eval(AdvectionData<DisplacementDim> const& advection_data,
38 FluidDensityData const& fluid_density_data,
39 FC1Data<DisplacementDim>& fC_1) const;
40};
41
42extern template struct FC1Model<2>;
43extern template struct FC1Model<3>;
44
46{
47 double a = nan;
48};
49
51{
52 double dp_GR = nan;
53 double dp_cap = nan;
54 double dT = nan;
55};
56
58{
59 void eval(BiotData const biot_data,
60 CapillaryPressureData const pCap,
61 ConstituentDensityData const& constituent_density_data,
62 PorosityData const& porosity_data,
63 SaturationData const& S_L_data,
64 SolidCompressibilityData const beta_p_SR,
65 FC2aData& fC_2a) const;
66
67 void dEval(BiotData const& biot_data,
68 CapillaryPressureData const pCap,
69 ConstituentDensityData const& constituent_density_data,
70 PhaseTransitionData const& phase_transition_data,
71 PorosityData const& porosity_data,
72 PorosityDerivativeData const& porosity_d_data,
73 SaturationData const& S_L_data,
74 SaturationDataDeriv const& dS_L_dp_cap,
75 SolidCompressibilityData const& beta_p_SR,
76 FC2aDerivativeData& dfC_2a) const;
77};
78
80{
81 double a = nan;
82};
83
85{
86 double dp_GR = nan;
87 double dp_cap = nan;
88 double dT = nan;
89};
90
92{
93 void eval(
94 double const dt,
95 ConstituentDensityData const& constituent_density_data,
96 PrevState<ConstituentDensityData> const& constituent_density_data_prev,
97 SaturationData const& S_L_data,
98 FC3aData& fC_3a) const;
99
100 void dEval(
101 double const dt,
102 ConstituentDensityData const& constituent_density_data,
103 PrevState<ConstituentDensityData> const& constituent_density_data_prev,
104 PhaseTransitionData const& phase_transition_data,
105 SaturationData const& S_L_data,
106 SaturationDataDeriv const& dS_L_dp_cap,
107 FC3aDerivativeData& dfC_3a) const;
108};
109
110template <int DisplacementDim>
115
116template <int DisplacementDim>
123
124template <int DisplacementDim>
126{
127 void eval(AdvectionData<DisplacementDim> const& advection_data,
128 FluidDensityData const& fluid_density_data,
129 PhaseTransitionData const& phase_transition_data,
130 PorosityData const& porosity_data,
131 SaturationData const& S_L_data,
132 FC4LCpGData<DisplacementDim>& fC_4_LCpG) const;
133
134 void dEval(PermeabilityData<DisplacementDim> const& permeability_data,
135 ViscosityData const& viscosity_data,
136 PhaseTransitionData const& phase_transition_data,
137 AdvectionDerivativeData<DisplacementDim> const& advection_d_data,
139};
140
141extern template struct FC4LCpGModel<2>;
142extern template struct FC4LCpGModel<3>;
143
144template <int DisplacementDim>
149
150template <int DisplacementDim>
157
158template <int DisplacementDim>
160{
161 void eval(AdvectionData<DisplacementDim> const& advection_data,
162 FluidDensityData const& fluid_density_data,
163 PhaseTransitionData const& phase_transition_data,
164 PorosityData const& porosity_data,
165 SaturationData const& S_L_data,
166 FC4LCpCData<DisplacementDim>& fC_4_LCpC) const;
167
168 void dEval(ConstituentDensityData const& constituent_density_data,
169 PermeabilityData<DisplacementDim> const& permeability_data,
170 PhaseTransitionData const& phase_transition_data,
171 SaturationDataDeriv const& dS_L_dp_cap,
172 ViscosityData const& viscosity_data,
174};
175
176extern template struct FC4LCpCModel<2>;
177extern template struct FC4LCpCModel<3>;
178
179template <int DisplacementDim>
184
185template <int DisplacementDim>
187{
188 void eval(FluidDensityData const& fluid_density_data,
189 PhaseTransitionData const& phase_transition_data,
190 PorosityData const& porosity_data,
191 SaturationData const& S_L_data,
192 FC4LCTData<DisplacementDim>& fC_4_LCT) const;
193};
194
196{
197 double m = nan;
198};
199
201{
202 double dp_GR = nan;
203 double dT = nan;
204};
205
207{
208 void eval(BiotData const& biot_data,
209 ConstituentDensityData const& constituent_density_data,
210 PorosityData const& porosity_data,
211 SaturationData const& S_L_data,
212 SolidCompressibilityData const& beta_p_SR,
213 FC4MCpGData& fC_4_MCpG) const;
214
215 void dEval(BiotData const& biot_data,
216 ConstituentDensityData const& constituent_density_data,
217 PhaseTransitionData const& phase_transition_data,
218 PorosityData const& porosity_data,
219 PorosityDerivativeData const& porosity_d_data,
220 SaturationData const& S_L_data,
221 SolidCompressibilityData const& beta_p_SR,
222 FC4MCpGDerivativeData& dfC_4_MCpG) const;
223};
224
226{
227 double m = nan;
228 double ml = nan;
229};
230
232{
233 void eval(BiotData const& biot_data,
234 CapillaryPressureData const pCap,
235 ConstituentDensityData const& constituent_density_data,
236 PorosityData const& porosity_data,
237 PrevState<SaturationData> const& S_L_data_prev,
238 SaturationData const& S_L_data,
239 SolidCompressibilityData const& beta_p_SR,
240 FC4MCpCData& fC_4_MCpC) const;
241};
242
244{
245 double m = nan;
246};
247
249{
250 double dT = nan;
251};
252
253template <int DisplacementDim>
255{
256 void eval(
257 BiotData const& biot_data,
258 ConstituentDensityData const& constituent_density_data,
259 PorosityData const& porosity_data,
260 SaturationData const& S_L_data,
261 SolidThermalExpansionData<DisplacementDim> const& s_therm_exp_data,
262 FC4MCTData& fC_4_MCT) const;
263
264 void dEval(
265 BiotData const& biot_data,
266 ConstituentDensityData const& constituent_density_data,
267 PhaseTransitionData const& phase_transition_data,
268 PorosityData const& porosity_data,
269 PorosityDerivativeData const& porosity_d_data,
270 SaturationData const& S_L_data,
271 SolidThermalExpansionData<DisplacementDim> const& s_therm_exp_data,
272 FC4MCTDerivativeData& dfC_4_MCT) const;
273};
274
276{
277 double m = nan;
278};
279
281{
282 double dT = nan;
283};
284
286{
287 void eval(BiotData const& biot_data,
288 ConstituentDensityData const& constituent_density_data,
289 SaturationData const& S_L_data,
290 FC4MCuData& fC_4_MCu) const;
291
292 void dEval(BiotData const& biot_data,
293 PhaseTransitionData const& phase_transition_data,
294 SaturationData const& S_L_data,
295 FC4MCuDerivativeData& dfC_4_MCu) const;
296};
297
298extern template struct FC4MCTModel<2>;
299extern template struct FC4MCTModel<3>;
300} // namespace ConstitutiveRelations
301} // namespace ProcessLib::TH2M
static constexpr double nan
Convenience alias for not a number.
Definition Base.h:80
Eigen::Matrix< double, DisplacementDim, DisplacementDim, Eigen::RowMajor > GlobalDimMatrix
Definition Base.h:32
Represents a previous state of type T.
Definition Base.h:21
GlobalDimMatrix< DisplacementDim > A
Definition CEquation.h:31
void eval(AdvectionData< DisplacementDim > const &advection_data, FluidDensityData const &fluid_density_data, FC1Data< DisplacementDim > &fC_1) const
Definition CEquation.cpp:17
GlobalDimMatrix< DisplacementDim > L
Definition CEquation.h:182
GlobalDimMatrix< DisplacementDim > L
Definition CEquation.h:147
GlobalDimMatrix< DisplacementDim > L
Definition CEquation.h:113