3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
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 >:
Inheritance graph

Description

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

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

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

state the traits type publicly

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

Sets up the local scope for a given iv index set.

◆ bind() [2/2]

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

Prepares everything for the assembly.

◆ computeScvGeometry()

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

returns the geometry of the i-th local scv

◆ 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

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

◆ element() [2/2]

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

returns the grid element corresponding to a given iv-local scv idx

◆ getScvGeometry()

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

returns the geometry of the i-th local scv

◆ localFaceData()

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

returns a reference to the container with the local face data

◆ localScv() [1/2]

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

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

◆ localScv() [2/2]

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

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

◆ localScvf() [1/2]

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

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

◆ localScvf() [2/2]

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

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

◆ numFaces() [1/2]

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

returns the number of primary scvfs of this interaction volume

◆ numFaces() [2/2]

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

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

◆ numIVAtVertex() [1/2]

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

returns the number of interaction volumes living around a vertex

◆ numIVAtVertex() [2/2]

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

returns the number of interaction volumes living around a vertex

◆ numKnowns() [1/2]

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

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

◆ numKnowns() [2/2]

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

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

◆ numScvs() [1/2]

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

returns the number of scvs embedded in this interaction volume

◆ numScvs() [2/2]

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

returns the number of scvs embedded in this interaction volume

◆ numUnknowns() [1/2]

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

returns the number of intermediate unknowns within this interaction volume

◆ numUnknowns() [2/2]

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

returns the number of intermediate unknowns within this interaction volume

◆ stencil()

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

returns the cell-stencil of this interaction volume

Member Data Documentation

◆ MpfaMethod

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

publicly state the mpfa-scheme this interaction volume is associated with


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