Движок Octave Engine
Введение
Механизм octave (совместимый с MatLab инструмент с открытым исходным кодом) в модуле сценариев позволяет пользователям выполнять сложные расчеты в рамках портала Requirements & Systems Portal, которые не очень легко выполнить/вычислить в модуле проектирования системы. Вы можете ссылаться на Валис, необходимый для вычислений, как на входной Валис и на результат как на выходной Валис. Некоторые распространенные примеры таких расчетов включают решение нелинейных уравнений, перемножение матриц или условные случаи.
Поток сценариев для скриптов движка Octave
Типичная схема работы с модулем сценариев показана ниже. Каждый шаг объясняется в каждом подразделе.
-20220823-133931.webp)
1. Создание нового сценария Octave
Чтобы создать новый скрипт в проекте, наведите курсор на модуль моделирования
2. Входы и выходы
Пользователь может добавлять входные и выходные значения Valis. Например, когда пользователь ссылается на Vali в пределах входов или выходов, он может указать короткое имя Vali, которое затем будет использоваться в коде вычислений в октаве.
Если вы используете Vali под названием "PowerConsumption.CRUISE" из вашего компонентного модуля, вы можете просто присвоить переменной сокращенное название, например "cruise"
Пользователь также может изменить единицу моделирования. Например, определенная мощность потребления для круиза в модуле проектирования системы выражена в Вт, но для моделирования используется кВт, который определяется в столбце
Вы можете использовать любой Vali из модуля System Design Module либо как вход, либо как выход, но не одновременно как оба.
3. Расчет/октавный код
Как упоминалось ранее, модуль моделирования Requirements & Systems Portal использует механизм octave, который позволяет вам использовать синтаксис Octave. Он похож на Matlab и имеет отличную совместимость с ним, поэтому вам не придется знакомиться с новым фреймворком для создания сложных вычислений. Если вам нужна дополнительная информация, вы можете прочитать страницу документации GNU Octave.
Пользователям необходимо написать код октавы в файле "main.m"
После добавления кода в файл main.m пользователь может сохранить сценарий, нажав на кнопку "Сохранить"
4. Запуск моделирования/результаты
После завершения работы над сценарием вы можете нажать на кнопку воспроизведения, которая находится в левом нижнем углу, как показано на рисунке
После завершения моделирования портал Requirements & Systems Portal автоматически обновляет выходные значения. В результате выходные значения Valis в модуле System Design Module автоматически обновляются. Если выходные значения используются в качестве констант в формулах для вычисления других значений, Requirements & Systems Portal автоматически пересчитывает все значения, связанные с выходными значениями.
5. Сценарии + автоматизация Случай использования
Если в модуле проектирования системы изменяются какие-либо входные значения, пользователь должен повторно запустить моделирование, чтобы пересчитать выходные значения.
Чтобы избежать повторного запуска моделирования после каждого изменения входных значений, можно создать связь между модулями Automations и Scripting Module. В самом деле, новые автоматизации с постоянным триггером могут быть настроены на автоматический повторный запуск каждой симуляции, затронутой изменением Vali, как показано в коротком ролике ниже.
В данном конкретном случае время полета нашего валикоптера изменяется с 15 до 10 минут, что автоматически вызывает перерасчет общей необходимой емкости батареи. Поскольку общая масса подсистемы питания рассчитывается на основе необходимой емкости батарей (сколько батарей нам нужно), при уменьшении времени полета и, следовательно, уменьшении необходимой емкости батарей, масса подсистемы питания также пересчитывается и уменьшается.