PyAlbany: A Python interface to the C++ multiphysics solver Albany
Albany is a parallel C++ finite element library for solving forward and inverse problems involving partial differential equations (PDEs). In this paper we introduce PyAlbany, a newly developed Python interface to the Albany library. PyAlbany can be used to effectively drive Albany enabling fast and...
Saved in:
| Published in: | Journal of computational and applied mathematics Vol. 425; no. C; p. 115037 |
|---|---|
| Main Authors: | , , |
| Format: | Journal Article |
| Language: | English |
| Published: |
Belgium
Elsevier B.V
01.06.2023
Elsevier |
| Subjects: | |
| ISSN: | 0377-0427, 1879-1778 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Summary: | Albany is a parallel C++ finite element library for solving forward and inverse problems involving partial differential equations (PDEs). In this paper we introduce PyAlbany, a newly developed Python interface to the Albany library. PyAlbany can be used to effectively drive Albany enabling fast and easy analysis and post-processing of applications based on PDEs that are pre-implemented in Albany. PyAlbany relies on the library PyBind11 to bind Python with C++ Albany code. Here we detail the implementation of PyAlbany and showcase its capabilities through a number of examples targeting a heat-diffusion problem. In particular we consider (1) the generation of samples for a Monte Carlo application, (2) a scalability study, (3) a study of parameters on the performance of a linear solver, and (4) a tool for performing eigenvalue decompositions of matrix-free operators for a Bayesian inference application. |
|---|---|
| Bibliography: | NA-0003525 USDOE National Nuclear Security Administration (NNSA) |
| ISSN: | 0377-0427 1879-1778 |
| DOI: | 10.1016/j.cam.2022.115037 |