mountaindust / Planktos

ABM framework for dispersal modeling
https://planktos.readthedocs.io
GNU General Public License v3.0
5 stars 3 forks source link

Add boundary functionality #25

Closed mountaindust closed 3 years ago

mountaindust commented 5 years ago

E.g., for agents in non-rectangular channels, or for obstacles.

mountaindust commented 3 years ago

Lots of progress has been made on this, including: various (mostly untested) import routines for mesh structures in 2d and 3d, tested intersection detectors for 2d and 3d, tested plotting of an imported 3d mesh, and more. An example has been added that successfully creates a convex hull structure out of the IBAMR vertex data to test functionality in 3d. Unfortunately, it appears that agents are somehow entering the cylinder, and thus not respecting the boundary somehow like they are supposed to. More testing and debugging is needed to fix this problem.

mountaindust commented 3 years ago

The issue is likely due to how colliding agents are placed right on the boundary, then translated along it. This will undoubtedly result in roundoff error, which occasionally will place the agent inside the boundary. Once inside, it can stay inside without incident. This issue was recognized in initial coding, but put off for dealing with later. I must have forgotten about it in the meanwhile...

mountaindust commented 3 years ago

This is now DONE and tested for the 3D case as of b4dadd8. Testing for the 2D case is all that is left.