m (remove link to list of abbrev) |
|||
Line 6: | Line 6: | ||
[https://pymor.org pyMOR] is a [https://opensource.org/licenses/BSD-2-Clause BSD-licensed] software library for building model order reduction applications in the [[:Wikipedia:Python_(programming_language)|Python programming language]]. |
[https://pymor.org pyMOR] is a [https://opensource.org/licenses/BSD-2-Clause BSD-licensed] software library for building model order reduction applications in the [[:Wikipedia:Python_(programming_language)|Python programming language]]. |
||
Implemented algorithms include reduced basis methods for parametric linear and non-linear problems, as well as system-theoretic methods such as balanced truncation and iterative rational Krylov algorithm. |
Implemented algorithms include reduced basis methods for parametric linear and non-linear problems, as well as system-theoretic methods such as balanced truncation and iterative rational Krylov algorithm. |
||
− | '''pyMOR''' is designed from the ground up for easy integration with external |
+ | '''pyMOR''' is designed from the ground up for easy integration with external PDE solver packages but also offers Python-based discretizations for getting started easily. |
== Features == |
== Features == |
||
Line 14: | Line 14: | ||
* Efficient error estimation for linear affinely decomposed problems. |
* Efficient error estimation for linear affinely decomposed problems. |
||
* Empirical interpolation of arbitrary operators (with efficient evaluation of projected interpolated operators if the operator supports restriction to selected degrees of freedom). |
* Empirical interpolation of arbitrary operators (with efficient evaluation of projected interpolated operators if the operator supports restriction to selected degrees of freedom). |
||
− | * Parallel adaptive greedy and |
+ | * Parallel adaptive greedy and POD algorithms for reduced space construction. |
− | * Empirical-Interpolation-Greedy and |
+ | * Empirical-Interpolation-Greedy and DEIM algorithms for generation of interpolation data for empirical operator interpolation. |
* Balanced-based and interpolation-based reduction methods for first-order and second-order linear time-invariant systems. |
* Balanced-based and interpolation-based reduction methods for first-order and second-order linear time-invariant systems. |
||
* Model order reduction using artificial neural networks. |
* Model order reduction using artificial neural networks. |
||
Line 26: | Line 26: | ||
* Time-dependent parameters. |
* Time-dependent parameters. |
||
− | All these algorithms are formulated in terms of abstract interfaces for seamless integration with external high-dimensional |
+ | All these algorithms are formulated in terms of abstract interfaces for seamless integration with external high-dimensional PDE solvers. |
Bindings for the following PDE solver libraries are available: |
Bindings for the following PDE solver libraries are available: |
||
* [http://www.dealii.org/ deal.II] |
* [http://www.dealii.org/ deal.II] |
Revision as of 14:22, 11 May 2023
Synopsis
pyMOR is a BSD-licensed software library for building model order reduction applications in the Python programming language. Implemented algorithms include reduced basis methods for parametric linear and non-linear problems, as well as system-theoretic methods such as balanced truncation and iterative rational Krylov algorithm. pyMOR is designed from the ground up for easy integration with external PDE solver packages but also offers Python-based discretizations for getting started easily.
Features
Currently, the following model reduction algorithms are provided by pyMOR:
- A generic reduction routine for projection of arbitrary high-dimensional discretizations onto reduced spaces, preserving (possibly nested) affine decompositions of operators and functionals for efficient offline/online decomposition.
- Efficient error estimation for linear affinely decomposed problems.
- Empirical interpolation of arbitrary operators (with efficient evaluation of projected interpolated operators if the operator supports restriction to selected degrees of freedom).
- Parallel adaptive greedy and POD algorithms for reduced space construction.
- Empirical-Interpolation-Greedy and DEIM algorithms for generation of interpolation data for empirical operator interpolation.
- Balanced-based and interpolation-based reduction methods for first-order and second-order linear time-invariant systems.
- Model order reduction using artificial neural networks.
- Data-driven model order reduction with Dynamic Mode Decomposition, Eigensystem Realization, parametric AAA.
- Gram-Schmidt algorithm supporting re-orthogonalization for improved numerical accuracy.
- Time-stepping and Newton algorithms, as well as generic iterative linear solvers.
- Low-rank alternating direction implicit (LR ADI) method for large-scale Lyapunov equations and bindings for matric equations solvers in SLICOT (via slycot) and Py-M.E.S.S.
- Eigenvalue/pole computation using the implicitly restarted Arnoldi method and the subspace accelerated dominant pole (SAMDP) algorithm.
- Modal truncation for linear time-invariant systems.
- Time-dependent parameters.
All these algorithms are formulated in terms of abstract interfaces for seamless integration with external high-dimensional PDE solvers. Bindings for the following PDE solver libraries are available:
- deal.II
- DUNE
- FEniCS
- NGSolve
- scikit-fem (experimental)
Pure Python implementations of discretizations using the NumPy/SciPy scientific computing stack are implemented to provide an easy-to-use sandbox for experimentation with new model reduction approaches. pyMOR offers:
- Structured 1D and 2D grids, as well as an experimental Gmsh-based grid, implementing the same abstract grid interface.
- Finite element and finite volume operators based on this interface.
- SciPy/SuperLU based iterative and direct solvers for sparse systems.
- OpenGL and matplotlib based visualizations of solutions.
References
- M. Ohlberger, S. Rave, S. Schmidt, S. Zhang. "A Model Reduction Framework for Efficient Simulation of Li-Ion Batteries". Springer Proceedings in Mathematics & Statistics Vol. 78: Finite Volumes for Complex Applications VII-Elliptic, Parabolic and Hyperbolic Problems, Berlin, June 2014.
- R. Milk, S. Rave, F. Schindler. "pyMOR - Generic Algorithms and Interfaces for Model Order Reduction". SIAM Journal on Scientific Computing 38(5): S194--S216, 2016.
Links
- Official website,
- Development of pyMOR can be tracked on GitHub,
- Online documentation.
Contact
For assistance with, and contributions to pyMOR, the developers can be contacted via GitHub discussions.