有限元网格自动生成的并行区域划分算法
有限元法概述

大型商用的FEM通用软件分类
目前已经出现了许多大型结构分析通用软件,最早的 是美国国家宇航局(NASA)在1956年委托美国计算科学 公司和贝尔航空系统公司开发的ANASTRAN有限元分析 系统,该系统发展到现在已有几十个版本。此外,比较知 名的有限元分析软件还有德国的ASKA,英国PAFEC,法 国AYATUS,美国ABAUS、ADNA、ANSYS、BERSAF E、BOSOR、COSMOS、ELAS、MARC、STARNYNE 等。下面仅介绍几种当前比较流行的有限元软件。 (1) ANSYS。 ANSYS是融结构、流体、电场、磁 场和声场分析于一体的大型通用有限元分析软件。其主要 特点是具有较好的前处理功能,如几何建模、网络划分、
电磁场分析、声场分析、压电分析以及多物理场的耦分 析,可以模拟多物理介质的相互作用,具有灵敏度分析 及优化分析能力;后处理的计算结果有多种显示和表达 能力。ANSYS软件系统主要包括ANSYS/Mutiphysics 多物理场仿真分析工具、LS-DYNA显示瞬态动力分析 工具、Design Space设计前期CAD集成工具、Design Xploere多目标快速优化工具和FE-SAFE结构疲劳耐久 性分析等。ANSYS已在工业界得到较广泛的认可和应 用。
现代设计理论及方法
有限元分析法
(Finite Element Analysis , FEA)
概述
1、有限元法简介
有限元法是求解数理方程的一种数值计算方法,是将 弹性理论、计算数学和计算机软件有机结合在一起的一种 数值分析技术,是解决工程实际问题的一种有力的数值计 算工具。 目前,有限单元法在许多科学技术领域和实际工程问 题中得到了广泛的与应用,如,机械制造、材料加工、航 空航天、土木建筑、电子电气、国防军工、石油化工、船 舶、铁路、汽车和能源等,并受到了普遍的重视。 现有的商业化软件已经成功应用于固体力学、流体力 学、热传导、电磁学、声学和生物学等领域,能够求解由 杆、梁、板、壳和块体等单元构成的弹性、弹塑性或塑性 问题,求解各类场分布问题,求解水流管道、电路、润滑、 噪声以及固体、流体、温度间的相互作用等问题。
abaqus圆形区域划分网格

