OpenMDAO中的Problem对象被编程为行为类似于对象中声明的所有Problem变量和诸如此类的变量的字典。现在我可以使用for循环遍历普通的字典,比如:
for key,value in my_dict.iteritems():
do_something(key,value)这样的事情可以解决OpenMDAO问题吗?
我有一堆有用的实用程序来处理字典。我也想用它们来处理OpenMDAO问题。
谢谢!
发布于 2016-05-19 19:52:32
我不是很确定你想要做什么,但听起来你想迭代模型中的所有变量?可以这样做的一种方法是迭代prob.root.unknowns,它是包含模型顶部System中所有连接变量的向量。它是递归的,因为它包括在子系统中指定的连接。但是,它不包括任何与数据传递无关的内容,因此任何至少没有连接到IndepVarComp的Component输入都不会显示在其中。
发布于 2016-05-19 19:53:25
如果你想访问底层的类字典对象,你可以改为访问prob.root.unknowns。这仍然不是一个实际的字典,而是一个VecWrapper实例,但它类似于字典,并且具有像鸭子键入意义上的方法一样使用的必要方法。
https://stackoverflow.com/questions/37318403
复制相似问题