exponenta event banner

interpolateVonMisesStress

Напряжение Интерполе фон Мизеса в произвольных пространственных местах

Описание

пример

intrpVMStress = interpolateVonMisesStress(structuralresults,xq,yq) возвращает интерполированные значения напряжения Мизеса в точках 2-D, указанных в xq и yq. Для переходных и частотно-ответных структурных моделей, interpolateVonMisesStress интерполирует напряжение по Мизесу для всех временных или частотных шагов соответственно.

пример

intrpVMStress = interpolateVonMisesStress(structuralresults,xq,yq,zq) использует точки 3-D, указанные в xq, yq, и zq.

пример

intrpVMStress = interpolateVonMisesStress(structuralresults,querypoints) использует точки, указанные в querypoints.

Примеры

свернуть все

Создайте модель структурного анализа для задачи «плоскость-деформация».

structuralmodel = createpde('structural','static-planestrain');

Включить квадратную геометрию в модель. Постройте график геометрии.

geometryFromEdges(structuralmodel,@squareg);
pdegplot(structuralmodel,'EdgeLabels','on')
axis equal

Figure contains an axes. The axes contains 5 objects of type line, text.

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

structuralProperties(structuralmodel,'PoissonsRatio',0.3, ...
                                     'YoungsModulus',210E3);

Укажите X-компонент принудительного смещения для кромки 1.

structuralBC(structuralmodel,'XDisplacement',0.001,'Edge',1);

Укажите, что кромка 3 является фиксированной границей.

structuralBC(structuralmodel,'Constraint','fixed','Edge',3);

Создайте сетку и решите проблему.

generateMesh(structuralmodel);
structuralresults = solve(structuralmodel);

Создайте сетку и интерполируйте напряжение по Мизесу в сетку.

v = linspace(-1,1,151);
[X,Y] = meshgrid(v);
intrpVMStress = interpolateVonMisesStress(structuralresults,X,Y);

Измените форму напряжения фон Мизеса на форму сетки и постройте ее график.

VMStress = reshape(intrpVMStress,size(X));
p = pcolor(X,Y,VMStress);
p.EdgeColor='none';
colorbar

Figure contains an axes. The axes contains an object of type surface.

Решите статическую структурную модель, представляющую биметаллический кабель при растяжении, и интерполируйте напряжение по Мизесу на поперечном сечении кабеля.

Создание статической несущей модели для решения задачи твердого тела (3-D).

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

Создайте геометрию и включите ее в модель. Постройте график геометрии.

gm = multicylinder([0.01,0.015],0.05);
structuralmodel.Geometry = gm;
pdegplot(structuralmodel,'FaceLabels','on','CellLabels','on','FaceAlpha',0.5)

Figure contains an axes. The axes contains 3 objects of type quiver, patch, line.

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

structuralProperties(structuralmodel,'Cell',1,'YoungsModulus',110E9, ...
                                              'PoissonsRatio',0.28);
structuralProperties(structuralmodel,'Cell',2,'YoungsModulus',210E9, ...
                                              'PoissonsRatio',0.3);

Укажите, что грани 1 и 4 являются фиксированными границами.

structuralBC(structuralmodel,'Face',[1,4],'Constraint','fixed');

Задайте тягу поверхности для граней 2 и 5.

structuralBoundaryLoad(structuralmodel,'Face',[2,5],'SurfaceTraction',[0;0;100]);

Создайте сетку и решите проблему.

generateMesh(structuralmodel);
structuralresults = solve(structuralmodel)
structuralresults = 
  StaticStructuralResults with properties:

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

Определите координаты среднего сечения кабеля.

[X,Y] = meshgrid(linspace(-0.015,0.015,50));
Z = ones(size(X))*0.025;

Выполните интерполяцию напряжения фон Мизеса и постройте график результата.

IntrpVMStress = interpolateVonMisesStress(structuralresults,X,Y,Z);
surf(X,Y,reshape(IntrpVMStress,size(X)))

Figure contains an axes. The axes contains an object of type surface.

Кроме того, сетку можно задать с помощью матрицы точек запроса.

querypoints = [X(:),Y(:),Z(:)]';
IntrpVMStress = interpolateVonMisesStress(structuralresults,querypoints);
surf(X,Y,reshape(IntrpVMStress,size(X)))

Figure contains an axes. The axes contains an object of type surface.

Интерполировать напряжение фон Мизеса в геометрическом центре пучка при гармоническом возбуждении.

