12#ifndef DUMUX_SOLIDMECHANICS_HYPERELASTIC_VOLISO_VARIABLES_HH
13#define DUMUX_SOLIDMECHANICS_HYPERELASTIC_VOLISO_VARIABLES_HH
15#include <dumux/common/concepts/ipdata_.hh>
23template <
class Traits>
26 using Scalar =
typename Traits::PrimaryVariables::value_type;
28 static_assert(Traits::PrimaryVariables::dimension == Traits::ModelTraits::numEq());
35 using Indices =
typename Traits::ModelTraits::Indices;
46 template<
class ElementSolution,
class Problem,
class ElementDiscretization, Concept::LocalDofIpData IpData>
47 void update(
const ElementSolution& elemSol,
48 const Problem& problem,
49 const ElementDiscretization& elemDisc,
52 priVars_ = elemSol[ipData.localDofIndex()];
59 {
return priVars_[dirIdx]; }
66 {
return priVars_[pvIdx]; }
81 PrimaryVariables priVars_;
89template <
class Traits>
92 using Scalar =
typename Traits::PrimaryVariables::value_type;
94 static_assert(Traits::PrimaryVariables::dimension == Traits::ModelTraits::numEq());
101 using Indices =
typename Traits::ModelTraits::Indices;
112 template<
class ElementSolution,
class Problem,
class ElementDiscretization, Concept::LocalDofIpData IpData>
113 void update(
const ElementSolution& elemSol,
114 const Problem& problem,
115 const ElementDiscretization& elemDisc,
116 const IpData& ipData)
118 priVars_ = elemSol[ipData.localDofIndex()];
122 {
return priVars_[0]; }
129 {
return priVars_[pvIdx]; }
144 PrimaryVariables priVars_;
Volume variables for the momentum subdomain (displacement).
Definition solidmechanics/hyperelastic_voliso/variables.hh:25
typename HyperelasticVolIsoMomentumVVTraits< PV, MT >::PrimaryVariables PrimaryVariables
Definition solidmechanics/hyperelastic_voliso/variables.hh:32
void update(const ElementSolution &elemSol, const Problem &problem, const ElementDiscretization &elemDisc, const IpData &ipData)
Update all quantities for a local dof.
Definition solidmechanics/hyperelastic_voliso/variables.hh:47
PrimaryVariables displacement() const
Definition solidmechanics/hyperelastic_voliso/variables.hh:55
Scalar extrusionFactor() const
Returns the factor by which a lower-dimensional entity needs to be extruded.
Definition solidmechanics/hyperelastic_voliso/variables.hh:77
Scalar priVar(const int pvIdx) const
Return a component of primary variable vector.
Definition solidmechanics/hyperelastic_voliso/variables.hh:65
typename HyperelasticVolIsoMomentumVVTraits< PV, MT >::ModelTraits::Indices Indices
Definition solidmechanics/hyperelastic_voliso/variables.hh:35
const PrimaryVariables & priVars() const
Return the primary variable vector.
Definition solidmechanics/hyperelastic_voliso/variables.hh:71
Scalar displacement(const int dirIdx) const
Definition solidmechanics/hyperelastic_voliso/variables.hh:58
Volume variables for the pressure subdomain (bulk pressure).
Definition solidmechanics/hyperelastic_voliso/variables.hh:91
typename HyperelasticVolIsoPressureVVTraits< PV, MT >::ModelTraits::Indices Indices
Definition solidmechanics/hyperelastic_voliso/variables.hh:101
void update(const ElementSolution &elemSol, const Problem &problem, const ElementDiscretization &elemDisc, const IpData &ipData)
Update all quantities for a local dof.
Definition solidmechanics/hyperelastic_voliso/variables.hh:113
const PrimaryVariables & priVars() const
Return the primary variable vector.
Definition solidmechanics/hyperelastic_voliso/variables.hh:134
typename HyperelasticVolIsoPressureVVTraits< PV, MT >::PrimaryVariables PrimaryVariables
Definition solidmechanics/hyperelastic_voliso/variables.hh:98
Scalar priVar(const int pvIdx) const
Return a component of primary variable vector.
Definition solidmechanics/hyperelastic_voliso/variables.hh:128
Scalar extrusionFactor() const
Returns the factor by which a lower-dimensional entity needs to be extruded.
Definition solidmechanics/hyperelastic_voliso/variables.hh:140
Scalar pressure() const
Definition solidmechanics/hyperelastic_voliso/variables.hh:121