奇怪的AttributeError:OpenMDAO说我在mpirun

时间:2016-12-01 20:25:10

标签: mpi openmdao

我正在运行developmental scientific code。我被困在一个神秘的错误信息上,我很好奇OpenMDAO团队的想法。当我以串行方式运行代码时,它没有任何问题。当我在mpirun下运行时,OpenMDAO会抛出一个神秘的错误消息:

Traceback (most recent call last):
  File "test/exampleOptimizationAEP.py", line 129, in <module>
    prob['ratedPower'] = ratedPower
   .....
   File "/scratch/jquick/test/lib/python2.7/site-packages/openmdao-1.7.3-py2.7.egg/openmdao/core/vec_wrapper.py", line 1316, in __setitem__
    (self.name, name))
AttributeError: 'params' has not been initialized, setup() must be called before 'ratedPower' can be accessed

我不知道如何处理这个问题。代码中的ratedPower变量没有明显不同。这个错误给我带来了什么信息?

1 个答案:

答案 0 :(得分:2)

这是OpenMDAO&lt; = v1.7.2中的错误。查看check_setup的输出并查看parameters without associated unknowns列表。你会在那里找到那个变量。并行运行时(由于该错误),您无法在设置脚本中设置任何挂起的参数(没有相关的未知数)。

修复它的方法是将IndepVarComp添加到初始化值所需的任何变量。