version 3.11-dev
Loading...
Searching...
No Matches

Momentum local residual for the mixed u–p hyperelastic model. More...

#include <dumux/solidmechanics/hyperelastic_voliso/localresidual.hh>

Inheritance diagram for Dumux::HyperelasticVolIsoMomentumLocalResidual< TypeTag >:

Description

template<class TypeTag>
class Dumux::HyperelasticVolIsoMomentumLocalResidual< TypeTag >

Assembles \( -\nabla_X \cdot \mathbf{P} = \mathbf{f} \) with the first Piola–Kirchhoff stress

\[ \mathbf{P} = \mathbf{P}_\text{iso}(\mathbf{F}) + p\, J\, \mathbf{F}^{-\top}. \]

The problem supplies \( \mathbf{P}_\text{iso} \) through isochoricFirstPiolaKirchhoffStressTensor(F, elemDisc, ipGlobal) and the body force \( \mathbf{f} \) through source. The scalar \( p \) is volumetricStressPressure, here the pressure \( p_s \) of the pressure subdomain; derived residuals may add further pressures. The residual is quasi-static (no storage term).

Public Types

using ElementResidualVector = typename ParentType::ElementResidualVector

Public Member Functions

NumEqVector computeStorage (const auto &, const auto &, const auto &) const
NumEqVector storageIntegral (const ElementDiscretization &, const ElementVariables &, const auto &, bool) const
void addToElementFluxAndSourceResidual (ElementResidualVector &residual, const Problem &problem, const auto &element, const ElementDiscretization &elemDisc, const ElementVariables &elemVars) const
 FE contributions of stress divergence and body force for non-CV dofs (e.g. PQ2 hybrid).
template<class SubControlVolumeFace>
NumEqVector fluxIntegral (const ElementDiscretization &elemDisc, const ElementVariables &elemVars, const SubControlVolumeFace &scvf) const
 Interior flux integral: \( -\int \mathbf{P} \cdot \mathbf{n} \, \mathrm{d}A \).
Scalar volumetricStressPressure (const Problem &problem, const ElementDiscretization &elemDisc, const GlobalPosition &ipGlobal) const
 The scalar \( p \) of the volumetric stress \( p J \mathbf{F}^{-\top} \).

Member Typedef Documentation

◆ ElementResidualVector

template<class TypeTag>
using Dumux::HyperelasticVolIsoMomentumLocalResidual< TypeTag >::ElementResidualVector = typename ParentType::ElementResidualVector

Member Function Documentation

◆ addToElementFluxAndSourceResidual()

template<class TypeTag>
void Dumux::HyperelasticVolIsoMomentumLocalResidual< TypeTag >::addToElementFluxAndSourceResidual ( ElementResidualVector & residual,
const Problem & problem,
const auto & element,
const ElementDiscretization & elemDisc,
const ElementVariables & elemVars ) const
inline

◆ computeStorage()

template<class TypeTag>
NumEqVector Dumux::HyperelasticVolIsoMomentumLocalResidual< TypeTag >::computeStorage ( const auto & ,
const auto & ,
const auto &  ) const
inline

◆ fluxIntegral()

template<class TypeTag>
template<class SubControlVolumeFace>
NumEqVector Dumux::HyperelasticVolIsoMomentumLocalResidual< TypeTag >::fluxIntegral ( const ElementDiscretization & elemDisc,
const ElementVariables & elemVars,
const SubControlVolumeFace & scvf ) const
inline

◆ storageIntegral()

template<class TypeTag>
NumEqVector Dumux::HyperelasticVolIsoMomentumLocalResidual< TypeTag >::storageIntegral ( const ElementDiscretization & ,
const ElementVariables & ,
const auto & ,
bool  ) const
inline

◆ volumetricStressPressure()

template<class TypeTag>
Scalar Dumux::HyperelasticVolIsoMomentumLocalResidual< TypeTag >::volumetricStressPressure ( const Problem & problem,
const ElementDiscretization & elemDisc,
const GlobalPosition & ipGlobal ) const
inline

The documentation for this class was generated from the following file: