:group: pyclaw
.. _pyclaw:
Pyclaw
======
.. _pyclaw_install:
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 :ref:`parallel`);
* **High order accurate**, with WENO reconstruction and Runge-Kutta time integration
(see :ref:`solvers`);
* 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
====================
.. toctree::
:maxdepth: 2
../first_run_pyclaw
basics
going_further
classes
../developers
troubleshooting
about
../gallery/pyclaw/gallery/gallery_all
.. _pyclaw_reference:
PyClaw Modules reference documentation
======================================
.. toctree::
:maxdepth: 1
controller
solvers
evolve/limiters
io
solution
state
geometry
util
.. _riemann_reference:
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.
.. toctree::
:maxdepth: 3
rp
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
Citing PyClaw
=======================
If you use PyClaw in work that will be published, please cite the Clawpack software
(see :ref:`citing`) 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}}