Skip to content

Commit

Permalink
Merge pull request #26 from dtamayo/master
Browse files Browse the repository at this point in the history
Fork sync with upstream
  • Loading branch information
sabaronett committed Jul 9, 2020
2 parents 73b5f73 + b901a04 commit 56e328c
Show file tree
Hide file tree
Showing 40 changed files with 12,243 additions and 164 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ doc/doxygen/html/
doc/ipython
doc/search.json
problems/
*.txt
*.dSYM
Untitled*
.vscode/*
Expand Down
6 changes: 6 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,19 @@ script:
- if [[ $TESTPART == "IPYTHON1" ]]; then cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Migration.ipynb; fi
- if [[ $TESTPART == "IPYTHON1" ]]; then cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Radiation_Forces_Circumplanetary_Dust.ipynb; fi
- if [[ $TESTPART == "IPYTHON1" ]]; then cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Radiation_Forces_Debris_Disk.ipynb; fi
- if [[ $TESTPART == "IPYTHON1" ]]; then cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py CentralForce.ipynb; fi
- if [[ $TESTPART == "IPYTHON1" ]]; then cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py CustomSplittingIntegrationSchemes.ipynb; fi
- if [[ $TESTPART == "IPYTHON1" ]]; then cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py TidesConstantTimeLag.ipynb; fi
- if [[ $TESTPART == "IPYTHON2" ]]; then cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Custom_Effects.ipynb; fi
- if [[ $TESTPART == "IPYTHON2" ]]; then cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py ModifyMass.ipynb; fi
- if [[ $TESTPART == "IPYTHON2" ]]; then cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py GettingStartedParameters.ipynb; fi
- if [[ $TESTPART == "IPYTHON2" ]]; then cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py TidesConstantTimeLag.ipynb; fi
- if [[ $TESTPART == "IPYTHON2" ]]; then cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py SimulationArchive.ipynb; fi
- if [[ $TESTPART == "IPYTHON2" ]]; then cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py SavingAndLoadingSimulations.ipynb; fi
- if [[ $TESTPART == "IPYTHON2" ]]; then cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py TrackMinDistance.ipynb; fi
- if [[ $TESTPART == "IPYTHON2" ]]; then cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py IntegrateForce.ipynb; fi
- if [[ $TESTPART == "IPYTHON2" ]]; then cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py J2.ipynb; fi
- if [[ $TESTPART == "IPYTHON2" ]]; then cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py ParameterInterpolation.ipynb; fi

after_success:
- if [[ $TESTPART == "PYTHON" ]] && [[ ${TRAVIS_PYTHON_VERSION:0:3} == "2.7" ]]; then coveralls; fi
Expand Down
32 changes: 20 additions & 12 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. image:: http://img.shields.io/badge/REBOUNDx-v3.0.5-green.svg?style=flat
.. image:: http://img.shields.io/badge/REBOUNDx-v3.1.0-green.svg?style=flat
:target: http://reboundx.readthedocs.org
.. image:: https://badge.fury.io/py/reboundx.svg
:target: https://badge.fury.io/py/reboundx
Expand All @@ -15,27 +15,35 @@
.. image:: https://img.shields.io/badge/launch-binder-ff69b4.svg?style=flat
:target: http://mybinder.org/repo/dtamayo/reboundx

New Version and Paper!
======================

We've made some big improvements to REBOUNDx to make it more robust and easily extendable, so definitely upgrade to this new version (3.0) if you haven't already.
We've also improved the binary format to better interface with the REBOUND SimulationArchive for the sharing and analysis of machine independent results.

Definitely also check out our paper where we give an overview of the library, analyze the effects of dissipative forces on symplectic integrators, and give some recommendations:`Tamayo, Rein, Shi and Hernandez 2019 <http://arxiv.org/abs/1908.05634>`_

Welcome to REBOUNDx (eXtras)
============================

REBOUNDx allows you to easily incorporate additional physics into your REBOUND simulations.
All the computationally expensive parts of the code are written in C, so that the code will run much faster than if you define your own custom `additional_forces` functions in Python.
The main code is written in C, and we provide a convenient Python wrapper.
For an overview of the technical details and some practical recommendations, see `Tamayo, Rein, Shi and Hernandez 2019 <http://arxiv.org/abs/1908.05634>`_.
The paper publication lines up with REBOUNDx version 3.0.0.

Documentation
=============

For a list of supported effects, installation instructions, tutorials/examples and documentation, please see http://reboundx.readthedocs.io.
For a list of supported effects, and descriptions of the parameters that need to be set for each effect, see the documentation at `http://reboundx.readthedocs.io <http://reboundx.readthedocs.io>`_.
You can also find installation instructions and a quickstart guide there.

.. image:: https://github.com/dtamayo/dtamayo.github.io/blob/master/pix/reboundx.png
Attribution
===========

We have tried to structure the documentation in a way that makes it easy to credit the various people who have contributed to any given effect.
Please see the Attribution section at `http://reboundx.readthedocs.io <http://reboundx.readthedocs.io>`_ for direct links to ADS.

Changelog
=========

Version 3.1.0
-------------

* Added interpolator object for interpolating parameters
* Many improvements to the documentation

Version 3.0.5
-------------

Expand Down
1 change: 0 additions & 1 deletion doc/add_effect.rst
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,6 @@ Now we just modify the ``problem.c`` file in our new ``stark_force`` folder, e.g
In the terminal in the ``stark_force`` folder then just ``make clean``, ``make`` and then run it with ``./rebound``.
In the visualization press 'w' to see the orbits. You should see a mess with the orbit getting more and less eccentric.
(See Sec. 2.4 of `OpenGL Keyboard Commands <http://rebound.readthedocs.org/en/latest/c_quickstart.html>`_ for a list of the visualization keyboard commands).
If you get an error about OpenGL or GLUT, just google `install openGL glut libraries <your OS here>` for instructions, or open your ``Makefile`` and set OPENGL=0 to turn it off.

Python Example
Expand Down
6 changes: 3 additions & 3 deletions doc/c_quickstart.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.. _c_quickstart:

Quickstart Guide (C)
====================
Quickstart (C)
==============

Installation
------------
Expand Down Expand Up @@ -63,7 +63,7 @@ Once you're done setting up all the effects you want, just run the REBOUND simul
reb_integrate(sim, tmax);

Probably the quickest way to get up and running is to modify an existing example for your effect.
You can find links to the appropriate examples here: :ref:`effects`, along with implementation descriptions and citations.
You can find links to the appropriate examples here: :ref:`effects`, along with implementation descriptions.
You can find the example files in the ``reboundx/examples`` folder.

Even if you are using the C version, you might also take a look at the python example links at :ref:`effects`, as the iPython notebooks nicely incorporate text and may therefore have a bit longer discussions about the physical details for each effect.
27 changes: 17 additions & 10 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import subprocess
import glob
import re
from datetime import datetime

# Doxygen trigger
read_the_docs_build = os.environ.get('READTHEDOCS', None) == 'True'
Expand Down Expand Up @@ -174,8 +175,9 @@ def cleanline(line):
'sphinx.ext.todo',
'sphinx.ext.coverage',
'sphinx.ext.mathjax',
'breathe'
'breathe',
]
releases_github_path = "dtamayo/reboundx"
breathe_projects = { "libreboundx": "doxygen/xml/" }
breathe_default_project = "libreboundx"

Expand All @@ -193,19 +195,20 @@ def cleanline(line):
# The master toctree document.
master_doc = 'index'

# General information about the project.
project = 'REBOUNDx'
copyright = '2015, Dan Tamayo, Hanno Rein'
author = 'Dan Tamayo, Hanno Rein'

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '3.0'
version = '3.1'
# The full version, including alpha/beta/rc tags.
release = '3.0.5'
release = '3.1.0'

# General information about the project.
project = u"REBOUNDx ({0})".format(release)
year = datetime.now().year
author = 'Dan Tamayo, Hanno Rein'
copyright = u"{0} {1}".format(year, author)

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down Expand Up @@ -261,7 +264,11 @@ def cleanline(line):
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
html_theme_options = {
"description": "A library for additional effects in REBOUND N-body integrations",
"github_user": "dtamayo",
"github_repo": "reboundx",
}

# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
Expand Down Expand Up @@ -303,7 +310,7 @@ def cleanline(line):
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
html_sidebars = {
'**': ['globaltoc.html',]
'**': ['about.html', 'navigation.html', 'relations.html', 'searchbox.html']
}

# Additional templates that should be rendered to pages, maps page names to
Expand Down
16 changes: 14 additions & 2 deletions doc/effect_headers.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.. _effects:

REBx Effects & Parameters
=========================
Implemented Effects
===================

Below are descriptions for each of the effects included in REBOUNDx.
Different implementations for the same effect are grouped together.
Expand Down Expand Up @@ -41,6 +41,18 @@ $$$$$$$$$$$$
Gravity Fields
^^^^^^^^^^^^^^^^^^

$$$$$$$$$$$$$$$$$$$$
Integration Steppers
^^^^^^^^^^^^^^^^^^^^

These are wrapper functions to taking steps with several of REBOUND's integrators in order to build custom splitting schemes.

$$$$$$$$$$$$$$$$$$$$$$$
Parameter Interpolation
^^^^^^^^^^^^^^^^^^^^^^^

This isn't an effect that's loaded like the others, but an object that facilitates machine-independent interpolation of parameters that can be shared by both the C and Python versions. See the examples below for how to use them.

$$$$$$$$$$$$
Miscellaneous Utilities
^^^^^^^^^^^^^^^^^^^^^^^
Expand Down

0 comments on commit 56e328c

Please sign in to comment.