version 3.10-dev
Staggered Grid Finite Volume Method

Discretization for the momentum balance of the Navier-Stokes equations. Can be used to build a marker-and-cell scheme (MAC) together with Tpfa for the discretization of the mass balance equation. More...

Description

The finite volume method on a staggered grid is a classical discretization scheme for the momentum balance of the Navier-Stokes equations [37]. It is constructed on Cartesian (tensor product) grids. Here, we use the same abstraction as for other finite volume and CVFE schemes and split the staggered (shifted) control volumes into element-wise parts: sub control volumes. Fluxes are assembled over sub control volumes faces, where two control volume faces are fully contained in an element (these are called frontal faces), and two faces are shared between neighboring elements and therefore split into two sub control volume faces (these are called lateral faces).

Control volume partitioning for the staggered method.

The image shows the control volume partition in 2D. It also shows the neighboring degrees of freedom involved in the interpolation of gradients at the flux integration points.

Files

file  fclocalassembler.hh
 An assembler for Jacobian and residual contribution per element (face-centered staggered methods)
 
file  fclocalresidual.hh
 Calculates the element-wise residual for the box scheme.
 
file  facecentered/staggered/connectivitymap.hh
 
file  consistentlyorientedgrid.hh
 
file  facecentered/staggered/elementboundarytypes.hh
 Boundary types gathered on an element.
 
file  discretization/facecentered/staggered/elementfluxvariablescache.hh
 Global flux variable cache.
 
file  facecentered/staggered/elementsolution.hh
 
file  facecentered/staggered/elementvolumevariables.hh
 
file  discretization/facecentered/staggered/fvelementgeometry.hh
 
file  discretization/facecentered/staggered/fvgridgeometry.hh
 
file  discretization/facecentered/staggered/geometryhelper.hh
 Geometry helper for face-centered staggered scheme.
 
file  discretization/facecentered/staggered/gridfluxvariablescache.hh
 Global flux variable cache.
 
file  gridsupportsconcavecorners.hh
 
file  facecentered/staggered/gridvolumevariables.hh
 The grid volume variables class for face-centered staggered models.
 
file  localintersectionindexmapper.hh
 
file  normalaxis.hh
 
file  discretization/facecentered/staggered/subcontrolvolume.hh
 
file  discretization/facecentered/staggered/subcontrolvolumeface.hh
 

Classes

class  Dumux::FaceCenteredLocalAssemblerBase< TypeTag, Assembler, Implementation, implicit >
 A base class for all local cell-centered assemblers. More...
 
class  Dumux::FaceCenteredLocalAssembler< TypeTag, Assembler, diffMethod, implicit, Implementation >
 An assembler for Jacobian and residual contribution per element (Face-centered methods) More...
 
class  Dumux::FaceCenteredLocalAssembler< TypeTag, Assembler, DiffMethod::numeric, true, Implementation >
 Face-centered scheme local assembler using numeric differentiation and implicit time discretization. More...
 
class  Dumux::FaceCenteredLocalAssembler< TypeTag, Assembler, DiffMethod::numeric, false, Implementation >
 TODO docme. More...
 
class  Dumux::FaceCenteredLocalAssembler< TypeTag, Assembler, DiffMethod::analytic, true, Implementation >
 TODO docme. More...
 
class  Dumux::FaceCenteredLocalAssembler< TypeTag, Assembler, DiffMethod::analytic, false, Implementation >
 TODO docme. More...
 
class  Dumux::FaceCenteredLocalResidual< TypeTag >
 The element-wise residual for the box scheme. More...
 
class  Dumux::FaceCenteredStaggeredConnectivityMap< GridGeometry >
 Stores the dof indices corresponding to the neighboring scvs that contribute to the derivative calculation. More...
 
class  Dumux::FaceCenteredStaggeredElementBoundaryTypes< BTypes >
 This class stores an array of BoundaryTypes objects. More...
 
class  Dumux::FaceCenteredStaggeredElementFluxVariablesCache< GFVC, cachingEnabled >
 The flux variables caches for an element. More...
 
class  Dumux::FaceCenteredStaggeredElementFluxVariablesCache< GFVC, true >
 The flux variables caches for an element with caching enabled. More...
 
class  Dumux::FaceCenteredStaggeredElementFluxVariablesCache< GFVC, false >
 The flux variables caches for an element with caching disabled. More...
 
class  Dumux::FaceCenteredStaggeredElementSolution< FVElementGeometry, PV >
 The global face variables class for staggered models. More...
 
class  Dumux::FaceCenteredStaggeredElementVolumeVariables< GridVolumeVariables, cachingEnabled >
 Base class for the face variables vector. More...
 
