version 3.11-dev
Loading...
Searching...
No Matches
poromechanics/poroelastic_large_deformations/variables.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_POROMECHANICS_POROELASTIC_LARGE_DEFORMATIONS_VARIABLES_HH
14#define DUMUX_POROMECHANICS_POROELASTIC_LARGE_DEFORMATIONS_VARIABLES_HH
15
16#include <dumux/common/concepts/ipdata_.hh>
17
18namespace Dumux {
19
24template <class Traits>
26{
27 using Scalar = typename Traits::PrimaryVariables::value_type;
28 static_assert(Traits::PrimaryVariables::dimension == Traits::ModelTraits::numEq());
29
30public:
31 using PrimaryVariables = typename Traits::PrimaryVariables;
32 using Indices = typename Traits::ModelTraits::Indices;
33
34 template<class ElementSolution, class Problem, class ElementDiscretization, Concept::LocalDofIpData IpData>
35 void update(const ElementSolution& elemSol, const Problem&,
36 const ElementDiscretization&, const IpData& ipData)
37 { priVars_ = elemSol[ipData.localDofIndex()]; }
38
39 PrimaryVariables displacement() const { return priVars_; }
40 Scalar displacement(int dirIdx) const { return priVars_[dirIdx]; }
41 Scalar priVar(int pvIdx) const { return priVars_[pvIdx]; }
42 const PrimaryVariables& priVars() const { return priVars_; }
43 Scalar extrusionFactor() const { return 1.0; }
44
45private:
46 PrimaryVariables priVars_;
47};
48
53template <class Traits>
55{
56 using Scalar = typename Traits::PrimaryVariables::value_type;
57 static_assert(Traits::PrimaryVariables::dimension == Traits::ModelTraits::numEq());
58
59public:
60 using PrimaryVariables = typename Traits::PrimaryVariables;
61 using Indices = typename Traits::ModelTraits::Indices;
62
63 template<class ElementSolution, class Problem, class ElementDiscretization, Concept::LocalDofIpData IpData>
64 void update(const ElementSolution& elemSol, const Problem&,
65 const ElementDiscretization&, const IpData& ipData)
66 { priVars_ = elemSol[ipData.localDofIndex()]; }
67
68 Scalar solidPressure() const { return priVars_[0]; }
69 Scalar priVar(int pvIdx) const { return priVars_[pvIdx]; }
70 const PrimaryVariables& priVars() const { return priVars_; }
71 Scalar extrusionFactor() const { return 1.0; }
72
73private:
74 PrimaryVariables priVars_;
75};
76
81template <class Traits>
83{
84 using Scalar = typename Traits::PrimaryVariables::value_type;
85 static_assert(Traits::PrimaryVariables::dimension == Traits::ModelTraits::numEq());
86
87public:
88 using PrimaryVariables = typename Traits::PrimaryVariables;
89 using Indices = typename Traits::ModelTraits::Indices;
90
91 template<class ElementSolution, class Problem, class ElementDiscretization, Concept::LocalDofIpData IpData>
92 void update(const ElementSolution& elemSol, const Problem&,
93 const ElementDiscretization&, const IpData& ipData)
94 { priVars_ = elemSol[ipData.localDofIndex()]; }
95
96 Scalar fluidPressure() const { return priVars_[0]; }
97 Scalar priVar(int pvIdx) const { return priVars_[pvIdx]; }
98 const PrimaryVariables& priVars() const { return priVars_; }
99 Scalar extrusionFactor() const { return 1.0; }
100
101private:
102 PrimaryVariables priVars_;
103};
104
105} // end namespace Dumux
106
107#endif
Volume variables for the fluid pressure subdomain.
Definition poromechanics/poroelastic_large_deformations/variables.hh:83
Scalar priVar(int pvIdx) const
Definition poromechanics/poroelastic_large_deformations/variables.hh:97
const PrimaryVariables & priVars() const
Definition poromechanics/poroelastic_large_deformations/variables.hh:98
typename PoroElasticLargeDefFluidPressureVVTraits< PV, MT >::ModelTraits::Indices Indices
Definition poromechanics/poroelastic_large_deformations/variables.hh:89
void update(const ElementSolution &elemSol, const Problem &, const ElementDiscretization &, const IpData &ipData)
Definition poromechanics/poroelastic_large_deformations/variables.hh:92
Scalar extrusionFactor() const
Definition poromechanics/poroelastic_large_deformations/variables.hh:99
typename PoroElasticLargeDefFluidPressureVVTraits< PV, MT >::PrimaryVariables PrimaryVariables
Definition poromechanics/poroelastic_large_deformations/variables.hh:88
Scalar fluidPressure() const
Definition poromechanics/poroelastic_large_deformations/variables.hh:96
Volume variables for the momentum subdomain (displacement).
Definition poromechanics/poroelastic_large_deformations/variables.hh:26
Scalar extrusionFactor() const
Definition poromechanics/poroelastic_large_deformations/variables.hh:43
void update(const ElementSolution &elemSol, const Problem &, const ElementDiscretization &, const IpData &ipData)
Definition poromechanics/poroelastic_large_deformations/variables.hh:35
typename PoroElasticLargeDefMomentumVVTraits< PV, MT >::PrimaryVariables PrimaryVariables
Definition poromechanics/poroelastic_large_deformations/variables.hh:31
PrimaryVariables displacement() const
Definition poromechanics/poroelastic_large_deformations/variables.hh:39
Scalar displacement(int dirIdx) const
Definition poromechanics/poroelastic_large_deformations/variables.hh:40
const PrimaryVariables & priVars() const
Definition poromechanics/poroelastic_large_deformations/variables.hh:42
typename PoroElasticLargeDefMomentumVVTraits< PV, MT >::ModelTraits::Indices Indices
Definition poromechanics/poroelastic_large_deformations/variables.hh:32
Scalar priVar(int pvIdx) const
Definition poromechanics/poroelastic_large_deformations/variables.hh:41
Volume variables for the solid pressure subdomain.
Definition poromechanics/poroelastic_large_deformations/variables.hh:55
Scalar solidPressure() const
Definition poromechanics/poroelastic_large_deformations/variables.hh:68
void update(const ElementSolution &elemSol, const Problem &, const ElementDiscretization &, const IpData &ipData)
Definition poromechanics/poroelastic_large_deformations/variables.hh:64
Scalar extrusionFactor() const
Definition poromechanics/poroelastic_large_deformations/variables.hh:71
const PrimaryVariables & priVars() const
Definition poromechanics/poroelastic_large_deformations/variables.hh:70
Scalar priVar(int pvIdx) const
Definition poromechanics/poroelastic_large_deformations/variables.hh:69
typename PoroElasticLargeDefSolidPressureVVTraits< PV, MT >::ModelTraits::Indices Indices
Definition poromechanics/poroelastic_large_deformations/variables.hh:61
typename PoroElasticLargeDefSolidPressureVVTraits< PV, MT >::PrimaryVariables PrimaryVariables
Definition poromechanics/poroelastic_large_deformations/variables.hh:60
Definition adapt.hh:17