abaqus圆形区域划分网格在有限元分析中,abaqus是一个常用的有限元软件,能够对复杂结构进行力学性能的分析。
对于圆形区域的网格划分,在abaqus中也可以轻松实现。
本文将介绍如何在abaqus中将圆形区域进行网格划分的方法和步骤。
步骤一:创建圆形区域要在abaqus中划分圆形区域的网格,首先需要创建一个圆形的几何实体。
可以按照以下步骤操作:1.打开abaqus软件并创建一个新模型。
2.在Part模块中选择“Sketch”工具,进入绘图界面。
3.在绘图界面上选择“Circle”工具,然后在工作平面上绘制一个圆形。
4.输入圆的半径和圆心坐标等参数,调整圆的大小和位置以适应实际应用需求。
5.确认圆形的位置和大小后,退出绘图界面。
步骤二:划分网格一旦创建了圆形几何实体,下一步就是对其进行网格划分。
下面是划分网格的具体步骤:1.在Part模块中选择“Mesh”工具,进入网格划分界面。
2.在网格划分界面中,选择圆形几何实体。
可以使用鼠标单击选取,或者输入圆形实体的名称来选中它。
3.在选中圆形实体后,选择合适的网格划分方法。
abaqus提供了多种网格划分算法,如大小相等的正方形单元格划分、网格密度逐渐变化的方法等。
根据具体需求选择合适的网格划分方法。
4.调整网格划分参数。
可以通过调整参数来控制网格的细密程度和分辨率。
例如,可以调整单元格大小、单元格数量和网格密度等参数。
5.确认网格划分参数后,点击“Generate”按钮,abaqus将自动生成所需的网格划分。
步骤三:查看和修改网格在完成网格划分后,可以查看生成的网格,并根据需要进行进一步的修改和优化。
以下是查看和修改网格的操作步骤:1.转到网格模块,选择“Mesh”工具,进入网格划分界面。
2.在网格划分界面中,选择“Display Options”工具,调整显示选项。
可以选择显示节点、单元格、边界等,以便更好地了解网格的结构和分布情况。
3.查看网格划分结果,并根据需要进行修改。
[精品]abaqus网格划分技巧
![[精品]abaqus网格划分技巧](https://img.taocdn.com/s3/m/9de7060afd4ffe4733687e21af45b307e871f9f3.png)
划分网格是有限元模型的一个重要环节,它要求考虑的问题较多,工作量较大,所划分的网格形式由于划分者的水平和思路不同而有很大的差异,因而对计算精度和计算规模会产生显著的影响。
有限元网格数量的多少和质量的好坏直接影响到计算结果的精度和计算规模的大小。
一般来讲,网格数量增加,计算精度会有所提高,但同时计算规模也会增加,所以在确定网格数量时应该权衡这两个参数。
网格较少时增加网格数量可以显著提高计算精度,而计算时间不会有很大的增加。
所以应注意增加网格数量后的经济性。
实际应用时可以比较疏密两种网格划分的计算结果,如果两种计算结果相差较大,应该继续增加网格,重新计算,直到误差在允许的范围之内。
ABAQUS中的网格划分方法应该是所有通用有限元分析软件中最强大的。
介绍一下网格划分技术,包括:结构化网格、扫掠网格、自由网格:1)结构化网格技术(STRUCTURED):将一些标准的网格模式应用于一些形状简单的几何区域,采用结构化网格的区域会显示为绿色(不同的网格划分技术会对相应的划分区域显示特有的颜色标示)。
2)扫掠网格技术(SWEEP):对于二维区域,首先在边上生成网格,然后沿着扫掠路径拉伸,得到二维网格;对于三维区域,首先在面上生成网格,然后沿扫掠路径拉伸,得到三维网格。
采用扫掠网格的区域显示为黄色。
3)自由网格划分技术(FREE):自由网格是最为灵活的网格划分技术,几乎可以用于任何几何形状。
采用自由网格的区域显示为粉红色。
自由网格采用三角形单元(二维模型)和四面体单元(三维模型),一般应选择带内部节点的二次单元来保证精度。
4)不能划分网格:如果某个区域显示为橙色,表明无法使用目前赋予它的网格划分技术来生成网格。
这种情况多出现在模型结构非常复杂的时候,这时候需要把复杂区域分割成几个形状简单的区域,然后在划分结构化网格或扫掠网格。
注意:使用结构化网格或扫掠网格划分技术时,如果定义了受完全约束的种子(SEED),网格划分可能不成功,这时会出现错误信息们,可以忽略错误信息,允许ABAQUS去除对这些种子的约束,从而完成对网格的划分。
ANSYS网格划分技巧

【分享】复杂几何模型的系列网格划分技术众所周知,对于有限元分析来说,网格划分是其中最关键的一个步骤,网格划分的好坏直接影响到解算的精度和速度。
在ANSYS中,大家知道,网格划分有三个步骤:定义单元属性(包括实常数)、在几何模型上定义网格属性、划分网格。
在这里,我们仅对网格划分这个步骤所涉及到的一些问题,尤其是与复杂模型相关的一些问题作简要阐述。
一、自由网格划分自由网格划分是自动化程度最高的网格划分技术之一,它在面上(平面、曲面)可以自动生成三角形或四边形网格,在体上自动生成四面体网格。
通常情况下,可利用ANS YS的智能尺寸控制技术(SMARTS IZE命令)来自动控制网格的大小和疏密分布,也可进行人工设置网格的大小(AESIZE、LESIZE、KESIZE、ESIZE等系列命令)并控制疏密分布以及选择分网算法等(MOPT命令)。
对于复杂几何模型而言,这种分网方法省时省力,但缺点是单元数量通常会很大,计算效率降低。
同时,由于这种方法对于三维复杂模型只能生成四面体单元,为了获得较好的计算精度,建议采用二次四面体单元(92号单元)。
如果选用的是六面体单元,则此方法自动将六面体单元退化为阶次一致的四面体单元,因此,最好不要选用线性的六面体单元(没有中间节点,比如45号单元),因为该单元退化后为线性的四面体单元,具有过刚的刚度,计算精度较差;如果选用二次的六面体单元(比如95号单元),由于其是退化形式,节点数与其六面体原型单元一致,只是有多个节点在同一位置而已,因此,可以利用TC HG命令将模型中的退化形式的四面体单元变化为非退化的四面体单元,减少每个单元的节点数量,提高求解效率。
在有些情况下,必须要用六面体单元的退化形式来进行自由网格划分,比如,在进行混合网格划分(后面详述)时,只有用六面体单元才能形成金字塔过渡单元。
有限元法PPT课件

