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

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

Используйте 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 (sparss) и spy (mechss) визуализировать разреженность матриц модели первого и второго порядка, соответственно.

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

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

Сигнальные соединения

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

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

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

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

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

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

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

Вы можете использовать interface команда, чтобы задать физические связи между компонентами a mechss модель. interface использует формулировку двойной сборки, где сохранен глобальный набор степеней свободы (DoFs), и сборка выполняется путем описания ограничений связи на интерфейсе. Для твердых сцеплений между узлами 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 объект модели

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

  • Объединение sparss и mechss модели дают 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® модель, когда присутствует Descriptor State-Space (Simulink) или Sparse Second Order блок.

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

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

Для получения примера смотрите Linearize Simulink Model to a Sparse Second-Order Model Object.

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

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

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

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

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

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

  • Приближения Паде с использованием 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 (Simulink) и Sparse Second Order.

Ссылки

[1] H. Hilber, T. Hughes & R. Taylor. Улучшенное численное рассеивание для алгоритмов интегрирования во времени в структурной динамике. Инженерно-структурная динамика землетрясений, том 5, № 3, стр. 283-292, 1977.

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

См. также

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

Похожие темы