OGS
ProcessLib::TH2M::ConstitutiveRelations::FC2aModel Struct Reference

Detailed Description

Definition at line 51 of file CEquation.h.

#include <CEquation.h>

Public Member Functions

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

Member Function Documentation

◆ dEval()

void ProcessLib::TH2M::ConstitutiveRelations::FC2aModel::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 at line 41 of file CEquation.cpp.

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}

References ProcessLib::TH2M::ConstitutiveRelations::FC2aDerivativeData::dp_cap, ProcessLib::TH2M::ConstitutiveRelations::FC2aDerivativeData::dp_GR, ProcessLib::TH2M::ConstitutiveRelations::PorosityDerivativeData::dphi_dT, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::drho_C_GR_dp_GR, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::drho_C_GR_dT, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::drho_C_LR_dp_GR, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::drho_C_LR_dp_LR, ProcessLib::TH2M::ConstitutiveRelations::PhaseTransitionData::drho_C_LR_dT, ProcessLib::TH2M::ConstitutiveRelations::FC2aDerivativeData::dT, ProcessLib::TH2M::ConstitutiveRelations::CapillaryPressureData::pCap, ProcessLib::TH2M::ConstitutiveRelations::PorosityData::phi, ProcessLib::TH2M::ConstitutiveRelations::ConstituentDensityData::rho_C_GR, ProcessLib::TH2M::ConstitutiveRelations::ConstituentDensityData::rho_C_LR, and ProcessLib::TH2M::ConstitutiveRelations::SaturationData::S_L.

Referenced by ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::updateConstitutiveVariablesDerivatives().

◆ eval()

void ProcessLib::TH2M::ConstitutiveRelations::FC2aModel::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 at line 23 of file CEquation.cpp.

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}

References ProcessLib::TH2M::ConstitutiveRelations::FC2aData::a, ProcessLib::TH2M::ConstitutiveRelations::CapillaryPressureData::pCap, ProcessLib::TH2M::ConstitutiveRelations::PorosityData::phi, ProcessLib::TH2M::ConstitutiveRelations::ConstituentDensityData::rho_C_GR, ProcessLib::TH2M::ConstitutiveRelations::ConstituentDensityData::rho_C_LR, and ProcessLib::TH2M::ConstitutiveRelations::SaturationData::S_L.

Referenced by ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::updateConstitutiveVariables().


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