OGS
ProcessLib::TH2M::ConstitutiveRelations::FC3aModel Struct Reference

Detailed Description

Definition at line 91 of file CEquation.h.

#include <CEquation.h>

Public Member Functions

void eval (double const dt, ConstituentDensityData const &constituent_density_data, PrevState< ConstituentDensityData > const &constituent_density_data_prev, SaturationData const &S_L_data, FC3aData &fC_3a) const
 
void dEval (double const dt, ConstituentDensityData const &constituent_density_data, PrevState< ConstituentDensityData > const &constituent_density_data_prev, PhaseTransitionData const &phase_transition_data, SaturationData const &S_L_data, SaturationDataDeriv const &dS_L_dp_cap, FC3aDerivativeData &dfC_3a) const
 

Member Function Documentation

◆ dEval()

void ProcessLib::TH2M::ConstitutiveRelations::FC3aModel::dEval ( double const dt,
ConstituentDensityData const & constituent_density_data,
PrevState< ConstituentDensityData > const & constituent_density_data_prev,
PhaseTransitionData const & phase_transition_data,
SaturationData const & S_L_data,
SaturationDataDeriv const & dS_L_dp_cap,
FC3aDerivativeData & dfC_3a ) const

Definition at line 126 of file CEquation.cpp.

134{
135 if (dt == 0.)
136 {
137 dfC_3a.dp_GR = 0.;
138 dfC_3a.dp_cap = 0.;
139 dfC_3a.dT = 0.;
140 return;
141 }
142 double const rho_C_GR_dot = (constituent_density_data.rho_C_GR -
143 constituent_density_data_prev->rho_C_GR) /
144 dt;
145 double const rho_C_LR_dot = (constituent_density_data.rho_C_LR -
146 constituent_density_data_prev->rho_C_LR) /
147 dt;
148
149 auto const S_L = S_L_data.S_L;
150 auto const S_G = 1. - S_L;
151 dfC_3a.dp_GR =
152 /*(dS_G_dp_GR = 0) * rho_C_GR_dot +*/
153 S_G * phase_transition_data.drho_C_GR_dp_GR / dt +
154 /*(dS_L_dp_GR = 0) * rho_C_LR_dot +*/
155 S_L * phase_transition_data.drho_C_LR_dp_GR / dt;
156
157 double const dS_G_dp_cap = -dS_L_dp_cap();
158 // TODO (naumov) Extend for partially saturated media.
159 constexpr double drho_C_GR_dp_cap = 0;
160
161 dfC_3a.dp_cap = dS_G_dp_cap * rho_C_GR_dot + S_G * drho_C_GR_dp_cap / dt +
162 dS_L_dp_cap() * rho_C_LR_dot -
163 S_L * phase_transition_data.drho_C_LR_dp_LR / dt;
164
165 dfC_3a.dT = S_G * phase_transition_data.drho_C_GR_dT / dt +
166 S_L * phase_transition_data.drho_C_LR_dT / dt;
167}

References ProcessLib::TH2M::ConstitutiveRelations::FC3aDerivativeData::dp_cap, ProcessLib::TH2M::ConstitutiveRelations::FC3aDerivativeData::dp_GR, 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::FC3aDerivativeData::dT, 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::FC3aModel::eval ( double const dt,
ConstituentDensityData const & constituent_density_data,
PrevState< ConstituentDensityData > const & constituent_density_data_prev,
SaturationData const & S_L_data,
FC3aData & fC_3a ) const

Definition at line 102 of file CEquation.cpp.

108{
109 if (dt == 0.)
110 {
111 fC_3a.a = 0;
112 return;
113 }
114
115 double const rho_C_GR_dot = (constituent_density_data.rho_C_GR -
116 constituent_density_data_prev->rho_C_GR) /
117 dt;
118 double const rho_C_LR_dot = (constituent_density_data.rho_C_LR -
119 constituent_density_data_prev->rho_C_LR) /
120 dt;
121 auto const S_L = S_L_data.S_L;
122 auto const S_G = 1. - S_L;
123 fC_3a.a = S_G * rho_C_GR_dot + S_L * rho_C_LR_dot;
124}

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