OGS
ProcessLib::TH2M::ConstitutiveRelations::FW4LWpGModel< DisplacementDim > Struct Template Reference

Detailed Description

template<int DisplacementDim>
struct ProcessLib::TH2M::ConstitutiveRelations::FW4LWpGModel< DisplacementDim >

Definition at line 131 of file WEquation.h.

#include <WEquation.h>

Public Member Functions

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 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
 

Member Function Documentation

◆ dEval()

template<int DisplacementDim>
void ProcessLib::TH2M::ConstitutiveRelations::FW4LWpGModel< DisplacementDim >::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

Definition at line 202 of file WEquation.cpp.

210{
212 // TODO (naumov) d(diffusion_W_p)/dX for dxmW*/d* != 0
213
214 auto const k_over_mu_G =
215 permeability_data.Ki * permeability_data.k_rel_G / viscosity_data.mu_GR;
216 auto const k_over_mu_L =
217 permeability_data.Ki * permeability_data.k_rel_L / viscosity_data.mu_LR;
218
219 // dk_over_mu_G_dp_GR = ip_out.permeability_data.Ki *
220 // ip_out.permeability_data.dk_rel_G_dS_L *
221 // (ds_L_dp_GR = 0) /
222 // ip_cv.viscosity_data.mu_GR = 0;
223 // dk_over_mu_L_dp_GR = ip_out.permeability_data.Ki *
224 // ip_out.permeability_data.dk_rel_L_dS_L *
225 // (ds_L_dp_GR = 0) /
226 // ip_cv.viscosity_data.mu_LR = 0;
227 auto const dk_over_mu_G_dp_cap = permeability_data.Ki *
228 permeability_data.dk_rel_G_dS_L *
229 dS_L_dp_cap() / viscosity_data.mu_GR;
230
231 auto const dk_over_mu_L_dp_cap = permeability_data.Ki *
232 permeability_data.dk_rel_L_dS_L *
233 dS_L_dp_cap() / viscosity_data.mu_LR;
234
235 dfW_4_LWpG.dp_GR = phase_transition_data.drho_W_GR_dp_GR * k_over_mu_G
236 // + rhoWGR * (dk_over_mu_G_dp_GR = 0)
237 + phase_transition_data.drho_W_LR_dp_GR * k_over_mu_L
238 // + rhoWLR * (dk_over_mu_L_dp_GR = 0)
239 ;
240
241 dfW_4_LWpG.dp_cap =
242 phase_transition_data.drho_W_GR_dp_cap * k_over_mu_G +
243 constituent_density_data.rho_W_GR * dk_over_mu_G_dp_cap +
244 -phase_transition_data.drho_W_LR_dp_LR * k_over_mu_L +
245 rho_W_LR() * dk_over_mu_L_dp_cap;
246
247 dfW_4_LWpG.dT = phase_transition_data.drho_W_GR_dT * k_over_mu_G
248 //+ rhoWGR * (dk_over_mu_G_dT != 0 TODO for mu_G(T))
249 + phase_transition_data.drho_W_LR_dT * k_over_mu_L
250 //+ rhoWLR * (dk_over_mu_L_dT != 0 TODO for mu_G(T))
251 ;
252}

References ProcessLib::TH2M::ConstitutiveRelations::PermeabilityData< DisplacementDim >::dk_rel_G_dS_L, ProcessLib::TH2M::ConstitutiveRelations::PermeabilityData< DisplacementDim >::dk_rel_L_dS_L, ProcessLib::TH2M::ConstitutiveRelations::FW4LWpGDerivativeData< DisplacementDim >::dp_cap, ProcessLib::TH2M::ConstitutiveRelations::FW4LWpGDerivativeData< DisplacementDim >::dp_GR, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::drho_W_GR_dp_cap, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::drho_W_GR_dp_GR, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::drho_W_GR_dT, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::drho_W_LR_dp_GR, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::drho_W_LR_dp_LR, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::drho_W_LR_dT, ProcessLib::TH2M::ConstitutiveRelations::FW4LWpGDerivativeData< DisplacementDim >::dT, ProcessLib::TH2M::ConstitutiveRelations::PermeabilityData< DisplacementDim >::k_rel_G, ProcessLib::TH2M::ConstitutiveRelations::PermeabilityData< DisplacementDim >::k_rel_L, ProcessLib::TH2M::ConstitutiveRelations::PermeabilityData< DisplacementDim >::Ki, ProcessLib::TH2M::ConstitutiveRelations::ViscosityData::mu_GR, ProcessLib::TH2M::ConstitutiveRelations::ViscosityData::mu_LR, and ProcessLib::TH2M::ConstitutiveRelations::ConstituentDensityData::rho_W_GR.

◆ eval()

template<int DisplacementDim>
void ProcessLib::TH2M::ConstitutiveRelations::FW4LWpGModel< DisplacementDim >::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

Definition at line 173 of file WEquation.cpp.

180{
181 GlobalDimMatrix<DisplacementDim> const advection_W =
182 advection_data.advection_W_G + advection_data.advection_W_L;
183
184 double const sD_G = phase_transition_data.diffusion_coefficient_vapour;
185 double const sD_L = phase_transition_data.diffusion_coefficient_solute;
186
187 double const phi_G = (1 - S_L_data.S_L) * porosity_data.phi;
188 double const phi_L = S_L_data.S_L * porosity_data.phi;
189
190 double const diffusion_WGpGR = phi_G * fluid_density_data.rho_GR * sD_G *
191 phase_transition_data.dxmWG_dpGR;
192 double const diffusion_WLpGR = phi_L * fluid_density_data.rho_LR * sD_L *
193 phase_transition_data.dxmWL_dpGR;
194 double const diffusion_W_pGR = diffusion_WGpGR + diffusion_WLpGR;
195
196 auto const I =
197 Eigen::Matrix<double, DisplacementDim, DisplacementDim>::Identity();
198 fW_4_LWpG.L.noalias() = diffusion_W_pGR * I + advection_W;
199}
Eigen::Matrix< double, DisplacementDim, DisplacementDim, Eigen::RowMajor > GlobalDimMatrix
Definition Base.h:32

References ProcessLib::TH2M::ConstitutiveRelations::AdvectionData< DisplacementDim >::advection_W_G, ProcessLib::TH2M::ConstitutiveRelations::AdvectionData< DisplacementDim >::advection_W_L, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::diffusion_coefficient_solute, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::diffusion_coefficient_vapour, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::dxmWG_dpGR, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::dxmWL_dpGR, ProcessLib::TH2M::ConstitutiveRelations::FW4LWpGData< DisplacementDim >::L, ProcessLib::TH2M::ConstitutiveRelations::PorosityData::phi, ProcessLib::TH2M::ConstitutiveRelations::FluidDensityData::rho_GR, ProcessLib::TH2M::ConstitutiveRelations::FluidDensityData::rho_LR, and ProcessLib::TH2M::ConstitutiveRelations::SaturationData::S_L.


The documentation for this struct was generated from the following files: