OGS
ProcessLib::ThermoRichardsMechanics::GravityModel< DisplacementDim > Struct Template Reference

Detailed Description

template<int DisplacementDim>
struct ProcessLib::ThermoRichardsMechanics::GravityModel< DisplacementDim >

Definition at line 16 of file GravityModel.h.

#include <GravityModel.h>

Collaboration diagram for ProcessLib::ThermoRichardsMechanics::GravityModel< DisplacementDim >:
[legend]

Public Member Functions

 GravityModel (ProcessLib::ConstitutiveRelations::SpecificBodyForce< DisplacementDim > const &specific_body_force)
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

Static Public Member Functions

static GravityModel create (ProcessLib::ConstitutiveRelations::SpecificBodyForce< DisplacementDim > const &specific_body_force)

Private Attributes

ProcessLib::ConstitutiveRelations::SpecificBodyForce< DisplacementDim > const specific_body_force_

Constructor & Destructor Documentation

◆ GravityModel()

template<int DisplacementDim>
ProcessLib::ThermoRichardsMechanics::GravityModel< DisplacementDim >::GravityModel ( ProcessLib::ConstitutiveRelations::SpecificBodyForce< DisplacementDim > const & specific_body_force)
inlineexplicit

Definition at line 18 of file GravityModel.h.

21 {
22 }
ProcessLib::ConstitutiveRelations::SpecificBodyForce< DisplacementDim > const specific_body_force_

References specific_body_force_.

Referenced by create().

Member Function Documentation

◆ create()

template<int DisplacementDim>
GravityModel ProcessLib::ThermoRichardsMechanics::GravityModel< DisplacementDim >::create ( ProcessLib::ConstitutiveRelations::SpecificBodyForce< DisplacementDim > const & specific_body_force)
inlinestatic

Definition at line 31 of file GravityModel.h.

34 {
36 }
GravityModel(ProcessLib::ConstitutiveRelations::SpecificBodyForce< DisplacementDim > const &specific_body_force)

References GravityModel().

◆ eval()

template<int DisplacementDim>
void ProcessLib::ThermoRichardsMechanics::GravityModel< DisplacementDim >::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 at line 9 of file GravityModel.cpp.

14{
15 auto const rho_SR = rho_S_data.rho_SR;
16 auto const phi = poro_data.phi;
17 auto const S_L = S_L_data.S_L;
18 auto const rho_LR = rho_L_data.rho_LR;
19 auto const b = specific_body_force_();
20
21 double const rho = rho_SR * (1 - phi) + S_L * phi * rho_LR;
22 out.volumetric_body_force = rho * b;
23
24 // There is no minus in the Jacobian block, because volumetric_body_force is
25 // subtracted from the residual vector.
26 out.J_up_HT_V_N =
27 poro_data.phi * rho_L_data.rho_LR * dS_L_data.dS_L_dp_cap * b;
28}

References ProcessLib::ThermoRichardsMechanics::SaturationDataDeriv::dS_L_dp_cap, ProcessLib::ThermoRichardsMechanics::GravityData< DisplacementDim >::J_up_HT_V_N, ProcessLib::ThermoRichardsMechanics::PorosityData::phi, ProcessLib::ThermoRichardsMechanics::LiquidDensityData::rho_LR, ProcessLib::ThermoRichardsMechanics::SolidDensityData::rho_SR, ProcessLib::ThermoRichardsMechanics::SaturationData::S_L, specific_body_force_, and ProcessLib::ThermoRichardsMechanics::GravityData< DisplacementDim >::volumetric_body_force.

Member Data Documentation

◆ specific_body_force_

template<int DisplacementDim>
ProcessLib::ConstitutiveRelations::SpecificBodyForce<DisplacementDim> const ProcessLib::ThermoRichardsMechanics::GravityModel< DisplacementDim >::specific_body_force_
private

Definition at line 40 of file GravityModel.h.

Referenced by GravityModel(), and eval().


The documentation for this struct was generated from the following files: