>> (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
