Документация Engee

Программное управление параметрами моделирования

Работа с моделями

Получение настроек симуляции

Перед редактированием модели откройте ее с помощью метода open. После редактирования не забудьте сохранить результаты с помощью save.

Для получения настроек симуляции используется публичный метод get_param

engee.get_param(model)
engee.get_param("path")
engee.get_param("path", param)
  • Если указано имя модели, но не указано имя параметра, возвращает настройки симуляции для выбранной модели в виде структуры ModelParameters.

  • Если же имя параметра указано, возвращает значение параметра.

Все значения настроек симуляции модели могут быть переданы в переменную:

m = "example_model"

Через engee.get_param("path", param) можно вывести значение конкретного параметра модели:

engee.get_param(m, :start_time) #выведет значение start_time

Изменение настроек симуляции модели

Используется публичный метод set_param!

engee.set_param!(model_name, param...)
engee.set_param!(model_name, param)
engee.set_param!(model, param...)
engee.set_param!(model, param)
  • Обновляет выбранные параметры модели Model с именем model_name.

  • Возвращает nothing.

  • Если в param передана структура настроек симуляции, настройки из нее будут скопированы.

  • Если параметры некорректны, завершается соответствующей ошибкой.

  • Структура настроек симуляции привязывается к конкретной модели - можно изменять настройки модели непосредственно через задание полей структуры.

Вывод
engee.set_param!("model_1", "SolverName"=>"ode45", "StopTime"=>15)
param_1 = engee.get_param("model_1")::ModelParameters
engee.set_param!("model_2", param_1)

Обновление параметров блоков

Также используется публичный метод set_param!

engee.set_param!(block_path, params...)
engee.set_param!(block, params...)
engee.set_param!(block, block_params)
engee.set_param!(block_path, block_params)
  • Обновляет выбранные параметры блока.

  • Если изменяется параметр, который влечет за собой изменения количества портов, или состояния, то количество портов и состояние изменяются согласно переданным значениям параметра.

  • Возвращает nothing.

  • Если в качестве второго параметра передана структура настроек блока, параметры из нее будут скопированы. Если параметры некорректны, завершается соответствующей ошибкой.

Изменение настроек симуляции модели с помощью структуры

  • Структура настроек симуляции привязывается к конкретной модели — можно изменять настройки модели непосредственно через задание полей структуры.

Вывод
params = engee.get_param("newmodel_1")
# структура params привязана к конкретной model
params.FixedStep = 0.05
0.05
# аналогично `engee.set_param!(model, "FixedStep" => 0.05)
Все публичные методы программного управления, доступные в Engee, представлены в статье Публичные методы программного управления.