Loading [MathJax]/extensions/tex2jax.js
OGS
Porosity.h
Go to the documentation of this file.
1
10#pragma once
11
12#include "Base.h"
13#include "Biot.h"
14#include "Bishops.h"
17#include "Saturation.h"
20
21namespace ProcessLib::TH2M
22{
23namespace ConstitutiveRelations
24{
26{
27 double dphi_dT = nan;
28 // dphi_G_dp_GR = -ds_L_dp_GR * phi = 0;
29 // dphi_L_dp_GR = ds_L_dp_GR * phi = 0;
31 // dphi_G_dp_cap = -dphi_L_dp_cap
32};
33
35{
36 double phi = nan;
37
38 static auto reflect()
39 {
40 using Self = PorosityData;
41 namespace R = ProcessLib::Reflection;
42
43 return std::tuple{R::makeReflectionData("porosity", &Self::phi)};
44 }
45};
46
47template <int DisplacementDim>
49{
50 void eval(SpaceTimeData const& x_t, MediaData const& media_data,
51 SaturationData const& S_L_data,
52 PrevState<SaturationData> const& S_L_prev_data,
53 CapillaryPressureData const& p_cap, GasPressureData const& p_GR,
54 BishopsData const& chi_S_L,
55 PrevState<BishopsData> const& chi_S_L_prev,
56 SolidCompressibilityData const& solid_compressibility,
57 StrainData<DisplacementDim> const& eps_data,
59 eps_prev,
60 PrevState<PorosityData> const& porosity_prev_data,
61 PorosityData& porosity_data) const;
62
63 void dEval(SpaceTimeData const& x_t, MediaData const& media_data,
64 SaturationData const& S_L_data,
65 PrevState<SaturationData> const& S_L_prev_data,
66 CapillaryPressureData const& p_cap, GasPressureData const& p_GR,
67 BishopsData const& chi_S_L,
68 PrevState<BishopsData> const& chi_S_L_prev,
69 SolidCompressibilityData const& solid_compressibility,
70 StrainData<DisplacementDim> const& eps_data,
72 eps_prev,
73 PrevState<PorosityData> const& porosity_prev_data,
74 PorosityDerivativeData& porosity_d_data) const;
75};
76
77extern template struct PorosityModel<2>;
78extern template struct PorosityModel<3>;
79
80} // namespace ConstitutiveRelations
81} // namespace ProcessLib::TH2M
Eigen::Matrix< double, kelvin_vector_dimensions(DisplacementDim), 1, Eigen::ColMajor > KelvinVectorType
static constexpr double nan
Convenience alias for not a number.
Definition Base.h:80
Represents a previous state of type T.
Definition Base.h:21
void dEval(SpaceTimeData const &x_t, MediaData const &media_data, SaturationData const &S_L_data, PrevState< SaturationData > const &S_L_prev_data, CapillaryPressureData const &p_cap, GasPressureData const &p_GR, BishopsData const &chi_S_L, PrevState< BishopsData > const &chi_S_L_prev, SolidCompressibilityData const &solid_compressibility, StrainData< DisplacementDim > const &eps_data, MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const &&eps_prev, PrevState< PorosityData > const &porosity_prev_data, PorosityDerivativeData &porosity_d_data) const
Definition Porosity.cpp:63
void eval(SpaceTimeData const &x_t, MediaData const &media_data, SaturationData const &S_L_data, PrevState< SaturationData > const &S_L_prev_data, CapillaryPressureData const &p_cap, GasPressureData const &p_GR, BishopsData const &chi_S_L, PrevState< BishopsData > const &chi_S_L_prev, SolidCompressibilityData const &solid_compressibility, StrainData< DisplacementDim > const &eps_data, MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const &&eps_prev, PrevState< PorosityData > const &porosity_prev_data, PorosityData &porosity_data) const
Definition Porosity.cpp:18