On Thu, 29 Oct 2009, Tim Kroeger wrote:
>
> Is there any easy way to loop over all elems that are neighbors of a
> given elem accross either a face or an edge?  As fas as I understand,
> Elem::neighbor() only cares about neighbors accross faces.  On the
> other hand, Elem::find_point_neighbors() does too much.  I think, it
> should be easy to implement a method Elem::find_edge_neighbors()
> analogously to Elem::find_point_neighbors(), where just each call to
> Elem::contains_vertex_of() is replaced with a call to
> Elem::contains_edge_of(), the latter is implemented analogously to
> Elem::contains_vertex_of() with the only difference that for returning
> true, it requires at least *two* vertices of the one element contained
> to be contained in the other.  What do you guys think?  If you agree
> that this would be correct, I'd be happy to do this (easy and
> straightforward) task.

Sounds good...

Something that needs thought, though: there's a limitation in
find_point_neighbors() which will become a more significant limitation
in find_edge_neighbors(): behavior on adaptive meshes.

With find_point_neighbors, an elem can share a point with its neighbor
without sharing any nodes with its neighbor, for some first-order elements
two levels apart or some second-order elements three levels apart.
This is only a minor problem for our patch recovery estimator, which
doesn't quite grow patches in the most optimal way, so I never worried
about it.

With find_edge_neighbors, an elem can share part of an edge with its
neighbor without sharing a pair of nodes with its neighbor, this time
for any first-order elements one level apart or any second-order
elements two levels apart.

I don't know what you'd be using find_edge_neighbors for, though, so I
don't know if this is a problem.
---
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

Reply via email to