Calculates the element-wise residual for cell-centered discretization schemes in models where coupling occurs across the element facets. We only overwrite the function for the computation of a flux across a single sub-control volume face, as we need to additionally check if a boundary face couples to a facet element.  
|  | 
| template<class... Args> | 
| void | evalFlux (ElementResidualVector &residual, Args &&... args) const | 
|  | evaluate the flux residual for a sub control volume face and add to residual 
 | 
|  | 
| template<class Problem> | 
| NumEqVector | evalFlux (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const | 
|  | evaluate the flux residual for a sub control volume face 
 | 
|  | 
| void | evalFlux (ElementResidualVector &residual, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementBoundaryTypes &elemBcTypes, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const | 
|  | evaluate the flux residual for a sub control volume face and add to residual 
 | 
|  | 
| NumEqVector | evalFlux (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const | 
|  | evaluate the flux residual for a sub control volume face 
 | 
|  | 
|  | 
| NoteThe following method are the discretization specific wrapper methods 
 | 
| void | evalFlux (ElementResidualVector &residual, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementBoundaryTypes &elemBcTypes, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const | 
|  | Compute the flux local residual, i.e. the deviation of the flux term from zero. 
 | 
|  | 
| NumEqVector | evalFlux (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const | 
|  | Compute the flux local residual, i.e. the deviation of the flux term from zero. 
 | 
|  | 
| void | evalStorage (ElementResidualVector &residual, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &prevElemVolVars, const ElementVolumeVariables &curElemVolVars, const SubControlVolume &scv) const | 
|  | Compute the storage local residual, i.e. the deviation of the storage term from zero for instationary problems. 
 | 
|  | 
| void | evalSource (ElementResidualVector &residual, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &curElemVolVars, const SubControlVolume &scv) const | 
|  | Compute the source local residual, i.e. the deviation of the source term from zero. 
 | 
|  | 
|  | 
| NoteThe following methods are usually expensive to evaluate They are useful for outputting / postprocessing residual information. 
 | 
| ElementResidualVector | evalStorage (const Problem &problem, const Element &element, const GridGeometry &gridGeometry, const GridVariables &gridVariables, const SolutionVector &sol) const | 
|  | Compute the storage term for the current solution. 
 | 
|  | 
|  | 
| NoteMethods used by the assembler to compute derivatives and residual 
 | 
| ElementResidualVector | evalStorage (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &prevElemVolVars, const ElementVolumeVariables &curElemVolVars) const | 
|  | Compute the storage local residual, i.e. the deviation of the storage term from zero for instationary problems. 
 | 
|  | 
| ElementResidualVector | evalFluxAndSource (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const ElementBoundaryTypes &bcTypes) const | 
|  | 
|  | 
| NoteThe following method are the model specific implementations of the local residual 
 | 
| NumEqVector | computeStorage (const Problem &problem, const SubControlVolume &scv, const VolumeVariables &volVars) const | 
|  | Calculate the source term of the equation. 
 | 
|  | 
| 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. 
 | 
|  | 
| NumEqVector | computeFlux (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolumeFace &scvf, const ElementFluxVariablesCache &elemFluxVarsCache) const | 
|  | Calculate the flux term of the equation. 
 | 
|  | 
|  | 
| template<class PartialDerivativeMatrix> | 
| void | addStorageDerivatives (PartialDerivativeMatrix &partialDerivatives, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const VolumeVariables &curVolVars, const SubControlVolume &scv) const | 
|  | Compute the derivative of the storage residual. 
 | 
|  | 
| template<class PartialDerivativeMatrix> | 
| void | addSourceDerivatives (PartialDerivativeMatrix &partialDerivatives, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const VolumeVariables &curVolVars, const SubControlVolume &scv) const | 
|  | Compute the derivative of the source residual. 
 | 
|  | 
| template<class PartialDerivativeMatrices, class T = TypeTag> | 
| std::enable_if_t< GetPropType< T, Properties::GridGeometry >::discMethod !=DiscretizationMethods::box, void > | addFluxDerivatives (PartialDerivativeMatrices &derivativeMatrices, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &curElemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const | 
|  | Compute the derivative of the flux residual. 
 | 
|  | 
| template<class JacobianMatrix, class T = TypeTag> | 
| std::enable_if_t< GetPropType< T, Properties::GridGeometry >::discMethod==DiscretizationMethods::box, void > | addFluxDerivatives (JacobianMatrix &A, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &curElemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const | 
|  | Compute the derivative of the flux residual for the box method. 
 | 
|  | 
| template<class PartialDerivativeMatrices> | 
| void | addCCDirichletFluxDerivatives (PartialDerivativeMatrices &derivativeMatrices, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &curElemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const | 
|  | Compute the derivative of the Dirichlet flux residual for cell-centered schemes. 
 | 
|  | 
| template<class PartialDerivativeMatrices> | 
| void | addRobinFluxDerivatives (PartialDerivativeMatrices &derivativeMatrices, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &curElemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const | 
|  | Compute the derivative of Robin type boundary conditions ("solution dependent Neumann") 
 | 
|  |