So, how were you judging that the mesh wasn't getting repartitioned? I can't remember, does the processor_id come out automatically when we output GMV?
Also: cool, I didn't know Paraview could read GMV. That's a seriously old mesh format! Derek On Wed, Aug 5, 2015 at 3:33 PM Junchao Zhang <junchao.zh...@gmail.com> wrote: > I used GMVIO(mesh).write("output.gmv"); > > --Junchao Zhang > > On Wed, Aug 5, 2015 at 2:32 PM, Derek Gaston <fried...@gmail.com> wrote: > >> What file format were you using to write the mesh out and view it in >> Paraview? >> >> Derek >> >> On Wed, Aug 5, 2015 at 12:14 PM Junchao Zhang <junchao.zh...@gmail.com> >> wrote: >> >>> <<forgot to add the mailing list, so I resend it>> >>> >>> In addition, I did more experiments. I increased the input mesh size, >>> let >>> it has 64 elements and ran with 12 processes. It looks libmesh keeps the >>> original partition (got when the mesh is read in) unchanged, and does not >>> do repartitioning after refinement. I observed it from viewing output >>> mesh >>> in paraview. >>> So the question is under what conditions mesh repartitioning will be >>> triggered in libmesh? >>> >>> Thank you very much. >>> >>> --Junchao Zhang >>> >>> On Tue, Aug 4, 2015 at 2:58 PM, Junchao Zhang <junchao.zh...@gmail.com> >>> wrote: >>> >>> > Hi, John, >>> > >>> > Attached are my naive AMR (adapted from adaptivity_ex2.C) and its >>> input. I >>> > compiled it with `libmesh-config --cxx` -o amr_libmesh >>> > ../examples/amr_libmesh.cpp `libmesh-config --cxxflags --include >>> --ldflags >>> > --libs` and ran it with mpirun -n 5 ./amr_libmesh -niter 5 >>> > I opened output.gmv and I could only see partitions on four >>> processors. I >>> > don't know where I can call mesh.partition(n). >>> > >>> > Thanks. >>> > >>> > >>> > --Junchao Zhang >>> > >>> > On Tue, Aug 4, 2015 at 2:26 PM, John Peterson <jwpeter...@gmail.com> >>> > wrote: >>> > >>> >> >>> >> >>> >> On Tue, Aug 4, 2015 at 1:07 PM, Junchao Zhang < >>> junchao.zh...@gmail.com> >>> >> wrote: >>> >> >>> >>> 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. >>> >>> >>> >> >>> >> >>> >> What happens if you call mesh.partition(n) directly? >>> >> >>> >> Please post your entire code so we can take a look. >>> >> >>> >> -- >>> >> John >>> >> >>> > >>> > >>> >>> ------------------------------------------------------------------------------ >>> _______________________________________________ >>> Libmesh-users mailing list >>> Libmesh-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/libmesh-users >>> >> > ------------------------------------------------------------------------------ _______________________________________________ Libmesh-users mailing list Libmesh-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-users