微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 DoE 期间重置每个输入之间的所有变量以进行多学科分析

如何解决在 DoE 期间重置每个输入之间的所有变量以进行多学科分析

我正在编写使用 WhatsOpt(一个允许在学科和数据交换方面定义和共享多学科分析的网络应用程序 https://whatsopt.readthedocs.io/en/latest/ )开发的代码我有一个问题。

上下文:此代码必须针对给定的爬升加速度计算飞机的不同质量。当我尝试制作 DoE 时,有一些爬升加速度会导致质量发散。但这不是问题,因为当求解器达到最大迭代次数时,它告诉它没有收敛,我只是不保留结果。

问题:在 DoE 中,当您对输入数字 n 运行分析时,内部变量和响应将使用分析 n-1(前一个)结束时的值进行初始化。因此,如果输入编号为 n-1 的分析发散并将变量设置为高得离谱的值,则分析编号 n 无法在给定的迭代次数内收敛,而应该收敛。

我尝试设置一个函数,当质量达到临界值时将质量重置为 1,但这导致收敛情况应该发散。然后我不能放弃无关的结果。 我试图增加求解器的最大迭代次数,但它导致发散情况的值更大,因此,好的情况仍然没有收敛

问题:您知道如何在 DoE 期间重置每个新输入之间所有变量的值吗?

解决方法

我相信您希望在组级别或组件级别(取决于模型)使用 guess_nonlinear 方法的功能。

这里是 guess_nonlinear 的 openMDAO 文档,它允许您在任何求解器迭代开始时为您喜欢的任何设置设置初始值。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。