主要内容

generateMesh

创建三角形或四面体网格

描述

例子

generateMesh (模型创建一个网格并将其存储在模型对象。模型必须包含几何图形。有关创建几何图形并将其包含在模型中的详细信息,请参见几何和网格这里列出了几何函数。

例子

generateMesh (模型名称,值属性修改网格创建名称,值参数。

= generateMesh (___还将网格返回给MATLAB®工作区,使用任何前面的语法。

例子

全部折叠

为l形几何图形生成默认的2-D网格。

创建PDE模型并包含l形几何。

模型= createpde(1);geometryFromEdges(模型、@lshapeg);

为几何体生成默认网格。

generateMesh(模型);

查看网格。

pdeplot(模型)

图中包含一个轴对象。axis对象包含2个line类型的对象。

创建一个比默认网格更细的网格。

创建PDE模型并包含BracketTwoHoles几何学。

模型= createpde(1);importGeometry(模型,“BracketTwoHoles.stl”);

生成一个默认网格进行比较。

generateMesh(模型)
ans = FEMesh with properties: Nodes: [3x10003 double] Elements: [10x5774 double] MaxElementSize: 9.7980 MinElementSize: 4.8990 MeshGradation: 1.5000 GeometricOrder: '二次元'

查看网格。

pdeplot3D(模型)

创建一个目标最大元素大小为5的网格,而不是默认的7.3485。

generateMesh(模型,“Hmax”5)
ans = FEMesh with properties: Nodes: [3x66982 double] Elements: [10x44093 double] MaxElementSize: 5 MinElementSize: 2.5000 MeshGradation: 1.5000 GeometricOrder: '二次元'

查看网格。

pdeplot3D(模型)

生成一个2-D网格,在指定的边缘和顶点周围有更细的点。

创建一个模型。

模型= createpde;

创建并绘制二维几何图形,表示在其中心有一个菱形孔的圆。

g = geometryFromEdges(model,@scatterg);pdegplot (g,“VertexLabels”“上”“EdgeLabels”“上”

图中包含一个轴对象。axis对象包含17个类型为line, text的对象。

使用默认网格参数为这个几何图形生成一个网格。

m1 = generateMesh(模型)
m1 = FEMesh with properties: Nodes: [2x1159 double] Elements: [6x547 double] MaxElementSize: 0.0509 MinElementSize: 0.0254 MeshGradation: 1.5000 GeometricOrder: 'quadratic'

绘制结果网格。

pdeplot (m1)

图中包含一个轴对象。axis对象包含2个line类型的对象。

在边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)

图中包含一个轴对象。axis对象包含2个line类型的对象。

生成一个网格,指定边1和顶点6和7的目标大小。

m3 = generateMesh(模型,“对冲”{0.001},“Hvertex”{7 [6], 0.002})
m3 = FEMesh with properties: Nodes: [2x2903 double] Elements: [6x1365 double] MaxElementSize: 0.0509 MinElementSize: 0.0254 MeshGradation: 1.5000 GeometricOrder: '二次元'

绘制结果网格。

pdeplot (m3)

图中包含一个轴对象。axis对象包含2个line类型的对象。

输入参数

全部折叠

模型容器,指定为PDEModel对象,ThermalModel对象,StructuralModel对象,或ElectromagneticModel对象。

例子:模型= createpde(3)

例子:Thermalmodel = createpde("thermal","steadystate")

例子:Structuralmodel = createpde("structural","static-solid")

例子:Emagmodel = createpde("电磁","静电")

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:generateMesh(模型、“Hmax”0.25);

元素的几何顺序,指定为“线性”“二次”

表示线性元素的三角形或四面体在角上有节点。表示二次元的三角形或四面体在其角和边缘中心有节点。二次型网格的中心节点总是在角与角之间的半距离处添加。对于具有曲面和边缘的几何图形,中心节点可能不会出现在边缘或表面本身上。

一般来说,“二次”元素产生更精确的解。金宝搏官方网站覆盖默认值“二次”只是为了解决一个三维的静磁问题,为了节省内存,或者用传统的求解器来解决一个二维的问题。传统的PDE求解器对2-D几何图形使用线性三角形网格。

例子:generateMesh(模型、“GeometricOrder”、“线性”);

数据类型:字符|字符串

网格生长速率,指定为大于或等于1且小于或等于2的数字。

例子:generateMesh(模型、“Hgrad”1.3);

数据类型:

目标最大网格边长,指定为正数。

Hmax是网格边缘长度的近似上界。偶尔,generateMesh可以创建一个网格与一些元素超过Hmax

generateMesh的默认值Hmax从整体几何尺寸。

Hmax值可以让您创建更精细的网格,但网格生成在这种情况下会花费很长时间。您可以通过使用中断网格生成Ctrl + C.请注意,generateMesh可能需要额外的时间来响应中断。

例子:generateMesh(模型、“Hmax”0.25);

数据类型:

目标最小网格边长,指定为非负数。

机构是网格边缘长度的近似下界。偶尔,generateMesh可以创建一个网格与一些元素小于机构

generateMesh的默认值机构从整体几何尺寸。

例子:generateMesh(模型,“机构”,0.05);

数据类型:

选定面上的目标大小,指定为包含偶数个元素的单元格数组。奇数索引元素是指定人脸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})

数据类型:

所选顶点周围的目标大小,指定为包含偶数个元素的单元格数组。奇数索引元素是指定顶点id的正整数或正整数的向量。偶数索引元素是指定对应顶点的目标大小的正数。

例子:generateMesh(模型、“Hmax”,0.25,“Hvertex”{0.02})

数据类型:

输出参数

全部折叠

网格描述,返回为FEMesh属性对象。模型。网

更多关于

全部折叠

元素

一个元素是有限元法中的基本单位。

在二维问题中,元素是一个三角形model.Mesh.Element财产。如果三角形表示一个线性元素,它只在三角形的角上有节点。如果三角形表示一个二次元,那么它在三角形的角和边缘中心有节点。

对于三维问题,一个元素是有四个或十个点的四面体。四点(线性)四面体只有在它的角上有节点。十点(二次)四面体在它的角上和每条边的中心点上都有节点。

详细信息请参见网格数据

提示

  • generateMesh可以在不同的版本中返回略有不同的网格。例如,网格中元素的数量可以改变。避免编写依赖于显式指定的节点和元素id或节点和元素计数的代码。

  • generateMesh使用指定局部元素大小时,使用以下规则集Hface对冲,或Hvertex.的缺省值和自定义值都有效机构而且Hmax

    • 如果为相邻的区域指定局部大小,generateMesh使用最小大小。例如,如果在一条边上指定大小为1,在其中一个顶点上指定大小为0.5,则该函数将逐渐减小该顶点附近的元素大小。

    • 如果指定的本地大小小于机构generateMesh忽略了机构在这些地方。

    • 如果指定的本地大小大于HmaxgenerateMesh忽略指定的本地大小。Hmax在网格的任何地方都不超出。

版本历史

在R2015a中引入

全部展开