OpenMDAOv1+: можно ли установить значения параметров компонента или группы без компонента IndepVarComp?

Есть ли способ передать значения проектных переменных в OpenMDAO Problem, Group или Component без использования компонента IndepVarComp? Я обнаружил, что выполнение prob.root.myComp.x = x не приводит к ошибке, но кажется, что драйвер ее не замечает.

Мотивация состоит в том, чтобы упростить использование моделей, созданных с помощью OpenMDAO, чтобы в вызывающих сценариях требовалось меньше компонентов и операторов соединения.


person jthomas    schedule 05.11.2015    source источник
comment
Вы просто хотите установить статическое значение для параметра в компоненте? Если это так, prob['myComp.x'] = x должен работать после вызова установки.   -  person Rob Falck    schedule 05.11.2015


Ответы (1)


Вы можете сделать prob['myComp.x'] = x и опустить IndepVarComp при условии, что вы не собираетесь, чтобы эта переменная управлялась драйвером в prob. Любой параметр, который не имеет IndepVarComp, рассматривается проблемой OpenMDAO как просто константа.

Если вы хотите, чтобы драйвер установил переменную, то требуется IndepVarComp.

person Kenneth Moore    schedule 05.11.2015
comment
Спасибо, это помогает. Комментарий от @RobFalck также был ключевым (сначала необходимо вызвать setup()). - person jthomas; 05.11.2015