version 3.11-dev
Loading...
Searching...
No Matches
solidmechanics/elastic/model.hh
Go to the documentation of this file.
1// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2// vi: set et ts=4 sw=4 sts=4:
3//
4// SPDX-FileCopyrightText: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
39#ifndef DUMUX_SOLIDMECHANICS_ELASTIC_MODEL_HH
40#define DUMUX_SOLIDMECHANICS_ELASTIC_MODEL_HH
41
42#include <dune/common/fvector.hh>
43
46
51
52#include "indices.hh"
53#include "localresidual.hh"
54#include "volumevariables.hh"
55#include "variables.hh"
57
58namespace Dumux {
59
64template< int dim, int numSolidComp >
66{
70 static constexpr int numEq() { return dim; }
72 static constexpr int numFluidPhases() { return 0; }
74 static constexpr int numFluidComponents() { return 0; }
76 static constexpr int numSolidComponents() { return numSolidComp; }
77
79 static constexpr bool enableEnergyBalance() { return false; }
80};
81
92template<class PV, class DV, class MT, class SST, class SSY>
94{
95 using PrimaryVariables = PV;
97 using ModelTraits = MT;
98 using SolidState = SST;
99 using SolidSystem = SSY;
100};
101
102namespace Properties {
103
105// Create new type tags
106namespace TTag {
107struct Elastic { using InheritsFrom = std::tuple<ModelProperties>; };
108} // end namespace TTag
109
111template<class TypeTag>
112struct LocalResidual<TypeTag, TTag::Elastic> { using type = ElasticLocalResidual<TypeTag>; };
113
115template<class TypeTag>
121
123template<class TypeTag>
124struct VolumeVariables<TypeTag, TTag::Elastic>
125{
126private:
129 using DV = Dune::FieldVector<typename PV::value_type, dim>;
134public:
136};
137
139template<class TypeTag>
140struct Variables<TypeTag, TTag::Elastic>
141{
142private:
145 using DV = Dune::FieldVector<typename PV::value_type, dim>;
150public:
152};
153
155template<class TypeTag>
161
163template<class TypeTag>
169
171template<class TypeTag>
172struct SolidState<TypeTag, TTag::Elastic>
173{
174private:
177public:
179};
180
182template<class TypeTag>
183struct SolidSystem<TypeTag, TTag::Elastic>
184{
185private:
187 using InertComponent = Components::Constant<1, Scalar>;
188public:
190};
191
192} // namespace Properties
193} // namespace Dumux
194
195 #endif
The simplest solid phase consisting of a single solid component.
A component which returns run time specified values for all fluid properties.
Definition constant.hh:48
Element-wise calculation of the local residual for problems using the elastic model considering linea...
Definition solidmechanics/elastic/localresidual.hh:46
Variables of the elastic model at a local degree of freedom: the displacement. Used with Experimental...
Definition solidmechanics/elastic/variables.hh:27
Contains the quantities which are constant within a finite volume in the elastic model.
Definition solidmechanics/elastic/volumevariables.hh:32
This computes the stress tensor and surface forces resulting from mechanical deformation.
Definition hookeslaw_fwd.hh:27
Represents all relevant thermodynamic quantities of a inert solid system.
Definition inertsolidstate.hh:23
The stress variables cache classes for models involving solid mechanics. Store data required for stre...
Definition stressvariablescache.hh:29
Defines a type tags and some fundamental properties for all models.
Defines all properties used in Dumux.
Setting constant fluid properties via the input file.
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition propertysystem.hh:296
OneCSolid< Scalar, ComponentT, true > InertSolidPhase
A solid phase consisting of a single inert solid component.
Definition 1csolid.hh:125
Stress-Strain relationship according to Hooke's law.
Represents all relevant thermodynamic quantities of a inert solid system.
Type tag for numeric models.
Definition grid.hh:24
The energy balance equation for a porous solid.
Definition common/properties.hh:26
Definition adapt.hh:17
Defines the indices for the elastic model.
Element-wise calculation of the local residual for problems using the elastic model considering linea...
Variables of the elastic model for the assembly with local degrees of freedom.
Quantities required by the elastic model defined on a sub-control volume.
Base class for the stress variables cache.
The indices for the linear elasticity model.
Definition solidmechanics/elastic/indices.hh:22
Specifies a number properties of the elastic model.
Definition solidmechanics/elastic/model.hh:66
static constexpr int numFluidPhases()
This model does not consider fluid phases.
Definition solidmechanics/elastic/model.hh:72
ElasticIndices Indices
export the type encapsulating indices
Definition solidmechanics/elastic/model.hh:68
static constexpr int numSolidComponents()
We have one solid phase here.
Definition solidmechanics/elastic/model.hh:76
static constexpr int numEq()
the number of equations is equal to grid dimension
Definition solidmechanics/elastic/model.hh:70
static constexpr bool enableEnergyBalance()
Energy balance not yet implemented.
Definition solidmechanics/elastic/model.hh:79
static constexpr int numFluidComponents()
This model does not consider fluid phases.
Definition solidmechanics/elastic/model.hh:74
Traits class for the volume variables of the elastic model.
Definition solidmechanics/elastic/model.hh:94
SST SolidState
Definition solidmechanics/elastic/model.hh:98
DV DisplacementVector
Definition solidmechanics/elastic/model.hh:96
PV PrimaryVariables
Definition solidmechanics/elastic/model.hh:95
MT ModelTraits
Definition solidmechanics/elastic/model.hh:97
SSY SolidSystem
Definition solidmechanics/elastic/model.hh:99
StressVariablesCache< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::GridGeometry > > type
Definition solidmechanics/elastic/model.hh:166
ElasticLocalResidual< TypeTag > type
Definition solidmechanics/elastic/model.hh:112
ElasticModelTraits< GetPropType< TypeTag, Properties::GridGeometry >::GridView::dimension, GetPropType< TypeTag, Properties::SolidSystem >::numComponents > type
Definition solidmechanics/elastic/model.hh:118
InertSolidState< Scalar, SolidSystem > type
Definition solidmechanics/elastic/model.hh:178
SolidSystems::InertSolidPhase< Scalar, InertComponent > type
Definition solidmechanics/elastic/model.hh:189
HookesLaw< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::GridGeometry > > type
Definition solidmechanics/elastic/model.hh:158
Definition solidmechanics/elastic/model.hh:107
std::tuple< ModelProperties > InheritsFrom
Definition solidmechanics/elastic/model.hh:107
ElasticVariables< Traits > type
Definition solidmechanics/elastic/model.hh:151
ElasticVolumeVariables< Traits > type
Definition solidmechanics/elastic/model.hh:135