Я пробовал пример дискретной переменной в http://openmdao.org/twodocs/versions/latest/features/experimental/discrete_vars.html
В отличие от обычных переменных (' r_m ' и ' chord 'в этом примере), которые становятся доступными после вызова метода setup (), дискретная переменная (' num_blades 'в этом примере) требует сначала вызова метода run_model (). Это почему?
Это работает нормально:
prob.setup()
print(prob['r_m'])
Это также работает нормально:
prob.setup()
prob.run_model()
print(prob['num_blades'])
Это не работает:
prob.setup()
print(prob['num_blades'])