The box method is a collocated finite volume scheme with control volumes centered at grid nodes. More...
The so called box method is a control volume finite element method (uniting the advantages of the finite-volume (FV) and finite-element (FE) methods) based on linear nodal basis functions for the trial space.
First, the model domain
Control volumes scv
s) such that each sub-control volume is the intersection of the control volume with a different primal grid element, scvf
s) analogously and scvf
s and the outer normal vectors
The advantage of the FE method is that unstructured grids can be used, while the FV method is mass conservative. The idea is to apply the FV method (balance of fluxes across the interfaces) to each control volume and to get the fluxes across the scvf
s at the integration points scvf
the following expression results:
where
where the first term describes the changes of entity
Like the finite element method, the box method follows the principle of weighted residuals. In the function
Due to the approximation in a discrete function space with linear basis functions, the differential equations are not exactly fulfilled anymore but a residual
Application of the principle of weighted residuals, meaning the multiplication of the residual
yields the following equation:
For Galerkin schemes (standard finite element method), the weighting functions
Thus, the Box method is a Petrov-Galerkin scheme with weighting functions not belonging to the same function space as the ansatz functions.
Inserting the introduced weighting functions and using the divergence theorem results in
which has to hold for every control volume
The first term in previous equation can be written as
A technique called mass lumping is applied by assuming that the storage capacity is reduced to the nodes. This means that the integrals
where
where
Using an implicit Euler time discretization finally leads to the discrete form
which is to be fulfilled for each box
Files | |
file | boxgeometryhelper.hh |
Helper class constructing the dual grid finite volume geometries for the box discretizazion method. | |
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 | 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. | |
Classes | |
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... | |
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... | |