Commit cb26fa1f authored by Praetorius, Simon's avatar Praetorius, Simon
Browse files

Update README.md

parent 19a75808
Pipeline #5017 canceled with stage
# 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();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment