OGS
SolidMechanics.h
Go to the documentation of this file.
1
11#pragma once
12
22#include "Swelling.h"
23#include "TraitsBase.h"
24
26{
27namespace ConstitutiveStress_StrainTemperature
28{
29template <int DisplacementDim>
31{
32 // TODO it seems fragile that some data have to be initialized that way.
34
35 static auto reflect()
36 {
38
40 &Self::sigma_eff);
41 }
42};
43
44template <int DisplacementDim>
46{
49 : solid_material_(solid_material)
50 {
51 }
52
53 void eval(
54 const SpaceTimeData& x_t,
55 SolidThermalExpansionData<DisplacementDim> const& s_therm_exp_data,
56 SwellingDataStateless<DisplacementDim> const& swelling_data,
59 BiotData const& biot_data,
60 BishopsData const& bishops_data,
61 SaturationDataDeriv const& dS_L_data,
62 StrainData<DisplacementDim> const& eps_data,
63 PrevState<StrainData<DisplacementDim>> const& eps_prev_data,
66 sigma_eff_prev_data,
70 TotalStressData<DisplacementDim>& total_stress_data,
71 EquivalentPlasticStrainData& equiv_plast_strain_data,
73
75 {
76 return solid_material_.getInternalVariables();
77 }
78
81 {
82 return SolidMechanicsModel{solid_material};
83 }
84
85private:
87};
88
89extern template struct SolidMechanicsModel<2>;
90extern template struct SolidMechanicsModel<3>;
91} // namespace ConstitutiveStress_StrainTemperature
92} // namespace ProcessLib::ThermoRichardsMechanics
constexpr auto KVzero()
Returns an expressions for a Kelvin vector filled with zero.
auto reflectWithName(std::string name, Member Class::*member)
KV::KelvinVectorType< DisplacementDim > KelvinVector
Definition Base.h:26
Represents a previous state of type T.
Definition Base.h:21
void eval(const SpaceTimeData &x_t, SolidThermalExpansionData< DisplacementDim > const &s_therm_exp_data, SwellingDataStateless< DisplacementDim > const &swelling_data, TemperatureData< DisplacementDim > const &T_data, CapillaryPressureData< DisplacementDim > const &p_cap_data, BiotData const &biot_data, BishopsData const &bishops_data, SaturationDataDeriv const &dS_L_data, StrainData< DisplacementDim > const &eps_data, PrevState< StrainData< DisplacementDim > > const &eps_prev_data, MaterialStateData< DisplacementDim > &mat_state, PrevState< EffectiveStressData< DisplacementDim > > const &sigma_eff_prev_data, EffectiveStressData< DisplacementDim > &sigma_eff_data, PrevState< MechanicalStrainData< DisplacementDim > > const &eps_m_prev_data, MechanicalStrainData< DisplacementDim > &eps_m_data, TotalStressData< DisplacementDim > &total_stress_data, EquivalentPlasticStrainData &equiv_plast_strain_data, SolidMechanicsDataStateless< DisplacementDim > &out) const
static SolidMechanicsModel create(SolidConstitutiveRelation< DisplacementDim > const &solid_material)
SolidMechanicsModel(SolidConstitutiveRelation< DisplacementDim > const &solid_material)