问题标签 [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.
metamodel - 在使用嵌套方法的设计过程中使用元模型
我们有兴趣在 OpenMDAO 中实现的飞机设计过程中使用代理模型。基本上,我们希望使用空气动力学代码(例如我们的目标中的 VSPaero)来生成数据库(使用 DOE),然后构建将在设计过程中使用的代理。看起来您的建议 2)在openMDAO 中使用 MOE ,我们还希望访问要在完整设计问题中使用的代理的“梯度”信息。
我们从您在 嵌套问题中提供的代码开始, 并尝试使用简化的空气动力学组件构建模型案例。示例代码如下(使用克里金法),我们有两个问题要完成它:
- 如果我们想使用代理梯度信息,我们需要在我们的组件中实现一个“线性化”函数:我想我们应该使用问题的“calc_gradient”函数来做到这一点。这样对吗 ?
- 在我们的示例代码中,每次调用组件时都会进行训练,这不是很有效:有没有办法只调用一次或仅在较大问题的 setup() 之后进行代理训练(飞机设计在我们的例子中)?
这是代码(抱歉有点长):
derivative - 使用定标器进行导数检查
我有一个问题,我想缩放设计变量。我已经添加了缩放器,但我想检查导数以确保它正在做我想要它做的事情。有没有办法检查比例导数?我曾尝试使用 check_total_derivatives() 但无论我为缩放器设置什么值,导数都是完全相同的:
openmdao - OpenMDAO PetscTgtVecWrapper TypeError
我正在尝试运行一个并行工作流,我在其中评估ParallelGroup
. 如果我在少量内核上运行,它不会崩溃,但在某些时候增加节点数量会引发错误,这表明它与问题的分区方式有关。
据我所知,在设置通信表时,我从 OpenMDAO 和 PETSc 的深层地牢中得到一个与目标索引有关的错误。以下是错误回溯的打印:
这个答案:
引导我寻找你设置tgt_idxs
向量的位置,看看它是否用正确的 dtype 定义PETSc.IntType
。但是到目前为止,Petsc has generated inconsistent data
当我尝试设置我认为可能导致错误的数组的 dtype 时,我只会遇到错误。
我还没有尝试按照--with-64-bit-indices
我链接到的答案中的建议重新安装 PETSc。您是否运行以这种方式配置的 PETSc?
编辑:我现在已经设置了一个简化版本的问题,它复制了我得到的错误:
完成后,我还可以看到由于我们评估的许多案例,数据量最终变得巨大。我会看看我们是否可以以某种方式减少数据大小。我现在根本无法运行它,因为它要么因错误而崩溃:
或TypeError
.
openmdao - 不同的 IndepVarComp 初始化中断 OpenMDAO
我有一个以数组开头的工作流程。我让这个工作流程正常工作,但是有一件有趣的事情导致它中断,我不明白为什么。
为了进行测试,我有一个提供向量的 IndepVarComp。它似乎只在使用来自 np.zeros(...) 的向量初始化时才有效。
我尝试使用 np.arange(...) 之类的东西来验证是否正确填充了内容。但那时什么都没有发生。
只是为了让我了解更多,有人可以解释一下为什么这样的事情会导致 OpenMDAO 崩溃。
作为参考,这是工作流程的其余部分:
openmdao - 如何遍历 OpenMDAO 对象中的条目
OpenMDAO 中的问题对象被编程为表现得像一个字典,其中包含对象中声明的所有问题变量和其他变量。现在我可以使用 for 循环遍历普通字典,例如:
OpenMDAO 问题可以解决这样的问题吗?
我有一堆有用的实用程序来处理字典。我也想用它们来处理 OpenMDAO 问题。
谢谢!
python-2.7 - 在 openmdao 中声明约束时出现 TypeError(我的 ndarray 被用作浮点数)
大家好,如果我犯了一些错误,请原谅我,我英语说得不太好。
尝试向 OpenMdao 中的组添加约束时出现 TypeError。我声明了一个组件:
然后是 Group :
我明白了:
TypeError:源“px”的类型(“numpy.ndarray”)必须与目标“con0.x”的类型(“float”)相同。
几个小时以来我一直试图找出问题所在,但我不明白为什么我的“x”会被视为浮点数......我遵循抛物面教程声明约束的方式,而Sellar Problem 教程表明可以在字符串内部使用 ndarray 来声明约束。
有人看到我的代码有什么问题吗?
提前谢谢你
盖尔
python - 安装 petsc4py 以在 openmdao 中使用时如何修复版本错误
我正在尝试使用 Python网站上找到的方向安装 petsc4py,但出现错误。如何解决此找不到正确版本错误?我的总体目标是能够使用 openMDAO,但我需要先让 petsc4py 工作。
以下是命令的输入,然后是我收到的错误
openmdao - prob.root.unknowns 的值不会随求解而改变
这是上一个关于迭代中的值和 openMDAO 问题的问题的附加内容。我希望能够使用 top.run() 计算值。然后检查更改。但是,之前的建议似乎不起作用。
我发现修改或运行问题时 prob.root.unknowns 并没有真正改变。
openmdao - 缩放数组的单个元素
我一直在使用缩放器变量来缩放作为数组的设计变量。但是,我想以不同于其他元素的方式缩放其中一个元素。但是当我将一个数组输入到 scaler 变量中时,我收到以下错误:
是否可以将数组添加到缩放器?还是有更好的方法来单独缩放数组的各个元素而不是手动进行?
openmdao - 尝试安装 OpenMDAO 时发生错误。怀疑与 cobyla 相关的问题
我在 Ubuntu 上成功安装 OpenMDAO 时遇到问题。cobyla 的问题似乎在整个错误消息中都很普遍。我在下面包含了执行 openmdao 测试和 cobyla 的 setup.py 的结果。
我达到了字符限制,包括 cobyla setup.py 输出。你可以在这里找到它:http ://pastebin.com/ 0nUHnbE8`