OGS
ThermoRichardsMechanics/ConstitutiveStress_StrainTemperature/Swelling.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
9
11{
13{
14template <int DisplacementDim>
16{
17 KelvinVector<DisplacementDim> sigma_sw = KV::KVzero<DisplacementDim>();
18
19 static auto reflect()
20 {
22
23 return ProcessLib::Reflection::reflectWithName("swelling_stress",
24 &Self::sigma_sw);
25 }
26};
27
28template <int DisplacementDim>
30{
31 // TODO find a better name. Maybe swelling strain?
34};
35
36template <int DisplacementDim>
38{
39 void eval(
40 SpaceTimeData const& x_t, MediaData const& media_data,
42 StrainData<DisplacementDim> const& eps_data,
43 PrevState<StrainData<DisplacementDim>> const& eps_prev_data,
44 SaturationData const& S_L_data, SaturationDataDeriv const& dS_L_data,
45 PrevState<SaturationData> const& S_L_prev_data,
49};
50
51extern template struct SwellingModel<2>;
52extern template struct SwellingModel<3>;
53} // namespace ConstitutiveStress_StrainTemperature
54} // namespace ProcessLib::ThermoRichardsMechanics
KV::KelvinVectorType< DisplacementDim > KelvinVector
auto reflectWithName(std::string name, Member Class::*member)
void eval(SpaceTimeData const &x_t, MediaData const &media_data, ElasticTangentStiffnessData< DisplacementDim > const &C_el_data, StrainData< DisplacementDim > const &eps_data, PrevState< StrainData< DisplacementDim > > const &eps_prev_data, SaturationData const &S_L_data, SaturationDataDeriv const &dS_L_data, PrevState< SaturationData > const &S_L_prev_data, PrevState< SwellingDataStateful< DisplacementDim > > const &prev_state, SwellingDataStateful< DisplacementDim > &state, SwellingDataStateless< DisplacementDim > &out) const