version 3.10-dev
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// SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
39#ifndef DUMUX_GEOMECHANICS_ELASTIC_MODEL_HH
40#define DUMUX_GEOMECHANICS_ELASTIC_MODEL_HH
41
42#include <dune/common/fvector.hh>
43
46
49
50#include "indices.hh"
51#include "localresidual.hh"
52#include "volumevariables.hh"
53
54namespace Dumux {
55
60template< int dim, int numSolidComp >
62{
66 static constexpr int numEq() { return dim; }
68 static constexpr int numFluidPhases() { return 0; }
70 static constexpr int numFluidComponents() { return 0; }
72 static constexpr int numSolidComponents() { return numSolidComp; }
73
75 static constexpr bool enableEnergyBalance() { return false; }
76};
77
88template<class PV, class DV, class MT, class SST, class SSY>
90{
91 using PrimaryVariables = PV;
93 using ModelTraits = MT;
94 using SolidState = SST;
95 using SolidSystem = SSY;
96};
97
98namespace Properties {
99
101// Create new type tags
102namespace TTag {
103struct Elastic { using InheritsFrom = std::tuple<Geomechanics>; };
104} // end namespace TTag
105
107template<class TypeTag>
108struct LocalResidual<TypeTag, TTag::Elastic> { using type = ElasticLocalResidual<TypeTag>; };
109
111template<class TypeTag>
112struct ModelTraits<TypeTag, TTag::Elastic>
113{
116};
117
119template<class TypeTag>
120struct VolumeVariables<TypeTag, TTag::Elastic>
121{
122private:
125 using DV = Dune::FieldVector<typename PV::value_type, dim>;
130public:
132};
133
135template<class TypeTag>
136struct StressType<TypeTag, TTag::Elastic>
137{
140};
141
142} // namespace Properties
143} // namespace Dumux
144
145 #endif
Element-wise calculation of the local residual for problems using the elastic model considering linea...
Definition: geomechanics/elastic/localresidual.hh:30
Contains the quantities which are constant within a finite volume in the elastic model.
Definition: geomechanics/elastic/volumevariables.hh:32
This computes the stress tensor and surface forces resulting from mechanical deformation.
Definition: hookeslaw_fwd.hh:27
Defines a type tags and some fundamental properties for all models.
Defines all properties used in Dumux.
Defines a type tag and some properties for geomechanical DuMuX models.
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:296
Stress-Strain relationship according to Hooke's law.
Definition: adapt.hh:17
Defines the primary variable and equation indices used by the isothermal tracer model.
Element-wise calculation of the local residual for problems using fully implicit tracer model.
Python wrapper for volume variables (finite volume schemes)
The indices for the linear elasticity model.
Definition: geomechanics/elastic/indices.hh:22
Specifies a number properties of the elastic model.
Definition: geomechanics/elastic/model.hh:62
static constexpr int numFluidPhases()
This model does not consider fluid phases.
Definition: geomechanics/elastic/model.hh:68
static constexpr int numSolidComponents()
We have one solid phase here.
Definition: geomechanics/elastic/model.hh:72
static constexpr int numEq()
the number of equations is equal to grid dimension
Definition: geomechanics/elastic/model.hh:66
static constexpr bool enableEnergyBalance()
Energy balance not yet implemented.
Definition: geomechanics/elastic/model.hh:75
static constexpr int numFluidComponents()
This model does not consider fluid phases.
Definition: geomechanics/elastic/model.hh:70
Traits class for the volume variables of the elastic model.
Definition: geomechanics/elastic/model.hh:90
SST SolidState
Definition: geomechanics/elastic/model.hh:94
DV DisplacementVector
Definition: geomechanics/elastic/model.hh:92
PV PrimaryVariables
Definition: geomechanics/elastic/model.hh:91
MT ModelTraits
Definition: geomechanics/elastic/model.hh:93
SSY SolidSystem
Definition: geomechanics/elastic/model.hh:95
Definition: geomechanics/elastic/model.hh:103
std::tuple< Geomechanics > InheritsFrom
Definition: geomechanics/elastic/model.hh:103