如何克服局限性
改进模型
通过更精确地描述实际 结构,减少模型简化带
来的误差。
优化网格生成
采用先进的网格生成技 术,提高网格质量,降
低计算误差。
采用高效算法
采用并行计算、稀疏矩 阵技术等高效算法,提
高计算效率。
误差分析和验证
对有限元法的结果进行误 差分析和验证,确保结果
的准确性和可靠性。
05 有限元法的应用实例
有限元法ppt课件
目 录
• 引言 • 有限元法的基本原理 • 有限元法的实现过程 • 有限元法的优势与局限性 • 有限元法的应用实例 • 有限元法的前沿技术与发展趋势 • 结论
01 引言
有限元法的定义
01
有限元法是一种数值分析方法, 通过将复杂的结构或系统离散化 为有限个简单元(或称为元素) 的组合,来模拟和分析其行为。
有限元法在流体动力学分析中能够处理复杂的流体流动和 压力分布。
详细描述
通过将流体域离散化为有限个小的单元,有限元法能够模 拟流体的流动、压力、速度等状态,广泛应用于航空、航 天、船舶等领域。
实例
分析飞机机翼在不同飞行状态下的气动性能,优化机翼设 计。
热传导分析
总结词
有限元法在热传导分析中能够处理复杂的热传递过程。
实例
分析复杂电磁设备的电磁干扰问题,优化设备性能。
06 有限元法的前沿技术与发 展趋势
多物理场耦合的有限元法
总结词
多物理场耦合的有限元法是当前有限元法的重要发展方向, 它能够模拟多个物理场之间的相互作用,为复杂工程问题提 供更精确的解决方案。
详细描述
多物理场耦合的有限元法涉及到流体力学、热力学、电磁学 等多个物理场的耦合,通过建立统一的数学模型,能够更准 确地模拟多物理场之间的相互作用。这种方法在航空航天、 能源、环境等领域具有广泛的应用前景。
ANSYS-Workbench-网格划分

b) Curvature:是由曲率法确定、细化边和曲面处的网格大小
c) Proximity:是控制模型邻近区网格生成,主适用于窄、薄处网格的 生成。
确定全局网格的设置
d. Proximity and curvature:具有proximity和curvature二者的特点, 但所消耗的时间也多。
• 设置合适的全局网格参数可以减小后面具体网格参数的设置工作量, 对于结构场,其详细栏见上个PPT的mechanical,下面以结构分析为 例对其展开描述。Mechanical中的尺寸函数(sizing)下参数项是高 级尺寸函数(advanced sizing function,简称ASF),这主要是控制 曲线、面在曲率较大的地方的网格。具体选项有:
Hex-Dominant网格
多域扫掠型
• 多域扫掠型(Multizone Sweep Meshing)主要用来划分六面体网格。 其特点就是具有几何体自动分解的功能,从而产生六面体网格。如下 图所示左边的几何体,若以常规的方式想划分成全六面体网格,则需 要先将几何体切分成四个规则体后,再扫掠成六面体网格。然而在 workbench中,只要直接使用多域扫掠法,程序就能自动处理划分成 六面体网格。
认识网格划分平台
网格文件具体地说主要有两类:有限元分析网格和计算流体力学 的网格。
认识网格划分平台
• 对于三维几何体,ANSYS共有下面六种不同的划分网格法
认识网格划分平台
• 对于二维几何体ANSYS有以下几种不同的划分网格法。
典型网格划分法
• 主要内容
四面体网格
• 在三维网格中,相对而言四面体网格划分是最简单的。在workbench 中,四面体网格的生成主要基于两种方法:RGRID算法和ICEM CFD tetra算法,具体如下:
CATIA有限元高级划分网格教程

