铺砌法生成有限元网格模型

上传人:新** 文档编号:474142301 上传时间:2022-10-09 格式:DOCX 页数:9 大小:83.87KB
返回 下载 相关 举报
铺砌法生成有限元网格模型_第1页
第1页 / 共9页
铺砌法生成有限元网格模型_第2页
第2页 / 共9页
铺砌法生成有限元网格模型_第3页
第3页 / 共9页
铺砌法生成有限元网格模型_第4页
第4页 / 共9页
铺砌法生成有限元网格模型_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《铺砌法生成有限元网格模型》由会员分享,可在线阅读,更多相关《铺砌法生成有限元网格模型(9页珍藏版)》请在金锄头文库上搜索。

1、-铺砌法生成网格模型一、网格模型在有限元分析计算中的作用在工程设计中大量使用到有限元法进行计算分析.随着计算机辅助设计的发展,很多公司推出有限元软件.这些有限元软件分析计算几何体的物理性质,其计算的过程可以划分为几个大的模块,输入几何体区域、对该区域生成网格、对生成的网格施加一个干扰、从受到干扰的网格开发分析数据、确定几何体的物理行为。有限元软件的分析计算流程图如图1所示。图1 有限元软件分析计算流程图从有限元软件的分析计算流程图当中,我们可以看出,在有限元分析的前处理模块中,网格生成时很重要的一个步骤。生成网格的质量会影响后处理计算结果的效率和精度。因此,市场上流行的有限元软件都提供有强大的

2、模型建立和网格划分功能。网格划分功能的实现可以采用不同的算法,比如自由网格划分、映射法网格划分、铺砌法网格划分等等。其中铺砌法具有良好的健壮性、高效率等特点,本文对铺砌法网格划分进行详细介绍。二、铺砌法网格划分的总体计算流程采用铺砌法从模型建立到生成网格,其计算流程如图2所示。该算法生成网格的算法流程图,从输入边界数据到最后输出划分好的网格,其中主要有生成新行,平滑处理,缝合处理,边界相交处理等几个子模块。图2 铺砌法生成网格模型的计算流程图为了清晰阐述上述铺砌法的计算流程,以图3所示为例进行详细说明,图a当中为输入的原始外边界数据,围成待划分网格的区域。选择边界上的一行节点为基础,添加生成一

3、行新的浮动节点,生成顺序为沿着外边界按逆时针方向进行。对新生成的浮动节点进行平滑处理,使节点围成的单元的internal angle以及aspect ratio变得更为合理,单元更趋近于规则四边形。对剩余的待划分网格区域进行缝合,检查单元是否相交,对相交的单元进行处理,对单元进行调整,直到整个区域生成高质量的网格为止。图3 paving算法铺筑单元示意图依据图2所示计算流程图,生成相应铺砌法的伪代码:DoRow choiseWhile add row is not pleteAdd row portionSmooth row portionSeam boundaryIf intersectio

4、n occurs thenConnect overlapsSeam boundaryEnd ifRow adjustmentIf intersection occursConnect overlapsSeam boundaryEnd ifWhile (closure check is negative)Clean-up mesh三、分部详细说明铺砌法1.输入边界数据根据算法的流程图中,首先要输入待划分网格的边界数据,确定区域的内边界和外边界。明确得到边界节点数据之后,逐个对每个节点进行分析对对其进行分类,计算流程如图7所示。对节点分类的依据是该节点的内角,如图6所示。根据节点内角的大小,将其划

5、分为四类,分别为边节点,角节点,回转节点和端节点。图5平面区域的内边界和外边界图6节点相关的几个概念图7获取边界节点信息计算流程依据上图所示流程图,可以得到获取边界节点信息的伪代码:fstreamfread(boundary.t*t);do Get node inner angleInput angle tolerance a1 a2 a3 a4 a4 a6 Classify the node3 While(node classify is not pleted)Determine whether a simple or primitive shape e*istPropagate succe

6、ssively inward from the permanent boundaries2.闭合检查每次确定待划分的面域之后都要对该面域进行一次闭合检查。检查区域边界上的节点总数;边界节点总数是否大于6,如果大于6,则选择一行节点,分别对每一行边界接点进行生成新节点;如果等于6,则对面域进行闭合,根据待闭合面域的形状形成两个、三个或者四个四边形单元;如图8所示;如果等于4,则插入一个四边形单元对面域进行闭合如果等于2,进行一次缝合,即可将面域闭合如果等于0,铺筑工作结束图8 六个节点面域的闭合方法闭合检查的计算流程图如图所示:图9检查闭合的计算流程根据图9所示的计算流程图,可以生成闭合检查的伪

7、代码:Get the number of nodes remaining in the paving boundarySwitch node numberCase 0Paving is pleteBreakCase 2Seam the boundaryBreakCase 4Insert a quadrilateral elementbreakCase 6Form 2,3,4 new quadrilateral elementsBreak3.新增行接口:上面一步进行闭合检查,如果待划分的面域,边界上的节点数大于6,则进行生成新行节点。首先选定的一行固定边界节点,根据该行节点分类,生成新的一行节点

