OGS
TH2M/ConstitutiveRelations/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
7#include "Saturation.h"
8
9namespace ProcessLib::TH2M
10{
12{
13template <int DisplacementDim>
15{
16 KelvinVector<DisplacementDim> sigma_sw = KV::KVzero<DisplacementDim>();
17
18 static auto reflect()
19 {
21
22 return ProcessLib::Reflection::reflectWithName("swelling_stress",
23 &Self::sigma_sw);
24 }
25};
26
27template <int DisplacementDim>
29{
30 // TODO find a better name. Maybe swelling strain?
32};
33
34template <int DisplacementDim>
36{
37 void eval(
38 SpaceTimeData const& x_t, MediaData const& media_data,
40 SaturationData const& S_L_data,
41 PrevState<SaturationData> const& S_L_prev_data,
45};
46
47extern template struct SwellingModel<2>;
48extern template struct SwellingModel<3>;
49} // namespace ConstitutiveRelations
50} // namespace ProcessLib::TH2M
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, SaturationData const &S_L_data, PrevState< SaturationData > const &S_L_prev_data, PrevState< SwellingDataStateful< DisplacementDim > > const &prev_state, SwellingDataStateful< DisplacementDim > &state, SwellingDataStateless< DisplacementDim > &out) const