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

Reseting all variables between each input during a DoE for a multi-disciplinary analysis

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

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

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

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

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

我认为您想要在组级别或组件级别(取决于模型)使用 guess_nonlinear 方法的功能。

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