[Dune] CurvilinearGridAPI: Implementation of EntityTags and BoundaryIterators
Dedner, Andreas
A.S.Dedner at warwick.ac.uk
Thu Dec 18 15:16:23 CET 2014
Hi.
I agree with both feature request but I can tell you right away that at least with respect to the material property you will not find much support. We had a method like that for a boundary id but that was now removed. The argument is that this data can be stored by the user using the index set or the persistent container like your computational data. What you of course still need for the readers is to export the info from the file for the user.
Best
Andreas
Sent from Samsung Mobile
-------- Original message --------
From: Aleksejs Fomins
Date:18/12/2014 12:55 (GMT+01:00)
To: Dune
Subject: [Dune] CurvilinearGridAPI: Implementation of EntityTags and BoundaryIterators
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
Regards,
Aleksejs Fomins
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20141218/62b3ac6c/attachment.htm>
More information about the Dune
mailing list