# 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 solverin 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.

- Testing a PyClaw installation and running an example
- PyClaw Basics
- Going Further
- Understanding Pyclaw Classes
- Developers’ Guide
- Guide for updating this documentation
- Guide for doing a Clawpack release
- Regression testing
- Keeping track of repository versions with Git
- Guidelines for contributing
- Installation instructions for developers
- Modifying code
- Catching errors with Pyflakes and Pylint
- Checking test coverage
- Trouble-Shooting Tips

- Troubleshooting
- About PyClaw

# 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}}
```