Разработка электрической сети самолета с использованием модельно-ориентированного проектирования

В данной публикации представлена транскрипция вебинара «Разработка электрической сети самолета с использованием модельно-ориентированного проектирования». Вебинар проводил Михаил Песельник, инженер ЦИТМ Экспонента.)

Сегодня мы узнаем, что можно настраивать модели для оптимального баланса между достоверностью и точностью результатов симуляции и скоростью процесса симуляции. Это ключ к эффективному использованию симуляции и уверенности в том, что уровень детализации вашей модели соответствует задаче, которую вы собираетесь выполнять.


image

Мы также узнаем:


  • Как вы можете ускорять симуляции путем использования алгоритмов оптимизации и параллельных вычислений;
  • Как распределять симуляции на нескольких ядрах компьютера, ускоряя такие задачи, как оценка параметров и подбор параметров;
  • Как ускорить разработку путем автоматизации задач симуляции и анализа с использованием MATLAB;
  • Как использовать скрипты MATLAB для гармонического анализа и документировать результаты любых видов тестов с использованием автоматической генерации отчетов.


av-wo5r5jedoahisna7pjrpwm8o.png

Мы начнем с обзора модели электрической сети самолета. Обсудим, какие цели симуляции мы преследуем, и рассмотрим процесс разработки, который использовался для создания модели.

Затем пойдем по этапам этого процесса, включая начальный проект — где мы уточняем требования. Детальный проект — где мы рассмотрим отдельные компоненты электросети, и наконец, мы будем использовать результаты симуляции детализированного проекта для того, настроить параметры абстрактной модели. Наконец, мы посмотрим, как можно задокументировать результаты всех этих этапов в отчетах.

Вот схематическое изображение системы, которую мы разрабатываем. Это модель половины самолета, которая включает генератор, шину переменного тока, различные нагрузки в сети переменного тока, трансформаторно-выпрямительный блок, шину постоянного тока с различными нагрузками и батарею.


bz5ky7tacjxgldwl3rc4ly6zvii.png

Выключатели используются для подключения компонентов к электрической сети. По мере того, как компоненты включаются и отключаются во время полета, условия в электрической сети могут меняться. Мы хотим проанализировать эту половину электросети самолета при таких меняющихся условиях.

Полная модель электросети самолета должна включать другие компоненты. Мы не включили их в эту модель половины самолета, так как мы хотим проанализировать только взаимодействия между этими компонентами. Это распространенная практика в авиастроении и кораблестроении.

Цели симуляции:


  • Определить требования к электроэнергии для различных компонентов, а также для линий питания, которые их соединяют.
  • Проанализировать взаимодействия в системе между компонентами из разных инженерных областей, включая электрические, механические, гидравлические и температурные эффекты.
  • И на более детальном уровне, осуществить гармонический анализ.
  • Проанализировать качество электропитания при меняющихся условиях и посмотреть на напряжения и токи в разных узлах сети.

Этот набор целей для симуляции лучше всего удовлетворяется с использованием моделей различной степени детализации. Мы увидим, что по мере движения по процессу разработки, у нас будут абстрактная и детальная модели.

Когда мы посмотрим на результаты симуляции этих разных вариантов моделей, мы увидим, что результаты модели системного уровня и детализированной модели совпадают.
wb44yenm_gxi7g5fyiyb9imul3o.png

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

Это позволяет нам осуществлять быстрые итерации на системном уровне, а также осуществлять подробный анализ электрической системы на детальном уровне. Таким образом, мы можем эффективно достигать наших целей.

Теперь расскажем о модели, с которой мы работаем. Мы создали несколько вариантов для каждого компонента в электрической сети. Мы будем выбирать, какой вариант компонента использовать, в зависимости от задачи, которую мы решаем.

Когда мы исследуем варианты генерации питания в электросети, мы можем заменить генератор с интегрированным приводом на генератор переменной скорости постоянной частоты циклоконвекторного типа или ПСПЧ генератор DC связью. Мы можем использовать абстрактные или детализированные компоненты нагрузок в цепи переменного тока.

Похожим образом, для сети постоянного тока, мы можем использовать абстрактный, детализированный или многодисциплинарный вариант, который учитывает влияние других физических дисциплин — таких, как механика, гидравлика и температурные эффекты.

Подробнее о модели.


yuhp5yrqfxk_ybtbvc2_1v8q1si.png

