version 3.10-dev
geomechanics/hyperelastic/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//
49#ifndef DUMUX_GEOMECHANICS_HYPERELASTIC_MODEL_HH
50#define DUMUX_GEOMECHANICS_HYPERELASTIC_MODEL_HH
51
54
55#include "spatialparams.hh"
56#include "localresidual.hh"
57#include "volumevariables.hh"
58
59namespace Dumux {
60
61template<class PV, class MT>
63{
64 using PrimaryVariables = PV;
65 using ModelTraits = MT;
66};
67
69{
70 static constexpr int displacementIdx(int i) { return i; };
71 static constexpr int equationIdx(int i) { return i; };
72};
73
78template<int dim>
80{
82 static constexpr int numEq() { return dim; }
83};
84
85namespace Properties {
86
87// Create new type tags
88namespace TTag {
89struct Hyperelastic { using InheritsFrom = std::tuple<ModelProperties>; };
90} // end namespace TTag
91
92template<class TypeTag>
93struct ModelTraits<TypeTag, TTag::Hyperelastic>
95
96template<class TypeTag>
97struct LocalResidual<TypeTag, TTag::Hyperelastic>
99
101template<class TypeTag>
102struct VolumeVariables<TypeTag, TTag::Hyperelastic>
103{
108};
109
110// Set the default spatial parameters
111template<class TypeTag>
112struct SpatialParams<TypeTag, TTag::Hyperelastic>
113{
117};
118
119} // end namespace Properties
120} // end namespace Dumux
121
122#endif
Definition: geomechanics/hyperelastic/spatialparams.hh:22
Local residual for the hyperelastic model.
Definition: geomechanics/hyperelastic/localresidual.hh:54
Volume variables for the hyperelasticity model.
Definition: geomechanics/hyperelastic/volumevariables.hh:26
Defines a type tags and some fundamental properties for all models.
Defines all properties used in Dumux.
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:296
Definition: adapt.hh:17
Element-wise calculation of the local residual for problems using fully implicit tracer model.
Python wrapper for volume variables (finite volume schemes)
TODO: docme!
Definition: geomechanics/hyperelastic/model.hh:69
static constexpr int displacementIdx(int i)
Definition: geomechanics/hyperelastic/model.hh:70
static constexpr int equationIdx(int i)
Definition: geomechanics/hyperelastic/model.hh:71
HyperelasticModelTraits.
Definition: geomechanics/hyperelastic/model.hh:80
static constexpr int numEq()
Definition: geomechanics/hyperelastic/model.hh:82
Definition: geomechanics/hyperelastic/model.hh:63
PV PrimaryVariables
Definition: geomechanics/hyperelastic/model.hh:64
MT ModelTraits
Definition: geomechanics/hyperelastic/model.hh:65
GetPropType< TypeTag, Properties::GridGeometry > GridGeometry
Definition: geomechanics/hyperelastic/model.hh:114
GetPropType< TypeTag, Properties::Scalar > Scalar
Definition: geomechanics/hyperelastic/model.hh:115
Definition: geomechanics/hyperelastic/model.hh:89
std::tuple< ModelProperties > InheritsFrom
Definition: geomechanics/hyperelastic/model.hh:89
GetPropType< TypeTag, Properties::ModelTraits > MT
Definition: geomechanics/hyperelastic/model.hh:105
GetPropType< TypeTag, Properties::PrimaryVariables > PV
Definition: geomechanics/hyperelastic/model.hh:104