version 3.9-dev
Dumux::CCMpfaElementFluxVariablesCache< GFVC, false > Class Template Reference

The flux variables caches for an element with caching disabled.

#include <dumux/discretization/cellcentered/mpfa/elementfluxvariablescache.hh>

Public Types

using PrimaryInteractionVolume = typename GFVC::PrimaryInteractionVolume
 export the interaction volume types More...
 
using SecondaryInteractionVolume = typename GFVC::SecondaryInteractionVolume
 
using PrimaryIvDataHandle = typename GFVC::PrimaryIvDataHandle
 export the data handle types used More...
 
using SecondaryIvDataHandle = typename GFVC::SecondaryIvDataHandle
 
using FluxVariablesCache = typename GFVC::FluxVariablesCache
 export the flux variable cache type More...
 
using GridFluxVariablesCache = GFVC
 export the type of the grid flux variables More...
 

Public Member Functions

 CCMpfaElementFluxVariablesCache (const GridFluxVariablesCache &global)
 
template<class FVElementGeometry , class ElementVolumeVariables >
void bindElement (const typename FVElementGeometry::GridGeometry::GridView::template Codim< 0 >::Entity &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars) &
 Prepares the transmissibilities of the scv faces in an element. More...
 
template<class FVElementGeometry , class ElementVolumeVariables >
CCMpfaElementFluxVariablesCache bindElement (const typename FVElementGeometry::GridGeometry::GridView::template Codim< 0 >::Entity &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars) &&
 bind the local view (r-value overload) This overload is called when an instance of this class is a temporary in the usage context This allows a usage like this: const auto view = localView(...).bind(element); More...
 
template<class FVElementGeometry , class ElementVolumeVariables >
void bind (const typename FVElementGeometry::GridGeometry::GridView::template Codim< 0 >::Entity &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars) &
 Prepares the transmissibilities of the scv faces in the stencil of an element. More...
 
template<class FVElementGeometry , class ElementVolumeVariables >
CCMpfaElementFluxVariablesCache bind (const typename FVElementGeometry::GridGeometry::GridView::template Codim< 0 >::Entity &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars) &&
 bind the local view (r-value overload) This overload is called when an instance of this class is a temporary in the usage context This allows a usage like this: const auto view = localView(...).bind(element); More...
 
template<class FVElementGeometry , class ElementVolumeVariables >
void bindScvf (const typename FVElementGeometry::GridGeometry::GridView::template Codim< 0 >::Entity &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const typename FVElementGeometry::SubControlVolumeFace &scvf) &
 Prepares the transmissibilities of a single scv face. More...
 
template<class FVElementGeometry , class ElementVolumeVariables >
CCMpfaElementFluxVariablesCache bindScvf (const typename FVElementGeometry::GridGeometry::GridView::template Codim< 0 >::Entity &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const typename FVElementGeometry::SubControlVolumeFace &scvf) &&
 bind the local view (r-value overload) This overload is called when an instance of this class is a temporary in the usage context This allows a usage like this: const auto view = localView(...).bind(element); More...
 
template<class FVElementGeometry , class ElementVolumeVariables >
void update (const typename FVElementGeometry::GridGeometry::GridView::template Codim< 0 >::Entity &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars)
 Update the transmissibilities if the volume variables have changed. More...
 
template<class SubControlVolumeFace , typename std::enable_if_t<!std::is_integral< SubControlVolumeFace >::value, int > = 0>
const FluxVariablesCacheoperator[] (const SubControlVolumeFace &scvf) const
 access operators in the case of no caching More...
 
const FluxVariablesCacheoperator[] (const std::size_t scvfIdx) const
 access operators in the case of no caching More...
 
template<class SubControlVolumeFace , typename std::enable_if_t<!std::is_integral< SubControlVolumeFace >::value, int > = 0>
FluxVariablesCacheoperator[] (const SubControlVolumeFace &scvf)
 access operators in the case of no caching More...
 
FluxVariablesCacheoperator[] (const std::size_t scvfIdx)
 access operators in the case of no caching More...
 
template<class SubControlVolumeFace >
const PrimaryInteractionVolumeprimaryInteractionVolume (const SubControlVolumeFace &scvf) const
 access to the interaction volume an scvf is embedded in More...
 
template<class SubControlVolumeFace >
const PrimaryIvDataHandleprimaryDataHandle (const SubControlVolumeFace &scvf) const
 access to the data handle of an interaction volume an scvf is embedded in More...
 
template<class SubControlVolumeFace >
const SecondaryInteractionVolumesecondaryInteractionVolume (const SubControlVolumeFace &scvf) const
 access to the interaction volume an scvf is embedded in More...
 
template<class SubControlVolumeFace >
const SecondaryIvDataHandlesecondaryDataHandle (const SubControlVolumeFace &scvf) const
 access to the data handle of an interaction volume an scvf is embedded in More...
 
const GridFluxVariablesCachegridFluxVarsCache () const
 The global object we are a restriction of. More...
 

Static Public Attributes

static constexpr bool cachingEnabled = false
 make it possible to query if caching is enabled More...
 

Member Typedef Documentation

◆ FluxVariablesCache

template<class GFVC >
using Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::FluxVariablesCache = typename GFVC::FluxVariablesCache

◆ GridFluxVariablesCache

template<class GFVC >
using Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::GridFluxVariablesCache = GFVC

◆ PrimaryInteractionVolume

template<class GFVC >
using Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::PrimaryInteractionVolume = typename GFVC::PrimaryInteractionVolume

◆ PrimaryIvDataHandle

template<class GFVC >
using Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::PrimaryIvDataHandle = typename GFVC::PrimaryIvDataHandle

◆ SecondaryInteractionVolume

