exponenta event banner

Моделирование переходных процессов и линейный анализ консольной балки

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

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

  1. Переходный анализ модели балки.

  2. Извлеките разреженные матрицы конечных элементов и создайте модель разреженного состояния-пространства второго порядка.

  3. Выполните линейный анализ разреженной модели второго порядка.

Модель переходной балки

Создайте переходную модель и вычислите импульсную характеристику.

Сначала создайте балку и укажите модуль Юнга, коэффициент Пуассона и массовую плотность стали. Укажите вершину балки с помощью команды addVertex собственность.

gm = multicuboid(0.1,0.005,0.005);
E = 210E9;
nu = 0.3;
rho = 7800;
TipVertex  = gm.addVertex('Coordinates',[0.05,0,0.005]);
firstNF = 2639;
Tfundamental = 2*pi/firstNF;

Использовать createpde(Панель инструментов дифференциальных уравнений в частных производных) для построения переходной модели и создания сетки с помощью generateMesh(Панель инструментов дифференциальных уравнений в частных производных).

transientModel = createpde('structural','transient-solid');
transientModel.Geometry = gm;
msh = generateMesh(transientModel);

Назначение свойств конструкции для стальной балки с помощью structuralProperties(Панель инструментов дифференциальных уравнений в частных производных) и зафиксировать один конец с помощью structuralBC(Панель инструментов дифференциальных уравнений в частных производных).

structuralProperties(transientModel,'YoungsModulus',E,'PoissonsRatio',nu,'MassDensity',rho);
structuralBC(transientModel,'Face',5,'Constraint','fixed');

Визуализация геометрии балки с помощью pdegplot(Панель инструментов дифференциальных уравнений в частных производных).

pdegplot(transientModel,'VertexLabels','on');
title('Beam model')

Приложите усилие к наконечнику балки на 2% основного периода колебаний (импульса) с помощью structuralBoundaryLoad(Панель инструментов дифференциальных уравнений в частных производных).

Te = 0.02*Tfundamental;
structuralBoundaryLoad(transientModel,'Vertex',TipVertex,...
   'Force',[0;0;-100],'EndTime',Te);

Установка начальных условий для модели переходной балки с помощью structuralIC(Панель инструментов дифференциальных уравнений в частных производных).

structuralIC(transientModel,'Velocity',[0;0;0]);

Вычислите импульсную характеристику, решив модель переходного луча.

ncycles = 10;
tsim = linspace(0,ncycles*Tfundamental,30*ncycles);
R1 = solve(transientModel,tsim);

Визуализируйте колебания на конце луча.

plot(tsim,R1.Displacement.uz(TipVertex,:))
title('Vertical displacement of beam tip')
legend('Transient model')
xlabel('Time')
ylabel('Displacement')

Следующим шагом является извлечение разреженных матриц из модели пучка конечных элементов.

Разреженная модель из переходной модели

Первый шаг для извлечения M,K,B,F матрицы из модели пучка конечных элементов для модуляции силы для вычисления B матрица. Использовать assembleFEMatrices(Панель инструментов дифференциального уравнения в частных производных) для извлечения разреженных матриц для модели луча второго порядка.

F1 = -100;
structuralBoundaryLoad(transientModel,'Vertex',TipVertex,'Force',[0;0;F1]);
state.time = 0;
data1 = assembleFEMatrices(transientModel,'nullspace',state);
F2 = 100;
structuralBoundaryLoad(transientModel,'Vertex',TipVertex,'Force',[0;0;F2]);
data2 = assembleFEMatrices(transientModel,'nullspace',state);

Результирующая модель определяется следующим набором уравнений:

Mq + Kq = B * forcey = уравнения Fqmodel

M = data1.M;
K = data1.Kc;

F матрица состоит из смещений x, y и z на TipVertex узел.

N = size(msh.Nodes,2);
F = data1.B;                  
F = F(TipVertex+[0 N 2*N],:);

Отобразить B матрица, относящая силу к входу.

B = (data2.Fc-data1.Fc)/(F2-F1);

Получение разреженной модели балки с помощью mechss.

sys = mechss(M,[],K,B,F(3,:));

Использовать spy для визуализации разреженности модели mechss sys.

spy(sys)

Линейный анализ

Включите параллельные вычисления и выберите 'tfbdf3' в качестве решателя дисковых полок.

sys.SolverOptions.UseParallel = true;
sys.SolverOptions.DAESolver = 'trbdf3';

Использовать bode для вычисления частотной характеристики этой модели.

w = logspace(2,6,1000);
bode(sys,w), grid
using parallel (mechss)
title('Frequency response from force to tip vertical displacement')

Следующее использование lsim для сравнения импульсной характеристики с приближениями, полученными из модели переходного луча. Чтобы ограничить ошибку из-за линейной интерполяции силы между выборками, используйте размер шага Te/5. Усилие, приложенное к наконечнику балки, равно 0 < = t < = Te.

h = Te/5;  
t = 0:h:ncycles*Tfundamental;
u = zeros(size(t));    
u(t<=Te) = -100;

y = lsim(sys,u,t);
plot(t,y,tsim,R1.Displacement.uz(TipVertex,:))
title('Comparison of full-model simulated response with transient model approximations')
legend('Simulated model','Transient model')
xlabel('Time')
ylabel('Displacement')

Переходные образцовые приближения соответствуют хорошо моделированию полной модели, используя решающее устройство ДЭ TRBDF3.

См. также

| | | (Панель инструментов дифференциального уравнения в частных производных) | (Панель инструментов дифференциальных уравнений в частных производных) | (Панель инструментов дифференциальных уравнений в частных производных) | (Панель инструментов дифференциальных уравнений в частных производных) | (Панель инструментов дифференциальных уравнений в частных производных)

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