version 3.11-dev
Loading...
Searching...
No Matches
Dumux::PoroElasticLocalResidual< TypeTag > Class Template Reference

Element-wise calculation of the local residual for problems using the poroelastic model.

#include <dumux/poromechanics/poroelastic/localresidual.hh>

Inheritance diagram for Dumux::PoroElasticLocalResidual< TypeTag >:

Public Member Functions

NumEqVector computeSource (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const
 Calculate the source term of the equation.
template<class SubControlVolume, class VolumeVariables>
NumEqVector computeStorage (const Problem &problem, const SubControlVolume &scv, const VolumeVariables &volVars) const
 For the elastic model the storage term is zero since we neglect inertia forces.
template<class ElementVolumeVariables, class SubControlVolumeFace, class ElementFluxVariablesCache>
NumEqVector computeFlux (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolumeFace &scvf, const ElementFluxVariablesCache &elemFluxVarsCache) const
 Evaluates the force in all grid directions acting on a face of a sub-control volume.
template<class ElementVolumeVariables, class SubControlVolume>
NumEqVector computeSource (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const
 Calculate the source term of the equation.
template<class ElementDiscretization, class ElementVariables, class Scv>
NumEqVector storageIntegral (const ElementDiscretization &, const ElementVariables &, const Scv &, bool) const
 The storage term is zero for quasi-static elasticity (assembly with local degrees of freedom).
template<class ElementDiscretization, class ElementVariables, class Scv>
NumEqVector sourceIntegral (const ElementDiscretization &elemDisc, const ElementVariables &elemVars, const Scv &scv) const
 The body force \( \int \mathbf{f} \) over a control volume (assembly with local degrees of freedom).
template<class ElementDiscretization, class ElementVariables, class Scvf>
NumEqVector fluxIntegral (const ElementDiscretization &elemDisc, const ElementVariables &elemVars, const Scvf &scvf) const
 The stress flux \( -\int \boldsymbol{\sigma}\mathbf{n} \) over a control volume face (assembly with local degrees of freedom).
template<class ElementResidualVector, class ElementDiscretization, class ElementVariables>
void addToElementFluxAndSourceResidual (ElementResidualVector &residual, const Problem &problem, const Element &element, const ElementDiscretization &elemDisc, const ElementVariables &elemVars) const
 The Galerkin terms \( \int \boldsymbol{\sigma} : \nabla \mathbf{w} - \mathbf{f} \cdot \mathbf{w} \) of the degrees of freedom without control volume (assembly with local degrees of freedom).

Member Function Documentation

◆ addToElementFluxAndSourceResidual()

template<class TypeTag>
template<class ElementResidualVector, class ElementDiscretization, class ElementVariables>
void Dumux::ElasticLocalResidual< TypeTag >::addToElementFluxAndSourceResidual ( ElementResidualVector & residual,
const Problem & problem,
const Element & element,
const ElementDiscretization & elemDisc,
const ElementVariables & elemVars ) const
inlineinherited

◆ computeFlux()

template<class TypeTag>
template<class ElementVolumeVariables, class SubControlVolumeFace, class ElementFluxVariablesCache>
NumEqVector Dumux::ElasticLocalResidual< TypeTag >::computeFlux ( const Problem & problem,
const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & elemVolVars,
const SubControlVolumeFace & scvf,
const ElementFluxVariablesCache & elemFluxVarsCache ) const
inlineinherited
Parameters
problemThe problem
elementThe current element.
fvGeometryThe finite-volume geometry
elemVolVarsThe volume variables of the current element
scvfThe sub control volume face to compute the flux on
elemFluxVarsCacheThe cache related to flux computation

◆ computeSource() [1/2]

template<class TypeTag>
template<class ElementVolumeVariables, class SubControlVolume>
NumEqVector Dumux::ElasticLocalResidual< TypeTag >::computeSource ( const Problem & problem,
const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & elemVolVars,
const SubControlVolume & scv ) const
inlineinherited
Parameters
problemThe problem to solve
elementThe DUNE Codim<0> entity for which the residual ought to be calculated
fvGeometryThe finite-volume geometry of the element
elemVolVarsThe volume variables associated with the element stencil
scvThe sub-control volume over which we integrate the source term
Note
This is the default implementation for geomechanical models adding to the user defined sources the source stemming from the gravitational acceleration.

◆ computeSource() [2/2]

template<class TypeTag>
NumEqVector Dumux::PoroElasticLocalResidual< TypeTag >::computeSource ( const Problem & problem,
const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & elemVolVars,
const SubControlVolume & scv ) const
inline
Parameters
problemThe problem to solve
elementThe DUNE Codim<0> entity for which the residual ought to be calculated
fvGeometryThe finite-volume geometry of the element
elemVolVarsThe volume variables associated with the element stencil
scvThe sub-control volume over which we integrate the source term
Note
This is the default implementation for geomechanical models adding to the user defined sources the source stemming from the gravitational acceleration.

◆ computeStorage()

template<class TypeTag>
template<class SubControlVolume, class VolumeVariables>
NumEqVector Dumux::ElasticLocalResidual< TypeTag >::computeStorage ( const Problem & problem,
const SubControlVolume & scv,
const VolumeVariables & volVars ) const
inlineinherited
Parameters
problemThe problem
scvThe sub control volume
volVarsThe current or previous volVars

◆ fluxIntegral()

template<class TypeTag>
template<class ElementDiscretization, class ElementVariables, class Scvf>
NumEqVector Dumux::ElasticLocalResidual< TypeTag >::fluxIntegral ( const ElementDiscretization & elemDisc,
const ElementVariables & elemVars,
const Scvf & scvf ) const
inlineinherited

◆ sourceIntegral()

template<class TypeTag>
template<class ElementDiscretization, class ElementVariables, class Scv>
NumEqVector Dumux::ElasticLocalResidual< TypeTag >::sourceIntegral ( const ElementDiscretization & elemDisc,
const ElementVariables & elemVars,
const Scv & scv ) const
inlineinherited

◆ storageIntegral()

template<class TypeTag>
template<class ElementDiscretization, class ElementVariables, class Scv>
NumEqVector Dumux::ElasticLocalResidual< TypeTag >::storageIntegral ( const ElementDiscretization & ,
const ElementVariables & ,
const Scv & ,
bool  ) const
inlineinherited

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