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

Forward declaration of the facet coupling MPFA-O interaction volume. More...

#include <dumux/multidomain/facet/cellcentered/mpfa/interactionvolume.hh>

Inheritance diagram for Dumux::CCMpfaOFacetCouplingInteractionVolume< Traits >:

Description

template<class Traits>
class Dumux::CCMpfaOFacetCouplingInteractionVolume< Traits >

Class for the interaction volume of the mpfa-o scheme in the context of models involving coupling to a lower-dimensional domain across the element facets.

Classes

class  InteriorBoundaryData
 Define data structure to store which scvfs lie on interior boundaries. More...
 

Public Types

using DirichletData = typename CCMpfaOInteractionVolume< Traits >::DirichletData
 Reuse standard o-scheme's Dirichlet Data class. More...
 
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...
 
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...
 
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::vector< LocalFaceData > & localFaceData () const
 returns a reference to the container with the local face data More...
 
const std::vector< DirichletData > & dirichletData () const
 returns a reference to the information container on Dirichlet BCs within this iv More...
 
const std::vector< InteriorBoundaryData > & interiorBoundaryData () const
 returns a reference to the data container on interior boundaries More...
 
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...
 
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

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

◆ DirichletData

template<class Traits >
using Dumux::CCMpfaOFacetCouplingInteractionVolume< Traits >::DirichletData = typename CCMpfaOInteractionVolume<Traits>::DirichletData

◆ 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::CCMpfaOFacetCouplingInteractionVolume< 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::CCMpfaOFacetCouplingInteractionVolume< 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::vector< DirichletData > & Dumux::CCMpfaOFacetCouplingInteractionVolume< Traits >::dirichletData ( ) const
inline

◆ element() [1/2]

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

◆ element() [2/2]

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

◆ getScvGeometry()

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

◆ interiorBoundaryData()

template<class Traits >
const std::vector< InteriorBoundaryData > & Dumux::CCMpfaOFacetCouplingInteractionVolume< Traits >::interiorBoundaryData ( ) const
inline

◆ localFaceData()

template<class Traits >
const std::vector< LocalFaceData > & Dumux::CCMpfaOFacetCouplingInteractionVolume< 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::CCMpfaOFacetCouplingInteractionVolume< 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::CCMpfaOFacetCouplingInteractionVolume< Traits >::localScvf ( LocalIndexType  ivLocalScvfIdx) const
inline

◆ numFaces()

template<class Traits >
std::size_t Dumux::CCMpfaOFacetCouplingInteractionVolume< Traits >::numFaces ( ) const
inline

◆ numIVAtVertex() [1/2]

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

◆ numIVAtVertex() [2/2]

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

◆ numKnowns()

template<class Traits >
std::size_t Dumux::CCMpfaOFacetCouplingInteractionVolume< Traits >::numKnowns ( ) const
inline

◆ numScvs()

template<class Traits >
std::size_t Dumux::CCMpfaOFacetCouplingInteractionVolume< Traits >::numScvs ( ) const
inline

◆ numUnknowns()

template<class Traits >
std::size_t Dumux::CCMpfaOFacetCouplingInteractionVolume< Traits >::numUnknowns ( ) const
inline

◆ stencil()

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

Member Data Documentation

◆ MpfaMethod

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

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