3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Files | Classes | Typedefs | Functions

The box method is a collocated finite volume scheme with control volumes centered at grid nodes. More...

Description

The box method is a collocated finite volume scheme with control volumes centered at grid nodes.

Files

file  boxlocalassembler.hh
 An assembler for Jacobian and residual contribution per element (box method)
 
file  boxlocalresidual.hh
 Calculates the element-wise residual for the box scheme.
 
file  boxgeometryhelper.hh
 Helper class constructing the dual grid finite volume geometries for the box discretizazion method.
 
file  box/elementboundarytypes.hh
 Boundary types gathered on an element.
 
file  discretization/box/elementfluxvariablescache.hh
 Global flux variable cache.
 
file  box/elementsolution.hh
 The local element solution class for the box method.
 
file  box/elementvolumevariables.hh
 The local volume variables class.
 
file  discretization/box/fluxvariablescache.hh
 Flux variables cache class for the box scheme.
 
file  discretization/box/fvelementgeometry.hh
 Base class for the local finite volume geometry for box models This builds up the sub control volumes and sub control volume faces for an element.
 
file  discretization/box/fvgridgeometry.hh
 Base class for the finite volume geometry vector for box models This builds up the sub control volumes and sub control volume faces for each element of the grid partition.
 
file  discretization/box/gridfluxvariablescache.hh
 Global flux variable cache.
 
file  box/gridvolumevariables.hh
 The grid volume variables class for box models.
 
file  scvftoscvboundarytypes.hh
 Convert intersection boundary types to vertex boundary types.
 
file  discretization/box/subcontrolvolume.hh
 the sub control volume for the box scheme
 
file  discretization/box/subcontrolvolumeface.hh
 Base class for a sub control volume face.
 
file  subdomainboxlocalassembler.hh
 An assembler for Jacobian and residual contribution per element (box methods) for multidomain problems.
 

Classes

class  Dumux::BoxLocalAssemblerBase< TypeTag, Assembler, Implementation, implicit >
 A base class for all local box assemblers. More...
 
class  Dumux::BoxLocalAssembler< TypeTag, Assembler, diffMethod, implicit >
 An assembler for Jacobian and residual contribution per element (box methods) More...
 
class  Dumux::BoxLocalAssembler< TypeTag, Assembler, DiffMethod::numeric, true >
 Box local assembler using numeric differentiation and implicit time discretization. More...
 
class  Dumux::BoxLocalAssembler< TypeTag, Assembler, DiffMethod::numeric, false >
 Box local assembler using numeric differentiation and explicit time discretization. More...
 
class  Dumux::BoxLocalAssembler< TypeTag, Assembler, DiffMethod::analytic, true >
 Box local assembler using analytic differentiation and implicit time discretization. More...
 
class  Dumux::BoxLocalAssembler< TypeTag, Assembler, DiffMethod::analytic, false >
 Box local assembler using analytic differentiation and explicit time discretization. More...
 
class  Dumux::BoxElementSolution< FVElementGeometry, PV >
 The element solution vector. More...
 
class  Dumux::BoxFVElementGeometry< GG, enableGridGeometryCache >
 Base class for the finite volume geometry vector for box models This builds up the sub control volumes and sub control volume faces for each element. More...
 
struct  Dumux::BoxDefaultGridGeometryTraits< GridView, MapperTraits >
 The default traits for the box finite volume grid geometry Defines the scv and scvf types and the mapper types. More...
 
class  Dumux::BoxFVGridGeometry< Scalar, GridView, enableGridGeometryCache, Traits >
 Base class for the finite volume geometry vector for box schemes This builds up the sub control volumes and sub control volume faces. More...
 
class  Dumux::BoxFVGridGeometry< Scalar, GV, true, Traits >
 Base class for the finite volume geometry vector for box schemes This builds up the sub control volumes and sub control volume faces. More...
 
class  Dumux::BoxFVGridGeometry< Scalar, GV, false, Traits >
 Base class for the finite volume geometry vector for box schemes This builds up the sub control volumes and sub control volume faces. More...
 
