On Wed, 14 Oct 2009, Derek Gaston wrote:
> I thought I ran into similar problems when I did mesh redistribution /
> smoothing + adaptivity. I was able to go in and "fix" the hanging
> nodes somehow... But I don't remember where I did it ( I thought it
> was down inside the library and I committed it back).
Heh, and I thought your solution to that was to just do the adaptivity
first and the redistribution second. ;-)
> I'm not near a computer right now where I can go look at what I did
> (I'm traveling this week)... But I bet if you look back a few years
> (2007?) you might see a checkin from me referencing it.
Aha! MeshTools::find_hanging_nodes_and_parents() looks like it's
exactly the trick we'd need.
Call that function, get the hanging_nodes map.
Do
hanging_node_moved = false
Loop over hanging_nodes
If a node isn't already in between its parents
move it
hanging_node_moved = true
While(hanging_node_moved == true)
The loop probably isn't the most efficient way to handle recursive
constraints (maybe a depth-first descent into hanging_nodes at each
entry?) but it would work.
---
Roy
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users