version 3.11-dev
solidmechanics/plate/kirchhoff_love/volumevariables.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//
13#ifndef DUMUX_KIRCHHOFF_LOVE_PLATE_VOLUME_VARIABLES_HH
14#define DUMUX_KIRCHHOFF_LOVE_PLATE_VOLUME_VARIABLES_HH
15
17
18namespace Dumux {
23template <class Traits>
25: public BasicVolumeVariables<Traits>
26{
27 using Scalar = typename Traits::PrimaryVariables::value_type;
28
29 static_assert(Traits::PrimaryVariables::dimension == Traits::ModelTraits::numEq());
30
31public:
33 using PrimaryVariables = typename Traits::PrimaryVariables;
34
36 using Indices = typename Traits::ModelTraits::Indices;
37
38 Scalar verticalDeformation() const
39 { return this->priVar(Indices::verticalDeformationIdx); }
40
41 Scalar shearGradPotential() const
42 { return this->priVar(Indices::shearGradPotentialIdx); }
43
44 Scalar shearCurlPotential() const
45 { return this->priVar(Indices::shearCurlPotentialIdx); }
46};
47
52template <class Traits>
54: public BasicVolumeVariables<Traits>
55{
56 using Scalar = typename Traits::PrimaryVariables::value_type;
57
58 static_assert(Traits::PrimaryVariables::dimension == Traits::ModelTraits::numEq());
59
60public:
62 using PrimaryVariables = typename Traits::PrimaryVariables;
63
65 using Indices = typename Traits::ModelTraits::Indices;
66
67 Scalar rotation(int i) const
68 { return this->priVar(i); }
69};
70
71} // end namespace Dumux
72
73#endif
Definition: common/volumevariables.hh:21
Scalar priVar(const int pvIdx) const
Definition: common/volumevariables.hh:39
typename Traits::PrimaryVariables PrimaryVariables
export the type used for the primary variables
Definition: common/volumevariables.hh:25
Volume variables for the Kirchhoff-Love model (deformation, potentials)
Definition: solidmechanics/plate/kirchhoff_love/volumevariables.hh:26
Scalar shearCurlPotential() const
Definition: solidmechanics/plate/kirchhoff_love/volumevariables.hh:44
Scalar verticalDeformation() const
Definition: solidmechanics/plate/kirchhoff_love/volumevariables.hh:38
Scalar shearGradPotential() const
Definition: solidmechanics/plate/kirchhoff_love/volumevariables.hh:41
typename Traits::ModelTraits::Indices Indices
export the indices type
Definition: solidmechanics/plate/kirchhoff_love/volumevariables.hh:36
Volume variables for the rotations.
Definition: solidmechanics/plate/kirchhoff_love/volumevariables.hh:55
Scalar rotation(int i) const
Definition: solidmechanics/plate/kirchhoff_love/volumevariables.hh:67
typename Traits::ModelTraits::Indices Indices
export the indices type
Definition: solidmechanics/plate/kirchhoff_love/volumevariables.hh:65
Basic volume variables for finite volume methods.
Definition: adapt.hh:17