template<class GFVC >
using Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::SecondaryInteractionVolume = typename GFVC::SecondaryInteractionVolume

◆ SecondaryIvDataHandle

template<class GFVC >
using Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::SecondaryIvDataHandle = typename GFVC::SecondaryIvDataHandle

Constructor & Destructor Documentation

◆ CCMpfaElementFluxVariablesCache()

template<class GFVC >
Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::CCMpfaElementFluxVariablesCache ( const GridFluxVariablesCache global)
inline

Member Function Documentation

◆ bind() [1/2]

template<class GFVC >
template<class FVElementGeometry , class ElementVolumeVariables >
void Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::bind ( const typename FVElementGeometry::GridGeometry::GridView::template Codim< 0 >::Entity &  element,
const FVElementGeometry &  fvGeometry,
const ElementVolumeVariables &  elemVolVars 
) &
inline
Note
the fvGeometry is assumed to be bound to the same element
this function has to be called prior to flux calculations on the element.

◆ bind() [2/2]

template<class GFVC >
template<class FVElementGeometry , class ElementVolumeVariables >
CCMpfaElementFluxVariablesCache Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::bind ( const typename FVElementGeometry::GridGeometry::GridView::template Codim< 0 >::Entity &  element,
const FVElementGeometry &  fvGeometry,
const ElementVolumeVariables &  elemVolVars 
) &&
inline

◆ bindElement() [1/2]

template<class GFVC >
template<class FVElementGeometry , class ElementVolumeVariables >
void Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::bindElement ( const typename FVElementGeometry::GridGeometry::GridView::template Codim< 0 >::Entity &  element,
const FVElementGeometry &  fvGeometry,
const ElementVolumeVariables &  elemVolVars 
) &
inline
Note
the fvGeometry is assumed to be bound to the same element
this function has to be called prior to flux calculations on the element.

◆ bindElement() [2/2]

template<class GFVC >
template<class FVElementGeometry , class ElementVolumeVariables >
CCMpfaElementFluxVariablesCache Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::bindElement ( const typename FVElementGeometry::GridGeometry::GridView::template Codim< 0 >::Entity &  element,
const FVElementGeometry &  fvGeometry,
const ElementVolumeVariables &  elemVolVars 
) &&
inline

◆ bindScvf() [1/2]

template<class GFVC >
template<class FVElementGeometry , class ElementVolumeVariables >
void Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::bindScvf ( const typename FVElementGeometry::GridGeometry::GridView::template Codim< 0 >::Entity &  element,
const FVElementGeometry &  fvGeometry,
const ElementVolumeVariables &  elemVolVars,
const typename FVElementGeometry::SubControlVolumeFace &  scvf 
) &
inline
Note
the fvGeometry is assumed to be bound to the same element
this function has to be called prior to flux calculations on this scvf.

◆ bindScvf() [2/2]

template<class GFVC >
template<class FVElementGeometry , class ElementVolumeVariables >
CCMpfaElementFluxVariablesCache Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::bindScvf ( const typename FVElementGeometry::GridGeometry::GridView::template Codim< 0 >::Entity &  element,
const FVElementGeometry &  fvGeometry,
const ElementVolumeVariables &  elemVolVars,
const typename FVElementGeometry::SubControlVolumeFace &  scvf 
) &&
inline

◆ gridFluxVarsCache()

template<class GFVC >
const GridFluxVariablesCache & Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::gridFluxVarsCache ( ) const
inline

◆ operator[]() [1/4]

template<class GFVC >
FluxVariablesCache & Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::operator[] ( const std::size_t  scvfIdx)
inline

◆ operator[]() [2/4]

template<class GFVC >
const FluxVariablesCache & Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::operator[] ( const std::size_t  scvfIdx) const
inline

◆ operator[]() [3/4]

template<class GFVC >
template<class SubControlVolumeFace , typename std::enable_if_t<!std::is_integral< SubControlVolumeFace >::value, int > = 0>
FluxVariablesCache & Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::operator[] ( const SubControlVolumeFace &  scvf)
inline

◆ operator[]() [4/4]

template<class GFVC >
template<class SubControlVolumeFace , typename std::enable_if_t<!std::is_integral< SubControlVolumeFace >::value, int > = 0>
const FluxVariablesCache & Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::operator[] ( const SubControlVolumeFace &  scvf) const
inline

◆ primaryDataHandle()

template<class GFVC >
template<class SubControlVolumeFace >
const PrimaryIvDataHandle & Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::primaryDataHandle ( const SubControlVolumeFace &  scvf) const
inline

◆ primaryInteractionVolume()

template<class GFVC >
template<class SubControlVolumeFace >
const PrimaryInteractionVolume & Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::primaryInteractionVolume ( const SubControlVolumeFace &  scvf) const
inline

◆ secondaryDataHandle()

template<class GFVC >
template<class SubControlVolumeFace >
const SecondaryIvDataHandle & Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::secondaryDataHandle ( const SubControlVolumeFace &  scvf) const
inline

◆ secondaryInteractionVolume()

template<class GFVC >
template<class SubControlVolumeFace >
const SecondaryInteractionVolume & Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::secondaryInteractionVolume ( const SubControlVolumeFace &  scvf) const
inline

◆ update()

template<class GFVC >
template<class FVElementGeometry , class ElementVolumeVariables >
void Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::update ( const typename FVElementGeometry::GridGeometry::GridView::template Codim< 0 >::Entity &  element,
const FVElementGeometry &  fvGeometry,
const ElementVolumeVariables &  elemVolVars 
)
inline
Note
Results in undefined behaviour if called before bind() or with a different element

Member Data Documentation

◆ cachingEnabled

template<class GFVC >
constexpr bool Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >::cachingEnabled = false
staticconstexpr

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