使用 IndepVarComp 而不是元数据

Using IndepVarComp instead of metadata

我想修改我的问题并将其分解为一些组。 None 个组附加了求解器。所以它们只是组(由几个组件组成),使用户可以轻松地 区分产品的不同部分。 (每个都是一组)。

我对 IndepVarComp() 和元数据(在初始化中声明)感到困惑 到目前为止,我一直使用单个组和单个 IndepVarComp(),其中输出始终是设计变量。 如果我继续这种方法,我可以使用元数据并传递大型词典,即 self.options.declare('aa', types=dict).

但是查看基于 openmdao 的其他代码,它们似乎使用 indepvarcomp 就好像它是元数据一样(即它们在 iterations.and 期间不会更改,它们被用作该组内的组件)

如果一个或另一个是正确的方法,你能指导我

IndepVarComp 输出应该用于任何可能是设计变量或您可能希望在 运行 脚本中更改的参数的输出。

元数据应该用于任何明确打算保持不变的东西。它旨在在实例化期间设置一次,然后在事后不再更改。