主要内容

generateMesh

创建三角形或四面体网格

描述

例子

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

例子

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

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

例子

全部折叠

为l形几何图形生成默认的二维网格。

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

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

生成几何图形的默认网格。

generateMesh(模型);

查看网格。

pdeplot(模型)

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。

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

创建一个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”“上”

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

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

m1 = generateMesh(模型)
m1 = FEMesh属性:Nodes: [2x1159 double] Elements: [6x547 double] MaxElementSize: 0.0509 MinElementSize: 0.0254 MeshGradation: 1.5000 GeometricOrder: '二次元'

绘制结果网格。

pdeplot (m1)

图中包含一个axes对象。坐标轴对象包含两个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)

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。

生成一个网格,指定边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)

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。

输入参数

全部折叠

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

例子:模型= createpde (3)

例子:thermalmodel = createpde(“热”、“稳态”)

例子:structuralmodel = createpde(“结构”、“static-solid”)

例子:emagmodel = createpde(“电磁”、“静电”)

名称-值参数

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

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

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

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

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

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

例子: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属性对象。模型。网

更多关于

全部折叠

元素

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

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

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

有关详细信息,请参见网格数据

提示

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

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

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

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

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

版本历史

介绍了R2015a

全部展开

Baidu
map