首页 > 解决方案 > OpenMDAO - Dymos。将相位的结果插值到等间距网格上

问题描述

我的转录输出网格中有一个阶段的结果。为了进行一些进一步的分析,我需要将我的结果放在一个等间距的网格中。如何使用生成的并置多项式在新的等距网格坐标处获取时间序列输出的值?

标签: openmdao

解决方案


这将通过使用第二个时间序列输出来完成: https ://openmdao.github.io/dymos/features/phases/timeseries.html#interpolated-timeseries-outputs

为此,您将希望辅助时间序列使用 3 阶 Gauss-Lobatto 转录。

  • 第三个 Gauss-Lobatto 段由 3 个节点组成
  • 每个状态的值在两个端点输入
  • 每个控件的值在两个端点和中点输入
  • 如果未指定,则相位中的段等距间隔
  • 如果我们使用“压缩”转录,则连续段的公共点的状态值仅提供一次

因此,根据此处的测试用例,您可以执行以下操作:

tx_2 = dm.GaussLobatto(num_segments=10, order=3, compressed=True)
phase.add_timeseries('timeseries2', transcription=tx_2, subset='state_input')

Dymos 将执行从阶段的主要转录到为 指定的离散化的插值timeseries2


推荐阅读