version 3.9-dev
Dumux::CCMpfaOStaticInteractionVolume< Traits > Class Template Reference

Forward declaration of the o-method's static interaction volume. More...

#include <dumux/discretization/cellcentered/mpfa/omethod/staticinteractionvolume.hh>

Inheritance diagram for Dumux::CCMpfaOStaticInteractionVolume< Traits >:

Description

template<class Traits>
class Dumux::CCMpfaOStaticInteractionVolume< Traits >

Class for the interaction volume of the mpfa-o method. This implementation creates static objects of the local geometries and can only be used for interior interaction volumes with a static size known at compile time. This size has to match the sizes of the vectors/matrices defined in the traits class in case static types are used.

Template Parameters
TraitsThe type traits class to be used

Classes

struct  DirichletData
 This does not work on surface grids. More...
 

Public Types

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

Public Member Functions

template<class Problem , class FVElementGeometry >
void bind (const IndexSet &indexSet, const Problem &problem, const FVElementGeometry &fvGeometry)
 Sets up the local scope for a given iv index set. More...
 
const Stencil & stencil () const
 returns the cell-stencil of this interaction volume More...
 
const Element & element (LocalIndexType ivLocalScvIdx) const
 returns the grid element corresponding to a given iv-local scv idx 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 std::array< LocalFaceData, numScvf *2 > & localFaceData () const
 returns a reference to the container with the local face data More...
 
const std::array< DirichletData, 0 > & dirichletData () const
 
template<class FVElementGeometry >
auto getScvGeometry (LocalIndexType ivLocalScvIdx, const FVElementGeometry &fvGeometry) const
 returns the geometry of the i-th local scv More...
 
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...
 
ScvGeometry computeScvGeometry (LocalIndexType ivLocalScvIdx, const FVElementGeometry &fvGeometry)
 returns the geometry of the i-th local scv 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

static constexpr std::size_t numFaces ()
 returns the number of primary scvfs of this interaction volume More...
 
static constexpr std::size_t numUnknowns ()
 returns the number of intermediate unknowns within this interaction volume More...
 
static constexpr std::size_t numKnowns ()
 returns the number of (in this context) known solution values within this interaction volume More...
 
static constexpr std::size_t numScvs ()
 returns the number of scvs embedded in this interaction volume More...
 
template<class NI >
static constexpr std::size_t numIVAtVertex (const NI &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)
 
static std::size_t numIVAtVertex (const NodalIndexSet &nodalIndexSet)
 returns the number of interaction volumes living around a vertex More...
 

Static Public Attributes

static constexpr MpfaMethods MpfaMethod = MpfaMethods::oMethod
 publicly state the mpfa-scheme this interaction volume is associated with More...
 

Member Typedef Documentation

◆ Traits

using Dumux::CCMpfaInteractionVolumeBase< Traits >::Traits = Traits
inherited

Member Function Documentation

◆ addIVIndexSets()

template<class Traits >
template<class IvIndexSetContainer , class ScvfIndexMap , class NodalIndexSet , class FlipScvfIndexSet >
static void Dumux::CCMpfaOStaticInteractionVolume< Traits >::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() [1/2]

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

◆ bind() [2/2]

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

◆ computeScvGeometry()

ScvGeometry Dumux::CCMpfaInteractionVolumeBase< Traits >::computeScvGeometry ( LocalIndexType  ivLocalScvIdx,
const FVElementGeometry &  fvGeometry 
)
inlineinherited

◆ dirichletData()

template<class Traits >
const std::array< DirichletData, 0 > & Dumux::CCMpfaOStaticInteractionVolume< Traits >::dirichletData ( ) const
inline

Returns a reference to the information container on Dirichlet BCs within this iv. Here, we return an empty container as this implementation cannot be used on boundaries.

◆ element() [1/2]

const Element & Dumux::CCMpfaInteractionVolumeBase< Traits >::element ( LocalIndexType  ivLocalScvIdx) const
inlineinherited

