Add input of boundary segmentation
Description
Boundary segments are currently evaluated using global coordinates only. This has proven error prone, especially when using unstructured grids. Dune supports mapping via the Dune::Intersection
interface which provides the boundarySegmentIndex
function.
We will add a scheme similar to the one established for the parameterization mapping input (#86 (closed)) and, again, distinguish between two input modes: Gmsh and rectangular.
-
Unstructured grid from a GMSH file.
GMSH already implements boundary segmentation. This information can be read by the
Dune::GmshReader
. The current implementation of UG uses global IDs for boundary segments, which means that the data does not have to be re-mapped after load-balancing. -
Rectangular grid from config file specs.
Boundaries will be segmented using mapping datasets with dimension
dim-1
(codim 1). If no mapping file is given, the boundary condition cannot be specified and defaults to no flux.
Proposal
Add the means of specifying boundary segments to the GridCreator
and GridMapper
. Test them in a unit test but do not use them for BC queries yet.
Boundary segment indices can be mapped to the index of the input mapping array only via global coordinates.
How to test the implementation?
- Update existing unit test
test-grid-creation
Related issues
Meta-issue #119 (closed)