В этом примере показано, как задать жесткое физическое соединение между компонентами несущей модели. Рассмотрим структуру, которая состоит из двух квадратных пластин, соединенных столбами в каждой вершине, как показано на рисунке ниже. Нижняя пластина жестко соединена с землей, а стойки - с каждой вершиной квадратных пластин.
Для получения дополнительной информации о разреженных моделях см. «Разреженные основы модели».
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', чтобы соединить компоненты. В концепции двойной сборки глобальный набор степеней свободы (DoFs) сохраняется, и физическая связь выражается как согласованность и равновесные ограничения на границе раздела. Для жестких соединений эти ограничения имеют форму:
где - вектор внутренних сил на интерфейсе и матрица перестановка в . Для пары совпадающих узлов с индексами , где выбирает узел в первом компоненте, выбирает соответствующий узел во втором компоненте, обеспечивает согласованность перемещений:
в то время как обеспечивает равновесие внутренних сил 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