TL;DR;
I have a need for retrieving just the ghosted elements on a given processor
or to put it another way, the difference of the semi-local and local
elements.

My current plan is to pass the begin/end iterators of these two methods to
the set_difference() algorithm. Does anyone have a different or better way?

Longer explanation:
The first thing I always ask users is, "What are you trying to do?" So
here's what I want to do. I'm basically starting to think about cutting the
amount of element or node ids that I need to communicate globally for work
on my grain tracking algorithm. Right now I have to communicate all nodes
or elements within each "grain" because I have no way of knowing just how
big these grains might be. They could potentially grow to span the entire
domain so global communication is necessary. Once these regions are
communicated a stitching (merging) process occurs. Repeated testing has
shown me that in 3D, this stitching process is VERY expensive.

So my first optimization is to cull out all of the interior nodes/elements
within a grain, only communicating those that lie on processor boundaries.
This will greatly reduce the number of entities involved in both the
communication and stitching process. To do this, I need to know which
elements lie on the processor boundary. I plan to compute this by
determining only the ghosted entities on each processor and then gathering
them on all processors.

Thanks for any insight or new ideas on this problem,
Cody
------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to