В этом примере показано, как анализировать 3-D механическую деталь при прикладной загрузке с помощью анализа конечных элементов (FEA) и определить максимальное отклонение.
Первый шаг в решении линейной задачи эластичности должен создать модель структурного анализа. Это - контейнер, который содержит геометрию, структурные свойства материала, ослабляя параметры, загрузки тела, граничные загрузки, граничные ограничения, интерфейсы суперэлемента, начальное смещение и скорость и mesh.
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 pdegplot(model,'FaceLabels','on') view(-134,-32) title('Bracket with Face Labels, Rear View')
Задайте модуль Молодежи и отношение Пуассона материала.
structuralProperties(model,'YoungsModulus',200e9, ... 'PoissonsRatio',0.3);
Проблема имеет два граничных условия: задняя сторона (стоят 4) фиксируется, и передняя сторона имеет прикладную загрузку. Все другие граничные условия, по умолчанию, являются свободными контурами.
structuralBC(model,'Face',4,'Constraint','fixed');
Примените распределенную нагрузку отрицательно - направление к передней стороне (стоят 8).
structuralBoundaryLoad (model,'Face',8,'SurfaceTraction',[0;0;-1e4]);
Сгенерируйте и постройте mesh.
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]
Найдите максимальное отклонение скобки в - направление.
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.
Постройте компоненты вектора решения. Максимальные отклонения находятся в - направление. Поскольку часть и загрузка симметричны, - смещение и - смещение симметрично, и - смещение антисимметрично относительно центральной линии.
Здесь, стандартная программа графического вывода использует 'jet'
палитра, которая имеет синий как цвет, представляющий самое низкое значение и красное представление самого высокого значения. Скобка, загружающая причины, стоит 8, чтобы опуститься вниз, таким образом, максимум - смещение кажется синим.
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
палитра.
figure pdeplot3D(model,'ColorMapData',result.VonMisesStress) title('von Mises stress') colormap('jet')