Thank you for the answers. For the first question, basically, I cannot run "/dm/impls/plex/ex1f90.F90" example with more than 1 proc. I removed DMPlexDistribute() following your comment and what I tried is:
- no modification to ex1f90.F90 (as it is) - make "ex1f90" - mpirun -np 2 ./ex1f90 It gives me "Bad termination of one of ..." for Rank 1. The code runs okay with "mpirun -np 1 ./ex1f90". Thanks, Mike 2022년 4월 26일 (화) 오전 3:56, Matthew Knepley <[email protected]>님이 작성: > On Mon, Apr 25, 2022 at 9:41 PM Mike Michell <[email protected]> > wrote: > >> Dear PETSc developer team, >> >> I'm trying to learn DMPlex to build a parallel finite volume code in 2D & >> 3D. More specifically, I want to read a grid from .msh file by Gmsh. >> For practice, I modified /dm/impls/plex/ex1f90.F90 case to read & >> distribute my sample 2D grid, which is attached. I have two questions as >> below: >> >> (1) First, if I do not use my grid, but use the default box grid built by >> ex1f90.F90 and if I try "DMPlexDistribute" over mpi processors, the output >> file (sol.vtk) has only some portion of the entire mesh. How can I print >> out the entire thing into a single file? Is there any example for parallel >> output? (Related files attached to "/Question_1/") Paraview gives me some >> error messages about data size mismatching. >> > > For the last release, we made parallel distribution the default. Thus, you > do not need to call DMPlexDIstribute() explicitly here. Taking it out, I > can run your example. > > >> (2) If I create DMPlex object through "DMPlexCreateGmshFromFile", >> "DMPlexCreateSection" part is crashed. I do not understand why my example >> code does not work, because the only change was switching from "DMCreate" >> to "DMPlexCreateGmshFromFile" and providing "new.msh" file. Without the >> PetscSection object, the code works fine. Any comments about this? (Related >> files attached to "/Question_2/") >> > > If I remove DMPlexDistribute() from this code, it is clear that the > problem is with the "marker" label. We do not create this by default from > GMsh since we assume people have defined their own labels. You can pass > > -dm_plex_gmsh_use_marker > > to your code. WHen I do this, you example runs for me. > > Thanks, > > Matt > > >> Thanks, >> Mike >> > > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which their > experiments lead. > -- Norbert Wiener > > https://www.cse.buffalo.edu/~knepley/ > <http://www.cse.buffalo.edu/~knepley/> >
