#457 adding generic geometries
Metadata
| Property | Value | 
|---|---|
| Reported by | Andreas Dedner (A.S.Dedner@warwick.ac.uk) | 
| Reported at | Nov 10, 2008 15:03 | 
| Type | Feature Request | 
| Version | Git (pre2.4) [autotools] | 
| Operating System | Unspecified / All | 
| Last edited by | Martin Nolte (nolte@mathematik.uni-freiburg.de) | 
| Last edited at | May 7, 2009 11:08 | 
| Closed by | Martin Nolte (nolte@mathematik.uni-freiburg.de) | 
| Closed at | May 7, 2009 11:08 | 
| Closed in version | Unknown | 
| Resolution | Implemented | 
| Comment | A generic way to add the subindex / subid method has been implemented. All grids should support these methods by now. This completes the transition. | 
Description
Problem: The new generic geometries lead to some renumbering of subentities dim>codim>1 for cube, dim>codim>0 for simplex, codim>0 for pyramid/prism Therefore, some methods taking or returning numbers for subentity will behave differently.
Solution: renaming of corresponding methods and classes.
Methods (hopefully complete): Old -> New Intersection::intersectionInSelf -> Intersection::geometryInInside Intersection::intersectionInNeighbor -> Intersection::geometryInOutside Intersection::numberInSelf -> Intersection::numberInInside Intersection::numberInNeighbor -> Intersection::numberInOutside
Entity::entity -> Entity::subEntity IndexSet::subIndex(E,i) -> IndexSet::subIndex<codim,subcodim>(E,i) or IndexSet::subIndex(E,subcodim,i) IdSet::subIndex(E,i) -> IdSet::subId<codim,subcodim>(E,i) or IdSet::subId(E,subcodim,i) Geometry::operator[] -> Geometry::corner
Classes: Old -> New ReferenceElementContainer -> ReferenceElements (extends old struct) ReferenceElement -> not needed - get type from REProvider
Questions:
- Which part of grid/genericgeometry should be moved to dune-common (prehaps needed for dune-localfunction)? Suggestion: at least the topology stuff, prehaps reference elements.
- Geometry could return (together with the dune type) also the generic topology id (is an uint and together with dimension can be used for array lookup).
- while we are at it, the method Intersection::intersectionGlobal could be renamed to Intersection::geometry.