Skip to main content
QUICK REVIEW

[论文解读] PETSc/TS: A Modern Scalable ODE/DAE Solver Library

Shrirang Abhyankar, Jed Brown|arXiv (Cornell University)|Jun 4, 2018
Numerical methods for differential equations参考文献 25被引用 147
一句话总结

The paper presents PETSc/TS, a scalable, general-purpose library for solving ODEs and DAEs built on the PETSc framework, with support for forward/adjoint sensitivities, various time-stepping schemes, adaptive error control, and flexible solver options.

ABSTRACT

High-quality ordinary differential equation (ODE) solver libraries have a long history, going back to the 1970s. Over the past several years we have implemented, on top of the PETSc linear and nonlinear solver package, a new general-purpose, extensive, extensible library for solving ODEs and differential algebraic equations (DAEs). Package includes support for both forward and adjoint sensitivities that can be easily utilized by the TAO optimization package, which is also part of PETSc. The ODE/DAE integrator library strives to be highly scalable but also to deliver high efficiency for modest-sized problems. The library includes explicit solvers, implicit solvers, and a collection of implicit-explicit solvers, all with a common user interface and runtime selection of solver types, adaptive error control, and monitoring of solution progress. The library also offers enormous flexibility in selection of nonlinear and linear solvers, including the entire suite of PETSc iterative solvers, as well as several parallel direct solvers.

研究动机与目标

  • 提供一个可扩展、可集成到 PETSc 的 ODE/DAE 求解器库。
  • 提供一个统一的显式、隐式和 IMEX 时间步进方案界面,带自适应误差控制。
  • 在 TS 框架内实现正向与对偶灵敏度的计算,并与 TAO 优化集成。
  • 支持广泛的线性与非线性求解器以及雅可比处理工具,以提升灵活性与性能。
  • 讨论事件处理、监控与可视化工具,以帮助求解过程。

提出的方法

  • 描述 PETSc 架构及其核心类(Vec、Mat、KSP、SNES、DM)及它们如何支撑 TS 对象。
  • 解释 TS 针对 ODE/DAE 问题的 API,包括 F(t,u,du/dt)、G(t,u)及其雅可比矩阵,以及如何使用基于移位的雅可比矩阵。
  • 详细介绍可用的时间步进方案(显式、隐式以及分区 IMEX/ARK)及它们的稳定性/精度特性。
  • 概述雅可比计算辅助工具(矩阵自由法、着色法和自动测试),以辅助用户提供的雅可比矩阵。
  • 介绍 DM 对象如何将离散化/网格管理与求解器衔接,以处理带有空间离散化的 PDE。
  • 提供用 C 和 Python(petsc4py)编写的示例,演示 TS 求解器的设置与执行。

实验结果

研究问题

  • RQ1如何设计一个现代的 ODE/DAE 求解器,使其在分布式内存体系结构上具有高度可扩展性,同时对各种问题类别(ODEs、DAEs、刚性/非刚性、质量矩阵)保持灵活?
  • RQ2用户提交并验证雅可比矩阵的实际机制是什么,以及如何将矩阵自由法和着色技术整合以减轻负担?
  • RQ3正向与对偶灵敏度在 TS 中的集成效果如何,以及如何被 TAO 优化包利用?
  • RQ4如何通过单一 API 同时适配显式、隐式和 IMEX 方法(包括分区 Runge-Kutta 方案),具备自适应误差控制与事件处理?

主要发现

  • TS 接口支持广泛的时间积分方案,包括显式、隐式和 IMEX 方法,具备自适应误差控制和运行时可配置性。
  • 用户可以灵活组合 F、G 及其雅可比矩阵,具备矩阵自由法雅可比矩阵应用、显式雅可比的着色以及自动测试来验证计算。
  • 基于 PETSc 的实现利用了线性和非线性求解器的丰富生态系统,包括迭代求解器和直接求解器,通过最小的公开 API 和运行时选项系统。
  • 该框架提供处理事件、监控和可视化求解过程的机制,并具有网络和化学反应的高层接口。
  • 示例代码演示 TS 在 C 和 Python 中的端到端用法,包括问题定义、雅可比设置和求解循环。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。