[Dune] same ID for several interfaces!

Benjamin Faigle Benjamin.faigle at iws.uni-stuttgart.de
Wed Jun 8 14:28:25 CEST 2011


Hello,

to clarify the concerns, I want to extend my small sketch:

+---+-------+-------+
|   |       |       |
+---+   7   |   8   |
|   |       |       |
+---+---+---+-------+
|   | 39| 38|       |
+---+---+---+   15  |
|   | 36| 37|       |
+---+---+---+-------+
|   |       |       |
+---+   6   |   12  |
|   |       |       |
+---+-------+-------+

I doublechecked the sketch, both with indices and via global positions 
through is.geometry().center(). The wrong faces are not next to each 
other. But I indeed made a mistake in my mail, same IDs are for 38-7 and 
!37!-6, however that should not really be a difference.

I also checked the is.indexInOutside(), which is 2 for IS 38->7 and is 3 
for IS 37->6.

I will try it with dune 2.1, but this will take some time...
Cheers,

Benjamin


On 06/08/2011 02:02 PM, Carsten Gräser wrote:
> Hi Benjamin,
>
> Am 08.06.2011 13:53, schrieb Oliver Sander:
>> Hi Benjamin!
>> Thanks for reporting this.  So you claim that you have come across a
>> UGGrid configuration with non-unique edge indices?  That would indeed
>> be a bug.
>>
>> However, you know that the line
>>
>> grid.globalIdSet().subId(*is.inside(), is.indexInOutside(), 1);
>>
>> is not what you want: you would want is is.indexInInside().  That may
>> already explain your problem with the double id: if you are on 38 then
>> indexInOutside is one of 0,1,2,3,4.  However element 38 has only
>> four edges.  Hence if indexInOutside happens to be 4 you run into
>> undefined behaviour.
> this is not true. In your case both have four faces.
>
> If the situation is exactly as you depicted this is an error. Since
> 7,8,36,38 all have four faces but 36 and 38 do not share a common
> face this should not happen.
>
> If the situation is only similar to your drawing, the behaviour
> might be OK:
>
> * If 7 or 6 have more faces then 38 or 36, respectively, (triangles and quads)
>    you have undefined behaviour. That's the case Oliver had in mind.
> * If you exchange 38 and 39 this behaviour might be correct,
>    since 36 and 38 would share a face.
>
>> Here's my suggestion:
>> Try the same with Dune 2.1 and see if the problem persists.
>> If it does persist create a test case that triggers the problem
>> while using the grid API correctly.  If you have such a test
>> case please report back to me and I will try to fix it.
> In addition please check if one of the two points above apply.
>
> Thanks,
> Carsten
>
>>
>> Thanks in advance,
>> Oliver
>>
>>




More information about the Dune mailing list