OGS
CEquation.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include "Advection.h"
7#include "Base.h"
8#include "Biot.h"
10#include "FluidDensity.h"
11#include "PermeabilityData.h"
12#include "PhaseTransitionData.h"
13#include "Porosity.h"
14#include "Saturation.h"
16#include "Viscosity.h"
17
18namespace ProcessLib::TH2M
19{
21{
22template <int DisplacementDim>
27
28template <int DisplacementDim>
30{
31 void eval(AdvectionData<DisplacementDim> const& advection_data,
32 FluidDensityData const& fluid_density_data,
33 FC1Data<DisplacementDim>& fC_1) const;
34};
35
36extern template struct FC1Model<2>;
37extern template struct FC1Model<3>;
38
40{
41 double a = nan;
42};
43
45{
46 double dp_GR = nan;
47 double dp_cap = nan;
48 double dT = nan;
49};
50
52{
53 void eval(BiotData const biot_data,
54 CapillaryPressureData const pCap,
55 ConstituentDensityData const& constituent_density_data,
56 PorosityData const& porosity_data,
57 SaturationData const& S_L_data,
58 SolidCompressibilityData const beta_p_SR,
59 FC2aData& fC_2a) const;
60
61 void dEval(BiotData const& biot_data,
62 CapillaryPressureData const pCap,
63 ConstituentDensityData const& constituent_density_data,
64 PhaseTransitionData const& phase_transition_data,
65 PorosityData const& porosity_data,
66 PorosityDerivativeData const& porosity_d_data,
67 SaturationData const& S_L_data,
68 SaturationDataDeriv const& dS_L_dp_cap,
69 SolidCompressibilityData const& beta_p_SR,
70 FC2aDerivativeData& dfC_2a) const;
71};
72
74{
75 double a = nan;
76};
77
79{
80 double dp_GR = nan;
81 double dp_cap = nan;
82 double dT = nan;
83};
84
86{
87 void eval(
88 double const dt,
89 ConstituentDensityData const& constituent_density_data,
90 PrevState<ConstituentDensityData> const& constituent_density_data_prev,
91 SaturationData const& S_L_data,
92 FC3aData& fC_3a) const;
93
94 void dEval(
95 double const dt,
96 ConstituentDensityData const& constituent_density_data,
97 PrevState<ConstituentDensityData> const& constituent_density_data_prev,
98 PhaseTransitionData const& phase_transition_data,
99 SaturationData const& S_L_data,
100 SaturationDataDeriv const& dS_L_dp_cap,
101 FC3aDerivativeData& dfC_3a) const;
102};
103
104template <int DisplacementDim>
109
110template <int DisplacementDim>
117
118template <int DisplacementDim>
120{
121 void eval(AdvectionData<DisplacementDim> const& advection_data,
122 FluidDensityData const& fluid_density_data,
123 PhaseTransitionData const& phase_transition_data,
124 PorosityData const& porosity_data,
125 SaturationData const& S_L_data,
126 FC4LCpGData<DisplacementDim>& fC_4_LCpG) const;
127
128 void dEval(PermeabilityData<DisplacementDim> const& permeability_data,
129 ViscosityData const& viscosity_data,
130 PhaseTransitionData const& phase_transition_data,
131 AdvectionDerivativeData<DisplacementDim> const& advection_d_data,
133};
134
135extern template struct FC4LCpGModel<2>;
136extern template struct FC4LCpGModel<3>;
137
138template <int DisplacementDim>
143
144template <int DisplacementDim>
151
152template <int DisplacementDim>
154{
155 void eval(AdvectionData<DisplacementDim> const& advection_data,
156 FluidDensityData const& fluid_density_data,
157 PhaseTransitionData const& phase_transition_data,
158 PorosityData const& porosity_data,
159 SaturationData const& S_L_data,
160 FC4LCpCData<DisplacementDim>& fC_4_LCpC) const;
161
162 void dEval(ConstituentDensityData const& constituent_density_data,
163 PermeabilityData<DisplacementDim> const& permeability_data,
164 PhaseTransitionData const& phase_transition_data,
165 SaturationDataDeriv const& dS_L_dp_cap,
166 ViscosityData const& viscosity_data,
168};
169
170extern template struct FC4LCpCModel<2>;
171extern template struct FC4LCpCModel<3>;
172
173template <int DisplacementDim>
178
179template <int DisplacementDim>
181{
182 void eval(FluidDensityData const& fluid_density_data,
183 PhaseTransitionData const& phase_transition_data,
184 PorosityData const& porosity_data,
185 SaturationData const& S_L_data,
186 FC4LCTData<DisplacementDim>& fC_4_LCT) const;
187};
188
190{
191 double m = nan;
192};
193
195{
196 double dp_GR = nan;
197 double dT = nan;
198};
199
201{
202 void eval(BiotData const& biot_data,
203 ConstituentDensityData const& constituent_density_data,
204 PorosityData const& porosity_data,
205 SaturationData const& S_L_data,
206 SolidCompressibilityData const& beta_p_SR,
207 FC4MCpGData& fC_4_MCpG) const;
208
209 void dEval(BiotData const& biot_data,
210 ConstituentDensityData const& constituent_density_data,
211 PhaseTransitionData const& phase_transition_data,
212 PorosityData const& porosity_data,
213 PorosityDerivativeData const& porosity_d_data,
214 SaturationData const& S_L_data,
215 SolidCompressibilityData const& beta_p_SR,
216 FC4MCpGDerivativeData& dfC_4_MCpG) const;
217};
218
220{
221 double m = nan;
222 double ml = nan;
223};
224
226{
227 void eval(BiotData const& biot_data,
228 CapillaryPressureData const pCap,
229 ConstituentDensityData const& constituent_density_data,
230 PorosityData const& porosity_data,
231 PrevState<SaturationData> const& S_L_data_prev,
232 SaturationData const& S_L_data,
233 SolidCompressibilityData const& beta_p_SR,
234 FC4MCpCData& fC_4_MCpC) const;
235};
236
238{
239 double m = nan;
240};
241
243{
244 double dT = nan;
245};
246
247template <int DisplacementDim>
249{
250 void eval(
251 BiotData const& biot_data,
252 ConstituentDensityData const& constituent_density_data,
253 PorosityData const& porosity_data,
254 SaturationData const& S_L_data,
255 SolidThermalExpansionData<DisplacementDim> const& s_therm_exp_data,
256 FC4MCTData& fC_4_MCT) const;
257
258 void dEval(
259 BiotData const& biot_data,
260 ConstituentDensityData const& constituent_density_data,
261 PhaseTransitionData const& phase_transition_data,
262 PorosityData const& porosity_data,
263 PorosityDerivativeData const& porosity_d_data,
264 SaturationData const& S_L_data,
265 SolidThermalExpansionData<DisplacementDim> const& s_therm_exp_data,
266 FC4MCTDerivativeData& dfC_4_MCT) const;
267};
268
270{
271 double m = nan;
272};
273
275{
276 double dT = nan;
277};
278
280{
281 void eval(BiotData const& biot_data,
282 ConstituentDensityData const& constituent_density_data,
283 SaturationData const& S_L_data,
284 FC4MCuData& fC_4_MCu) const;
285
286 void dEval(BiotData const& biot_data,
287 PhaseTransitionData const& phase_transition_data,
288 SaturationData const& S_L_data,
289 FC4MCuDerivativeData& dfC_4_MCu) const;
290};
291
292extern template struct FC4MCTModel<2>;
293extern template struct FC4MCTModel<3>;
294} // namespace ConstitutiveRelations
295} // namespace ProcessLib::TH2M
Eigen::Matrix< double, DisplacementDim, DisplacementDim, Eigen::RowMajor > GlobalDimMatrix
static constexpr double nan
Convenience alias for not a number.
BaseLib::StrongType< double, struct SolidCompressibilityDataTag > SolidCompressibilityData
BaseLib::StrongType< double, struct SaturationDataDerivTag > SaturationDataDeriv
BaseLib::StrongType< double, struct BiotTag > BiotData
GlobalDimMatrix< DisplacementDim > A
Definition CEquation.h:25
void eval(AdvectionData< DisplacementDim > const &advection_data, FluidDensityData const &fluid_density_data, FC1Data< DisplacementDim > &fC_1) const
Definition CEquation.cpp:11
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
Definition CEquation.cpp:41
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
Definition CEquation.cpp:23
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
Definition CEquation.cpp:96
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
GlobalDimMatrix< DisplacementDim > L
Definition CEquation.h:176
void eval(FluidDensityData const &fluid_density_data, PhaseTransitionData const &phase_transition_data, PorosityData const &porosity_data, SaturationData const &S_L_data, FC4LCTData< DisplacementDim > &fC_4_LCT) const
GlobalDimMatrix< DisplacementDim > L
Definition CEquation.h:141
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
GlobalDimMatrix< DisplacementDim > L
Definition CEquation.h:107
void dEval(PermeabilityData< DisplacementDim > const &permeability_data, ViscosityData const &viscosity_data, PhaseTransitionData const &phase_transition_data, AdvectionDerivativeData< DisplacementDim > const &advection_d_data, FC4LCpGDerivativeData< DisplacementDim > &dfC_4_LCpG) const
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, FC4LCpGData< DisplacementDim > &fC_4_LCpG) const
void dEval(BiotData const &biot_data, ConstituentDensityData const &constituent_density_data, PhaseTransitionData const &phase_transition_data, PorosityData const &porosity_data, PorosityDerivativeData const &porosity_d_data, SaturationData const &S_L_data, SolidThermalExpansionData< DisplacementDim > const &s_therm_exp_data, FC4MCTDerivativeData &dfC_4_MCT) const
void eval(BiotData const &biot_data, ConstituentDensityData const &constituent_density_data, PorosityData const &porosity_data, SaturationData const &S_L_data, SolidThermalExpansionData< DisplacementDim > const &s_therm_exp_data, FC4MCTData &fC_4_MCT) const
void eval(BiotData const &biot_data, CapillaryPressureData const pCap, ConstituentDensityData const &constituent_density_data, PorosityData const &porosity_data, PrevState< SaturationData > const &S_L_data_prev, SaturationData const &S_L_data, SolidCompressibilityData const &beta_p_SR, FC4MCpCData &fC_4_MCpC) const
void eval(BiotData const &biot_data, ConstituentDensityData const &constituent_density_data, PorosityData const &porosity_data, SaturationData const &S_L_data, SolidCompressibilityData const &beta_p_SR, FC4MCpGData &fC_4_MCpG) const
void dEval(BiotData const &biot_data, ConstituentDensityData const &constituent_density_data, PhaseTransitionData const &phase_transition_data, PorosityData const &porosity_data, PorosityDerivativeData const &porosity_d_data, SaturationData const &S_L_data, SolidCompressibilityData const &beta_p_SR, FC4MCpGDerivativeData &dfC_4_MCpG) const
void eval(BiotData const &biot_data, ConstituentDensityData const &constituent_density_data, SaturationData const &S_L_data, FC4MCuData &fC_4_MCu) const
void dEval(BiotData const &biot_data, PhaseTransitionData const &phase_transition_data, SaturationData const &S_L_data, FC4MCuDerivativeData &dfC_4_MCu) const