首页/文章/ 详情

网格结构化和非结构化的区别

1月前浏览1309

网格类型通常被分类为结构化(曲线坐标)或非结构化。如前所述,结构化网格与有限差分法历史上相关。有限体积法和有限元法允许更一般的网格。


1.结构化网格


     

   

结构化网格,也通常称为网格,是其结构和形成允许容易识别相邻单元格和点的网格。这种属性源于结构化网格是应用于分析坐标系统(矩形、椭圆形、球形等),形成规则网格。

从编程的角度来看,形成结构化网格的单元格或点可以这样枚举,以至于可以分析地进行相邻查询,基于单元格或点的坐标。

考虑下图中的网格。它的前几个单元格被枚举,以及前四个左侧和右侧边界单元格。这个网格是矩形网格的一个例子。为了说明获得单元格邻接关系的便利性,很明显,要从任何单元格获得右侧邻接关系,问题被简化为在其枚举上加一。

同样,任何单元格的顶部邻接关系是通过在其单元格枚举上加九来获得的。这允许每个网格元素直接映射到数组或向量,使计算更简单。

任何曲线网格也可以映射到这样的坐标和相邻系统。因此,从编程的角度来看,在邻接查询方面,曲线网格和矩形网格之间几乎没有区别。

结构化网格也可以在边界拟合方面进行定义。例如,笛卡尔网格适合矩形的边界,而圆柱形网格适合圆柱的边界。

可以混合边界拟合,并有许多不同的曲线或表面定义边界。这些包括任何可参数化的曲线和表面,如样条和NURBS(非均匀有理基样条)。网格算法将决定如何通过这些表面分布点以及如何连接相对表面,这取决于每个曲线或表面应该创建多少点。


2.非结构化网格


     

   

非结构化网格更通用,可以任意近似任何几何形状。与结构化网格不同,后者的坐标和连接性映射到矩阵的元素中,非结构化网格需要特殊的数据结构,如邻接矩阵或列表和节点坐标列表。非结构化网格的节点/单元格编号可以是任意和稀疏的,因为它不需要任何分析形式的邻接查询。

复杂几何体,如果使用结构化网格生成将是不切实际的,可以使用非结构化网格化技术进行离散化。非结构化网格的灵活性允许使用各种单元格类型并存于同一网格中,使其能够实现更好的几何拟合和整体元素质量。

单元格类型可以分为2维单元格和3维单元格。常见的2维单元格类型是三角形和四边形。常见的3维单元格类型是四面体和六面体,但也可能包括金字塔和楔形。

这些单元格类型形成了所谓的有限元动物园finite element zoo,因为这些单元格类型通常与有限元方案一起使用。有限体积方案在单元格类型使用方面更为灵活,有时允许使用任何多边形和多面体。

网格单元格不需要是一致的。非一致网格是那些出现悬挂节点的网格。这些节点在网格自适应过程中更常见。





来源:CFD饭圈
FluentCFX燃烧通用PolyflowParaViewParticleWorks
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-09-08
最近编辑:1月前
CFD饭圈
硕士 分享CFD文章,感谢关注
获赞 22粉丝 23文章 377课程 0
点赞
收藏
作者推荐

Fluent仿真实例-仿真单个锂离子电池的短路问题

