13#ifndef DUMUX_DISCRETIZATION_CC_MPFA_HH
14#define DUMUX_DISCRETIZATION_CC_MPFA_HH
19#include <dune/common/reservedvector.hh>
56template<
class TypeTag>
57struct DualGridNodalIndexSet<TypeTag,
TTag::CCMpfaModel>
68template<
class TypeTag>
69struct PrimaryInteractionVolume<TypeTag,
TTag::CCMpfaModel>
82template<
class TypeTag>
83struct SecondaryInteractionVolume<TypeTag,
TTag::CCMpfaModel>
96template<
class TypeTag>
97struct GridGeometry<TypeTag,
TTag::CCMpfaModel>
110template<
class TypeTag>
111struct GridVolumeVariables<TypeTag,
TTag::CCMpfaModel>
122template<
class TypeTag>
123struct GridFluxVariablesCache<TypeTag,
TTag::CCMpfaModel>
141 using PrimaryMatVecTraits =
typename PrimaryInteractionVolume::Traits::MatVecTraits;
142 using SecondaryMatVecTraits =
typename SecondaryInteractionVolume::Traits::MatVecTraits;
148 FluxVariablesCache, FluxVariablesCacheFiller,
149 PrimaryInteractionVolume, SecondaryInteractionVolume,
150 PrimaryIvDataHandle, SecondaryIvDataHandle>;
156template<
class TypeTag>
163template<
class Problem>
167 using GG = std::decay_t<decltype(std::declval<Problem>().gridGeometry())>;
168 using Element =
typename GG::GridView::template Codim<0>::Entity;
169 using SubControlVolumeFace =
typename GG::SubControlVolumeFace;
173 using BoundaryTypes = std::decay_t<decltype(std::declval<Problem>().boundaryTypes(std::declval<Element>(), std::declval<SubControlVolumeFace>()))>;
176template<
class TypeTag>
182template<CCMpfaModel TypeTag>
Calculates the element-wise residual for cell-centered discretization schemes.
Boundary types gathered on an element.
The local element solution class for cell-centered methods.
Traits class to be used in conjunction with the CCMpfaFVGridGeometry.
The grid volume variables class for cell centered mpfa models.
Boundary types gathered on an element.
Definition cellcentered/elementboundarytypes.hh:26
Calculates the element-wise residual for the cell-centered discretization schemes.
Definition cclocalresidual.hh:31
The finite volume geometry (scvs and scvfs) for cell-centered mpfa models on a grid view This builds ...
Definition discretization/cellcentered/mpfa/fvgridgeometry.hh:40
Flux variable caches on a gridview.
Definition discretization/cellcentered/mpfa/gridfluxvariablescache.hh:73
Base class for the grid volume variables.
Definition cellcentered/mpfa/gridvolumevariables.hh:48
Forward declaration of the o-method's interaction volume.
Definition discretization/cellcentered/mpfa/omethod/interactionvolume.hh:103
Class for the interaction volume data handle.
Definition interactionvolumedatahandle.hh:226
Defines all properties used in Dumux.
Type traits for problem classes.
The default local operator than can be specialized for each discretization scheme.
Defines the default element and vertex mapper types.
The finite volume geometry (scvs and scvfs) for cell-centered mpfa models on a grid view This builds ...
Flux variable caches on a gridview.
Class for the interaction volume of the mpfa-o scheme.
Class for the index sets of the dual grid in mpfa schemes.
Classes related to flux variables caching.
Declares properties required for finite-volume models models.
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:310
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition propertysystem.hh:296
typename GetPropOr< TypeTag, Property, T >::type GetPropTypeOr
get the type alias defined in the property or the type T if the property is undefined
Definition propertysystem.hh:303
Data handle class for interaction volumes of mpfa methods. This class is passed to interaction volume...
The available discretization methods in Dumux.
The available mpfa schemes in Dumux.
Definition cellcentered/mpfa/elementvolumevariables.hh:24
Distance implementation details.
Definition cvfelocalresidual.hh:25
Type tag for numeric models.
Definition grid.hh:24
The energy balance equation for a porous solid.
Definition common/properties.hh:26
Data handle physics traits.
Definition discretization/cellcentered/mpfa/gridfluxvariablescache.hh:45
Traits class to be used for the CCMpfaFVGridGeometry.
Definition cellcentered/mpfa/fvgridgeometrytraits.hh:38
The default interaction volume traits class for the mpfa-o method. This uses dynamic types types for ...
Definition discretization/cellcentered/mpfa/omethod/interactionvolume.hh:48
CVFELocalResidual< TypeTag > type
Definition box.hh:147
Definition defaultlocaloperator.hh:19
GG GridGeometry
Definition ccmpfa.hh:171
std::decay_t< decltype(std::declval< Problem >().boundaryTypes(std::declval< Element >(), std::declval< SubControlVolumeFace >()))> BoundaryTypes
Definition ccmpfa.hh:173
Definition common/typetraits/problem.hh:23
The empty filler class corresponding to EmptyCache.
Definition fluxvariablescaching.hh:20
An empty flux variables cache.
Definition fluxvariablescaching.hh:35
Data handle physics traits.
Definition discretization/cellcentered/mpfa/gridfluxvariablescache.hh:27
Default traits to be used in conjunction with the dual grid nodal index set.
Definition dualgridindexset.hh:33
CCMpfaDualGridNodalIndexSet< Traits > type
Definition ccmpfa.hh:64
CCElementBoundaryTypes type
Definition ccmpfa.hh:157
CCMpfaGridFluxVariablesCache< Traits, enableCache > type
Definition ccmpfa.hh:152
CCMpfaFVGridGeometry< GridView, Traits, getPropValue< TypeTag, Properties::EnableGridGeometryCache >()> type
Definition ccmpfa.hh:106
CCMpfaGridVolumeVariables< Problem, VolumeVariables, enableCache > type
Definition ccmpfa.hh:118
CCMpfaOInteractionVolume< Traits > type
Definition ccmpfa.hh:78
CCMpfaOInteractionVolume< Traits > type
Definition ccmpfa.hh:92
std::tuple< FiniteVolumeModel > InheritsFrom
Definition ccmpfa.hh:52