The finite volume geometry (scvs and scvfs) for cell-centered mpfa models on a grid view This builds up the sub control volumes and sub control volume faces. More...
#include <dumux/discretization/cellcentered/mpfa/fvgridgeometry.hh>
The finite volume geometry (scvs and scvfs) for cell-centered mpfa models on a grid view This builds up the sub control volumes and sub control volume faces.
Public Types | |
using | FlipScvfIndexSet = std::vector< ScvfOutsideGridIndexStorage > |
export the flip scvf index set type More... | |
using | GridIVIndexSets = typename Traits::template GridIvIndexSets< ThisType > |
export the grid interaction volume index set type More... | |
using | SecondaryIvIndicatorType = std::function< bool(const Element &, const Intersection &, bool)> |
export the type to be used for indicators where to use the secondary ivs More... | |
using | LocalView = typename Traits::template LocalView< ThisType, false > |
export the type of the fv element geometry (the local view type) More... | |
using | SubControlVolume = typename Traits::SubControlVolume |
export the type of sub control volume More... | |
using | SubControlVolumeFace = typename Traits::SubControlVolumeFace |
export the type of sub control volume More... | |
using | Extrusion = Extrusion_t< Traits > |
export the type of extrusion More... | |
using | ConnectivityMap = typename Traits::template ConnectivityMap< ThisType > |
export the connectivity map type More... | |
using | DofMapper = typename Traits::ElementMapper |
export dof mapper type More... | |
using | GridView = GV |
export the grid view type More... | |
using | MpfaHelper = typename Traits::template MpfaHelper< ThisType > |
export the mpfa helper type More... | |
using | DiscretizationMethod = DiscretizationMethods::CCMpfa |
export the discretization method this geometry belongs to More... | |
using | Grid = typename BaseImplementation::Grid |
export the grid type More... | |
using | GlobalCoordinate = typename BaseImplementation::GlobalCoordinate |
export the global coordinate type More... | |
using | ElementMapper = typename BaseImplementation::ElementMapper |
export the element mapper type More... | |
using | VertexMapper = typename BaseImplementation::VertexMapper |
export the vertex mapper type More... | |
Public Member Functions | |
CCMpfaFVGridGeometry (const GridView &gridView) | |
CCMpfaFVGridGeometry (const GridView &gridView, const SecondaryIvIndicatorType &indicator) | |
Constructor with user-defined indicator function for secondary interaction volumes. More... | |
const DofMapper & | dofMapper () const |
std::size_t | numScv () const |
Returns the total number of sub control volumes. More... | |
std::size_t | numScvf () const |
Returns the total number of sub control volume faces. More... | |
std::size_t | numBoundaryScvf () const |
Returns the number of scvfs on the domain boundary. More... | |
std::size_t | numDofs () const |
Returns the total number of degrees of freedom. More... | |
template<bool useSecondary = !hasSingleInteractionVolumeType, std::enable_if_t< useSecondary, bool > = 0> | |
bool | vertexUsesSecondaryInteractionVolume (GridIndexType vIdxGlobal) const |
template<bool useSecondary = !hasSingleInteractionVolumeType, std::enable_if_t<!useSecondary, bool > = 0> | |
constexpr bool | vertexUsesSecondaryInteractionVolume (GridIndexType vIdxGlobal) const |
bool | isGhostVertex (const Vertex &v) const |
Returns true if a given vertex lies on a processor boundary inside a ghost element. More... | |
bool | isGhostVertex (GridIndexType vIdxGlobal) const |
Returns true if the vertex (index) lies on a processor boundary inside a ghost element. More... | |
void | update (const GridView &gridView) |
update all fvElementGeometries (call this after grid adaption) More... | |
void | update (GridView &&gridView) |
update all fvElementGeometries (call this after grid adaption) More... | |
MpfaHelper | mpfaHelper () const |
Returns instance of the mpfa helper type. More... | |
const std::vector< GridIndexType > & | scvfIndicesOfScv (GridIndexType scvIdx) const |
Returns the sub control volume face indices of an scv by global index. More... | |
const std::vector< ScvfOutsideGridIndexStorage > & | neighborVolVarIndices (GridIndexType scvIdx) const |
Returns the neighboring vol var indices for each scvf contained in an scv. More... | |
const GridIndexType | flipScvfIdx (GridIndexType scvfIdx, unsigned int outsideScvfIdx=0) const |
const FlipScvfIndexSet & | flipScvfIndexSet () const |
Returns the flip scvf index set. More... | |
const ConnectivityMap & | connectivityMap () const |
const GridIVIndexSets & | gridInteractionVolumeIndexSets () const |
Returns the grid interaction volume seeds class. More... | |
const GridView & | gridView () const |
Return the gridView this grid geometry object lives on. More... | |
const VertexMapper & | vertexMapper () const |
Returns the mapper for vertices to indices for constant grids. More... | |
VertexMapper & | vertexMapper () |
Returns the mapper for vertices to indices for possibly adaptive grids. More... | |
const ElementMapper & | elementMapper () const |
Returns the mapper for elements to indices for constant grids. More... | |
ElementMapper & | elementMapper () |
Returns the mapper for elements to indices for possibly adaptive grids. More... | |
decltype(auto) | boundingBoxTree () const |
Returns the bounding box tree of the grid. More... | |
decltype(auto) | elementMap () const |
Returns the element index to element map. More... | |
Element | element (GridIndexType eIdx) const |
Get an element from a global element index. More... | |
const GlobalCoordinate & | bBoxMin () const |
The coordinate of the corner of the GridView's bounding box with the smallest values. More... | |
const GlobalCoordinate & | bBoxMax () const |
The coordinate of the corner of the GridView's bounding box with the largest values. More... | |
bool | isPeriodic () const |
Returns if the grid geometry is periodic (at all) More... | |
Static Public Attributes | |
static constexpr DiscretizationMethod | discMethod {} |
static constexpr int | maxElementStencilSize = Traits::maxElementStencilSize |
The maximum admissible stencil size (used for static memory allocation during assembly) More... | |
static constexpr bool | hasSingleInteractionVolumeType = !MpfaHelper::considerSecondaryIVs() |
State if only a single type is used for interaction volumes. More... | |
Protected Member Functions | |
void | setPeriodic (bool value=true) |
Set the periodicity of the grid geometry. More... | |
using Dumux::CCMpfaFVGridGeometry< GV, Traits, false >::ConnectivityMap = typename Traits::template ConnectivityMap<ThisType> |
export the connectivity map type
using Dumux::CCMpfaFVGridGeometry< GV, Traits, false >::DiscretizationMethod = DiscretizationMethods::CCMpfa |
export the discretization method this geometry belongs to
using Dumux::CCMpfaFVGridGeometry< GV, Traits, false >::DofMapper = typename Traits::ElementMapper |
export dof mapper type
|
inherited |
export the element mapper type
using Dumux::CCMpfaFVGridGeometry< GV, Traits, false >::Extrusion = Extrusion_t<Traits> |
export the type of extrusion
using Dumux::CCMpfaFVGridGeometry< GV, Traits, false >::FlipScvfIndexSet = std::vector<ScvfOutsideGridIndexStorage> |
export the flip scvf index set type
|
inherited |
export the global coordinate type
|
inherited |
export the grid type
using Dumux::CCMpfaFVGridGeometry< GV, Traits, false >::GridIVIndexSets = typename Traits::template GridIvIndexSets<ThisType> |
export the grid interaction volume index set type
using Dumux::CCMpfaFVGridGeometry< GV, Traits, false >::GridView = GV |
export the grid view type
using Dumux::CCMpfaFVGridGeometry< GV, Traits, false >::LocalView = typename Traits::template LocalView<ThisType, false> |
export the type of the fv element geometry (the local view type)
using Dumux::CCMpfaFVGridGeometry< GV, Traits, false >::MpfaHelper = typename Traits::template MpfaHelper<ThisType> |
export the mpfa helper type
using Dumux::CCMpfaFVGridGeometry< GV, Traits, false >::SecondaryIvIndicatorType = std::function<bool(const Element&, const Intersection&, bool)> |
export the type to be used for indicators where to use the secondary ivs
using Dumux::CCMpfaFVGridGeometry< GV, Traits, false >::SubControlVolume = typename Traits::SubControlVolume |
export the type of sub control volume
using Dumux::CCMpfaFVGridGeometry< GV, Traits, false >::SubControlVolumeFace = typename Traits::SubControlVolumeFace |
export the type of sub control volume
|
inherited |
export the vertex mapper type
|
inline |
Constructor without indicator function for secondary interaction volumes Per default, we use the secondary IVs at branching points & boundaries
|
inline |
Constructor with user-defined indicator function for secondary interaction volumes.
|
inlineinherited |
The coordinate of the corner of the GridView's bounding box with the largest values.
|
inlineinherited |
The coordinate of the corner of the GridView's bounding box with the smallest values.
|
inlineinherited |
Returns the bounding box tree of the grid.
|
inline |
Returns the connectivity map of which dofs have derivatives with respect to a given dof.
|
inline |
the element mapper is the dofMapper this is convenience to have better chance to have the same main files for box/tpfa/mpfa...
|
inlineinherited |
Get an element from a global element index.
|
inlineinherited |
Returns the element index to element map.
|
inlineinherited |
Returns the mapper for elements to indices for possibly adaptive grids.
|
inlineinherited |
Returns the mapper for elements to indices for constant grids.
|
inline |
Get the index scvf on the same face but from the other side Note that e.g. the normals might be different in the case of surface grids
|
inline |
Returns the flip scvf index set.
|
inline |
Returns the grid interaction volume seeds class.
|
inlineinherited |
Return the gridView this grid geometry object lives on.
|
inline |
Returns true if a given vertex lies on a processor boundary inside a ghost element.
|
inline |
Returns true if the vertex (index) lies on a processor boundary inside a ghost element.
|
inlineinherited |
Returns if the grid geometry is periodic (at all)
|
inline |
Returns instance of the mpfa helper type.
|
inline |
Returns the neighboring vol var indices for each scvf contained in an scv.
|
inline |
Returns the number of scvfs on the domain boundary.
|
inline |
Returns the total number of degrees of freedom.
|
inline |
Returns the total number of sub control volumes.
|
inline |
Returns the total number of sub control volume faces.
|
inline |
Returns the sub control volume face indices of an scv by global index.
|
inlineprotectedinherited |
Set the periodicity of the grid geometry.
|
inline |
update all fvElementGeometries (call this after grid adaption)
|
inline |
update all fvElementGeometries (call this after grid adaption)
|
inlineinherited |
Returns the mapper for vertices to indices for possibly adaptive grids.
|
inlineinherited |
Returns the mapper for vertices to indices for constant grids.
|
inline |
Returns true if secondary interaction volumes are used around a given vertex (index). This specialization is enabled if the use of secondary interaction volumes is active.
|
inlineconstexpr |
Returns true if secondary interaction volumes are used around a given vertex (index). If the use of secondary interaction volumes is disabled, this can be evaluated at compile time.
|
staticconstexpr |
|
staticconstexpr |
State if only a single type is used for interaction volumes.
|
staticconstexpr |
The maximum admissible stencil size (used for static memory allocation during assembly)