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

platePillarModel.mat содержит разреженные матрицы для модели столба и плиты. Загрузить матрицы модели конечных элементов, содержащиеся в platePillarModel.mat и создают разреженную модель состояния-пространства второго порядка, представляющую вышеуказанную систему.
load('platePillarModel.mat') sys = ... mechss(M1,[],K1,B1,F1,'Name','Plate1') + ... mechss(M2,[],K2,B2,F2,'Name','Plate2') + ... mechss(Mp,[],Kp,Bp,Fp,'Name','Pillar3') + ... mechss(Mp,[],Kp,Bp,Fp,'Name','Pillar4') + ... mechss(Mp,[],Kp,Bp,Fp,'Name','Pillar5') + ... mechss(Mp,[],Kp,Bp,Fp,'Name','Pillar6')
Sparse continuous-time second-order model with 1 outputs, 1 inputs, and 5820 nodes.
Use "spy" and "showStateInfo" to inspect model structure.
Type "properties('mechss')" for a list of model properties.
Type "help mechssOptions" for available solver options for this model.
Результирующая модель sys имеет 5820 узлов, где каждый узел имеет две степени свободы (DoF), которые являются .
Использовать showStateInfo для проверки компонентов mechss объект модели.
showStateInfo(sys)
The state groups are:
Type Name Size
----------------------------
Component Plate1 2646
Component Plate2 2646
Component Pillar3 132
Component Pillar4 132
Component Pillar5 132
Component Pillar6 132
Именованные компоненты перечислены в окне команд с соответствующими размерами узлов.
Теперь загрузите данные индекса интерфейсного узла из nodeData.mat и использовать interface для создания физических соединений между двумя пластинами и четырьмя стойками. nodes является 6x7 массив ячеек, где первые две строки содержат данные индекса узла для первой и второй пластины, в то время как остальные четыре строки содержат данные индекса для четырех столбов.
load('nodeData.mat','nodes')
Теперь задайте жесткие соединения между пластинами и стойками.
for i=3:6 sys = interface(sys,"Plate1",nodes{1,i},"Pillar"+i,nodes{i,1}); sys = interface(sys,"Plate2",nodes{2,i},"Pillar"+i,nodes{i,2}); end
Укажите жесткое соединение между нижней пластиной и землей.
sysCon = interface(sys,"Plate2",nodes{2,7})Sparse continuous-time second-order model with 1 outputs, 1 inputs, and 5922 nodes.
Use "spy" and "showStateInfo" to inspect model structure.
Type "properties('mechss')" for a list of model properties.
Type "help mechssOptions" for available solver options for this model.
Обратите внимание, что модель теперь содержит 5922 узла. Дополнительные узлы являются результатом конкретных жестких интерфейсов.
interface использует формулировку «dual assembly» для соединения компонентов. В концепции двойной сборки сохраняется глобальный набор степеней свободы (DoF) , и физическая связь выражается в виде ограничений согласованности и равновесия на границе раздела. Для жестких соединений эти зависимости имеют вид:
ограничения соединения
где - вектор внутренних сил на границе раздела, а матрица является перестановочной для Для пары согласующих узлов с индексами где выбирает узел в первом компоненте, в то время как выбирает согласующий узел во втором компоненте, ограничение Bq = 0rigid соединения обеспечивает согласованность смещений:
смещений
в то время как обеспечивает равновесие внутренних сил g на границе раздела:
сил.
Объединение этих зависимостей с несвязанными уравнениями приводит к следующей модели двойной сборки для связанной системы:
матрица двойной сборки
Дополнительные сведения см. в разделе interface.
Использовать showStateInfo для подтверждения физических соединений.
showStateInfo(sysCon)
The state groups are:
Type Name Size
-----------------------------------
Component Plate1 2646
Component Plate2 2646
Component Pillar3 132
Component Pillar4 132
Component Pillar5 132
Component Pillar6 132
Interface Plate1-Pillar3 12
Interface Plate2-Pillar3 12
Interface Plate1-Pillar4 12
Interface Plate2-Pillar4 12
Interface Plate1-Pillar5 12
Interface Plate2-Pillar5 12
Interface Plate1-Pillar6 12
Interface Plate2-Pillar6 12
Interface Plate2-Ground 6
Вы можете использовать spy для визуализации разреженных матриц в конечной модели. Выберите матрицы для отображения с помощью меню отображения, которое можно вызвать, щелкнув правой кнопкой мыши на графике.
spy(sysCon)

Набор данных для этого примера предоставил Виктор Долк из ASML.
interface | mechss | showStateInfo | spy (mechss) | xsort