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 3dContactMerge
: 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:
- P. Bastian, G. Buse, O. Sander: Infrastructure for the Coupling of Dune Grids, In ‘Proceedings of ENUMATH 2009’, Springer, 2010, pp. 107-114
- C. Engwer, S. Müthing: Concepts for flexible parallel multi-domain simulations, In ‘Domain Decomposition Methods in Science and Engineering XXII’, Springer
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.