OGS
ProcessLib::ThermoRichardsMechanics::ConstitutiveStressSaturation_StrainPressureTemperature Namespace Reference

Classes

struct  ConstitutiveSetting
struct  ConstitutiveTraits
struct  CreateConstitutiveSetting
struct  EffectiveStressModel
struct  SolidCompressibilityModel
struct  SolidMechanicsModel
struct  TransportPorosityModel

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 ()
template<int DisplacementDim>
std::unique_ptr< SolidConstitutiveRelation< DisplacementDim > > createMFrontGeneric (std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, BaseLib::ConfigTree const &config)

Typedef Documentation

◆ ConstitutiveData

◆ ConstitutiveModels

Initial value:
std::tuple<
SolidCompressibilityModel<DisplacementDim,
MaterialLib::Solids::MechanicsBase< DisplacementDim > SolidConstitutiveRelation
Definition TraitsBase.h:20

Constitutive models used for assembly.

Definition at line 35 of file ConstitutiveModels.h.

◆ ConstitutiveTempData

◆ OutputData

Initial value:

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

Definition at line 47 of file ConstitutiveData.h.

◆ SolidConstitutiveRelation

Initial value:
MSM::MFrontGeneric<DisplacementDim,
boost::mp11::mp_list<MSM::Strain, MSM::LiquidPressure>,
boost::mp11::mp_list<MSM::Stress, MSM::Saturation>,
boost::mp11::mp_list<MSM::Temperature>>

Definition at line 23 of file TraitsBase.h.

◆ StatefulData

◆ StatefulDataPrev

Function Documentation

◆ checkCorrectModelEvalOrder()

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

Definition at line 21 of file ConstitutiveSetting.cpp.

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

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

Referenced by ProcessLib::ThermoRichardsMechanics::ConstitutiveStressSaturation_StrainPressureTemperature::ConstitutiveSetting< DisplacementDim >::init().

◆ createConstitutiveModels()

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

◆ createMFrontGeneric()

template<int DisplacementDim>
std::unique_ptr< SolidConstitutiveRelation< DisplacementDim > > ProcessLib::ThermoRichardsMechanics::ConstitutiveStressSaturation_StrainPressureTemperature::createMFrontGeneric ( std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const & parameters,
std::optional< ParameterLib::CoordinateSystem > const & local_coordinate_system,
BaseLib::ConfigTree const & config )

Definition at line 21 of file CreateConstitutiveSetting.cpp.

26{
27 namespace MSM = MaterialLib::Solids::MFront;
28 using namespace boost::mp11;
29
30 return MSM::createMFrontGeneric<
31 DisplacementDim, mp_list<MSM::Strain, MSM::LiquidPressure>,
32 mp_list<MSM::Stress, MSM::Saturation>, mp_list<MSM::Temperature>>(
33 parameters, local_coordinate_system, config);
34}

Referenced by ProcessLib::ThermoRichardsMechanics::ConstitutiveStressSaturation_StrainPressureTemperature::CreateConstitutiveSetting< DisplacementDim >::createSolidConstitutiveRelations().