OGS
CEquation.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 "CEquation.h"
5
6namespace ProcessLib::TH2M
7{
9{
10template <int DisplacementDim>
12 AdvectionData<DisplacementDim> const& advection_data,
13 FluidDensityData const& fluid_density_data,
14 FC1Data<DisplacementDim>& fC_1) const
15{
16 fC_1.A = advection_data.advection_C_G * fluid_density_data.rho_GR +
17 advection_data.advection_C_L * fluid_density_data.rho_LR;
18}
19
20template struct FC1Model<2>;
21template struct FC1Model<3>;
22
23void FC2aModel::eval(BiotData const biot_data,
24 CapillaryPressureData const pCap,
25 ConstituentDensityData const& constituent_density_data,
26 PorosityData const& porosity_data,
27 SaturationData const& S_L_data,
28 SolidCompressibilityData const beta_p_SR,
29 FC2aData& fC_2a) const
30{
31 auto const S_L = S_L_data.S_L;
32 auto const S_G = 1. - S_L;
33 double const rho_C_FR = S_G * constituent_density_data.rho_C_GR +
34 S_L * constituent_density_data.rho_C_LR;
35 fC_2a.a =
36 porosity_data.phi * (constituent_density_data.rho_C_LR -
37 constituent_density_data.rho_C_GR) -
38 rho_C_FR * pCap.pCap * (biot_data() - porosity_data.phi) * beta_p_SR();
39}
40
41void FC2aModel::dEval(BiotData const& biot_data,
42 CapillaryPressureData const pCap,
43 ConstituentDensityData const& constituent_density_data,
44 PhaseTransitionData const& phase_transition_data,
45 PorosityData const& porosity_data,
46 PorosityDerivativeData const& porosity_d_data,
47 SaturationData const& S_L_data,
48 SaturationDataDeriv const& dS_L_dp_cap,
49 SolidCompressibilityData const& beta_p_SR,
50 FC2aDerivativeData& dfC_2a) const
51{
52 double const S_L = S_L_data.S_L;
53 double const S_G = 1. - S_L;
54
55 double const drho_C_FR_dp_GR =
56 /*(dS_G_dp_GR = 0) * constituent_density_data.rho_C_GR +*/
57 S_G * phase_transition_data.drho_C_GR_dp_GR +
58 /*(dS_L_dp_GR = 0) * constituent_density_data.rho_C_LR +*/
59 S_L * phase_transition_data.drho_C_LR_dp_GR;
60
61 dfC_2a.dp_GR = -porosity_data.phi * phase_transition_data.drho_C_GR_dp_GR -
62 drho_C_FR_dp_GR * pCap.pCap *
63 (biot_data() - porosity_data.phi) * beta_p_SR();
64
65 double const dS_G_dp_cap = -dS_L_dp_cap();
66 double const rho_C_FR = S_G * constituent_density_data.rho_C_GR +
67 S_L * constituent_density_data.rho_C_LR;
68
69 // TODO (naumov) Extend for partially saturated media.
70 constexpr double drho_C_GR_dp_cap = 0;
71
72 double const drho_C_FR_dp_cap =
73 dS_G_dp_cap * constituent_density_data.rho_C_GR +
74 S_G * drho_C_GR_dp_cap +
75 dS_L_dp_cap() * constituent_density_data.rho_C_LR -
76 S_L * phase_transition_data.drho_C_LR_dp_LR;
77
78 dfC_2a.dp_cap =
79 porosity_data.phi *
80 (-phase_transition_data.drho_C_LR_dp_LR - drho_C_GR_dp_cap) -
81 drho_C_FR_dp_cap * pCap.pCap * (biot_data() - porosity_data.phi) *
82 beta_p_SR() +
83 rho_C_FR * (biot_data() - porosity_data.phi) * beta_p_SR();
84
85 double const drho_C_FR_dT = S_G * phase_transition_data.drho_C_GR_dT +
86 S_L * phase_transition_data.drho_C_LR_dT;
87 dfC_2a.dT = porosity_d_data.dphi_dT * (constituent_density_data.rho_C_LR -
88 constituent_density_data.rho_C_GR) +
89 porosity_data.phi * (phase_transition_data.drho_C_LR_dT -
90 phase_transition_data.drho_C_GR_dT) -
91 drho_C_FR_dT * pCap.pCap * (biot_data() - porosity_data.phi) *
92 beta_p_SR() +
93 rho_C_FR * pCap.pCap * porosity_d_data.dphi_dT * beta_p_SR();
94}
95
97 double const dt,
98 ConstituentDensityData const& constituent_density_data,
99 PrevState<ConstituentDensityData> const& constituent_density_data_prev,
100 SaturationData const& S_L_data,
101 FC3aData& fC_3a) const
102{
103 if (dt == 0.)
104 {
105 fC_3a.a = 0;
106 return;
107 }
108
109 double const rho_C_GR_dot = (constituent_density_data.rho_C_GR -
110 constituent_density_data_prev->rho_C_GR) /
111 dt;
112 double const rho_C_LR_dot = (constituent_density_data.rho_C_LR -
113 constituent_density_data_prev->rho_C_LR) /
114 dt;
115 auto const S_L = S_L_data.S_L;
116 auto const S_G = 1. - S_L;
117 fC_3a.a = S_G * rho_C_GR_dot + S_L * rho_C_LR_dot;
118}
119
121 double const dt,
122 ConstituentDensityData const& constituent_density_data,
123 PrevState<ConstituentDensityData> const& constituent_density_data_prev,
124 PhaseTransitionData const& phase_transition_data,
125 SaturationData const& S_L_data,
126 SaturationDataDeriv const& dS_L_dp_cap,
127 FC3aDerivativeData& dfC_3a) const
128{
129 if (dt == 0.)
130 {
131 dfC_3a.dp_GR = 0.;
132 dfC_3a.dp_cap = 0.;
133 dfC_3a.dT = 0.;
134 return;
135 }
136 double const rho_C_GR_dot = (constituent_density_data.rho_C_GR -
137 constituent_density_data_prev->rho_C_GR) /
138 dt;
139 double const rho_C_LR_dot = (constituent_density_data.rho_C_LR -
140 constituent_density_data_prev->rho_C_LR) /
141 dt;
142
143 auto const S_L = S_L_data.S_L;
144 auto const S_G = 1. - S_L;
145 dfC_3a.dp_GR =
146 /*(dS_G_dp_GR = 0) * rho_C_GR_dot +*/
147 S_G * phase_transition_data.drho_C_GR_dp_GR / dt +
148 /*(dS_L_dp_GR = 0) * rho_C_LR_dot +*/
149 S_L * phase_transition_data.drho_C_LR_dp_GR / dt;
150
151 double const dS_G_dp_cap = -dS_L_dp_cap();
152 // TODO (naumov) Extend for partially saturated media.
153 constexpr double drho_C_GR_dp_cap = 0;
154
155 dfC_3a.dp_cap = dS_G_dp_cap * rho_C_GR_dot + S_G * drho_C_GR_dp_cap / dt +
156 dS_L_dp_cap() * rho_C_LR_dot -
157 S_L * phase_transition_data.drho_C_LR_dp_LR / dt;
158
159 dfC_3a.dT = S_G * phase_transition_data.drho_C_GR_dT / dt +
160 S_L * phase_transition_data.drho_C_LR_dT / dt;
161}
162
163template <int DisplacementDim>
165 AdvectionData<DisplacementDim> const& advection_data,
166 FluidDensityData const& fluid_density_data,
167 PhaseTransitionData const& phase_transition_data,
168 PorosityData const& porosity_data,
169 SaturationData const& S_L_data,
170 FC4LCpGData<DisplacementDim>& fC_4_LCpG) const
171{
172 GlobalDimMatrix<DisplacementDim> const advection_C =
173 advection_data.advection_C_G + advection_data.advection_C_L;
174
175 double const sD_G = phase_transition_data.diffusion_coefficient_vapour;
176 double const sD_L = phase_transition_data.diffusion_coefficient_solute;
177
178 double const phi_G = (1 - S_L_data.S_L) * porosity_data.phi;
179 double const phi_L = S_L_data.S_L * porosity_data.phi;
180
181 double const diffusion_CGpGR = -phi_G * fluid_density_data.rho_GR * sD_G *
182 phase_transition_data.dxmWG_dpGR;
183 double const diffusion_CLpGR = -phi_L * fluid_density_data.rho_LR * sD_L *
184 phase_transition_data.dxmWL_dpGR;
185
186 double const diffusion_C_pGR = diffusion_CGpGR + diffusion_CLpGR;
187
188 auto const I =
189 Eigen::Matrix<double, DisplacementDim, DisplacementDim>::Identity();
190 fC_4_LCpG.L.noalias() = diffusion_C_pGR * I + advection_C;
191}
192
193template <int DisplacementDim>
195 PermeabilityData<DisplacementDim> const& permeability_data,
196 ViscosityData const& viscosity_data,
197 PhaseTransitionData const& phase_transition_data,
198 AdvectionDerivativeData<DisplacementDim> const& advection_d_data,
200{
201 dfC_4_LCpG.dp_GR = advection_d_data.dadvection_C_dp_GR
202 // + ddiffusion_C_p_dp_GR TODO (naumov)
203 ;
204
205 dfC_4_LCpG.dp_cap = advection_d_data.dadvection_C_dp_cap
206 // + ddiffusion_C_p_dp_cap TODO (naumov)
207 ;
208
209 GlobalDimMatrix<DisplacementDim> const k_over_mu_G =
210 permeability_data.Ki * permeability_data.k_rel_G / viscosity_data.mu_GR;
211 GlobalDimMatrix<DisplacementDim> const k_over_mu_L =
212 permeability_data.Ki * permeability_data.k_rel_L / viscosity_data.mu_LR;
213
214 dfC_4_LCpG.dT = phase_transition_data.drho_C_GR_dT * k_over_mu_G +
215 phase_transition_data.drho_C_LR_dT * k_over_mu_L
216 // + ddiffusion_C_p_dT TODO (naumov)
217 ;
218}
219
220template struct FC4LCpGModel<2>;
221template struct FC4LCpGModel<3>;
222
223template <int DisplacementDim>
225 AdvectionData<DisplacementDim> const& advection_data,
226 FluidDensityData const& fluid_density_data,
227 PhaseTransitionData const& phase_transition_data,
228 PorosityData const& porosity_data,
229 SaturationData const& S_L_data,
230 FC4LCpCData<DisplacementDim>& fC_4_LCpC) const
231{
232 double const sD_G = phase_transition_data.diffusion_coefficient_vapour;
233 double const sD_L = phase_transition_data.diffusion_coefficient_solute;
234
235 double const phi_G = (1 - S_L_data.S_L) * porosity_data.phi;
236 double const phi_L = S_L_data.S_L * porosity_data.phi;
237
238 double const diffusion_CGpCap = -phi_G * fluid_density_data.rho_GR * sD_G *
239 phase_transition_data.dxmWG_dpCap;
240 double const diffusion_CLpCap = -phi_L * fluid_density_data.rho_LR * sD_L *
241 phase_transition_data.dxmWL_dpCap;
242
243 double const diffusion_C_pCap = diffusion_CGpCap + diffusion_CLpCap;
244
245 auto const I =
246 Eigen::Matrix<double, DisplacementDim, DisplacementDim>::Identity();
247
248 fC_4_LCpC.L.noalias() = diffusion_C_pCap * I - advection_data.advection_C_L;
249}
250
251template <int DisplacementDim>
253 ConstituentDensityData const& constituent_density_data,
254 PermeabilityData<DisplacementDim> const& permeability_data,
255 PhaseTransitionData const& phase_transition_data,
256 SaturationDataDeriv const& dS_L_dp_cap,
257 ViscosityData const& viscosity_data,
259{
261 // TODO (naumov) d(diffusion_C_pCap)/dX for dxmW*/d* != 0
262
264 GlobalDimMatrix<DisplacementDim> const k_over_mu_L =
265 permeability_data.Ki * permeability_data.k_rel_L / viscosity_data.mu_LR;
266
267 dfC_4_LCpC.dp_GR = phase_transition_data.drho_C_LR_dp_GR * k_over_mu_L
268 //+ rhoCLR * (dk_over_mu_L_dp_GR = 0)
269 ;
270
271 auto const dk_over_mu_L_dp_cap = permeability_data.Ki *
272 permeability_data.dk_rel_L_dS_L *
273 dS_L_dp_cap() / viscosity_data.mu_LR;
274
275 dfC_4_LCpC.dp_cap = -phase_transition_data.drho_C_LR_dp_LR * k_over_mu_L +
276 constituent_density_data.rho_C_LR * dk_over_mu_L_dp_cap;
277
278 dfC_4_LCpC.dT = phase_transition_data.drho_W_LR_dT * k_over_mu_L
279 //+ rhoWLR * (dk_over_mu_L_dT != 0 TODO for mu_L(T))
280 ;
281}
282
283template struct FC4LCpCModel<2>;
284template struct FC4LCpCModel<3>;
285
286template <int DisplacementDim>
288 FluidDensityData const& fluid_density_data,
289 PhaseTransitionData const& phase_transition_data,
290 PorosityData const& porosity_data,
291 SaturationData const& S_L_data,
292 FC4LCTData<DisplacementDim>& fC_4_LCT) const
293{
294 double const sD_G = phase_transition_data.diffusion_coefficient_vapour;
295 double const sD_L = phase_transition_data.diffusion_coefficient_solute;
296
297 double const phi_G = (1 - S_L_data.S_L) * porosity_data.phi;
298 double const phi_L = S_L_data.S_L * porosity_data.phi;
299
300 double const diffusion_C_G_T = -phi_G * fluid_density_data.rho_GR * sD_G *
301 phase_transition_data.dxmWG_dT;
302 double const diffusion_C_L_T = -phi_L * fluid_density_data.rho_LR * sD_L *
303 phase_transition_data.dxmWL_dT;
304
305 double const diffusion_C_T = diffusion_C_G_T + diffusion_C_L_T;
306
307 auto const I =
308 Eigen::Matrix<double, DisplacementDim, DisplacementDim>::Identity();
309
310 fC_4_LCT.L.noalias() = diffusion_C_T * I;
311}
312
313template struct FC4LCTModel<2>;
314template struct FC4LCTModel<3>;
315
316void FC4MCpGModel::eval(BiotData const& biot_data,
317 ConstituentDensityData const& constituent_density_data,
318 PorosityData const& porosity_data,
319 SaturationData const& S_L_data,
320 SolidCompressibilityData const& beta_p_SR,
321 FC4MCpGData& fC_4_MCpG) const
322{
323 auto const S_L = S_L_data.S_L;
324 auto const S_G = 1. - S_L;
325 double const rho_C_FR = S_G * constituent_density_data.rho_C_GR +
326 S_L * constituent_density_data.rho_C_LR;
327
328 fC_4_MCpG.m = rho_C_FR * (biot_data() - porosity_data.phi) * beta_p_SR();
329}
330
331void FC4MCpGModel::dEval(BiotData const& biot_data,
332 ConstituentDensityData const& constituent_density_data,
333 PhaseTransitionData const& phase_transition_data,
334 PorosityData const& porosity_data,
335 PorosityDerivativeData const& porosity_d_data,
336 SaturationData const& S_L_data,
337 SolidCompressibilityData const& beta_p_SR,
338 FC4MCpGDerivativeData& dfC_4_MCpG) const
339{
340 auto const S_L = S_L_data.S_L;
341 auto const S_G = 1. - S_L;
342 double const rho_C_FR = S_G * constituent_density_data.rho_C_GR +
343 S_L * constituent_density_data.rho_C_LR;
344
345 double const drho_C_FR_dp_GR =
346 /*(dS_G_dp_GR = 0) * constituent_density_data.rho_C_GR +*/
347 S_G * phase_transition_data.drho_C_GR_dp_GR +
348 /*(dS_L_dp_GR = 0) * constituent_density_data.rho_C_LR +*/
349 S_L * phase_transition_data.drho_C_LR_dp_GR;
350
351 dfC_4_MCpG.dp_GR =
352 drho_C_FR_dp_GR * (biot_data() - porosity_data.phi) * beta_p_SR();
353
354 double const drho_C_FR_dT = S_G * phase_transition_data.drho_C_GR_dT +
355 S_L * phase_transition_data.drho_C_LR_dT;
356 dfC_4_MCpG.dT =
357 drho_C_FR_dT * (biot_data() - porosity_data.phi) * beta_p_SR() -
358 rho_C_FR * porosity_d_data.dphi_dT * beta_p_SR();
359}
360
361void FC4MCpCModel::eval(BiotData const& biot_data,
362 CapillaryPressureData const pCap,
363 ConstituentDensityData const& constituent_density_data,
364 PorosityData const& porosity_data,
365 PrevState<SaturationData> const& S_L_data_prev,
366 SaturationData const& S_L_data,
367 SolidCompressibilityData const& beta_p_SR,
368 FC4MCpCData& fC_4_MCpC) const
369{
370 auto const S_L = S_L_data.S_L;
371 auto const S_G = 1. - S_L;
372 double const rho_C_FR = S_G * constituent_density_data.rho_C_GR +
373 S_L * constituent_density_data.rho_C_LR;
374
375 fC_4_MCpC.m =
376 -rho_C_FR * (biot_data() - porosity_data.phi) * beta_p_SR() * S_L;
377
378 fC_4_MCpC.ml = (porosity_data.phi * (constituent_density_data.rho_C_LR -
379 constituent_density_data.rho_C_GR) -
380 rho_C_FR * pCap.pCap * (biot_data() - porosity_data.phi) *
381 beta_p_SR()) *
382 (S_L - S_L_data_prev->S_L);
383}
384
385template <int DisplacementDim>
387 BiotData const& biot_data,
388 ConstituentDensityData const& constituent_density_data,
389 PorosityData const& porosity_data,
390 SaturationData const& S_L_data,
391 SolidThermalExpansionData<DisplacementDim> const& s_therm_exp_data,
392 FC4MCTData& fC_4_MCT) const
393{
394 auto const S_L = S_L_data.S_L;
395 auto const S_G = 1. - S_L;
396 double const rho_C_FR = S_G * constituent_density_data.rho_C_GR +
397 S_L * constituent_density_data.rho_C_LR;
398
399 fC_4_MCT.m = -rho_C_FR * (biot_data() - porosity_data.phi) *
400 s_therm_exp_data.beta_T_SR;
401}
402
403template <int DisplacementDim>
405 BiotData const& biot_data,
406 [[maybe_unused]] ConstituentDensityData const& constituent_density_data,
407 PhaseTransitionData const& phase_transition_data,
408 PorosityData const& porosity_data,
409 [[maybe_unused]] PorosityDerivativeData const& porosity_d_data,
410 SaturationData const& S_L_data,
411 SolidThermalExpansionData<DisplacementDim> const& s_therm_exp_data,
412 FC4MCTDerivativeData& dfC_4_MCT) const
413{
414 auto const S_L = S_L_data.S_L;
415 auto const S_G = 1. - S_L;
416#ifdef NON_CONSTANT_SOLID_PHASE_VOLUME_FRACTION
417 double const rho_C_FR = S_G * constituent_density_data.rho_C_GR +
418 S_L * constituent_density_data.rho_C_LR;
419#endif
420
421 double const drho_C_FR_dT = S_G * phase_transition_data.drho_C_GR_dT +
422 S_L * phase_transition_data.drho_C_LR_dT;
423
424 dfC_4_MCT.dT = drho_C_FR_dT * (biot_data() - porosity_data.phi) *
425 s_therm_exp_data.beta_T_SR
426#ifdef NON_CONSTANT_SOLID_PHASE_VOLUME_FRACTION
427 + rho_C_FR * (biot_data() - porosity_d_data.dphi_dT) *
428 s_therm_exp_data.beta_T_SR
429#endif
430 ;
431}
432
433template struct FC4MCTModel<2>;
434template struct FC4MCTModel<3>;
435
436void FC4MCuModel::eval(BiotData const& biot_data,
437 ConstituentDensityData const& constituent_density_data,
438 SaturationData const& S_L_data,
439 FC4MCuData& fC_4_MCu) const
440{
441 auto const S_L = S_L_data.S_L;
442 auto const S_G = 1. - S_L;
443 double const rho_C_FR = S_G * constituent_density_data.rho_C_GR +
444 S_L * constituent_density_data.rho_C_LR;
445
446 fC_4_MCu.m = rho_C_FR * biot_data();
447}
448
449void FC4MCuModel::dEval(BiotData const& biot_data,
450 PhaseTransitionData const& phase_transition_data,
451 SaturationData const& S_L_data,
452 FC4MCuDerivativeData& dfC_4_MCu) const
453{
454 auto const S_L = S_L_data.S_L;
455 auto const S_G = 1. - S_L;
456 double const drho_C_FR_dT = S_G * phase_transition_data.drho_C_GR_dT +
457 S_L * phase_transition_data.drho_C_LR_dT;
458 dfC_4_MCu.dT = drho_C_FR_dT * biot_data();
459}
460} // namespace ConstitutiveRelations
461} // namespace ProcessLib::TH2M
Eigen::Matrix< double, DisplacementDim, DisplacementDim, Eigen::RowMajor > GlobalDimMatrix
BaseLib::StrongType< double, struct SolidCompressibilityDataTag > SolidCompressibilityData
BaseLib::StrongType< double, struct SaturationDataDerivTag > SaturationDataDeriv
BaseLib::StrongType< double, struct BiotTag > BiotData
GlobalDimMatrix< DisplacementDim > advection_C_G
Definition Advection.h:21
GlobalDimMatrix< DisplacementDim > advection_C_L
Definition Advection.h:22
GlobalDimMatrix< DisplacementDim > A
Definition CEquation.h:25
void eval(AdvectionData< DisplacementDim > const &advection_data, FluidDensityData const &fluid_density_data, FC1Data< DisplacementDim > &fC_1) const
Definition CEquation.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, SaturationData const &S_L_data, SaturationDataDeriv const &dS_L_dp_cap, SolidCompressibilityData const &beta_p_SR, FC2aDerivativeData &dfC_2a) const
Definition CEquation.cpp:41
void eval(BiotData const biot_data, CapillaryPressureData const pCap, ConstituentDensityData const &constituent_density_data, PorosityData const &porosity_data, SaturationData const &S_L_data, SolidCompressibilityData const beta_p_SR, FC2aData &fC_2a) const
Definition CEquation.cpp:23
void eval(double const dt, ConstituentDensityData const &constituent_density_data, PrevState< ConstituentDensityData > const &constituent_density_data_prev, SaturationData const &S_L_data, FC3aData &fC_3a) const
Definition CEquation.cpp:96
void dEval(double const dt, ConstituentDensityData const &constituent_density_data, PrevState< ConstituentDensityData > const &constituent_density_data_prev, PhaseTransitionData const &phase_transition_data, SaturationData const &S_L_data, SaturationDataDeriv const &dS_L_dp_cap, FC3aDerivativeData &dfC_3a) const
GlobalDimMatrix< DisplacementDim > L
Definition CEquation.h:176
void eval(FluidDensityData const &fluid_density_data, PhaseTransitionData const &phase_transition_data, PorosityData const &porosity_data, SaturationData const &S_L_data, FC4LCTData< DisplacementDim > &fC_4_LCT) const
GlobalDimMatrix< DisplacementDim > L
Definition CEquation.h:141
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, FC4LCpCData< DisplacementDim > &fC_4_LCpC) const
void dEval(ConstituentDensityData const &constituent_density_data, PermeabilityData< DisplacementDim > const &permeability_data, PhaseTransitionData const &phase_transition_data, SaturationDataDeriv const &dS_L_dp_cap, ViscosityData const &viscosity_data, FC4LCpCDerivativeData< DisplacementDim > &dfC_4_LCpC) const
GlobalDimMatrix< DisplacementDim > L
Definition CEquation.h:107
void dEval(PermeabilityData< DisplacementDim > const &permeability_data, ViscosityData const &viscosity_data, PhaseTransitionData const &phase_transition_data, AdvectionDerivativeData< DisplacementDim > const &advection_d_data, FC4LCpGDerivativeData< DisplacementDim > &dfC_4_LCpG) 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, FC4LCpGData< DisplacementDim > &fC_4_LCpG) const
void dEval(BiotData const &biot_data, ConstituentDensityData const &constituent_density_data, PhaseTransitionData const &phase_transition_data, PorosityData const &porosity_data, PorosityDerivativeData const &porosity_d_data, SaturationData const &S_L_data, SolidThermalExpansionData< DisplacementDim > const &s_therm_exp_data, FC4MCTDerivativeData &dfC_4_MCT) const
void eval(BiotData const &biot_data, ConstituentDensityData const &constituent_density_data, PorosityData const &porosity_data, SaturationData const &S_L_data, SolidThermalExpansionData< DisplacementDim > const &s_therm_exp_data, FC4MCTData &fC_4_MCT) 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, SaturationData const &S_L_data, SolidCompressibilityData const &beta_p_SR, FC4MCpCData &fC_4_MCpC) const
void eval(BiotData const &biot_data, ConstituentDensityData const &constituent_density_data, PorosityData const &porosity_data, SaturationData const &S_L_data, SolidCompressibilityData const &beta_p_SR, FC4MCpGData &fC_4_MCpG) const
void dEval(BiotData const &biot_data, ConstituentDensityData const &constituent_density_data, PhaseTransitionData const &phase_transition_data, PorosityData const &porosity_data, PorosityDerivativeData const &porosity_d_data, SaturationData const &S_L_data, SolidCompressibilityData const &beta_p_SR, FC4MCpGDerivativeData &dfC_4_MCpG) const
void eval(BiotData const &biot_data, ConstituentDensityData const &constituent_density_data, SaturationData const &S_L_data, FC4MCuData &fC_4_MCu) const
void dEval(BiotData const &biot_data, PhaseTransitionData const &phase_transition_data, SaturationData const &S_L_data, FC4MCuDerivativeData &dfC_4_MCu) const