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.
More...
template<class TypeTag>
class Dumux::CCFacetCouplingLocalResidual< TypeTag >
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 Problem > |
NumEqVector | evalFlux (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const |
|
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 More...
|
|
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 More...
|
|
|
- Note
- The 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 source local residual, i.e. the deviation of the source term from zero and add to the residual. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
|
- Note
- The 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. More...
|
|
|
- Note
- Methods 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. More...
|
|
ElementResidualVector | evalFluxAndSource (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const ElementBoundaryTypes &bcTypes) const |
|
|
- Note
- The 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. More...
|
|
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. More...
|
|
NumEqVector | computeFlux (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolumeFace &scvf, const ElementFluxVariablesCache &elemFluxVarsCache) const |
| Calculate the source term of the equation. More...
|
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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") More...
|
|