Skip to content
Snippets Groups Projects
Commit cb26fa1f authored by Praetorius, Simon's avatar Praetorius, Simon
Browse files

Update README.md

parent 19a75808
Branches
No related tags found
No related merge requests found
Pipeline #5017 canceled
# Dune-CurvedSurfaceGrid - A Dune module for surface parametrization
# Dune-CurvedGrid - A Dune module for geometry parametrization
This Dune module provides a meta-grid for wrapping other grid implementations and providing
a curved geometry on each element, parametrized by a [Dune-CurvedGeometry](https://gitlab.mn.tu-dresden.de/spraetor/dune-curvedgeometry)
a curved geometry on each element, parametrized by a [Dune-CurvedGeometry](https://gitlab.mn.tu-dresden.de/iwr/dune-curvedgeometry)
class.
For an overview about the CurvedSurfaceGrid and the CurvedGeometry, see also the presentation
[Dune-CurvedSurfaceGrid - A Dune module for surface parametrization](http://www.math.tu-dresden.de/~spraetor/dune-curvedsurfacegrid).
[Dune-CurvedSurfaceGrid - A Dune module for surface parametrization](http://wwwpub.zih.tu-dresden.de/~praetori/presentations/dune-curvedgrid).
## Installation Instructions
`dune-curvedgrid` requires the DUNE core modules, version 2.7 or later.
Please see the [general instructions for building DUNE modules](https://www.dune-project.org/doc/installation) for detailed instructions on how to build the module.
## Initial Example
(See [example1.cc](https://gitlab.mn.tu-dresden.de/iwr/dune-curvedsurfacegrid/-/blob/master/src/example1.cc))
(See [example1.cc](https://gitlab.mn.tu-dresden.de/iwr/dune-curvedgrid/-/blob/master/src/example1.cc))
```c++
// 1. Construct a reference grid
......@@ -23,7 +27,7 @@ CurvedSurfaceGrid grid{*refGrid, sphereGF};
At first, we have to create a reference grid that acts as a parametrization domain for the
target curved grid. In the example, we use [Dune-FoamGrid](https://gitlab.dune-project.org/extensions/dune-foamgrid)
and read a piece-wise flat grid from a GMsh file [`sphere.msh`](https://gitlab.mn.tu-dresden.de/iwr/dune-curvedsurfacegrid/-/blob/master/doc/grids/sphere.msh).
and read a piece-wise flat grid from a GMsh file [`sphere.msh`](https://gitlab.mn.tu-dresden.de/iwr/dune-curvedgrid/-/blob/master/doc/grids/sphere.msh).
In a second step, we describe the parametrization of the curved surface by a closest-point
projection to the sphere with radius 1. This projection is given by a callable `sphere` and
......@@ -37,7 +41,7 @@ meta-grid `CurvedSurfaceGrid` implements the Dune grid interface and can thus be
replacement for, e.g., the reference grid.
## Two Different Geometry Mappings
The [Dune-CurvedGeometry](https://gitlab.mn.tu-dresden.de/spraetor/dune-curvedgeometry) module
The [Dune-CurvedGeometry](https://gitlab.mn.tu-dresden.de/iwr/dune-curvedgeometry) module
provides two different geometry implementations that differ in the input and in the
representation of the parametrization.
......@@ -51,7 +55,7 @@ The `CurvedSurfaceGrid` constructs on request of the element geometry a LocalFin
of Lagrange basis functions for the internal parametrization of the geometry. The `ParametrizedGeometry`
is constructed, if the grid gets a polynomial order `k > 0`.
(See [example2.cc](https://gitlab.mn.tu-dresden.de/iwr/dune-curvedsurfacegrid/-/blob/master/src/example2.cc))
(See [example2.cc](https://gitlab.mn.tu-dresden.de/iwr/dune-curvedgrid/-/blob/master/src/example2.cc))
```c++
// Construct a reference grid
auto refGrid = GmshReader< FoamGrid<2,3> >::read("sphere.msh");
......@@ -72,7 +76,7 @@ function `derivative(f)` returning a callable that gives the Jacobian of the map
grid constructs a `LocalFunctionGeometry` on each element. This geometry is exactly parametrized
with the mapping and its derivative, i.e., no additional interpolation is performed.
(See [example3.cc](https://gitlab.mn.tu-dresden.de/iwr/dune-curvedsurfacegrid/-/blob/master/src/example3.cc))
(See [example3.cc](https://gitlab.mn.tu-dresden.de/iwr/dune-curvedgrid/-/blob/master/src/example3.cc))
```c++
auto gv = refGrid->leafGridView();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment