使用 Python 构建模型降阶应用库
项目描述
pyMOR - 使用Python进行模型降阶
pyMOR是一个用于使用Python编程语言构建模型降阶应用的软件库。pyMOR中的所有算法均以抽象接口的形式表达,允许通用的实现与不同的后端协同工作,从NumPy/SciPy到外部的偏微分方程求解器包。
特性
- 参数化线性和非线性问题的降阶基方法。
- 线性时不变系统的系统理论方法。
- 基于神经网络的参数化问题方法。
- 正交分解。
- 动态模态分解。
- 数据的有理插值(Loewner,AAA)。
- 数值线性代数(Gram-Schmidt,时间步进,...)。
- 使用NumPy/SciPy科学计算堆栈的纯Python实现有限元和有限体积离散化。
许可证
pyMOR采用BSD-2条款授权。请参阅LICENSE.txt。
引用
如果您在学术工作中使用了pyMOR,请考虑引用我们的出版物
R. Milk, S. Rave, F. Schindler
pyMOR - Generic Algorithms and Interfaces for Model Order Reduction
SIAM J. Sci. Comput., 38(5), pp. S194--S216, 2016
通过pip安装
我们建议在虚拟环境中安装pyMOR。
您可以使用pip命令轻松安装pyMOR。请注意,pip版本低于21.1可能会在解析所有依赖项时出现问题,因此建议先运行以下命令
pip install --upgrade pip
如果您不在虚拟环境中操作,可以将可选的--user
参数传递给pip。然后pyMOR将只为您本地用户安装,不需要管理员权限。
最新版本(不带可选依赖项)
对于具有最小依赖项的安装,请运行
pip install pymor
请注意,大多数包含的演示脚本还需要Qt绑定,如pyside2
才能正常工作。因此,我们建议使用带有gui
额外组件安装pyMOR
pip install pymor[gui] # 2023.1 and later
最新版本(带所有可选依赖项)
以下命令将在您的系统上安装pyMOR的最新版本,并包含大多数可选依赖项
pip install pymor[full]
由于需要系统上的额外设置,因此某些可选包不包括在pymor[full]
中
-
mpi4py:支持MPI分布式模型和贪婪算法的并行化(需要MPI开发头文件和C编译器)
pip install mpi4py
-
Slycot:系统理论方法和H-infinity范数计算的稠密矩阵方程求解器(需要OpenBLAS头文件和Fortran编译器)
pip install slycot
最新开发版本
要安装pyMOR的最新开发版本,请执行
pip install 'pymor[full] @ git+https://github.com/pymor/pymor'
这要求您的系统上已安装git版本控制系统。
当前发布分支版本
有时,pyMOR的主分支会经历重大变化,并且可能会出现问题(这通常会在我们的讨论论坛中宣布),因此您可能更喜欢从当前发布分支安装pyMOR
pip install 'pymor[full] @ git+https://github.com/pymor/pymor@2024.1.x'
发布分支将始终保持稳定,并且只有在发布相应的版本之后才会接收错误修复提交。
通过conda安装
我们建议在conda环境中安装pyMOR。
您可以使用conda运行以下命令来安装pyMOR
conda install -c conda-forge pymor
文档
要从pyMOR源代码树的根目录本地构建文档,请运行以下命令
make docs
这将在docs/_build/html
中生成HTML文档。
外部PDE求解器
pyMOR的设计考虑了与外部偏微分方程求解器的轻松集成。
我们为以下求解器库提供绑定:
-
pyMOR附带dolfin线性代数数据结构的MPI兼容包装类(
pymor.bindings.fenics
)。例如,请参阅pymordemos.thermalblock
和pymordemos.thermalblock_simple
。它使用FEniCS版本2019.1.0进行测试。 -
Python绑定和pyMOR包装类可在此处找到。
-
pyMOR附带NGSolve有限元库的包装类(
pymor.bindings.ngsolve
)。例如,请参阅pymordemos.thermalblock_simple
。它使用NGSolve版本v6.2.2104进行测试。
在pymordemos.minimal_cpp_demo
中可以找到一个将pyMOR与自定义求解器直接集成的简单示例。
另一种方法是导入系统矩阵文件,并使用基于scipy.sparse
的求解器。
pyMOR开发和测试环境
请参阅开发者文档。
联系方式
如果您对pyMOR有任何疑问或希望做出贡献,请随时发送电子邮件至
main.developers@pymor.org
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪一个,请了解有关安装软件包的更多信息。