scolear / Comparator

Comparison of Numerical Methods in Celestial Mechanics

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

-- Disclaimer --

I started this project with zero knowledge of Python, or even OOP. It was meant to be a learning experience which would also serve as a tool supporting my thesis. It grew to be a bit bigger, but it is very clumsy, and practically unapprochable because of its architecture. Still, I leave it here as a memento.

Comparator

- comparison of numerical integration schemes -

This software was designed to showcase certain aspects of different numerical integration algorithms used in celestial mechanics (and many other fields dealing with dynamical systems). The methods implemented as of now:

  1. Three fixed-timestep methods:
  • Euler's method
  • Verlet's symplectic method
  • "Classical" Runge-Kutta 4th order method
  1. One adaptive method:
  • Runge-Kutta Dormand-Prince 5(4)

How-to

The user is meant to interact with the Jupyter Notebook called Comparator.ipynb. Since it calls local files using linemagics, the surrounding folders must be present on the users local machine.

To run the software as it is intended:

  1. Clone the repo to your local machine
  2. Run Comparator.ipynb on a local kernel
  3. Follow the instructions therein

Required packages

The underlying source code is written in Python 3. It makes use of several packages; some that might not be included in every python distribution are:

  1. ipywidgets
  2. pandas
  3. numpy
  4. bokeh
  5. astroquery from astropy
  6. scipy
  7. matplotlib

About

Comparison of Numerical Methods in Celestial Mechanics


Languages

Language:Python 89.1%Language:Jupyter Notebook 10.9%