[Dune] attaching data to intersections

Arya Fallahi arya.fallahi at gmail.com
Thu Jun 6 16:36:40 CEST 2013


Dear Oliver and Jurgis,

Thank you very much for your replies and helps. The email from Jö seems to
be helpful and I am currently working on it. I hope it solves the problem.
I will update you as soon as I am finished with it.

Best regards and thanks,
Arya


On Thu, Jun 6, 2013 at 4:24 PM, Oliver Sander <sander at igpm.rwth-aachen.de>wrote:

> Hi Arya,
>
>
>
>> I am using .msh format produced by gmsh to prepare my grid and the tags
>> attached to the entities. In a specific analysis, I need to find
>> intersections with specific tags. These tags for any kind of
>> elements are supported by .msh and also by dgf format and ALUGrid. What I
>> need to do is to call the tags of intersections from dune. The same thing
>> as what intersect->boundaryId() does is needed.
>> However, boundaryId() gives the tags if and only if the intersection is
>> of boundary type i.e. intersect->boundaryId() = true. I have read the dune
>> tutorial in detail and also searched through out the
>> class documentation but could not find how the tags can be retrieved if
>> intersect->boundaryId() = false. Do you know if this is supported or
>> implemented at all in dune?
>>
>>
> The behavior of boundaryId() is not specified anywhere.  In fact,
> different grid implementations return different things when you
> call it.
>
> It seems to me what you really want to do is attach data to faces.
> (i.e., codim-1 entities).  Jö's email which Jurgis just resurrected
> gives you some information on how to do that.
>
> Unfortunately, IIRC even though you can tag faces in the .msh format,
> our gmsh reader doesn't actually forward that information.
> We'd happily accept patches.
>
> Best,
> Oliver
>
>
>
>  Thank you in advance for your help,
>>
>> Arya
>>
>>
>> On Thu, Jun 6, 2013 at 1:24 PM, Jurgis Pods <jurgis.pods at iwr.uni-**
>> heidelberg.de <jurgis.pods at iwr.uni-heidelberg.de> <mailto:
>> jurgis.pods at iwr.uni-**heidelberg.de <jurgis.pods at iwr.uni-heidelberg.de>>>
>> wrote:
>>
>>     Hi Steffen,
>>
>>     thanks for the hint! I actually got it to work, it turned out that my
>> problem actually was that I used dune-multidomaingrid the wrong way!
>>
>>     [Begin Off-topic]
>>     When defining the multidomain grid like this:
>>
>>     typedef Dune::MultiDomainGrid<__**HostGrid,Dune::mdgrid::__**
>> FewSubDomainsTraits<HostGrid::**__dimension,2,Dune::mdgrid::__**CellAndVertexCodims>
>> > Grid;
>>
>>
>>
>>     and then calling for an IntersectionIterator 'iit' the following:
>>
>>     gv.indexSet().subIndex(*iit->_**_inside(), iit->indexInInside(), 1)
>>
>>
>>
>>     on the multidomain gridview, everything goes well. But when calling
>> this on a *subdomain* gridview:
>>
>>     subgv.indexSet().subIndex(*__**iit->inside(), iit->indexInInside(),
>> 1)
>>
>>
>>
>>     the program would exit and complain with
>>
>>     Dune reported error: GridError [invoke:/home/jpods/workspace/**
>> __dev/dune-multidomaingrid/**dune/__grid/multidomaingrid/__**indexsets.hh:92]:
>> codim not supported
>>
>>
>>
>>     Apparently, the lesson learned is to only use the subIndex() method
>> on the multidomain gridview.
>>     [End Off-topic]
>>
>>     Thanks again!
>>     Jurgis
>>
>>
>>     On 06.06.2013 10:13, Steffen Müthing wrote:
>>
>>         Hi Jurgis,
>>
>>         you don't need actual face entity objects to do this, you just
>> need their indices (and those should be provided by
>>         all DUNE grids, if I understand the grid paper correctly - you
>> are fine at least, because YaspGrid definitely provides
>>         indices for faces). If your grid does not support face entities,
>> you can still get their indices with the help of the cell
>>         entity if you know the embedding of the face in the cell (usually
>> from Intersection::indexInInside() ). You can even get
>>         the indices of the face's subentities. Take a look at
>> IndexSet::subIndex() for the details.
>>
>>         That said (and slightly off-topic for this list), I don't have
>> the slightest idea if IntersectionIndexSet still works. That thing
>>         was only ever really used by Sven's mimetic FD code, and that
>> hasn't been maintained for quite a while now. YMMV
>>         (it's definitely broken in PDELab master, though)...
>>
>>         Steffen
>>
>>         Am 05.06.2013 um 14:58 schrieb Jurgis Pods:
>>
>>             Hi Steffen,
>>
>>             this approach (using PDELab's IntersectionIndexSet) will not
>> work on grids which do not support codim-1 entities, will it? Does this
>> mean I have to use an IdSet in this case?
>>
>>             Jurgis
>>
>>
>>             On 07.11.2012 22 <tel:07.11.2012%2022>:21, Steffen Müthing
>> wrote:
>>
>>                 Hi Marco,
>>
>>                 as long as your grid has a conforming macro grid (which
>> is true for every Dune grid I know),
>>                 you can always associate the data with the face belonging
>> to the more-refined
>>                 entity (the one with the higher level), or with the face
>> belonging to the cell with
>>                 the lower index (if the levels are the same). To get the
>> index of that face, you can
>>                 use the subIndex() method of the IndexSet with the cell
>> and the value of indexInInside()
>>                 or indexInOutside() from the intersection.
>>
>>                 In PDELab, there is an IntersectionIndexSet that does
>> something like that. Perhaps you
>>                 can simply use that, or you can use it as inspiration for
>> your own implementation… ;-)
>>
>>                 Steffen
>>
>>
>>                 Am 07.11.2012 um 18:03 schrieb Marco Cisternino:
>>
>>
>>                     Hi Duners,
>>                     I need to attach data to intersections. I would like
>> to avoid redundance of data (using a mapper to elements and attaching a stl
>> container to store values on its intersections) and
>>                     time consumption to access data (using a stl map).
>>                     I wonder if something like a mapper is available for
>> intersections. Choosing the right layout for a MCMG mapper would not work,
>> I guess, on non conforming grid, doesn't it?
>>                     Thank you very much, again.
>>
>>                     Marco
>>
>>
>>                     --
>>                     Marco Cisternino
>>                     Optimad Engineering s.r.l.
>>
>>                     www.optimad.it <http://www.optimad.it>
>>                     marco.cisternino at optimad.it <mailto:marco.cisternino@
>> **optimad.it <marco.cisternino at optimad.it>>
>>
>>                     +3901119719782 <tel:%2B3901119719782>
>>
>>
>>                     ______________________________**___________________
>>                     Dune mailing list
>>
>>                     Dune at dune-project.org <mailto:Dune at dune-project.org>
>>                     http://lists.dune-project.org/**
>> __mailman/listinfo/dune<http://lists.dune-project.org/__mailman/listinfo/dune><
>> http://lists.dune-project.**org/mailman/listinfo/dune<http://lists.dune-project.org/mailman/listinfo/dune>
>> >
>>
>>
>>                 Steffen Müthing
>>                 Universität Stuttgart
>>                 Institut für Parallele und Verteilte Systeme
>>                 Universitätsstr. 38
>>                 70569 Stuttgart
>>                 Tel: +49 711 685 88429 <tel:%2B49%20711%20685%**2088429>
>>                 Fax: +49 711 685 88340 <tel:%2B49%20711%20685%**2088340>
>>                 Email:
>>                 steffen.muething at ipvs.uni-__**stuttgart.de<steffen.muething at ipvs.uni-__stuttgart.de><mailto:
>> steffen.muething at ipvs.**uni-stuttgart.de<steffen.muething at ipvs.uni-stuttgart.de>
>> >
>>
>>
>>
>>
>>
>>                 ______________________________**___________________
>>                 Dune mailing list
>>
>>                 Dune at dune-project.org <mailto:Dune at dune-project.org>
>>                 http://lists.dune-project.org/**__mailman/listinfo/dune<http://lists.dune-project.org/__mailman/listinfo/dune><
>> http://lists.dune-project.**org/mailman/listinfo/dune<http://lists.dune-project.org/mailman/listinfo/dune>
>> >
>>
>>
>>         Steffen Müthing
>>         Universität Stuttgart
>>         Institut für Parallele und Verteilte Systeme
>>         Universitätsstr. 38
>>         70569 Stuttgart
>>         Tel: +49 711 685 88429 <tel:%2B49%20711%20685%**2088429>
>>         Fax: +49 711 685 88340 <tel:%2B49%20711%20685%**2088340>
>>         Email: steffen.muething at ipvs.uni-__**stuttgart.de<steffen.muething at ipvs.uni-__stuttgart.de><mailto:
>> steffen.muething at ipvs.**uni-stuttgart.de<steffen.muething at ipvs.uni-stuttgart.de>
>> >
>>
>>
>>
>>     ______________________________**___________________
>>     Dune mailing list
>>     Dune at dune-project.org <mailto:Dune at dune-project.org>
>>     http://lists.dune-project.org/**__mailman/listinfo/dune<http://lists.dune-project.org/__mailman/listinfo/dune><
>> http://lists.dune-project.**org/mailman/listinfo/dune<http://lists.dune-project.org/mailman/listinfo/dune>
>> >
>>
>>
>>
>>
>>
>> ______________________________**_________________
>> Dune mailing list
>> Dune at dune-project.org
>> http://lists.dune-project.org/**mailman/listinfo/dune<http://lists.dune-project.org/mailman/listinfo/dune>
>>
>
>
> ______________________________**_________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/**mailman/listinfo/dune<http://lists.dune-project.org/mailman/listinfo/dune>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20130606/4ec00f79/attachment.htm>


More information about the Dune mailing list