[Dune] attaching data to intersections

Jurgis Pods jurgis.pods at iwr.uni-heidelberg.de
Thu Jun 6 13:24:38 CEST 2013


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: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
>>>> marco.cisternino at optimad.it
>>>>
>>>> +3901119719782
>>>>
>>>>
>>>> _______________________________________________
>>>> Dune mailing list
>>>>
>>>> Dune at dune-project.org
>>>> 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
>>> Fax: +49 711 685 88340
>>> Email:
>>> steffen.muething at ipvs.uni-stuttgart.de
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Dune mailing list
>>>
>>> Dune at dune-project.org
>>> 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
> Fax: +49 711 685 88340
> Email: steffen.muething at ipvs.uni-stuttgart.de
>





More information about the Dune mailing list