exponenta event banner

Анализ отклонения кронштейна

В этом примере показано, как проанализировать 3-D механическую деталь при приложенной нагрузке с помощью анализа конечных элементов (МКЭ) и определить максимальное отклонение.

Создание модели структурного анализа

Первым шагом в решении задачи линейной упругости является создание модели структурного анализа. Это контейнер, содержащий геометрию, свойства конструкционного материала, параметры демпфирования, нагрузки на тело, граничные нагрузки, граничные зависимости, интерфейсы виража, начальное смещение и скорость и сетку.

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

Импорт геометрии

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

importGeometry(model,'BracketWithHole.stl');

Печать геометрии с отображением меток граней.

figure
pdegplot(model,'FaceLabels','on')
view(30,30);
title('Bracket with Face Labels')

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

figure
pdegplot(model,'FaceLabels','on')
view(-134,-32)
title('Bracket with Face Labels, Rear View')

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

Задание несущих свойств материала

Укажите модуль Юнга и коэффициент Пуассона материала.

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

Применение граничных условий и нагрузок

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

structuralBC(model,'Face',4,'Constraint','fixed');

Приложите распределенную нагрузку в отрицательном направлении z к передней грани (грань 8).

structuralBoundaryLoad (model,'Face',8,'SurfaceTraction',[0;0;-1e4]);

Создать сетку

Создание и печать сетки.

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

Вычислить решение

Используйте solve для вычисления решения.

result = solve(model)
result = 
  StaticStructuralResults with properties:

      Displacement: [1x1 FEStruct]
            Strain: [1x1 FEStruct]
            Stress: [1x1 FEStruct]
    VonMisesStress: [5993x1 double]
              Mesh: [1x1 FEMesh]

Анализ решения

Найдите максимальное отклонение кронштейна в направлении Z.

minUz = min(result.Displacement.uz);
fprintf('Maximal deflection in the z-direction is %g meters.', minUz)
Maximal deflection in the z-direction is -4.43075e-05 meters.

Компоненты смещения графика

Постройте график компонентов вектора решения. Максимальные отклонения имеют z-направление. Поскольку деталь и нагрузка симметричны, смещение x и смещение z симметричны, а смещение y антисимметрично относительно осевой линии.

Здесь подпрограмма печати использует 'jet' colormap, который имеет синий цвет, представляющий наименьшее значение, и красный цвет, представляющий наибольшее значение. Нагрузка на кронштейн заставляет грань 8 опускаться вниз, поэтому максимальное смещение по оси Z выглядит синим.

figure
pdeplot3D(model,'ColorMapData',result.Displacement.ux)
title('x-displacement')
colormap('jet')

figure
pdeplot3D(model,'ColorMapData',result.Displacement.uy)
title('y-displacement')
colormap('jet')

figure
pdeplot3D(model,'ColorMapData',result.Displacement.uz)
title('z-displacement')
colormap('jet')

График напряжения Мизеса

Постройте график значений напряжения Мизеса в узловых местах. Использовать то же самое jet colormap.

figure
pdeplot3D(model,'ColorMapData',result.VonMisesStress)
title('von Mises stress')
colormap('jet')