geometryFromMesh
从网格创建2-D或3-D几何
描述
geometryFromMesh (
创建一个多域几何图形。在这里,模型
,节点
,元素
,ElementIDToRegionID
)ElementIDToRegionID
指定网格中每个元素的子域id。
例子
来自体积网格的几何
导入一个四面体网格到PDE模型中。
加载一个四面体网格到你的工作空间。的tetmesh
随软件一起发布文件。将数据以正确的形状放置geometryFromMesh
.
负载tetmesh节点= X';Elements = tet';
创建PDE模型并将网格导入模型。
Model = createpde();geometryFromMesh(模型、节点元素);
查看几何和面数。
pdegplot(模型,“FaceLabels”,“上”,“FaceAlpha”, 0.5)
凸包几何
从点网格的凸包创建一个几何块。
创建一个三维网格。
[x,y,z] = meshgrid(-2:4:2);
创建凸包。
X = X (:);Y = Y (:);Z = Z (:);K = convhull(x,y,z);
将数据以正确的形状放置geometryFromMesh
.
节点= [x';y';z'];elements = K';
创建PDE模型并导入网格。
Model = createpde();geometryFromMesh(模型、节点元素);
查看几何和面数。
pdegplot(模型,“FaceLabels”,“上”,“FaceAlpha”, 0.5)
几何形状的alphaShape
使用MATLAB®创建3-D几何图形alphaShape
函数。首先,创建一个alphaShape
有圆柱形孔的块状物体。,然后将几何图形导入PDE模型alphaShape
边界。
创建一个二维网格。
[xg,yg] = meshgrid(-3:0.25:3);Xg = Xg (:);Yg = Yg (:);
创建单元盘。删除落在单元磁盘内的所有网格网格点,并包括单元磁盘点。
T = (pi/24:pi/24:2*pi)';X = cos(t);Y = sint;circShp = alphaShape(x,y,2);in = inShape(circShp,xg,yg);Xg = [Xg (~in);cost);Yg = [Yg (~in);罪(t)];
创建剩余网格网格点的3-D副本,使用z
-坐标范围从0到1。把这些点组合成一个alphaShape
对象。
Zg = ones(数字(xg),1);Xg = repmat(Xg,5,1);Yg = repmat(Yg,5,1);Zg = Zg *(0:.25:1);Zg = Zg (:);shp = alphaShape(xg,yg,zg);
获得一个表面网格的alphaShape
对象。
[elements,nodes] = boundaryFacets(shp);
将数据以正确的形状放置geometryFromMesh
.
节点=节点的;Elements = Elements ';
创建PDE模型并导入表面网格。
Model = createpde();geometryFromMesh(模型、节点元素);
查看几何和面数。
pdegplot(模型,“FaceLabels”,“上”,“FaceAlpha”, 0.5)
若要在分析中使用几何图形,请创建一个体积网格。
generateMesh(模型);
二维多域几何
从一个网格创建一个2-D多域几何。
将有关节点、元素和元素到域通信的信息加载到工作区中。该文件MultidomainMesh2D
随软件一起发布。
负载MultidomainMesh2D
创建PDE模型。
模型= createpde;
将网格导入模型。
geometryFromMesh(模型、节点元素,ElementIdToRegionId);
查看几何和面数。
pdegplot(模型,“FaceLabels”,“上”)
三维多域几何
从一个网格创建一个3-D多域几何。
将有关节点、元素和元素到域通信的信息加载到工作区中。该文件MultidomainMesh3D
随软件一起发布。
负载MultidomainMesh3D
创建PDE模型。
模型= createpde;
将网格导入模型。
geometryFromMesh(模型、节点元素,ElementIdToRegionId);
查看几何图形和单元格数。
pdegplot(模型,“CellLabels”,“上”)
输入参数
模型
- - - - - -模型容器
PDEModel
对象|ThermalModel
对象|StructuralModel
对象|ElectromagneticModel
对象
模型容器,指定为PDEModel
对象,ThermalModel
对象,StructuralModel
对象,或ElectromagneticModel
对象。
例子:模型= createpde(3)
例子:Thermalmodel = createpde("thermal","steadystate")
例子:Structuralmodel = createpde("structural","static-solid")
例子:Emagmodel = createpde("电磁","静电")
节点
- - - - - -网格节点
实数矩阵
网格节点,指定为实数矩阵。矩阵的大小是2 × -Nnodes
对于二维情况和3乘-Nnodes
三维箱子。Nnodes
是网格中的节点数。
节点j
有x,y,z列中的坐标j
的节点
.
数据类型:双
元素
- - - - - -网格元素
3 * -Nelements
整数矩阵|4 * -Nelements
整数矩阵|6日-Nelements
整数矩阵|10×-Nelements
整数矩阵
网格元素,指定为3、4、6或10行的整数矩阵,和Nelements
列,Nelements
是网格中元素的数量。
线形平面网格或几何曲面上的线形网格尺寸为3 × 3
Nelements
.的每一列元素
包含曲面元素的三角形角节点的索引。在这种情况下,生成的几何图形不包含完整的网格。创建网格使用generateMesh
函数。线性元素的大小为4 ×
Nelements
.的每一列元素
包含元素的四面体角节点的索引。平面二次网格或几何曲面上的二次网格尺寸为6 × 6
Nelements
.的每一列元素
包含曲面元素的三角形角节点和边缘中心的索引。在这种情况下,生成的几何图形不包含完整的网格。创建网格使用generateMesh
函数。二次元的大小为10 × -
Nelements
.的每一列元素
包含元素的四面体角节点和四面体边缘中点节点的索引。
有关线性和二次元的节点编号的详细信息,请参见网格数据.
数据类型:双
ElementIDToRegionID
- - - - - -每个元素的域信息
正整数向量
每个网格元素的域信息,指定为正整数向量。每个元素都是网格中一个元素的几何区域的ID。这个向量的长度等于网格中元素的数量。
数据类型:双
输出参数
G
——几何
句柄模型。Geometry
的句柄返回模型。Geometry
.这个几何是一流的DiscreteGeometry属性.
网
-有限元网格
句柄模型。网
有限元网格,返回为一个手柄模型。网
.
如果
元素
是3 × -吗Nelements
矩阵表示一个曲面网格,则网
是[]
.属性为几何体创建一个网格generateMesh
函数。如果
元素
一个矩阵有超过三行表示一个体积网格,那么网
具有与输入相同的节点和元素。控件可以为几何图形获取不同的网格generateMesh
函数。
版本历史
在R2015b中引入R2018a:来自节点和元素的多域几何
该函数现在允许您通过为网格的每个元素指定子域ID来创建多域几何图形。
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国家站点没有针对您所在位置的访问进行优化。