#openmdao
#openmdao
Вопрос:
В настоящее время у меня есть этот код:
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 — он отображается как all . Когда я пытаюсь выполнить вышеуказанное self.connect('IntegrateForTheta2Ue6.intue5', 'ThwaitesCalculateMomentumThickness.intue5')
, я получаю Attempted to connect from 'IntegrateForTheta2Ue6.intue5' to 'ThwaitesCalculateMomentumThickness.intue5', but 'IntegrateForTheta2Ue6.intue5' doesn't exist.
Я допускаю ошибку в своем псевдониме вывода или это ошибка?
Комментарии:
1. Я не уверен в ошибке, не зная больше, но для прямого подключения вы должны сделать :
self.connect('IntegrateForTheta2Ue6.cumulative_integral', 'ThwaitesCalculateMomentumThickness.intue5')
.2. Вы вызываете
run_model()
перед проверкой выходных данных? С другой стороны, я не вижу никаких проблем, которые могли бы помешать неявному подключению на основе ваших продвигаемых имен.
Ответ №1:
Обновление до последней версии OpenMDAO сработало. Я полагаю, что я уже вызывал run_model(), поэтому я не уверен, почему это не сработало.