Напряжение Интерполе фон Мизеса в произвольных пространственных местах
возвращает интерполированные значения напряжения Мизеса в точках 2-D, указанных в intrpVMStress = interpolateVonMisesStress(structuralresults,xq,yq)xq и yq. Для переходных и частотно-ответных структурных моделей, interpolateVonMisesStress интерполирует напряжение по Мизесу для всех временных или частотных шагов соответственно.
использует точки 3-D, указанные в intrpVMStress = interpolateVonMisesStress(structuralresults,xq,yq,zq)xq, yq, и zq.
использует точки, указанные в intrpVMStress = interpolateVonMisesStress(structuralresults,querypoints)querypoints.
Создайте модель структурного анализа для задачи «плоскость-деформация».
structuralmodel = createpde('structural','static-planestrain');
Включить квадратную геометрию в модель. Постройте график геометрии.
geometryFromEdges(structuralmodel,@squareg); pdegplot(structuralmodel,'EdgeLabels','on') axis equal

Укажите модуль Юнга и коэффициент Пуассона.
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
Решите статическую структурную модель, представляющую биметаллический кабель при растяжении, и интерполируйте напряжение по Мизесу на поперечном сечении кабеля.
Создание статической несущей модели для решения задачи твердого тела (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)

Укажите модуль Юнга и коэффициент Пуассона для каждого металла.
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)))

Кроме того, сетку можно задать с помощью матрицы точек запроса.
querypoints = [X(:),Y(:),Z(:)]'; IntrpVMStress = interpolateVonMisesStress(structuralresults,querypoints); surf(X,Y,reshape(IntrpVMStress,size(X)))

Интерполировать напряжение фон Мизеса в геометрическом центре пучка при гармоническом возбуждении.
Создайте переходную динамическую модель для 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)

Задайте модуль Юнга, коэффициент Пуассона и массовую плотность материала.
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')
structuralresults - Решение задачи структурного анализаStaticStructuralResults объект | TransientStructuralResults объект | FrequencyStructuralResults объектРешение задачи структурного анализа, указанной как StaticStructuralResults, TransientStructuralResults, или FrequencyStructuralResults объект. Создать structuralresults с помощью solve функция.
Пример: structuralresults = solve(structuralmodel)
xq - точки запроса координат Xточки запроса координат 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
yq - точки запроса координат yточки запроса координат y, заданные как вещественный массив. interpolateVonMisesStress оценивает напряжение по Мизесу в 2-D точках координат [xq(i),yq(i)] или в точках координат 3-D [xq(i),yq(i),zq(i)]. Поэтому xq, yq, и (при наличии) zq должно иметь одинаковое количество записей. Внутри, interpolateVonMisesStress преобразует точки запроса в вектор столбца yq(:).
Типы данных: double
zq - точки запроса координат Zточки запроса координат z, заданные как вещественный массив. interpolateVonMisesStress оценивает напряжение по Мизесу в 3-D точках координат [xq(i),yq(i),zq(i)]. Поэтому xq, yq, и zq должно иметь одинаковое количество записей. Внутри, interpolateVonMisesStress преобразует точки запроса в вектор столбца zq(:).
Типы данных: double
querypoints - Точки запросаТочки запроса, заданные как вещественная матрица с двумя строками для 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 - напряжение по Мизесу в точках запросаНапряжение Мизеса в точках запроса, возвращаемое в виде вектора столбца.
Для точек запроса, которые находятся вне геометрии, intrpVMStress = NaN.
evaluatePrincipalStrain | evaluatePrincipalStress | evaluateReaction | interpolateDisplacement | interpolateStrain | interpolateStress | StaticStructuralResults | StructuralModel
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.