我最近开始使用OpenMDAO,我还在学习如何使用它。我正在使用OpenMDAO来优化系统的结构设计。我使用我的分析模型(当然是假设)来计算我的系统的最大应力和固有频率,这是优化过程中的约束。由于我使用了一个解析模型,我给出了偏导数(解析法),以方便总导数的计算。这缩小了我的宽设计信封。然而,如果我想得到一个更现实的数值应力和频率,我将不得不使用外部有限元求解器,而不是我的分析模型。但那样的话,我就无法计算优化所需的导数了。是否可以在OpenMDAO框架中集成一个外部的有限元求解器?如果是,怎么做?
我确实遇到了OpenAeroStruct。我猜想它有一种内在的方法来计算导数。但它似乎更倾向于飞机设计。到目前为止,我找不到一种方法来计算我上面提到的值(应力和频率)。
我的最终目标将是整合其余的子系统(电力,热力等,这也将影响结构设计),并获得一个优化的设计。因此,一个独立的结构优化器将是无益的。谢谢。
发布于 2019-08-27 16:42:11
可以在OpenMDAO中使用外部代码,有或不带导数。如果你需要的话,你可以随时得到剩余的评估结果。看一看ExternalCodeImplicitComp文档
还有,你看过塔克斯吗?它是一条用导数包裹的有限元求解器,非常有用。应该很容易地将它封装到OpenMDAO中:
https://stackoverflow.com/questions/57678462
复制相似问题