version 3.9.0
Loading...
Searching...
No Matches
Dumux::NavierStokesResidualImpl< TypeTag, DiscretizationMethods::Staggered > Class Template Reference

#include <dumux/freeflow/navierstokes/staggered/localresidual.hh>

Inheritance diagram for Dumux::NavierStokesResidualImpl< TypeTag, DiscretizationMethods::Staggered >:

Public Types

using EnergyLocalResidual = FreeFlowEnergyLocalResidual<GridGeometry, FluxVariables, ModelTraits::enableEnergyBalance(), (ModelTraits::numFluidComponents() > 1)>
 
using CellCenterResidualValue = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>
 
using FaceResidualValue = GetPropType<TypeTag, Properties::FacePrimaryVariables>
 
using ElementResidualVector = CellCenterResidualValue
 

Public Member Functions

CellCenterPrimaryVariables computeFluxForCellCenter (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const SubControlVolumeFace &scvf, const ElementFluxVariablesCache &elemFluxVarsCache) const
 Evaluate fluxes entering or leaving the cell center control volume.
 
CellCenterPrimaryVariables computeSourceForCellCenter (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const SubControlVolume &scv) const
 Evaluate the source term for the cell center control volume.
 
CellCenterPrimaryVariables computeStorageForCellCenter (const Problem &problem, const SubControlVolume &scv, const VolumeVariables &volVars) const
 Evaluate the storage term for the cell center control volume.
 
FacePrimaryVariables computeStorageForFace (const Problem &problem, const SubControlVolumeFace &scvf, const VolumeVariables &volVars, const ElementFaceVariables &elemFaceVars) const
 Evaluate the storage term for the face control volume.
 
FacePrimaryVariables computeSourceForFace (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const SubControlVolumeFace &scvf, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars) const
 Evaluate the source term for the face control volume.
 
FacePrimaryVariables computeFluxForFace (const Problem &problem, const Element &element, const SubControlVolumeFace &scvf, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const ElementFluxVariablesCache &elemFluxVarsCache) const
 Evaluate the momentum flux for the face control volume.
 
CellCenterResidual computeBoundaryFluxForCellCenter (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const SubControlVolumeFace &scvf, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const ElementBoundaryTypes &elemBcTypes, const ElementFluxVariablesCache &elemFluxVarsCache) const
 Evaluate boundary conditions for a cell center dof.
 
void evalDirichletBoundariesForFace (FaceResidual &residual, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const SubControlVolumeFace &scvf, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const ElementBoundaryTypes &elemBcTypes, const ElementFluxVariablesCache &elemFluxVarsCache) const
 Evaluate Dirichlet (fixed value) boundary conditions for a face dof.
 
FaceResidual computeBoundaryFluxForFace (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const SubControlVolumeFace &scvf, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const ElementBoundaryTypes &elemBcTypes, const ElementFluxVariablesCache &elemFluxVarsCache) const
 Evaluate boundary fluxes for a face dof.
 
CellCenterResidualValue evalFluxAndSourceForCellCenter (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const ElementBoundaryTypes &bcTypes, const ElementFluxVariablesCache &elemFluxVarsCache) const
 Convenience function to evaluate the flux and source terms for the cell center residual.
 
