pyrodeo

Isothermal disc hydrodynamics with a Roe solver


Keywords
hydrodynamics, disc, planet, astrophysics, hydrodynamic-modeling
License
GPL-3.0
Install
pip install pyrodeo==0.0.9

Documentation

Pyrodeo

https://readthedocs.org/projects/pip/badge/?version=stable&style=flat http://img.shields.io/badge/license-GPL-green.svg?style=flat https://img.shields.io/pypi/pyversions/pyrodeo.svg?style=flat-square https://img.shields.io/pypi/implementation/pyrodeo.svg?style=flat-square http://img.shields.io/travis/SijmeJan/pyrodeo/master.svg?style=flat https://coveralls.io/repos/github/SijmeJan/pyrodeo/badge.svg?branch=master

Pyrodeo is a Python implementation of the isothermal hydrodynamic solver RODEO (ROe solver for Disc-Embedded Objects). Its main purpose is to perform numerical simulations of astrophysical (gas) discs.

Features

  • Two- and three-dimensional inviscid isothermal hydrodynamics using a Riemann solver.
  • Second order in space and time in regions of smooth flow.
  • Different geometries: Cartesian, Shearing Sheet, cylindrical coordinates and spherical coordinates.
  • HDF5 output

Quick start

Pyrodeo can be installed from the command line simply by entering:

pip install pyrodeo

A simple simulation can be created and run by entering:

import pyrodeo
sim = pyrodeo.Simulation.from_geom('cart')
sim.evolve([0.25])

Since the standard initial conditions consist of constant density and pressure and zero velocity, no visible evolution takes place. For more interesting examples, see the documentation.

Documentation

The full documentation can be found at

http://pyrodeo.readthedocs.org

Changelog

Version 0.0.9

  • Add 'symmetric' boundary condition
  • Allow different boundary conditions inner/outer boundary
  • Rename 'reflect' boundary to 'closed' boundary and 'nonreflect' to 'nonreflecting'
  • Various small fixes

Version 0.0.8

  • Small fixes in tests and documentation

Version 0.0.7

  • 3D isothermal
  • Spherical coordinates
  • Logarithmic radial coordinate
  • Various small fixes

Version 0.0.6

  • Make source_func a source term integrator rather than just returning the extra source terms.
  • Move tests inside package.

Version 0.0.5

  • Initial release