OGS
WEquation.cpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#include "WEquation.h"
5
6namespace ProcessLib::TH2M
7{
9{
10template <int DisplacementDim>
12 AdvectionData<DisplacementDim> const& advection_data,
13 FluidDensityData const& fluid_density_data,
14 FW1Data<DisplacementDim>& fW_1) const
15{
16 fW_1.A = advection_data.advection_W_G * fluid_density_data.rho_GR +
17 advection_data.advection_W_L * fluid_density_data.rho_LR;
18}
19
20template struct FW1Model<2>;
21template struct FW1Model<3>;
22
23void FW2Model::eval(BiotData const biot_data,
24 CapillaryPressureData const pCap,
25 ConstituentDensityData const& constituent_density_data,
26 PorosityData const& porosity_data,
27 PureLiquidDensityData const& rho_W_LR,
28 SaturationData const& S_L_data,
29 SolidCompressibilityData const beta_p_SR,
30 FW2Data& fW_2) const
31{
32 auto const S_L = S_L_data.S_L;
33 auto const S_G = 1. - S_L;
34 double const rho_W_FR =
35 S_G * constituent_density_data.rho_W_GR + S_L * rho_W_LR();
36
37 fW_2.a =
38 porosity_data.phi * (rho_W_LR() - constituent_density_data.rho_W_GR) -
39 rho_W_FR * pCap.pCap * (biot_data() - porosity_data.phi) * beta_p_SR();
40}
41
42void FW2Model::dEval(BiotData const& biot_data,
43 CapillaryPressureData const pCap,
44 ConstituentDensityData const& constituent_density_data,
45 PhaseTransitionData const& phase_transition_data,
46 PorosityData const& porosity_data,
47 PorosityDerivativeData const& porosity_d_data,
48 PureLiquidDensityData const& rho_W_LR,
49 SaturationData const& S_L_data,
50 SaturationDataDeriv const& dS_L_dp_cap,
51 SolidCompressibilityData const& beta_p_SR,
52 FW2DerivativeData& dfW_2) const
53{
54 double const S_L = S_L_data.S_L;
55 double const S_G = 1. - S_L;
56
57 double const drho_C_FR_dp_GR =
58 /*(dS_G_dp_GR = 0) * constituent_density_data.rho_C_GR +*/
59 S_G * phase_transition_data.drho_C_GR_dp_GR +
60 /*(dS_L_dp_GR = 0) * constituent_density_data.rho_C_LR +*/
61 S_L * phase_transition_data.drho_C_LR_dp_GR;
62
63 dfW_2.dp_GR = -porosity_data.phi * phase_transition_data.drho_C_GR_dp_GR -
64 drho_C_FR_dp_GR * pCap.pCap *
65 (biot_data() - porosity_data.phi) * beta_p_SR();
66
67 double const dfW_2a_dp_cap =
68 porosity_data.phi * (-phase_transition_data.drho_W_LR_dp_LR -
69 phase_transition_data.drho_W_GR_dp_cap);
70 double const rho_W_FR =
71 S_G * constituent_density_data.rho_W_GR + S_L * rho_W_LR();
72
73 double const drho_W_FR_dp_cap =
74 -dS_L_dp_cap() * constituent_density_data.rho_W_GR +
75 S_G * phase_transition_data.drho_W_GR_dp_cap +
76 dS_L_dp_cap() * rho_W_LR() -
77 S_L * phase_transition_data.drho_W_LR_dp_LR;
78
79 double const dfW_2b_dp_cap =
80 drho_W_FR_dp_cap * pCap.pCap * (biot_data() - porosity_data.phi) *
81 beta_p_SR() +
82 rho_W_FR * (biot_data() - porosity_data.phi) * beta_p_SR();
83
84 dfW_2.dp_cap = dfW_2a_dp_cap - dfW_2b_dp_cap;
85
86 double const drho_W_FR_dT = S_G * phase_transition_data.drho_W_GR_dT +
87 S_L * phase_transition_data.drho_W_LR_dT;
88
89 double const dfW_2a_dT =
90 porosity_d_data.dphi_dT *
91 (rho_W_LR() - constituent_density_data.rho_W_GR) +
92 porosity_data.phi * (phase_transition_data.drho_W_LR_dT -
93 phase_transition_data.drho_W_GR_dT);
94 double const dfW_2b_dT =
95 drho_W_FR_dT * pCap.pCap * (biot_data() - porosity_data.phi) *
96 beta_p_SR() -
97 rho_W_FR * pCap.pCap * porosity_d_data.dphi_dT * beta_p_SR();
98
99 dfW_2.dT = dfW_2a_dT - dfW_2b_dT;
100}
101
103 double const dt,
104 ConstituentDensityData const& constituent_density_data,
105 PrevState<ConstituentDensityData> const& constituent_density_data_prev,
106 PrevState<PureLiquidDensityData> const& rho_W_LR_prev,
107 PureLiquidDensityData const& rho_W_LR,
108 SaturationData const& S_L_data,
109 FW3aData& fW_3a) const
110{
111 if (dt == 0.)
112 {
113 fW_3a.a = 0;
114 return;
115 }
116
117 double const rho_W_GR_dot = (constituent_density_data.rho_W_GR -
118 constituent_density_data_prev->rho_W_GR) /
119 dt;
120 double const rho_W_LR_dot = (rho_W_LR() - **rho_W_LR_prev) / dt;
121 auto const S_L = S_L_data.S_L;
122 auto const S_G = 1. - S_L;
123 fW_3a.a = S_G * rho_W_GR_dot + S_L * rho_W_LR_dot;
124}
125
127 double const dt,
128 ConstituentDensityData const& constituent_density_data,
129 PhaseTransitionData const& phase_transition_data,
130 PrevState<ConstituentDensityData> const& constituent_density_data_prev,
131 PrevState<PureLiquidDensityData> const& rho_W_LR_prev,
132 PureLiquidDensityData const& rho_W_LR,
133 SaturationData const& S_L_data,
134 SaturationDataDeriv const& dS_L_dp_cap,
135 FW3aDerivativeData& dfW_3a) const
136{
137 if (dt == 0.)
138 {
139 dfW_3a.dp_GR = 0.;
140 dfW_3a.dp_cap = 0.;
141 dfW_3a.dT = 0.;
142 return;
143 }
144
145 auto const S_L = S_L_data.S_L;
146 auto const S_G = 1. - S_L;
147
148 double const rho_W_GR_dot = (constituent_density_data.rho_W_GR -
149 constituent_density_data_prev->rho_W_GR) /
150 dt;
151 double const rho_W_LR_dot = (rho_W_LR() - **rho_W_LR_prev) / dt;
152
153 dfW_3a.dp_GR = /*(ds_G_dp_GR = 0) * rho_W_GR_dot +*/
154 S_G * phase_transition_data.drho_W_GR_dp_GR / dt +
155 /*(ds_L_dp_GR = 0) * rho_W_LR_dot +*/
156 S_L * phase_transition_data.drho_W_LR_dp_GR / dt;
157
158 dfW_3a.dp_cap = -dS_L_dp_cap() * rho_W_GR_dot +
159 S_G * phase_transition_data.drho_W_GR_dp_cap / dt +
160 dS_L_dp_cap() * rho_W_LR_dot -
161 S_L * phase_transition_data.drho_W_LR_dp_LR / dt;
162 dfW_3a.dT = S_G * phase_transition_data.drho_W_GR_dT / dt +
163 S_L * phase_transition_data.drho_W_LR_dT / dt;
164}
165
166template <int DisplacementDim>
168 AdvectionData<DisplacementDim> const& advection_data,
169 FluidDensityData const& fluid_density_data,
170 PhaseTransitionData const& phase_transition_data,
171 PorosityData const& porosity_data,
172 SaturationData const& S_L_data,
173 FW4LWpGData<DisplacementDim>& fW_4_LWpG) const
174{
175 GlobalDimMatrix<DisplacementDim> const advection_W =
176 advection_data.advection_W_G + advection_data.advection_W_L;
177
178 double const sD_G = phase_transition_data.diffusion_coefficient_vapour;
179 double const sD_L = phase_transition_data.diffusion_coefficient_solute;
180
181 double const phi_G = (1 - S_L_data.S_L) * porosity_data.phi;
182 double const phi_L = S_L_data.S_L * porosity_data.phi;
183
184 double const diffusion_WGpGR = phi_G * fluid_density_data.rho_GR * sD_G *
185 phase_transition_data.dxmWG_dpGR;
186 double const diffusion_WLpGR = phi_L * fluid_density_data.rho_LR * sD_L *
187 phase_transition_data.dxmWL_dpGR;
188 double const diffusion_W_pGR = diffusion_WGpGR + diffusion_WLpGR;
189
190 auto const I =
191 Eigen::Matrix<double, DisplacementDim, DisplacementDim>::Identity();
192 fW_4_LWpG.L.noalias() = diffusion_W_pGR * I + advection_W;
193}
194
195template <int DisplacementDim>
197 ConstituentDensityData const& constituent_density_data,
198 PermeabilityData<DisplacementDim> const& permeability_data,
199 PhaseTransitionData const& phase_transition_data,
200 PureLiquidDensityData const& rho_W_LR,
201 SaturationDataDeriv const& dS_L_dp_cap,
202 ViscosityData const& viscosity_data,
204{
206 // TODO (naumov) d(diffusion_W_p)/dX for dxmW*/d* != 0
207
208 auto const k_over_mu_G =
209 permeability_data.Ki * permeability_data.k_rel_G / viscosity_data.mu_GR;
210 auto const k_over_mu_L =
211 permeability_data.Ki * permeability_data.k_rel_L / viscosity_data.mu_LR;
212
213 // dk_over_mu_G_dp_GR = ip_out.permeability_data.Ki *
214 // ip_out.permeability_data.dk_rel_G_dS_L *
215 // (ds_L_dp_GR = 0) /
216 // ip_cv.viscosity_data.mu_GR = 0;
217 // dk_over_mu_L_dp_GR = ip_out.permeability_data.Ki *
218 // ip_out.permeability_data.dk_rel_L_dS_L *
219 // (ds_L_dp_GR = 0) /
220 // ip_cv.viscosity_data.mu_LR = 0;
221 auto const dk_over_mu_G_dp_cap = permeability_data.Ki *
222 permeability_data.dk_rel_G_dS_L *
223 dS_L_dp_cap() / viscosity_data.mu_GR;
224
225 auto const dk_over_mu_L_dp_cap = permeability_data.Ki *
226 permeability_data.dk_rel_L_dS_L *
227 dS_L_dp_cap() / viscosity_data.mu_LR;
228
229 dfW_4_LWpG.dp_GR = phase_transition_data.drho_W_GR_dp_GR * k_over_mu_G
230 // + rhoWGR * (dk_over_mu_G_dp_GR = 0)
231 + phase_transition_data.drho_W_LR_dp_GR * k_over_mu_L
232 // + rhoWLR * (dk_over_mu_L_dp_GR = 0)
233 ;
234
235 dfW_4_LWpG.dp_cap =
236 phase_transition_data.drho_W_GR_dp_cap * k_over_mu_G +
237 constituent_density_data.rho_W_GR * dk_over_mu_G_dp_cap +
238 -phase_transition_data.drho_W_LR_dp_LR * k_over_mu_L +
239 rho_W_LR() * dk_over_mu_L_dp_cap;
240
241 dfW_4_LWpG.dT = phase_transition_data.drho_W_GR_dT * k_over_mu_G
242 //+ rhoWGR * (dk_over_mu_G_dT != 0 TODO for mu_G(T))
243 + phase_transition_data.drho_W_LR_dT * k_over_mu_L
244 //+ rhoWLR * (dk_over_mu_L_dT != 0 TODO for mu_G(T))
245 ;
246}
247
248template struct FW4LWpGModel<2>;
249template struct FW4LWpGModel<3>;
250
251template <int DisplacementDim>
253 AdvectionData<DisplacementDim> const& advection_data,
254 FluidDensityData const& fluid_density_data,
255 PhaseTransitionData const& phase_transition_data,
256 PorosityData const& porosity_data,
257 SaturationData const& S_L_data,
258 FW4LWpCData<DisplacementDim>& fW_4_LWpC) const
259{
260 double const sD_G = phase_transition_data.diffusion_coefficient_vapour;
261 double const sD_L = phase_transition_data.diffusion_coefficient_solute;
262
263 double const phi_G = (1 - S_L_data.S_L) * porosity_data.phi;
264 double const phi_L = S_L_data.S_L * porosity_data.phi;
265
266 double const diffusion_WGpCap = phi_G * fluid_density_data.rho_GR * sD_G *
267 phase_transition_data.dxmWG_dpCap;
268 double const diffusion_WLpCap = phi_L * fluid_density_data.rho_LR * sD_L *
269 phase_transition_data.dxmWL_dpCap;
270
271 double const diffusion_W_pCap = diffusion_WGpCap + diffusion_WLpCap;
272
273 auto const I =
274 Eigen::Matrix<double, DisplacementDim, DisplacementDim>::Identity();
275
276 fW_4_LWpC.L.noalias() = diffusion_W_pCap * I - advection_data.advection_W_L;
277}
278
279template <int DisplacementDim>
281 AdvectionData<DisplacementDim> const& advection_data,
282 FluidDensityData const& fluid_density_data,
283 PermeabilityData<DisplacementDim> const& permeability_data,
284 PhaseTransitionData const& phase_transition_data,
285 PorosityData const& porosity_data,
286 PureLiquidDensityData const& rho_W_LR,
287 SaturationData const& S_L_data,
288 SaturationDataDeriv const& dS_L_dp_cap,
289 ViscosityData const& viscosity_data,
291{
293 // TODO (naumov) d(diffusion_W_pCap)/dX for dxmW*/d* != 0
294
296 GlobalDimMatrix<DisplacementDim> const k_over_mu_L =
297 permeability_data.Ki * permeability_data.k_rel_L / viscosity_data.mu_LR;
298
299 dfW_4_LWpC.dp_GR = phase_transition_data.drho_W_LR_dp_GR * k_over_mu_L
300 //+ rhoWLR * (dk_over_mu_L_dp_GR = 0)
301 ;
302
303 double const sD_G = phase_transition_data.diffusion_coefficient_vapour;
304 double const sD_L = phase_transition_data.diffusion_coefficient_solute;
305
306 double const phi_G = (1 - S_L_data.S_L) * porosity_data.phi;
307 double const phi_L = S_L_data.S_L * porosity_data.phi;
308
309 double const diffusion_WGpCap = phi_G * fluid_density_data.rho_GR * sD_G *
310 phase_transition_data.dxmWG_dpCap;
311 double const diffusion_WLpCap = phi_L * fluid_density_data.rho_LR * sD_L *
312 phase_transition_data.dxmWL_dpCap;
313
314 double const diffusion_W_pCap = diffusion_WGpCap + diffusion_WLpCap;
315
316 auto const I =
317 Eigen::Matrix<double, DisplacementDim, DisplacementDim>::Identity();
318
319 dfW_4_LWpC.dp_cap = diffusion_W_pCap * I - advection_data.advection_W_L;
320
321 auto const dk_over_mu_L_dp_cap = permeability_data.Ki *
322 permeability_data.dk_rel_L_dS_L *
323 dS_L_dp_cap() / viscosity_data.mu_LR;
324 dfW_4_LWpC.dp_cap = -phase_transition_data.drho_W_LR_dp_LR * k_over_mu_L +
325 rho_W_LR() * dk_over_mu_L_dp_cap;
326
327 dfW_4_LWpC.dT = phase_transition_data.drho_W_LR_dT * k_over_mu_L
328 //+ rhoWLR * (dk_over_mu_L_dT != 0 TODO for mu_L(T))
329 ;
330}
331
332template struct FW4LWpCModel<2>;
333template struct FW4LWpCModel<3>;
334
335template <int DisplacementDim>
337 FluidDensityData const& fluid_density_data,
338 PhaseTransitionData const& phase_transition_data,
339 PorosityData const& porosity_data,
340 SaturationData const& S_L_data,
341 FW4LWTData<DisplacementDim>& fW_4_LWT) const
342{
343 double const sD_G = phase_transition_data.diffusion_coefficient_vapour;
344 double const sD_L = phase_transition_data.diffusion_coefficient_solute;
345
346 double const phi_G = (1 - S_L_data.S_L) * porosity_data.phi;
347 double const phi_L = S_L_data.S_L * porosity_data.phi;
348
349 double const diffusion_W_G_T = phi_G * fluid_density_data.rho_GR * sD_G *
350 phase_transition_data.dxmWG_dT;
351 double const diffusion_W_L_T = phi_L * fluid_density_data.rho_LR * sD_L *
352 phase_transition_data.dxmWL_dT;
353
354 double const diffusion_W_T = diffusion_W_G_T + diffusion_W_L_T;
355
356 auto const I =
357 Eigen::Matrix<double, DisplacementDim, DisplacementDim>::Identity();
358
359 fW_4_LWT.L.noalias() = diffusion_W_T * I;
360}
361
362template struct FW4LWTModel<2>;
363template struct FW4LWTModel<3>;
364
365void FW4MWpGModel::eval(BiotData const& biot_data,
366 ConstituentDensityData const& constituent_density_data,
367 PorosityData const& porosity_data,
368 PureLiquidDensityData const& rho_W_LR,
369 SaturationData const& S_L_data,
370 SolidCompressibilityData const& beta_p_SR,
371 FW4MWpGData& fW_4_MWpG) const
372{
373 double const S_L = S_L_data.S_L;
374 double const S_G = 1. - S_L;
375
376 double const rho_W_FR =
377 S_G * constituent_density_data.rho_W_GR + S_L * rho_W_LR();
378
379 fW_4_MWpG.m = rho_W_FR * (biot_data() - porosity_data.phi) * beta_p_SR();
380}
381
382void FW4MWpCModel::eval(BiotData const& biot_data,
383 CapillaryPressureData const pCap,
384 ConstituentDensityData const& constituent_density_data,
385 PorosityData const& porosity_data,
386 PrevState<SaturationData> const& S_L_data_prev,
387 PureLiquidDensityData const& rho_W_LR,
388 SaturationData const& S_L_data,
389 SolidCompressibilityData const& beta_p_SR,
390 FW4MWpCData& fW_4_MWpC) const
391{
392 auto const S_L = S_L_data.S_L;
393 auto const S_G = 1. - S_L;
394 double const rho_W_FR =
395 S_G * constituent_density_data.rho_W_GR + S_L * rho_W_LR();
396
397 fW_4_MWpC.m =
398 -rho_W_FR * (biot_data() - porosity_data.phi) * beta_p_SR() * S_L;
399
400 fW_4_MWpC.ml =
401 (porosity_data.phi * (rho_W_LR() - constituent_density_data.rho_W_GR) -
402 rho_W_FR * pCap.pCap * (biot_data() - porosity_data.phi) *
403 beta_p_SR()) *
404 (S_L - S_L_data_prev->S_L);
405}
406
407template <int DisplacementDim>
409 BiotData const& biot_data,
410 ConstituentDensityData const& constituent_density_data,
411 PorosityData const& porosity_data,
412 PureLiquidDensityData const& rho_W_LR,
413 SaturationData const& S_L_data,
414 SolidThermalExpansionData<DisplacementDim> const& s_therm_exp_data,
415 FW4MWTData& fW_4_MWT) const
416{
417 auto const S_L = S_L_data.S_L;
418 auto const S_G = 1. - S_L;
419 double const rho_W_FR =
420 S_G * constituent_density_data.rho_W_GR + S_L * rho_W_LR();
421
422 fW_4_MWT.m = -rho_W_FR * (biot_data() - porosity_data.phi) *
423 s_therm_exp_data.beta_T_SR;
424}
425
426template struct FW4MWTModel<2>;
427template struct FW4MWTModel<3>;
428
429void FW4MWuModel::eval(BiotData const& biot_data,
430 ConstituentDensityData const& constituent_density_data,
431 PureLiquidDensityData const& rho_W_LR,
432 SaturationData const& S_L_data,
433 FW4MWuData& fW_4_MWu) const
434{
435 auto const S_L = S_L_data.S_L;
436 auto const S_G = 1. - S_L;
437 double const rho_W_FR =
438 S_G * constituent_density_data.rho_W_GR + S_L * rho_W_LR();
439
440 fW_4_MWu.m = rho_W_FR * biot_data();
441}
442
443} // namespace ConstitutiveRelations
444} // namespace ProcessLib::TH2M
Eigen::Matrix< double, DisplacementDim, DisplacementDim, Eigen::RowMajor > GlobalDimMatrix
BaseLib::StrongType< double, struct SolidCompressibilityDataTag > SolidCompressibilityData
BaseLib::StrongType< double, struct PureLiquidDensityTag > PureLiquidDensityData
BaseLib::StrongType< double, struct SaturationDataDerivTag > SaturationDataDeriv
BaseLib::StrongType< double, struct BiotTag > BiotData
GlobalDimMatrix< DisplacementDim > advection_W_G
Definition Advection.h:23
GlobalDimMatrix< DisplacementDim > advection_W_L
Definition Advection.h:24
GlobalDimMatrix< DisplacementDim > A
Definition WEquation.h:25
void eval(AdvectionData< DisplacementDim > const &advection_data, FluidDensityData const &fluid_density_data, FW1Data< DisplacementDim > &fW_1) const
Definition WEquation.cpp:11
void dEval(BiotData const &biot_data, CapillaryPressureData const pCap, ConstituentDensityData const &constituent_density_data, PhaseTransitionData const &phase_transition_data, PorosityData const &porosity_data, PorosityDerivativeData const &porosity_d_data, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, SaturationDataDeriv const &dS_L_dp_cap, SolidCompressibilityData const &beta_p_SR, FW2DerivativeData &dfW_2) const
Definition WEquation.cpp:42
void eval(BiotData const biot_data, CapillaryPressureData const pCap, ConstituentDensityData const &constituent_density_data, PorosityData const &porosity_data, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, SolidCompressibilityData const beta_p_SR, FW2Data &fW_2) const
Definition WEquation.cpp:23
void dEval(double const dt, ConstituentDensityData const &constituent_density_data, PhaseTransitionData const &phase_transition_data, PrevState< ConstituentDensityData > const &constituent_density_data_prev, PrevState< PureLiquidDensityData > const &rho_W_LR_prev, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, SaturationDataDeriv const &dS_L_dp_cap, FW3aDerivativeData &dfW_3a) const
void eval(double const dt, ConstituentDensityData const &constituent_density_data, PrevState< ConstituentDensityData > const &constituent_density_data_prev, PrevState< PureLiquidDensityData > const &rho_W_LR_prev, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, FW3aData &fW_3a) const
GlobalDimMatrix< DisplacementDim > L
Definition WEquation.h:188
void eval(FluidDensityData const &fluid_density_data, PhaseTransitionData const &phase_transition_data, PorosityData const &porosity_data, SaturationData const &S_L_data, FW4LWTData< DisplacementDim > &fW_4_LWT) const
GlobalDimMatrix< DisplacementDim > L
Definition WEquation.h:149
void eval(AdvectionData< DisplacementDim > const &advection_data, FluidDensityData const &fluid_density_data, PhaseTransitionData const &phase_transition_data, PorosityData const &porosity_data, SaturationData const &S_L_data, FW4LWpCData< DisplacementDim > &fW_4_LWpC) const
void dEval(AdvectionData< DisplacementDim > const &advection_data, FluidDensityData const &fluid_density_data, PermeabilityData< DisplacementDim > const &permeability_data, PhaseTransitionData const &phase_transition_data, PorosityData const &porosity_data, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, SaturationDataDeriv const &dS_L_dp_cap, ViscosityData const &viscosity_data, FW4LWpCDerivativeData< DisplacementDim > &dfW_4_LWpC) const
GlobalDimMatrix< DisplacementDim > L
Definition WEquation.h:113
void dEval(ConstituentDensityData const &constituent_density_data, PermeabilityData< DisplacementDim > const &permeability_data, PhaseTransitionData const &phase_transition_data, PureLiquidDensityData const &rho_W_LR, SaturationDataDeriv const &dS_L_dp_cap, ViscosityData const &viscosity_data, FW4LWpGDerivativeData< DisplacementDim > &dfW_4_LWpG) const
void eval(AdvectionData< DisplacementDim > const &advection_data, FluidDensityData const &fluid_density_data, PhaseTransitionData const &phase_transition_data, PorosityData const &porosity_data, SaturationData const &S_L_data, FW4LWpGData< DisplacementDim > &fW_4_LWpG) const
void eval(BiotData const &biot_data, ConstituentDensityData const &constituent_density_data, PorosityData const &porosity_data, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, SolidThermalExpansionData< DisplacementDim > const &s_therm_exp_data, FW4MWTData &fW_4_MWT) const
void eval(BiotData const &biot_data, CapillaryPressureData const pCap, ConstituentDensityData const &constituent_density_data, PorosityData const &porosity_data, PrevState< SaturationData > const &S_L_data_prev, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, SolidCompressibilityData const &beta_p_SR, FW4MWpCData &fW_4_MWpC) const
void eval(BiotData const &biot_data, ConstituentDensityData const &constituent_density_data, PorosityData const &porosity_data, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, SolidCompressibilityData const &beta_p_SR, FW4MWpGData &fW_4_MWpG) const
void eval(BiotData const &biot_data, ConstituentDensityData const &constituent_density_data, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, FW4MWuData &fW_4_MWu) const