[petsc-users] petsc4py/Plex createSection

Matthew Knepley knepley at gmail.com
Sat Mar 28 11:15:38 CDT 2020


On Sat, Mar 28, 2020 at 10:04 AM Nicolas Barral <
nicolas.barral at math.u-bordeaux.fr> wrote:

> All,
>
> I hope you're all safe and fine.
>
> My question may be due to me being rusty with dmplex, please forgive me
>

Hi Nicolas! I hope everything is good Bordeaux despite the lockdown.

I think I know this one. I put in support for having fields that extend
over only part of the mesh, which some
users really needed. This means that the DM has a description of fields
independent from the DS and Section.
Thus we have to ask the DM how many fields it has when creating the Section
automatically now. I think you
can fix this by first telling the DM that it has one field:

  field = PETSc.Object()
  field.setName('potential')
  dm.addField(field)
  <createSection>

  Thanks,

     Matt


> if I missed something obvious...
> In my Firedrake code, I had the following line for a 2D mesh
> > section = createSection([1], [2, 0, 0], perm=mesh._plex_renumbering)
> where mesh._plex_renumbering was an IS containing the mesh renumbering.
> This created a nice section mapping the plex to a P1 field.
>
> However, with a recently installed Petsc/petsc4py, this does not work
> anymore and results in a section pointing all points of the plex to 0.
> I investigated a bit (although I don't understand the doc for this
> function), and found a similar construction in petsc4py
> test/test_dmplex.py in 1D:
> > DIM = 1
> > CELLS = [[0, 1], [1, 2]]
> > COORDS = [[0.], [0.5], [1.]]
> > COMP = 1
> > DOFS = [1, 0]
> >
> > plex = PETSc.DMPlex().createFromCellList(DIM, CELLS, COORDS)
> > section = plex.createSection([COMP], [DOFS])
> > plex.view()
> > section.view()
>
> This also results in an empty section (which makes the test fail when I
> run it manually):
> > PetscSection Object: 1 MPI processes
> >   type not yet set
> > Process 0:
> >   (   0) dim  0 offset   0
> >   (   1) dim  0 offset   0
> >   (   2) dim  0 offset   0
> >   (   3) dim  0 offset   0
> >   (   4) dim  0 offset   0
>
> So, what did I miss ?
>
> Thanks,
>
> --
> Nicolas
>
>

-- 
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/20200328/ed6842e9/attachment.html>


More information about the petsc-users mailing list