class  Dumux::FaceCenteredStaggeredElementVolumeVariables< GVV, true >
 Class for the face variables vector. Specialization for the case of storing the face variables globally. More...
 
class  Dumux::FaceCenteredStaggeredElementVolumeVariables< GVV, false >
 Class for the face variables vector. Specialization for the case of not storing the face variables globally. More...
 
class  Dumux::FaceCenteredStaggeredFVElementGeometry< GG, true >
 Stencil-local finite volume geometry (scvs and scvfs) for face-centered staggered models Specialization for grid caching enabled. More...
 
class  Dumux::FaceCenteredStaggeredFVElementGeometry< GG, false >
 Stencil-local finite volume geometry (scvs and scvfs) for face-centered staggered models Specialization for grid caching disabled. More...
 
struct  Dumux::FaceCenteredStaggeredDefaultGridGeometryTraits< GridView >
 The default traits for the face-center staggered finite volume grid geometry Defines the scv and scvf types and the mapper types. More...
 
class  Dumux::FaceCenteredStaggeredFVGridGeometry< GridView, cachingEnabled, Traits >
 Base class for the finite volume geometry vector for face-centered staggered models This builds up the sub control volumes and sub control volume faces for each element. More...
 
class  Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >
 Base class for the finite volume geometry vector for staggered models This builds up the sub control volumes and sub control volume faces for each element. Specialization in case the FVElementGeometries are stored. More...
 
class  Dumux::FaceCenteredStaggeredFVGridGeometry< GV, false, Traits >
 Base class for the finite volume geometry vector for face-centered staggered models This builds up the sub control volumes and sub control volume faces for each element. Specialization in case the FVElementGeometries are stored. More...
 
class  Dumux::FaceCenteredStaggeredGeometryHelper< GridView >
 Face centered staggered geometry helper. More...
 
struct  Dumux::FaceCenteredStaggeredDefaultGridFVCTraits< P, FVC, FVCF >
 Flux variable caches traits. More...
 
class  Dumux::FaceCenteredStaggeredGridFluxVariablesCache< Problem, FluxVariablesCache, FluxVariablesCacheFiller, cachingEnabled, Traits >
 Flux variable caches on a gridview. More...
 
class  Dumux::FaceCenteredStaggeredGridFluxVariablesCache< P, FVC, FVCF, true, Traits >
 Flux variable caches on a gridview with grid caching enabled. More...
 
class  Dumux::FaceCenteredStaggeredGridFluxVariablesCache< P, FVC, FVCF, false, Traits >
 Flux variable caches on a gridview with grid caching disabled. More...
 
class  Dumux::FaceCenteredStaggeredGridVolumeVariables< Traits, cachingEnabled >
 Base class for the grid volume variables. More...
 
class  Dumux::Detail::FaceCenteredStaggeredLocalIntersectionIndexMapper< GridView, false >
 Provides a mapping of local intersection indices (indexInInside) such that the local indices always follow the order of a reference element, regardless of how the element is oriented. More...
 
class  Dumux::Detail::FaceCenteredStaggeredLocalIntersectionIndexMapper< GridView, true >
 Provides a mapping of local intersection indices (indexInInside) such that the local indices always follow the order of a reference element, regardless of how the element in oriented. More...
 
struct  Dumux::FaceCenteredDefaultScvGeometryTraits< GridView >
 Default traits class to be used for the sub-control volumes for the face-centered staggered scheme. More...
 
class  Dumux::FaceCenteredStaggeredSubControlVolume< GridView, T >
 Face centered staggered sub control volume. More...
 
struct  Dumux::FaceCenteredDefaultScvfGeometryTraits< GridView >
 Default traits class to be used for the sub-control volume face for the face-centered staggered finite volume scheme. More...
 
class  Dumux::FaceCenteredStaggeredSubControlVolumeFace< GridView, T >
 Face centered staggered sub control volume face. More...
 

Typedefs

template<class GridView >
using Dumux::FaceCenteredStaggeredLocalIntersectionIndexMapper = Detail::FaceCenteredStaggeredLocalIntersectionIndexMapper< GridView, ConsistentlyOrientedGrid< typename GridView::Grid >{}>
 Provides a mapping of local intersection indices (indexInInside) such that the local indices always follow the order of a reference element, regardless of how the element is oriented. Does not do anything for grids not supporting rotated elements (such as Dune::YaspGrid). More...
 

Functions

template<class Vector >
static std::size_t Dumux::normalAxis (const Vector &v)
 Returns the normal axis index of a unit vector (0 = x, 1 = y, 2 = z) More...
 

Typedef Documentation

◆ FaceCenteredStaggeredLocalIntersectionIndexMapper

Function Documentation

◆ normalAxis()

template<class Vector >
static std::size_t Dumux::normalAxis ( const Vector &  v)
inlinestatic