问题描述
我目前有这个代码:
self.add_subsystem('IntegrateForTheta2Ue6',utilities.CumulativeIntegrateTrapeziums(n=n),promotes_inputs=[('x','panel_lengths'),('x0','stagnation_point_position'),('y','ue5'),('y0','panel_start_external_tangential_veLocity')],promotes_outputs=[('cumulative_integral','intue5')])
self.add_subsystem('ThwaitesCalculateMomentumThickness',ThwaitesCalculateMomentumThickness(n=n),promotes_inputs=['external_tangential_veLocities','intue5','kinematic_viscosity'],promotes_outputs=['momentum_thickness'])
它在运行时不会抛出任何错误,但是在调试时很明显 intue5
aka cumulative_integral
的输出没有被传递到 ThwaitesCalculateMomentumThickness - 它显示为全部。当我使用 self.connect('IntegrateForTheta2Ue6.intue5','ThwaitesCalculateMomentumThickness.intue5')
尝试上述操作时,我得到 Attempted to connect from 'IntegrateForTheta2Ue6.intue5' to 'ThwaitesCalculateMomentumThickness.intue5',but 'IntegrateForTheta2Ue6.intue5' doesn't exist.
解决方法
更新到最新版本的 OpenMDAO 有效。我相信我已经在调用 run_model(),所以我不确定它为什么不起作用。