geometryFromMesh
从网格创建2-D或3-D几何
语法
描述
geometryFromMesh (
创建多域几何图形。在这里,模型
,节点
,元素
,ElementIDToRegionID
)ElementIDToRegionID
指定网格中每个元素的子域id。
例子
来自体积网格的几何
导入一个四面体网格到PDE模型中。
在工作区中加载一个四面体网格。的tetmesh
用你的软件归档船。把数据整理成正确的形状geometryFromMesh
.
负载tetmeshnodes = X';Elements = tet';
创建一个PDE模型,并将网格导入模型中。
模型= createpde();geometryFromMesh(模型、节点元素);
查看几何形状和面号。
pdegplot(模型,“FaceLabels”,“上”,“FaceAlpha”, 0.5)
凸包几何
从点网格网格的凸包创建一个几何块。
创建一个3d网格。
[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模型并导入网格。
模型= createpde();geometryFromMesh(模型、节点元素);
查看几何形状和面号。
pdegplot(模型,“FaceLabels”,“上”,“FaceAlpha”, 0.5)
几何形状的alphaShape
创建一个三维几何使用MATLAB®alphaShape
函数。首先,创建一个alphaShape
带有圆柱形孔的物体。然后将几何图形导入PDE模型alphaShape
边界。
创建2-D网格。
[xg,yg] = meshgrid(-3:0.25:3);Xg = Xg (:);Yg = Yg (:);
创建一个单元盘。删除单元磁盘内的所有网格点,并包括单元磁盘点。
T = (pi/24:pi/24:2*pi)';X = cos(t);Y = sin(t);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(numel(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
.
Nodes = Nodes ';Elements = Elements ';
创建一个PDE模型并导入表面网格。
模型= createpde();geometryFromMesh(模型、节点元素);
查看几何形状和面号。
pdegplot(模型,“FaceLabels”,“上”,“FaceAlpha”, 0.5)
若要在分析中使用几何图形,请创建一个体积网格。
generateMesh(模型);
二维多域几何
从网格创建二维多域几何图形。
将有关节点、元素和元素到域通信的信息加载到工作区中。该文件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
对于2-D的情况和3-by-Nnodes
一个3d盒子。Nnodes
是网格中的节点数。
节点j
有x,y,z列坐标j
的节点
.
数据类型:双
元素
- - - - - -网格元素
3 * -Nelements
整数矩阵|4 * -Nelements
整数矩阵|6日-Nelements
整数矩阵|10×-Nelements
整数矩阵
网格元素,指定为包含3、4、6或10行的整数矩阵和Nelements
列,Nelements
是网格中元素的数量。
线性平面网格或几何曲面上的线性网格的尺寸为3 × ×
Nelements
.每一栏元素
包含曲面元素的三角形角节点的索引。在这种情况下,生成的几何图形不包含完整的网格。方法创建网格generateMesh
函数。线性元素的大小为4 ×
Nelements
.每一栏元素
包含元素的四面体角节点的索引。几何曲面上的二次平面网格或二次网格的尺寸为6乘
Nelements
.每一栏元素
包含曲面元素的三角形角节点和边缘中心的索引。在这种情况下,生成的几何图形不包含完整的网格。方法创建网格generateMesh
函数。二次元的大小是10乘
Nelements
.每一栏元素
包含元素的四面体角节点和四面体边缘中点节点的索引。
有关线性和二次元节点编号的详细信息,请参见网格数据.
数据类型:双
ElementIDToRegionID
- - - - - -每个元素的域信息
正整数向量
每个网格元素的域信息,指定为正整数向量。每个元素都是网格中一个元素的几何区域的ID。这个向量的长度等于网格中元素的数量。
数据类型:双
输出参数
G
——几何
句柄模型。Geometry
几何,作为句柄返回模型。Geometry
.这个几何图形是一流的DiscreteGeometry属性.
网
-有限元网格
句柄模型。网
有限元网格,返回作为句柄模型。网
.
如果
元素
是3byNelements
矩阵表示一个表面网格,那么网
是[]
.在本例中,为几何图形创建网格generateMesh
函数。如果
元素
那么,超过三行的矩阵是否代表体积网格呢网
具有与输入相同的节点和元素。可以为几何图形获得不同的网格generateMesh
函数。
版本历史
在R2015b中引入R2018a:节点和元素的多域几何
该函数现在允许您通过为网格的每个元素指定子域ID来创建多域几何图形。
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。