ProgrammingInJulia

MS18 #discussion channel


Project maintained by DhruvaSambrani Hosted on GitHub Pages — Theme by mattgraham

Check out the videos in order

  1. Part 1 - Physical Introduction
  2. Part 2 - Coding it
  3. Part 3 - Visualisation
  4. Part 4 - Discussion

Discussion topics

These were the side discussions discussed in Part 4.

  1. Pluto - Cell dependency
  2. Cyclic dependency
  3. Pluto vs Jupyter
  4. Optimizations
    1. Algorithmic - Barnes-Hut Optimization
    2. Implementation -
      1. Static Typing
      2. force calculation only once for each pair. Create an upper triangular matrix
      3. In-place updating force with .+= instead of =
      4. Preallocating trajectory and forces in simulate
    3. Hardware - GPU
  5. Solving differential equations
    1. Euler
    2. Leap-frog
    3. Range-Kutta
  6. Machine Learning solution to the N-Body problem - Associated Arxiv paper

Completed Pluto Notebook

nb1.jl

Results

Some animation. I forgot what the parameters were :P

Animation 1

Solar system

As mentioned in the video, I’ve taken planetary data from NASA and I’ve run an animation for 12 earth years (1 Jupyter year), with a time step of 1 day. dt of one week is too inaccurate

It ran in a pretty short time, so I suppose you could add the rest of the planets too, but I don’t suppose it will change much.

I’ve plotted at the 10th time step (10 days) and created a gif at 30fps. So every second is about 10 months

sol-system

What next?