OGS
WEquation.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 FW1Data<DisplacementDim>& fW_1) const;
34};
35
36extern template struct FW1Model<2>;
37extern template struct FW1Model<3>;
38
39struct FW2Data
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 PureLiquidDensityData const& rho_W_LR,
58 SaturationData const& S_L_data,
59 SolidCompressibilityData const beta_p_SR,
60 FW2Data& fW_2) const;
61
62 void dEval(BiotData const& biot_data,
63 CapillaryPressureData const pCap,
64 ConstituentDensityData const& constituent_density_data,
65 PhaseTransitionData const& phase_transition_data,
66 PorosityData const& porosity_data,
67 PorosityDerivativeData const& porosity_d_data,
68 PureLiquidDensityData const& rho_W_LR,
69 SaturationData const& S_L_data,
70 SaturationDataDeriv const& dS_L_dp_cap,
71 SolidCompressibilityData const& beta_p_SR,
72 FW2DerivativeData& dfW_2) const;
73};
74
76{
77 double a = nan;
78};
79
81{
82 double dp_GR = nan;
83 double dp_cap = nan;
84 double dT = nan;
85};
86
88{
89 void eval(
90 double const dt,
91 ConstituentDensityData const& constituent_density_data,
92 PrevState<ConstituentDensityData> const& constituent_density_data_prev,
93 PrevState<PureLiquidDensityData> const& rho_W_LR_prev,
94 PureLiquidDensityData const& rho_W_LR,
95 SaturationData const& S_L_data,
96 FW3aData& fW_3a) const;
97
98 void dEval(
99 double const dt,
100 ConstituentDensityData const& constituent_density_data,
101 PhaseTransitionData const& phase_transition_data,
102 PrevState<ConstituentDensityData> const& constituent_density_data_prev,
103 PrevState<PureLiquidDensityData> const& rho_W_LR_prev,
104 PureLiquidDensityData const& rho_W_LR,
105 SaturationData const& S_L_data,
106 SaturationDataDeriv const& dS_L_dp_cap,
107 FW3aDerivativeData& dfW_3a) const;
108};
109
110template <int DisplacementDim>
115
116template <int DisplacementDim>
123
124template <int DisplacementDim>
126{
127 void eval(AdvectionData<DisplacementDim> const& advection_data,
128 FluidDensityData const& fluid_density_data,
129 PhaseTransitionData const& phase_transition_data,
130 PorosityData const& porosity_data,
131 SaturationData const& S_L_data,
132 FW4LWpGData<DisplacementDim>& fW_4_LWpG) const;
133
134 void dEval(ConstituentDensityData const& constituent_density_data,
135 PermeabilityData<DisplacementDim> const& permeability_data,
136 PhaseTransitionData const& phase_transition_data,
137 PureLiquidDensityData const& rho_W_LR,
138 SaturationDataDeriv const& dS_L_dp_cap,
139 ViscosityData const& viscosity_data,
141};
142
143extern template struct FW4LWpGModel<2>;
144extern template struct FW4LWpGModel<3>;
145
146template <int DisplacementDim>
151
152template <int DisplacementDim>
159
160template <int DisplacementDim>
162{
163 void eval(AdvectionData<DisplacementDim> const& advection_data,
164 FluidDensityData const& fluid_density_data,
165 PhaseTransitionData const& phase_transition_data,
166 PorosityData const& porosity_data,
167 SaturationData const& S_L_data,
168 FW4LWpCData<DisplacementDim>& fW_4_LWpC) const;
169
170 void dEval(AdvectionData<DisplacementDim> const& advection_data,
171 FluidDensityData const& fluid_density_data,
172 PermeabilityData<DisplacementDim> const& permeability_data,
173 PhaseTransitionData const& phase_transition_data,
174 PorosityData const& porosity_data,
175 PureLiquidDensityData const& rho_W_LR,
176 SaturationData const& S_L_data,
177 SaturationDataDeriv const& dS_L_dp_cap,
178 ViscosityData const& viscosity_data,
180};
181
182extern template struct FW4LWpCModel<2>;
183extern template struct FW4LWpCModel<3>;
184
185template <int DisplacementDim>
190
191template <int DisplacementDim>
193{
194 void eval(FluidDensityData const& fluid_density_data,
195 PhaseTransitionData const& phase_transition_data,
196 PorosityData const& porosity_data,
197 SaturationData const& S_L_data,
198 FW4LWTData<DisplacementDim>& fW_4_LWT) const;
199};
200
202{
203 double m = nan;
204};
205
207{
208 void eval(BiotData const& biot_data,
209 ConstituentDensityData const& constituent_density_data,
210 PorosityData const& porosity_data,
211 PureLiquidDensityData const& rho_W_LR,
212 SaturationData const& S_L_data,
213 SolidCompressibilityData const& beta_p_SR,
214 FW4MWpGData& fW_4_MWpG) const;
215};
216
218{
219 double m = nan;
220 double ml = nan;
221};
222
224{
225 void eval(BiotData const& biot_data,
226 CapillaryPressureData const pCap,
227 ConstituentDensityData const& constituent_density_data,
228 PorosityData const& porosity_data,
229 PrevState<SaturationData> const& S_L_data_prev,
230 PureLiquidDensityData const& rho_W_LR,
231 SaturationData const& S_L_data,
232 SolidCompressibilityData const& beta_p_SR,
233 FW4MWpCData& fW_4_MWpC) const;
234};
235
237{
238 double m = nan;
239};
240
241template <int DisplacementDim>
243{
244 void eval(
245 BiotData const& biot_data,
246 ConstituentDensityData const& constituent_density_data,
247 PorosityData const& porosity_data,
248 PureLiquidDensityData const& rho_W_LR,
249 SaturationData const& S_L_data,
250 SolidThermalExpansionData<DisplacementDim> const& s_therm_exp_data,
251 FW4MWTData& fW_4_MWT) const;
252};
253
254extern template struct FW4MWTModel<2>;
255extern template struct FW4MWTModel<3>;
256
258{
259 double m = nan;
260};
261
263{
264 void eval(BiotData const& biot_data,
265 ConstituentDensityData const& constituent_density_data,
266 PureLiquidDensityData const& rho_W_LR,
267 SaturationData const& S_L_data,
268 FW4MWuData& fW_4_MWu) const;
269};
270} // namespace ConstitutiveRelations
271} // 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 PureLiquidDensityTag > PureLiquidDensityData
BaseLib::StrongType< double, struct SaturationDataDerivTag > SaturationDataDeriv
BaseLib::StrongType< double, struct BiotTag > BiotData
GlobalDimMatrix< DisplacementDim > A
Definition WEquation.h:25
void eval(AdvectionData< DisplacementDim > const &advection_data, FluidDensityData const &fluid_density_data, FW1Data< DisplacementDim > &fW_1) const
Definition WEquation.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, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, SaturationDataDeriv const &dS_L_dp_cap, SolidCompressibilityData const &beta_p_SR, FW2DerivativeData &dfW_2) const
Definition WEquation.cpp:42
void eval(BiotData const biot_data, CapillaryPressureData const pCap, ConstituentDensityData const &constituent_density_data, PorosityData const &porosity_data, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, SolidCompressibilityData const beta_p_SR, FW2Data &fW_2) const
Definition WEquation.cpp:23
void dEval(double const dt, ConstituentDensityData const &constituent_density_data, PhaseTransitionData const &phase_transition_data, PrevState< ConstituentDensityData > const &constituent_density_data_prev, PrevState< PureLiquidDensityData > const &rho_W_LR_prev, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, SaturationDataDeriv const &dS_L_dp_cap, FW3aDerivativeData &dfW_3a) const
void eval(double const dt, ConstituentDensityData const &constituent_density_data, PrevState< ConstituentDensityData > const &constituent_density_data_prev, PrevState< PureLiquidDensityData > const &rho_W_LR_prev, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, FW3aData &fW_3a) const
GlobalDimMatrix< DisplacementDim > L
Definition WEquation.h:188
void eval(FluidDensityData const &fluid_density_data, PhaseTransitionData const &phase_transition_data, PorosityData const &porosity_data, SaturationData const &S_L_data, FW4LWTData< DisplacementDim > &fW_4_LWT) const
GlobalDimMatrix< DisplacementDim > L
Definition WEquation.h:149
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, FW4LWpCData< DisplacementDim > &fW_4_LWpC) const
void dEval(AdvectionData< DisplacementDim > const &advection_data, FluidDensityData const &fluid_density_data, PermeabilityData< DisplacementDim > const &permeability_data, PhaseTransitionData const &phase_transition_data, PorosityData const &porosity_data, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, SaturationDataDeriv const &dS_L_dp_cap, ViscosityData const &viscosity_data, FW4LWpCDerivativeData< DisplacementDim > &dfW_4_LWpC) const
GlobalDimMatrix< DisplacementDim > L
Definition WEquation.h:113
void dEval(ConstituentDensityData const &constituent_density_data, PermeabilityData< DisplacementDim > const &permeability_data, PhaseTransitionData const &phase_transition_data, PureLiquidDensityData const &rho_W_LR, SaturationDataDeriv const &dS_L_dp_cap, ViscosityData const &viscosity_data, FW4LWpGDerivativeData< DisplacementDim > &dfW_4_LWpG) 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, FW4LWpGData< DisplacementDim > &fW_4_LWpG) const
void eval(BiotData const &biot_data, ConstituentDensityData const &constituent_density_data, PorosityData const &porosity_data, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, SolidThermalExpansionData< DisplacementDim > const &s_therm_exp_data, FW4MWTData &fW_4_MWT) 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, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, SolidCompressibilityData const &beta_p_SR, FW4MWpCData &fW_4_MWpC) const
void eval(BiotData const &biot_data, ConstituentDensityData const &constituent_density_data, PorosityData const &porosity_data, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, SolidCompressibilityData const &beta_p_SR, FW4MWpGData &fW_4_MWpG) const
void eval(BiotData const &biot_data, ConstituentDensityData const &constituent_density_data, PureLiquidDensityData const &rho_W_LR, SaturationData const &S_L_data, FW4MWuData &fW_4_MWu) const