OGS
WEquation.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 FW1Data<DisplacementDim>& fW_1) const;
40};
41
42extern template struct FW1Model<2>;
43extern template struct FW1Model<3>;
44
45struct FW2Data
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 PureLiquidDensityData const& rho_W_LR,
64 SaturationData const& S_L_data,
65 SolidCompressibilityData const beta_p_SR,
66 FW2Data& fW_2) const;
67
68 void dEval(BiotData const& biot_data,
69 CapillaryPressureData const pCap,
70 ConstituentDensityData const& constituent_density_data,
71 PhaseTransitionData const& phase_transition_data,
72 PorosityData const& porosity_data,
73 PorosityDerivativeData const& porosity_d_data,
74 PureLiquidDensityData const& rho_W_LR,
75 SaturationData const& S_L_data,
76 SaturationDataDeriv const& dS_L_dp_cap,
77 SolidCompressibilityData const& beta_p_SR,
78 FW2DerivativeData& dfW_2) const;
79};
80
82{
83 double a = nan;
84};
85
87{
88 double dp_GR = nan;
89 double dp_cap = nan;
90 double dT = nan;
91};
92
94{
95 void eval(
96 double const dt,
97 ConstituentDensityData const& constituent_density_data,
98 PrevState<ConstituentDensityData> const& constituent_density_data_prev,
99 PrevState<PureLiquidDensityData> const& rho_W_LR_prev,
100 PureLiquidDensityData const& rho_W_LR,
101 SaturationData const& S_L_data,
102 FW3aData& fW_3a) const;
103
104 void dEval(
105 double const dt,
106 ConstituentDensityData const& constituent_density_data,
107 PhaseTransitionData const& phase_transition_data,
108 PrevState<ConstituentDensityData> const& constituent_density_data_prev,
109 PrevState<PureLiquidDensityData> const& rho_W_LR_prev,
110 PureLiquidDensityData const& rho_W_LR,
111 SaturationData const& S_L_data,
112 SaturationDataDeriv const& dS_L_dp_cap,
113 FW3aDerivativeData& dfW_3a) const;
114};
115
116template <int DisplacementDim>
121
122template <int DisplacementDim>
129
130template <int DisplacementDim>
132{
133 void eval(AdvectionData<DisplacementDim> const& advection_data,
134 FluidDensityData const& fluid_density_data,
135 PhaseTransitionData const& phase_transition_data,
136 PorosityData const& porosity_data,
137 SaturationData const& S_L_data,
138 FW4LWpGData<DisplacementDim>& fW_4_LWpG) const;
139
140 void dEval(ConstituentDensityData const& constituent_density_data,
141 PermeabilityData<DisplacementDim> const& permeability_data,
142 PhaseTransitionData const& phase_transition_data,
143 PureLiquidDensityData const& rho_W_LR,
144 SaturationDataDeriv const& dS_L_dp_cap,
145 ViscosityData const& viscosity_data,
147};
148
149extern template struct FW4LWpGModel<2>;
150extern template struct FW4LWpGModel<3>;
151
152template <int DisplacementDim>
157
158template <int DisplacementDim>
165
166template <int DisplacementDim>
168{
169 void eval(AdvectionData<DisplacementDim> const& advection_data,
170 FluidDensityData const& fluid_density_data,
171 PhaseTransitionData const& phase_transition_data,
172 PorosityData const& porosity_data,
173 SaturationData const& S_L_data,
174 FW4LWpCData<DisplacementDim>& fW_4_LWpC) const;
175
176 void dEval(AdvectionData<DisplacementDim> const& advection_data,
177 FluidDensityData const& fluid_density_data,
178 PermeabilityData<DisplacementDim> const& permeability_data,
179 PhaseTransitionData const& phase_transition_data,
180 PorosityData const& porosity_data,
181 PureLiquidDensityData const& rho_W_LR,
182 SaturationData const& S_L_data,
183 SaturationDataDeriv const& dS_L_dp_cap,
184 ViscosityData const& viscosity_data,
186};
187
188extern template struct FW4LWpCModel<2>;
189extern template struct FW4LWpCModel<3>;
190
191template <int DisplacementDim>
196
197template <int DisplacementDim>
199{
200 void eval(FluidDensityData const& fluid_density_data,
201 PhaseTransitionData const& phase_transition_data,
202 PorosityData const& porosity_data,
203 SaturationData const& S_L_data,
204 FW4LWTData<DisplacementDim>& fW_4_LWT) const;
205};
206
208{
209 double m = nan;
210};
211
213{
214 void eval(BiotData const& biot_data,
215 ConstituentDensityData const& constituent_density_data,
216 PorosityData const& porosity_data,
217 PureLiquidDensityData const& rho_W_LR,
218 SaturationData const& S_L_data,
219 SolidCompressibilityData const& beta_p_SR,
220 FW4MWpGData& fW_4_MWpG) const;
221};
222
224{
225 double m = nan;
226 double ml = nan;
227};
228
230{
231 void eval(BiotData const& biot_data,
232 CapillaryPressureData const pCap,
233 ConstituentDensityData const& constituent_density_data,
234 PorosityData const& porosity_data,
235 PrevState<SaturationData> const& S_L_data_prev,
236 PureLiquidDensityData const& rho_W_LR,
237 SaturationData const& S_L_data,
238 SolidCompressibilityData const& beta_p_SR,
239 FW4MWpCData& fW_4_MWpC) const;
240};
241
243{
244 double m = nan;
245};
246
247template <int DisplacementDim>
249{
250 void eval(
251 BiotData const& biot_data,
252 ConstituentDensityData const& constituent_density_data,
253 PorosityData const& porosity_data,
254 PureLiquidDensityData const& rho_W_LR,
255 SaturationData const& S_L_data,
256 SolidThermalExpansionData<DisplacementDim> const& s_therm_exp_data,
257 FW4MWTData& fW_4_MWT) const;
258};
259
260extern template struct FW4MWTModel<2>;
261extern template struct FW4MWTModel<3>;
262
264{
265 double m = nan;
266};
267
269{
270 void eval(BiotData const& biot_data,
271 ConstituentDensityData const& constituent_density_data,
272 PureLiquidDensityData const& rho_W_LR,
273 SaturationData const& S_L_data,
274 FW4MWuData& fW_4_MWu) const;
275};
276} // namespace ConstitutiveRelations
277} // 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 WEquation.h:31
void eval(AdvectionData< DisplacementDim > const &advection_data, FluidDensityData const &fluid_density_data, FW1Data< DisplacementDim > &fW_1) const
Definition WEquation.cpp:17
GlobalDimMatrix< DisplacementDim > L
Definition WEquation.h:194
GlobalDimMatrix< DisplacementDim > L
Definition WEquation.h:155
GlobalDimMatrix< DisplacementDim > L
Definition WEquation.h:119