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, true > |
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 | 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 | Grid = typename GV::Grid |
export the grid type More... | |
using | GlobalCoordinate = typename Element::Geometry::GlobalCoordinate |
export the global coordinate type More... | |
using | ElementMapper = typename Traits::ElementMapper |
export the element mapper type More... | |
using | VertexMapper = typename Traits::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 |
The total number of sub control volumes. More... | |
std::size_t | numScvf () const |
The total number of sub control volume faces. More... | |
std::size_t | numBoundaryScvf () const |
The total number of boundary sub control volume faces. More... | |
std::size_t | numDofs () const |
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 |
void | update () |
update all fvElementGeometries (do this again after grid adaption) More... | |
MpfaHelper | mpfaHelper () const |
Returns instance of the mpfa helper type. More... | |
const SubControlVolume & | scv (GridIndexType scvIdx) const |
Get a sub control volume with a global scv index. More... | |
const SubControlVolumeFace & | scvf (GridIndexType scvfIdx) const |
Get a sub control volume face with a global scvf index. More... | |
const ConnectivityMap & | connectivityMap () const |
const GridIVIndexSets & | gridInteractionVolumeIndexSets () const |
Returns the grid interaction volume index set class. More... | |
const std::vector< GridIndexType > & | scvfIndicesOfScv (GridIndexType scvIdx) const |
Get the sub control volume face indices of an scv by global index. More... | |
const FlipScvfIndexSet & | flipScvfIndexSet () const |
Returns the flip scvf index set. More... | |
const SubControlVolumeFace & | flipScvf (GridIndexType scvfIdx, unsigned int outsideScvfIdx=0) const |
bool | hasBoundaryScvf (GridIndexType eIdx) const |
Returns whether one of the geometry's scvfs lies on a boundary. 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... | |
const BoundingBoxTree & | boundingBoxTree () const |
Returns the bounding box tree of the grid. More... | |
const ElementMap & | elementMap () const |
Returns the element index to element map. More... | |
template<class Scv , std::enable_if_t<!std::is_arithmetic< Scv >::value, int > = 0> | |
Element | element (const Scv &scv) const |
Get an element from a sub-control volume. 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... | |
void | setPeriodic (bool value=true) |
Set the periodicity of the grid geometry. More... | |
Static Public Attributes | |
static constexpr DiscretizationMethod | discMethod = DiscretizationMethod::ccmpfa |
export the discretization method this geometry belongs to More... | |
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... | |
using Dumux::CCMpfaFVGridGeometry< GV, Traits, true >::ConnectivityMap = typename Traits::template ConnectivityMap<ThisType> |
export the connectivity map type
using Dumux::CCMpfaFVGridGeometry< GV, Traits, true >::DofMapper = typename Traits::ElementMapper |
export dof mapper type
|
inherited |
export the element mapper type
using Dumux::CCMpfaFVGridGeometry< GV, Traits, true >::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, true >::GridIVIndexSets = typename Traits::template GridIvIndexSets<ThisType> |
export the grid interaction volume index set type
using Dumux::CCMpfaFVGridGeometry< GV, Traits, true >::GridView = GV |
export the grid view type
using Dumux::CCMpfaFVGridGeometry< GV, Traits, true >::LocalView = typename Traits::template LocalView<ThisType, true> |
export the type of the fv element geometry (the local view type)
using Dumux::CCMpfaFVGridGeometry< GV, Traits, true >::MpfaHelper = typename Traits::template MpfaHelper<ThisType> |
export the mpfa helper type
using Dumux::CCMpfaFVGridGeometry< GV, Traits, true >::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, true >::SubControlVolume = typename Traits::SubControlVolume |
export the type of sub control volume
using Dumux::CCMpfaFVGridGeometry< GV, Traits, true >::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 sub-control volume.
|
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 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 index set class.
|
inlineinherited |
Return the gridView this grid geometry object lives on.
|
inline |
Returns whether one of the geometry's scvfs lies on a boundary.
|
inlineinherited |
Returns if the grid geometry is periodic (at all)
|
inline |
Returns instance of the mpfa helper type.
|
inline |
The total number of boundary sub control volume faces.
|
inline |
The total number of degrees of freedom.
|
inline |
The total number of sub control volumes.
|
inline |
The total number of sub control volume faces.
|
inline |
Get a sub control volume with a global scv index.
|
inline |
Get a sub control volume face with a global scvf index.
|
inline |
Get the sub control volume face indices of an scv by global index.
|
inlineinherited |
Set the periodicity of the grid geometry.
|
inline |
update all fvElementGeometries (do this again 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 |
export the discretization method this geometry belongs to
|
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)