pdeplot3D
三维问题的图解或曲面网格
语法
描述
pdeplot3D (
绘制冯米塞斯应力,并显示三维结构分析模型的变形形状。模型
、“ColorMapData”、“变形”,results.Displacement results.VonMisesStress)
例子
曲面解图
在几何曲面上绘制PDE解。首先,创建一个PDE模型并导入一个3-D几何文件。指定边界条件和系数。网格的几何和解决问题。
模型= createpde;importGeometry(模型,“Block.stl”);applyBoundaryCondition(模型,“边界条件”,“面子”[1:4],“u”, 0);specifyCoefficients(模型,“m”0,“d”0,“c”, 1“一个”0,“f”2);generateMesh(模型);结果= solvepde(模型)
results = StationaryResults with properties: nodesolution: [12691x1 double] XGradients: [12691x1 double] YGradients: [12691x1 double] ZGradients: [12691x1 double] Mesh: [1x1 FEMesh]
在节点位置访问解决方案。
u = results. nodesolution;
规划解决方案u
在几何曲面上。
pdeplot3D(模型,“ColorMapData”, u)
稳态热模型的解
解决一个三维稳态热问题。
为这个问题建立一个热模型。
Thermalmodel = createpde(“热”);
导入并绘制块几何图形。
importGeometry (thermalmodel“Block.stl”);pdegplot (thermalmodel“FaceLabel”,“上”,“FaceAlpha”, 0.5)轴平等的
指定材料属性。
thermalProperties (thermalmodel“ThermalConductivity”, 80);
应用恒温100度°C到左边的块(面1)和恒温300°C到块的右侧(面3)。所有其他面默认是绝缘的。
thermalBC (thermalmodel“面子”, 1“温度”, 100);thermalBC (thermalmodel“面子”3,“温度”, 300);
网格的几何和解决问题。
generateMesh (thermalmodel);热结果=解决(热模型)
thermalresults = SteadyStateThermalResults with properties: Temperature: [12691x1 double] XGradients: [12691x1 double] YGradients: [12691x1 double] ZGradients: [12691x1 double] Mesh: [1x1 FEMesh]
求解器在节点位置找到温度和温度梯度。要访问这些值,请使用thermalresults。温度
,thermalresults。XGradients
等等。例如,绘制节点位置的温度。
pdeplot3D (thermalmodel“ColorMapData”thermalresults.Temperature)
三维稳态热模型的热通量
对于三维稳态热模型,计算节点位置和指定点的热流x
,y
,z
坐标。
创建稳态分析的热模型。
Thermalmodel = createpde(“热”);
创建以下3-D几何图形,并将其包含在模型中。
importGeometry (thermalmodel“Block.stl”);pdegplot (thermalmodel“FaceLabels”,“上”,“FaceAlpha”, 0.5)标题(“铜块,厘米”)轴平等的
假设这是一个铜块,块的热导率约为 .
thermalProperties (thermalmodel“ThermalConductivity”4);
在砌块的左侧(面1)施加373 K的恒温,在砌块的右侧(面3)施加573 K的恒温。
thermalBC (thermalmodel“面子”, 1“温度”, 373);thermalBC (thermalmodel“面子”3,“温度”, 573);
在块的底部应用热流边界条件。
thermalBC (thermalmodel“面子”4“HeatFlux”, -20);
网格的几何和解决问题。
generateMesh (thermalmodel);热结果=解决(热模型)
thermalresults = SteadyStateThermalResults with properties: Temperature: [12691x1 double] XGradients: [12691x1 double] YGradients: [12691x1 double] ZGradients: [12691x1 double] Mesh: [1x1 FEMesh]
评估节点位置的热流。
[qx,qy,qz] = evaluateHeatFlux(热流结果);图pdeplot3D (thermalmodel,“FlowData”,[qx qy qz])
创建指定的网格x
,y
,z
坐标,并评估到电网的热流。
[X,Y,Z] =网格(1:26:100,1:6:20,1:11:50);[qx,qy,qz] = evaluateHeatFlux(热流结果,X,Y,Z);
重塑qx、
,qy
,求出
向量,并绘制出结果的热通量。
qx =重塑(qx,大小(X));qy =重塑(qy,大小(Y));qz =重塑(qz,大小(Z));图quiver3 (X, Y, Z, qx, qy,求出)
或者,您可以使用查询点矩阵来指定网格。
querypoints = [X(:) Y(:) Z(:)]';[qx,qy,qz] = evaluateHeatFlux(热流结果,查询点);qx =重塑(qx,大小(X));qy =重塑(qy,大小(Y));qz =重塑(qz,大小(Z));图quiver3 (X, Y, Z, qx, qy,求出)
悬臂梁问题的变形形状
为一个三维问题创建一个结构分析模型。
Structuralmodel = createpde(“结构性”,“static-solid”);
导入几何体并绘制它。
importGeometry (structuralmodel“SquareBeam.stl”);pdegplot (structuralmodel“FaceLabels”,“上”,“FaceAlpha”, 0.5)
指定杨氏模量和泊松比。
structuralProperties (structuralmodel“PoissonsRatio”, 0.3,...“YoungsModulus”210年e3);
指定面6为固定边界。
structuralBC (structuralmodel“面子”6“约束”,“固定”);
指定面5的表面牵引。
structuralBoundaryLoad (structuralmodel“面子”5,...“SurfaceTraction”,...(0, 0; 2));
生成一个网格并解决问题。
generateMesh (structuralmodel);结构结果= solve(结构模型);
使用默认比例因子绘制变形形状与冯米塞斯应力。默认情况下,pdeplot3D
内部根据几何尺寸和变形大小确定比例因子。
图pdeplot3D (structuralmodel,...“ColorMapData”, structuralresults。VonMisesStress,...“变形”structuralresults.Displacement)
将同样的结果用比例因子500绘制出来。
图pdeplot3D (structuralmodel,...“ColorMapData”, structuralresults。VonMisesStress,...“变形”, structuralresults。位移,...“DeformationScaleFactor”, 500)
在不缩放的情况下绘制相同的结果。
图pdeplot3D (structuralmodel,...“ColorMapData”structuralresults.VonMisesStress)
三维结构动力学问题的von Mises应力
计算简谐激励下梁中的冯·米塞斯应力。
为一个三维问题创建一个瞬态动态模型。
Structuralmodel = createpde(“结构性”,“transient-solid”);
创建几何图形并将其包含在模型中。画出几何图形。
Gm = multicuboid(0.06,0.005,0.01);structuralmodel。几何= gm;pdegplot (structuralmodel“FaceLabels”,“上”,“FaceAlpha”, 0.5)视图(50、20)
指定杨氏模量、泊松比和材料的质量密度。
structuralProperties (structuralmodel“YoungsModulus”210 e9,...“PoissonsRatio”, 0.3,...“MassDensity”, 7800);
固定梁的一端。
structuralBC (structuralmodel“面子”5,“约束”,“固定”);
施加正弦位移沿y-方向上与横梁固定端相对的一端。
structuralBC (structuralmodel“面子”3,...“YDisplacement”1的军医,...“频率”, 50);
生成一个网格。
generateMesh (structuralmodel“Hmax”, 0.01);
指定零初始位移和速度。
structuralIC (structuralmodel“位移”(0, 0, 0),“速度”, (0, 0, 0));
求解模型。
Tlist = 0:0.002:0.2;strucalresults = solve(strucalmodel,tlist);
计算梁中的冯·米塞斯应力。
vmStress = evaluateVonMisesStress(strucalresults);
画出最后一个时间步的冯·米塞斯应力。
图pdeplot3D (structuralmodel,“ColorMapData”vmStress(:结束)标题(《冯·米塞斯在光束上的最后一阶应力》)
三维静电分析模型的求解
解决一个电磁问题,找到三维几何图形的电势和场分布,表示一个有洞的板。
创建用于静电分析的电磁模型。
Emagmodel = createpde(“电磁”,“静电”);
导入并绘制表示带孔板的几何图形。
gm = importGeometry(emagmodel,“PlateHoleSolid.stl”);pdegplot(通用、“FaceLabels”,“上”,“FaceAlpha”, 0.3)
指定国际单位制中的真空介电常数。
emagmodel。真空介电常数= 8.8541878128E-12;
指定材料的相对介电常数。
electromagneticProperties (emagmodel“RelativePermittivity”1);
指定整个几何的电荷密度。
electromagneticSource (emagmodel“ChargeDensity”5 e-9);
将电压边界条件应用于侧面和与孔相邻的面。
electromagneticBC (emagmodel“电压”0,“面子”、三6);electromagneticBC (emagmodel“电压”, 1000,“面子”7);
生成网格。
generateMesh (emagmodel);
求解模型。
R = solve(emagmodel)
R = ElectrostaticResults with properties: ElectricPotential: [4359x1 double] ElectricField: [1x1 FEStruct] ElectricFluxDensity: [1x1 FEStruct] Mesh: [1x1 FEMesh]
画出电势。
图pdeplot3D (emagmodel,“ColorMapData”R.ElectricPotential)
画出电场。
pdeplot3D (emagmodel“FlowData”, (R.ElectricField.Ex...R.ElectricField.Ey...R.ElectricField.Ez])
三维网格图
创建一个PDE模型,包括几何图形,并生成一个网格。
模型= createpde;importGeometry(模型,“Tetrahedron.stl”);网格=生成网格(模型,“Hmax”, 20岁,“GeometricOrder”,“线性”);
绘制表面网格。
pdeplot3D(模型)
或者,您可以使用网
作为输入参数。
pdeplot3D(网)
另一种方法是使用网格的节点和元素作为输入参数pdeplot3D
.
pdeplot3D (mesh.Nodes mesh.Elements)
在简单网格的表面上显示节点标签。
pdeplot3D(模型,“NodeLabels”,“上”12)视图(101)
显示元素标签。
pdeplot3D(模型,“ElementLabels”,“上”12)视图(101)
输入参数
模型
- - - - - -模型容器
PDEModel
对象|ThermalModel
对象|StructuralModel
对象|ElectromagneticModel
对象
模型容器,指定为PDEModel
对象,ThermalModel
对象,StructuralModel
对象,或ElectromagneticModel
对象。
例子:模型= createpde(3)
例子:Thermalmodel = createpde("thermal","steadystate")
例子:Structuralmodel = createpde("structural","static-solid")
例子:Emagmodel = createpde("电磁","静电")
网
- - - - - -网格物体
网
的属性PDEModel
对象|的输出generateMesh
对象,指定为网
的属性PDEModel
对象或作为的输出generateMesh
.
例子:模型。网
节点
- - - - - -节点坐标
3 * -NumNodes矩阵
节点坐标,指定为3 * *NumNodes矩阵。NumNodes为节点数。
元素
- - - - - -以节点id表示的元素连通性矩阵
4 * -NumElements矩阵|10×-NumElements矩阵
以节点id表示的元素连通性矩阵,指定为4 × -NumElements或10×-NumElements矩阵。线性网格只包含角节点。对于线性网格,连通性矩阵每个三维元素有四个节点。二次网格包含角节点和元素每条边中间的节点。对于二次网格,连通性矩阵每个三维元素有10个节点。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:pdeplot3D(模型、“NodeLabels”、“上”)
ColorMapData
- - - - - -数据绘制为彩色表面
列向量
要绘制为彩色表面的数据,指定为由逗号分隔的对组成的“ColorMapData”
一个列向量的元素个数等于网格中的点的个数。通常,此数据是返回的解决方案solvepde
一个标量偏微分方程问题和一个多分量偏微分方程系统解的一个分量。
例子:“ColorMapData”的结果。NodalSolution
例子:“ColorMapData results.NodalSolution (: 1)
数据类型:双
FlowData
- - - - - -箭袋图数据
矩阵
数据箭袋的阴谋,指定为逗号分隔的对,由“FlowData”
和一个米
——- - - - - -3.
矩阵,米
为网格节点数。FlowData
包含了x,y,z网格点上的字段值。集FlowData
如下:
结果= solvepde(模型);[cgradx,cgrady,cgradz] = evaluateCGradient(results);pdeplot3D(模型,“FlowData”,[cgradx cgrady cgradz])
pdeplot3D
绘制复杂数据的实部。
例子:"FlowData",[cgradx cgrady cgradz]
数据类型:双
网
- - - - - -显示网格的指示器
“关闭”
(默认)|“上”
指示符显示网格,指定为由逗号分隔的对组成“网”
而且“上”
或“关闭”
.指定“上”
在图中显示网格。
例子:“网”、“”
数据类型:字符
|字符串
NodeLabels
- - - - - -节点的标签
“关闭”
(默认)|“上”
节点标签,指定为逗号分隔的对,由“NodeLabels”
而且“关闭”
或“上”
.
例子:“NodeLabels”、“”
数据类型:字符
|字符串
ElementLabels
- - - - - -元素标签
“关闭”
(默认)|“上”
元素标签,指定为逗号分隔的对,由“ElementLabels”
而且“关闭”
或“上”
.
例子:“ElementLabels”、“”
数据类型:字符
|字符串
FaceAlpha
- - - - - -三维几何的表面透明度
1
(默认)|实数来自0
通过1
表面透明度为3-D几何,指定为实数从0
通过1
.默认值1
表示没有透明度。的值0
表示完全透明。
例子:“FaceAlpha”,0.5
数据类型:双
变形
- - - - - -结构分析模型的变形形状
FEStruct
表示节点上位移值的对象
结构分析模型的变形形状,指定为由逗号分隔的对组成“变形”
和FEStruct
表示节点上位移值的对象。位移FEStruct
对象的属性StaticStructuralResults
,TransientStructuralResults
,FrequencyStructuralResults
.
在未变形的形状下,二次网格的中心节点总是在角与角之间的半距离处添加。当绘制变形形状时,中心节点可能会远离边缘中心。
例子:“变形”的结果。位移
DeformationScaleFactor
- - - - - -用于绘制变形形状的缩放因子
正数
用于绘制变形形状的缩放因子,指定为逗号分隔的对,由“DeformationScaleFactor”
一个正数。将此参数与变形
名称-值对参数。的pdeplot3D
函数根据几何形状本身和变形的大小选择默认值。
例子:“DeformationScaleFactor”,1000
数据类型:双
输出参数
h
—图形对象的句柄
向量
图形对象的句柄,作为向量返回。
版本历史
在R2015a中引入R2021b:电磁分析
现在可以绘制电磁结果,例如电势和磁势、场和通量。
R2020a:改进了具有许多文本标签的图的性能
pdeplot3d
为显示许多文本标签的图显示更快的渲染和更好的响应性。代码包含findobj(无花果、“类型”、“文本”)
不再返回数据上的标签pdeplot3d
.
R2018a:突出显示网格图上的特定节点和元素
pdeplot3d
接受节点和元素id作为输入参数,允许您在网格图上突出显示特定的节点和元素。
R2017b:结构分析
您现在可以绘制结构结果,例如位移、应力和应变。
R2017a:热分析
现在可以绘制热结果,例如温度和温度梯度。
R2016b:透明度、节点和元素标签
您现在可以使用FaceAlpha
,并使用显示节点和元素标签NodeLabels
而且ElementLabels
,分别。
Beispiel offnen
Sie haben eine geänderte版本dieses Beispiels。Möchten Sie dieses Beispiel mit Ihren Änderungen öffnen?
MATLAB-Befehl
你的身体和身体之间的联系MATLAB-Befehl
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus。web浏览器unterstützen keine MATLAB-Befehle。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。