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

Detailed Description

Definition at line 57 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 47 of file CEquation.cpp.

57{
58 double const S_L = S_L_data.S_L;
59 double const S_G = 1. - S_L;
60
61 double const drho_C_FR_dp_GR =
62 /*(dS_G_dp_GR = 0) * constituent_density_data.rho_C_GR +*/
63 S_G * phase_transition_data.drho_C_GR_dp_GR +
64 /*(dS_L_dp_GR = 0) * constituent_density_data.rho_C_LR +*/
65 S_L * phase_transition_data.drho_C_LR_dp_GR;
66
67 dfC_2a.dp_GR = -porosity_data.phi * phase_transition_data.drho_C_GR_dp_GR -
68 drho_C_FR_dp_GR * pCap() *
69 (biot_data() - porosity_data.phi) * beta_p_SR();
70
71 double const dS_G_dp_cap = -dS_L_dp_cap();
72 double const rho_C_FR = S_G * constituent_density_data.rho_C_GR +
73 S_L * constituent_density_data.rho_C_LR;
74
75 // TODO (naumov) Extend for partially saturated media.
76 constexpr double drho_C_GR_dp_cap = 0;
77
78 double const drho_C_FR_dp_cap =
79 dS_G_dp_cap * constituent_density_data.rho_C_GR +
80 S_G * drho_C_GR_dp_cap +
81 dS_L_dp_cap() * constituent_density_data.rho_C_LR -
82 S_L * phase_transition_data.drho_C_LR_dp_LR;
83
84 dfC_2a.dp_cap =
85 porosity_data.phi *
86 (-phase_transition_data.drho_C_LR_dp_LR - drho_C_GR_dp_cap) -
87 drho_C_FR_dp_cap * pCap() * (biot_data() - porosity_data.phi) *
88 beta_p_SR() +
89 rho_C_FR * (biot_data() - porosity_data.phi) * beta_p_SR();
90
91 double const drho_C_FR_dT = S_G * phase_transition_data.drho_C_GR_dT +
92 S_L * phase_transition_data.drho_C_LR_dT;
93 dfC_2a.dT = porosity_d_data.dphi_dT * (constituent_density_data.rho_C_LR -
94 constituent_density_data.rho_C_GR) +
95 porosity_data.phi * (phase_transition_data.drho_C_LR_dT -
96 phase_transition_data.drho_C_GR_dT) -
97 drho_C_FR_dT * pCap() * (biot_data() - porosity_data.phi) *
98 beta_p_SR() +
99 rho_C_FR * pCap() * porosity_d_data.dphi_dT * beta_p_SR();
100}

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::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 29 of file CEquation.cpp.

36{
37 auto const S_L = S_L_data.S_L;
38 auto const S_G = 1. - S_L;
39 double const rho_C_FR = S_G * constituent_density_data.rho_C_GR +
40 S_L * constituent_density_data.rho_C_LR;
41 fC_2a.a =
42 porosity_data.phi * (constituent_density_data.rho_C_LR -
43 constituent_density_data.rho_C_GR) -
44 rho_C_FR * pCap() * (biot_data() - porosity_data.phi) * beta_p_SR();
45}

References ProcessLib::TH2M::ConstitutiveRelations::FC2aData::a, 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: