A cell-centered finite volume scheme with multi-point flux approximation. More...
A cell-centered finite volume scheme with multi-point flux approximation.
Files | |
file | mpfa/computetransmissibility.hh |
This file contains free functions to evaluate the transmissibilities associated with flux evaluations across sub-control volume faces in the context of cell-centered Mpfa schemes. | |
file | cellcentered/mpfa/connectivitymap.hh |
Stores the face indices corresponding to the neighbors of an element that contribute to the derivative calculation. Depending on if an mpfa scheme leads to a symmetric/unsymmetric sparsity pattern, the adequate implementation of the connectiviy map is chosen. | |
file | dualgridindexset.hh |
Class for the index sets of the dual grid in mpfa schemes. | |
file | cellcentered/mpfa/elementfluxvariablescache.hh |
The element-local object of flux variables caches. | |
file | cellcentered/mpfa/elementvolumevariables.hh |
The local (stencil) volume variables class for cell centered mpfa models. | |
file | discretization/cellcentered/mpfa/fvelementgeometry.hh |
Stencil-local finite volume geometry (scvs and scvfs) for cell-centered mpfa models This builds up the sub control volumes and sub control volume faces for each element in the local scope we are restricting to, e.g. stencil or element. | |
file | discretization/cellcentered/mpfa/fvgridgeometry.hh |
The finite volume geometry (scvs and scvfs) for cell-centered mpfa models on a grid view This builds up the sub control volumes and sub control volume faces for each element of the grid partition. | |
file | cellcentered/mpfa/fvgridgeometrytraits.hh |
Traits class to be used in conjunction with the CCMpfaFVGridGeometry. | |
file | cellcentered/mpfa/gridfluxvariablescache.hh |
Flux variable caches on a gridview. | |
file | gridinteractionvolumeindexsets.hh |
Class for the grid interaction volume index sets of mpfa schemes. | |
file | cellcentered/mpfa/gridvolumevariables.hh |
The grid volume variables class for cell centered mpfa models. | |
file | helper.hh |
Helper class to get data required for mpfa scheme. | |
file | interactionvolumebase.hh |
Base class for interaction volumes of mpfa methods. | |
file | interactionvolumedatahandle.hh |
Data handle class for interaction volumes of mpfa methods. This class is passed to interaction volumes to store the necessary data in it. | |
file | localassemblerbase.hh |
Defines the general interface of classes used for the assembly of the local systems of equations involved in the transmissibility computation in mpfa schemes. | |
file | localassemblerhelper.hh |
A class that contains helper functions as well as functionality which is common to different mpfa schemes and which solely operate on the interaction volume. | |
file | localfacedata.hh |
Data structure holding interaction volume-local information for a grid subb-control volume face embedded in it. | |
file | methods.hh |
The available mpfa schemes in Dumux. | |
file | discretization/cellcentered/mpfa/omethod/interactionvolume.hh |
Class for the interaction volume of the mpfa-o scheme. | |
file | interactionvolumeindexset.hh |
Class for the index set within an interaction volume of the mpfa-o scheme. | |
file | discretization/cellcentered/mpfa/omethod/localassembler.hh |
Class for the assembly of the local systems of equations involved in the transmissibility computaion in an mpfa-o type manner. | |
file | discretization/cellcentered/mpfa/omethod/localsubcontrolentities.hh |
Classes for sub control entities of the mpfa-o method. | |
file | scvgeometryhelper.hh |
Helper class providing functionality to compute the geometry of the interaction-volume local sub-control volumes involved in the mpfa-o scheme. | |
file | staticinteractionvolume.hh |
Class for the interaction volume of the mpfa-o scheme to be used when the sizes are known at compile time, e.g. for non-boundary interaction volumes on structured grids. | |
file | scvgradients.hh |
Class roviding functionality for the reconstruction of the gradients in the sub-control volumes involved in mpfa schemes. | |
file | discretization/cellcentered/mpfa/subcontrolvolumeface.hh |
The sub control volume face. | |
Classes | |
struct | Dumux::NodalIndexSetDefaultTraits< GV > |
Default traits to be used in conjuntion with the dual grid nodal index set. More... | |
class | Dumux::CCMpfaDualGridNodalIndexSet< T > |
Nodal index set for mpfa schemes, constructed around grid vertices. More... | |
class | Dumux::CCMpfaDualGridIndexSet< NI > |
Class for the index sets of the dual grid in mpfa schemes. More... | |
struct | Dumux::InteractionVolumeDataStorage< PrimaryIV, PrimaryIVDataHandle, SecondaryIV, SecondaryIVDataHandle > |
Structure to store interaction volumes and data handles. More... | |
class | Dumux::CCMpfaElementFluxVariablesCache< GFVC, cachingEnabled > |
The flux variables caches for an element. More... | |
class | Dumux::CCMpfaElementFluxVariablesCache< GFVC, true > |
The flux variables caches for an element with caching enabled. More... | |
class | Dumux::CCMpfaElementFluxVariablesCache< GFVC, false > |
The flux variables caches for an element with caching disabled. More... | |
class | Dumux::CCMpfaElementVolumeVariables< GVV, cachingEnabled > |
The local (stencil) volume variables class for cell centered mpfa models. More... | |
class | Dumux::CCMpfaElementVolumeVariables< GVV, true > |
The local (stencil) volume variables class for cell centered mpfa models with caching. More... | |
class | Dumux::CCMpfaElementVolumeVariables< GVV, false > |
The local (stencil) volume variables class for cell centered tpfa models with caching. More... | |
class | Dumux::CCMpfaFVElementGeometry< GG, enableGridGeometryCache > |
Stencil-local finite volume geometry (scvs and scvfs) for cell-centered mpfa models This builds up the sub control volumes and sub control volume faces for each element in the local scope we are restricting to, e.g. stencil or element. More... | |
class | Dumux::CCMpfaFVElementGeometry< GG, true > |
Stencil-local finite volume geometry (scvs and scvfs) for cell-centered mpfa models Specialization for grid caching enabled. More... | |
class | Dumux::CCMpfaFVElementGeometry< GG, false > |
Stencil-local finite volume geometry (scvs and scvfs) for cell-centered TPFA models Specialization for grid caching disabled. More... | |
class | Dumux::CCMpfaFVGridGeometry< GridView, Traits, enableCache > |
The finite volume geometry (scvs and scvfs) for cell-centered mpfa models on a grid view This builds up the sub control volumes and sub control volume faces. More... | |
class | Dumux::CCMpfaFVGridGeometry< GV, Traits, true > |
The finite volume geometry (scvs and scvfs) for cell-centered mpfa models on a grid view This builds up the sub control volumes and sub control volume faces. More... | |
class | Dumux::CCMpfaFVGridGeometry< GV, Traits, false > |
The finite volume geometry (scvs and scvfs) for cell-centered mpfa models on a grid view This builds up the sub control volumes and sub control volume faces. More... | |
struct | Dumux::CCMpfaFVGridGeometryTraits< GV, NI, PIV, SIV > |
Traits class to be used for the CCMpfaFVGridGeometry. More... | |
struct | Dumux::IvDataHandlePhysicsTraits< ModelTraits > |
Data handle physics traits. More... | |
struct | Dumux::CCMpfaDefaultGridFluxVariablesCacheTraits< P, FVC, FVCF, PIV, SIV, PDH, SDH > |
Data handle physics traits. More... | |
class | Dumux::CCMpfaGridFluxVariablesCache< Traits, cachingEnabled > |
Flux variable caches on a gridview. More... | |
class | Dumux::CCMpfaGridFluxVariablesCache< TheTraits, true > |
Flux variable caches on a gridview with grid caching enabled. More... | |
class | Dumux::CCMpfaGridFluxVariablesCache< TheTraits, false > |
Flux variable caches on a gridview with grid caching disabled. More... | |
class | Dumux::CCMpfaGridInteractionVolumeIndexSets< FVG, NI, PI, SI > |
Class that holds all interaction volume index sets on a grid view. More... | |
class | Dumux::CCMpfaGridVolumeVariables< Problem, VolumeVariables, cachingEnabled, Traits > |
Base class for the grid volume variables. More... | |
class | Dumux::MpfaDimensionHelper< GridGeometry, dim, dimWorld > |
Dimension-specific helper class to get data required for mpfa scheme. More... | |
class | Dumux::MpfaDimensionHelper< GridGeometry, 2, 2 > |
Dimension-specific mpfa helper class for dim == 2 & dimWorld == 2. More... | |
class | Dumux::MpfaDimensionHelper< GridGeometry, 2, 3 > |
Dimension-specific mpfa helper class for dim == 2 & dimWorld == 3. Reuses some functionality of the specialization for dim = dimWorld = 2. More... | |
class | Dumux::MpfaDimensionHelper< GridGeometry, 3, 3 > |
Dimension-specific mpfa helper class for dim == 3 & dimWorld == 3. More... | |
class | Dumux::CCMpfaHelper< GridGeometry > |
Helper class to get the required information on an interaction volume. More... | |
class | Dumux::CCMpfaInteractionVolumeBase< T > |
Base class for the interaction volumes of mpfa methods. It defines the interface and actual implementations should derive from this class. More... | |
class | Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 > |
Common base class to all handles. Stores arrays of the matrices involved in the interaction volume-local systems of equations. Apart from the transmissibility matrix we store those matrices that are needed e.g. for later face pressure reconstruction. The fluxes as well as the local systems of equations can be expressed as functions of the intermediate unknown face face values \bar{\mathbf{u}} and the known cell/Dirichlet values \mathbf{u} using the matrices \mathbf{A}, \mathbf{B}, \mathbf{C}, \mathbf{D} and the vector of Neumann fluxes \mathbf{N} as follows: More... | |
class | Dumux::CCMpfaDataHandleBases::SystemVectorsHandle< MVT, size1, size2 > |
Common base class to all handles. Stores arrays of the vectors involved in the interaction volume-local systems of equations. More... | |
class | Dumux::InteractionVolumeDataHandle< MVT, PT > |
Class for the interaction volume data handle. More... | |
class | Dumux::InteractionVolumeAssemblerBase< P, EG, EV > |
Defines the general interface of the local assembler classes for the assembly of the interaction volume-local transmissibility matrix. Specializations have to be provided for the available interaction volume implementations. these should derive from this base class. More... | |
class | Dumux::InteractionVolumeAssemblerHelper |
A class that contains helper functions as well as functionality which is common to different mpfa schemes and which solely operate on the interaction volume. More... | |
class | Dumux::InteractionVolumeLocalFaceData< GridIndexType, LocalIndexType > |
General implementation of a data structure holding interaction volume-local information for a grid sub-control volume face embedded in it. More... | |
struct | Dumux::CCMpfaODefaultInteractionVolumeTraits< NodalIndexSet, Scalar > |
The default interaction volume traits class for the mpfa-o method. This uses dynamic types types for matrices/vectors in order to work on general grids. For interaction volumes known at compile time use the static interaction volume implementation. More... | |
class | Dumux::CCMpfaOInteractionVolume< Traits > |
Forward declaration of the o-method's interaction volume. More... | |
class | Dumux::CCMpfaOInteractionVolumeIndexSet< DualGridNodalIndexSet > |
The interaction volume index set class for the mpfa-o scheme. More... | |
class | Dumux::MpfaOInteractionVolumeAssembler< P, EG, EV > |
Specialization of the interaction volume-local assembler class for the schemes using an mpfa-o type assembly. More... | |
class | Dumux::CCMpfaOInteractionVolumeLocalScv< IvIndexSet, Scalar, dim, dimWorld > |
Class for the interaction volume-local sub-control volume used in the mpfa-o scheme. More... | |
struct | Dumux::CCMpfaOInteractionVolumeLocalScvf< IvIndexSet > |
Class for the interaction volume-local sub-control volume face used in the mpfa-o scheme. More... | |
class | Dumux::CCMpfaOScvGeometryHelper< LocalScvType > |
Helper class providing functionality to compute the geometry of the interaction-volume local sub-control volumes of mpfa-o type. More... | |
struct | Dumux::CCMpfaODefaultStaticInteractionVolumeTraits< NI, S, C, F > |
The default interaction volume traits class for the mpfa-o method with known size of the interaction volumes at compile time. It uses statically sized containers for the iv-local data structures and static matrices and vectors. More... | |
class | Dumux::CCMpfaOStaticInteractionVolume< Traits > |
Forward declaration of the o-method's static interaction volume. More... | |
class | Dumux::CCMpfaScvGradients |
Class roviding functionality for the reconstruction of the gradients in the sub-control volumes involved in mpfa schemes. More... | |
struct | Dumux::CCMpfaDefaultScvfGeometryTraits< GridView > |
Default traits class to be used for the sub-control volume faces for the cell-centered finite volume scheme using MPFA. More... | |
class | Dumux::CCMpfaSubControlVolumeFace< GV, T > |
Class for a sub control volume face in mpfa methods, i.e a part of the boundary of a control volume we compute fluxes on. More... | |
Enumerations | |
enum class | Dumux::MpfaMethods : unsigned int { Dumux::MpfaMethods::oMethod } |
The available mpfa schemes in Dumux. More... | |
Functions | |
template<class Scv , class Scvf , class Tensor > | |
Dune::FieldVector< typename Tensor::field_type, Scv::myDimension > | Dumux::computeMpfaTransmissibility (const Scv &scv, const Scvf &scvf, const Tensor &T, typename Scv::ctype extrusionFactor) |
Free function to evaluate the Mpfa transmissibility associated with the flux (in the form of flux = T*gradU) across a sub-control volume face stemming from a given sub-control volume with corresponding tensor T. More... | |
template<class Scv , class Scvf , class Tensor , std::enable_if_t< Dune::IsNumber< Tensor >::value, int > = 1> | |
Dune::FieldVector< Tensor, Scv::myDimension > | Dumux::computeMpfaTransmissibility (const Scv &scv, const Scvf &scvf, Tensor t, typename Scv::ctype extrusionFactor) |
Free function to evaluate the Mpfa transmissibility associated with the flux (in the form of flux = T*gradU) across a sub-control volume face stemming from a given sub-control volume with corresponding tensor T, where T is a scalar. More... | |
template<class FVElementGeometry > | |
std::size_t | Dumux::CCMpfa::maxNumBoundaryVolVars (const FVElementGeometry &fvGeometry) |
Computes how many boundary vol vars come into play for flux calculations on an element (for a given element finite volume geometry). This number here is probably always higher than the actually needed number of volume variables. However, we want to make sure it is high enough so that enough memory is reserved in the element volume variables below. More... | |
template<class VolumeVariables , class IndexType , class Problem , class FVElemGeom , class NodalIndexSet > | |
void | Dumux::CCMpfa::addBoundaryVolVarsAtNode (std::vector< VolumeVariables > &volVars, std::vector< IndexType > &volVarIndices, const Problem &problem, const typename FVElemGeom::GridGeometry::GridView::template Codim< 0 >::Entity &element, const FVElemGeom &fvGeometry, const NodalIndexSet &nodalIndexSet) |
Adds the boundary volume variables found within a given nodal index set into the provided containers and stores the indices associated with them. More... | |
template<class VolumeVariables , class IndexType , class Problem , class FVElemGeom > | |
void | Dumux::CCMpfa::addBoundaryVolVars (std::vector< VolumeVariables > &volVars, std::vector< IndexType > &volVarIndices, const Problem &problem, const typename FVElemGeom::GridGeometry::GridView::template Codim< 0 >::Entity &element, const FVElemGeom &fvGeometry) |
Adds the boundary volume variables found within the stencil to the provided containers and stores the indices associated with them. More... | |
|
strong |
The available mpfa schemes in Dumux.
Enumerator | |
---|---|
oMethod |
void Dumux::CCMpfa::addBoundaryVolVars | ( | std::vector< VolumeVariables > & | volVars, |
std::vector< IndexType > & | volVarIndices, | ||
const Problem & | problem, | ||
const typename FVElemGeom::GridGeometry::GridView::template Codim< 0 >::Entity & | element, | ||
const FVElemGeom & | fvGeometry | ||
) |
Adds the boundary volume variables found within the stencil to the provided containers and stores the indices associated with them.
volVars | The container where the volume variables are stored |
volVarIndices | The container where the volume variable indices are stored |
problem | The problem containing the Dirichlet boundary conditions |
element | The element to which the finite volume geometry was bound |
fvGeometry | The element finite volume geometry |
void Dumux::CCMpfa::addBoundaryVolVarsAtNode | ( | std::vector< VolumeVariables > & | volVars, |
std::vector< IndexType > & | volVarIndices, | ||
const Problem & | problem, | ||
const typename FVElemGeom::GridGeometry::GridView::template Codim< 0 >::Entity & | element, | ||
const FVElemGeom & | fvGeometry, | ||
const NodalIndexSet & | nodalIndexSet | ||
) |
Adds the boundary volume variables found within a given nodal index set into the provided containers and stores the indices associated with them.
volVars | The container where the volume variables are stored |
volVarIndices | The container where the volume variable indices are stored |
problem | The problem containing the Dirichlet boundary conditions |
element | The element to which the finite volume geometry is bound |
fvGeometry | The element finite volume geometry |
nodalIndexSet | The dual grid index set around a node |
Dune::FieldVector< typename Tensor::field_type, Scv::myDimension > Dumux::computeMpfaTransmissibility | ( | const Scv & | scv, |
const Scvf & | scvf, | ||
const Tensor & | T, | ||
typename Scv::ctype | extrusionFactor | ||
) |
Free function to evaluate the Mpfa transmissibility associated with the flux (in the form of flux = T*gradU) across a sub-control volume face stemming from a given sub-control volume with corresponding tensor T.
scv | The iv-local sub-control volume |
scvf | The grid sub-control volume face |
T | The tensor living in the scv |
extrusionFactor | The extrusion factor of the scv |
Dune::FieldVector< Tensor, Scv::myDimension > Dumux::computeMpfaTransmissibility | ( | const Scv & | scv, |
const Scvf & | scvf, | ||
Tensor | t, | ||
typename Scv::ctype | extrusionFactor | ||
) |
Free function to evaluate the Mpfa transmissibility associated with the flux (in the form of flux = T*gradU) across a sub-control volume face stemming from a given sub-control volume with corresponding tensor T, where T is a scalar.
scv | The iv-local sub-control volume |
scvf | The grid sub-control volume face |
t | the scalar quantity living in the scv |
extrusionFactor | The extrusion factor of the scv |
std::size_t Dumux::CCMpfa::maxNumBoundaryVolVars | ( | const FVElementGeometry & | fvGeometry | ) |
Computes how many boundary vol vars come into play for flux calculations on an element (for a given element finite volume geometry). This number here is probably always higher than the actually needed number of volume variables. However, we want to make sure it is high enough so that enough memory is reserved in the element volume variables below.
fvGeometry | the element finite volume geometry |