Разреженные основы модели

Объекты модели

Используйте sparss и mechss объекты представлять разреженные системы второго порядка и первого порядка, соответственно. Такие разреженные модели являются результатом анализа конечных элементов (FEA) и полезны в полях как структурный анализ, поток жидкости, теплопередача и электромагнетизм. FEA включает анализ проблемы с помощью метода конечных элементов (FEM), где большая система подразделена на многочисленные, меньшие компоненты или конечные элементы (FE), которые затем анализируются отдельно. Эти многочисленные компоненты, когда объединено вместе приводят к большим разреженным моделям, которые являются в вычислительном отношении дорогими и неэффективными, чтобы быть представленными традиционными плотными объектами модели как ss.

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

Следующая таблица иллюстрирует типы разреженных моделей, которые могут быть представлены:

Тип моделиМатематическое представлениеОбъект модели
Непрерывное время разреженная модель первого порядка

Edxdt=A x(t)+B u(t)y(t)=C x(t)+D u(t)

sparss
Дискретное время разреженная модель первого порядка

E x[k+1]=A x[k]+B u[k]y[k]=C x[k]+D u[k]

sparss
Непрерывное время разреженная модель второго порядка

q¨(t)+q˙(t)+q(t) = B u(t)y(t) = F q(t)+q˙(t)+u(t)

mechss
Дискретное время разреженная модель второго порядка

q[k+2]+q[k+1]+q[k] = B u[k]y[k] = F q[k]+q[k+1]+u[k]

mechss

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

Можно также преобразовать любую non-FRD модель в a sparss или a mechss объект соответственно. С другой стороны можно использовать full команда, чтобы преобразовать разреженные модели в плотное устройство хранения данных ss. Преобразование в плотное устройство хранения данных не рекомендуется для больших разреженных моделей, когда это приводит к использованию верхней памяти и низкой производительности.

Объединение разреженных моделей

Основанные на сигнале связи

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

Последовательно и соединения обратной связи sparss модели, устраняя внутренние сигналы могут привести к нежелательной временной замене в A матрица. Чтобы предотвратить это, программное обеспечение устраняет только те сигналы, которые не влияют на разреженность A и добавляет остающиеся сигналы в вектор состояния. В общем случае это производит модель дифференциального алгебраического уравнения (DAE) соединения где A матрица имеет структуру фигурной стрелки, как изображено в следующем рисунке:

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

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

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

Для примеров смотрите sparss и mechss страницы с описанием.

Физическая связь

Можно использовать interface команда, чтобы задать физические связи между компонентами a mechss модель. interface использует двойную формулировку блока, где глобальный набор степеней свободы (число степеней свободы) сохраняется, и блок сделан путем описания связывающихся ограничений в интерфейсе. Для жестких соединений между ЧИСЛОМ СТЕПЕНЕЙ СВОБОДЫ N1 подструктуры S1 и ЧИСЛО СТЕПЕНЕЙ СВОБОДЫ N2 подструктуры S2, они включают:

  • Смещение, соответствующее: q(N1) = q(N2)

  • Принцип действия/реакции: g(N1) + g(N2) = 0, где g(N1) силы, порожденные S2 на S1 и g(N2) силы, порожденные S1 на S2.

Эти ограничения могут быть получены в итоге уравнениями:

M q¨+C q˙+K q=B u+g,      H q=0,       g=HTλ

где g является вектором из интерфейсных сил, и H является подходящей ВЫБИРАЮЩЕЙ СТЕПЕНЬ СВОБОДЫ матрицей.

Можно также задать нежесткие соединения между ЧИСЛОМ СТЕПЕНЕЙ СВОБОДЫ с помощью interface команда.

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

Объединение моделей различных типов

Следующие правила приоритета применяются при объединении моделей различных типов:

  • Объединение разреженных моделей с моделями FRD уступает frd объект модели

  • Объединение разреженных моделей с любой non-FRD моделью как tf, ss, и zpk дает к разреженному объекту модели

  • Объединение sparss и mechss модели дают к a mechss объект модели.

  • В настоящее время разреженные модели не могут быть объединены с обобщенными или неопределенными моделями, genss и uss (Robust Control Toolbox).

