В этом примере показано, как анализировать 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,'Cell',1,'YoungsModulus',200e9, ... 'PoissonsRatio',0.3);
Проблема имеет два граничных условия: задняя сторона (стоят 4) неподвижна, и передняя сторона имеет прикладную загрузку. Все другие граничные условия, по умолчанию, являются свободными контурами.
structuralBC(model,'Face',4,'Constraint','fixed');
Примените распределенную нагрузку отрицательно - направление к передней стороне (стоят 8).
distributedLoad = 1e4; % Applied load in Pascals structuralBoundaryLoad (model,'Face',8,'SurfaceTraction',[0;0;-distributedLoad]);
Создайте mesh, которая использует четырехгранные элементы с 10 узлами с квадратичными функциями интерполяции. Этот тип элемента значительно более точен, чем линейная интерполяция элементы (с четырьмя узлами), особенно в исследованиях эластичности, которые включают изгиб.
bracketThickness = 1e-2; % Thickness of horizontal plate with hole, meters generateMesh(model,'Hmax',bracketThickness); figure pdeplot3D(model) title('Mesh with Quadratic Tetrahedral Elements');
Используйте solve
вычислить решение.
result = solve(model);
Найдите максимальное отклонение скобки в направление.
minUz = min(result.Displacement.uz);
fprintf('Maximal deflection in the z-direction is %g meters.', minUz)
Maximal deflection in the z-direction is -4.48952e-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')