3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Dumux::CCMpfaInteractionVolumeBase< T > Class Template Reference

Base class for the interaction volumes of mpfa methods. It defines the interface and actual implementations should derive from this class. More...

#include <dumux/discretization/cellcentered/mpfa/interactionvolumebase.hh>

Inheritance diagram for Dumux::CCMpfaInteractionVolumeBase< T >:

Description

template<class T>
class Dumux::CCMpfaInteractionVolumeBase< T >

Base class for the interaction volumes of mpfa methods. It defines the interface and actual implementations should derive from this class.

Template Parameters
TThe traits class to be used

Public Types

using Traits = T
 state the traits type publicly More...
 

Public Member Functions

template<class Problem , class FVElementGeometry >
void bind (const typename Traits::IndexSet &indexSet, const Problem &problem, const FVElementGeometry &fvGeometry)
 Prepares everything for the assembly. More...
 
std::size_t numFaces () const
 returns the number of "primary" scvfs of this interaction volume More...
 
std::size_t numUnknowns () const
 returns the number of intermediate unknowns within this interaction volume More...
 
std::size_t numKnowns () const
 returns the number of (in this context) known solution values within this interaction volume More...
 
std::size_t numScvs () const
 returns the number of scvs embedded in this interaction volume More...
 
template<class FVElementGeometry >
ScvGeometry computeScvGeometry (LocalIndexType ivLocalScvIdx, const FVElementGeometry &fvGeometry)
 returns the geometry of the i-th local scv More...
 
const std::vector< typename Traits::LocalFaceData > & localFaceData () const
 
const NodalStencilType & stencil () const
 returns the cell-stencil of this interaction volume More...
 
const LocalScvfType & localScvf (LocalIndexType ivLocalScvfIdx) const
 returns the local scvf entity corresponding to a given iv-local scvf idx More...
 
const LocalScvType & localScv (LocalIndexType ivLocalScvIdx) const
 returns the local scv entity corresponding to a given iv-local scv idx More...
 
const Element & element (LocalIndexType ivLocalScvIdx) const
 returns the element in which the scv with the given local idx is embedded in More...
 

Static Public Member Functions

template<class NodalIndexSet >
static std::size_t numIVAtVertex (const NodalIndexSet &nodalIndexSet)
 returns the number of interaction volumes living around a vertex More...
 
template<class IvIndexSetContainer , class ScvfIndexMap , class NodalIndexSet , class FlipScvfIndexSet >
static void addIVIndexSets (IvIndexSetContainer &ivIndexSetContainer, ScvfIndexMap &scvfIndexMap, const NodalIndexSet &nodalIndexSet, const FlipScvfIndexSet &flipScvfIndexSet)
 

Member Typedef Documentation

◆ Traits

template<class T >
using Dumux::CCMpfaInteractionVolumeBase< T >::Traits = T

state the traits type publicly

Member Function Documentation

◆ addIVIndexSets()

template<class T >
template<class IvIndexSetContainer , class ScvfIndexMap , class NodalIndexSet , class FlipScvfIndexSet >
static void Dumux::CCMpfaInteractionVolumeBase< T >::addIVIndexSets ( IvIndexSetContainer &  ivIndexSetContainer,
ScvfIndexMap &  scvfIndexMap,
const NodalIndexSet &  nodalIndexSet,
const FlipScvfIndexSet &  flipScvfIndexSet 
)
inlinestatic

adds the iv index sets living around a vertex to a given container and stores the the corresponding index in a map for each scvf

◆ bind()

template<class T >
template<class Problem , class FVElementGeometry >
void Dumux::CCMpfaInteractionVolumeBase< T >::bind ( const typename Traits::IndexSet &  indexSet,
const Problem &  problem,
const FVElementGeometry &  fvGeometry 
)
inline

Prepares everything for the assembly.

◆ computeScvGeometry()

template<class T >
template<class FVElementGeometry >
ScvGeometry Dumux::CCMpfaInteractionVolumeBase< T >::computeScvGeometry ( LocalIndexType  ivLocalScvIdx,
const FVElementGeometry &  fvGeometry 
)
inline

returns the geometry of the i-th local scv

◆ element()

template<class T >
const Element & Dumux::CCMpfaInteractionVolumeBase< T >::element ( LocalIndexType  ivLocalScvIdx) const
inline

returns the element in which the scv with the given local idx is embedded in

◆ localFaceData()

template<class T >
const std::vector< typename Traits::LocalFaceData > & Dumux::CCMpfaInteractionVolumeBase< T >::localFaceData ( ) const
inline

Returns a reference to the container with the local face data. The actual type of the container depends on the interaction volume implementation. At this point we throw an exception and force the implementation to overload this function.

◆ localScv()

template<class T >
const LocalScvType & Dumux::CCMpfaInteractionVolumeBase< T >::localScv ( LocalIndexType  ivLocalScvIdx) const
inline

returns the local scv entity corresponding to a given iv-local scv idx

◆ localScvf()

template<class T >
const LocalScvfType & Dumux::CCMpfaInteractionVolumeBase< T >::localScvf ( LocalIndexType  ivLocalScvfIdx) const
inline

returns the local scvf entity corresponding to a given iv-local scvf idx

◆ numFaces()

template<class T >
std::size_t Dumux::CCMpfaInteractionVolumeBase< T >::numFaces ( ) const
inline

returns the number of "primary" scvfs of this interaction volume

◆ numIVAtVertex()

template<class T >
template<class NodalIndexSet >
static std::size_t Dumux::CCMpfaInteractionVolumeBase< T >::numIVAtVertex ( const NodalIndexSet &  nodalIndexSet)
inlinestatic

returns the number of interaction volumes living around a vertex

◆ numKnowns()

template<class T >
std::size_t Dumux::CCMpfaInteractionVolumeBase< T >::numKnowns ( ) const
inline

returns the number of (in this context) known solution values within this interaction volume

◆ numScvs()

template<class T >
std::size_t Dumux::CCMpfaInteractionVolumeBase< T >::numScvs ( ) const
inline

returns the number of scvs embedded in this interaction volume

◆ numUnknowns()

template<class T >
std::size_t Dumux::CCMpfaInteractionVolumeBase< T >::numUnknowns ( ) const
inline

returns the number of intermediate unknowns within this interaction volume

◆ stencil()

template<class T >
const NodalStencilType & Dumux::CCMpfaInteractionVolumeBase< T >::stencil ( ) const
inline

returns the cell-stencil of this interaction volume


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