Element-wise calculation of the local residual for problems using the elastic model considering linear elasticity.
More...
template<class TypeTag>
class Dumux::ElasticLocalResidual< TypeTag >
Two assembly interfaces are supported, chosen by the grid variables. With FVGridVariables (FVAssembler), the residual uses the volume variables, the stress type and the problem's neumann/dirichlet interface. With Experimental::GridVariables (Experimental::Assembler), it is written in terms of local degrees of freedom: degrees of freedom with a control volume are tested with its indicator function, all others with their basis function. The problem then provides the body force as source(elemDisc, elemVars, ipData), boundary terms as boundaryFlux(elemDisc, elemVars, ipData) and Dirichlet conditions as constraints, and the spatial parameters provide lameParams(elemDisc, ipData).
|
| 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).
|