#1591 Unique Intersections.
Metadata
Property | Value |
---|---|
Reported by | Robert K (robertk@posteo.org) |
Reported at | Mar 10, 2015 15:25 |
Type | Feature Request |
Version | 2.3 |
Operating System | Unspecified / All |
Last edited by | Robert K (robertk@posteo.org) |
Last edited at | Jun 4, 2015 12:21 |
Description
For some numerical discretizations (e.g. Raviart-Thomas, Hybrid-DG, Mimetic FD) it is necessary to attach unknowns to intersections. There is a lack of support for this feature in the DUNE grid interface. Currently, intersections don't provide an id and one cannot get the orientation from the interface class. Of course one can hack around this problem for various grids, but extending the interface to fully support this seems necessary. Also, communication between intersections is not possible which prohibits non-conforming grids without ghost/overlap elements.
On behalf of some of the core developers I would like to propose the following interface extensions to the DUNE grid interface. The following methods should be added:
Intersection
:
// return true if intersection is the representative one
bool representative () const;
// flip intersection, i.e. return Intersection object representing the flipped version
Intersection flip () const;
LocalIdSet
:
// return id of representative intersection, i.e. only one id for the two appearances of an
// intersection
IdType id( const Intersection& intersection ) const;
The IndexSet
and PersistentContainer
have to add a similar method.
DataHandle
:
bool containsIntersection(); // true if intersection communication is wanted
// fixedsize( Intersection )
bool fixedsizeIntersection();
void gather( buffer, Intersection );
void scatter( buffer, Intersection );
For the communication there also occurs the problem that the intersection orientation is flipped between sending and receiving intersection.