13#ifndef DUMUX_SOLIDMECHANICS_HYPERELASTIC_VOLISO_VARIABLES_HH
14#define DUMUX_SOLIDMECHANICS_HYPERELASTIC_VOLISO_VARIABLES_HH
16#include <dumux/common/concepts/ipdata_.hh>
24template <
class Traits>
27 using Scalar =
typename Traits::PrimaryVariables::value_type;
29 static_assert(Traits::PrimaryVariables::dimension == Traits::ModelTraits::numEq());
36 using Indices =
typename Traits::ModelTraits::Indices;
47 template<
class ElementSolution,
class Problem,
class ElementDiscretization, Concept::LocalDofIpData IpData>
48 void update(
const ElementSolution& elemSol,
49 const Problem& problem,
50 const ElementDiscretization& elemDisc,
53 priVars_ = elemSol[ipData.localDofIndex()];
60 {
return priVars_[dirIdx]; }
67 {
return priVars_[pvIdx]; }
82 PrimaryVariables priVars_;
90template <
class Traits>
93 using Scalar =
typename Traits::PrimaryVariables::value_type;
95 static_assert(Traits::PrimaryVariables::dimension == Traits::ModelTraits::numEq());
102 using Indices =
typename Traits::ModelTraits::Indices;
113 template<
class ElementSolution,
class Problem,
class ElementDiscretization, Concept::LocalDofIpData IpData>
114 void update(
const ElementSolution& elemSol,
115 const Problem& problem,
116 const ElementDiscretization& elemDisc,
117 const IpData& ipData)
119 priVars_ = elemSol[ipData.localDofIndex()];
123 {
return priVars_[0]; }
130 {
return priVars_[pvIdx]; }
145 PrimaryVariables priVars_;
Volume variables for the momentum subdomain (displacement).
Definition solidmechanics/hyperelastic_voliso/variables.hh:26
typename HyperelasticVolIsoMomentumVVTraits< PV, MT >::PrimaryVariables PrimaryVariables
Definition solidmechanics/hyperelastic_voliso/variables.hh:33
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:48
PrimaryVariables displacement() const
Definition solidmechanics/hyperelastic_voliso/variables.hh:56
Scalar extrusionFactor() const
Returns the factor by which a lower-dimensional entity needs to be extruded.
Definition solidmechanics/hyperelastic_voliso/variables.hh:78
Scalar priVar(const int pvIdx) const
Return a component of primary variable vector.
Definition solidmechanics/hyperelastic_voliso/variables.hh:66
typename HyperelasticVolIsoMomentumVVTraits< PV, MT >::ModelTraits::Indices Indices
Definition solidmechanics/hyperelastic_voliso/variables.hh:36
const PrimaryVariables & priVars() const
Return the primary variable vector.
Definition solidmechanics/hyperelastic_voliso/variables.hh:72
Scalar displacement(const int dirIdx) const
Definition solidmechanics/hyperelastic_voliso/variables.hh:59
Volume variables for the pressure subdomain (bulk pressure).
Definition solidmechanics/hyperelastic_voliso/variables.hh:92
typename HyperelasticVolIsoPressureVVTraits< PV, MT >::ModelTraits::Indices Indices
Definition solidmechanics/hyperelastic_voliso/variables.hh:102
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:114
const PrimaryVariables & priVars() const
Return the primary variable vector.
Definition solidmechanics/hyperelastic_voliso/variables.hh:135
typename HyperelasticVolIsoPressureVVTraits< PV, MT >::PrimaryVariables PrimaryVariables
Definition solidmechanics/hyperelastic_voliso/variables.hh:99
Scalar priVar(const int pvIdx) const
Return a component of primary variable vector.
Definition solidmechanics/hyperelastic_voliso/variables.hh:129
Scalar extrusionFactor() const
Returns the factor by which a lower-dimensional entity needs to be extruded.
Definition solidmechanics/hyperelastic_voliso/variables.hh:141
Scalar pressure() const
Definition solidmechanics/hyperelastic_voliso/variables.hh:122