OGS
EqP.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 "Biot.h"
8#include "LiquidDensity.h"
9#include "LiquidViscosity.h"
10#include "PermeabilityData.h"
12#include "Saturation.h"
13#include "TRMStorage.h"
14#include "TRMVaporDiffusion.h"
15
17{
18template <int DisplacementDim>
33
34template <int DisplacementDim>
36{
38 DisplacementDim> const& specific_body_force)
39 : specific_body_force_(specific_body_force)
40 {
41 }
42
43 void eval(CapillaryPressureData<DisplacementDim> const& p_cap_data,
45 SaturationData const& S_L_data,
46 SaturationDataDeriv const& dS_L_data,
47 BiotData const& biot_data,
48 LiquidDensityData const& rho_L_data,
49 LiquidViscosityData const& mu_L_data,
50 PermeabilityData<DisplacementDim> const& perm_data,
51 FluidThermalExpansionData const& f_therm_exp_data,
53 TRMStorageData const& storage_data,
54 EqPData<DisplacementDim>& out) const;
55
57 DisplacementDim> const& specific_body_force)
58 {
59 return EqPModel{specific_body_force};
60 }
61
62private:
66};
67
68extern template struct EqPModel<2>;
69extern template struct EqPModel<3>;
70} // namespace ProcessLib::ThermoRichardsMechanics
Eigen::Vector< double, DisplacementDim > GlobalDimVector
Eigen::Matrix< double, DisplacementDim, DisplacementDim, Eigen::RowMajor > GlobalDimMatrix
static constexpr double nan
Convenience alias for not a number.
BaseLib::StrongType< GlobalDimVector< DisplacementDim >, struct SpecificBodyForceTag > SpecificBodyForce
constexpr GlobalDimVector< D > DVnan()
Used to set a D dimensional vector to all not-a-number.
BaseLib::StrongType< double, struct BiotTag > BiotData
constexpr GlobalDimMatrix< D > DMnan()
Used to set a D x D matrix to all not-a-number.
BaseLib::StrongType< double, struct LiquidViscosityDataTag > LiquidViscosityData
GlobalDimMatrix< DisplacementDim > K_pp_Laplace
Definition EqP.h:24
GlobalDimVector< DisplacementDim > rhs_p_dNT_V
Definition EqP.h:29
GlobalDimVector< DisplacementDim > J_pp_dNT_V_N
Definition EqP.h:21
EqPModel(ProcessLib::ConstitutiveRelations::SpecificBodyForce< DisplacementDim > const &specific_body_force)
Definition EqP.h:37
static EqPModel create(ProcessLib::ConstitutiveRelations::SpecificBodyForce< DisplacementDim > const &specific_body_force)
Definition EqP.h:56
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:9
ProcessLib::ConstitutiveRelations::SpecificBodyForce< DisplacementDim > const specific_body_force_
Gravity vector (specific body force).
Definition EqP.h:65