Stomi
is a toolbox that can be used to study stochastic migration procesess in the Solar System. The toolbox breaks down the full N-body problem into a two-stage sequence:
- Test particle simulator, implementing the Restricted 3-Body Problem
- Random walk simulator, aggregating the back-reaction of a cloud of perturbers (using test particle simulation data) on the large migrating body
For an example use of this toolbox, take a look at (Kumar et al., 2014).
Stomi
can be used to study the stochastic migration of a massive body, orbiting a central body, due to the gravitational interactions with a ring of low-mass perturbers.
Possible applications include:
- Studying migration of Neptune due to interactions with the Kuiper belt
- Studying migration of Ceres and Vesta due to interactions with the Main Asteroid belt
- Studying migration of late-stage protoplanets due to scattering interactions with minor bodies
- Studying migration of exoplanets embedded in a ring of low-mass bodies
Stomi
requires the following libraries/tools. The listed versions are not necessarily essential, however Stomi
is known to build succesfully when these are used.
Name | Version |
---|---|
GCC | 4.8 |
CMake | 2.8.12 |
Eigen | 3.2.1 |
Boost | 1.55.0 |
SQLite | 3.7.11 |
SQLiteCpp | cd68064537 |
Tudat & Tudat Core | 54a5bcbe16 & 8303aaeead |
Assist | 4964886d30 |
Alternative C++ compilers may be used, however they haven't been tested to date.
The easiest way to install Stomi
is to simply clone the repository and run CMake
. This assumes that the above mentioned libraries/tools have been installed and can either be found through the system path or through relative paths (see CMakeModules
directory included in the Stomi
project).
In addition, you must have a C++ compiler and the CMake tool needs to be installed on the system path.
To clone the Stomi
toolbox, simply execute the following from your terminal:
> git clone https://github.com/kartikkumar/Stomi.git
Move into the Stomi
directory and initialize submodules:
> git submodule init
> git submodule update
This will ensure that all submodules are downloaded into the relevant sub-directories. Next, create a build
directory:
> mkdir build
> cd build
From within the build
directory, run the following command:
build> cmake ../Stomi
Once CMake
has been run succesfully, run make
from within the build
directory to build the library.
build> make
You can optionally also run the test suite at this stage to make sure that everything has been built correctly.
build> make test
This should not result in any failures.
The applications reside in bin/applications
directory, relative to the project root.
You can pass the -DBUILD_DOCUMENTATION=on
option to CMake
to build the Doxygen documentation locally. This requires that Doxygen
is locally installed first. The configuration file is currently based on version 1.8.7.
Once you've made your great commits:
- Fork Stomi
- Create a topic branch -
git checkout -b my_branch
- Push to your branch -
git push origin my_branch
- Create a Pull Request from your branch
- That's it!
See COPYING.
This section defines the current version of Stomi using CMake variables.
Stomi_VERSION_MAJOR 2 Stomi_VERSION_MINOR 0 Stomi_VERSION_PATCH 0
I am not liable for silly use of the Stomi
project.
You can reach me at me@kartikkumar.com.