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

Detailed Description

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

Definition at line 159 of file CEquation.h.

#include <CEquation.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, 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
 

Member Function Documentation

◆ dEval()

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

Definition at line 258 of file CEquation.cpp.

265{
267 // TODO (naumov) d(diffusion_C_pCap)/dX for dxmW*/d* != 0
268
270 GlobalDimMatrix<DisplacementDim> const k_over_mu_L =
271 permeability_data.Ki * permeability_data.k_rel_L / viscosity_data.mu_LR;
272
273 dfC_4_LCpC.dp_GR = phase_transition_data.drho_C_LR_dp_GR * k_over_mu_L
274 //+ rhoCLR * (dk_over_mu_L_dp_GR = 0)
275 ;
276
277 auto const dk_over_mu_L_dp_cap = permeability_data.Ki *
278 permeability_data.dk_rel_L_dS_L *
279 dS_L_dp_cap() / viscosity_data.mu_LR;
280
281 dfC_4_LCpC.dp_cap = -phase_transition_data.drho_C_LR_dp_LR * k_over_mu_L +
282 constituent_density_data.rho_C_LR * dk_over_mu_L_dp_cap;
283
284 dfC_4_LCpC.dT = phase_transition_data.drho_W_LR_dT * k_over_mu_L
285 //+ rhoWLR * (dk_over_mu_L_dT != 0 TODO for mu_L(T))
286 ;
287}
Eigen::Matrix< double, DisplacementDim, DisplacementDim, Eigen::RowMajor > GlobalDimMatrix
Definition Base.h:32

References ProcessLib::TH2M::ConstitutiveRelations::PermeabilityData< DisplacementDim >::dk_rel_L_dS_L, ProcessLib::TH2M::ConstitutiveRelations::FC4LCpCDerivativeData< DisplacementDim >::dp_cap, ProcessLib::TH2M::ConstitutiveRelations::FC4LCpCDerivativeData< DisplacementDim >::dp_GR, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::drho_C_LR_dp_GR, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::drho_C_LR_dp_LR, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::drho_W_LR_dT, ProcessLib::TH2M::ConstitutiveRelations::FC4LCpCDerivativeData< DisplacementDim >::dT, ProcessLib::TH2M::ConstitutiveRelations::PermeabilityData< DisplacementDim >::k_rel_L, ProcessLib::TH2M::ConstitutiveRelations::PermeabilityData< DisplacementDim >::Ki, ProcessLib::TH2M::ConstitutiveRelations::ViscosityData::mu_LR, and ProcessLib::TH2M::ConstitutiveRelations::ConstituentDensityData::rho_C_LR.

◆ eval()

template<int DisplacementDim>
void ProcessLib::TH2M::ConstitutiveRelations::FC4LCpCModel< 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,
FC4LCpCData< DisplacementDim > & fC_4_LCpC ) const

Definition at line 230 of file CEquation.cpp.

237{
238 double const sD_G = phase_transition_data.diffusion_coefficient_vapour;
239 double const sD_L = phase_transition_data.diffusion_coefficient_solute;
240
241 double const phi_G = (1 - S_L_data.S_L) * porosity_data.phi;
242 double const phi_L = S_L_data.S_L * porosity_data.phi;
243
244 double const diffusion_CGpCap = -phi_G * fluid_density_data.rho_GR * sD_G *
245 phase_transition_data.dxmWG_dpCap;
246 double const diffusion_CLpCap = -phi_L * fluid_density_data.rho_LR * sD_L *
247 phase_transition_data.dxmWL_dpCap;
248
249 double const diffusion_C_pCap = diffusion_CGpCap + diffusion_CLpCap;
250
251 auto const I =
252 Eigen::Matrix<double, DisplacementDim, DisplacementDim>::Identity();
253
254 fC_4_LCpC.L.noalias() = diffusion_C_pCap * I - advection_data.advection_C_L;
255}

References ProcessLib::TH2M::ConstitutiveRelations::AdvectionData< DisplacementDim >::advection_C_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::FC4LCpCData< 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: