[petsc-users] DMPLEX project function error

Ellen M. Price ellen.price at cfa.harvard.edu
Fri Oct 12 10:12:39 CDT 2018


So I found *that* problem -- turns out that using DMPlexCreateSection
was messing things up, and it seems PETSc is handling that part
internally? However, I've run into a related problem now. I need to
project some field data onto the mesh; it's a static array of
integration weights, and each one corresponds to a single point in the
mesh. Based on this answer:

https://lists.mcs.anl.gov/pipermail/petsc-users/2015-December/027964.html

I think I need DMPlexDistributeField. However, *that* function takes a
section as an argument, and I had to take out the part where I create a
section to get things working!  Calling DMGetDefaultSection or
DMGetDefaultGlobalSection doesn't seem to help matters, either, because
then I seem to get a null section?

So I either need to figure out how to set the section properly or how to
get the section properly. As always, any help is appreciated.

Ellen


On 10/11/2018 05:41 PM, Matthew Knepley wrote:
> On Thu, Oct 11, 2018 at 4:39 PM Ellen M. Price
> <ellen.price at cfa.harvard.edu <mailto:ellen.price at cfa.harvard.edu>> wrote:
> 
>     I was working with a DMPLEX and FEM, following SNES example 12. I get
>     the following error when I call DMProjectFunction, but I don't know what
>     it means. Can anyone explain where I might have gone wrong, or at least
>     what this error is telling me? I think the point closure size is
>     correct, since my mesh is 3d simplex,
> 
> 
> Yes, if you have 3D SIMPLEX mesh and are using P1 elements, then you
> would have
> 4 dofs in the closure of a cell. The dual space dimension is the number
> of dual space
> basis vectors assigned to points in the closure. Since it is 1, it looks
> like you have a P0
> dual space. I assume you changed something in ex12?
> 
>   Thanks,
> 
>      Matt
>  
> 
>     but what is the dual space
>     dimension, and where might I have set it incorrectly?
> 
>     [0]PETSC ERROR: Nonconforming object sizes
>     [0]PETSC ERROR: The section point closure size 4 != dual space
>     dimension 1
>     [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html
>     for trouble shooting.
>     [0]PETSC ERROR: Petsc Release Version 3.9.2, May, 20, 2018
>     ...
>     [0]PETSC ERROR: Configure options
>     --prefix=/home/eprice/software/petsc-opt --with-hdf5=1
>     --with-hdf5-dir=/home/eprice/software/hdf5-parallel --with-mpe=1
>     --with-mpe-dir=/home/eprice/software/mpe --with-debugging=0
>     LDFLAGS="-pthread -lz" COPTFLAGS="-O3 -march=native -mtune=native"
>     CXXOPTFLAGS="-O3 -march=native -mtune=native" FOPTFLAGS="-O3
>     -march=native -mtune=native" --with-mpi=1
>     --with-mpi-dir=/home/eprice/software/mpich --with-mumps=1
>     --with-mumps-dir=/home/eprice/software/mumps --with-parmetis=1
>     --with-parmetis-dir=/home/eprice/software/parmetis --with-metis=1
>     --with-metis-dir=/home/eprice/software/parmetis --with-ptscotch=1
>     --with-ptscotch-dir=/home/eprice/software/scotch --with-scalapack=1
>     --with-scalapack-dir=/home/eprice/software/scalapack
>     [0]PETSC ERROR: #1 DMProjectLocal_Generic_Plex() line 347 in
>     /h/sabriel0/src/petsc-3.9.2/src/dm/impls/plex/plexproject.c
>     [0]PETSC ERROR: #2 DMProjectFunctionLocal_Plex() line 428 in
>     /h/sabriel0/src/petsc-3.9.2/src/dm/impls/plex/plexproject.c
>     [0]PETSC ERROR: #3 DMProjectFunctionLocal() line 6265 in
>     /h/sabriel0/src/petsc-3.9.2/src/dm/interface/dm.c
>     [0]PETSC ERROR: #4 DMProjectFunction() line 6250 in
>     /h/sabriel0/src/petsc-3.9.2/src/dm/interface/dm.c
>     ...
> 
>     (I know this is an optimized PETSc build, but I get the same error from
>     my debug build, it's just much slower.)
> 
>     Ellen
> 
> 
> 
> -- 
> 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/%7Eknepley/>


More information about the petsc-users mailing list