version 3.10.0
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"
56
57namespace Dumux {
58
63template< int dim, int numSolidComp >
65{
69 static constexpr int numEq() { return dim; }
71 static constexpr int numFluidPhases() { return 0; }
73 static constexpr int numFluidComponents() { return 0; }
75 static constexpr int numSolidComponents() { return numSolidComp; }
76
78 static constexpr bool enableEnergyBalance() { return false; }
79};
80
91template<class PV, class DV, class MT, class SST, class SSY>
93{
94 using PrimaryVariables = PV;
96 using ModelTraits = MT;
97 using SolidState = SST;
98 using SolidSystem = SSY;
99};
100
101namespace Properties {
102
104// Create new type tags
105namespace TTag {
106struct Elastic { using InheritsFrom = std::tuple<ModelProperties>; };
107} // end namespace TTag
108
110template<class TypeTag>
111struct LocalResidual<TypeTag, TTag::Elastic> { using type = ElasticLocalResidual<TypeTag>; };
112
114template<class TypeTag>
120
122template<class TypeTag>
123struct VolumeVariables<TypeTag, TTag::Elastic>
124{
125private:
128 using DV = Dune::FieldVector<typename PV::value_type, dim>;
133public:
135};
136
138template<class TypeTag>
144
146template<class TypeTag>
152
154template<class TypeTag>
155struct SolidState<TypeTag, TTag::Elastic>
156{
157private:
160public:
162};
163
165template<class TypeTag>
166struct SolidSystem<TypeTag, TTag::Elastic>
167{
168private:
170 using InertComponent = Components::Constant<1, Scalar>;
171public:
173};
174
175} // namespace Properties
176} // namespace Dumux
177
178 #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:32
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 geomechanics. Store data required for stress ...
Definition solidmechanics/elastic/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
@ SST
Definition turbulencemodel.hh:63
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...
Base class for the stress variables cache.
Quantities required by the elastic model defined on a sub-control volume.
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:65
static constexpr int numFluidPhases()
This model does not consider fluid phases.
Definition solidmechanics/elastic/model.hh:71
ElasticIndices Indices
export the type encapsulating indices
Definition solidmechanics/elastic/model.hh:67
static constexpr int numSolidComponents()
We have one solid phase here.
Definition solidmechanics/elastic/model.hh:75
static constexpr int numEq()
the number of equations is equal to grid dimension
Definition solidmechanics/elastic/model.hh:69
static constexpr bool enableEnergyBalance()
Energy balance not yet implemented.
Definition solidmechanics/elastic/model.hh:78
static constexpr int numFluidComponents()
This model does not consider fluid phases.
Definition solidmechanics/elastic/model.hh:73
Traits class for the volume variables of the elastic model.
Definition solidmechanics/elastic/model.hh:93
SST SolidState
Definition solidmechanics/elastic/model.hh:97
DV DisplacementVector
Definition solidmechanics/elastic/model.hh:95
PV PrimaryVariables
Definition solidmechanics/elastic/model.hh:94
MT ModelTraits
Definition solidmechanics/elastic/model.hh:96
SSY SolidSystem
Definition solidmechanics/elastic/model.hh:98
StressVariablesCache< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::GridGeometry > > type
Definition solidmechanics/elastic/model.hh:149
ElasticLocalResidual< TypeTag > type
Definition solidmechanics/elastic/model.hh:111
ElasticModelTraits< GetPropType< TypeTag, Properties::GridGeometry >::GridView::dimension, GetPropType< TypeTag, Properties::SolidSystem >::numComponents > type
Definition solidmechanics/elastic/model.hh:117
InertSolidState< Scalar, SolidSystem > type
Definition solidmechanics/elastic/model.hh:161
SolidSystems::InertSolidPhase< Scalar, InertComponent > type
Definition solidmechanics/elastic/model.hh:172
HookesLaw< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::GridGeometry > > type
Definition solidmechanics/elastic/model.hh:141
Definition solidmechanics/elastic/model.hh:106
std::tuple< ModelProperties > InheritsFrom
Definition solidmechanics/elastic/model.hh:106
ElasticVolumeVariables< Traits > type
Definition solidmechanics/elastic/model.hh:134