<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
Hi Bernd,<br>
<br>
to my knowledge there is no dune grid implementation at the moment that<br>
can handle a non-conforming macro grid. <br>
<br>
Best<br>
Andreas<br>
<br>
On 10/18/2011 09:30 AM, Bernd Flemisch wrote:
<blockquote cite="mid:web-150182649@uni-stuttgart.de" type="cite">Hey
Carsten, hey Dune,
<br>
<br>
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?
<br>
<br>
Thank you. Kind regards
<br>
Bernd
<br>
<br>
On Thu, 13 Oct 2011 22:21:42 +0200
<br>
Carsten Gräser <a class="moz-txt-link-rfc2396E" href="mailto:graeser@math.fu-berlin.de"><graeser@math.fu-berlin.de></a> wrote:
<br>
<blockquote type="cite">Am 13.10.2011 17:29, schrieb Bernd Flemisch:
<br>
<blockquote type="cite">Hey Carsten,
<br>
<br>
that does not sound so bad, I will try that.
<br>
</blockquote>
Just a few hints for the implementation:
<br>
<br>
* If you want to use local finite elements you need to
<br>
wrap a single local basis functions of one element
<br>
to take local coordinated wrt the other. This
<br>
requires to compute x_Alocal -> x_global -> x_Blocal
<br>
while x_Alocal -> x_intersection_local -> x_Blocal
<br>
does not work.
<br>
<br>
* You might want to implement caching since one cannot
<br>
implement a single local basis function at once.
<br>
<br>
* If you really only want to know if a node is
<br>
hanging the following does essentially the same
<br>
but seems to be much simpler:
<br>
<br>
For each vertex of element A compute the local
<br>
coordinates and barycentric coordinates in B.
<br>
Then the node is hanging if any of these
<br>
coordinates is in (0,1). The barycentric
<br>
coordinates can be computed using the P1
<br>
local fe.
<br>
<br>
Best,
<br>
Carsten
<br>
<br>
<blockquote type="cite"><br>
Thank you for your fast answer. Kind regards
<br>
Bernd
<br>
<br>
On Thu, 13 Oct 2011 17:05:22 +0200
<br>
Carsten Gräser <a class="moz-txt-link-rfc2396E" href="mailto:graeser@math.fu-berlin.de"><graeser@math.fu-berlin.de></a> wrote:
<br>
<blockquote type="cite">Hello Bernd,
<br>
<br>
Am 13.10.2011 16:18, schrieb Bernd Flemisch:
<br>
<blockquote type="cite">Dear Dune,
<br>
<br>
can you recommend a way of detecting whether a node is hanging or not?
<br>
It's easy if the neighboring elements are on different levels, but
let's
<br>
assume they are on the same. I can think of comparing
<br>
intersection.geometryInInside and intersection.geometryInOutside, but
<br>
maybe there is something nicer?
<br>
</blockquote>
<br>
in dune-fufem we construct conforming fe spaces on grids with
<br>
hanging nodes in the following way:
<br>
<br>
For each pair of neighboring elements we evaluate the local
<br>
interpolation on one element for all local basis functions
<br>
of the other. This gives you the weights you need to construct
<br>
the conforming composite basis function. This does at least
<br>
work for Pk,Qk, and RefinedP1 local finite elements on grids
<br>
with conforming level grids.
<br>
<br>
If level grids are not conforming you can still use
<br>
this approach with P1/Q1 elements to find the hanging nodes
<br>
which are just the ones associated to all weights in (0,1).
<br>
Of coarse you must check this with some epsilon. However this
<br>
is safe for all reasonable grids.
<br>
<br>
This approach does essentially wrap all coordinate computations
<br>
in a nice way. There might be faster ways to check this, however
<br>
you cannot avoid to do some coordinate computations because this
<br>
is the only way to check if a vertex is contained in a face if
<br>
it is not a node (or copy of one) of the face.
<br>
<br>
Best,
<br>
Carsten
<br>
</blockquote>
</blockquote>
</blockquote>
<br>
___________________________________________________________
<br>
<br>
Bernd Flemisch phone: +49 711 685 69162
<br>
IWS, Universitaet Stuttgart fax: +49 711 685 67020
<br>
Pfaffenwaldring 61 email: <a class="moz-txt-link-abbreviated" href="mailto:bernd@iws.uni-stuttgart.de">bernd@iws.uni-stuttgart.de</a>
<br>
D-70569 Stuttgart url: <a class="moz-txt-link-abbreviated" href="http://www.hydrosys.uni-stuttgart.de">www.hydrosys.uni-stuttgart.de</a>
<br>
___________________________________________________________
<br>
<pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Dune mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Dune@dune-project.org">Dune@dune-project.org</a>
<a class="moz-txt-link-freetext" href="http://lists.dune-project.org/mailman/listinfo/dune">http://lists.dune-project.org/mailman/listinfo/dune</a>
</pre>
</blockquote>
<br>
</body>
</html>