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
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to