主要内容

generateMesh

创建三角形或四面体网格

描述

例子

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

例子

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

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

例子

全部折叠

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

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

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

为几何体生成默认网格。

generateMesh(模型);

查看网格。

pdeplot(模型)

图中包含一个轴对象。轴对象包含两个类型为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(模型、@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: '二次'

绘制生成的网格。

pdeplot (m1)

图中包含一个轴对象。轴对象包含两个类型为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)

图中包含一个轴对象。轴对象包含两个类型为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)

图中包含一个轴对象。轴对象包含两个类型为line的对象。

输入参数

全部折叠

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

例子:模型= createpde (3)

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

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

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

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

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

更多关于

全部折叠

元素

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

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

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

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

提示

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

  • generateMesh使用时使用下列规则集指定局部元素大小Hface对冲,或Hvertex.的默认值和自定义值均有效机构Hmax

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

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

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

介绍了R2015a