有没有办法在不使用Problem
组件的情况下将设计变量值传递给OpenMDAO Group
,Component
或IndepVarComp
?我发现执行prob.root.myComp.x = x
不会抛出错误,但似乎对驱动程序不可见。
动机是简化使用OpenMDAO创建的模型,以便在调用脚本中需要更少的组件和连接语句。
答案 0 :(得分:1)
您可以执行prob['myComp.x'] = x
并省略IndepVarComp
,前提是您不希望该变量由prob
中的驱动程序驱动。任何没有IndepVarComp
的参数都被OpenMDAO问题看作仅仅是一个常量。
如果您希望驱动程序设置变量,则需要IndepVarComp。