◆ element() [2/2]

template<class Traits >
const Element & Dumux::CCMpfaOStaticInteractionVolume< Traits >::element ( LocalIndexType  ivLocalScvIdx) const
inline

◆ getScvGeometry()

template<class Traits >
template<class FVElementGeometry >
auto Dumux::CCMpfaOStaticInteractionVolume< Traits >::getScvGeometry ( LocalIndexType  ivLocalScvIdx,
const FVElementGeometry &  fvGeometry 
) const
inline

◆ localFaceData()

template<class Traits >
const std::array< LocalFaceData, numScvf *2 > & Dumux::CCMpfaOStaticInteractionVolume< Traits >::localFaceData ( ) const
inline

◆ localScv() [1/2]

const LocalScvType & Dumux::CCMpfaInteractionVolumeBase< Traits >::localScv ( LocalIndexType  ivLocalScvIdx) const
inlineinherited

◆ localScv() [2/2]

template<class Traits >
const LocalScvType & Dumux::CCMpfaOStaticInteractionVolume< Traits >::localScv ( LocalIndexType  ivLocalScvIdx) const
inline

◆ localScvf() [1/2]

const LocalScvfType & Dumux::CCMpfaInteractionVolumeBase< Traits >::localScvf ( LocalIndexType  ivLocalScvfIdx) const
inlineinherited

◆ localScvf() [2/2]

template<class Traits >
const LocalScvfType & Dumux::CCMpfaOStaticInteractionVolume< Traits >::localScvf ( LocalIndexType  ivLocalScvfIdx) const
inline

◆ numFaces() [1/2]

template<class Traits >
static constexpr std::size_t Dumux::CCMpfaOStaticInteractionVolume< Traits >::numFaces ( )
inlinestaticconstexpr

◆ numFaces() [2/2]

std::size_t Dumux::CCMpfaInteractionVolumeBase< Traits >::numFaces ( ) const
inlineinherited

◆ numIVAtVertex() [1/2]

template<class Traits >
template<class NI >
static constexpr std::size_t Dumux::CCMpfaOStaticInteractionVolume< Traits >::numIVAtVertex ( const NI &  nodalIndexSet)
inlinestaticconstexpr

◆ numIVAtVertex() [2/2]

static std::size_t Dumux::CCMpfaInteractionVolumeBase< Traits >::numIVAtVertex ( const NodalIndexSet &  nodalIndexSet)
inlinestaticinherited

◆ numKnowns() [1/2]

template<class Traits >
static constexpr std::size_t Dumux::CCMpfaOStaticInteractionVolume< Traits >::numKnowns ( )
inlinestaticconstexpr

◆ numKnowns() [2/2]

std::size_t Dumux::CCMpfaInteractionVolumeBase< Traits >::numKnowns ( ) const
inlineinherited

◆ numScvs() [1/2]

template<class Traits >
static constexpr std::size_t Dumux::CCMpfaOStaticInteractionVolume< Traits >::numScvs ( )
inlinestaticconstexpr

◆ numScvs() [2/2]

std::size_t Dumux::CCMpfaInteractionVolumeBase< Traits >::numScvs ( ) const
inlineinherited

◆ numUnknowns() [1/2]

template<class Traits >
static constexpr std::size_t Dumux::CCMpfaOStaticInteractionVolume< Traits >::numUnknowns ( )
inlinestaticconstexpr

◆ numUnknowns() [2/2]

std::size_t Dumux::CCMpfaInteractionVolumeBase< Traits >::numUnknowns ( ) const
inlineinherited

◆ stencil()

template<class Traits >
const Stencil & Dumux::CCMpfaOStaticInteractionVolume< Traits >::stencil ( ) const
inline

Member Data Documentation

◆ MpfaMethod

template<class Traits >
constexpr MpfaMethods Dumux::CCMpfaOStaticInteractionVolume< Traits >::MpfaMethod = MpfaMethods::oMethod
staticconstexpr

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