OGS
ProcessLib::ThermoRichardsMechanics::ConstitutiveStressSaturation_StrainPressureTemperature Namespace Reference

Classes

struct  ConstitutiveSetting
 
struct  ConstitutiveTraits
 
struct  CreateConstitutiveSetting
 
struct  SolidCompressibilityModel
 
struct  SolidMechanicsModel
 

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

Initial value:
std::tuple<SolidMechanicsDataStateless<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 53 of file ConstitutiveData.h.

◆ ConstitutiveModels

Initial value:
std::tuple<
BiotModel,
SolidMechanicsModel<DisplacementDim>,
SolidCompressibilityModel<DisplacementDim,
SolidConstitutiveRelation<DisplacementDim>>,
BishopsModel,
BishopsPrevModel,
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>>

Constitutive models used for assembly.

Definition at line 33 of file ConstitutiveModels.h.

◆ ConstitutiveTempData

Initial value:
std::tuple<
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 64 of file ConstitutiveData.h.

◆ OutputData

Initial value:
std::tuple<DarcyLawData<DisplacementDim>, LiquidDensityData,
LiquidViscosityData, SolidDensityData,
PermeabilityData<DisplacementDim>>

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

Initial value:
std::tuple<SaturationData, PorosityData, TransportPorosityData,
StrainData<DisplacementDim>, TotalStressData<DisplacementDim>>

Data whose state must be tracked by the TRM process.

Definition at line 38 of file ConstitutiveData.h.

◆ StatefulDataPrev

Function Documentation

◆ checkCorrectModelEvalOrder()

template<int DisplacementDim>
static 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:35
std::tuple< BiotModel, SolidMechanicsModel< DisplacementDim >, SolidCompressibilityModel< DisplacementDim, SolidConstitutiveRelation< DisplacementDim > >, BishopsModel, BishopsPrevModel, 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.

◆ 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{
28 using namespace boost::mp11;
29
30 bool const library_path_is_relative_to_prj_file = true;
31
33 DisplacementDim, mp_list<MSM::Strain, MSM::LiquidPressure>,
34 mp_list<MSM::Stress, MSM::Saturation>, mp_list<MSM::Temperature>>(
35 parameters, local_coordinate_system, config,
36 library_path_is_relative_to_prj_file);
37}
std::unique_ptr< MFrontGeneric< DisplacementDim, Gradients, TDynForces, ExtStateVars > > createMFrontGeneric(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, BaseLib::ConfigTree const &config, bool const library_path_is_relative_to_prj_file)

References MaterialLib::Solids::MFront::createMFrontGeneric().