> On 27 Feb 2023, at 4:42 PM, Matthew Knepley <knep...@gmail.com> wrote: > > On Mon, Feb 27, 2023 at 10:26 AM Pierre Jolivet <pie...@joliv.et > <mailto:pie...@joliv.et>> wrote: >>> On 27 Feb 2023, at 4:16 PM, Matthew Knepley <knep...@gmail.com >>> <mailto:knep...@gmail.com>> wrote: >>> >>> On Mon, Feb 27, 2023 at 10:13 AM Pierre Jolivet <pie...@joliv.et >>> <mailto:pie...@joliv.et>> wrote: >>>>> On 27 Feb 2023, at 3:59 PM, Matthew Knepley <knep...@gmail.com >>>>> <mailto:knep...@gmail.com>> wrote: >>>>> >>>>> On Mon, Feb 27, 2023 at 9:53 AM Zongze Yang <yangzon...@gmail.com >>>>> <mailto:yangzon...@gmail.com>> wrote: >>>>>> Hi, Matt, >>>>>> >>>>>> I tested coarsening a mesh by using ParMMg without firedrake, and found >>>>>> some issues: >>>>>> see the code and results here: >>>>>> https://gitlab.com/petsc/petsc/-/issues/1331 >>>>>> >>>>>> Could you have a look and give some comments or suggestions? >>>>> >>>>> I replied on the issue. More generally, the adaptive refinement software >>>>> has not seen wide use >>>> >>>> :) >>>> Matt probably meant “the _DMPlex interface_ to adaptive refinement >>>> software has not seen wide use”, Mmg has been rather widely used for 10+ >>>> years (here is a 13-year old presentation >>>> https://www.ljll.math.upmc.fr/hecht/ftp/ff++days/2010/exposes/Morice-MeshMetric.pdf). >>> >>> The interface is certainly new, but even ParMMG is only from Nov 2016, >>> which is very new if you are an old person :) >> >> Indeed. In fact, I do believe we should add a DMPlex mechanism to centralize >> (redistribute on a single process) a DMPlex and to call Mmg instead of >> ParMmg. >> It would certainly not be scalable for large meshes but: >> 1) there is no need for ParMmg on small-/medium-scale meshes >> 2) Mmg is more robust than ParMmg at this point in time >> 3) Mmg has more feature than ParMmg at this point in time, e.g., implicit >> remeshing using a level-set >> 4) there is more industry money funnelled into Mmg than into ParMmg >> I think the mechanism I mentioned initially was in the TODO list of the >> Firedrake people (or yours?), maybe it’s already done, but in any case it’s >> not hooked in the Mmg adaptor code, though it should (erroring out in the >> case where the communicator is of size greater than one would then not >> happen anymore). > > Yes, we used to do the same thing with partitioners. We can use > DMPlexGather(). > > I thought MMG only did 2D and ParMMG only did 3D, but this must be wrong now. > Can MMG do both?
Mmg does 2D, 3D, and 3D surfaces. ParMmg only does 3D (with no short-term plan for 2D or 3D surfaces). Thanks, Pierre > Thanks, > > Matt > >> Thanks, >> Pierre >> >>> Thanks, >>> >>> Matt >>> >>>> Thanks, >>>> Pierre >>>> >>>>> , and I expect >>>>> more of these kinds of bugs until more people use it. >>>>> >>>>> Thanks, >>>>> >>>>> Matt >>>>> >>>>>> Best wishes, >>>>>> Zongze >>>>>> >>>>>> >>>>>> On Mon, 27 Feb 2023 at 20:19, Matthew Knepley <knep...@gmail.com >>>>>> <mailto:knep...@gmail.com>> wrote: >>>>>>> On Sat, Feb 18, 2023 at 6:41 AM Zongze Yang <yangzon...@gmail.com >>>>>>> <mailto: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 >>>>>>>> <mailto: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/> >>>>> >>>>> >>>>> -- >>>>> 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/> >>> >>> >>> -- >>> 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/> > > > -- > 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/>