>> (2) compute a bounding box for the local elements, and communicate
>> these
>> globally in an alltoall or something
> 
> Wow - didn't realize Nemesis was such a pain in the ass...

Well, the 'elem_cmaps' tell you the neighboring processor id (by element /
by face), but I do not think it is required to be there so I don't want to
rely on it.  In any case, I'd rather not store that in the parallel XDR file
implementation, hence this general purpose algorithm going into
MeshCommunication.

> Is there support for the local bounding box stuff now?  We're going to
> need that capability fairly soon for doing contact calculations.... if
> you implement this capability it would be nice to dual-purpose it.

Yeah, in MeshTools:: there are methods to get the bounding box for an entire
mesh, by processor id, or by subdomain id.  Not sure why there is not a
method which takes arbitrary element or node iterators...

> Your algorithm for all of this looks really good to me... there is
> going to be some detail to consider in the "bounding box touching"
> part.  I'm thinking of things like two processors bounding boxes
> touching at one point... it might get hard to detect...

Right now our 'BoundingBox' was simply typedef'ef to a pair of points.  I'm
implementing a proper class which instead is derived from a pair of points
so that everything old still works, but also provides this additional
functionality.

What I actually have planned is to compute the bounding box, 'grow' it by
some small, specified amount (5%?), and then test for intersection.  Since
I'm using this only to find *potential* neighboring processors, there should
be no harm in increasing the number of false positives by some small amount.

There is actually a commented-out section of code in MeshCommunication that
used to do this using bounding spheres, but I think for my meshes with
boundary-layers that would just have an annoying amount of false positives.

-Ben


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to