OGS
EqP.h
Go to the documentation of this file.
1
11#pragma once
12
13#include "Biot.h"
15#include "LiquidDensity.h"
16#include "LiquidViscosity.h"
17#include "PermeabilityData.h"
18#include "Saturation.h"
19#include "TRMStorage.h"
20#include "TRMVaporDiffusion.h"
21
23{
24template <int DisplacementDim>
25struct EqPData
26{
29
31
32 double M_pT_X_NTN = nan;
33 double M_pu_X_BTI2N = nan;
34
36
38};
39
40template <int DisplacementDim>
42{
43 explicit EqPModel(
44 Eigen::Vector<double, DisplacementDim> const& specific_body_force)
45 : b_(specific_body_force)
46 {
47 }
48
49 void eval(CapillaryPressureData<DisplacementDim> const& p_cap_data,
51 SaturationData const& S_L_data,
52 SaturationDataDeriv const& dS_L_data,
53 BiotData const& biot_data,
54 LiquidDensityData const& rho_L_data,
55 LiquidViscosityData const& mu_L_data,
56 PermeabilityData<DisplacementDim> const& perm_data,
57 FluidThermalExpansionData const& f_therm_exp_data,
59 TRMStorageData const& storage_data,
60 EqPData<DisplacementDim>& out) const;
61
62private:
64 Eigen::Vector<double, DisplacementDim> const b_;
65};
66
67extern template struct EqPModel<2>;
68extern template struct EqPModel<3>;
69} // namespace ProcessLib::ThermoRichardsMechanics
static constexpr double nan
Convenience alias for not a number.
Definition Base.h:80
Eigen::Matrix< double, DisplacementDim, DisplacementDim, Eigen::RowMajor > GlobalDimMatrix
Definition Base.h:35
Eigen::Vector< double, DisplacementDim > GlobalDimVector
Definition Base.h:32
GlobalDimMatrix< DisplacementDim > K_pp_Laplace
Definition EqP.h:30
GlobalDimVector< DisplacementDim > rhs_p_dNT_V
Definition EqP.h:35
GlobalDimVector< DisplacementDim > J_pp_dNT_V_N
Definition EqP.h:27
void eval(CapillaryPressureData< DisplacementDim > const &p_cap_data, TemperatureData< DisplacementDim > const &T_data, SaturationData const &S_L_data, SaturationDataDeriv const &dS_L_data, BiotData const &biot_data, LiquidDensityData const &rho_L_data, LiquidViscosityData const &mu_L_data, PermeabilityData< DisplacementDim > const &perm_data, FluidThermalExpansionData const &f_therm_exp_data, TRMVaporDiffusionData< DisplacementDim > const &vap_data, TRMStorageData const &storage_data, EqPData< DisplacementDim > &out) const
Definition EqP.cpp:16
EqPModel(Eigen::Vector< double, DisplacementDim > const &specific_body_force)
Definition EqP.h:43
Eigen::Vector< double, DisplacementDim > const b_
Gravity vector (specific body force).
Definition EqP.h:64