# Simulating Saturn's rings in python

Hi,

I have to write a program in python (for school) that simulates a specific structure. I choosed saturn's rings. I've started by wrinting an N-body code. My goals are explaining the divisions in saturn rings as cassini division. I don't know if it's a great subject. The teacher told us to choose an original subject. Well, i thinked about : Daphnis is it really an alien spacecraft or just a moon ?
If you have any suggestions, please i really don't know what subject to choose?

(Sorry for the english)

mfb
Mentor
I would be surprised if you get a realistic full ring simulation with n-body calculations on a reasonable computer. With some simplifications, maybe, like neglecting the gravitational forces between ring particles, effective potentials in the system of the nearby moon and so on.
Well, i thinked about : Daphnis is it really an alien spacecraft or just a moon ?

The orbits of Epimetheus and Janus are interesting.
The orbit of the Moon around Earth is complex as well.
Cassini has an interesting orbit around Saturn, it comes close to various moons with tiny amounts of fuel.

How many particles are you going to have? Python does not sound like a good language for this, C or C++ would be way better. If you have more than even 100 particles, you are going to need to write something called a binary space partition to keep track of collisions and weight.

i would suggest a simpler problem. given that you have made n-body simulation for this, how about showing the effects a third body has on an otherwise perfectly periodic two body system?

if you want to get some starting data for actual bodies in the solar system there is the JPL horizons service for just this: http://ssd.jpl.nasa.gov/?horizons

i'd also point out the usual gotcha - make sure to sum all the contributions from the bodies before applying them, if you apply them in sequence you will get some spectacular error behaviour. :)

also take the language criticism with a pinch of salt. using things like math libraries in C/C++ is a pain, and the standard libraries are wastelands of garbage compared to something modern like Python. you sort of need them if you need really high performance... like 1000s of bodies interacting in real time (i.e. a ring simulation you can watch). if you don't need that then its just a great way to make things harder for yourself.