version 3.9.0
Loading...
Searching...
No Matches
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.
 
using Traits
 state the traits type publicly
 

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.
 
std::size_t numFaces () const
 returns the number of primary scvfs of this interaction volume
 
std::size_t numUnknowns () const
 returns the number of intermediate unknowns within this interaction volume
 
std::size_t numKnowns () const
 returns the number of (in this context) known solution values within this interaction volume
 
std::size_t numScvs () const
 returns the number of scvs embedded in this interaction volume
 
const Stencil & stencil () const
 returns the cell-stencil of this interaction volume
 
const Element & element (LocalIndexType ivLocalScvIdx) const
 returns the grid element corresponding to a given iv-local scv idx
 
const LocalScvfType & localScvf (LocalIndexType ivLocalScvfIdx) const
 returns the local scvf entity corresponding to a given iv-local scvf idx
 
const LocalScvType & localScv (LocalIndexType ivLocalScvIdx) const
 returns the local scv entity corresponding to a given iv-local scv idx
 
const std::vector< LocalFaceData > & localFaceData () const
 returns a reference to the container with the local face data
 
const std::vector< DirichletData > & dirichletData () const
 returns a reference to the information container on Dirichlet BCs within this iv
 
const std::vector< InteriorBoundaryData > & interiorBoundaryData () const
 returns a reference to the data container on interior boundaries
 
template<class FVElementGeometry >
auto getScvGeometry (LocalIndexType ivLocalScvIdx, const FVElementGeometry &fvGeometry) const
 returns the geometry of the i-th local scv
 
void bind (const typename Traits::IndexSet &indexSet, const Problem &problem, const FVElementGeometry &fvGeometry)
 Prepares everything for the assembly.
 
ScvGeometry computeScvGeometry (LocalIndexType ivLocalScvIdx, const FVElementGeometry &fvGeometry)
 returns the geometry of the i-th local scv
 
const LocalScvfType & localScvf (LocalIndexType ivLocalScvfIdx) const
 returns the local scvf entity corresponding to a given iv-local scvf idx
 
const LocalScvType & localScv (LocalIndexType ivLocalScvIdx) const
 returns the local scv entity corresponding to a given iv-local scv idx
 
const Element & element (LocalIndexType ivLocalScvIdx) const
 returns the element in which the scv with the given local idx is embedded in
 

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
 
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
 

Static Public Attributes

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

Member Typedef Documentation

◆ DirichletData

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

◆ Traits

using Dumux::CCMpfaInteractionVolumeBase< 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]

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

◆ bind() [2/2]

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

◆ 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]

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

◆ numIVAtVertex() [2/2]

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

◆ 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


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