CATIA有限元高级网格划分教程盛选禹李明志1.1进入高级网格划分工作台(1)打开例题中的文件Sample01.CATPart。
(2)点击主菜单中的【开始】→【分析与模拟】→【Advanced Meshing Tools】(高级网格划分工具),就进入【Advanced Meshing Tools】(高级网格划分工具)工作台,如图1-1所示。
进入工作台后,生成一个新的分析文件,并且显示一个【New Analysis Case】(新分析算题)对话框,如图1-2所示。
图1-1【开始】→【分析与模拟】→【Advanced Meshing Tools】(高级网格划分工具)(3)在【New Analysis Case】(新分析算题)对话框内选择【Static Analysis】(静力分析)选项。
如果以后打开该对话框的时候均希望是计算静力分析,可以把对话框内的【Keep as default starting analysis case】(在开始时保持为默认选项)勾选。
这样,下次进入本工作台时,将自动选择静力分析。
(4)点击【新分析算题】对话框内的【确定】按钮,关闭对话框。
1.2定义曲面网格划分参数本节说明如何定义一个曲面零件的网格类型和全局参数。
(1)点击【Meshing Method】(网格划分方法)工具栏内的【高级曲面划分】按钮,如图1-3所示。
需要在【Meshing Method】(网格划分方法)工具栏内点击中间按钮的下拉箭头才能够显示出【高级曲面划分】按钮。
图1-2【New Analysis Case】(新分析算题)对话框图1-3【高级曲面划分】按钮(2)点击【高级曲面划分】按钮后在图形区选择零件,弹出【Global Parameters】(全局参数)对话框,如图1-4所示。
图1-4 【Global Parameters】(全局参数)对话框(3)在【Global Parameters】(全局参数)对话框内定义需要的网格参数。
《2024年有限元网格剖分与网格质量判定指标》范文

