dune-grid-glue

dune-grid-glue

Provides infrastructure for the coupling of two unrelated Dune grids.

Requires:
dune-common dune-geometry dune-grid
Git repository:
https://gitlab.dune-project.org/extensions/dune-grid-glue

dune-grid-glue

The dune-grid-glue module provides infrastructure for the coupling of two unrelated Dune grids. The coupling may be overlapping or nonoverlapping, conforming or nonconforming. The two grids are not requested to be of the same type, and they may even be of different dimensions. Here are a few possible scenarios:

Couplings are described as sets of remote intersections. Conceptually, these remote intersections are very close to what the regular intersections in the Dune grid interface are, with the difference that the inside and outside entities are taken from different grids. You can iterate over the global set of remote intersections or over the ones of a given element. This allows to assemble the terms needed, for example, for mortar methods and other domain decomposition methods.

The _dune-grid-glue_module follows the usual Dune philosophy:

  • It defines abstract interfaces to general grid coupling mechanisms, allowing to implement most existing domain decomposition algorithms.
  • It allows and encourages the use of existing coupling implementations as legacy backends.
  • The code should be efficient, using generic programming where appropriate.

The actual computation of the remote intersections is handled by exchangeable backends. Currently, three backends are available:

  • OverlappingMerge: For overlapping couplings in 1d, 2d, and 3d
  • ContactMerge: For nonoverlapping couplings, including contact problems, where there is a positive distance between the two contact boundaries.
  • ConformingMerge: A fast implementation for conforming nonoverlapping couplings.

All three backends are based on the optimal-time advancing front algorithm by Martin Gander and Caroline Japhet.

Releases

Releases of dune-grid-glue usually appear together with releases of the Dune core and staging modules. Release tarballs can be download from the main Dune project size. Recent releases are

version source signature
2.9.0 dune-grid-glue-2.9.0.tar.gz dune-grid-glue-2.9.0.tar.gz.asc
2.8.0 dune-grid-glue-2.8.0.tar.gz dune-grid-glue-2.8.0.tar.gz.asc

You may also check your favorite Linux distribution. Some of them have dune-grid-glue available as binary packages.

Installation

Please see the general instructions for building DUNE modules for detailed instructions on how to build the module.

Documentation

There is also a class-documentation created by doxygen:

Maintainers

dune-grid-glue has been written by Christian Engwer and Oliver Sander, based on work by Gerrit Buse (Universität Stuttgart & TU München). Lots of help has come from Ansgar Burchardt, Katja Hanowski, and Jonathan Youett.

Publications

The concepts of dune-grid-glue are presented in the following publication:

License

The dune-grid-glue module is licensed under the GNU Lesser General Public License, version 3 or later, or the GNU General Public License, version 2, with a special runtime exception.

Please see the COPYING file for details.

Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Dec 21, 23:25, 2024)