version 3.8
geomechanics/poroelastic/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//
46#ifndef DUMUX_GEOMECHANICS_POROELASTIC_MODEL_HH
47#define DUMUX_GEOMECHANICS_POROELASTIC_MODEL_HH
48
49#include <dune/common/fvector.hh>
50
54
57
58#include "localresidual.hh"
59#include "volumevariables.hh"
60#include "iofields.hh"
61
62namespace Dumux {
63
68template< int dim, int numSC, int numFP, int numFC >
70{
74 static constexpr int numEq() { return dim; }
76 static constexpr int numFluidPhases() { return numFP; }
78 static constexpr int numFluidComponents() { return numFC; }
80 static constexpr int numSolidComponents() { return numSC; }
81
83 static constexpr bool enableEnergyBalance() { return false; }
84};
85
86namespace Properties {
87
89// Create new type tags
90namespace TTag {
91struct PoroElastic { using InheritsFrom = std::tuple<Elastic>; };
92} // end namespace TTag
93
95template<class TypeTag>
96struct LocalResidual<TypeTag, TTag::PoroElastic> { using type = PoroElasticLocalResidual<TypeTag>; };
97
99template<class TypeTag>
100struct IOFields<TypeTag, TTag::PoroElastic> { using type = PoroElasticIOFields; };
101
103template<class TypeTag>
104struct ModelTraits<TypeTag, TTag::PoroElastic>
105{
106private:
108 static constexpr int dim = GridView::dimension;
112
113public:
115};
116
118template<class TypeTag>
119struct VolumeVariables<TypeTag, TTag::PoroElastic>
120{
121private:
123 static constexpr int dim = GridView::dimension;
125 using DV = Dune::FieldVector<typename PV::value_type, dim>;
129
130 // we reuse the elastic volume variable traits here
132public:
134};
135
137template<class TypeTag>
138struct StressType<TypeTag, TTag::PoroElastic>
139{
140private:
144public:
146};
147
148} // namespace Properties
149} // namespace Dumux
150
151 #endif
This computes the stress tensor and surface forces resulting from poro-mechanical deformation.
Definition: effectivestresslaw_fwd.hh:27
This computes the stress tensor and surface forces resulting from mechanical deformation.
Definition: hookeslaw_fwd.hh:27
Adds I/O fields specific to the poro-elastic model.
Definition: geomechanics/poroelastic/iofields.hh:24
Element-wise calculation of the local residual for problems using the poroelastic model.
Definition: geomechanics/poroelastic/localresidual.hh:29
Contains the quantities which are constant within a finite volume in the poroelastic model.
Definition: geomechanics/poroelastic/volumevariables.hh:29
Defines all properties used in Dumux.
Effective stress are used to describe the actual stresses acting on the grains/matrix in the soil....
Defines the indices for the elastic model.
Deformation of a solid body using the theory of linear elasticity (small deformations)
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
Adds I/O fields specific to the 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
Traits class for the volume variables of the elastic model.
Definition: geomechanics/elastic/model.hh:90
Specifies a number properties of the poroelastic model.
Definition: geomechanics/poroelastic/model.hh:70
static constexpr int numEq()
the number of equations is equal to grid dimension
Definition: geomechanics/poroelastic/model.hh:74
static constexpr bool enableEnergyBalance()
Energy balance not yet implemented.
Definition: geomechanics/poroelastic/model.hh:83
static constexpr int numSolidComponents()
We have one solid phase here.
Definition: geomechanics/poroelastic/model.hh:80
static constexpr int numFluidPhases()
This model does not consider fluid phases.
Definition: geomechanics/poroelastic/model.hh:76
static constexpr int numFluidComponents()
This model does not consider fluid phases.
Definition: geomechanics/poroelastic/model.hh:78
Definition: geomechanics/poroelastic/model.hh:91
std::tuple< Elastic > InheritsFrom
Definition: geomechanics/poroelastic/model.hh:91