OGS
ConstitutiveSetting.h
Go to the documentation of this file.
1
11#pragma once
12
13#include "ConstitutiveData.h"
14#include "ConstitutiveModels.h"
15
17{
18namespace ConstitutiveStress_StrainTemperature
19{
20template <int DisplacementDim>
22{
23 void init(ConstitutiveModels<DisplacementDim>& models, double const t,
24 double const dt, ParameterLib::SpatialPosition const& x_position,
25 MediaData const& media_data,
28 StatefulDataPrev<DisplacementDim>& prev_state) const;
29
31 void eval(ConstitutiveModels<DisplacementDim>& models, double const t,
32 double const dt, ParameterLib::SpatialPosition const& x_position,
33 MaterialPropertyLib::Medium const& medium,
36 KelvinVector<DisplacementDim> const& eps_arg,
38 StatefulDataPrev<DisplacementDim> const& prev_state,
43
46 {
47 return std::get<EffectiveStressData<DisplacementDim>>(state).sigma_eff;
48 }
51 {
52 return std::get<EffectiveStressData<DisplacementDim>>(state).sigma_eff;
53 }
54
61 KelvinVector<DisplacementDim> const& pore_pressure_part)
62 {
63 auto& sigma_eff =
64 std::get<EffectiveStressData<DisplacementDim>>(state).sigma_eff;
65 sigma_eff.noalias() += pore_pressure_part;
66
67 (std::get<PrevState<EffectiveStressData<DisplacementDim>>>(prev_state)
68 ->sigma_eff)
69 .noalias() = sigma_eff;
70 }
71};
72
73extern template struct ConstitutiveSetting<2>;
74extern template struct ConstitutiveSetting<3>;
75} // namespace ConstitutiveStress_StrainTemperature
76} // namespace ProcessLib::ThermoRichardsMechanics
std::tuple< DarcyLawData< DisplacementDim >, LiquidDensityData, LiquidViscosityData, SolidDensityData, PermeabilityData< DisplacementDim > > OutputData
Data that is needed for output purposes, but not directly for the assembly.
std::tuple< SaturationData, PorosityData, TransportPorosityData, StrainData< DisplacementDim >, SwellingDataStateful< DisplacementDim >, MechanicalStrainData< DisplacementDim >, EffectiveStressData< DisplacementDim > > StatefulData
Data whose state must be tracked by the TRM process.
std::tuple< SolidMechanicsDataStateless< DisplacementDim >, TotalStressData< DisplacementDim >, GravityData< DisplacementDim >, TRMHeatStorageAndFluxData< DisplacementDim >, TRMVaporDiffusionData< DisplacementDim >, TRMStorageData, EqPData< DisplacementDim >, EqTData< DisplacementDim >, ThermoOsmosisData< DisplacementDim > > ConstitutiveData
Data that is needed for the equation system assembly.
std::tuple< SwellingDataStateless< DisplacementDim >, ElasticTangentStiffnessData< DisplacementDim >, BiotData, SolidCompressibilityData, SaturationDataDeriv, BishopsData, PrevState< BishopsData >, SolidThermalExpansionData< DisplacementDim >, FluidThermalExpansionData, EquivalentPlasticStrainData > ConstitutiveTempData
KV::KelvinVectorType< DisplacementDim > KelvinVector
Definition Base.h:26
void init(ConstitutiveModels< DisplacementDim > &models, double const t, double const dt, ParameterLib::SpatialPosition const &x_position, MediaData const &media_data, TemperatureData< DisplacementDim > const &T_data, StatefulData< DisplacementDim > &state, StatefulDataPrev< DisplacementDim > &prev_state) const
static KelvinVector< DisplacementDim > const & statefulStress(StatefulData< DisplacementDim > const &state)
static KelvinVector< DisplacementDim > & statefulStress(StatefulData< DisplacementDim > &state)
void eval(ConstitutiveModels< DisplacementDim > &models, double const t, double const dt, ParameterLib::SpatialPosition const &x_position, MaterialPropertyLib::Medium const &medium, TemperatureData< DisplacementDim > const &T_data, CapillaryPressureData< DisplacementDim > const &p_cap_data, KelvinVector< DisplacementDim > const &eps_arg, StatefulData< DisplacementDim > &state, StatefulDataPrev< DisplacementDim > const &prev_state, MaterialStateData< DisplacementDim > &mat_state, ConstitutiveTempData< DisplacementDim > &tmp, OutputData< DisplacementDim > &out, ConstitutiveData< DisplacementDim > &cd) const
Evaluate the constitutive setting.
static void convertInitialStressType(StatefulData< DisplacementDim > &state, StatefulDataPrev< DisplacementDim > &prev_state, KelvinVector< DisplacementDim > const &pore_pressure_part)