3.5-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | Static Public Attributes | List of all members
Dumux::CCMpfaElementFluxVariablesCache< GFVC, false > Class Template Reference

The flux variables caches for an element with caching disabled. More...

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

Description

template<class GFVC>
class Dumux::CCMpfaElementFluxVariablesCache< GFVC, false >

The flux variables caches for an element with caching disabled.

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

export the flux variable cache type

◆ GridFluxVariablesCache

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

export the type of the grid flux variables

◆ PrimaryInteractionVolume

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

export the interaction volume types

◆ PrimaryIvDataHandle

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

export the data handle types used

◆ 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

Prepares the transmissibilities of the scv faces in the stencil of an element.

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

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

◆ 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

Prepares the transmissibilities of the scv faces in an element.

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

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

◆ 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

Prepares the transmissibilities of a single scv face.

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

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

◆ gridFluxVarsCache()

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

The global object we are a restriction of.

◆ operator[]() [1/4]

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

access operators in the case of no caching

◆ operator[]() [2/4]

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

access operators in the case of no caching

◆ 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

access operators in the case of no caching

◆ 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

access operators in the case of no caching

◆ primaryDataHandle()

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

access to the data handle of an interaction volume an scvf is embedded in

◆ primaryInteractionVolume()

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

access to the interaction volume an scvf is embedded in

◆ secondaryDataHandle()

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

access to the data handle of an interaction volume an scvf is embedded in

◆ secondaryInteractionVolume()

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

access to the interaction volume an scvf is embedded in

◆ 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

Update the transmissibilities if the volume variables have changed.

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

make it possible to query if caching is enabled


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