问题标签 [openmdao]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
111 浏览

metamodel - 在使用嵌套方法的设计过程中使用元模型

我们有兴趣在 OpenMDAO 中实现的飞机设计过程中使用代理模型。基本上,我们希望使用空气动力学代码(例如我们的目标中的 VSPaero)来生成数据库(使用 DOE),然后构建将在设计过程中使用的代理。看起来您的建议 2)在openMDAO 中使用 MOE ,我们还希望访问要在完整设计问题中使用的代理的“梯度”信息。
我们从您在 嵌套问题中提供的代码开始, 并尝试使用简化的空气动力学组件构建模型案例。示例代码如下(使用克里金法),我们有两个问题要完成它:

  • 如果我们想使用代理梯度信息,我们需要在我们的组件中实现一个“线性化”函数:我想我们应该使用问题的“calc_gradient”函数来做到这一点。这样对吗 ?
  • 在我们的示例代码中,每次调用组件时都会进行训练,这不是很有效:有没有办法只调用一次或仅在较大问题的 setup() 之后进行代理训练(飞机设计在我们的例子中)?

这是代码(抱歉有点长):

0 投票
2 回答
79 浏览

derivative - 使用定标器进行导数检查

我有一个问题,我想缩放设计变量。我已经添加了缩放器,但我想检查导数以确保它正在做我想要它做的事情。有没有办法检查比例导数?我曾尝试使用 check_total_derivatives() 但无论我为缩放器设置什么值,导数都是完全相同的:

0 投票
2 回答
95 浏览

openmdao - OpenMDAO PetscTgtVecWrapper TypeError

我正在尝试运行一个并行工作流,我在其中评估ParallelGroup. 如果我在少量内核上运行,它不会崩溃,但在某些时候增加节点数量会引发错误,这表明它与问题的分区方式有关。

据我所知,在设置通信表时,我从 OpenMDAO 和 PETSc 的深层地牢中得到一个与目标索引有关的错误。以下是错误回溯的打印:

这个答案:

https://scicomp.stackexchange.com/questions/2355/32bit-64bit-issue-when-working-with-numpy-and-petsc4py/2356#2356

引导我寻找你设置tgt_idxs向量的位置,看看它是否用正确的 dtype 定义PETSc.IntType。但是到目前为止,Petsc has generated inconsistent data当我尝试设置我认为可能导致错误的数组的 dtype 时,我只会遇到错误。

我还没有尝试按照--with-64-bit-indices我链接到的答案中的建议重新安装 PETSc。您是否运行以这种方式配置的 PETSc?

编辑:我现在已经设置了一个简化版本的问题,它复制了我得到的错误:

完成后,我还可以看到由于我们评估的许多案例,数据量最终变得巨大。我会看看我们是否可以以某种方式减少数据大小。我现在根本无法运行它,因为它要么因错误而崩溃:

TypeError.

0 投票
1 回答
52 浏览

openmdao - 不同的 IndepVarComp 初始化中断 OpenMDAO

我有一个以数组开头的工作流程。我让这个工作流程正常工作,但是有一件有趣的事情导致它中断,我不明白为什么。

为了进行测试,我有一个提供向量的 IndepVarComp。它似乎只在使用来自 np.zeros(...) 的向量初始化时才有效。

我尝试使用 np.arange(...) 之类的东西来验证是否正确填充了内容。但那时什么都没有发生。

只是为了让我了解更多,有人可以解释一下为什么这样的事情会导致 OpenMDAO 崩溃。

作为参考,这是工作流程的其余部分:

0 投票
2 回答
55 浏览

openmdao - 如何遍历 OpenMDAO 对象中的条目

OpenMDAO 中的问题对象被编程为表现得像一个字典,其中包含对象中声明的所有问题变量和其他变量。现在我可以使用 for 循环遍历普通字典,例如:

OpenMDAO 问题可以解决这样的问题吗?

我有一堆有用的实用程序来处理字典。我也想用它们来处理 OpenMDAO 问题。

谢谢!

0 投票
1 回答
34 浏览

python-2.7 - 在 openmdao 中声明约束时出现 TypeError(我的 ndarray 被用作浮点数)

大家好,如果我犯了一些错误,请原谅我,我英语说得不太好。

尝试向 OpenMdao 中的组添加约束时出现 TypeError。我声明了一个组件:

然后是 Group :

我明白了:

TypeError:源“px”的类型(“numpy.ndarray”)必须与目标“con0.x”的类型(“float”)相同。

几个小时以来我一直试图找出问题所在,但我不明白为什么我的“x”会被视为浮点数......我遵循抛物面教程声明约束的方式,而Sellar Problem 教程表明可以在字符串内部使用 ndarray 来声明约束。

有人看到我的代码有什么问题吗?

提前谢谢你

盖尔

0 投票
1 回答
304 浏览

python - 安装 petsc4py 以在 openmdao 中使用时如何修复版本错误

我正在尝试使用 Python网站上找到的方向安装 petsc4py,但出现错误。如何解决此找不到正确版本错误?我的总体目标是能够使用 openMDAO,但我需要先让 petsc4py 工作。

以下是命令的输入,然后是我收到的错误

0 投票
1 回答
24 浏览

openmdao - prob.root.unknowns 的值不会随求解而改变

这是上一个关于迭代中的值和 openMDAO 问题的问题的附加内容。我希望能够使用 top.run() 计算值。然后检查更改。但是,之前的建议似乎不起作用。

我发现修改或运行问题时 prob.root.unknowns 并没有真正改变。

0 投票
1 回答
76 浏览

openmdao - 缩放数组的单个元素

我一直在使用缩放器变量来缩放作为数组的设计变量。但是,我想以不同于其他元素的方式缩放其中一个元素。但是当我将一个数组输入到 scaler 变量中时,我收到以下错误:

是否可以将数组添加到缩放器?还是有更好的方法来单独缩放数组的各个元素而不是手动进行?

0 投票
0 回答
203 浏览

openmdao - 尝试安装 OpenMDAO 时发生错误。怀疑与 cobyla 相关的问题

我在 Ubuntu 上成功安装 OpenMDAO 时遇到问题。cobyla 的问题似乎在整个错误消息中都很普遍。我在下面包含了执行 openmdao 测试和 cobyla 的 setup.py 的结果。

我达到了字符限制,包括 cobyla setup.py 输出。你可以在这里找到它:http ://pastebin.com/ 0nUHnbE8`