Как использовать строгие типы данных для параметров и неизвестных в OpenMDAO 1.x.x?

В ранних версиях OpenMDAO (до 0.13.0) мы могли использовать порты с типами данных, отличными от float, например Int, Str, Bool и т. д. Ссылка приведена ниже —

http://openmdao.org/releases/0.13.0/docs/basics/variables.html

Прямо сейчас я использую последнюю версию и хотел бы использовать порт ввода типа Enum (т.е. param) для моего Component, чтобы ограничить значение, которое он принимает, значениями, которые я указываю. Есть ли эквивалентный способ сделать то же самое в более новых версиях OpenMDAO (1.x.x), в котором вы можете явно указать тип данных порта компонента?


person Amogh Kulkarni    schedule 31.08.2016    source источник


Ответы (1)


к сожалению, Enum — единственный тип данных, который мы не перенесли в 1.x из старого кода. Мы не смогли найти для него вариант использования в качестве переменной, передаваемой между компонентами.

Однако, если вам просто нужен ввод с ENUM для каких-то пользовательских параметров/настроек, у нас это есть.

Мы создали объект Option, который можно добавить к любому составная часть. Мы часто используем его для драйверов. Один из способов, которым вы можете это использовать, — указать values при добавлении параметра, который заставит его работать как Enum. Надеюсь, это сработает для вас.

person Justin Gray    schedule 01.09.2016
comment
Спасибо за ответ. После прочтения вашего ответа и просмотра ссылок, которые вы дали, кажется, что он должен работать. Не могли бы вы предоставить вариант использования или уже реализованный пример, в котором драйвер оптимизатора присваивает значения переменным проекта, заданным пользователем, а не из непрерывного пространства проекта, заданного верхней и нижней границами? - person Amogh Kulkarni; 01.09.2016