Создайте переходную динамическую модель для 3-D проблемы.

structuralmodel = createpde('structural','transient-solid');

Создайте геометрию и включите ее в модель. Постройте график геометрии.

gm = multicuboid(0.06,0.005,0.01);
structuralmodel.Geometry = gm;
pdegplot(structuralmodel,'FaceLabels','on','FaceAlpha',0.5)
view(50,20)

Figure contains an axes. The axes contains 3 objects of type quiver, patch, line.

Задайте модуль Юнга, коэффициент Пуассона и массовую плотность материала.

structuralProperties(structuralmodel,'YoungsModulus',210E9, ...
                                     'PoissonsRatio',0.3, ...
                                     'MassDensity',7800);

Закрепите один конец балки.

structuralBC(structuralmodel,'Face',5,'Constraint','fixed');

Применить синусоидальное смещение вдоль y- направление на конце, противоположном фиксированному концу балки.

structuralBC(structuralmodel,'Face',3,'YDisplacement',1E-4,'Frequency',50);

Создайте сетку.

generateMesh(structuralmodel,'Hmax',0.01);

Задайте нулевое начальное смещение и скорость.

structuralIC(structuralmodel,'Displacement',[0;0;0],'Velocity',[0;0;0]);

Решите модель.

tlist = 0:0.002:0.2;
structuralresults = solve(structuralmodel,tlist);

Интерполировать напряжение по Мизесу в геометрическом центре балки.

coordsMidSpan = [0;0;0.005];
intrpStress = interpolateStress(structuralresults,coordsMidSpan);

Постройте график напряжения по Мизесу в геометрическом центре балки.

figure
plot(structuralresults.SolutionTimes,intrpStress.sxx)
title('von Mises Stress at Beam Center')

Figure contains an axes. The axes with title von Mises Stress at Beam Center contains an object of type line.

Входные аргументы

свернуть все

Решение задачи структурного анализа, указанной как StaticStructuralResults, TransientStructuralResults, или FrequencyStructuralResults объект. Создать structuralresults с помощью solve функция.

Пример: structuralresults = solve(structuralmodel)

точки запроса координат x, заданные как вещественный массив. interpolateVonMisesStress оценивает напряжение по Мизесу в 2-D точках координат [xq(i),yq(i)] или в точках координат 3-D [xq(i),yq(i),zq(i)]. Поэтому xq, yq, и (при наличии) zq должно иметь одинаковое количество записей.

interpolateVonMisesStress преобразует точки запроса в векторы столбцов xq(:), yq(:), и (при наличии) zq(:). Функция возвращает напряжение Мизеса в виде вектора столбца того же размера, что и векторы столбцов точки запроса. Чтобы убедиться, что измерения возвращенного решения согласуются с измерениями исходных точек запроса, используйте reshape функция. Например, использовать intrpVMStress = reshape(intrpVMStress,size(xq)).

Типы данных: double

точки запроса координат y, заданные как вещественный массив. interpolateVonMisesStress оценивает напряжение по Мизесу в 2-D точках координат [xq(i),yq(i)] или в точках координат 3-D [xq(i),yq(i),zq(i)]. Поэтому xq, yq, и (при наличии) zq должно иметь одинаковое количество записей. Внутри, interpolateVonMisesStress преобразует точки запроса в вектор столбца yq(:).

Типы данных: double

точки запроса координат z, заданные как вещественный массив. interpolateVonMisesStress оценивает напряжение по Мизесу в 3-D точках координат [xq(i),yq(i),zq(i)]. Поэтому xq, yq, и zq должно иметь одинаковое количество записей. Внутри, interpolateVonMisesStress преобразует точки запроса в вектор столбца zq(:).

Типы данных: double

Точки запроса, заданные как вещественная матрица с двумя строками для 2-D геометрии или тремя строками для 3-D геометрии. interpolateVonMisesStress оценивает напряжение по Мизесу в координатных точках querypoints(:,i), таким образом, каждый столбец querypoints содержит только одну 2-D или 3-D точку запроса.

Пример: Для 2-D геометрии querypoints = [0.5,0.5,0.75,0.75; 1,2,0,0.5]

Типы данных: double

Выходные аргументы

свернуть все

Напряжение Мизеса в точках запроса, возвращаемое в виде вектора столбца.

Для точек запроса, которые находятся вне геометрии, intrpVMStress = NaN.

Представлен в R2017b