[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