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
10
12{
14{
15template <int DisplacementDim>
17{
18 KelvinVector<DisplacementDim> sigma_sw = KV::KVzero<DisplacementDim>();
19
20 static auto reflect()
21 {
23
24 return ProcessLib::Reflection::reflectWithName("swelling_stress",
25 &Self::sigma_sw);
26 }
27};
28
29template <int DisplacementDim>
31{
32 // TODO find a better name. Maybe swelling strain?
35};
36
37template <int DisplacementDim>
39{
40 void eval(
41 SpaceTimeData const& x_t, MediaData const& media_data,
43 StrainData<DisplacementDim> const& eps_data,
44 PrevState<StrainData<DisplacementDim>> const& eps_prev_data,
45 SaturationData const& S_L_data, SaturationDataDeriv const& dS_L_data,
46 PrevState<SaturationData> const& S_L_prev_data,
50};
51
52extern template struct SwellingModel<2>;
53extern template struct SwellingModel<3>;
54} // namespace ConstitutiveStress_StrainTemperature
55} // 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