A base class for all multidomain local assemblers (staggered) More...
#include <dumux/multidomain/subdomainstaggeredlocalassembler.hh>
A base class for all multidomain local assemblers (staggered)
id | the id of the sub domain |
TypeTag | the TypeTag |
Assembler | the assembler type |
Implementation | the actual assembler implementation |
implicit | whether the assembly is explicit or implicit in time |
Public Types | |
using | ElementResidualVector = typename LocalResidual::ElementResidualVector |
Public Member Functions | |
SubDomainStaggeredLocalAssemblerBase (const Assembler &assembler, const Element &element, const SolutionVector &curSol, CouplingManager &couplingManager) | |
template<class JacobianMatrixRow , class SubSol , class GridVariablesTuple > | |
void | assembleJacobianAndResidual (JacobianMatrixRow &jacRow, SubSol &res, GridVariablesTuple &gridVariables) |
Computes the derivatives with respect to the given element and adds them to the global matrix. The element residual is written into the right hand side. More... | |
template<class SubSol > | |
void | assembleResidual (SubSol &res) |
Assemble the residual only. More... | |
CellCenterResidualValue | evalLocalResidualForCellCenter () const |
Convenience function to evaluate the complete local residual for the current element. Automatically chooses the the appropriate element volume variables. More... | |
CellCenterResidualValue | evalLocalResidualForCellCenter (const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars) const |
Evaluates the complete local residual for the current cell center. More... | |
CellCenterResidualValue | evalLocalFluxAndSourceResidualForCellCenter () const |
Convenience function to evaluate the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume and face variables. More... | |
CellCenterResidualValue | evalLocalFluxAndSourceResidualForCellCenter (const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars) const |
Evaluates the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element. More... | |
CellCenterResidualValue | evalLocalStorageResidualForCellCenter () const |
Convenience function to evaluate storage term (i.e, the term with a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume and face variables. More... | |
FaceResidualValue | evalLocalResidualForFace (const SubControlVolumeFace &scvf) const |
Convenience function to evaluate the local residual for the current face. Automatically chooses the the appropriate element volume and face variables. More... | |
FaceResidualValue | evalLocalResidualForFace (const SubControlVolumeFace &scvf, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars) const |
Evaluates the complete local residual for the current face. More... | |
FaceResidualValue | evalLocalFluxAndSourceResidualForFace (const SubControlVolumeFace &scvf) const |
Convenience function to evaluate the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume and face variables. More... | |
FaceResidualValue | evalLocalFluxAndSourceResidualForFace (const SubControlVolumeFace &scvf, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars) const |
Evaluates the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current face. More... | |
FaceResidualValue | evalLocalStorageResidualForFace (const SubControlVolumeFace &scvf) const |
Convenience function to evaluate storage term (i.e, the term with a time derivative) of the local residual for the current face. Automatically chooses the the appropriate element volume and face variables. More... | |
const Problem & | problem () const |
ElementFaceVariables & | curElemFaceVars () |
The current element volume variables. More... | |
ElementFaceVariables & | prevElemFaceVars () |
The element volume variables of the provious time step. More... | |
const ElementFaceVariables & | curElemFaceVars () const |
The current element volume variables. More... | |
const ElementFaceVariables & | prevElemFaceVars () const |
The element volume variables of the provious time step. More... | |
CouplingManager & | couplingManager () |
ElementResidualVector | evalLocalResidual () const |
Convenience function to evaluate the complete local residual for the current element. Automatically chooses the the appropriate element volume variables. More... | |
ElementResidualVector | evalLocalResidual (const ElementVolumeVariables &elemVolVars) const |
Evaluates the complete local residual for the current element. More... | |
ElementResidualVector | evalLocalFluxAndSourceResidual () const |
Convenience function to evaluate the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume variables. More... | |
ElementResidualVector | evalLocalFluxAndSourceResidual (const ElementVolumeVariables &elemVolVars) const |
Evaluates the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element. More... | |
ElementResidualVector | evalLocalStorageResidual () const |
Convenience function to evaluate storage term (i.e, the term with a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume variables. More... | |
void | bindLocalViews () |
Convenience function bind and prepare all relevant variables required for the evaluation of the local residual. More... | |
void | enforceInternalDirichletConstraints (const ApplyFunction &applyDirichlet) |
Enforces Dirichlet constraints if enabled in the problem. More... | |
void | enforceInternalDirichletConstraints (const ApplyFunction &applyDirichlet) |
const Assembler & | assembler () const |
The assembler. More... | |
const Element & | element () const |
The current element. More... | |
bool | elementIsGhost () const |
Returns if element is a ghost entity. More... | |
const SolutionVector & | curSol () const |
The current solution. More... | |
FVElementGeometry & | fvGeometry () |
The global finite volume geometry. More... | |
const FVElementGeometry & | fvGeometry () const |
The finite volume geometry. More... | |
ElementVolumeVariables & | curElemVolVars () |
The current element volume variables. More... | |
const ElementVolumeVariables & | curElemVolVars () const |
The current element volume variables. More... | |
ElementVolumeVariables & | prevElemVolVars () |
The element volume variables of the provious time step. More... | |
const ElementVolumeVariables & | prevElemVolVars () const |
The element volume variables of the provious time step. More... | |
ElementFluxVariablesCache & | elemFluxVarsCache () |
The element flux variables cache. More... | |
const ElementFluxVariablesCache & | elemFluxVarsCache () const |
The element flux variables cache. More... | |
LocalResidual & | localResidual () |
The local residual for the current element. More... | |
const LocalResidual & | localResidual () const |
The local residual for the current element. More... | |
ElementBoundaryTypes & | elemBcTypes () |
The element's boundary types. More... | |
const ElementBoundaryTypes & | elemBcTypes () const |
The element's boundary types. More... | |
Static Public Member Functions | |
static constexpr bool | isImplicit () |
Returns true if the assembler considers implicit assembly. More... | |
Static Public Attributes | |
static constexpr auto | domainId = typename Dune::index_constant<id>() |
static constexpr auto | cellCenterId = GridGeometry::cellCenterIdx() |
static constexpr auto | faceId = GridGeometry::faceIdx() |
static constexpr auto | numEqCellCenter = CellCenterResidualValue::dimension |
static constexpr auto | faceOffset = numEqCellCenter |
Protected Member Functions | |
Implementation & | asImp_ () |
const Implementation & | asImp_ () const |
VolumeVariables & | getVolVarAccess (GridVolumeVariables &gridVolVars, ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) |
VolumeVariables & | getVolVarAccess (GridVolumeVariables &gridVolVars, ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) |
|
inherited |
|
inlineexplicit |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inline |
Computes the derivatives with respect to the given element and adds them to the global matrix. The element residual is written into the right hand side.
|
inlineinherited |
The assembler.
|
inline |
Assemble the residual only.
|
inlineinherited |
Convenience function bind and prepare all relevant variables required for the evaluation of the local residual.
|
inline |
|
inline |
The current element volume variables.
|
inline |
The current element volume variables.
|
inlineinherited |
The current element volume variables.
|
inlineinherited |
The current element volume variables.
|
inlineinherited |
The current solution.
|
inlineinherited |
The element's boundary types.
|
inlineinherited |
The element's boundary types.
|
inlineinherited |
The current element.
|
inlineinherited |
Returns if element is a ghost entity.
|
inlineinherited |
The element flux variables cache.
|
inlineinherited |
The element flux variables cache.
|
inlineinherited |
Enforces Dirichlet constraints if enabled in the problem.
|
inlineinherited |
|
inlineinherited |
Convenience function to evaluate the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume variables.
|
inlineinherited |
Evaluates the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element.
elemVolVars | The element volume variables |
|
inline |
Convenience function to evaluate the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume and face variables.
|
inline |
Evaluates the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element.
elemVolVars | The element volume variables |
elemFaceVars | The element face variables |
|
inline |
Convenience function to evaluate the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume and face variables.
scvf | The sub control volume face |
|
inline |
Evaluates the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current face.
scvf | The sub control volume face |
elemVolVars | The element volume variables |
elemFaceVars | The element face variables |
|
inlineinherited |
Convenience function to evaluate the complete local residual for the current element. Automatically chooses the the appropriate element volume variables.
|
inlineinherited |
Evaluates the complete local residual for the current element.
elemVolVars | The element volume variables |
|
inline |
Convenience function to evaluate the complete local residual for the current element. Automatically chooses the the appropriate element volume variables.
|
inline |
Evaluates the complete local residual for the current cell center.
elemVolVars | The element volume variables |
elemFaceVars | The element face variables |
|
inline |
Convenience function to evaluate the local residual for the current face. Automatically chooses the the appropriate element volume and face variables.
scvf | The sub control volume face |
|
inline |
Evaluates the complete local residual for the current face.
scvf | The sub control volume face |
elemVolVars | The element volume variables |
elemFaceVars | The element face variables |
|
inlineinherited |
Convenience function to evaluate storage term (i.e, the term with a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume variables.
|
inline |
Convenience function to evaluate storage term (i.e, the term with a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume and face variables.
|
inline |
Convenience function to evaluate storage term (i.e, the term with a time derivative) of the local residual for the current face. Automatically chooses the the appropriate element volume and face variables.
scvf | The sub control volume face |
|
inlineinherited |
The global finite volume geometry.
|
inlineinherited |
The finite volume geometry.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlinestaticconstexprinherited |
Returns true if the assembler considers implicit assembly.
|
inlineinherited |
The local residual for the current element.
|
inlineinherited |
The local residual for the current element.
|
inline |
The element volume variables of the provious time step.
|
inline |
The element volume variables of the provious time step.
|
inlineinherited |
The element volume variables of the provious time step.
|
inlineinherited |
The element volume variables of the provious time step.
|
inline |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |