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

Detailed Description

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

Definition at line 167 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, 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
 

Member Function Documentation

◆ dEval()

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

Definition at line 286 of file WEquation.cpp.

297{
299 // TODO (naumov) d(diffusion_W_pCap)/dX for dxmW*/d* != 0
300
302 GlobalDimMatrix<DisplacementDim> const k_over_mu_L =
303 permeability_data.Ki * permeability_data.k_rel_L / viscosity_data.mu_LR;
304
305 dfW_4_LWpC.dp_GR = phase_transition_data.drho_W_LR_dp_GR * k_over_mu_L
306 //+ rhoWLR * (dk_over_mu_L_dp_GR = 0)
307 ;
308
309 double const sD_G = phase_transition_data.diffusion_coefficient_vapour;
310 double const sD_L = phase_transition_data.diffusion_coefficient_solute;
311
312 double const phi_G = (1 - S_L_data.S_L) * porosity_data.phi;
313 double const phi_L = S_L_data.S_L * porosity_data.phi;
314
315 double const diffusion_WGpCap = phi_G * fluid_density_data.rho_GR * sD_G *
316 phase_transition_data.dxmWG_dpCap;
317 double const diffusion_WLpCap = phi_L * fluid_density_data.rho_LR * sD_L *
318 phase_transition_data.dxmWL_dpCap;
319
320 double const diffusion_W_pCap = diffusion_WGpCap + diffusion_WLpCap;
321
322 auto const I =
323 Eigen::Matrix<double, DisplacementDim, DisplacementDim>::Identity();
324
325 dfW_4_LWpC.dp_cap = diffusion_W_pCap * I - advection_data.advection_W_L;
326
327 auto const dk_over_mu_L_dp_cap = permeability_data.Ki *
328 permeability_data.dk_rel_L_dS_L *
329 dS_L_dp_cap() / viscosity_data.mu_LR;
330 dfW_4_LWpC.dp_cap = -phase_transition_data.drho_W_LR_dp_LR * k_over_mu_L +
331 rho_W_LR() * dk_over_mu_L_dp_cap;
332
333 dfW_4_LWpC.dT = phase_transition_data.drho_W_LR_dT * k_over_mu_L
334 //+ rhoWLR * (dk_over_mu_L_dT != 0 TODO for mu_L(T))
335 ;
336}

References 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::PermeabilityData< DisplacementDim >::dk_rel_L_dS_L, ProcessLib::TH2M::ConstitutiveRelations::FW4LWpCDerivativeData< DisplacementDim >::dp_cap, ProcessLib::TH2M::ConstitutiveRelations::FW4LWpCDerivativeData< DisplacementDim >::dp_GR, 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::FW4LWpCDerivativeData< DisplacementDim >::dT, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::dxmWG_dpCap, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::dxmWL_dpCap, ProcessLib::TH2M::ConstitutiveRelations::PermeabilityData< DisplacementDim >::k_rel_L, ProcessLib::TH2M::ConstitutiveRelations::PermeabilityData< DisplacementDim >::Ki, ProcessLib::TH2M::ConstitutiveRelations::ViscosityData::mu_LR, ProcessLib::TH2M::ConstitutiveRelations::PorosityData::phi, ProcessLib::TH2M::ConstitutiveRelations::FluidDensityData::rho_GR, ProcessLib::TH2M::ConstitutiveRelations::FluidDensityData::rho_LR, and ProcessLib::TH2M::ConstitutiveRelations::SaturationData::S_L.

◆ eval()

template<int DisplacementDim>
void ProcessLib::TH2M::ConstitutiveRelations::FW4LWpCModel< 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,
FW4LWpCData< DisplacementDim > & fW_4_LWpC ) const

Definition at line 258 of file WEquation.cpp.

265{
266 double const sD_G = phase_transition_data.diffusion_coefficient_vapour;
267 double const sD_L = phase_transition_data.diffusion_coefficient_solute;
268
269 double const phi_G = (1 - S_L_data.S_L) * porosity_data.phi;
270 double const phi_L = S_L_data.S_L * porosity_data.phi;
271
272 double const diffusion_WGpCap = phi_G * fluid_density_data.rho_GR * sD_G *
273 phase_transition_data.dxmWG_dpCap;
274 double const diffusion_WLpCap = phi_L * fluid_density_data.rho_LR * sD_L *
275 phase_transition_data.dxmWL_dpCap;
276
277 double const diffusion_W_pCap = diffusion_WGpCap + diffusion_WLpCap;
278
279 auto const I =
280 Eigen::Matrix<double, DisplacementDim, DisplacementDim>::Identity();
281
282 fW_4_LWpC.L.noalias() = diffusion_W_pCap * I - advection_data.advection_W_L;
283}

References 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_dpCap, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::dxmWL_dpCap, ProcessLib::TH2M::ConstitutiveRelations::FW4LWpCData< 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: