version 3.9-dev
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 >
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

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

◆ computeScvGeometry()

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

◆ element()

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

◆ 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

◆ localScvf()

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

◆ numFaces()

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

◆ numIVAtVertex()

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

◆ numKnowns()

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

◆ numScvs()

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

◆ numUnknowns()

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

◆ stencil()

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

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