OGS
ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature Namespace Reference

Classes

struct  ConstitutiveSetting
 
struct  ConstitutiveTraits
 
struct  CreateConstitutiveSetting
 
struct  EffectiveStressData
 
struct  ElasticTangentStiffnessData
 
struct  ElasticTangentStiffnessModel
 
struct  MechanicalStrainData
 
struct  SolidCompressibilityModel
 
struct  SolidMechanicsModel
 
struct  SwellingDataStateful
 
struct  SwellingDataStateless
 
struct  SwellingModel
 

Typedefs

template<int DisplacementDim>
using StatefulData
 Data whose state must be tracked by the TRM process.
 
template<int DisplacementDim>
using StatefulDataPrev = PrevStateOf<StatefulData<DisplacementDim>>
 
template<int DisplacementDim>
using OutputData
 Data that is needed for output purposes, but not directly for the assembly.
 
template<int DisplacementDim>
using ConstitutiveData
 Data that is needed for the equation system assembly.
 
template<int DisplacementDim>
using ConstitutiveTempData
 
template<int DisplacementDim>
using ConstitutiveModels
 Constitutive models used for assembly.
 
template<int DisplacementDim>
using SolidConstitutiveRelation
 

Functions

template<int DisplacementDim, typename TRMProcessData >
ConstitutiveModels< DisplacementDim > createConstitutiveModels (TRMProcessData const &process_data, SolidConstitutiveRelation< DisplacementDim > const &solid_material)
 
template<int DisplacementDim>
static bool checkCorrectModelEvalOrder ()
 

Typedef Documentation

◆ ConstitutiveData

Initial value:
std::tuple<SolidMechanicsDataStateless<DisplacementDim>,
TotalStressData<DisplacementDim>, GravityData<DisplacementDim>,
TRMHeatStorageAndFluxData<DisplacementDim>,
TRMVaporDiffusionData<DisplacementDim>, TRMStorageData,
EqPData<DisplacementDim>, EqTData<DisplacementDim>,
ThermoOsmosisData<DisplacementDim>>

Data that is needed for the equation system assembly.

Definition at line 55 of file ConstitutiveData.h.

◆ ConstitutiveModels

Initial value:
std::tuple<
ElasticTangentStiffnessModel<DisplacementDim>,
BiotModel,
SolidCompressibilityModel<DisplacementDim,
SolidConstitutiveRelation<DisplacementDim>>,
SaturationModel<DisplacementDim>,
BishopsModel,
BishopsPrevModel,
PorosityModel<DisplacementDim>,
SwellingModel<DisplacementDim>,
SolidThermalExpansionModel<DisplacementDim>,
SolidMechanicsModel<DisplacementDim>,
LiquidDensityModel<DisplacementDim>,
SolidDensityModel<DisplacementDim>,
GravityModel<DisplacementDim>,
LiquidViscosityModel<DisplacementDim>,
TransportPorosityModel<DisplacementDim>,
PermeabilityModel<DisplacementDim>,
ThermoOsmosisModel<DisplacementDim>,
DarcyLawModel<DisplacementDim>,
TRMHeatStorageAndFluxModel<DisplacementDim>,
TRMVaporDiffusionModel<DisplacementDim>,
FluidThermalExpansionModel<DisplacementDim>,
TRMStorageModel<DisplacementDim>,
EqPModel<DisplacementDim>,
EqTModel<DisplacementDim>>

Constitutive models used for assembly.

Definition at line 35 of file ConstitutiveModels.h.

◆ ConstitutiveTempData

Initial value:
std::tuple<SwellingDataStateless<DisplacementDim>,
ElasticTangentStiffnessData<DisplacementDim>, BiotData,
SolidCompressibilityData, SaturationDataDeriv, BishopsData,
PrevState<BishopsData>,
SolidThermalExpansionData<DisplacementDim>,
FluidThermalExpansionData, EquivalentPlasticStrainData>

Data that stores intermediate values, which are not needed outside the constitutive setting.

Definition at line 66 of file ConstitutiveData.h.

◆ OutputData

Initial value:
std::tuple<DarcyLawData<DisplacementDim>, LiquidDensityData,
LiquidViscosityData, SolidDensityData,
PermeabilityData<DisplacementDim>>
BaseLib::StrongType< double, struct LiquidViscosityDataTag > LiquidViscosityData

Data that is needed for output purposes, but not directly for the assembly.

Definition at line 49 of file ConstitutiveData.h.

◆ SolidConstitutiveRelation

◆ StatefulData

Initial value:
std::tuple<SaturationData, PorosityData, TransportPorosityData,
StrainData<DisplacementDim>,
SwellingDataStateful<DisplacementDim>,
MechanicalStrainData<DisplacementDim>,
EffectiveStressData<DisplacementDim>>

Data whose state must be tracked by the TRM process.

Definition at line 37 of file ConstitutiveData.h.

◆ StatefulDataPrev

Definition at line 45 of file ConstitutiveData.h.

Function Documentation

◆ checkCorrectModelEvalOrder()

template<int DisplacementDim>
static bool ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::checkCorrectModelEvalOrder ( )
static

Definition at line 24 of file ConstitutiveSetting.cpp.

25{
26 INFO(
27 "Checking correct model evaluation order in the constitutive setting.");
28
29 using namespace boost::mp11;
30
31 constexpr auto D = DisplacementDim;
32
33 using Inputs = mp_list<SpaceTimeData, MediaData, TemperatureData<D>,
35
36 using InputsAndPrevState = mp_append<Inputs, StatefulDataPrev<D>>;
37
38 bool const is_correct = ProcessLib::Graph::isEvalOrderCorrectRT<
39 ConstitutiveModels<DisplacementDim>, InputsAndPrevState>();
40
41 if (!is_correct)
42 {
43 OGS_FATAL("The constitutive setting has a wrong evaluation order.");
44 }
45
46 INFO("Model evaluation order is correct.");
47
48 return is_correct;
49}
#define OGS_FATAL(...)
Definition Error.h:26
void INFO(fmt::format_string< Args... > fmt, Args &&... args)
Definition Logging.h:35
std::tuple< ElasticTangentStiffnessModel< DisplacementDim >, BiotModel, SolidCompressibilityModel< DisplacementDim, SolidConstitutiveRelation< DisplacementDim > >, SaturationModel< DisplacementDim >, BishopsModel, BishopsPrevModel, PorosityModel< DisplacementDim >, SwellingModel< DisplacementDim >, SolidThermalExpansionModel< DisplacementDim >, SolidMechanicsModel< DisplacementDim >, LiquidDensityModel< DisplacementDim >, SolidDensityModel< DisplacementDim >, GravityModel< DisplacementDim >, LiquidViscosityModel< DisplacementDim >, TransportPorosityModel< DisplacementDim >, PermeabilityModel< DisplacementDim >, ThermoOsmosisModel< DisplacementDim >, DarcyLawModel< DisplacementDim >, TRMHeatStorageAndFluxModel< DisplacementDim >, TRMVaporDiffusionModel< DisplacementDim >, FluidThermalExpansionModel< DisplacementDim >, TRMStorageModel< DisplacementDim >, EqPModel< DisplacementDim >, EqTModel< DisplacementDim > > ConstitutiveModels
Constitutive models used for assembly.

References INFO(), ProcessLib::Graph::isEvalOrderCorrectRT(), and OGS_FATAL.

◆ createConstitutiveModels()

template<int DisplacementDim, typename TRMProcessData >
ConstitutiveModels< DisplacementDim > ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::createConstitutiveModels ( TRMProcessData const & process_data,
SolidConstitutiveRelation< DisplacementDim > const & solid_material )