[Dune] hanging node detection

Andreas Dedner A.S.Dedner at warwick.ac.uk
Tue Oct 18 11:45:32 CEST 2011


Hi Bernd,

to my knowledge there is no dune grid implementation at the moment that
can handle a non-conforming macro grid.

Best
Andreas

On 10/18/2011 09:30 AM, Bernd Flemisch wrote:
> Hey Carsten, hey Dune,
>
> thank you for your hints. I implemented it and it seems to work. 
> However, I came across another issue: I try to construct a macro 
> triangulation with hanging nodes via a DGF file, see e.g. the attached 
> file. Both ALU and UG create a boundary along the interface containing 
> the hanging node, so it is not possible to get to the neighbor via the 
> intersection. Does that mean that for ALU and UG, it is only possible 
> to construct conforming macrogrids with correct neighbor information? 
> Or is there some other way?
>
> Thank you. Kind regards
> Bernd
>
> On Thu, 13 Oct 2011 22:21:42 +0200
>  Carsten Gräser <graeser at math.fu-berlin.de> wrote:
>> Am 13.10.2011 17:29, schrieb Bernd Flemisch:
>>> Hey Carsten,
>>>
>>> that does not sound so bad, I will try that.
>> Just a few hints for the implementation:
>>
>> * If you want to use local finite elements you need to
>>  wrap a single local basis functions of one element
>>  to take local coordinated wrt the other. This
>>  requires to compute x_Alocal -> x_global -> x_Blocal
>>  while x_Alocal -> x_intersection_local -> x_Blocal
>>  does not work.
>>
>> * You might want to implement caching since one cannot
>>  implement a single local basis function at once.
>>
>> * If you really only want to know if a node is
>>  hanging the following does essentially the same
>>  but seems to be much simpler:
>>
>>  For each vertex of element A compute the local
>>  coordinates and barycentric coordinates in B.
>>  Then the node is hanging if any of these
>>  coordinates is in (0,1). The barycentric
>>  coordinates can be computed using the P1
>>  local fe.
>>
>> Best,
>> Carsten
>>
>>>
>>> Thank you for your fast answer. Kind regards
>>> Bernd
>>>
>>> On Thu, 13 Oct 2011 17:05:22 +0200
>>>  Carsten Gräser <graeser at math.fu-berlin.de> wrote:
>>>> Hello Bernd,
>>>>
>>>> Am 13.10.2011 16:18, schrieb Bernd Flemisch:
>>>>> Dear Dune,
>>>>>
>>>>> can you recommend a way of detecting whether a node is hanging or 
>>>>> not?
>>>>> It's easy if the neighboring elements are on different levels, but 
>>>>> let's
>>>>> assume they are on the same. I can think of comparing
>>>>> intersection.geometryInInside and intersection.geometryInOutside, but
>>>>> maybe there is something nicer?
>>>>
>>>> in dune-fufem we construct conforming fe spaces on grids with
>>>> hanging nodes in the following way:
>>>>
>>>> For each pair of neighboring elements we evaluate the local
>>>> interpolation on one element for all local basis functions
>>>> of the other. This gives you the weights you need to construct
>>>> the conforming composite basis function. This does at least
>>>> work for Pk,Qk, and RefinedP1 local finite elements on grids
>>>> with conforming level grids.
>>>>
>>>> If level grids are not conforming you can still use
>>>> this approach with P1/Q1 elements to find the hanging nodes
>>>> which are just the ones associated to all weights in (0,1).
>>>> Of coarse you must check this with some epsilon. However this
>>>> is safe for all reasonable grids.
>>>>
>>>> This approach does essentially wrap all coordinate computations
>>>> in a nice way. There might be faster ways to check this, however
>>>> you cannot avoid to do some coordinate computations because this
>>>> is the only way to check if a vertex is contained in a face if
>>>> it is not a node (or copy of one) of the face.
>>>>
>>>> Best,
>>>> Carsten
>
> ___________________________________________________________
>
> Bernd Flemisch                     phone: +49 711 685 69162
> IWS, Universitaet Stuttgart          fax: +49 711 685 67020
> Pfaffenwaldring 61        email: bernd at iws.uni-stuttgart.de
> D-70569 Stuttgart        url: www.hydrosys.uni-stuttgart.de
> ___________________________________________________________
>
>
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune
>    

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20111018/05e81ea1/attachment.htm>


More information about the Dune mailing list