Pyclaw: accessible, extensible, scalable tools for wave propagation problems. 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.
Keywords for this software
References in zbMATH (referenced in 12 articles , 1 standard article )
Showing results 1 to 12 of 12.
- Garcia, D.; Ghommem, M.; Collier, N.; Varga, B. O. N.; Calo, V. M.: PyFly: a fast, portable aerodynamics simulator (2018)
- Donna Calhoun, Carsten Burstedde: ForestClaw: A parallel algorithm for patch-based adaptive mesh refinement on a forest of quadtrees (2017) arXiv
- Hadjimichael, Yiannis; Ketcheson, David I.; Lóczi, Lajos; Németh, Adrián: Strong stability preserving explicit linear multistep methods with variable step size (2016)
- Lemoine, Grady I.: Three-dimensional mapped-grid finite volume modeling of poroelastic-fluid wave propagation (2016)
- Mortensen, Mikael; Langtangen, Hans Petter: High performance python for direct numerical simulations of turbulent flows (2016)
- Otte, Philipp; Frank, Martin: Derivation and analysis of lattice Boltzmann schemes for the linearized Euler equations (2016)
- Semplice, M.; Coco, A.; Russo, G.: Adaptive mesh refinement for hyperbolic systems based on third-order compact WENO reconstruction (2016)
- Kroshko, Andrew; Spiteri, Raymond J.: odeToJava: a PSE for the numerical solution of IVPS (2015)
- Quezada de Luna, Manuel; Ketcheson, David I.: Numerical simulation of cylindrical solitary waves in periodic media (2014)
- Shyue, Keh-Ming; Xiao, Feng: An Eulerian interface sharpening algorithm for compressible two-phase flow: the algebraic THINC approach (2014)
- Ketcheson, David I.; Parsani, Matteo; Leveque, Randall J.: High-order wave propagation algorithms for hyperbolic systems (2013)
- Ketcheson, David I.; Mandli, Kyle; Ahmadia, Aron J.; Alghamdi, Amal; De Luna, Manuel Quezada; Parsani, Matteo; Knepley, Matthew G.; Emmett, Matthew: Pyclaw: accessible, extensible, scalable tools for wave propagation problems (2012)