Здесь вы видите генератор, распределительную сеть и компоненты в сети. В данный момент модель настроена на симуляцию с абстрактными моделями компонентов. Исполнительный механизм моделируется просто указанием активной и реактивной мощности, которую потребляет этот компонент.

Если мы настроим эту модель для использования детальных вариантов компонентов, то исполнительный механизм уже моделируется как электрическая машина. У нас есть синхронный двигатель на постоянных магнитах, конверторы и шина постоянного тока, а также система управления. Если мы посмотрим на трансформаторно-выпрямительный блок, то увидим, что он моделируется с использованием трансформаторов и универсальных мостов, которые используются в силовой электронике.

Мы также можем выбрать вариант системы (на TRU DC Loads → Block Choices → Multidomain), который учитывает эффекты, связанные с другими физическими явлениями (в Fuel Pump). Для топливного насоса мы видим, что у нас есть гидравлический насос, гидравлические нагрузки. Для обогревателя мы видим учет температурных эффектов, которые влияют на поведение этого компонента по мере изменения температуры. Наш генератор моделируется с использованием синхронной машины, и у нас есть система управления для задания поля напряжения для этой машины.

Полетные циклы выбираются с использованием переменной MATLAB по имени Flight_Cycle_Num. И здесь мы видим данные из рабочего пространства MATLAB, которые управляют тем, когда включаются и отключаются определенные компоненты электрической сети. Этот график (Plot_FC) показывает для первого полетного цикла, когда компоненты включаются или отключаются.

Если мы настроим модель на абстрактную версию (Tuned), мы можем использовать этот скрипт (Test_APN_Model_SHORT) для запуска модели и тестирования её в трех различных полетных циклах. Работает первый полетный цикл, и мы тестируем систему при различных условиях. Затем мы автоматически настраиваем модель для запуска второго полетного цикла и третьего. По завершению этих тестов, у нас открывается отчет, который показывает результаты этих трех тестов по сравнению с предыдущими тестовыми прогонами. В отчете можно увидеть скриншоты модели, скриншоты графиков, показывающие скорость, напряжение и генерируемую мощность на выходе генератора, графики сравнения с предыдущими тестами, а также результаты анализа качества электрической сети.


gvzxv8zrkbfxlvhpurpopgo6k8g.png

Поиск компромисса между достоверностью модели и скоростью симуляции является ключом для эффективного использования симуляции. По мере того, как вы добавляете дополнительные детали в вашу модель, возрастает время, требуемое для расчета и симуляции модели. Важно настроить модель под конкретную задачу, которую вы решаете.

Когда нас интересуют такие детали, как качество электроэнергии, мы добавляем такие эффекты, как переключения в силовой электронике и реалистичные нагрузки. Однако, когда нас интересуют такие вопросы, как генерация или потребление энергии различными компонентами в электросети, мы будем использовать комплексный метод симуляции, абстрактные нагрузки и модели с усредненным напряжением.

Используя продукты Mathworks, вы можете выбрать правильный уровень детализации для решаемой задачи.


mfcjpyxfmwd2nfqmyzsmva7kcgm.png

Чтобы эффективно проектировать, нам потребуются как абстрактные, так и подробные модели компонентов. Вот как эти варианты накладываются на наш процесс разработки:


  • Вначале, мы уточняем требования используя абстрактную версию модели.
  • Затем мы используем уточненные требования для детального проектирования компонента.
  • Мы можем комбинировать абстрактную и детальную версию компонента в нашей модели, что позволяет осуществлять верификацию и комбинировать этот компонент с механическими системами и с системой управления.
  • Наконец, мы можем использовать результаты симуляции детальной модели для того, чтобы настраивать параметры абстрактной модели. Это даст нам модель, которая быстро выполняется и дает точные результаты.

Вы можете видеть, что эти два варианта — системная и подробная модель — дополняют друг друга. Работа, которую мы делаем с абстрактной моделью для уточнения требований, сокращает число итераций, требуемых для детального проектирования. Это ускоряет наш процесс разработки. Результаты симуляции детальной модели дают нам абстрактную модель, которая работает быстро и дает точные результаты. Это позволяет нам добиться соответствия между уровнем детализации модели и задачей, которую выполняет симуляция.


yexx1qgtdhhfteyjhnff7c7e9m4.png

Многие компании по всему миру используют МОП для разработки сложных систем. Airbus разрабатывает систему управления подачей топлива для A380 на основе МОП. Эта система содержит более 20 насосов и более 40 клапанов. Можете представить себе число различных сценариев отказа, которые могут произойти. С использованием симуляции, они могут запускать более ста тысяч тестов каждые выходные. Это дает им уверенность, что, в независимости от сценария отказа, их система управления может с этим справиться.

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


