Интерполируйте напряжение фон Мизеса в произвольных пространственных местоположениях
возвращает интерполированные значения напряжений фон Мизеса в 2D точках, заданных в 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);
Сгенерируйте mesh и решите задачу.
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]);
Сгенерируйте mesh и решите задачу.
generateMesh(structuralmodel); structuralresults = solve(structuralmodel)
structuralresults = StaticStructuralResults with properties: Displacement: [1x1 FEStruct] Strain: [1x1 FEStruct] Stress: [1x1 FEStruct] VonMisesStress: [22281x1 double] Mesh: [1x1 FEMesh]
Задайте координаты midspan поперечного сечения кабеля.
[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);
Сгенерируйте mesh.
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
оценивает напряжение фон Мизеса в 2D точках координаты [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
оценивает напряжение фон Мизеса в 2D точках координаты [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
— Точки запросаТочки запроса в виде действительной матрицы или с двумя строками для 2D геометрии или с тремя строками для 3-D геометрии. interpolateVonMisesStress
оценивает напряжение фон Мизеса в точках координаты querypoints(:,i)
, так каждый столбец querypoints
содержит точно одну 2D или 3-D точку запроса.
Пример: Для 2D геометрии, querypoints = [0.5,0.5,0.75,0.75; 1,2,0,0.5]
Типы данных: double
intrpVMStress
— напряжение фон Мизеса в точках запросанапряжение фон Мизеса в точках запроса, возвращенных как вектор-столбец.
Для точек запроса, которые находятся вне геометрии, intrpVMStress
= NaN
.
StructuralModel
| StaticStructuralResults
| interpolateDisplacement
| interpolateStress
| interpolateStrain
| evaluateReaction
| evaluatePrincipalStress
| evaluatePrincipalStrain
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.