Для примеров смотрите mechss страница с описанием.

Анализ временного интервала

Все стандартные аналитические функции временного интервала, перечисленные при Анализе Времени и Частотного диапазона, поддерживаются для sparss и mechss объекты модели.

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

tf = 10;
step(sys,tf)

t = 0:0.001:1;
initial(sys,x0,t)

Функции отклика времени используют пользовательские решатели ДАУ фиксированного шага, которые были разработаны особенно для крупномасштабных разреженных моделей. Можно сконфигурировать тип решателя ДАУ и включить параллельные вычисления при помощи SolverOptions свойство sparss и mechss объекты модели. Параллельные вычисления могут использоваться, чтобы ускориться step или impulse симуляция ответа для мультивходных моделей как ответ для каждого входного канала симулирована параллельно. Включение параллельных вычислений требует лицензии Parallel Computing Toolbox™.

Доступные опции решателя обрисованы в общих чертах в приведенной ниже таблице:

Решатель ДАУОписаниеИспользование
'trbdf2'[2]Фиксированный решатель шага с точностью o(h^2), где h размер шага. 'trbdf2' является на 50% более в вычислительном отношении дорогим, чем 'hht'. Это - опция решателя ДАУ по умолчанию для обоих sparss и mechss модели.Доступный для обоих sparss и mechss модели.
'trbdf3'Фиксированный решатель шага с точностью o(h^3). 'trbdf3' является на 50% более в вычислительном отношении дорогим, чем 'trbdf2'.Доступный для обоих sparss и mechss модели.
'hht'[1]Фиксированный решатель шага с точностью o(h^2), где h размер шага. 'hht' является самым быстрым, но может столкнуться с трудностями с высоким начальным ускорением как импульсная характеристика системы.Доступный для mechss модели только.

Чтобы включить параллельные вычисления и выбор решателя, используйте следующий синтаксис:

sys.SolverOptions.UseParallel = true;
sys.SolverOptions.DAESolver = 'trbdf3';

Для примера смотрите Линейный Анализ Консольного Луча.

Анализ частотного диапазона

Все стандартные аналитические функции частотного диапазона, перечисленные при Анализе Времени и Частотного диапазона, поддерживаются для sparss и mechss объекты модели. Для расчетов частотной характеристики, включая параллельные вычисления ускоряет расчет ответа путем распределения набора частот через доступных рабочих. Включение параллельных вычислений требует лицензии Parallel Computing Toolbox.

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

w = logspace(0,8,1000);
bode(sys,w)
sigma(sys,w)

Для примера смотрите Линейный Анализ Консольного Луча.

Непрерывные и дискретные преобразования

Можно преобразовать между непрерывным временем и дискретным временем, и передискретизировать sparss использование моделей c2d, d2c и d2d. Следующая таблица обрисовывает в общих чертах доступные методы для sparss модели:

МетодОписаниеИспользование
'tustin'Билинейное приближение ТастинаДоступный с c2d, d2c и d2d функции.
'damped'Ослабленное приближение Тастина на основе формулы TRBDF2 [2]. Этот метод обеспечивает затухание в бесконечности в отличие от 'tustin' метод, то есть, высокочастотные движущие силы отфильтрованы и не способствуют накоплению режимов около z = -1 в дискретной модели (источник числовой нестабильности).Доступный с c2d только.

Примечание

В настоящее время, mechss модели не поддерживаются для непрерывных и дискретных преобразований. Преобразуйте в sparss форма модели для дискретизации.

Разреженная линеаризация

Линеаризуйте модель Simulink