struct  Dumux::BoxDefaultGridFVCTraits< P, FVC >
 Flux variable caches traits. More...
 
class  Dumux::ScvfToScvBoundaryTypes< BoundaryTypes, DiscretizationMethod >
 Convert intersection boundary types to vertex boundary types. More...
 
struct  Dumux::BoxDefaultScvGeometryTraits< GridView >
 Default traits class to be used for the sub-control volumes for the box scheme. More...
 
class  Dumux::BoxSubControlVolume< GV, T >
 the sub control volume for the box scheme More...
 
struct  Dumux::BoxDefaultScvfGeometryTraits< GridView >
 Default traits class to be used for the sub-control volume faces for the box scheme. More...
 
class  Dumux::BoxSubControlVolumeFace< GV, T >
 Class for a sub control volume face in the box method, i.e a part of the boundary of a sub control volume we compute fluxes on. We simply use the base class here. More...
 
class  Dumux::SubDomainBoxLocalAssemblerBase< id, TypeTag, Assembler, Implementation, implicit >
 A base class for all box local assemblers. More...
 
class  Dumux::SubDomainBoxLocalAssembler< id, TypeTag, Assembler, DM, implicit >
 The box scheme multidomain local assembler. More...
 
class  Dumux::SubDomainBoxLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true >
 Box scheme multi domain local assembler using numeric differentiation and implicit time discretization. More...
 
class  Dumux::SubDomainBoxLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, false >
 Box scheme multi domain local assembler using numeric differentiation and explicit time discretization. More...
 

Typedefs

template<class TypeTag >
using Dumux::BoxLocalResidual = CVFELocalResidual< TypeTag >
 The element-wise residual for the box scheme. More...
 
template<class BTypes >
using Dumux::BoxElementBoundaryTypes = CVFEElementBoundaryTypes< BTypes >
 This class stores an array of BoundaryTypes objects. More...
 
template<class GFVC , bool cachingEnabled>
using Dumux::BoxElementFluxVariablesCache = CVFEElementFluxVariablesCache< GFVC, cachingEnabled >
 The flux variables caches for an element. More...
 
template<class GVV , bool cachingEnabled>
using Dumux::BoxElementVolumeVariables = CVFEElementVolumeVariables< GVV, cachingEnabled >
 The local (stencil) volume variables class for box models. More...
 
template<class Scalar , class GridGeometry >
using Dumux::BoxFluxVariablesCache = CVFEFluxVariablesCache< Scalar, GridGeometry >
 Flux variables cache class for the box scheme. For the box scheme, this class does not contain any physics-/process-dependent data. It solely stores disretization-/grid-related data. More...
 
template<class Problem , class FluxVariablesCache , bool cachingEnabled = false, class Traits = CVFEDefaultGridFVCTraits<Problem, FluxVariablesCache>>
using Dumux::BoxGridFluxVariablesCache = CVFEGridFluxVariablesCache< Problem, FluxVariablesCache, cachingEnabled, Traits >
 Flux variable caches on a gridview. More...
 
template<class Problem , class VolumeVariables , bool enableGridVolVarsCache = false, class Traits = CVFEDefaultGridVolumeVariablesTraits<Problem, VolumeVariables>>
using Dumux::BoxGridVolumeVariables = CVFEGridVolumeVariables< Traits, enableGridVolVarsCache >
 Base class for the grid volume variables. More...
 

Functions

template<class Element , class SolutionVector , class GridGeometry >
auto Dumux::elementSolution (const Element &element, const SolutionVector &sol, const GridGeometry &gg) -> std::enable_if_t< GridGeometry::discMethod==DiscretizationMethods::box, BoxElementSolution< typename GridGeometry::LocalView, std::decay_t< decltype(std::declval< SolutionVector >()[0])> > >
 Make an element solution for box schemes. More...
 
template<class Element , class ElementVolumeVariables , class FVElementGeometry >
auto Dumux::elementSolution (const Element &element, const ElementVolumeVariables &elemVolVars, const FVElementGeometry &gg) -> std::enable_if_t< FVElementGeometry::GridGeometry::discMethod==DiscretizationMethods::box, BoxElementSolution< FVElementGeometry, typename ElementVolumeVariables::VolumeVariables::PrimaryVariables > >
 Make an element solution for box schemes. More...
 

