Hello,
I am writing a simple AMR code with libmesh. My input mesh has 4
elements. I use ParallelMesh. I found I could not distribute it to more
than four processes even after refinement.
In my code, I firstly do mesh.read("mesh.xda"). I find libmesh reads the
data and distributes it on four processes, and mesh._is_serial is set to
false. After that, I call mesh_refinement.refine_and_coarsen_elements(),
which calls _mesh.prepare_for_use (), and then this->partition(). But in
mesh_base.C, since this->is_serial() is false, the partitioner never gets
called.
<< mesh_base.C>>
375 // Non-serial meshes may not be ready for repartitioning here.
376 else if(!skip_partitioning() &&
377 partitioner().get() &&
378 this->is_serial())
379 {
380 partitioner()->partition (*this, n_parts);
381 }
So, why are non-serial meshes not repartitioned?
Thanks.
--Junchao Zhang
------------------------------------------------------------------------------
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users