lcpp-org / RustBCA

A free, open-source Binary Collision Approximation (BCA) code for ion-material interactions including sputtering, implantation, and reflection
https://github.com/lcpp-org/RustBCA/wiki
GNU General Public License v3.0
42 stars 15 forks source link

[feature] Fast, homogeneous 2D mesh #206

Closed drobnyjt closed 1 year ago

drobnyjt commented 1 year ago

Is your feature request related to a problem? Please describe. Right now, a complex mesh has a significant overhead due to being made of triangles; the triangles are necessary for inhomogenous composition, but not for complex geometries for homogeneous targets.

Proposed solution A fast algorithm for complex geometry without inhomogeneous composition.

Alternative solution(s) Optimize 2D Mesh - I think something like quadtrees are the actual thing to use, but I have no experience writing those algorithms, so it introduces the possibility of errors.

Additional context This would be useful for direct comparisons to F-TRIDYN, which used a ray-surface intersection-counting algorithm for 2D surfaces.

drobnyjt commented 1 year ago

Added on development branch.