exponenta event banner

Вибрация квадратной пластины

В этом примере показано, как рассчитать режимы колебаний и частоты 3-D просто поддерживаемой, квадратной, упругой пластины.

Размеры и свойства материала пластины взяты из стандартной задачи конечных элементов, опубликованной НАФЕМС, FV52 (см. справку).

Сначала создайте контейнер структурной модели для 3-D проблемы модального анализа. Это контейнер, содержащий геометрию, свойства материала, нагрузки на тело, граничные нагрузки, граничные зависимости и сетку.

model = createpde('structural','modal-solid');

Импорт STL-файла модели простой пластины с помощью importGeometry функция. Эта функция восстанавливает грани, кромки и вершины модели. Она может объединять некоторые грани и кромки, так что числа могут отличаться от чисел родительской CAD-модели.

importGeometry(model,'Plate10x10x1.stl');

Постройте график геометрии и включите метки граней. При определении граничных условий необходимы метки граней.

figure
hc = pdegplot(model,'FaceLabels','on');
hc(1).FaceAlpha = 0.5;
title('Plate with Face Labels')

Figure contains an axes. The axes with title Plate with Face Labels contains 3 objects of type quiver, patch, line.

Определите модуль упругости стали, коэффициент Пуассона и плотность материала.

structuralProperties(model,'YoungsModulus',200e9, ...
                           'PoissonsRatio',0.3, ...
                           'MassDensity',8000);

В этом примере единственным граничным условием является нулевое смещение по оси Z на четырех гранях кромки. Эти грани кромки имеют метки от 1 до 4.

structuralBC(model,'Face',1:4,'ZDisplacement',0);

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

generateMesh(model,'Hmin',1.3);
figure 
pdeplot3D(model);
title('Mesh with Quadratic Tetrahedral Elements');

Для сравнения с опубликованными значениями загрузите опорные частоты в Гц.

refFreqHz = [0 0 0 45.897 109.44 109.44 167.89 193.59 206.19 206.19];

Решите проблему для указанного диапазона частот. Определите верхний предел как немного больший, чем самая высокая опорная частота, и нижний предел как немного меньший, чем самая низкая опорная частота.

maxFreq = 1.1*refFreqHz(end)*2*pi;
result = solve(model,'FrequencyRange',[-0.1 maxFreq]);

Вычислите частоты в Гц.

freqHz = result.NaturalFrequencies/(2*pi);

Сравните опорную и вычисленную частоты (в Гц) для самых низких 10 режимов. Наименьшие три моды соответствуют движению жесткого тела пластины. Их частоты близки к нулю.

tfreqHz = table(refFreqHz.',freqHz(1:10));
tfreqHz.Properties.VariableNames = {'Reference','Computed'};
disp(tfreqHz);
    Reference     Computed 
    _________    __________

          0      2.8632e-05
          0      7.4852e-06
          0      2.0318e-05
     45.897          44.871
     109.44          109.74
     109.44          109.77
     167.89          168.59
     193.59          193.74
     206.19          207.51
     206.19          207.52

Вы видите хорошее согласие между вычисленной и опубликованной частотами.

Постройте график третьей составляющей (z-составляющей) решения для семи самых низких ненулевых частотных режимов.

h = figure;
h.Position = [100,100,900,600];
numToPrint = min(length(freqHz),length(refFreqHz));
for i = 4:numToPrint
    subplot(4,2,i-3);
    pdeplot3D(model,'ColorMapData',result.ModeShapes.uz(:,i));
    axis equal
    title(sprintf(['Mode=%d, z-displacement\n', ...
    'Frequency(Hz): Ref=%g FEM=%g'], ...
    i,refFreqHz(i),freqHz(i)));
end

Ссылка

[1] Национальное агентство по методам и стандартам для конечных элементов. Стандартные эталонные тесты НАФЕМС. Соединенное Королевство: НАФЕМС, октябрь 1990 года.