Typedef Documentation

◆ BoxElementBoundaryTypes

template<class BTypes >
using Dumux::BoxElementBoundaryTypes = typedef CVFEElementBoundaryTypes<BTypes>

This class stores an array of BoundaryTypes objects.

◆ BoxElementFluxVariablesCache

template<class GFVC , bool cachingEnabled>
using Dumux::BoxElementFluxVariablesCache = typedef CVFEElementFluxVariablesCache<GFVC, cachingEnabled>

The flux variables caches for an element.

Note
The class is specialized for a version with and without caching If grid caching is enabled the flux caches are stored for the whole gridview in the corresponding GridFluxVariablesCache which is memory intensive but faster. For caching disabled the flux caches are locally computed for each element whenever needed.

◆ BoxElementVolumeVariables

template<class GVV , bool cachingEnabled>
using Dumux::BoxElementVolumeVariables = typedef CVFEElementVolumeVariables<GVV, cachingEnabled>

The local (stencil) volume variables class for box models.

Note
The class is specialized for versions with and without caching
Template Parameters
GVVthe grid volume variables type
cachingEnabledif the cache is enabled

◆ BoxFluxVariablesCache

template<class Scalar , class GridGeometry >
using Dumux::BoxFluxVariablesCache = typedef CVFEFluxVariablesCache<Scalar, GridGeometry>

Flux variables cache class for the box scheme. For the box scheme, this class does not contain any physics-/process-dependent data. It solely stores disretization-/grid-related data.

◆ BoxGridFluxVariablesCache

template<class Problem , class FluxVariablesCache , bool cachingEnabled = false, class Traits = CVFEDefaultGridFVCTraits<Problem, FluxVariablesCache>>
using Dumux::BoxGridFluxVariablesCache = typedef CVFEGridFluxVariablesCache<Problem, FluxVariablesCache, cachingEnabled, Traits>

Flux variable caches on a gridview.

Note
The class is specialized for a version with and without grid caching

◆ BoxGridVolumeVariables

template<class Problem , class VolumeVariables , bool enableGridVolVarsCache = false, class Traits = CVFEDefaultGridVolumeVariablesTraits<Problem, VolumeVariables>>
using Dumux::BoxGridVolumeVariables = typedef CVFEGridVolumeVariables<Traits, enableGridVolVarsCache>

Base class for the grid volume variables.

◆ BoxLocalResidual

template<class TypeTag >
using Dumux::BoxLocalResidual = typedef CVFELocalResidual<TypeTag>

The element-wise residual for the box scheme.

Template Parameters
TypeTagthe TypeTag

Function Documentation

◆ elementSolution() [1/2]

template<class Element , class ElementVolumeVariables , class FVElementGeometry >
auto Dumux::elementSolution ( const Element &  element,
const ElementVolumeVariables &  elemVolVars,
const FVElementGeometry &  gg 
) -> std::enable_if_t<FVElementGeometry::GridGeometry::discMethod == DiscretizationMethods::box, BoxElementSolution<FVElementGeometry, typename ElementVolumeVariables::VolumeVariables::PrimaryVariables>>

Make an element solution for box schemes.

Make an element solution for cvfe schemes.

Make an element solution for face-centered staggered schemes.

Make an element solution for face-centered diamond schemes.

Make an element solution for cell-centered schemes.

◆ elementSolution() [2/2]

template<class Element , class SolutionVector , class GridGeometry >
auto Dumux::elementSolution ( const Element &  element,
const SolutionVector &  sol,
const GridGeometry &  gg 
) -> std::enable_if_t<GridGeometry::discMethod == DiscretizationMethods::box, BoxElementSolution<typename GridGeometry::LocalView, std::decay_t<decltype(std::declval<SolutionVector>()[0])>> >

Make an element solution for box schemes.

Make an element solution for cvfe schemes.

Make an element solution for face-centered staggered schemes.

Make an element solution for face-centered diamond schemes.

Make an element solution for cell-centered schemes.