8、。具体生成新行节点的计算流程图如图10所示.图10生成新的浮动边界节点的计算流程根据生成新的浮动边界节点的计算流程图,可以生成相应的伪代码为:选择一行已知的内边界或者外边界,该行以两个端节点结束确定一个端节点作为起始点,Do选中下一个节点,判断节点类型Case 2调用矢量对象的生成矢量方法生成一个矢量;如图11所示;矢量长度为|=;调用矢量对象的求解矢量端点方法,求解出该矢量的箭尾端点;调用节点对象的生成节点方法,将箭尾端点生成节点;将新生成的节点编号;将新生成的节点标志为浮动节点;Break;图11由边节点生成一个新节点Case 3调用矢量对象的生成矢量方法生成三个矢量,;如图12所示;矢量

9、长度分别为|=;调用矢量对象的求解矢量端点方法,求解出该矢量的箭尾端点;调用节点对象的生成节点方法,将箭尾端点生成节点;将新生成的节点编号;将新生成的节点标志为浮动节点;Break;图12由角节点生成三个浮动节点Case 4调用矢量对象的生成矢量方法生成五个矢量,;如图13所示;矢量长度分别为|=;调用矢量对象的求解矢量端点方法,求解出该矢量的箭尾端点;调用节点对象的生成节点方法,将箭尾端点生成节点;将新生成的节点编号;将新生成的节点标志为浮动节点;Break;图13由转角节点生成五个浮动节点Case 1不再生成新节点连接两个相邻节点即可,如图14所示该行结束Break;图14端节点不生成新的

10、浮动节点while(该行下一个节点不为空)新的一行边界生成完毕,新生成的节点都是浮动节点,需要进行平滑处理。4.平滑铺砌法网格生成中要保证新生成的单元的质量,单元的好坏从几个指标进行衡量,单元的内角没有过大或者过小的现象,单元边长的长宽比不宜过大。如果单元有角度大小不合适或者单元尺寸相差悬殊等情况,则需要进行平滑。平滑就是要恢复和维持单元的单元的尺寸、垂直度和总的铺筑边界和网格的平滑。平滑类型,可以分为三类,他们分别是:(1)boundary Node Smoothing (2)Interior Node Smoothing(3) Localization of smoothing ;三个平滑

11、类型分别对应三个平滑器。Smoother的三个平滑器分别为: a modified isoparametric smoother; modified length-weight Laplatian smoother; 以及Localized smoother。首先 modified isoparametric smoother的具体计算步骤:进行矢量的加减运算,如下式:如果该节点不是连接两个单元,则该修正到处结束;如图15所示。图15 新生成边界上节点长度调整示意图如果该节点仅连接两个单元,则要继续进行角度的调整,如图16所示,调用矢量对象的加减方法进行如下各式的计算:ifotherwise图

12、 16 行节点上角度调整示意图其次对于Interior Node Smoothing 采用modified length-weight Laplatian smoother方法,如图17所示,其具体步骤是:调用矢量对象的加减运算,求模运算方法,进行如下各式的计算:图17 内部浮动节点的调整示意图通过以上计算得到的修正矢量,对原来的定位矢量进行修正,生成新的节点坐标,用新的节点坐标替代原来的节点坐标。根据以上叙述,节点平滑的计算流程图如图18所示。图18节点平滑的计算流程图依据节点平滑的方法和计算流程图,可以生成节点平滑的伪代码:DoIdentify a nodeGet the interior

13、 angle of the nodeGet the number of attached elements to the nodeJudge whether the node is a fi*ed node While (the new row is !NULL)For every node on the new row Calculate its aIf the number of attached elements to the node is not 2Adjust the nodes position according toaElse if the number equals 2Ca

14、lculatebCalculatecCalculateiAdjust the nodes position according to iEnd ifFor every interior floating node CalculateiAdjust the nodes position according to i5.缝合在区域边界上,如果*个顶点的两条网格线的夹角过小,则对该节点的网格进行缝合。按照待缝合的节点类型不同(节点全部是浮动节点、要缝合的节点中涉及到固定节点),缝合可分为InteriorNodeSeams和Fi*edNodeSeams以及TransitionSeams;首先介绍Int

15、eriorNodeSeams是否需要缝合的判断条件:根据节点的内角的大小和节点连接的单元数量来判断:当连接到节点的单元边界数量=5时,其内角1 时需要缝合当连接到节点的单元边界数量=4时,其内角2 时需要缝合如果*个节点需要缝合,缝合的方法:bine the node and into a single Node 删除两个节点,生成一个新节点,新节点的位置位于两个原来节点的中心其次介绍Fi*edNodeSeams当外边界形成较小的夹角时候,要进行该种类型的缝合。解决方法:仅仅是通过延迟裂缝的缝合。如果右边需要缝合,但它是固定边界,则分两种情况:(1) 左端点是固定点,忽略缝合(2) 左端点是浮动点,则又可分三种情况(0) 下一边界点是端点,忽略缝合(1) 下一边界点不是端点,且右端边界夹角大于160,延迟缝合(2) 下一边界点不是端点,且右端边界夹角小于160

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号