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:

Growth of a root system, shown in a lateral (top) and an axial (bottom) view.

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:

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. The TeX sources for this document are available from the wiki.

Creative Commons License   |  Legal Statements / Impressum  |  generated with Hugo v0.55.6 (Jul 16, 22:19, 2019)