On Sat, Feb 18, 2023 at 6:41 AM Zongze Yang <yangzon...@gmail.com> wrote:
> Another question on mesh coarsening is about `DMCoarsen` which will fail > when running in parallel. > > I generate a mesh in Firedrake, and then create function space and > functions, after that, I get the dmplex and coarsen it. > When running in serials, I get the mesh coarsened correctly. But it failed > with errors in ParMMG when running parallel. > > However, If I did not create function space and functions on the original > mesh, everything works fine too. > > The code and the error logs are attached. > I believe the problem is that Firedrake and PETSc currently have incompatible coordinate spaces. We are working to fix this, and I expect it to work by this summer. Thanks, Matt > Thank you for your time and attention。 > > Best wishes, > Zongze > > > On Sat, 18 Feb 2023 at 15:24, Zongze Yang <yangzon...@gmail.com> wrote: > >> Dear PETSc Group, >> >> I am writing to inquire about the function DMAdaptLabel in PETSc. >> I am trying to use it coarse a mesh, but the resulting mesh is refined. >> >> In the following code, all of the `adpat` label values were set to 2 >> (DM_ADAPT_COARSEN). >> There must be something wrong. Could you give some suggestions? >> >> ```python >> from firedrake import * >> from firedrake.petsc import PETSc >> >> def mark_all_cells(mesh): >> plex = mesh.topology_dm >> with PETSc.Log.Event("ADD_ADAPT_LABEL"): >> plex.createLabel('adapt') >> cs, ce = plex.getHeightStratum(0) >> for i in range(cs, ce): >> plex.setLabelValue('adapt', i, 2) >> >> return plex >> >> mesh = RectangleMesh(10, 10, 1, 1) >> >> x = SpatialCoordinate(mesh) >> V = FunctionSpace(mesh, 'CG', 1) >> f = Function(V).interpolate(10 + 10*sin(x[0])) >> triplot(mesh) >> >> plex = mark_all_cells(mesh) >> new_plex = plex.adaptLabel('adapt') >> mesh = Mesh(new_plex) >> triplot(mesh) >> ``` >> >> Thank you very much for your time. >> >> Best wishes, >> Zongze >> > -- 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/>