# Geometric search algorithms

**URL:** <https://fortran-lang.discourse.group/t/geometric-search-algorithms/9129>\
**Category:** Uncategorized\
**Created:** [January 25, 2025, 3:24pm UTC](https://fortran-lang.discourse.group/t/geometric-search-algorithms/9129 "2025-01-25T15:24:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![general\_rishkin](https://avatars.discourse-cdn.com/v4/letter/g/a9a28c/32.png) [@general\_rishkin](https://fortran-lang.discourse.group/u/general_rishkin)\
**Post date:** [January 25, 2025, 3:24pm UTC](https://fortran-lang.discourse.group/t/geometric-search-algorithms/9129/1 "2025-01-25T15:24:28Z")

</div>

Is there a Fortran library of some sort for geometric search algorithms, something like [ArborX](https://github.com/arborx/ArborX)?

---

<div class="post-metadata">

**Author:** ![rwmsu](https://avatars.discourse-cdn.com/v4/letter/r/48db29/32.png) [@rwmsu](https://fortran-lang.discourse.group/u/rwmsu)\
**Post date:** [January 25, 2025, 5:33pm UTC](https://fortran-lang.discourse.group/t/geometric-search-algorithms/9129/2 "2025-01-25T17:33:03Z")

</div>

Don’t know if they are what you are looking for but implementations of Javier Bonet’s Alternating Digital Tree (ADT) algorithm as well as a KDtree implementation are available at

> **[GitHub - nasa/cfdtools](https://github.com/nasa/cfdtools)**
>
> Contribute to nasa/cfdtools development by creating an account on GitHub.

These are used a lot in CFD to find nearest neighbors, surface intersections etc.

Edit

A copy of Bonet’s IJNME article “An Alternating digital tree algorithm for 3D geometric searching and intersection problems” is available here:

> **[An alternating digital tree (ADT) algorithm for 3D geometric searching and...](https://www.academia.edu/5490570/An_alternating_digital_tree_ADT_algorithm_for_3D_geometric_searching_and_intersection_problems?from=cover_page)**
>
> A searching algorithm is presented for determining which members of a set of n points in an N dimensional space lie inside a prescribed space subregion. The algorithm is then extended to handle finite size objects as well as points. In this form it

---

<div class="post-metadata">

**Author:** ![general\_rishkin](https://avatars.discourse-cdn.com/v4/letter/g/a9a28c/32.png) [@general\_rishkin](https://fortran-lang.discourse.group/u/general_rishkin)\
**Post date:** [January 25, 2025, 6:17pm UTC](https://fortran-lang.discourse.group/t/geometric-search-algorithms/9129/3 "2025-01-25T18:17:19Z")

</div>

Thanks a lot. I can definitely build on these.
