grav_sim v1.0.0
__
__ _ __ __ __ __ ____/\_\ ___ ___
/'_ `\/\`'__\/'__`\ /\ \/\ \ /',__\/\ \ /' __` __`\
/\ \L\ \ \ \//\ \L\.\_\ \ \_/ | /\__, `\ \ \/\ \/\ \/\ \
\ \____ \ \_\\ \__/.\_\\ \___/ \/\____/\ \_\ \_\ \_\ \_\
\/___L\ \/_/ \/__/\/_/ \/__/ _______\/___/ \/_/\/_/\/_/\/_/
/\____/ /\______\
\_/__/ \/______/
grav_sim version 1.0.0
N-body gravity simulation library with C and Python API
Project Homepage and documentations: https://alvinng4.github.io/grav_sim/
Target Audience:
- Physics students
- Anyone interested in N-body simulations
Features:
- Ten integrators including WHFast and IAS15
- Barnes-Hut algorithm with linear octree
- Particle-Mesh method for cosmological structure formation
- Multiple sample projects
I am excited to announce the first official release of the grav_sim package 🎉. This was my first Python project, and I've used it for many N-body simulation projects. After almost 2 years of development, I believe it's finally mature enough for its first official release.
While the package itself provides a useful API for gravity simulations, I believe the most valuable part of this project is the documentations and implementation details. I think most people (e.g. students) would actually prefer to write their own code when it comes to simulations, so the package itself may not be very useful. But the documentation could help you to understand the theory and write your own code.
On top of the package, a short tutorial: 5 steps to N-body simulation is also available in this repository. The tutorial should be useful for beginners who want to learn N-body simulations.
I encourage you to check out the package and tutorial! If you have any questions or feedback, please don't hesitate to reach out. I hope you enjoy using grav_sim :)
5 steps to N-body simulation
A short course to teach beginners how to write fast and clean N-body gravity simulations code in Python.
Homepage: https://alvinng4.github.io/grav_sim/5_steps_to_n_body_simulation/
Contents
- Step 1: Initial setup
- Step 2: Gravity
- Step 3: Your first N-body program
- Step 4: Higher-order algorithms
- Step 5: Adaptive time-stepping
- Extra: Plotting and animation
- Conclusion and Final Project
Sample projects
Evolving the solar system for 1 million years
Asteroid belt animation
Formation of Kirkwood gaps
Galaxy collision
Cosmological structure formation
Feedback and Bugs
If you found any bugs or want to leave some feedback, please feel free to let me know by opening an issue or sending an email to alvinng324(at)gmail.com.