Используйте sparss
и mechss
объекты для представления разреженных систем первого и второго порядка, соответственно. Такие разреженные модели возникают из анализа конечных элементов (FEA) и применяются в таких областях, как структурный анализ, поток жидкости, теплопередача и электромагнитные функции. FEA включает анализ задачи с использованием метода конечных элементов (FEM), где большая система подразделяется на многочисленные, меньшие по размеру компоненты или конечные элементы (FE), которые затем анализируются отдельно. Эти многочисленные компоненты в сочетании приводят к большим разреженным моделям, которые являются вычислительно дорогими и неэффективными, чтобы быть представленными традиционными плотными объектами модели, такими как ss
.
Разреженные матрицы обеспечивают эффективное хранение двойных или логических данных, которые имеют большой процент нулей. В то время как полные (или плотные) матрицы сохраняют каждый отдельный элемент в памяти независимо от значения, разреженные матрицы сохраняют только ненулевые элементы и их индексы строк. По этой причине использование разреженных матриц может значительно уменьшить объем памяти, необходимой для хранения данных. Для получения дополнительной информации см. «Вычислительные преимущества разреженных матриц».
Следующая таблица иллюстрирует типы разреженных моделей, которые могут быть представлены:
Тип модели | Математическое представление | Объект модели |
---|---|---|
Непрерывная разреженная модель первого порядка |
| sparss |
Дискретная разреженная модель первого порядка |
| sparss |
Непрерывная разреженная модель второго порядка |
| mechss |
Дискретная разреженная модель второго порядка |
| mechss |
Вы можете использовать sparssdata
и mechssdata
для доступа к матрицам модели в разреженной форме. Можно также использовать такие команды, как spy
(sparss)
и spy
(mechss)
визуализировать разреженность матриц модели первого и второго порядка, соответственно.
Можно также преобразовать любую модель, отличную от FRD, в модель a sparss
или a mechss
объект соответственно. И наоборот, вы можете использовать full
команда для преобразования разреженных моделей в плотное хранилище ss
. Преобразование в плотное хранилище не рекомендуется для больших разреженных моделей, поскольку это приводит к высокому использованию памяти и плохой эффективности.
Все стандартные соединения на основе сигналов, перечисленные в разделе Соединение моделей, поддерживаются для разреженных объектов модели. Взаимосвязанные модели с использованием сигналов позволяют вам создавать модели для систем управления. Можно представить систему управления как блок, содержащую несколько взаимосвязанных компонентов, таких как объект и контроллер, подключенный в строении обратной связи. Используя математическую модель или соединительные команды, вы комбинируете модели каждого из этих компонентов в одну модель, представляющую целый блок.
Последовательно и с обратной связью sparss
модели, устранение внутренних сигналов может привести к нежелательному заполнению в A
матрица. Чтобы предотвратить это, программное обеспечение устраняет только те сигналы, которые не влияют на разреженность A
и добавляет оставшиеся сигналы к вектору состояния. В целом это создает модель дифференциального алгебраического уравнения (ДАУ) взаимосвязи, где A
матрица имеет структуру со стрелой, как показано на следующем рисунке:
Здесь каждый диагональный блок является подкомпонентом разреженной модели. Последняя строка и столбец объединяют Interface
и Signal
группы для захвата всех муфт и соединений между компонентами.
Те же правила применяются и ко второму порядку mechss
объекты модели. Вы можете использовать showStateInfo
чтобы распечатать сводные данные состояния вектора разбиения на компоненты, интерфейсы и сигналы
Используйте xsort
команда для сортировки состояний на основе разбиения состояний. В отсортированной модели сначала появляются все компоненты, далее указываются интерфейсы, а затем одна группа всех внутренних сигналов.
Вы можете использовать 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.
Эти ограничения могут быть суммированы уравнениями:
где 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.
full
| getx0
| interface
| mechss
| mechssdata
| showStateInfo
| Sparse Second Order | sparss
| sparssdata
| spy
| xsort
| Descriptor State-Space (Simulink)