Pyclaw

PyClaw installation

Just do this:

pip install clawpack

Installing with pip requires that you have a Fortran compiler installed.

Alternatively, if you use Anaconda or Conda, you can:

conda install -c clawpack -c conda-forge clawpack

This option will also install optional dependencies including PETSc and HDF5, which are useful for large-scale parallel runs. Installing with Conda does not require that you have a Fortran compiler.

Examples

Next, try running an example Jupyter notebook.

Alternatively, to run an example from the IPython prompt:

from clawpack.pyclaw import examples
claw = examples.shock_bubble_interaction.setup()
claw.run()
claw.plot()

To run an example and plot the results directly from the command line, go to the directory where Clawpack is installed and then:

cd pyclaw/examples/euler_2d
python shock_bubble_interaction.py iplot=1

Features

  • A hyperbolic PDE solver in 1D, 2D, and 3D, including mapped grids and surfaces, built on Clawpack;

  • Massively parallel – the same simple script that runs on your laptop will scale efficiently on the world’s biggest supercomputers (see Running in parallel);

  • High order accurate, with WENO reconstruction and Runge-Kutta time integration (see Using PyClaw’s solvers: Classic and SharpClaw);

  • Simple and intuitive thanks to its Python interface.

PyClaw makes use of the additional Clawpack packages, Riemann and VisClaw for Riemann solvers and visualization, respectively.

If you have any issues or need help using PyClaw, contact us.

PyClaw Documentation

See also the Gallery of PyClaw Applications for some examples of how PyClaw can be used.

PyClaw Modules reference documentation

Riemann Solvers reference documentation

The Riemann solvers now comprise a separate package. For convenience, documentation of the available pure python Riemann solvers is included here. Many other Fortran-based Riemann solvers are available.

Indices and tables

Citing PyClaw

If you use PyClaw in work that will be published, please cite the Clawpack software (see Citing this work) and also mention specifically that you used PyClaw, and cite the paper:

@article{pyclaw-sisc,
        Author = {Ketcheson, David I. and Mandli, Kyle T. and Ahmadia, Aron J. and Alghamdi, Amal and {Quezada de Luna}, Manuel and Parsani, Matteo and Knepley, Matthew G. and Emmett, Matthew},
        Journal = {SIAM Journal on Scientific Computing},
        Month = nov,
        Number = {4},
        Pages = {C210--C231},
        Title = {{PyClaw: Accessible, Extensible, Scalable Tools for Wave Propagation Problems}},
        Volume = {34},
        Year = {2012}}

If you use the Classic (2nd-order) solver, you may also wish to cite:

@article{leveque1997,
        Author = {LeVeque, Randall J.},
        Journal = {Journal of Computational Physics},
        Pages = {327--353},
        Title = {{Wave Propagation Algorithms for Multidimensional Hyperbolic Systems}},
        Volume = {131},
        Year = {1997}}

If you use the SharpClaw (high order WENO) solver, you may also wish to cite:

@article{KetParLev13,
        Author = {Ketcheson, David I. and Parsani, Matteo and LeVeque,
        Randall J.},
        Journal = {SIAM Journal on Scientific Computing},
        Number = {1},
        Pages = {A351--A377},
        Title = {{High-order Wave Propagation Algorithms for Hyperbolic Systems}},
        Volume = {35},
        Year = {2013}}