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 supe...
        Saved in:
      
    
          | Published in | SIAM journal on scientific computing Vol. 34; no. 4; pp. C210 - C231 | 
|---|---|
| Main Authors | , , , , , , , | 
| Format | Journal Article | 
| Language | English | 
| Published | 
        Philadelphia
          Society for Industrial and Applied Mathematics
    
        01.01.2012
     | 
| Subjects | |
| Online Access | Get full text | 
| ISSN | 1064-8275 1095-7197  | 
| DOI | 10.1137/110856976 | 
Cover
| 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. | 
    
|---|---|
| AbstractList | 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. 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. [PUBLICATION ABSTRACT]  | 
    
| Author | Emmett, Matthew Ahmadia, Aron J Alghamdi, Amal de Luna, Manuel Quezada Ketcheson, David I Knepley, Matthew G Parsani, Matteo Mandli, Kyle  | 
    
| Author_xml | – sequence: 1 givenname: David surname: Ketcheson middlename: I fullname: Ketcheson, David I – sequence: 2 givenname: Kyle surname: Mandli fullname: Mandli, Kyle – sequence: 3 givenname: Aron surname: Ahmadia middlename: J fullname: Ahmadia, Aron J – sequence: 4 givenname: Amal surname: Alghamdi fullname: Alghamdi, Amal – sequence: 5 givenname: Manuel surname: de Luna middlename: Quezada fullname: de Luna, Manuel Quezada – sequence: 6 givenname: Matteo surname: Parsani fullname: Parsani, Matteo – sequence: 7 givenname: Matthew surname: Knepley middlename: G fullname: Knepley, Matthew G – sequence: 8 givenname: Matthew surname: Emmett fullname: Emmett, Matthew  | 
    
| BookMark | eNqNkEtLw0AUhQepYFtd-A8CblwYnZvMnYe7UuoDChasuCyT5EZSppmYSa3-e1PtypWr8y0-DpwzYoPa18TYOfBrgFTdAHCN0ih5xIbADcYKjBrsWYpYJwpP2CiENecghUmGbL74mjq7u40meU4hVJmjq2j22VF94OfcOttTtPTehaj0bfRqPyhatL6xb7arfL3n3tiEU3ZcWhfo7JBj9nI3W04f4vnT_eN0Mo8bUKaLIQGQuoDcikxz1HkpFYoSSKhEEqIqsEAqNOeWuJRpWYI0SaYzoRVJjumYXf72Nq1_31LoVpsq5OScrclvw6p_QgoABf9UuYCf1os_6tpv27ofsgKepogGQaff4blp0A | 
    
| ContentType | Journal Article | 
    
| Copyright | 2012, Society for Industrial and Applied Mathematics | 
    
| Copyright_xml | – notice: 2012, Society for Industrial and Applied Mathematics | 
    
| DBID | 3V. 7WY 7WZ 7X2 7XB 87Z 88A 88F 88I 88K 8AL 8FE 8FG 8FH 8FK 8FL 8G5 ABJCF ABUWG AFKRA ARAPS ATCPS AZQEC BBNVY BENPR BEZIV BGLVJ BHPHI CCPQU D1I DWQXO FRNLG F~G GNUQQ GUQSH HCIFZ JQ2 K60 K6~ K7- KB. L.- L6V LK8 M0C M0K M0N M1Q M2O M2P M2T M7P M7S MBDVC P5Z P62 PATMY PDBOC PHGZM PHGZT PKEHL PQBIZ PQBZA PQEST PQGLB PQQKQ PQUKI PRINS PTHSS PYCSY Q9U 7SC 7TB 8FD FR3 H8D KR7 L7M L~C L~D  | 
    
| DOI | 10.1137/110856976 | 
    
| DatabaseName | ProQuest Central (Corporate) ABI/INFORM Collection ABI/INFORM Global (PDF only) Agricultural Science Collection ProQuest Central (purchase pre-March 2016) ABI/INFORM Collection Biology Database (Alumni Edition) Military Database (Alumni Edition) Science Database (Alumni Edition) Telecommunications (Alumni Edition) Computing Database (Alumni Edition) ProQuest SciTech Collection ProQuest Technology Collection ProQuest Natural Science Journals ProQuest Central (Alumni) (purchase pre-March 2016) ABI/INFORM Collection (Alumni Edition) Research Library Materials Science & Engineering Collection ProQuest Central (Alumni) ProQuest Central Advanced Technologies & Computer Science Collection Agricultural & Environmental Science Collection (ProQuest) ProQuest Central Essentials Biological Science Collection ProQuest Central Business Premium Collection Technology collection Natural Science Collection ProQuest One ProQuest Materials Science Collection ProQuest Central Korea Business Premium Collection (Alumni) ABI/INFORM Global (Corporate) ProQuest Central Student Research Library Prep SciTech Premium Collection ProQuest Computer Science Collection ProQuest Business Collection (Alumni Edition) ProQuest Business Collection Computer Science Database Materials Science Database (ProQuest) ABI/INFORM Professional Advanced ProQuest Engineering Collection Biological Sciences ABI/INFORM Global (OCUL) Agriculture Science Database Computing Database ProQuest Military Database (NC LIVE) ProQuest Research Library ProQuest Science Database Telecommunications Database Biological Science Database Engineering Database (ProQuest) Research Library (Corporate) Advanced Technologies & Aerospace Database ProQuest Advanced Technologies & Aerospace Collection Environmental Science Database (ProQuest) Materials Science Collection ProQuest Central Premium ProQuest One Academic ProQuest One Academic Middle East (New) ProQuest One Business (OCUL) ProQuest One Business (Alumni) ProQuest One Academic Eastern Edition (DO NOT USE) ProQuest One Applied & Life Sciences ProQuest One Academic ProQuest One Academic UKI Edition ProQuest Central China Engineering Collection Environmental Science Collection ProQuest Central Basic Computer and Information Systems Abstracts Mechanical & Transportation Engineering Abstracts Technology Research Database Engineering Research Database Aerospace Database Civil Engineering Abstracts Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts  Academic Computer and Information Systems Abstracts Professional  | 
    
| DatabaseTitle | Agricultural Science Database ProQuest Business Collection (Alumni Edition) Research Library Prep Computer Science Database ProQuest Central Student ProQuest Advanced Technologies & Aerospace Collection ProQuest Central Essentials ProQuest Computer Science Collection SciTech Premium Collection ProQuest Military Collection ProQuest Central China ABI/INFORM Complete ProQuest Telecommunications ProQuest One Applied & Life Sciences Natural Science Collection Biological Science Collection ProQuest Central (New) Engineering Collection Advanced Technologies & Aerospace Collection Business Premium Collection ABI/INFORM Global Engineering Database ProQuest Science Journals (Alumni Edition) ProQuest Biological Science Collection ProQuest One Academic Eastern Edition Agricultural Science Collection ProQuest Technology Collection ProQuest Telecommunications (Alumni Edition) Biological Science Database ProQuest Business Collection Environmental Science Collection ProQuest One Academic UKI Edition Environmental Science Database ProQuest One Academic ProQuest One Academic (New) ABI/INFORM Global (Corporate) ProQuest One Business Technology Collection ProQuest One Academic Middle East (New) Materials Science Collection ProQuest Central (Alumni Edition) ProQuest One Community College Research Library (Alumni Edition) ProQuest Natural Science Collection ProQuest Biology Journals (Alumni Edition) ProQuest Central ABI/INFORM Professional Advanced ProQuest Engineering Collection ProQuest Central Korea Agricultural & Environmental Science Collection Materials Science Database ProQuest Research Library ABI/INFORM Complete (Alumni Edition) ProQuest Materials Science Collection ProQuest Computing ABI/INFORM Global (Alumni Edition) ProQuest Central Basic ProQuest Science Journals ProQuest Computing (Alumni Edition) ProQuest Military Collection (Alumni Edition) ProQuest SciTech Collection Advanced Technologies & Aerospace Database Materials Science & Engineering Collection ProQuest One Business (Alumni) ProQuest Central (Alumni) Business Premium Collection (Alumni) Aerospace Database Civil Engineering Abstracts Technology Research Database Computer and Information Systems Abstracts – Academic Mechanical & Transportation Engineering Abstracts Computer and Information Systems Abstracts Engineering Research Database Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Professional  | 
    
| DatabaseTitleList | Aerospace Database Aerospace Database Agricultural Science Database  | 
    
| Database_xml | – sequence: 1 dbid: 8FG name: ProQuest Technology Collection url: https://search.proquest.com/technologycollection1 sourceTypes: Aggregation Database  | 
    
| DeliveryMethod | fulltext_linktorsrc | 
    
| Discipline | Applied Sciences Mathematics  | 
    
| EISSN | 1095-7197 | 
    
| EndPage | C231 | 
    
| ExternalDocumentID | 2736798531 | 
    
| GroupedDBID | -~X 123 3V. 4.4 7WY 7X2 7XB 7XC 88A 88I 88K 8AL 8CJ 8FE 8FG 8FH 8FK 8FL 8G5 AALVN ABJCF ABKAD ABMZU ABUWG ACBEA ACGFO ACGOD ACIWK ACPRK ADBBV ADXHL AENEX AFFNX AFKRA AFRAH ALMA_UNASSIGNED_HOLDINGS ANXRF ARAPS ATCPS AZQEC BBNVY BENPR BEZIV BGLVJ BHPHI BPHCQ CCPQU CS3 CZ9 D0L D1I D1J D1K DU5 DWQXO EBS EDO EJD EST ESX F5P FRNLG GNUQQ GUQSH H13 HCIFZ H~9 JQ2 K6- K60 K6V K6~ K7- KB. KC. L.- L6V LK5 LK8 M0C M0K M0N M1Q M2O M2P M2T M7P M7R M7S MBDVC P1Q P62 PATMY PDBOC PHGZM PHGZT PKEHL PQBIZ PQBZA PQEST PQGLB PQQKQ PQUKI PRINS PROAC PTHSS PYCSY Q9U RJG RSI TAE TN5 YNT .4S 7SC 7TB 8FD FR3 H8D KR7 L7M L~C L~D PUEGO  | 
    
| ID | FETCH-LOGICAL-p179t-121168d1ca4b8058cf6754f1e4726e557d5d5ed800ae0663ff1692b8b487e6053 | 
    
| IEDL.DBID | BENPR | 
    
| ISSN | 1064-8275 | 
    
| IngestDate | Wed Oct 01 15:07:51 EDT 2025 Thu Oct 02 12:05:48 EDT 2025 Fri Jul 25 10:37:58 EDT 2025  | 
    
| IsPeerReviewed | true | 
    
| IsScholarly | true | 
    
| Issue | 4 | 
    
| Language | English | 
    
| LinkModel | DirectLink | 
    
| MergedId | FETCHMERGED-LOGICAL-p179t-121168d1ca4b8058cf6754f1e4726e557d5d5ed800ae0663ff1692b8b487e6053 | 
    
| Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 ObjectType-Article-2 ObjectType-Feature-1 content type line 23  | 
    
| PQID | 1033559518 | 
    
| PQPubID | 23500 | 
    
| ParticipantIDs | proquest_miscellaneous_1136411715 proquest_miscellaneous_1136404105 proquest_journals_1033559518  | 
    
| PublicationCentury | 2000 | 
    
| PublicationDate | 2012-01-01 | 
    
| PublicationDateYYYYMMDD | 2012-01-01 | 
    
| PublicationDate_xml | – month: 01 year: 2012 text: 2012-01-01 day: 01  | 
    
| PublicationDecade | 2010 | 
    
| PublicationPlace | Philadelphia | 
    
| PublicationPlace_xml | – name: Philadelphia | 
    
| PublicationTitle | SIAM journal on scientific computing | 
    
| PublicationYear | 2012 | 
    
| Publisher | Society for Industrial and Applied Mathematics | 
    
| Publisher_xml | – name: Society for Industrial and Applied Mathematics | 
    
| SSID | ssj0016492 | 
    
| Score | 2.2174077 | 
    
| Snippet | Development of scientific software involves tradeoffs between ease of use, generality, and performance. We describe the design of a general hyperbolic PDE... | 
    
| SourceID | proquest | 
    
| SourceType | Aggregation Database | 
    
| StartPage | C210 | 
    
| SubjectTerms | Algorithms Computation Computer programs FORTRAN Libraries Matlab Packages Partial differential equations Propagation Python Software Solvers Supercomputers  | 
    
| Title | PyClaw: Accessible, Extensible, Scalable Tools for Wave Propagation Problems | 
    
| URI | https://www.proquest.com/docview/1033559518 https://www.proquest.com/docview/1136404105 https://www.proquest.com/docview/1136411715  | 
    
| Volume | 34 | 
    
| hasFullText | 1 | 
    
| inHoldings | 1 | 
    
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVPQU databaseName: ProQuest Central customDbUrl: http://www.proquest.com/pqcentral?accountid=15518 eissn: 1095-7197 dateEnd: 20131231 omitProxy: true ssIdentifier: ssj0016492 issn: 1064-8275 databaseCode: BENPR dateStart: 19800301 isFulltext: true titleUrlDefault: https://www.proquest.com/central providerName: ProQuest – providerCode: PRVPQU databaseName: ProQuest Central customDbUrl: http://www.proquest.com/pqcentral?accountid=15518 eissn: 1095-7197 dateEnd: 20140531 omitProxy: true ssIdentifier: ssj0016492 issn: 1064-8275 databaseCode: BENPR dateStart: 19930101 isFulltext: true titleUrlDefault: https://www.proquest.com/central providerName: ProQuest – providerCode: PRVPQU databaseName: ProQuest Technology Collection customDbUrl: eissn: 1095-7197 dateEnd: 20140531 omitProxy: true ssIdentifier: ssj0016492 issn: 1064-8275 databaseCode: 8FG dateStart: 19930101 isFulltext: true titleUrlDefault: https://search.proquest.com/technologycollection1 providerName: ProQuest  | 
    
| link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwhV1LS8NAEB7aetGDb7FaywoeDXaT7EsQqaW1iJaiFb2VTbIRoSS1aX38e2fTtB4EvS1kIbCzM_PNzuMDOFFGhFQI6ghmYsdHl-wE0sOo1SgRqlD7rra9w3c93n30b57Zcwl6i14YW1a5sIm5oY7S0L6Ro3Z76BoRD8jL8ZtjWaNsdnVBoaELaoXoIh8xVoYV107GqsDKVbvXv1_mFbiv5vlP7jvSFayYNUQ9cWbr4RlXgv-yyrmr6WzCeoERSXMu1C0omWQbNgq8SAptzLZh7W45czXbgdv-V2ukP85JM-dAfA1G5pS0P_MK9Xz9gOKwjVJkkKajjCBaJU_63ZD-BAPnl1xCdm35ZbJdeOy0B62uU3AlOGNUqaljJ7VxGVE83UA2mAxjjAT8mBpfuNwwJiIWMRMhPNTGoow4ply5gQwwYDEY0nh7UEnSxOwDoSLGoJHb2XIG4ZySOlJaRZLHLAgaMatCbXE-w-LCZ8Mf8VThePkZr6rNP-jEpDPcQz3uN2xd6T97KBWUHfz9m0NYRezizl9DalCZTmbmCPHBNKhDWXau64XovwEoq7lf | 
    
| linkProvider | ProQuest | 
    
| linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1Lb9NAEB6V5gA9tKWA-maR4IZF1t4nUlSlbaKEJlEEiegtrO11VSmK2zol7Z_rb-usswkHJDjltpJXtrU7s_N9Oy-Aj9rKhEpJA8ltFjA0yUGsImStVstEJ4aFxuUOd3uiNWTfLvnlGjwtcmFcWOXiTCwP6jRP3B05aneEphHxgDq5uQ1c1yjnXV200DC-tUJaK0uM-cSOC_s4QwpX1NrnuN-fwrDZGJy1At9lILhBYZwGrsaZUCnF_4pVlaskQwzNMmqZDIXlXKY85TZFYGWss89ZRoUOYxUj1LdIBiJ87wuosIhpJH-V00av_33pxxBMz_2tggUqlNzXNqKR_OLi77nQUvxlBUrT1tyGTY9JSX0uRK9hzU52YMvjU-K1v9iBje6yxmvxBjr9x7OxmX0l9bLn4nU8tp9J46GMiC_HP3D7XWIWGeT5uCCIjslP89uS_h0S9atSItzY9bMp3sJwJav2DtYn-cTuAqEyQ5IqXC07i_BRK5Nqo1MlMh7H1YzvweFifUZewYrRH3HYgw_Lx6gazt9hJja_xzk0Eqzq4lj_M4dSSfn-vz_zHl62Bt3OqNPuXRzAK8RN4fwm5hDWp3f39gixyTQ-9gJA4NeqZe4Z9Zrz8Q | 
    
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=PyClaw%3A+Accessible%2C+Extensible%2C+Scalable+Tools+for+Wave+Propagation+Problems&rft.jtitle=SIAM+journal+on+scientific+computing&rft.au=Ketcheson%2C+David+I&rft.au=Mandli%2C+Kyle&rft.au=Ahmadia%2C+Aron+J&rft.au=Alghamdi%2C+Amal&rft.date=2012-01-01&rft.issn=1064-8275&rft.eissn=1095-7197&rft.volume=34&rft.issue=4&rft.spage=C210&rft.epage=C231&rft_id=info:doi/10.1137%2F110856976&rft.externalDBID=NO_FULL_TEXT | 
    
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1064-8275&client=summon | 
    
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1064-8275&client=summon | 
    
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1064-8275&client=summon |