generateMesh
创建三角形或四面体网格
描述
例子
生成二维网格
为l形几何图形生成默认的二维网格。
创建一个PDE模型并包含l形几何图形。
模型= createpde (1);geometryFromEdges(模型、@lshapeg);
生成几何图形的默认网格。
generateMesh(模型);
查看网格。
pdeplot(模型)
生成三维网格
创建一个比默认网格更细的网格。
创建一个PDE模型并包含BracketTwoHoles
几何学。
模型= createpde (1);importGeometry(模型,“BracketTwoHoles.stl”);
生成一个默认网格进行比较。
generateMesh(模型)
ans = FEMesh属性:Nodes: [3x10003 double] Elements: [10x5774 double] MaxElementSize: 9.7980 MinElementSize: 4.8990 mesh grade: 1.5000 GeometricOrder: '二次元'
查看网格。
pdeplot3D(模型)
创建一个目标最大元素大小为5的网格,而不是默认的7.3485。
generateMesh(模型,“Hmax”5)
节点:[3x66982 double]元素:[10x44093 double] MaxElementSize: 5 MinElementSize: 2.5000 MeshGradation: 1.5000 GeometricOrder: '二次元'
查看网格。
pdeplot3D(模型)
在指定的边和顶点上细化网格
生成一个2-D网格,在指定的边缘和顶点周围有更细的斑点。
创建一个模型。
模型= createpde;
创建并绘制一个2-D几何图形,表示一个中心有一个菱形孔的圆。
g = geometryFromEdges(模型、@scatterg);pdegplot (g,“VertexLabels”,“上”,“EdgeLabels”,“上”)
使用默认网格参数为这个几何图形生成一个网格。
m1 = generateMesh(模型)
m1 = FEMesh属性:Nodes: [2x1159 double] Elements: [6x547 double] MaxElementSize: 0.0509 MinElementSize: 0.0254 MeshGradation: 1.5000 GeometricOrder: '二次元'
绘制结果网格。
pdeplot (m1)
在边缘1上生成一个目标尺寸的网格,该网格小于目标最小元素尺寸,MinElementSize
,默认网格的。
m2 = generateMesh(模型,“对冲”{0.001})
m2 = FEMesh with properties: Nodes: [2x2631 double] Elements: [6x1241 double] MaxElementSize: 0.0509 MinElementSize: 0.0254 MeshGradation: 1.5000 GeometricOrder: '二次元'
绘制结果网格。
pdeplot (m2)
生成一个网格,指定边1和顶点6和7的目标大小。
m3 = generateMesh(模型,“对冲”{0.001},“Hvertex”{7 [6], 0.002})
节点:[2x2903 double]元素:[6x1365 double] MaxElementSize: 0.0509 MinElementSize: 0.0254 MeshGradation: 1.5000 GeometricOrder: '二次元'
绘制结果网格。
pdeplot (m3)
输入参数
模型
- - - - - -模型容器
PDEModel
对象|ThermalModel
对象|StructuralModel
对象|ElectromagneticModel
对象
模型容器,指定为PDEModel
对象,ThermalModel
对象,StructuralModel
对象,或ElectromagneticModel
对象。
例子:模型= createpde (3)
例子:thermalmodel = createpde(“热”、“稳态”)
例子:structuralmodel = createpde(“结构”、“static-solid”)
例子:emagmodel = createpde(“电磁”、“静电”)
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:generateMesh(模型、“Hmax”0.25);
GeometricOrder
- - - - - -元素的几何秩序
“二次”
(默认)|“线性”
元素的几何顺序,指定为“线性”
或“二次”
.
代表线性元素的三角形或四面体在角上有节点。代表二次元的三角形或四面体在其角和边中心处有节点。二次元网格的中心节点总是在角与角之间的半距离处相加。对于具有曲面和边缘的几何图形,中心节点可能不会出现在边缘或曲面本身上。
一般来说,“二次”
元素产生更精确的解。覆盖默认的“二次”
只是为了解决一个三维静磁问题,为了节省内存,或者用一个遗留的求解器来解决一个二维问题。传统的PDE求解器对二维几何使用线性三角形网格。
例子:generateMesh(模型、“GeometricOrder”、“线性”);
数据类型:字符
|字符串
Hgrad
- - - - - -网的增长率
1.5
(默认)|大于或等于1小于或等于2的数字
网格生长速率,指定为大于或等于1和小于或等于2的数字。
例子:generateMesh(模型、“Hgrad”1.3);
数据类型:双
Hmax
- - - - - -目标最大网格边长
正数
目标最大网格边长,指定为正数。
Hmax
是网格边缘长度的近似上界。偶尔,generateMesh
可以用一些超出的元素创建一个网格吗Hmax
.
generateMesh
的默认值Hmax
从几何的整体尺寸。
小Hmax
值允许您创建更精细的网格,但是在这种情况下,网格生成可能会花费很长时间。你可以使用Ctrl + C.请注意,generateMesh
可能需要额外的时间来响应中断。
例子:generateMesh(模型、“Hmax”0.25);
数据类型:双
机构
- - - - - -目标最小网格边长
负的数量
目标最小网格边缘长度,指定为非负数。
机构
是网格边缘长度的近似下界。偶尔,generateMesh
可以创建一个网格与一些元素小于机构
.
generateMesh
的默认值机构
从几何的整体尺寸。
例子:generateMesh(模型,“机构”,0.05);
数据类型:双
Hface
- - - - - -所选面上的目标尺寸
单元阵列
所选面上的目标大小,指定为包含偶数个元素的单元格数组。奇数索引元素是正整数或指定人脸id的正整数的向量。偶数索引元素是指定对应面的目标大小的正数。
例子:generateMesh(模型、“Hmax”,0.25,“Hface”{[1 - 2],0.1,3 4 5,0.05})
数据类型:双
对冲
- - - - - -所选边缘周围的目标大小
单元阵列
所选边缘周围的目标大小,指定为包含偶数个元素的单元格数组。奇索引元素是正整数或指定边id的正整数的向量。偶数索引元素是指定相应边的目标大小的正数。
例子:generateMesh(模型、“Hmax”,0.25,“对冲”,{[1 - 2],0.01,0.05})
数据类型:双
Hvertex
- - - - - -所选顶点周围的目标大小
单元阵列
所选顶点周围的目标大小,指定为包含偶数个元素的单元格数组。奇索引元素是正整数或指定顶点id的正整数的向量。偶数索引元素是指定对应顶点的目标大小的正数。
例子:generateMesh(模型、“Hmax”,0.25,“Hvertex”{0.02})
数据类型:双
更多关于
提示
generateMesh
可以在不同的版本中返回略有不同的网格。例如,网格中的元素数量可以改变。避免编写依赖于显式指定的节点和元素id或节点和元素计数的代码。generateMesh
使用指定局部元素大小时,使用以下规则集Hface
,对冲
,或Hvertex
.的缺省值和自定义值都有效机构
而且Hmax
.如果为彼此相邻的区域指定局部大小,
generateMesh
使用最小大小。例如,如果在一条边上指定大小为1,在它的一个顶点上指定大小为0.5,则该函数会逐渐减小该顶点附近的元素大小。如果指定的本地大小小于
机构
,generateMesh
忽略了机构
在那些地方。如果指定的本地大小大于
Hmax
,generateMesh
忽略指定的本地大小。Hmax
在网格的任何地方都不超过。
版本历史
介绍了R2015aR2021b:局部网格细化
现在可以指定几何顶点、边缘和面周围的局部目标网格大小。该函数生成一个网格,使指定区域周围的元素大小尽可能接近目标大小,并在不同元素大小的区域之间逐渐混合网格。
R2017b:改进的网格生成
网格生成器现在使用新的二维几何网格生成算法。参数还可以指定网格生长速率Hgrad
论点。
生成的网格可能不同于以前版本中生成的网格。例如,使用默认大小控件生成的网格可以拥有比以前更少的元素。同时,generateMesh
默认为二维问题创建二次网格。在以前的版本中,二维几何图形的默认网格是线性网格。
R2017b:摇晃
,JiggleIter
,MesherVersion
参数被忽略
generateMesh
忽略了摇晃
,JiggleIter
,MesherVersion
参数。该网格机在不抖动节点的情况下产生高质量的网格。
R2016a:二维网格的二次元
通过设置生成二次二维网格GeometricOrder
来“二次”
.
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。