[Dune] Extract neighbouring element opposite to a certain vertex
Agnese, Marco
m.agnese13 at imperial.ac.uk
Thu Feb 25 17:25:49 CET 2016
>From the picture it seems that the vertex 3 is opposite to the so called front face (which has index 1) and that vertex 2 is opposite to the bottom one (index 0). It looks that the bottom face is defined by the vertices 0, 1 and 3 and that the vertex 2 is outside the plane of the screen. Obviously if the bottom face is defined by the vertices 0, 1 and 2 everything works fine. But since there aren't any dashed lines, it means that all edges are visible and necessary 2 is the "top''of the pyramid pointing outside the screen.
Or the fading numbers are the one covered by the faces? In that case everything is correct. But this isn't a very standard notation, at least for me, so, looking at the picture it comes automatically to me the first configuration which is wrong.
I don't know if it will be formatted correctly in the mailing list but the reference element should be drawn like this:
3
,/|`\
,/ | `\
,/ '. `\
,/ | `\
,/ | `\
0-----------'.-----2
`\. | ,/
`\. | ,/
`\. '. ,/
`\. |/
`1
Hope to have been sufficiently clear :)
Cheers,
Maco
________________________________________
From: Carsten Gräser <graeser at mi.fu-berlin.de>
Sent: 25 February 2016 16:04
To: Agnese, Marco; dune at dune-project.org
Subject: Re: [Dune] Extract neighbouring element opposite to a certain vertex
Am 25.02.2016 um 15:59 schrieb Agnese, Marco:
> Hi Martin,
>
>
> yes I am using conforming meshes.
>
>
> By the way
> https://www.dune-project.org/doc-2.2.1/doxygen/html/group__GeometryGenericReferenceElements.html seems
> wrong for the 3d simplex (section 3.). Shouldn't be 1 bottom and 0 front
> in the face numbering picture? Otherwise vertex_idx+oppsite_face_idx !=
> entity_dimension for vertex_idx=3 or 2.
I can't see any problem here, it's
3(top vertex) + 0(bottom face) = 3
and
2(back vertex) + 1 (front face) = 3,
exactly as stated by Martin.
Best,
Carsten
>
>
> Thank you very much,
>
> Marco
>
>
>
> ------------------------------------------------------------------------
> *From:* Martin Nolte <nolte at mathematik.uni-freiburg.de>
> *Sent:* 25 February 2016 14:41
> *To:* dune at dune-project.org
> *Subject:* Re: [Dune] Extract neighbouring element opposite to a certain
> vertex
>
> Hi Marco,
>
> yes, you have to iterate over all intersections to find the corresponding
> neighboring entity (I assume you are using a conforming grid, otherwise the
> neighbor will not be unique).
>
> You seek the intersection satisfying
>
> indexInIndide() == Entity::dimension - vtxIdx.
>
> Note that, in general, the world dimension does not coincide with the
> dimension (though I guess it does in your case).
>
> As to your second question: There is no guarantee on the order the faces
> are
> traversed in.
>
> Best,
>
> Martin
>
> On 02/25/2016 03:29 PM, Agnese, Marco wrote:
>> Hi,
>>
>> I have a simplex entity and I want to extract the neighbouring element
>> opposite to the vertex with local index vtxIdx.
>>
>> Therefore I need to find the intersection opposite to this vertex.
>>
>> This intersection has local index faceIdx=worlddim-vtxIdx. Is it right?
>>
>>
>> So if I extract entity.template subEntity<1>(faceIdx) I should be able to
>> extract this face. Am I correct? But the face extracted in this way is not an
>> intersection therefore I can't use it to find the neighbouring entity. Is
>> there a solution here?
>>
>>
>> The other solution is to loop over the intersections and extract the vtxIdx-th
>> one. But does it work always? Or which is the ordering of this intersections?
>>
>> I would expect to have them sorted accordingly the face local index (so
>> faceIdx) but that seems not to be the case. What am I missing?
>>
>>
>> Thank you very much for your help,
>>
>> cheers,
>>
>> Marco.
More information about the Dune
mailing list