1. 外部和内部短路处理 您将再次使用之前保存的ntgk.cas.h5案例文件来说明如何在电池仿真中处理外部和内部短路。假设电池同时经历外部和内部短路。这种极端情况将用来演示在短路仿真中的问题设置和后处理。2. 设置和解决短路问题 1.读取NTGK模型案例文件ntgk.cas.h5。2.设置外部电路短路。Setup → Models → Battery Model Edit...a. 在Battery Model对话框中,在Model Options标签页的Solution Options组框中,启用“Specified Resistance”(指定电阻)。b. 对于“External Resistance”(外部电阻),输入0.5 Ohm并点击OK。3.在电池单元中心设置内部电路短路。a. 使用区域适配功能标记图26.16所示的短路区域,并使用区域注册功能。Solution → Cell Registers → New → Region...i. 在区域注册对话框中,输入以下输入坐标的值:ii. 点击Save/Display并关闭Region Register对话框。Fluent在控制台报告标记了12个单元进行细化。4.使用标准初始化方法初始化场变量。Solution → Initialization → Initialize5.使用短路电阻值修补内部短路区域。Solution → Initialization → Patch...a. 在Patch对话框中,在Variable下选择Battery Short Resistance。b. 在Registers to Patch下选择region_0。c. 对于Value,输入5.0e-7。d. 点击Patch并关闭Patch对话框。6.保存案例文件(ntgk_short_circuit.cas.h5)。File → Write → Case...7.运行5秒的仿真。a. 在Solution → Run Calculation中,设置Time Step Size为1秒,No. of Time Steps为5。b. 点击Calculate。8. 保存 case 和 data文件(ntgk_short_circuit.cas.h5 和 ntgk_short_circuit.dat.h5)。3. 后处理 1.计算电池标签电压Utab。Results → Reports → Surface Integrals...a. 在Surface Integrals对话框中,从Report Type下拉列表中选择Area-Weighted Average。b. 从Field Variable下拉列表中选择Battery Variables... 和 Passive Zone Potential。c. 在Surfaces过滤器中输入t以显示以"t"开头的表面名称,并从列表中选择tab_p。d. 点击Compute并关闭Surface Integrals对话框。电池标签电压约为4.077V,在Area-Weighted Average字段和Fluent控制台中打印出来。2.计算电池标签电流Itab。Results → Reports → Volume Integrals...a. 在Volume Integrals对话框中,从Report Type组框中选择Volume Integrals。b. 从Field Variable下拉列表中选择Battery Variables... 和 Total Current Source。c. 从Cell Zones选择列表中选择e_zone。d. 点击Compute并关闭Volume Integrals对话框。Fluent在Total Volume Integral字段和控制台中报告,体积电流源的总体积积分约为8.155A。3.显示正极和负极电流收集器的电流矢量图。Results → Graphics → Vectors → New...a. 输入 vector-current+ 作为矢量名称。b. 从样式下拉列表中选择 arrow。c. 在矢量对话框中,从矢量下拉列表中选择 current-density-jp。d. 从颜色下拉列表中选择 Battery Variables... 和 Current Magnitude。e. 从表面选择列表中选择 Wall。f. 点击 Save/Display。g. 图显示了电池单元正极电流收集器中的电流矢量图。h.类似地,通过从矢量下拉列表中选择 current-density-jn 来显示负极电流收集器中的电流。图显示了电池单元负极电流收集器中的电流矢量图。这些图清楚地显示了除了提供标签电流外,短路电流还通过短路区域从正极流向负极。4.像前面的步骤一样显示温度的等值图。Results → Graphics → Contours → contour-temp Display温度图显示了电池单元内部短路区域的温度热点。5.检查不同的电流流动速率,如步骤2所述。Results → Reports → Volume Integrals...a. 为下表中列出的场变量生成体积积分报告。b. 验证总产生的电流等于标签电流和短路电流的总和,即 𝐼echem=𝐼tab+𝐼short 。6.检查不同类型的热生成速率。a. 像电流源报告一样,为下表中列出的场变量生成报告。b. 验证总热生成速率是不同贡献的总和,即 𝑄total=𝑄joule+𝑄echem+𝑄short。7.保存案例文件(ntgk_short_circuit.cas.h5)。File → Write → Case...注意:随着电池温度的升高,可能会发生热失控。如果热失控开始,将发生一些不良的放热分解反应。对于热失控仿真,不能使用默认的电化学模型。短路处理只能捕捉到热失控发生前的热升高过程。来源:CFD饭圈

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