OGS
Gravity.h
Go to the documentation of this file.
1
11#pragma once
12
13#include "LiquidDensity.h"
14#include "Saturation.h"
15#include "SolidDensity.h"
17
19{
20template <int DisplacementDim>
26
27template <int DisplacementDim>
29{
30 explicit GravityModel(
31 Eigen::Vector<double, DisplacementDim> const& specific_body_force)
32 : specific_body_force_(specific_body_force)
33 {
34 }
35
36 void eval(PorosityData const& poro_data,
37 SolidDensityData const& rho_S_data,
38 LiquidDensityData const& rho_L_data,
39 SaturationData const& S_L_data,
40 SaturationDataDeriv const& dS_L_data,
42
44 SpecificBodyForceData<DisplacementDim> const& specific_body_force_data)
45 {
46 return GravityModel{specific_body_force_data.specific_body_force};
47 }
48
49private:
50 Eigen::Vector<double, DisplacementDim> const specific_body_force_;
51};
52
53extern template struct GravityModel<2>;
54extern template struct GravityModel<3>;
55} // namespace ProcessLib::ThermoRichardsMechanics
Eigen::Vector< double, DisplacementDim > GlobalDimVector
Definition Base.h:32
GlobalDimVector< DisplacementDim > volumetric_body_force
Definition Gravity.h:23
GlobalDimVector< DisplacementDim > J_up_HT_V_N
Definition Gravity.h:24
GravityModel(Eigen::Vector< double, DisplacementDim > const &specific_body_force)
Definition Gravity.h:30
Eigen::Vector< double, DisplacementDim > const specific_body_force_
Definition Gravity.h:50
void eval(PorosityData const &poro_data, SolidDensityData const &rho_S_data, LiquidDensityData const &rho_L_data, SaturationData const &S_L_data, SaturationDataDeriv const &dS_L_data, GravityData< DisplacementDim > &out) const
Definition Gravity.cpp:16
static GravityModel create(SpecificBodyForceData< DisplacementDim > const &specific_body_force_data)
Definition Gravity.h:43
Eigen::Vector< double, DisplacementDim > specific_body_force