12#ifndef DUMUX_SOLIDMECHANICS_HYPERELASTIC_VARIABLES_HH
13#define DUMUX_SOLIDMECHANICS_HYPERELASTIC_VARIABLES_HH
15#include <dumux/common/concepts/ipdata_.hh>
23template <
class Traits>
26 using Scalar =
typename Traits::PrimaryVariables::value_type;
29 using Indices =
typename Traits::ModelTraits::Indices;
31 template<
class ElementSolution,
class Problem,
class ElementDiscretization, Concept::LocalDofIpData IpData>
32 void update(
const ElementSolution& elemSol,
33 const Problem& problem,
34 const ElementDiscretization& elemDisc,
37 priVars_ = elemSol[ipData.localDofIndex()];
38 extrusionFactor_ = problem.spatialParams().extrusionFactor(elemDisc, ipData, elemSol);
42 {
return extrusionFactor_; }
48 {
return priVars_[i]; }
51 {
return priVars_[pvIdx]; }
57 PrimaryVariables priVars_;
58 Scalar extrusionFactor_;
Variables of the hyperelastic model: the displacement at a local dof.
Definition solidmechanics/hyperelastic/variables.hh:25
const PrimaryVariables & priVars() const
Definition solidmechanics/hyperelastic/variables.hh:53
Scalar displacement(const int i) const
Definition solidmechanics/hyperelastic/variables.hh:47
typename Traits::ModelTraits::Indices Indices
Definition solidmechanics/hyperelastic/variables.hh:29
Scalar extrusionFactor() const
Definition solidmechanics/hyperelastic/variables.hh:41
void update(const ElementSolution &elemSol, const Problem &problem, const ElementDiscretization &elemDisc, const IpData &ipData)
Definition solidmechanics/hyperelastic/variables.hh:32
const PrimaryVariables & displacement() const
Definition solidmechanics/hyperelastic/variables.hh:44
Scalar priVar(const int pvIdx) const
Definition solidmechanics/hyperelastic/variables.hh:50
typename Traits::PrimaryVariables PrimaryVariables
Definition solidmechanics/hyperelastic/variables.hh:28