[Dune] Dune-CurvedGrid and Dune-CurvedGeometry
Simon Praetorius
simon.praetorius at tu-dresden.de
Sat Oct 17 14:19:15 CEST 2020
Dear Dune community,
I want to advertise two new dune modules Florian Stenger and I have been working on in the past few month: Dune-CurvedGrid and Dune-CurvedGeometry.
These modules are concerned with the parametrization of grid elements, resulting in possibly curved geometries. We have implemented this in two separate modules, one for the local view, i.e. the parametrization of the actual geometry, and one for the global view, a grid wrapper providing these geometries on traversal. Thus, the grid wrapper is a generalization of GeometryGrid, as it replaces the geometry of an underlying host-grid by a new mapped geometry. Different to the GeometryGrid, this mapping is now very flexible and allows to represent the local geometry in an "arbitrary" local basis.
A Dune-CurvedGrid is the combination of a host-grid and a (global) grid-function and the Dune-CurvedGeometry is the combination of a host-geometry and a (local) element-function. This grid-function (and corresponding element-function) may represent the local geometry parametrization directly. In order to allow the implementation of the dune geometry interface, these functions must be differentiable. We have provided some utilities to provide such grid-functions for, e.g., a local Lagrange parametrization if a global coordinate mapping for the geometry is given.
For the Dune-CurvedGeometry we have some more options how to provide the parametrization. It can be given by a (not necessaryly differentiable) local-function plus a local finite-element (or finite-element cache), resulting in an interpolation of the given function into the local basis. Or it can be given as a (differentiable) local-function that is just wrapped in the geometry interface.
The Dune-CurvedGrid and Dune-CurvedGeometry are currently used mainly for parametrization of surface grids, see a preprint https://arxiv.org/abs/2009.04938 and a presentation https://wwwpub.zih.tu-dresden.de/~praetori/presentations/dune-curvedgrid but are flexible enough to be a replacement for GeometryGrid also for volume grids. For the surface grids additional geometry extensions are implemented, e.g. the geometry normal vector.
For the input and output of curved grids and data, we additionaly have implemented extensions of the Dune-Vtk module and a new Dune-Gmsh4 module, since those corresponding file formats support at least Lagrange parametrized elements.
We would very much appreciate feedback to the new modules. You can find the sources at
https://gitlab.mn.tu-dresden.de/iwr/dune-curvedgrid
https://gitlab.mn.tu-dresden.de/iwr/dune-curvedgeometry
https://gitlab.mn.tu-dresden.de/iwr/dune-vtk
https://gitlab.mn.tu-dresden.de/iwr/dune-gmsh4
Best wishes,
Simon Praetorius
---
Dr. Simon Praetorius
Institut für Wissenschaftliches Rechnen
Fakultät Mathematik
Technische Universität Dresden
Tel.: TUD-34432
Mail: simon.praetorius at tu-dresden.de
Web: www.math.tu-dresden.de/~spraetor
More information about the Dune
mailing list