On Thu, 10 Mar 2016, Thiago Milanetto Schlittler wrote: > In my code, I have a situation where each processor needs a full > copy of a rather small mesh. I seems like > libMesh::ParallelMesh::allgather() does the trick,
It does, but if you're serializing a ParallelMesh then it's more efficient to just use a SerialMesh in the first place. You can mix the two by specifying the mesh types in place of "Mesh" in application codes; our configure option just indicates which class Mesh is a shim for. > but the documentation > indicates to do not use this class "unless you're developing or > debugging it". Still, I've seen other examples of people using it in > this mailing list. So, is it safe to use this class in production code? At the moment, the answer depends on what you're using it *with*. On the one hand, we run dozens of regression tests in both the libMesh core and in libMesh apps which work fine with both SerialMesh and ParallelMesh. In my own codes, the only failure with ParallelMesh is a failure in an application when we enable an integrodifferential equation term for which my code lazily assumes the whole mesh is visible. On the other hand, there have been lots of examples, even recently, of bugfixes with lesser-used and test-coverage-free features. When I got some real test coverage on unique_id() last November we discovered it was horribly broken with ParallelMesh. I'm currently getting test coverage for hp refinement, and at the moment my branch to do that is working with SerialMesh and failing with ParallelMesh. There was a recently uncovered bug with AdjointRefinementErrorEstimator interaction with ParallelMesh. So it's definitely still a riskier class to develop with. IMHO the recommended thing to do today is swap between SerialMesh and ParallelMesh while developing and running small-scale problems, to make sure that the latter isn't either responsible for or a red herring for any application bugs, then after your code is ready to scale up you switch to ParallelMesh. --- Roy ------------------------------------------------------------------------------ Transform Data into Opportunity. Accelerate data analysis in your applications with Intel Data Analytics Acceleration Library. Click to learn more. http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140 _______________________________________________ Libmesh-users mailing list Libmesh-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-users