网页 综合 更新时间 2026-11-14 16:52:44

pyMOR | Model Order Reduction with Python

自动蜘蛛 pymor.org 正文约 3725 字
pyMOR is a software library for building model order reduction applications with the Python programming language. All algorithms in pyMOR are formulated in terms of abstract interfaces, allowing generic implementations to work with different backends, from NumPy/SciPy to external partial differential equation solver packages.
pyMOR is licensed under BSD-2-clause. See LICENSE.txt.
If you use pyMOR for academic work, please consider citing our publication:
pyMOR can easily be installed using Python package managers like pip. We recommend installation of pyMOR into a virtual environment to avoid dependency conflicts.
For an installation with minimal dependencies, run
Since most included demo scripts require Qt bindings such as pyside6 to function, we recommend install pyMOR with the gui extra:
The following installs the latest release of pyMOR on your system with most optional dependencies:
To obtain an environment with the exact same package versions used in our Linux continuous integration tests, you can use the requirements-ci-current.txt, file from the pyMOR repository
If you are using a stable release, you should download the file from the corresponding release branch of the repository.
There are some optional packages not included with pymor[full] because they need additional setup on your system:
mpi4py: support of MPI distributed models and parallelization of greedy algorithms (requires MPI development headers and a C compiler):
Slycot: dense matrix equation solvers for system-theoretic methods and H-infinity norm calculation (requires OpenBLAS headers and a Fortran compiler):
Note that building Slycot might fail for the following reasons:
If you are on Linux and don’t want to build Slycot yourself, you can try our experimental manylinux wheels for Slycot.
pyMOR is packaged in conda-forge and can be installed by running
This will install pyMOR with its core dependencies into the current active conda environment. To replicate an environment with most optional dependencies, which is also used in our continuous integration tests, you can use the conda-linux-64.lock, conda-osx-64.lock, conda-win-64.lock lock files from the pyMOR repository:
Documentation is available online. We recommend starting with getting started, tutorials, and technical overview.
To build the documentation locally, run the following from inside the root directory of the pyMOR source tree:
This will generate HTML documentation in docs/_build/html.
pyMOR has been designed with easy integration of external PDE solvers in mind.
We provide bindings for the following solver libraries:
MPI-compatible wrapper classes for dolfin linear algebra data structures and nonlinear operators are shipped with pyMOR (pymor.bindings.fenics). For an example see pymordemos.thermalblock, pymordemos.thermalblock_simple. The bindings are tested using FEniCS version 2019.1.0.
Wrapper classes for dolfinx linear algebra data structures and nonlinear operators are shipped with pyMOR (pymor.bindings.fenicsx). For an example see pymordemos.thermalblock_simple. The bindings are tested using FEniCSx 0.10.
Python bindings and pyMOR wrapper classes can be found here.
Wrapper classes for the NGSolve finite element library are shipped with pyMOR (pymor.bindings.ngsolve). For an example see pymordemos.thermalblock_simple. It is tested using NGSolve version v6.2.2606.
A simple example for direct integration of pyMOR with a custom solver can be found in pymordemos.minimal_cpp_demo.
An alternative approach is to import system matrices from file and use scipy.sparse-based solvers.
Please see the Developer Documentation.
Should you have any questions regarding pyMOR or wish to contribute, do not hesitate to send us an email at
访问原文 返回搜索 https://pymor.org/
本页为82搜索生成的网页快照,内容来自站内索引;演示数据的原文链接仅作示例。