[petsc-users] Inquiry regarding DMAdaptLabel function

Matthew Knepley knepley at gmail.com
Mon Feb 27 06:19:35 CST 2023


On Sat, Feb 18, 2023 at 6:41 AM Zongze Yang <yangzongze at 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 <yangzongze at 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/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20230227/2f24b4c3/attachment.html>


More information about the petsc-users mailing list