On Tue, Apr 14, 2020 at 5:49 AM Hill, Reuben <reuben.hil...@imperial.ac.uk> wrote:
> 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 > Point location in 1D was not implemented because no one ever asked for it. Do you need this? or is this just for completeness? Thanks, Matt > Thanks > > Reuben Hill > -- 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/>