当前位置: X-MOL 学术arXiv.cs.MS › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Pressio: Enabling projection-based model reduction for large-scale nonlinear dynamical systems
arXiv - CS - Mathematical Software Pub Date : 2020-03-17 , DOI: arxiv-2003.07798
Francesco Rizzi, Patrick J. Blonigan, Kevin T. Carlberg

This work introduces Pressio, an open-source project aimed at enabling leading-edge projection-based reduced order models (ROMs) for large-scale nonlinear dynamical systems in science and engineering. Pressio provides model-reduction methods that can reduce both the number of spatial and temporal degrees of freedom for any dynamical system expressible as a system of parameterized ordinary differential equations (ODEs). We leverage this simple, expressive mathematical framework as a pivotal design choice to enable a minimal application programming interface (API) that is natural to dynamical systems. The core component of Pressio is a C++11 header-only library that leverages generic programming to support applications with arbitrary data types and arbitrarily complex programming models. This is complemented with Python bindings to expose these C++ functionalities to Python users with negligible overhead and no user-required binding code. We discuss the distinguishing characteristics of Pressio relative to existing model-reduction libraries, outline its key design features, describe how the user interacts with it, and present two test cases---including one with over 20 million degrees of freedom---that highlight the performance results of Pressio and illustrate the breath of problems that can be addressed with it.

中文翻译:

Pressio:为大规模非线性动力系统启用基于投影的模型缩减

这项工作介绍了 Pressio,这是一个开源项目,旨在为科学和工程中的大规模非线性动力系统启用基于前沿投影的降阶模型 (ROM)。Pressio 提供了模型简化方法,可以减少任何可表示为参数化常微分方程 (ODE) 系统的动力系统的空间和时间自由度的数量。我们利用这个简单、富有表现力的数学框架作为关键的设计选择,以实现动态系统自然的最小应用程序编程接口 (API)。Pressio 的核心组件是一个只有 C++11 头文件的库,它利用泛型编程来支持具有任意数据类型和任意复杂编程模型的应用程序。这与 Python 绑定相辅相成,将这些 C++ 功能暴露给 Python 用户,开销可忽略不计,并且没有用户需要的绑定代码。我们讨论了 Pressio 相对于现有模型简化库的显着特征,概述了其关键设计特征,描述了用户如何与其交互,并展示了两个测试用例——包括一个拥有超过 2000 万自由度的测试用例——突出 Pressio 的性能结果,并说明可以用它解决的问题。
更新日期:2020-04-28
down
wechat
bug