3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
geomechanics/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 * See the file COPYING for full copying permissions. *
5 * *
6 * This program is free software: you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation, either version 3 of the License, or *
9 * (at your option) any later version. *
10 * *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
18 *****************************************************************************/
51#ifndef DUMUX_GEOMECHANICS_ELASTIC_MODEL_HH
52#define DUMUX_GEOMECHANICS_ELASTIC_MODEL_HH
53
54#include <dune/common/fvector.hh>
55
58
61
62#include "indices.hh"
63#include "localresidual.hh"
64#include "volumevariables.hh"
65
66namespace Dumux {
67
72template< int dim, int numSolidComp >
74{
78 static constexpr int numEq() { return dim; }
80 static constexpr int numFluidPhases() { return 0; }
82 static constexpr int numFluidComponents() { return 0; }
84 static constexpr int numSolidComponents() { return numSolidComp; }
85
87 static constexpr bool enableEnergyBalance() { return false; }
88};
89
100template<class PV, class DV, class MT, class SST, class SSY>
102{
105 using ModelTraits = MT;
107 using SolidSystem = SSY;
108};
109
110namespace Properties {
111
113// Create new type tags
114namespace TTag {
115struct Elastic { using InheritsFrom = std::tuple<Geomechanics>; };
116} // end namespace TTag
117
119template<class TypeTag>
120struct LocalResidual<TypeTag, TTag::Elastic> { using type = ElasticLocalResidual<TypeTag>; };
121
123template<class TypeTag>
124struct ModelTraits<TypeTag, TTag::Elastic>
125{
128};
129
131template<class TypeTag>
132struct VolumeVariables<TypeTag, TTag::Elastic>
133{
134private:
137 using DV = Dune::FieldVector<typename PV::value_type, dim>;
142public:
144};
145
147template<class TypeTag>
148struct StressType<TypeTag, TTag::Elastic>
149{
152};
153
154} // namespace Properties
155} // namespace Dumux
156
157 #endif
Stress-Strain relationship according to Hooke's law.
Adaption of the non-isothermal two-phase two-component flow model to problems with CO2.
Definition: adapt.hh:29
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:180
Traits class encapsulating model specifications.
Definition: common/properties.hh:51
Definition: common/properties.hh:72
The secondary variables within a sub-control volume.
Definition: common/properties.hh:105
The type used for the evaluation of stress tensors and forces.
Definition: common/properties.hh:207
This computes the stress tensor and surface forces resulting from mechanical deformation.
Definition: hookeslaw_fwd.hh:39
The indices for the linear elasticity model.
Definition: geomechanics/elastic/indices.hh:34
Element-wise calculation of the local residual for problems using the elastic model considering linea...
Definition: geomechanics/elastic/localresidual.hh:42
Specifies a number properties of the elastic model.
Definition: geomechanics/elastic/model.hh:74
static constexpr int numFluidPhases()
This model does not consider fluid phases.
Definition: geomechanics/elastic/model.hh:80
static constexpr int numSolidComponents()
We have one solid phase here.
Definition: geomechanics/elastic/model.hh:84
static constexpr int numEq()
the number of equations is equal to grid dimension
Definition: geomechanics/elastic/model.hh:78
static constexpr bool enableEnergyBalance()
Energy balance not yet implemented.
Definition: geomechanics/elastic/model.hh:87
static constexpr int numFluidComponents()
This model does not consider fluid phases.
Definition: geomechanics/elastic/model.hh:82
Traits class for the volume variables of the elastic model.
Definition: geomechanics/elastic/model.hh:102
SST SolidState
Definition: geomechanics/elastic/model.hh:106
DV DisplacementVector
Definition: geomechanics/elastic/model.hh:104
PV PrimaryVariables
Definition: geomechanics/elastic/model.hh:103
MT ModelTraits
Definition: geomechanics/elastic/model.hh:105
SSY SolidSystem
Definition: geomechanics/elastic/model.hh:107
Definition: geomechanics/elastic/model.hh:115
std::tuple< Geomechanics > InheritsFrom
Definition: geomechanics/elastic/model.hh:115
Contains the quantities which are constant within a finite volume in the elastic model.
Definition: geomechanics/elastic/volumevariables.hh:44
Declares all properties used in Dumux.
Defines a type tag and some properties for geomechanical DuMuX models.
Defines a type tags and some fundamental properties for all models.
Element-wise calculation of the local residual for problems using fully implicit tracer model.
Python wrapper for volume variables (finite volume schemes)
Defines the primary variable and equation indices used by the isothermal tracer model.