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

Detailed Description

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

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

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

102{
103 if (dt == 0.)
104 {
105 fC_3a.a = 0;
106 return;
107 }
108
109 double const rho_C_GR_dot = (constituent_density_data.rho_C_GR -
110 constituent_density_data_prev->rho_C_GR) /
111 dt;
112 double const rho_C_LR_dot = (constituent_density_data.rho_C_LR -
113 constituent_density_data_prev->rho_C_LR) /
114 dt;
115 auto const S_L = S_L_data.S_L;
116 auto const S_G = 1. - S_L;
117 fC_3a.a = S_G * rho_C_GR_dot + S_L * rho_C_LR_dot;
118}

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: