PetIGA: A framework for high-performance isogeometric analysis

  • L. Dalcin
  • , N. Collier
  • , P. Vignal
  • , A. M.A. Côrtes
  • , V. M. Calo

Research output: Contribution to journalArticlepeer-review

141 Scopus citations

Abstract

We present PetIGA, a code framework to approximate the solution of partial differential equations using isogeometric analysis. PetIGA can be used to assemble matrices and vectors which come from a Galerkin weak form, discretized with Non-Uniform Rational B-spline basis functions. We base our framework on PETSc, a high-performance library for the scalable solution of partial differential equations, which simplifies the development of large-scale scientific codes, provides a rich environment for prototyping, and separates parallelism from algorithm choice. We describe the implementation of PetIGA, and exemplify its use by solving a model nonlinear problem. To illustrate the robustness and flexibility of PetIGA, we solve some challenging nonlinear partial differential equations that include problems in both solid and fluid mechanics. We show strong scaling results on up to 4096 cores, which confirm the suitability of PetIGA for large scale simulations.

Original languageEnglish
Pages (from-to)151-181
Number of pages31
JournalComputer Methods in Applied Mechanics and Engineering
Volume308
DOIs
StatePublished - Aug 15 2016

Funding

This work is part of the European Union’s Horizon 2020 research and innovation programme of the Marie Skłodowska-Curie grant agreement No. 644602. This work was also supported by the Center for Numerical Porous Media at King Abdullah University of Science and Technology and Agencia Nacional de Promoción Científica y Tecnológica grants PICT 0938–13 , PICT 2660–14 and PICT-E 0191–14 .

Keywords

  • Finite element method
  • High-performance computing
  • Isogeometric analysis
  • Open-source software

Fingerprint

Dive into the research topics of 'PetIGA: A framework for high-performance isogeometric analysis'. Together they form a unique fingerprint.

Cite this