[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