djcdvtqkjzast1tnb75a4cfu_tg.png

Мы увидим, как интегрировать документы с требованиями в процесс разработки. У нас есть большой документ с требованиями, в котором указаны все требования для нашей системы. Очень сложно сравнить требования с проектом в целом, и убедиться, что проект соответствует этим требованиям.


ljjrpymhqjh89hxfpupc1gdjzzq.png

Используя SLVNV, можно напрямую связывать документы с требованиями и модель в Simulink. Можно создавать связи прямо из модели напрямую к требованиям. Это упрощает верификацию того, что определенная часть модели относится к конкретному требованию и наоборот. Эта связь является двусторонней. Поэтому, если мы смотрим на требования, мы можем быстро перейти к модели, чтобы увидеть, как это требование выполняется.


b4wmjmchebgh0fxzrdu0typ6sq4.png

Теперь, когда мы интегрировали документ с требованиями в рабочий процесс, мы будем уточнять требования для электрической сети. Конкретно, мы посмотрим на требования к рабочим, пиковым и проектируемым нагрузкам для генераторов и линий передачи. Мы протестируем их в широком диапазоне состояний электросети. Т.е. при различных полетных циклах, когда включаются и выключаются разные нагрузки. Поскольку мы фокусируемся только на мощности, мы будем пренебрегать переключениями в силовой электронике. Поэтому мы будем использовать абстрактные модели и упрощенные методы симуляции. Это означает, что мы настроим модель таким образом, чтобы игнорировать детали, которые нам не нужны. При этом симуляция будет проходить быстрее и позволит нам протестировать условия при длительных полетных циклах.

У нас есть источник переменного тока, который проходит через цепочку сопротивлений, емкостей и индуктивностей. В цепи есть выключатель, который размыкается через какое-то время, а затем снова замыкается. Если запустить симуляцию, то можно увидеть результаты с непрерывным решателем. (V1) Вы видите, что осцилляции, связанные с размыканием и замыканием выключателя, отображаются точно.

Теперь переключимся на дискретный режим. Дважды щелкнем по блоку PowerGui и во вкладке Решатель выберем дискретный решатель. Вы видите, что теперь выбран дискретный решатель. Запустим симуляцию. Вы увидите, что теперь результаты практически такие же, но точность зависит от выбранной частоты дискретизации.


q45meyvtgsdxecrvai4851ca9xi.png

Теперь я могу выбрать комплексный режим симуляции, задать частоту — поскольку решение получается только на определенной частоте — и запустить симуляцию еще раз. Вы увидите, что отображаются только амплитуды сигналов. Щелкнув по этому блоку, я могу запустить скрипт MATLAB, который запустит модель последовательно во всех трех режимах симуляции и построит результирующие графики друг на друге. Если мы посмотрим ближе на тока и напряжения, то увидим, что дискретные результаты близки к непрерывным, но совпадают полностью. Если посмотреть на ток, то видно, что есть пик, который не был отмечен в дискретном режиме симуляции. И мы видим, что комплексный режим позволяет увидеть только амплитуду. Если посмотреть на шаг расчета, то можно увидеть, что комплексному решателю потребовалось всего 56 шагов, в то время как для других решателей потребовалось гораздо больше шагов для завершения симуляции. Это позволило комплексному режиму симуляции работать гораздо быстрее, чем в других режимах.


clrhvcaowtxd1o1ea1wxaoeczma.png

В дополнение к выбору подходящего режима симуляции, нам нужны модели подходящей степени детализации. Чтобы уточнить требования к питанию компонентов в электрической сети, мы будем использовать абстрактные модели общего применения. Блок Dynamic Load позволяет нам задать активную и реактивную мощность, которую потребляет или генерирует компонент в сети.

Мы зададим начальную абстрактную модель для реактивных и активных мощностей на основании первоначального набора требований. В качестве источника мы будем использовать блок Ideal source — идеальный источник. Это позволит задать напряжение в сети, и можно использовать это для определения параметров генератора, и понимания того, сколько мощности он должен производить.

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


6bgrbxyg1by_eednxuoqvjrgmea.png

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

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


ifkxuv4d-zz-zjolnxoimx9k6yy.png

Теперь мы перейдем к детальному проектированию. Мы воспользуемся уточненными требованиями, чтобы детализировать проект, и мы совместим эти детальные компоненты с системной моделью, чтобы обнаружить проблемы интеграции.


