A base class for all local assemblers. More...
#include <dumux/assembly/fvlocalassemblerbase.hh>
A base class for all local assemblers.
TypeTag | The TypeTag |
Assembler | The assembler type |
Implementation | The assembler implementation |
useImplicitAssembly | Specifies whether the time discretization is implicit or not not (i.e. explicit) |
Public Types | |
using | LocalResidual = GetPropType< TypeTag, Properties::LocalResidual > |
using | ElementResidualVector = typename LocalResidual::ElementResidualVector |
Public Member Functions | |
FVLocalAssemblerBase (const Assembler &assembler, const Element &element, const SolutionVector &curSol) | |
The constructor. Delegates to the general constructor. More... | |
FVLocalAssemblerBase (const Assembler &assembler, const Element &element, const SolutionVector &curSol, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &curElemVolVars, const ElementVolumeVariables &prevElemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const LocalResidual &localResidual, const bool elementIsGhost) | |
The constructor. General version explicitly expecting each argument. More... | |
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... | |
template<typename ApplyFunction , class P = Problem, typename std::enable_if_t< P::enableInternalDirichletConstraints(), int > = 0> | |
void | enforceInternalDirichletConstraints (const ApplyFunction &applyDirichlet) |
Enforces Dirichlet constraints if enabled in the problem. More... | |
template<typename ApplyFunction , class P = Problem, typename std::enable_if_t<!P::enableInternalDirichletConstraints(), int > = 0> | |
void | enforceInternalDirichletConstraints (const ApplyFunction &applyDirichlet) |
const Problem & | problem () const |
The problem. More... | |
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... | |
ElementVolumeVariables & | curElemVolVars () |
The current element volume variables. More... | |
ElementVolumeVariables & | prevElemVolVars () |
The element volume variables of the provious time step. More... | |
ElementFluxVariablesCache & | elemFluxVarsCache () |
The element flux variables cache. More... | |
LocalResidual & | localResidual () |
The local residual for the current element. More... | |
ElementBoundaryTypes & | elemBcTypes () |
The element's boundary types. More... | |
const FVElementGeometry & | fvGeometry () const |
The finite volume geometry. More... | |
const ElementVolumeVariables & | curElemVolVars () const |
The current element volume variables. More... | |
const ElementVolumeVariables & | prevElemVolVars () const |
The element volume variables of the provious time step. More... | |
const ElementFluxVariablesCache & | elemFluxVarsCache () const |
The element flux variables cache. More... | |
const ElementBoundaryTypes & | elemBcTypes () const |
The element's boundary types. More... | |
const LocalResidual & | localResidual () const |
The local residual for the current element. More... | |
Static Public Member Functions | |
static constexpr bool | isImplicit () |
Returns true if the assembler considers implicit assembly. More... | |
Protected Member Functions | |
Implementation & | asImp_ () |
const Implementation & | asImp_ () const |
template<class T = TypeTag, typename std::enable_if_t<!GetPropType< T, Properties::GridVariables >::GridVolumeVariables::cachingEnabled, int > = 0> | |
VolumeVariables & | getVolVarAccess (GridVolumeVariables &gridVolVars, ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) |
template<class T = TypeTag, typename std::enable_if_t< GetPropType< T, Properties::GridVariables >::GridVolumeVariables::cachingEnabled, int > = 0> | |
VolumeVariables & | getVolVarAccess (GridVolumeVariables &gridVolVars, ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) |
using Dumux::FVLocalAssemblerBase< TypeTag, Assembler, Implementation, useImplicitAssembly >::ElementResidualVector = typename LocalResidual::ElementResidualVector |
using Dumux::FVLocalAssemblerBase< TypeTag, Assembler, Implementation, useImplicitAssembly >::LocalResidual = GetPropType<TypeTag, Properties::LocalResidual> |
|
inlineexplicit |
The constructor. Delegates to the general constructor.
|
inlineexplicit |
The constructor. General version explicitly expecting each argument.
|
inlineprotected |
|
inlineprotected |
|
inline |
The assembler.
|
inline |
Convenience function bind and prepare all relevant variables required for the evaluation of the local residual.
|
inline |
The current element volume variables.
|
inline |
The current element volume variables.
|
inline |
The current solution.
|
inline |
The element's boundary types.
|
inline |
The element's boundary types.
|
inline |
The current element.
|
inline |
Returns if element is a ghost entity.
|
inline |
The element flux variables cache.
|
inline |
The element flux variables cache.
|
inline |
Enforces Dirichlet constraints if enabled in the problem.
|
inline |
|
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 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 |
|
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 element.
elemVolVars | The 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 variables.
|
inline |
The global finite volume geometry.
|
inline |
The finite volume geometry.
|
inlineprotected |
|
inlineprotected |
|
inlinestaticconstexpr |
Returns true if the assembler considers implicit assembly.
|
inline |
The local residual for the current element.
|
inline |
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.
|
inline |
The problem.