Skip to main navigation Skip to search Skip to main content

PyClaw: Accessible, extensible, scalable tools for wave propagation problems

  • David I. Ketcheson
  • , Kyle T. Mandl
  • , Aron J. Ahmadia
  • , Amal Alghamd
  • , Manuel Quezada De Luna
  • , Matteo Parsan
  • , Matthew G. Knepley
  • , Matthew Emmett
  • King Abdullah University of Science and Technology
  • University of Texas at Austin
  • Texas A&M University
  • University of North Carolina at Chapel Hill

Research output: Contribution to journalArticlepeer-review

54 Scopus citations

Abstract

Development of scientific software involves tradeoffs between ease of use, generality, and performance. We describe the design of a general hyperbolic PDE solver that can be operated with the convenience of MATLAB yet achieves efficiency near that of hand-coded Fortran and scales to the largest supercomputers. This is achieved by using Python for most of the code while employing automatically wrapped Fortran kernels for computationally intensive routines, and using Python bindings to interface with a parallel computing library and other numerical packages. The software described here is PyClaw, a Python-based structured grid solver for general systems of hyperbolic PDEs [K. T. Mandli et al., PyClaw Software, Version 1.0, http://numerics.kaust.edu.sa/ pyclaw/ (2011)]. PyClaw provides a powerful and intuitive interface to the algorithms of the existing Fortran codes Clawpack and SharpClaw, simplifying code development and use while providing massive parallelism and scalable solvers via the PETSc library. The package is further augmented by use of PyWENO for generation of efficient high-order weighted essentially nonoscillatory reconstruction code. The simplicity, capability, and performance of this approach are demonstrated through application to example problems in shallow water flow, compressible flow, and elasticity.

Original languageEnglish
Pages (from-to)C210-C231
JournalSIAM Journal on Scientific Computing
Volume34
Issue number4
DOIs
StatePublished - 2012

Keywords

  • Clawpack
  • Hyperbolic PDEs
  • Python
  • Scientific software
  • Wave propagation

Fingerprint

Dive into the research topics of 'PyClaw: Accessible, extensible, scalable tools for wave propagation problems'. Together they form a unique fingerprint.

Cite this