[Dune] CurvilinearGridAPI: Implementation of EntityTags and BoundaryIterators

Oliver Sander sander at igpm.rwth-aachen.de
Thu Dec 18 15:17:06 CET 2014


Am 18.12.2014 um 12:57 schrieb Aleksejs Fomins:
> Dear Dune,
> 
> We are currently in the process of implementing the GridAPI for the
> curvilinear grid. While doing this, we realise that there is a certain
> functionality of the API which is currently not present, but would be
> very useful for the users. We wish to implement it, and ask for your
> suggestion on how best to do it
> 
> 1) We require a tag (integer) associated with each entity. This tag, for
> example, can contain the information about the material property of the
> entity. So far, this information was stored in DGF and accessed via the
> GridPtr.parameters() operation. However, we suggest that this
> information is a necessity for some users regardless of the mesh format
> and the reader used. Currently, we have a parallel GMSH reader, which
> reads the curvilinear grid in parallel and stores information associated
> with the elements (including the tag) within the CurvilinearGrid. The
> only question is, which way would
> the community prefer to access this information. We suggest to add a
> method EntityTag to the entity class of CurvilinearGrid, which would
> return the associated integer. We appreciate your suggestions
> 
> 2) There is a whole set of calculations that can be performed by
> iterating over the boundary of the grid, be it domain boundary or
> interprocessor boundary. In our electromagnetic code, to this point we
> have used the EntityIterator->IntersectionIterator->boundary() and
> ->neighbor(), thus looping over all elements, then over all
> intersections of the element, and only performing certain operations if
> the faces of the element were not the internal faces. This operation
> could be significantly accelerated, if it was possible to directly
> iterate over DomainBoundaries and/or ProcessBoundaries. Is there
> currently a way to perform this operation. If not, then we would like to
> construct such iterators in CurvilinearGrid. We suggest classes
> DomainBoundaryIterator and ProcessBoundaryIterator. We appreciate your
> suggestions
> 

Hi Aleksejs,
I don't see your first suggestion realized anytime soon.  It violates the
Dune principle of the separation of grid and data, and expect quite a bit
of opposition to it.
Your second proposal sounds much more realistic; in fact, I have heard
other people propose it, too, already.
Cheers,
Oliver


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20141218/181cccb7/attachment.sig>


More information about the Dune mailing list