[petsc-users] 1D DMSWARM in 1D DMPlex mesh

Hill, Reuben reuben.hill10 at imperial.ac.uk
Tue Apr 14 04:47:08 CDT 2020


Hi all,

I might be missing something obvious, but I can't tell from the documentation if 1D coordinate DMSWARMs (immersed in interval DMPlex meshes) are supported. Does anyone know?

I've successfully implemented 2D and 3D coordinate DMSwarms in 2D and 3D DMPlexes using DMSwarmSetPointCoordinates in Firedrake using petsc4py (via swarm.setPointCoordinates. The petsc4py function forces the input numpy array to have 2 dimensions with 1 column per dimension. In the 1D case, where each row of the coordinates array therefore has one column, I get the following error:

E   petsc4py.PETSc.Error: error code 63
E   [0] DMSwarmSetPointCoordinates() line 305 in /Users/rwh10/firedrake/src/petsc/src/dm/impls/swarm/swarmpic.c
E   [0] DMLocatePoints() line 6499 in /Users/rwh10/firedrake/src/petsc/src/dm/interface/dm.c
E   [0] DMLocatePoints_Plex() line 744 in /Users/rwh10/firedrake/src/petsc/src/dm/impls/plex/plexgeometry.c
E   [0] DMPlexLocatePoint_Internal() line 462 in /Users/rwh10/firedrake/src/petsc/src/dm/impls/plex/plexgeometry.c
E   [0] Argument out of range
E   [0] No point location for cell 0 with type segment

Thanks

Reuben Hill
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200414/8fdcf901/attachment.html>


More information about the petsc-users mailing list