OpenMDAO 中的输出大小
Size of outputs in OpenMDAO
是否可以将列表或数组作为 openMDAO 中组件的输出传递?
由于我的问题依赖于 6x6 矩阵来求解 6 个自由度的运动方程,因此我希望能够执行以下操作:
M = np.ones([6, 6])
outputs['M'] = M
但是,这会导致错误:
ValueError: cannot reshape array of size 36 into shape (1,)
有什么方法可以避免分别传递 36 个值中的每一个值吗?
是的,您可以通过执行以下操作在组件的 setup
方法中声明任何大小或形状的输出:
self.add_output('M', shape=(6, 6))
或
self.add_output('M', val=np.ones((6, 6)))
是否可以将列表或数组作为 openMDAO 中组件的输出传递?
由于我的问题依赖于 6x6 矩阵来求解 6 个自由度的运动方程,因此我希望能够执行以下操作:
M = np.ones([6, 6])
outputs['M'] = M
但是,这会导致错误:
ValueError: cannot reshape array of size 36 into shape (1,)
有什么方法可以避免分别传递 36 个值中的每一个值吗?
是的,您可以通过执行以下操作在组件的 setup
方法中声明任何大小或形状的输出:
self.add_output('M', shape=(6, 6))
或
self.add_output('M', val=np.ones((6, 6)))