dune-foamgrid
dune-foamgrid
The dune-foamgrid module is an implementation of the dune-grid interface that implements one- and two-dimensional grids in a physical space of arbitrary dimension. The grids are not expected to have a manifold structure, i.e., more than two elements can share a common facet.
Requires: |
dune-common
dune-geometry
dune-grid
|
Maintainer: | The dune-foamgrid team |
Git repository: |
https://gitlab.dune-project.org/extensions/dune-foamgrid.git |
dune-foamgrid
dune-foamgrid is an implementation of the dune-grid interface that implements one- and two-dimensional grids in a physical space of arbitrary dimension. The grids are not expected to have a manifold structure, i.e., more than two elements can share a common facet. This makes FoamGrid the grid data structure of choice for simulating structures such as foams, discrete fracture networks, or network flow problems:
One- and two-dimensional network grids in a three-dimensional world. |
Element Parametrizations
dune-foamgrid allows to use element parametrizations to improve the geometry approximation for curved domains. Each coarse grid element can be given a parametrization that describes an embedding into physical space. This does not influence the grid itself – elements of a FoamGrid are always affine. However, when refining the grid, the new vertices are determined according to the parametrization. That way, the grid approaches the shape described by the parametrization functions more and more as it gets refined:
Grid refinement with element parametrizations. |
Grid Growth
As a unique feature of a dune-grid implementation, a FoamGrid is allowed to grow and shrink, i.e., elements can be added to or removed from the grid at runtime. Data attached to the grid is not invalidated by this. This allows to simulate problems with growing and shrinking domains, which is useful for various network growth and remodeling problems:
Download
dune-foamgrid is hosted at the Dune gitlab instance. You can download the current development version using anonymous git:
git clone https://gitlab.dune-project.org/extensions/dune-foamgrid.git
Publications
The concepts of dune-foamgrid are presented in the following publication:
- O. Sander, T. Koch, N. Schröder, B. Flemisch The Dune FoamGrid implementation for surface and network grids. Archive of Numerical Software, [S.l.], v. 5, n. 1, p. 217-244, apr. 2017. ISSN 2197-8263. doi: 10.11588/ans.2017.1.28490.
Maintainers
dune-foamgrid has been written by Oliver Sander, Carsten Gräser, and Timo Koch, with contributions from Markus Blatt, Timo Betcke, Eugen Salzmann and Wojciech Smigaj.
Interface modifications for network grids
Changes to the dune-grid interface are being discussed to better accommodate network grids. The proposed changes are described in a DICR (Dune Interface Change Request) document. Unfortunately the TeX sources for this document are no longer available.