exponenta event banner

Жесткая сборка компонентов модели

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

Дополнительные сведения о разреженных моделях см. в разделе Основы разреженных моделей.

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), которые являются [q,q˙]q и q точками.

Использовать 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) q, и физическая связь выражается в виде ограничений согласованности и равновесия на границе раздела. Для жестких соединений эти зависимости имеют вид:

Bq = 0, g = -BTλ жесткие ограничения соединения

где g - вектор внутренних сил на границе раздела, а матрица B является перестановочной для [I -I]. Для пары согласующих узлов с индексами ii, i2, где ii выбирает узел в первом компоненте, в то время как i2 выбирает согласующий узел во втором компоненте, ограничение Bq = 0rigid соединения обеспечивает согласованность смещений:

q (i1) = q (i2) консистенция смещений

в то время как ограничение g = -BTλ rigid обеспечивает равновесие внутренних сил g на границе раздела:

g (i1) + g (i2) = 0 равновесие внутренних сил.

Объединение этих зависимостей с несвязанными уравнениями Mq¨+Cq˙+Kq=f+guncoupled уравнениями приводит к следующей модели двойной сборки для связанной системы:

[M000] [q λ] + [C000] [q˙λ]+[KBTB0] [qλ] = [f0] матрица двойной сборки

Дополнительные сведения см. в разделе 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)

Figure contains an axes. The axes with title nnz: M=95256, K=249052, B=1, F=1. contains 37 objects of type line. These objects represent K, B, F, D.

Выражение признательности

Набор данных для этого примера предоставил Виктор Долк из ASML.

См. также

| | | |

Связанные темы