void evalFluxForCellCenter (CellCenterResidualValue &residual, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const ElementBoundaryTypes &elemBcTypes, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const
 Evaluate the flux terms for a cell center residual.
 
void evalSourceForCellCenter (CellCenterResidualValue &residual, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &curElemVolVars, const ElementFaceVariables &curElemFaceVars, const SubControlVolume &scv) const
 Evaluate the source terms for a cell center residual.
 
CellCenterResidualValue evalStorageForCellCenter (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &prevElemVolVars, const ElementVolumeVariables &curElemVolVars) const
 Evaluate the storage terms for a cell center residual.
 
void evalStorageForCellCenter (CellCenterResidualValue &residual, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &prevElemVolVars, const ElementVolumeVariables &curElemVolVars, const SubControlVolume &scv) const
 Evaluate the storage terms for a cell center residual.
 
template<class... Args>
CellCenterResidualValue evalFluxAndSource (Args &&... args) const
 for compatibility with FVLocalAssemblerBase
 
template<class... Args>
CellCenterResidualValue evalStorage (Args &&... args) const
 for compatibility with FVLocalAssemblerBase
 

Static Public Attributes

static constexpr auto cellCenterOffset = ModelTraits::numEq() - CellCenterPrimaryVariables::dimension
 

User interface

Note
The following methods are usually expensive to evaluate They are useful for outputting residual information.
FaceResidualValue evalFluxAndSourceForFace (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const ElementBoundaryTypes &bcTypes, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const
 Convenience function to evaluate the flux and source terms for the face residual.
 
void evalFluxForFace (FaceResidualValue &residual, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const ElementBoundaryTypes &elemBcTypes, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const
 Evaluate the flux terms for a face residual.
 
void evalSourceForFace (FaceResidualValue &residual, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const SubControlVolumeFace &scvf) const
 Evaluate the source terms for a face residual.
 
FaceResidualValue evalStorageForFace (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &prevElemVolVars, const ElementVolumeVariables &curElemVolVars, const ElementFaceVariables &prevElemFaceVars, const ElementFaceVariables &curElemFaceVars, const SubControlVolumeFace &scvf) const
 Evaluate the storage terms for a face residual.
 
void evalStorageForFace (FaceResidualValue &residual, const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &prevElemVolVars, const ElementVolumeVariables &curElemVolVars, const ElementFaceVariables &prevElemFaceVars, const ElementFaceVariables &curElemFaceVars, const SubControlVolumeFace &scvf) const
 Evaluate the storage terms for a face residual.
 
bool isStationary () const
 If no solution has been set, we treat the problem as stationary.
 
const Problem & problem () const
 the problem
 
TimeLooptimeLoop ()
 
const TimeLooptimeLoop () const
 
Implementation & asImp ()
 
const Implementation & asImp () const
 

Member Typedef Documentation

◆ CellCenterResidualValue

template<class TypeTag >
using Dumux::StaggeredLocalResidual< TypeTag >::CellCenterResidualValue = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>
inherited

◆ ElementResidualVector

template<class TypeTag >
using Dumux::StaggeredLocalResidual< TypeTag >::ElementResidualVector = CellCenterResidualValue
inherited

◆ EnergyLocalResidual

template<class TypeTag >
using Dumux::NavierStokesResidualImpl< TypeTag, DiscretizationMethods::Staggered >::EnergyLocalResidual = FreeFlowEnergyLocalResidual<GridGeometry, FluxVariables, ModelTraits::enableEnergyBalance(), (ModelTraits::numFluidComponents() > 1)>

◆ FaceResidualValue

template<class TypeTag >
using Dumux::StaggeredLocalResidual< TypeTag >::FaceResidualValue = GetPropType<TypeTag, Properties::FacePrimaryVariables>
inherited

Member Function Documentation

◆ asImp() [1/2]

template<class TypeTag >
Implementation & Dumux::StaggeredLocalResidual< TypeTag >::asImp ( )
inlineprotectedinherited

◆ asImp() [2/2]

template<class TypeTag >
const Implementation & Dumux::StaggeredLocalResidual< TypeTag >::asImp ( ) const
inlineprotectedinherited

◆ computeBoundaryFluxForCellCenter()

template<class TypeTag >
CellCenterResidual Dumux::NavierStokesResidualImpl< TypeTag, DiscretizationMethods::Staggered >::computeBoundaryFluxForCellCenter ( const Problem & problem,
const Element & element,
const FVElementGeometry & fvGeometry,
const SubControlVolumeFace & scvf,
const ElementVolumeVariables & elemVolVars,
const ElementFaceVariables & elemFaceVars,
const ElementBoundaryTypes & elemBcTypes,
const ElementFluxVariablesCache & elemFluxVarsCache ) const
inline

◆ computeBoundaryFluxForFace()

template<class TypeTag >
FaceResidual Dumux::NavierStokesResidualImpl< TypeTag, DiscretizationMethods::Staggered >::computeBoundaryFluxForFace ( const Problem & problem,
const Element & element,
const FVElementGeometry & fvGeometry,
const SubControlVolumeFace & scvf,
const ElementVolumeVariables & elemVolVars,
const ElementFaceVariables & elemFaceVars,
const ElementBoundaryTypes & elemBcTypes,
const ElementFluxVariablesCache & elemFluxVarsCache ) const
inline

◆ computeFluxForCellCenter()

template<class TypeTag >
CellCenterPrimaryVariables Dumux::NavierStokesResidualImpl< TypeTag, DiscretizationMethods::Staggered >::computeFluxForCellCenter ( const Problem & problem,
const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & elemVolVars,
const ElementFaceVariables & elemFaceVars,
const SubControlVolumeFace & scvf,
const ElementFluxVariablesCache & elemFluxVarsCache ) const
inline

◆ computeFluxForFace()

template<class TypeTag >
FacePrimaryVariables Dumux::NavierStokesResidualImpl< TypeTag, DiscretizationMethods::Staggered >::computeFluxForFace ( const Problem & problem,
const Element & element,
const SubControlVolumeFace & scvf,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & elemVolVars,
const ElementFaceVariables & elemFaceVars,
const ElementFluxVariablesCache & elemFluxVarsCache ) const
inline

◆ computeSourceForCellCenter()

template<class TypeTag >
CellCenterPrimaryVariables Dumux::NavierStokesResidualImpl< TypeTag, DiscretizationMethods::Staggered >::computeSourceForCellCenter ( const Problem & problem,
const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & elemVolVars,
const ElementFaceVariables & elemFaceVars,
const SubControlVolume & scv ) const
inline

◆ computeSourceForFace()

template<class TypeTag >
FacePrimaryVariables Dumux::NavierStokesResidualImpl< TypeTag, DiscretizationMethods::Staggered >::computeSourceForFace ( const Problem & problem,
const Element & element,
const FVElementGeometry & fvGeometry,
const SubControlVolumeFace & scvf,
const ElementVolumeVariables & elemVolVars,
const ElementFaceVariables & elemFaceVars ) const
inline

◆ computeStorageForCellCenter()

template<class TypeTag >
CellCenterPrimaryVariables Dumux::NavierStokesResidualImpl< TypeTag, DiscretizationMethods::Staggered >::computeStorageForCellCenter ( const Problem & problem,
const SubControlVolume & scv,
const VolumeVariables & volVars ) const
inline

◆ computeStorageForFace()

template<class TypeTag >
FacePrimaryVariables Dumux::NavierStokesResidualImpl< TypeTag, DiscretizationMethods::Staggered >::computeStorageForFace ( const Problem & problem,
const SubControlVolumeFace & scvf,
const VolumeVariables & volVars,
const ElementFaceVariables & elemFaceVars ) const
inline

◆ evalDirichletBoundariesForFace()

template<class TypeTag >
void Dumux::NavierStokesResidualImpl< TypeTag, DiscretizationMethods::Staggered >::evalDirichletBoundariesForFace ( FaceResidual & residual,
const Problem & problem,
const Element & element,
const FVElementGeometry & fvGeometry,
const SubControlVolumeFace & scvf,
const ElementVolumeVariables & elemVolVars,
const ElementFaceVariables & elemFaceVars,
const ElementBoundaryTypes & elemBcTypes,
const ElementFluxVariablesCache & elemFluxVarsCache ) const
inline

◆ evalFluxAndSource()

template<class TypeTag >
template<class... Args>
CellCenterResidualValue Dumux::StaggeredLocalResidual< TypeTag >::evalFluxAndSource ( Args &&... args) const
inlineinherited

◆ evalFluxAndSourceForCellCenter()

template<class TypeTag >
CellCenterResidualValue Dumux::StaggeredLocalResidual< TypeTag >::evalFluxAndSourceForCellCenter ( const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & elemVolVars,
const ElementFaceVariables & elemFaceVars,
const ElementBoundaryTypes & bcTypes,
const ElementFluxVariablesCache & elemFluxVarsCache ) const
inlineinherited

◆ evalFluxAndSourceForFace()

template<class TypeTag >
FaceResidualValue Dumux::StaggeredLocalResidual< TypeTag >::evalFluxAndSourceForFace ( const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & elemVolVars,
const ElementFaceVariables & elemFaceVars,
const ElementBoundaryTypes & bcTypes,
const ElementFluxVariablesCache & elemFluxVarsCache,
const SubControlVolumeFace & scvf ) const
inlineinherited

◆ evalFluxForCellCenter()

template<class TypeTag >
void Dumux::StaggeredLocalResidual< TypeTag >::evalFluxForCellCenter ( CellCenterResidualValue & residual,
const Problem & problem,
const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & elemVolVars,
const ElementFaceVariables & elemFaceVars,
const ElementBoundaryTypes & elemBcTypes,
const ElementFluxVariablesCache & elemFluxVarsCache,
const SubControlVolumeFace & scvf ) const
inlineinherited

◆ evalFluxForFace()

template<class TypeTag >
void Dumux::StaggeredLocalResidual< TypeTag >::evalFluxForFace ( FaceResidualValue & residual,
const Problem & problem,
const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & elemVolVars,
const ElementFaceVariables & elemFaceVars,
const ElementBoundaryTypes & elemBcTypes,
const ElementFluxVariablesCache & elemFluxVarsCache,
const SubControlVolumeFace & scvf ) const
inlineinherited

◆ evalSourceForCellCenter()

template<class TypeTag >
void Dumux::StaggeredLocalResidual< TypeTag >::evalSourceForCellCenter ( CellCenterResidualValue & residual,
const Problem & problem,
const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & curElemVolVars,
const ElementFaceVariables & curElemFaceVars,
const SubControlVolume & scv ) const
inlineinherited

◆ evalSourceForFace()

template<class TypeTag >
void Dumux::StaggeredLocalResidual< TypeTag >::evalSourceForFace ( FaceResidualValue & residual,
const Problem & problem,
const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & elemVolVars,
const ElementFaceVariables & elemFaceVars,
const SubControlVolumeFace & scvf ) const
inlineinherited

◆ evalStorage()

template<class TypeTag >
template<class... Args>
CellCenterResidualValue Dumux::StaggeredLocalResidual< TypeTag >::evalStorage ( Args &&... args) const
inlineinherited

◆ evalStorageForCellCenter() [1/2]

template<class TypeTag >
void Dumux::StaggeredLocalResidual< TypeTag >::evalStorageForCellCenter ( CellCenterResidualValue & residual,
const Problem & problem,
const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & prevElemVolVars,
const ElementVolumeVariables & curElemVolVars,
const SubControlVolume & scv ) const
inlineinherited

◆ evalStorageForCellCenter() [2/2]

template<class TypeTag >
CellCenterResidualValue Dumux::StaggeredLocalResidual< TypeTag >::evalStorageForCellCenter ( const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & prevElemVolVars,
const ElementVolumeVariables & curElemVolVars ) const
inlineinherited

◆ evalStorageForFace() [1/2]

template<class TypeTag >
FaceResidualValue Dumux::StaggeredLocalResidual< TypeTag >::evalStorageForFace ( const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & prevElemVolVars,
const ElementVolumeVariables & curElemVolVars,
const ElementFaceVariables & prevElemFaceVars,
const ElementFaceVariables & curElemFaceVars,
const SubControlVolumeFace & scvf ) const
inlineinherited

◆ evalStorageForFace() [2/2]

template<class TypeTag >
void Dumux::StaggeredLocalResidual< TypeTag >::evalStorageForFace ( FaceResidualValue & residual,
const Problem & problem,
const Element & element,
const FVElementGeometry & fvGeometry,
const ElementVolumeVariables & prevElemVolVars,
const ElementVolumeVariables & curElemVolVars,
const ElementFaceVariables & prevElemFaceVars,
const ElementFaceVariables & curElemFaceVars,
const SubControlVolumeFace & scvf ) const
inlineinherited

◆ isStationary()

template<class TypeTag >
bool Dumux::StaggeredLocalResidual< TypeTag >::isStationary ( ) const
inlineinherited

◆ problem()

template<class TypeTag >
const Problem & Dumux::StaggeredLocalResidual< TypeTag >::problem ( ) const
inlineinherited

◆ timeLoop() [1/2]

template<class TypeTag >
TimeLoop & Dumux::StaggeredLocalResidual< TypeTag >::timeLoop ( )
inlineprotectedinherited

◆ timeLoop() [2/2]

template<class TypeTag >
const TimeLoop & Dumux::StaggeredLocalResidual< TypeTag >::timeLoop ( ) const
inlineprotectedinherited

Member Data Documentation

◆ cellCenterOffset

template<class TypeTag >
auto Dumux::NavierStokesResidualImpl< TypeTag, DiscretizationMethods::Staggered >::cellCenterOffset = ModelTraits::numEq() - CellCenterPrimaryVariables::dimension
staticconstexpr

The documentation for this class was generated from the following file: