<div dir="ltr"><div dir="ltr">On Tue, Apr 14, 2020 at 5:49 AM Hill, Reuben <<a href="mailto:reuben.hill10@imperial.ac.uk">reuben.hill10@imperial.ac.uk</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Hi all,</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
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?</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
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:</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<span>E petsc4py.PETSc.Error: error code 63<br>
</span>
<div>E [0] DMSwarmSetPointCoordinates() line 305 in /Users/rwh10/firedrake/src/petsc/src/dm/impls/swarm/swarmpic.c<br>
</div>
<div>E [0] DMLocatePoints() line 6499 in /Users/rwh10/firedrake/src/petsc/src/dm/interface/dm.c<br>
</div>
<div>E [0] DMLocatePoints_Plex() line 744 in /Users/rwh10/firedrake/src/petsc/src/dm/impls/plex/plexgeometry.c<br>
</div>
<div>E [0] DMPlexLocatePoint_Internal() line 462 in /Users/rwh10/firedrake/src/petsc/src/dm/impls/plex/plexgeometry.c<br>
</div>
<div>E [0] Argument out of range<br>
</div>
<span>E [0] No point location for cell 0 with type segment</span></div></div></blockquote><div><br></div><div>Point location in 1D was not implemented because no one ever asked for it. Do you need this? or is this just for completeness?</div><div><br></div><div> Thanks,</div><div><br></div><div> Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Thanks</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Reuben Hill</div>
</div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>