sdd / kiddo

Kiddo
Apache License 2.0
91 stars 14 forks source link

New features for n-body simulation #174

Open aklipf opened 4 months ago

aklipf commented 4 months ago

Hello there,

I'm currently working on astrophysics simulations and I'm really excited about kiddo. I would like to use treecode algorithm and/or fast multipole method. Indeed, to perform n-body simulation, grouping bodies is a very powerful technique to approximate the interaction calculation in physics simulation. This is generally done with a quadtree/octree or a k-d tree. But this kind of algorithm requires iterating over the tree structure, which is to the best of my knowledge not possible yet.

Propositions

The goal is not to include any domain specific features like interaction forces, ODE or potentials. But adding new iterators to iterate over the tree structure may allow it to implement this kind of algorithm.

I studied how kiddo works and I can elaborate my proposition further but I want to keep the issue simple to understand for now.

Are you interested in this type of contribution or should I rather fork the project and work on my own? We can also implement it as an optional feature like the serialize feature or the f16 feature.

sdd commented 3 months ago

Hi Astrid! I would indeed be happy to accept a contribution of this kind. I look forward to finding out more!