ixwmeblag2gl5wc_jjpccjedano.png

На сегодня доступны несколько вариантов для генерации электроэнергии в самолете. Обычно генератор приводится в движение посредством связи с газовой турбиной. Турбина вращается с переменной частотой. Если в сети должна быть фиксированная частота, то требуется преобразование из переменной скорости вращения вала турбины к постоянной частоте в сети. Это может быть сделано посредством встроенного привода постоянной скорости до генератора, или путем использования силовой электроники для преобразования переменного тока переменной частоты в переменный ток постоянной частоты. Также существуют системы с плавающей частотой, где частота в сети может меняться и преобразование энергии происходит на нагрузках в сети.

Каждый из таких вариантов требует генератора, и силовую электронику для преобразования энергии.


8bhledj34vxpzitimkoiozjqvtu.png

У нас есть газовая турбина, которая вращается с переменной скоростью. Эта турбина используется для вращения вала генератора, что производит переменный ток переменной частоты. Разные варианты силовой электроники могут использоваться для преобразования этой переменной частоты в фиксированную частоту. Мы бы хотели оценить эти разные варианты. Это можно сделать это с использованием SPS.

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


f0t5kk1cl4ibor1aayseo6t6jvw.png

Вот модель, с которой мы работаем. Переменная скорость с вала газовой турбины передается генератору. И циклоконвертор используется, чтобы выдавать переменный ток фиксированной частоты. Если запустить симуляцию, то будет видно, как ведет себя модель. На верхнем графике показана переменная частота вращения газовой турбины. Вы видите, что частота меняется. Этот желтый сигнал на втором графике — напряжение с одной из фаз на выходе генератора. Этот переменный ток фиксированной частоты создается из переменной частоты вращения с использованием силовой электроники.

Давайте посмотрим, как описываются нагрузки в сети переменного тока. К нашей подключены лампа, гидравлический насос и исполнительный механизм. Эти компоненты моделируются с использованием блоков из SPS.

Каждый из этих блоков в SPS включает настройки конфигурации, позволяющие вам учесть различные конфигурации компонентов, а также чтобы подстроить уровень детализации в вашей модели.


xwbjy8ylrmilukfdc8z0hkkswas.png

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

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


ppqiwob8nvv97uu85t2nh8bbmpu.png

Когда в системе появляется нагрузка, это может вызвать искажение формы сигнала на источнике напряжения. Это идеальная синусоида, и такой сигнал будет на выходе генератора, если нагрузки будут постоянными. Однако, по мере увеличения числа компонентов, которые могут включаться и выключаться, эта форма сигнала может искажаться, и приводить к таким небольшим выбросам.

Эти выбросы в форме сигнала на источнике напряжения могут приводить к проблемам. Это может приводить к перегреву генератора из-за переключений в силовой электронике, это может создать большие нейтральные токи, а также вызывать ненужные переключения в силовой электронике, т.к. они не ожидают этого дребезга в сигнале.

Коэффициент гармонических искажений предлагает меру оценки качества электрической энергии переменного тока. Важно измерять этот коэффициент при меняющихся условиях в сети, потому что качество будет меняться в зависимости от того, какой компонент включается и выключается. Этот коэффициент легко измерить при помощи инструментов Матворкс и это можно автоматизировать для тестирования в широком диапазоне условий.

Подробнее о коэффициенте нелинейных искажений на Wikipedia.

Далее мы увидим, как проводить анализ качества электроэнергии с использованием симуляции.

У нас есть модель электрической сети самолета. Из-за различных нагрузок в сети, форма сигнала напряжения на выходе генератора искажается. Это приводит к ухудшению качества питания. Эти нагрузки отключаются и подключаются к сети в различные моменты времени в течение полетного цикла.

Мы хотим оценить качество электроэнергии в этой сети при различных условиях. Для этого мы будет использоваться SPS и MATLAB для автоматического расчета коэффициента гармонических искажений. Мы можем осуществлять расчет коэффициента интерактивно с использованием графического интерфейса или использовать скрипт MATLAB для автоматизации.

Вернемся к модели, чтобы показать вам это на примере. Наша модель электрической сети самолета состоит из генератора, шины переменного тока, нагрузок в сети переменного тока, а также трансформатор-выпрямитель и нагрузки постоянного тока. Мы хотим измерить качество электроэнергии в различных точках сети при различных условиях. Для начала, я покажу вам, как это сделать интерактивно только для генератора. Затем я покажу, как автоматизировать этот процесс с использованием MATLAB. Вначале мы запустим симуляцию, чтобы собрать данные, требуемые для расчета коэффициента гармонических искажений.


46-smzhhap1odsxt4x9qu5nlh50.png

Этот график (Gen1_Vab) показывает напряжение между фазами генератора. Как вы видите, это не идеальная синусоида. Это означает, что качество питания в сети испытывает влияние от компонентов, находящихся в сети. По окончании симуляции, мы воспользуемся быстрым преобразованием Фурье для расчета коэффициента гармонических искажений. Мы откроем блок powergui и откроем инструмент анализа БПФ. Вы видите, что в инструменте автоматически загружены данные, которые я записал во время симуляции. Мы выберем окно БПФ, укажем частоту и диапазон и отобразим результаты. Вы видите, что коэффициент гармонических искажений равен 2.8%. Здесь вы видите вклад различных гармоник. Вы увидели, как можно посчитать коэффициент гармонических искажений интерактивно. Но мы бы хотели автоматизировать этот процесс, чтобы рассчитать коэффициент при различных условиях и в разных точках сети.

Теперь мы рассмотрим возможности, которые доступны для моделирования нагрузок в цепи постоянного тока.

Мы можем моделировать чисто электрические нагрузки, а также многодисциплинарные нагрузки, которые содержат элементы из разных инженерных областей, например, электрическая часть и температурные эффекты, электрическая, механическая и гидравлическая часть.


n1f1pablrnw53gblbdtrljxqnik.png

Наша цепь постоянного тока включает трансформатор-выпрямитель, лампы, обогреватель, топливный насос и батарею. Детальные модели могут учитывать эффекты из других областей, например, в модели обогревателя учитывается изменения поведения электрической части при изменении температуры. В топливном насосе учитываются эффекты из других областей, чтобы также увидеть их влияние на поведение компонента. Я вернусь к модели, чтобы показать вам, как это выглядит.

Это модель, с которой мы работает. Как вы видите, сейчас трансформатор-выпрямитель и сеть постоянного тока являются чисто электрическими, т.е. учитывают только эффекты из электрической области. У них упрощенные электрические модели компонентов в этой сети. Мы можем выбрать вариант этой системы (TRU DC Loads → Multidomain), в котором учитываются эффекты из других инженерных областей. Вы видите, что в сети у нас те же компоненты, но, вместо число электрических моделей, мы добавили другие эффекты — например для хитера, температурная физическая сеть, учитывающая влияние температуры на поведение. В насосе мы теперь учитываем гидравлические эффекты от насосов и других нагрузок в системе.

Компоненты, которые вы видите в модели, собраны из библиотечных блоков Simscape. Здесь есть блоки для учета электрических, гидравлических, магнитных и других дисциплин. С использованием этих блоков можно создавать модели, которые мы называем многодисциплинарными, т.е. учитывающими эффектны из разных физических и инженерных дисциплин.

В модель электрической сети можно интегрировать эффекты из других областей.


6zyhf443f8cvjneyz_i2h181l48.png

Библиотека блоков в Simscape включает в себя блоки для моделирования эффектов из других областей, так, как гидравлических или температурных. Используя эти компоненты, можно создавать более реалистичные нагрузки для сети и затем более точно определять условия, в которых могут работать эти компоненты.

Путем комбинации этих элементов можно создавать более сложные компоненты, а также создавать новые настраиваемые дисциплины или области с использованием языка Simscape.

Более продвинутые компоненты и настройки параметризации доступны в специализированных расширениях Simscape. В этих библиотеках доступны более сложные и детальные компоненты, с учетом таких эффектов, как потери эффективности и температурные эффекты. Также можно моделировать трехмерные и многотельные системы с использованием SimMechanics.

Теперь, когда мы завершили детальное проектирование, мы воспользуемся результатами детальных симуляций для настройки параметров абстрактной модели. Это даст нам модель, которая работает быстро, и при этом выдает результаты, которые совпадают с результатами детальной симуляции.

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


xovyr1yynt-wganzdd2qyfdxtua.png

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

Для этого, мы зададим активные и реактивные мощности для абстрактной модели с использованием входного сигнала. Вместо использования отдельных значений для активной и реактивной мощности, мы создадим параметризованную модель, и будет настраивать эти параметры таким образом, чтобы графики активной и реактивной мощности по результатам симуляции абстрактной модели совпадали с детальной моделью.


tz4opoabuxr4zqepo-swreamu_c.png

Далее мы увидим, как можно настраивать абстрактную модель для соответствия результатам детальной модели.

Вот наша задача. У нас есть абстрактная модель компонента в электрической сети. Когда мы подаем на него такой управляющий сигнал, то на выходе получается вот такой результат для активной и реактивной мощности.


ici1kqejsdt0mwgzlrwfdxp6tvw.png

Когда мы подаем такой же сигнал на вход детальной модели, мы получаем вот такие результаты.

Нам нужно, чтобы результаты симуляции абстрактной и детальной модели соответствовали, чтобы мы могли использовать абстрактную модель для быстрых итераций в системной модели. Для этого мы будем автоматически настраивать параметры абстрактной модели, пока результаты не совпадут.

Для этого мы будем использовать SDO, который может автоматически менять параметры, пока результаты абстрактной и детальной модели не совпадут.

Для настройки этих параметров мы проделаем следующие шаги.


  • Вначале, мы импортируем выходные результаты симуляции детальной модели и выберем эти данные для оценки параметров.
  • Затем мы укажем, какие параметры нужно настраивать и зададим диапазоны параметров.
  • Далее, мы проведем оценку параметров, при этом SDO будет настраивать параметры, пока результаты не совпадут.
  • Наконец, мы можем использовать другие исходные данные для валидации результатов оценки параметров.

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


gjzefnxdqku5d4cbqrwp1zntccw.png

Вы можете запускать отдельные симуляции на разных ядрах многоядерного процессора или на вычислительных кластерах. Если перед вами стоит задача, требующая запуска множества симуляций — например, анализ Монте-Карло, подбор параметров или запуск нескольких полетных циклов, то можно распределить эти симуляции путем запуска их на локальной многоядерной машине или компьютерном кластере.

Во многих случаях это будет не сложнее, чем заменить цикл фор в скрипте на параллельный цикл фор, parfor. Это может привести к значительному ускорению набора симуляций.


fzcksfsm9zho31ctklegyojfe74.png

У нас есть модель электрической сети самолета. Мы бы хотели протестировать эту сеть в широком диапазоне рабочих условий — включая полетные циклы, сбои и погоду. Мы будем использовать PCT для ускорения этих тестов, MATLAB для настройки модели под каждый тест, который мы хотим запускать. Затем мы распределим симуляции по разным ядрам моего компьютера. Мы увидим, что параллельные тесты завершаются гораздо быстрее, чем последовательные.

Вот шаги, которые нам потребуется выполнить.


  • Вначале, мы создадим пул рабочих процессов, или так называемых воркеров MATLAB, с использованием команды parpool.
  • Затем, мы сгенерируем наборы параметров для каждого теста, который мы хотим запустить.
  • Мы запустим симуляции сначала последовательно, одну за другой.
  • А затем сравним это с запуском симуляций параллельно.

По результатам общее время тестирования в параллельном режиме примерно в 4 раза меньше, чем в последовательном режиме. На графиках мы видели, что в основном потребляемая мощность находится на ожидаемом уровне. Видимые пики относятся к разным условиям в сети, когда включаются и отключаются потребители.

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

Теперь, когда мы завершили эту часть процесса разработки, мы увидим, как можно автоматизировать создание документации для каждого шага, как можно автоматически запускать тесты и документировать результаты.

Проектирование системы это всегда итерационный процесс. Мы вносим изменение в проект, тестируем это изменение, оцениваем результаты, затем делаем новое изменение. Процесс документирования результатов и обоснований для изменений занимает длительное время. Можно автоматизировать этот процесс с использованием SLRG.

Используя SLRG, можно автоматизировать выполнение тестов, а затем собрать результаты этих тестов в виде отчета. Отчет может включать оценку результатов тестирования, скриншоты моделей и графиков, код С и MATLAB.

В завершении я напомню ключевые моменты этой презентации.


  • Мы увидели много возможностей для настройки модели для поиска баланса между достоверностью модели и скоростью симуляции — включая режимы симуляции и уровни абстракции моделей.
  • Мы увидели, как можно ускорять симуляций при помощи алгоритмов оптимизации и параллельных вычислений.
  • И, наконец, мы увидели, как можно ускорять процесс разработки путем автоматизации задач симуляции и анализа в MATLAB.

Автор материала — Михаил Песельник, инженер ЦИТМ Экспонента.

Ссылка на данный вебинар https://exponenta.ru/events/razrabotka-ehlektroseti-samoleta-s-ispolzovaniem-mop

© Habrahabr.ru