Можно получить разреженную линеаризовавшую модель из Simulink® модель, когда блок Descriptor State-Space (Simulink) или Sparse Second Order присутствует.

  • Блок Sparse Second Order сконфигурирован, чтобы всегда линеаризовать к a mechss модель. В результате полная линеаризовавшая модель является разреженной моделью второго порядка, когда этот блок присутствует.

  • Проверяйте опцию Linearize to sparse model в блок Descriptor State-Space (Simulink), чтобы линеаризовать к a sparss модель. Можно также достигнуть этого путем установки LinearizerToSparse параметр к 'on' в Descriptor State-Space (Simulink). По умолчанию флажок Linearize to sparse model снимается и LinearizerToSparse 'off'. Блочный уровень LinearizeToSparse установка проигнорирована, когда вы задаете замену для блока, любого с SCDBlockLinearizationSpecification параметры блоков или blocksub введите к linearize (Simulink Control Design).

Этот рабочий процесс линеаризации требует программного обеспечения Simulink Control Design™.

Для примера смотрите, Линеаризуют Модель Simulink к Разреженному Объекту модели Второго порядка.

Линеаризуйте структурную или тепловую модель УЧП

Можно получить разреженную линеаризовавшую модель из структурного или тепловую модель PDE при помощи linearize (Partial Differential Equation Toolbox) функция.

  • Для модели структурного анализа, linearize извлечения a mechss модель.

  • Для тепловой аналитической модели, linearize извлечения a sparss модель.

Использование linearizeInput (Partial Differential Equation Toolbox), чтобы задать входные параметры линеаризовавшей модели в терминах граничных условий, загрузок или внутренних источников тепла в модели PDE. Использование linearizeOutput (Partial Differential Equation Toolbox), чтобы задать выходные параметры линеаризовавшей модели в терминах областей геометрии, таких как ячейки (только для 3-D конфигураций), поверхности, ребра или вершины.

Этот рабочий процесс линеаризации требует программного обеспечения Partial Differential Equation Toolbox™.

Для примеров смотрите Линейный Анализ Консольного Луча и Линейный Анализ Камертона.

Другая поддерживаемая функциональность

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

  • Низкочастотное использование расчета усиления dcgain

  • Использование оценки частотной характеристики evalfr и freqresp

  • Инвертирование использования моделей inv

  • Неявно-явное использование преобразований отношения imp2exp

  • Использование приближений Padé pade

  • Введите, выведите и внутренняя спецификация задержки

  • Выбор ввода-вывода и индексация

Ограничения

Следующие операции в настоящее время не поддержаны для разреженных моделей:

  • Полюс/нуль и расчет запаса устойчивости

  • Проект компенсатора и настройка

  • Сокращение порядка модели

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

Нижеследующие ограничения существуют для разреженной линеаризации:

  • Когда вы устанавливаете linearize (Simulink Control Design) опция BlockReduction к 'off', модель всегда линеаризуется к плотному ss модель. Это вызвано тем, что блокируйтесь, замена отключена в этом случае.

  • Разреженная линеаризация несовместима с заменами блока, включающими настраиваемые или неопределенные модели. Опция Linearize to sparse model должна быть неконтролируема при попытке линеаризовать к genss или uss Модели (Robust Control Toolbox).

  • Линеаризация снимка состояния не может работать, когда блок Descriptor State-Space (Simulink) или Sparse Second Order присутствует. Поскольку линеаризация снимка состояния требует симуляции, возможности симуляции в настоящее время ограничиваются для Descriptor State-Space блоки Sparse Second Order и (Simulink).

Ссылки

[1] Х. Хилбер, T. Hughes & R. Тейлор. "Улучшенное числовое рассеяние для алгоритмов интегрирования времени в структурной динамике". Землетрясение Техническая и Структурная Динамика, издание 5, № 3, стр 283-292, 1977.

[2] М. Осия и Л. Шемпин. "Анализ и реализация TR-BDF2". Прикладная Числовая Математика, издание 20, № 1-2, стр 21-37, 1996.

Смотрите также

| | | | | | | | | | (Simulink) |

Похожие темы