《有限元网格剖分与网格质量判定指标》篇一一、引言有限元法是一种广泛应用于工程分析中的数值计算方法。
其核心步骤之一就是网格剖分,即将求解域离散化为有限个相互连接的子域,即有限元。
网格的质量直接影响到有限元分析的精度和效率。
因此,有限元网格剖分与网格质量判定指标的研究具有重要意义。
本文将详细介绍有限元网格剖分的过程及网格质量判定指标。
二、有限元网格剖分1. 初始准备在进行有限元网格剖分前,需要对求解域进行合理的预处理,包括几何模型的建立、边界条件的设定等。
此外,还需根据问题的性质选择合适的网格类型,如二维平面网格、三维立体网格等。
2. 网格剖分方法有限元网格剖分的方法主要有自动剖分和手动剖分两种。
自动剖分方法基于计算机算法,能够快速生成网格,但可能无法满足特定的精度要求。
手动剖分方法则更加灵活,可以根据问题需求进行精细的调整。
在实际应用中,常将两种方法结合使用,以达到更好的效果。
3. 网格剖分步骤(1)确定网格的规模和密度:根据问题的性质和求解精度要求,确定网格的规模和密度。
(2)生成基础网格:利用计算机算法或手动操作生成基础网格。
(3)优化网格:对基础网格进行优化,包括调整节点位置、修改单元形状等,以提高网格的质量。
(4)输出网格:将优化后的网格导出,供有限元分析软件使用。
三、网格质量判定指标网格质量是影响有限元分析结果的重要因素。
为了评估网格的质量,需要采用一系列的判定指标。
以下是常用的几个指标:1. 雅可比(Jacobian)值:雅可比值反映了单元的形状和大小是否合理。
其值接近1时,表示单元形状接近于等边形状;其值偏离1过大时,表示单元形状发生了畸变。
2. 纵横比:纵横比是指单元最长边与最短边之比。
纵横比越小,表示单元形状越接近正方形或等边形状;反之,则表示单元形状发生了较大的拉伸或压缩。
3. 翘曲度(Warpage):翘曲度用于衡量单元角点的偏离程度。
翘曲度越大,表示单元形状越不规则。
翘曲度可以作为评估单元形状优劣的指标之一。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
有限元网格自动生成的并行区域划分算法 作者:呙嘉妮胡久乡卢正鼎 摘 要:提出了一种基于网格生成递归法的并行区域划分算法,该算法依据网格生成代价的估算分析,采用迭代分解法对区域进行并行划分。在曙光1000A 系统上的运行结果表明,该网格算法的效率和加速比均优于串行递归算法。 关键词:有限元网格;并行区域划分算法;网格生成代价;迭代分解法
基于网络生成递归法[1~3],本文提出了一种并行区域划分算法,该算法满足以下四个基本原则:a. 任务平衡性原则。能生成平衡的子区域集,即在各子区域中生成网格的时间大致相等。b. 边界最简原则。子区域的边界结构简单,边界处理所需时间短,处理器间消息传递的费用低。c. 网格均匀原则。并行生成的最终网格形状均匀,无奇异单元。d. 区域划分代价最小原则。区域划分算法本身的代价尽可能小。
1、基本思想及相关算法 在网格生成递归法中,如果每个子区域都包含相同的单元数,就比较容易实现任务平衡。因此,首先按照单元数估算待处理区域的网格生成代价,然后根据当前参与并行处理的处理器数N对区域进行分解,并对分解所得子区域进行边界处理,最终获得相互之间既平衡又独立的N个并行子任务。
1.1 网格生成代价的估算算法 网格生成代价与分布于待处理区域中的单元数目紧密相关,而单元数目是由该区域的总面积S和区域内单元分布密度决定的。估算公式如下:
G=S/Stri, (1) Stri=[L2/(2M2)]sin60°,(2) M=Σ2li/(di1+di2) (i=1, 2, …, n), (3) 式中,G表示三维平面区域 (含有n条边) 的网格生成代价;S表示该区域的面积;Stri 是对区域内单个三角形单元平均面积的粗略估算值;L表示区域的周长;M表示区域边界上总的离散段数;li表示第i条边的长度;di1和di2 分别表示第i条边前端点和后端点处的单元边长。
据以上公式,网格生成代价的估算算法步骤如下。 步骤 1 依次计算区域各边界的长度和离散段数,根据式(2)和(3)计算Stri; 步骤 2 应用三角累加算法计算S,根据式(1)求得G。三角累加算法步骤如下:a. 置变量S为0;b. 选取区域的任意一个顶点作为V1,按顺时针 (或逆时针) 方向取与V1 依次相邻的两个点为V2和V3;c. 计算由V1, V2 和 V3 组成的三角形的面积,累加入变量S;d. 以V3为新的V2,按顺时针 (或逆时针) 方向取与V2相邻的第一个点为新的V3,若V3=V1,则算法停止;否则转 c。
1.2 区域划分算法 估算出整个区域的网格生成代价后,区域划分算法的任务就是:寻找N-1条分割线,将区域分割为N个子区域,使得各个子区域的网格生成代价大致相等。由于无法精确确定子区域中的单元数目,因此允许各子区域的网格生成代价在G/N附近有一个δ误差,亦即所产生的子区域的网格生成代价都属于[G/N-δ, G/N+δ]区间。
根据原则 b,任何一条分割线的两端点都定位在区域的边界上,而不落在区域中。在图 1 (a)中,任何一个子域都只通过一条完整的分割线与其他子域相邻;而在图1(b)中,子域3与子域1和2之间的相邻关系不便于边界处理。
(a) (b) 图 1 区域划分效果图
根据原则c,多条分割线不交于同一点,因为这种分割在N较大的情况下会导致极点现象——在多条分割线的交点处出现小内角的长薄单元,影响网格形状。 本文采用迭代分解法划分区域,步骤如下。 步骤 1 记待分解的区域为 D; 步骤 2 循环执行以下步骤N-2次:a. 在D中找一条分割线将区域分为两个子域D1和D2,使D1的网格生成代价约等于G/N;b. 将D1从D中去掉,以D2为新的D,转步骤 a; 步骤 3 在D中找一条分割线将区域分为两个子域D1和D2,使D1和D2的网格生成代价均属于[G/N-δ,G/N+δ]。
本算法中,寻找分割线的方法是:先在区域中找到一个合适的顶点作为分割线的前端点X,然后从这个顶点出发,沿顺时针(或逆时针)方向按对半查找法在区域的边界上寻找分割线的后端点Y。对半查找算法步骤如下:
步骤 1 从X点出发,按顺时针(或逆时针)方向取与X依次相邻的两个点为R和Y; 步骤 2 计算分割线XY左侧(或右侧)子域的网格生成代价g; 步骤 3 若g∈[G/N-δ,G/N+δ],则算法停止;若g > G/N+δ,则令T=Y,以T与R的中点为新的Y,转步骤2;若g < G/N -δ,则令R=Y。若Y是原区域的顶点,则沿顺时针(或逆时针)方向取与Y相邻的第一个点为新的Y,否则,以R与T的中点为新的Y,转步骤2。
根据以下原则确定分割线的前端点X:对第一次分割,选取区域中最大顶角所在顶点为X;对第 i (i=2, 3, …, N-1)次分割,选取分割线两端点中较大顶角所在的顶点为X。根据这一策略,每次分割都选取顶角较大的点作为前端点,一定程度地避免了极点的形成,但还不能完全避免极点的产生。对此,引入分割线共点控制机制:首先定义参数R,由它指明能交于一点的分割线的最大数目,然后,每次分割都用变量r记录X处的共点率,一旦发现r>R,就变换X。
图 2 是对区域ABCDEF作6次划分的示意图。在图2(a)中,R取值为2,寻找第5条分割线时,因为∠CHI比∠HIE大,X原应定位在H点,但由于已有两条分割线经过H点,因此如果这次还选取H作为前端点,那么共点率r增为3,超过预定义的R值,于是,改选I点为X;而在图2(b)中,因为R取值为3,所以,H仍可作为第5条分割线的前端点。 (a) R=2 (b) R=3 图 2 共点控制
该区域划分算法的特点是:并行任务的负载平衡程度由δ调节;所有分割点都定位在区域的边界上,因为每次分割剩下的子域只有一条边是在分割过程中新加入的分割线,无论选取这条边的哪个端点作为X,X和Y总是落在区域的边界上,有效地满足了边界最简原则,;通过R灵活控制分割线共点率,消除极点,保证网格均匀度。
2、并行实现 本文研究的并行区域划分算法已在曙光1000A系统上实现。根据曙光1000A系统目前的条件和特点,选取PVM作为并行编程环境,分三个步骤实现有限元网格的并行生成:首先,由node1上的master任务程序检测当前PVM中的结点数N,运用区域划分算法分解待处理的区域为N个子区域,将各子区域分配到各node上;然后,并行执行各处理器上的slave任务程序,在各子区域中生成均匀网格;最后,由node1上的master任务程序收集、组装在各处理器上生成的子区域网格。这里,采用了动态负载平衡策略——farm模式,但有一点与通常情况下不同:为了提高处理器利用率,node1在子区域分配过程中也分得一个子区域,所以,在数据分配之后,子区域网格传回之前,主处理器也不空闲。
由于在并行划分阶段已经对边界进行了预处理,因此,一旦子区域分配给各个处理器,所有处理器将同时独立地在自己的数据子块上根据预定义的单元分布密度生成网格。经过大致相等的时间段后,它们将完成各自的工作,并将生成的子区域网格传送给master任务程序。整个并行算法的通信很小,仅包括从node1向其他各node广播子区域数据,以及各node向node1回送生成的子区域网格单元。
3、实验结果 表 1 以实例说明上述并行算法在曙光1000A系统上的运行效果(表中括号内外的数据分别对应例 1 和例 2)。在例 1 中,δ=G/(5N(N-1)),G=15 987 个,实际生成的单元总数为12 531个;例 2 中,δ=G/(5N(N-1)),G=33 452 个,实际生成的单元总数为28 769个。由于区域划分和组装数据所耗费的时间是μs级的,因此将并行算法的执行时间 (t) 分为两部分:子区域网格生成时间 (t1) 和通信时间 (t2)。t1 指各node在其分配到的子区域中生成网格的时间;t2包括node1向其他各node发送子区域数据的时间,以及各node向node1回送子区域网格数据的时间。表 1 给出了使用2,3,4,5,6个node进行并行网格生成的时间开销及加速比 (ν)。使用一个处理器时,既不需要做区域划分,也不用通信,因此,在区域中生成网格的时间即为全部运行时间。
表 1 并行算法执行时间及加速比 处理器个数 t1/s t2/s t/s ν
1 1 297 (9 770) 1 297 (9 770) 1.00 (1.00) 2 172 (1 138) 5 (35) 177 (1 173) 7.33 (8.33) 3 75 (570) 5 (35) 80 (605) 16.21 (16.15) 4 40 (200) 5 (35) 45 (235) 28.82 (41.57) 5 20 (152) 5 (35) 25 (187) 51.88 (52.25) 6 14 (100) 5 (35) 19 (135) 68.26 (72.37) 表 2 给出了例1中并行算法在六个node上运行时各node上生成的网格单元总数的估算值 (n) 和实际值 (n),以及在子区域中生成网格的时间 (t3)。由表 2 可见,各子区域单元总数的估算值与实际值的比例分布一致,各node之间网格生成时间差别小于5%,达到了很好的负载平衡。值得注意的是,网格生成时间并不总是与网格单元数目成正比,其原因在于网格生成的时间开销不仅受子区域内网格单元数目的影响,而且与网格单元在子区域中的分布情况有关。
表 2 负载分配表 处理器编号 n/个 n/个 t3/s t2/s
1 2 736 2 495 12.31 0.75 2 2 632 1 933 12.74 0.75 3 2 670 2 031 12.18 0.75 4 2 592 2 089 12.91 0.75 5 2 767 2 073 12.29 0.75 6 2 533 2 045 13.20 0.75