amusecode / amuse

Astrophysical Multipurpose Software Environment. This is the main repository for AMUSE
http://www.amusecode.org
Apache License 2.0
158 stars 99 forks source link

Tree-based FastKick? #669

Open rieder opened 4 years ago

rieder commented 4 years ago

FastKick is very useful in Bridged simulations, but it scales with N1*N2, making it still a bottleneck in simulations with many particles (especially where N1 ≈ N2).

Since codes like gadget and phantom don't (yet) support get_gravity_at_point directly, it would be helpful to have a tree-based slim kicker code (preferably OpenMP-enabled) for such simulations. This would scale with log(N1)*N2.

ipelupessy commented 4 years ago

Fi is tree based ad openmp parallel, but I agree that another code might be nice...bonsai on GPU would be nice...

ipelupessy commented 4 years ago

bonsai currently has a host implementation of get_Gravity_at_point...so thats not so nice...maybe something like adding ghost particles with zero mass and then doing a a single gravity evaluation (and removing zero mass parts again) would work..

ipelupessy commented 4 years ago

I am pretty sure @jbedorf should be able to hack something in quickly ;-)

rieder commented 4 years ago

Yes I used Fi for this before, but it seems to complain about a “too short timestep” sometimes... which is weird for a kick-only code, since it doesn’t require a timestep.

ipelupessy commented 4 years ago

yea, it initializes always, necessitating a timestep shift (maybe this could be turned off)

rieder commented 4 years ago

To summarise: