网格质量优化

2024-09-07

网格质量优化(共7篇)

网格质量优化 篇1

摘要:有限元分析的精度与网格单元的质量关系密切,一般来说,相同尺寸的结构网格较非结构网格的分析精度要高,但其划分往往受到模型几何形状的限制,而非结构网格的应用则受限于网格质量。为了提高非结构网格的分析精度,通过设定偏斜度等准则,以链轮为模型,运用HyperMesh对非结构网格的质量的定量评估及优化进行研究,再将优化后的非结构网格的分析结果与结构网格相对比,结果表明所设定的网格质量优化体系是合理的,同时结合实际分析网格质量的选取原则。

关键词:有限元,精度,网格质量,评估,优化

1 引言

随着计算机辅助技术的快速发展和普及,有限元方法得到了快速发展和应用,成为一项能够降低生产成本、缩短研究周期的高效数值分析技术。目前数值分析方法已日渐完善,有限元分析的重点逐渐由早期的数值分析方法的研究转向处理网格质量与求解精度的关系上来[1,2]。结构网格的质量比非结构网格的质量要高,但其划分经常受到模型几何形状限制[3],难以实现全局的结构网格划分,导致前处理周期过长,其对模型结构拟合程度不佳也在一定程度上影响了分析精度。非结构网格的前处理周期相较结构网格要短很多,但网格质量却很难得到保证。因此,通过设定偏斜度、塌陷值等准则,对非结构网格的质量进行定量的评估,并在此体系的指导下优化网格质量,改善网格质量的同时减少前处理周期,有利于提高分析精度以及有限元分析的效率。

2 三角形单元与四边形单元的精度比较

基于Hamilton原理的有限元公式被广泛应用于获得逼近真实解的离散的系统方程,Hamilton原理可以表述为:在所有可能随时间变化的位移中,最精确的解使拉格朗日泛函取得最小值。其建立方程的步骤分为三步[4]:(1)构造形函数矩阵N;(2)利用矩阵N推导出应变矩阵B;(3)组装有限元方程。

其中,B=LN,L为微分算子矩阵,据此分析线性三角形单元和矩形单元的精度。

2.1 线性三角形单元

令形函数Ni=ai+bix+ciy,i=1,2,3,根据形函数的性质以及初始条件,可以求得9个常数ai,bi,ci(i=1,2,3)的值,并进一步推导得出其应变矩阵B的表达形式为:

2.2 线性四边形单元

以线性矩形单元为例,假设其长和宽分别为2a和2b,定义物理坐标(x,y)和局部坐标(ξ,η)之间的坐标映射,使得ξ=x/a,η=y/b,记节点j的自然坐标为(ξj,ηj),其中,ξj,ηj=±1,则可得形函数Nj=(1+ξjξ)(1+ηjη)/4,j=1,2,3,4,并推导得到相应的应变矩阵B,即

很明显,线性三角形单元的应变矩阵B是常数矩阵,根据ε=Bde(de为单元的位移向量矩阵,为常数)以及σ=cε(c为材料常数矩阵),也就是说单元内应变ε和应力σ都是常数,而实际上应变和应力在结构内都是变化的,将造成单元间应力的不连续,单元间存在应力突变,如果单元尺寸过大,得到的结果将很不精确。而矩形单元的应变矩阵不是常数矩阵,可知整个单元内的应变和应力不会是常数,其构造的单元质量比三角形单元要高出一些。对体单元来说,非结构网格通常是指四面体单元,一般由三角形单元构成,结构网格则是由矩形或类似矩形的四边形单元构成,因此,在单元长度尺寸大小一致时,结构网格的分析结果要比非结构网格更加精确。

3 单元质量评估指标

有限元分析的误差主要来两个方面,一是模型误差,二是计算误差,其具体分类如图1所示[5]。其中,计算误差指采用数值方法对有限元模型进行计算产生的误差,属于数值分析的范畴,在此不作进一步分析;边界条件误差因不同模型等而异,所以无法进行分析。几何离散误差是指离散后的数值模型与原有形状的差异,张俊等[5]已进行过相关的研究,在此也不作特别分析,本文所用模型将通过弦差算法控制等操作来降低几何离散误差,这些操作允许自动改变曲面边缘的节点密度,对于细小几何特征处加大网格密度[6],特别是对应力梯度变化剧烈的位置,有利于降低几何离散误差,从而提高网格的质量。本文主要对前人研究较少的单元形状误差和物理离散误差进行深入分析。

单元形状误差是指单元形状与理想形状的偏离程度,本文将通过长宽比[7]、偏斜度、塌陷值等计算准则来表征单元形状误差,对非结构网格的质量进行定量评估和优化。

4 实例分析

基于HyperMesh软件平台,选取了结构上稍复杂而又相对较易实现结构网格划分的链轮模型,如图2所示,链轮的其中28个轮齿同时受力,每个轮齿受力298N,同时在中心的8个螺栓孔处施加约束(图中没有显示螺栓的数值模型)。

通过将链轮划分为结构网格的数值模型,获得图示检测点高精度的应力值,根据分析,可以将结构网格的分析值作为参考值,与非结构网格质量优化前后在该点应力值进行对比,验证所设定的网格质量优化体系的合理性。

将结构网格单元大小从6mm开始,每次减小0.5mm,执行多个分析,检查检测点的Von Mises应力值[8],获得数据如表1所示。

从表1可以看出,网格越密,其相应应力值越往35.44MPa靠拢,也就是说精确度越高,根据分析结果,以35.44MPa作为标准值,获得收敛曲线如图3所示[9],考虑精度水平与计算周期等因素,选取应力值为35.42MPa作为参考值,其应力分布如图4所示,以相应的1.5mm的单元长度划分非结构网格,获得网格27.5万个,设置同样的边界条件,分析结果如图5所示,检测点的应力值为33.89MPa,以35.42MPa为标准值,该精度达到95.68%,这个结果说明非结构网格的分析精度也是比较可靠的。

根据网格单元评估准则,检查上述非结构网格的数值模型,并根据设定的参考值对网格质量进行优化,具体检查内容如下:

(1)偏斜度。偏斜度用来表征单元的偏斜程度,对三角形单元来说,偏斜度指的是一条边的中线与另外两条边中点连线的夹角,并用90°减去这些夹角中的最小值,从定义可以看出,偏斜度的取值范围为0°~90°,理想值为0°。对四面体单元来说,用体积偏斜度来代替偏斜度,它的值VS=1-形状因子,其中,形状因子是指用四面体的体积除以该四面体外接球的内接正四面体的体积,因此,体积偏斜度以0为理想值,以1为最差值。

对于四面体中的三角形网格来说,设定偏斜度少于45°,检查发现,原模型不达标网格数为1270个,经过优化后,不达标数目为0个;对四面体单元来说,设置体积偏斜度小于0.5,经检查,原模型不达标网格为3519个,优化后,不达标数目为433个,这个数量是存在达到0个的可能性的,但可能要经过成百上千次优化,这样前处理周期就过长了,根据经验,一般将不达标数目控制在占总网格数0.5%以内,对于本模型,其不达标数目就控制在1350个以内,对于其他优化指标也是采用这个标准。当然,不达标数目越少,总体网格质量越高,因而在不达标数目降低到433个时停止优化。

(2)长宽比。对面网格来说,长宽比是指单元的最长边与最短边或最短高线的比值,理想情况下,这个值为1。对四面体单元来说,用体积长宽比来代替长宽比,其值定义为单元的最长边除以单元体最短的高线,对其它三维网格单元来说,该值定义为单元的最长边与最短边的比值。

设定四面体中的三角形网格的长宽长小于3,发现不达标数目为300个,对于四面体单元来说,将体积长宽比同样设置为小于3,不达标单元为430个,经过优化,两项指标不达标数目皆为0个。

(3)四面体塌陷值。四面体塌陷值描述四面体与正四面体的接近程度,其计算公式为:

其中,hi指四面体第i个顶点对应的高,Si指与第i个顶点相对的三角形的面积。

显然,四面体塌陷值的取值范围为0~1,值越小,塌陷越严重,对于正四面体来说,T=1。设置四面体塌陷值大于0.6,检查发现,高达5590个网格不达标,优化后不达标网格数为1271个。

其中,部分指标并没有直接对三维网格进行直接评估,针对这种情况,一般将三维网格上所有的面分别采用二维网格的指标进行评价,并将最差的评估值作为该三维网格的质量值。

根据以上设定的网格质量优化体系如表2所示,设置相同的边界条件,分析结果如图6所示,其中,检测点的应力值为34.53,精度达到97.49%,除此之外,整个模型的应力分布以及最大最小应力大小也更加接近标准分布。

以上分析结果可以得出结论,本文所定的单元质量评估指标是合理的,通过检测所有网格单元的偏斜度、体积偏斜度、长宽比、四面体塌陷值等指标,根据设定的指标值,对不合格的单元进行批量的优化,指高单元质量,减少单元形状误差,可以获得更加精确的分析结果。

改善单元质量是提高有限元分析精度的一种重要方法。此外,从图1中可以看出,影响有限元分析精度的因素还有物理离散误差。物理离散误差是插值函数与真实函数之间存在的差异,其大小与单元的阶次等因素有关,一般来说,单元的阶次越高,也就是插值的阶次越高,物理离散误差越小[10]。以二阶单元为例,这类单元在单元内应变矩阵B不是常数,应变和应力呈线性变化,从几何的角度讲,二阶单元的棱边上还存在一个边节点,对模型的离散精度相对一阶单元要高,对于本模型来说,直接将一阶单元转化为二阶单元,结果表明,其精度相较一阶单元有所提高,如图7所示。有限元分析方法获得场变量的分布是通过求解系统的联立线性代数方程组,对于非线性的问题,在求解联立方程组时需要比线性问题多一层迭代循环,在迭代过程中需要把非线性方程简化为线性方程,计算周期随之加长。虽然由一阶单元转为二阶单元的所需处理时间比改善单元质量所需时间要短很多,但其计算时间却高达原来的20倍,对计算机硬件的要求也高出许多,因而在改变单元阶数时要慎重考虑计算机的硬件水平。

5 结论

以上主要分析了单元质量评估指标以及物理离散误差与有限元分析精度的关系,通过分析可以得出以下结论:

(1)通过改善单元的翘曲度、偏斜度、长宽比、四面体塌陷值等单元质量评估指标,使单元偏离理想单元的程度减小,减小单元的形状误差,可以有效地提高有限元分析的精度;

(2)通过提高单元的阶次可以在基本不提高前处理周期的基础上提高有限元分析的精度,但这种做法对计算机内存、处理器等要求较高,应用时要充分考虑计算机的硬件水平;

(3)获得高质量的网格一般是以牺牲前处理或计算周期等为代价,在进行实际分析时,也要考虑分析精度的要求,因为精度要求不同,对网格质量的要求也随之变化,而精度要求相同时,由于求解参数不同,对网格质量的要求也不尽相同,比如对求解位移和应力这两个因素的精度要求相同时,由于有限元分析首先计算节点的位移,然后再推算出相应的应变值和应力值,也就是说位移的准确性要高于应变和应力,在这种情况下,求解位移的数值模型的网格质量要求要低于求解应力的模型。

在有限元分析的过程中,要根据不同的分析类型、几何特征、计算机硬件水平、精度要求等因素来确定网格单元,并经过不断的摸索和验证,才能保证建立符合实际的高效率的有限元模型。

参考文献

[1]陈锡栋,杨婕,赵晓栋,等.有限元法的发展现状及应用[J].中国制造业信息化,2010,39(11):6-12.

[2]王明强,朱永梅,刘文欣.有限元网格划分方法应用研究[J].机械设计与制造,2004(1):22-24.

[3]BLACKER T.Automated Conformal Hexahedral Meshing Constraints,Challenges and Opportunities[J].Engineering with Computers,2001,17(3):201-210.

[4]刘国荣.有限元法实用教程[M].长沙:湖南大学出版社,2004.

[5]张俊.有限元网格划分和收敛[J].CAD/CAM与制造业信息化,2010(4):99-103.

[6]宋少云,尹芳.有限元网格划分中的圣维南原理及其应用[J].机械设计与制造,2012(8):68-70.

[7]刘泗岩,廖文和,刘浩.基于内角余弦和的三角形正则度评定与网格优化[J].机械科学与技术,2007,26(4):420-423.

[8]李楚琳,张胜兰,冯樱,等.Hyperworks分析应用实例[M].北京:机械工业出版社,2007.

[9]古成中,吴新跃.有限元网格划分及发展趋势[J].计算机科学与探索,2008,2(4):248-259.

[10]BABUSUKA I,et al.Practical Aspect of A-posteriori Estimation for Reliable Finite Element Analysis[J].Comp&Stru,1998,66(5):627-664.

网格质量优化 篇2

“上海高校网格平台e-网格计算应用平台”(以下简称“e平台”)建立在OGSA[1]的基础上,采用了Globus Toolkit 3.2[1,2]网格软件开发包。“e平台”中原有的任务调度策略是基于用户和资源优先级的“抢先”(Preemptive)任务调度算法[3,6],算法遵循“始终保持队列中最高优先级任务运行在满足其资源需求的最高优先级资源结点上”[5]的抢先原则。该调度策略存在以下两个不足:吞吐率较低,调度环境适应性较差。本文将分别针对这两个问题提出调度优化的方案。

1 吞吐率的提高和时间片轮转任务调度

时间片轮转算法[7]作为操作系统中重要的进程调度方法之一,在提高系统吞吐率方面有着显著的作用。如果把它应用到“e平台”的任务调度机制中,可以很好地解决同一优先级别任务之间调度的问题。

1.1 网格系统中实现时间片轮转任务调度的特点

单机操作系统中使用的时间片轮转算法与“e平台”中要使用的时间片轮转任务调度有着很大的不同。这主要体现在单机操作系统中进程的运行方式是独占式的;“e平台”中的资源是不定的且随时变化的,网格任务对资源的需求也是各不相同的,所以时间片轮转任务调度要解决好资源匹配的问题,在调度策略上要比单机操作系统复杂得多。

1.2 时间片轮转任务调度的实现

“e平台”中时间片轮转任务调度由以下几个部分组成:

(1) 时间片确定

“e平台”在任务切换时,需要有开销。任务从保存的中间结果重新运行,也需要浪费一部分CPU时间。所以时间片的选取不应该太小,在“e平台”的实验中将时间片q取240min。

(2) 资源匹配

时间片轮转任务调度要解决的是同级别任务之间的调度问题,所以该调度只会发生在级别相同的任务之间,即调度的对象是优先级等于等待队列中最大任务优先级的所有在运行和等待的任务,并且把这样的任务称为可轮转任务。引入时间片轮转任务调度的目的是提高“e平台”的吞吐率,也就是要保证每一个可轮转任务都能获得相近的运行时间。同时调度还要解决好资源利用率的问题,在提高吞吐率的同时将空闲资源尽可能多地利用起来。

资源匹配是时间片轮转任务调度中最重要的一步,通过它可以体现出时间片轮转任务调度如何在调度过程中提高“e平台”的吞吐率和资源利用率。在资源匹配中将会决定在这一次轮转中要被中止的可轮转运行任务和要被提交的可轮转等待任务,其算法思想是:

① 使用timeshared来记录每个任务在时间片轮转任务调度中实际经过的运行次数,当可轮转等待任务要中止可轮转运行任务的运行时,等待任务的timeshared必须小于运行任务的timeshared。一次时间片轮转调度开始时,调度程序将扫描等待队列找出所有可轮转等待任务放入timesharejobwaitque中,同时扫描运行队列找出所有可轮转运行任务放入timesharejobrunque中。

② 资源匹配的原则是“优先中止运行时间最长的可轮转运行任务”和“优先提交等待时间最长的可轮转等待任务”。但是根据“e平台”的实际情况,要同时兼顾这两个方面是比较困难的。所以在具体实现中使用交叉匹配的方法,即将相邻两次的资源匹配分别用于实现“优先中止运行时间最长的可轮转运行任务”和“优先提交等待时间最长的可轮转等待任务”。资源匹配中会将要提交的任务放入subjobque中,将要中止的任务放入interjobque中。资源匹配的算法伪代码如下:

· “优先中止运行时间最长的可轮转运行任务”的算法描述:

·优先提交等待时间最长的可轮转等待任务”的算法描述:

(3)上述资源匹配的算法中存在这样一个问题:timeshared的记数开始时刻该如何确定。对于在时间片轮转任务调度过程中提交进来的可轮转新任务,如果只将它们的timeshared从0开始记数,那么这之前提交的可轮转任务很可能会受这些后提交任务的影响而很难再得到运行的机会;如果考虑在可轮转新任务提交之后将所有可轮转任务的timeshared都置0,就会打破可轮转任务在之前已经达到的各个任务的timeshared不均衡的状态。因此在时间片轮转调度中,提出一种针对可轮转新任务的补偿方法:调度会计算可轮转新任务的timeshared=在它提交前的所有可轮转任务的timeshared的平均值。

(3)资源匹配完成后,调度程序根据interjobque和subjobque的内容进行相应地任务调度,调度完成后调度线程执行sleep(q),从而完成一次完整的时间片轮转任务调度。

2 性能分析

在单机操作系统中使用时间片轮转算法一定可以提高系统的吞吐率,而在网格系统中由于存在资源匹配的问题,所以仍有可能造成一些可轮转任务的响应时间很短而另一些却很长的情况。因此在资源匹配中采用了交叉匹配的方法,通过它可以使不同资源需求的任务都能在比较接近的时间段内运行完成。

在“e平台”的实际使用过程中,大部分的任务都是基于探索性的实验任务,它们的运行时间一般都比较短,大致介于500分钟到800分钟之间;计算量比较大的任务的数量相对较少,它们的计算时间一般都在1000分钟以上;而计算量为800分钟到1000分钟之间的任务的数量则介于前两类任务之间。所以总的来看,如果以运行时间长短为标准,那么“e平台”中的任务基本呈现指数分布。同时,任务对资源的需求也基本满足指数分布,即资源需求较小的任务数量比较多,而资源需求较大的任务的数量则较少。据此,可以设置如下的实验环境:

在“e平台”中设置2个资源结点,每个资源结点上各有12个可用CPU,资源结点1的资源优先级高于资源结点2,待提交的是10个任务优先级均为2的任务,每个任务的具体情况如下:

依照这10个任务的顺序提交后,使用时间片轮转任务调度进行调度实验,可以得到如下的实验结果:

从实验结果可以看到,每个任务的总运行时间都比较接近,说明在时间片轮转任务调度中,使用交叉匹配方法可以很好地解决网格系统中由于任务的资源需求不同而可能引起的问题。

3 调度环境适应性的提高和遗传算法任务调度

“e平台”所使用的优先级抢先任务调度可以保证高优先级任务运行于低优先级任务之前[5],但是它无法确保目前所做的调度是一个全局最优调度,因为它并没有从全局考虑调度性能的提高。这样的调度策略在较高优先级任务的运行时间大大超过较低优先级任务的运行时间的情况下,可以得到一个不错的调度效率。但是如果较高优先级任务的运行时间大大短于较低优先级任务的运行时间时,调度效率就会比较差了。特别要注意的是,现在的“e平台”只有四个资源结点,如果未来“e平台”能够得到大规模的扩充,那么一定会大大增加资源结点的数量和用户任务数量。此时调度环境会变得更加复杂,继续使用优先级抢先调度,很有可能会给调度性能带来巨大的影响。此外,由于一个任务的运行时间可能不仅仅取决于CPU的快慢,还要受到诸如内存大小等因素的影响,如果这个影响对任务的运行是不可忽视时,目前使用的优先级定义就显得比较片面了,此时的优先级已经无法准确反映出一个资源结点的性能好坏。

因此,考虑当系统的规模如果在未来扩大到一定程度时,舍弃原有的优先级任务调度机制,针对调度问题复杂性的大幅增加,可以采用更适用于大规模搜索空间的遗传算法[8,9]调度机制来进行任务调度。

3.1 遗传算法任务调度的实现

遗传算法的步骤一般包括染色体编码、种群的初始化、适应值计算和个体选择、杂交、变异。染色体编码和适应值计算是其中的两个关键部分。根据“e平台”的实际情况,这两个部分的具体实现如下:

1)染色体编码

采用正整数编码,染色体的长度设为要提交的任务数量,其中的每一位都是正整数;染色体每一位的位置编号代表一个任务的编号,而该位置上的正整数值代表该任务所要提交到的资源结点的编号。

2) 适应值计算

根据上述染色体的编码,对其解码后就可以得到在每个资源结点上运行的任务序列,进而能计算得到在该资源结点上运行的所有任务的总运行时间。所以可以把适应值的计算公式写为:1/max(资源结点1上的总运行时间,资源结点2上的总运行时间,…)。显然该适应值越大,相应的染色体的适应度就越高,也就是调度之后的任务总运行时间越短,当然也就越接近于最优调度方案了。

3.2 性能分析

根据“e平台”中的任务按计算量呈指数分布且任务的资源需求也呈指数分布的特点,将分别使用三个不同的调度环境来进行任务调度实验:10个任务和2个资源结点,14个任务和4个资源结点,26个任务和8个资源结点。实验结果如下:

可见,随着调度环境复杂性的增加,遗传算法任务调度比优先级抢先任务调度具有更好的调度性能。使用遗传算法任务调度可以使“e平台”的任务调度程序具备应付更加复杂的调度环境的能力。

4 总 结

本文的研究工作旨在提高“e平台”中调度程序的性能,对网格任务调度性能的追求正是进行调度策略优化的根本动力,据此可以说“e平台”的调度策略还有着很大的改进空间,如何进一步地提高调度性能值得更深入地去研究。

摘要:首先分析了“上海高校网格平台e-网格计算应用平台”现有的任务调度策略,针对它的不足之处,提出了两个优化的方案。第一个方案着重于研究如何提高系统的吞吐率,并且已经在系统中得到了实现;第二个方案着眼于系统未来的发展,提出了在系统规模扩大后可能会使用到的调度策略,并通过模拟,证明了该方案的可行性。

关键词:上海高校网格,任务调度,优化

参考文献

[1]Arun Thakore,Luis Ferreira.Grid Services Programming and Applica-tion Enablement.http://www.ibm.com/redbooks,May,2004.

[2]Chen Lin,Wang Choli,Francis C M Lau.A Gird Middleware for Dis-tributed Java Computing with MPI Binding and Process Migration Sup-ports J.Comput.Sci.&Technol,July,2003.

[3]Ramin Yahyapour.Design and Evaluation of Job Scheduling Strategies for Grid Computing.Doctorial Thesis,20.November,2002.

[4]邓志云.一个高分子模拟计算网格的作业管理.硕士学位论文,2005,1.

[5]柴亚辉.上海高校网格e-网格计算应用平台作业管理.硕士学位论文,2006,1.

[6]都志辉,陈渝,刘鹏.网格计算.北京:清华大学出版社,2002.

[7]何炎祥,李飞,李宁.计算机操作系统.北京:清华大学出版社,2004.

[8]王小平,曹立明.遗传算法——理论应用与软件实现.西安:西安交通大学出版社,2002.

网格质量优化 篇3

随着计算机技术的快速发展和普及,有限元方法已迅速从工程结构强度分析计算扩展到几乎所有的科学技术领域,成为一种应用广泛并且实用高效的数值分析方法。早期有限元分析的研究重点在于推导新的高效率求解方法和高精度的单元。随着数值分析方法的逐步完善和计算机运算速度的飞速提高,整个计算系统用于求解运算的时间越来越短,而数据准备和运算结果的表现问题却日益突出[1]。网格剖分作为建立有限元模型的一个重要环节,要求考虑的问题多,需要的工作量大,不同的网格划分方式会对计算规模、计算结果和计算精度产生很大的影响。故而,对有限元网格剖分的研究十分必要。

有限元分析的最终目的是要还原一个实际工程系统的数学行为特征,即分析必须是针对一个物理原型的准确的数学模型。从广义上讲,模型包括所有的节点、单元、材料属性、几何特性、初始条件、边界条件等,以及其他用来表现这个物理系统的特征。从狭义上讲,模型生成仅指用节点和单元表示空间体域以及实际系统连接的生成过程,即网格剖分。

在建立有限元模型过程中,不管从广义还是从狭义上讲,都涉及网格剖分问题。曾经有人作过统计,在数值分析的三个阶段中,前处理约占总时间的40%~60%,数值求解约占5%~20%,计算结果后处理约占30%[2]。如果纯粹采用人工方法进行分析对象的离散化工作,势必需要花费大量的时间,而且当模型复杂时,还容易出错。前处理工作比较繁琐,但是又十分重要,它是进行有限元正确分析的基础。因此,开展更好的分析对象离散化网格划分工作,对于数值分析工作者来讲,具有非常重要的意义。

1 网格剖分要求

有限元网格生成就是将工作环境下的物体离散成单元的过程,常用的单元包括:一维杆单元及集中质量元,二维三角形和四边形单元,三维四面体、五面体、金字塔形、六面体单元。其边界形状主要有直线型、直面型、曲线型和曲面型。对于边界为曲线(面)型的单元,有限元分析要求各边或面上有若干节点,这样既可保证单元的形状,同时又能提高求解精度、准确性和加快收敛速度。不同维数的同一物体可划分为多种单元混合而成的网格。

网格划分应该遵循以下原则。(1)合法性。一个单元的节点不能落入其他单元内部,在单元边界上的节点均应作为单元的节点,不可丢弃。(2)相容性。单元必须落在待分区域内部,不能落入外部,且单元并集等于待分区域。(3)协调性。单元上的力和力矩能够通过节点传递给相邻单元。为保证单元协调,必须满足:一个单元的节点必须同时也是相邻单元的节点,而不应是内点或边界点;相邻单元的共有节点具有相同的自由度性质,即自由度必须匹配。(4)逼近精确性。待分区域的顶点(包括特殊点)必须是单元的节点,待分区域的边界(包括特殊边及面)被单元边界所逼近。(5)良好的单元形状[1]。单元最佳形状是正多边形或正多面体。(6)良好的划分过渡性[1]。单元之间过渡应相对平稳,否则将影响计算结果的准确性甚至使有限元计算无法进行下去。(7)网格划分的自适应性[1]。在几何尖角处、应力、温度等变化大的地方网格应密,其他部位应较稀疏,这样可以保证计算结果精确可靠。(8)一致性。对于相连的两个二次单元,单元角点只能与单元角点连接,而不能与相邻单元的中间节点连接;相邻单元的公共边应具有相同的节点数,当采用混合单元(线性单元与高阶单元)类型时有必要从一个单元中除去中间节点。另外,在动力分析中,冲击波传播问题不推荐使用二次单元。

2 网格剖分准备与剖分方法

2.1 网格剖分准备工作

(1)确定合适的网格密度。在数值分析中经常碰到的问题是:单元网格应剖分得如何细致才能获得合理的结果。对于此问题,可借助于以下一些技术解决:(1)利用自适应网格剖分产生可以满足某种误差估计准则的网格。(2)与先前独立得出的实验分析结果或已知解析解进行对比。对已知结果和计算结果偏差过大的地方进行网格细化。(3)执行一个认为是合理的网格剖分的初始分析过程,再在危险区域利用两倍多的网格重新分析并比较两者的结果。如果这两者给出的结果几乎相同,则网格是足够的。如果产生了显著不同的结果,应该继续细化网格直到随后的剖分获得了近似相等的结果。(4)如果细化网格测试显示只有模型的一部分需要更细的网格,可以对模型使用子模型以放大危险区域。网格剖分密度很重要,如果网格过于粗糙,那么结果可能包含严重的错误,如果网格过于细致,将花费过多的计算时间,浪费计算资源,而且模型过大可能会导致不能在自己的计算机上运行。因而,在生成模型前应仔细考虑网格密度问题。

(2)单元形状与类型的选择[3]。从单元几何形状看,一维分析有两点或三点线单元,二维分析有三角形或四边形单元,三维分析有四面体或六面体单元。四边形单元可以退化成三角形单元,六面体单元可以退化成五面体(楔形或金字塔形)单元或四面体单元,这取决于所分析问题的维数。从数值积分方案看,有全积分和降阶积分之分,取决于分析问题所要求的精度,全积分方案精度高,降阶积分方案精度低。从分析问题的类型看,有结构分析单元与非结构分析单元,不同的节点自由度和不同的场问题控制方程需要采用不同的单元类型,具体有平面应力、平面应变、二维梁、轴对称壳、轴对称实体、三维壳、三维实体、三维梁、热传导单元等。从单元的阶次看,有线性单元(无中间节点)和二次单元(带中间节点),利用二次单元分析的精度较高,但是由于节点数猛增,会增加计算成本,而且所需存储空间也会成倍增加。

2.2 网格剖分方法[3]

(1)网格直接生成法(直接建模法)。网格直接生成技术并不仅仅只是手动添加单元,而是以单元作为基本构造模块。先用一个个比较大的单元组成一个很粗糙的(待细分)网格体,然后通过特定的工具对这个比较粗糙的网格再进行精细的重新划分,达到所要求的精度。这个生成过程特别适合那些几何模型简单的问题,生成方法简单,大体可分为三个步骤:(1)生成粗糙构造模块,并对内部进行精细划分,即生成坐标基本合适和具有完全合格的连通性的网格模型,然后在需要的地方重新划分和细分那些单元;(2)使边界坐标符合要求,即把边界节点坐标更改正确;(3)重新调整内部网格,即重新分配内部的坐标来生成合理形状或者“放松”的单元。

(2)由几何实体生成网格法(实体建模法)。通过几何实体生成网格,能够将由几何元素描述的物理模型自动离散成有限单元,应用这种技术生成的模型的基本构成模块是几何体而不是网格体。用来表征几何体的几何元素是点、线、面、体,几何模型必须完全建立好之后才能被剖分成网格模型。由几何模型生成网格的方法有很多好处,最主要的优点在于复杂模型通过这种方法容易生成,而通过直接生成法往往很难处理,而且还容易出错。这是该方法适用范围更广的重要原因。通过这种方法,有时还可以使用从其他CAD软件传输过来的模型进行操作,可大大提高效率。

3 有限元网格剖分算法

网格剖分算法主要包含以下几种:拓扑分解法、节点连元法、网络模板法、映射法、几何分解法、基于栅格法、空间编码法[1,4,5,6,7,8,9,10,11,12,13,14,15,16,17]。目前,在许多商业软件中,这些方法基本上是混合使用的,很少有单独使用的,并且这些方法与现代计算机技术结合紧密。

3.1 拓扑分解法

拓扑分解法是由Wordenweber[15]提出的,用于求解二维平面问题,现已推广至三维空间。该方法用一种三角化算法将目标用尽量少的三角形完全分割覆盖,这些三角形主要是由目标的拓扑结构决定,这样目标的复杂拓扑结构被分解成简单的三角形拓扑结构。该方法后来被发展为普遍使用的目标初始三角化算法,用来实现从实体表述到初始三角化表述的自动转换。拓扑分解法原理简单,引入的算子概念使程序易于实现模块化,处理容易。但是该方法只从拓扑关系入手,不考虑几何因素,因此难以保证网格质量,而且检测量很大,对包含曲面的三维形体也难以处理。

Woo等[16]提出了另外一种基于拓扑分解法的有限元网格自动生成算法,试图解决三维实体的有限元网格生成问题,但其网格质量难以得到保证。

3.2 节点连元法

节点连元法主要包括两个步骤:节点生成和单元生成。首先在待分区域内生成一定数目的节点,然后通过适当的算法连接节点生成有限元单元。常用的算法有Delaunay三角剖分法(简称DT法)和推进波前法(advancing front technique,AFT)。

DT法是目前最流行的通用的全自动网格生成方法之一。其最大优点是遵循“最小角最大”和“空球”准则。“最小角最大”是指在不出现奇异性情况下,Delaunay三角剖分最小角之和均大于任何非Delaunay剖分所形成的三角形最小角之和。DT法自动避免了生成小内角的长薄单元,特别适用于有限元网格生成。而“空球”准则是指在剖分的任意三角形单元或四面体单元的外接圆(二维)或外接球(三维)内都不包含其他单元节点。DT法的计算效率与具体实现方法相关。

此网格划分方法是先生成覆盖区域的稀疏三角形单元,然后局部加密,再生成所需密度的三角形网格。所生成的单元形态趋向于等边三角形。DT法充分考虑了几何形状中存在的微小几何特征,并能在微小几何特征处划分较细的单元。在不需要密集网格处,采用稀疏单元,疏密网格的过渡十分平滑。

虽然DT法既适用于二维域也适用于三维域,但直接的DT法只适用于凸域,不适用于非凸域,因此后来又发展了多种非凸域的Delaunay剖分。

近年来,推进波前法也已经成为目前最流行的通用的全自动网格生成方法之一。其基本原理是:设区域的有向离散外边界集和边界前沿点集已经确定,按某种条件沿区域边界向区域内部扣除三角形(四面体)直到区域为空集。AFT的关键技术有两个:区域的边界离散与内部节点合理生成,扣除三角形条件。而扣除三角形条件有多种:最短距离条件、最大角条件、最大形状质量条件、最小外接圆条件等。

AFT可以全自动地在平面或曲面上生成网格,用户可控制生成单元的几何分类:四边形或三角形,或者四边形和三角形混合网格。这种自动计算网格的方法是一次生成一个单元,从区域的边界向内部逐渐生成全域网格。由它生成的网格同样有着很好的几何尺寸和形状且疏密过渡平滑。当网格疏密过渡较剧烈时,它也同样能够生成高质量的网格。

3.3 网格模板法

网格模板法生成单元主要分两步(以三维实体为例):第一,将待剖分网格的实体用适当大小的立方体(树根)完全包容,按照“一化八”的原则递归离散,通过对每个八分块分类,形成IN和NIO八分块的并集,称为网格模板模型。第二,根据得到的网格模板模型,再进行网格划分处理。

网格模板法的优点是网格生成完全自动,网格剖分速度快,非常适用于自适应网格生成;主要缺点是边界单元形状难于完全保证。另外,网格模板法对物体的方向较敏感。

3.4 映射法

映射法的基本思想是:通过适当的映射函数将待剖分物理域映射到参数空间中形成规则参数域;对规则参数域进行网格剖分;将参数域的网格反向映射回物理空间,从而得到物理域的有限元网格。

当前许多商用有限元网格生成器都以该算法为理论基础。其主要特征是采用了“调配函数”概念。产生的网格整齐划一,非常规则,但同时这也是该法的缺点,尤其是当待划分区域不规则时,如瓶颈形状,得到的网格形状是畸变的。另外,映射法是非全自动方法,必须通过人工交互方式,将剖分对象先剖分成具有简单拓扑关系的子域。但映射法处理曲面问题很有效。

映射法的优点是:算法简单、速度快、单元质量好、密度可控制,它既可生成结构化网格又可生成非结构化网格,既可生成四边形单元网格又可生成六面体单元网格,可用于曲面网格生成,可与形状优化算法集成等。

映射法一般可直接处理单连通域问题,但对于复杂多连通域问题,需要首先用手工或自动方法将待剖分域分解成几何形状规则的可映射子区域,然后在每个子区域内应用映射法。然而在实践中仍有几个难点需要克服:(1)如何自动地将复杂的不可映射的待剖分域分解成简单的可映射的子区域;(2)如何满足某些物理问题中对网格疏密过渡的要求;(3)如何满足子区域之间的网格相容性要求。

3.5 几何分解法

在产生节点的同时,也确定了节点之间的连接关系的网格剖分方法称为几何分解法。这类算法基于问题域的拓扑几何描述,通过从域中逐个移去单元而生成有限元网格。它较多地考虑了待分域的几何特征,确保生成质量较好的网格单元,通常有两种方法:递归法和迭代法。几何分解法可实现从实体几何描述到初始网格生成之间的自动转换,并允许网格密度变化,但只能通过边界点的分布来控制网格规模,网格质量不高,且很难实现局部自适应加密。

几何分解法的最大优势是离散时考虑了网格的形状和大小,因此,所生成的网格单元形状和分布比较好。但是,这种方法自动化程度比较低,也不利于复杂件的网格生成。

3.6 基于栅格法

基于栅格法(grid-based approach)的基本剖分流程如下:首先用一组不相交的尺寸相同或不同的栅格(cells)覆盖在目标区域上面,保留完全或部分落在目标区域之内的栅格,删除完全落在目标区域之外的栅格;然后对与物体边界相交的栅格进行调整、剪裁、再分解等操作,使其更准确地逼近目标区域;最后对内部栅格和边界栅格(特别是后者)进行栅格级的网格剖分,进而得到整个目标区域的有限元网格。

这种方法预先产生网格模板,然后将要进行网格化的物体加到其上,并在实体内部尽可能多地填充规则的长方体或正方体网格,在实体的边界上根据实体边界的具体特征更改网格的形状和相互连接关系,使边界上的单元尽可能无限地逼近物体的边界形状。这种方法能实现网格生成的自动化,网格的生成速度也非常快,能够生成的单元类型很多,划分简单,效率较高。其最大缺点是物体边界单元的质量较差;另一个缺点是所生成的单元尺寸相近,网格密度很难得到控制。

栅格法首先用交互方式将物体划分为形状简单的子区域,每个子区域分别用定形的网格模板作为规整的部分,再采取适当的措施,使得相邻子区域在结合面共享公共的节点,并且网格相容。

3.7 空间编码法

空间编码法有两个本质属性:阶梯结构和空间可访问性。该法可以实现与实体造型系统的集成,并且容易精整网格质量。大多数实体造型系统都采用树形数据结构进行几何和拓扑描述,在此基础上,Yerry等[18]提出了修正的八叉树法等有限元网格生成算法。

基于修正的八叉树法的空间编码法在问题域内部容易生成高质量的单元,但是边界单元需要进一步处理,以免所生成的单元因质量太差而不适合有限元分析。也有学者将这种方法划归于基于栅格法。

4 网格形状质量判定及指标

4.1 网格质量要求

如果单元都是理想的形状(三角形单元等边,四边形都是正方形,六面体都是立方体等),那么在计算单元刚度矩阵的时候误差和错误就会很少出现,然而在整个模型中都用理想形状的单元来离散几乎是不可能的事情,尤其是模型非常复杂时,难以全用规则单元来剖分,因此必须在模型不同位置合理设置不同形状的网格,改善网格质量。

网格质量对于数值分析的精度有十分重要的影响,特别对于具有复杂形状的分析对象,尤为重要。对于复杂几何实体和壳,首先要保证网格单元与几何体严格对应;其次保证单元具有高质量。很多时候在进行数值计算过程中,会出现单元质量不合格的警告信息,严重时会因出错而导致计算中断。因此,建立网格质量标准体系,对于数值分析具有很重要的意义。

一般而言,对于不同的数值分析内容网格质量的标准有所不同。对于一般的热传导分析,可以适当降低网格质量标准,而对于一些非线性问题,如大变形、接触、瞬态高速冲击等分析问题,需要高质量的网格。

由于有限元网格的质量直接影响到数值求解的精确度和正确性,自动生成的初始网格的质量并不总是令人满意的,所以通常要对初始网格的质量进行改进或优化。网格质量的改进可分为两个方面[18]:一是拓扑关系的调整;二是节点位置的调整。

检查网格质量,首先应该检查是否有重复的节点和单元。如果在同一位置需要建立两个节点或单元,应务必小心。在绝大部分商业工程分析软件中,具有在一定公差范围内消除重复节点的功能,如果需要在同一位置产生不同节点(如接触问题),应避免使用此功能。

4.2 一维网格质量评价指标

一维网格质量评价指标包括自由端点和刚性单元,即检查网格内是否存在自由端点和刚性单元。其中,自由端点主要检查是否存在自由端点或自由节点(即与其他单元不相连),在一维单元容易出现这个问题,如质量集中单元等。刚性单元主要检查是否具有形成环状的刚性单元。

4.3 二维网格质量评价指标

二维单元的几何形状主要是三角形和四边形,主要质量指标包括:单元长度、翘曲角、单元边长比、内角大小、扭曲角、雅可比比率(Jacobian ratio)等。

三角形单元主要检查:单元长度、长宽比、扭曲角和内角大小。

四边形单元主要检查:单元长度、翘曲度、长宽比、扭曲角、雅可比比率、弦偏离度。

各项技术质量指标如下所述。

(1)单元边长比γAR。γAR为单元最大边长与最小边长之比,适用于所有单元。对单元尺寸应进行适当控制,既保证计算精度,又不浪费资源。理想的单元是单元边长比为1,对线性单元来说,可接受的单元边长比的范围是0<γAR<3,对二次单元来说,可接受的单元边长比范围是0<γAR<10。对于同样形状的单元来说,高阶单元对于边长比没有线性单元对于边长比那么敏感。单元在非线性分析中对于边长比的敏感程度要比在线性分析中对于边长比的敏感程度高。如果一个问题在某一方向应力梯度很大,单元有可能需要相当大的边长比,最小边放在梯度最大的地方。这是因为在一个单元内,如果某一边的梯度很大,这一边又很长,那么误差就会很大。

(2)三角形单元内角。即三角形三个内角大小。

(3)三角形单元扭曲角。这一指标表征了单元在单元面内的扭曲程度。其定义为:对应边中点连线的夹角中最小角的余角,即三角形单元扭曲角θskew=90°-min(α1,α2,α3),α1、α2、α3为中内角,见图1。另外还有一种定义:单元相邻边夹角与60°之间的差值。

(4)四边形单元扭曲角。该指标的定义为:对应边中点连线的夹角中最小角的余角,即四边形单元扭曲角θskew=90°-min(δ1,δ2),见图2。另外一种定义是:单元相邻边夹角与90°之间的差值。

(5)四边形单元翘曲角。该指标表征了单元在单元的面外的翘曲程度,面外翘曲发生在单元面的节点不共面的时候。其定义如下:依次沿对角线将四边形分为两个三角形,寻找这两个三角形所在面构成夹角的最大值,该角即为翘曲角,即θwarp=max(α1,α2),见图3。

(6)弦偏离度。即单元各边中点与各点在对应边上的投影点的距离值,见图4中的L1、L2。

(7)雅可比比率。即单元内各个积分点Jocabian行列式值中的最小值与最大值之比,见图5。计算公式如下:

式中,JR为雅可比比率;|J|min、|J|max分别为最小和最大雅可比行列式值。

式中,x2、x1、y4、y1、x4、x1、y2、y1、l1、l4、θ1参见图5c。

4.4 三维网格质量评价指标

三维单元质量检查指标与二维单元质量检查指标大同小异,但有些指标不一样,如在四面体中,边长比定义为单元最长边与最短高之间的比值,见图6。对于六面体单元,单元质量检查指标与二维单元差不多,但对于四面体单元,还需要另外检查如下几个指标:

(1)四面体单元坍塌(collapse)值。如图7所示,其计算公式如下:

式中,hi为各个顶点到对应面的距离值;Ai为对应面的面积;sqrt(·)为取平方根运算的函数。

(2)四面体单元的体积扭曲(skew)值。对于任意一个四面体单元,定义一个过该四面体四个顶点的外接球体,如图8所示,再依照球体的半径,计算出一个理想四面体的体积,该体积假定为Videal,实际四面体单元的体积为Vactual,参照理想四面体的体积,按照下面公式计算,就可以得到四面体单元的扭曲值:

式中,r为外接球的半径。

5 有限元网格质量优化

5.1 网格优化

为了保证有限元分析结果令用户满意,有限元网格通常应具备以下条件[8]:(1)所有单元接近理想形状;(2)主要变量(温度、速度等)变化梯度较大的地方网格密度较大;(3)粗细网格之间过渡均匀。但通常情况下,在有限元网格自动生成器所产生的网格中总存在一些畸形单元,问题域越复杂,畸形网格所占比例越大。

网格优化目的是改变网格质量,提高计算精度。目前主要存在两种优化方法[8,19]:(1)网格精整。根据网格密度和计算结果的要求对网格进行细分;(2)光滑处理。保持网格拓扑关系不变,通过摄动单元节点位置来改善网格质量。

Laplacian光滑处理技巧是应用得最早,也是最成熟的一种优化方法[20]。其核心内容为:保持网格拓扑关系不变,将整个内部节点的位置摄动到由其相邻节点组成的多边形的质心处,使每个单元更接近于理想形状。将这个摄动过程遍历所有内部节点若干次,可较大幅度地提高网格质量。经过Laplacian光滑处理的网格,不再具有Delaunay三角剖分的基本性质。

近年来出现了各种各样的网格优化方法,自适应网格精整方法即是其中之一。首先用较稀疏的网格进行有限元分析,根据计算结果,通过某种误差指示器判断哪些区域的网格需要精整,经局部自适应网格精整后再对该区域进行有限元分析。这样的局部网格精整过程可反复进行多次,直到计算结果满足用户要求为止。

5.2 自适应网格方法

在目前很多数值计算中都需要用到网格自适应技术,如激波产生的高速飞行、材料加工等大变形问题、瞬态高速冲击、炸药爆轰聚能射流及侵彻等。在有限元分析中,网格自适应是在现有的网格基础上,根据有限元计算结果估计计算误差、重新剖分网格和再计算的循环过程。当计算误差达到预定值时,自适应过程结束。因此,有效的误差估计和良好的自适应网格生成是自适应有限元分析两大关键技术[9,21,22,23]。就目前国内外研究来看,自适应网格生成从大的方面可分为网格增加技术和网格重划分技术两类。

网格增加技术主要依靠增加自由度总数来提高有限元分析精度。目前,主要采用三种类型方法:h型、p型和h-p型[22]。h型使用特别广泛,网格模板模型的网格改进正是利用该法。p型是在保持网格划分不变的情况下,通过提高插值函数的阶数获得更高的求解精度。h-p型是将h型和p型结合的一种方法。h-p型虽然实现不容易,但它却可使收敛速率明显加快。实践表明,在获得同一精度时,上述三种类型收敛速率是按h型、p型、h-p型顺序增大的。

网格重划分技术是根据现有的网格并配合误差估计确定新的节点分布,然后重新划分网格,再计算,重复上述过程直到求解精度达到预定目标为止的过程[21]。目前,网格重划分技术在平面区域已得到了较好的实现。从理论上讲,该原理可扩充到三维实体域,但由于三维实体域难以完全自动地用等节点密度曲面来分割任意实体,因此在三维域的扩充至今仍未实现。实践表明,网格重划分技术比网格增加技术具有更多的优点,如收敛速度快、网格单元形状稳定等。

6 网格剖分前处理软件及其应用状况[24]

有限元技术的特点决定其前处理过程为一个相对独立而又十分重要的部分。随着众多有限元商业软件的出现,前处理技术也得到了迅猛的发展,同时很多专业的前处理软件也应运而生。目前,在国际上被认可的前处理软件主要包括Altair公司的HyperMesh,MSC公司的Patran,EDS公司的FEMAP,SamTech公司的Samcef/Field,CAE-Beta公司的ANSA,CFDRC公司的CFD-GEOM和CFD-MicroMesh,TrueGrid,Fluent软件中的Gambit等,还有一些大型有限元商业软件自带有网格剖分器,如Marc/Mentat、Ansys/PreProcesser等。在一般情况下,前处理软件都与CAD软件具有良好的接口,且与众多的有限元求解器结合,可使用户更快、更方便地解决问题。一些大型企业都采用了适应自己需求的前处理软件。

当前,应用最广泛的前处理软件首推HyperMesh,它是一款高效率的有限元前处理软件,可与大多数的有限元分析软件搭配使用,如Marc、Nastran、Abaqus、Ansys、Ls-Dyna等。HyperMesh主要用于汽车行业,它已经成为全球汽车行业的标准配置,几乎所有的整车厂商都在使用。同时HyperMesh也广泛进入各行各业,如航空、航天、通用机械与日用品等行业。

MSC公司的Patran软件是一个集成的并行框架式有限元前处理及分析仿真系统,最早由美国宇航局(NASA)倡导开发,是工业领域最著名的软件系统。其开放式、多功能的体系结构可集工程分析、结果评估、用户化设计和交互图形界面于一身,构成一个完整的CAE集成环境。Patran的用户主要集中在航空、航天、汽车和通用机械等领域。

FEMAP是一个纯Windows风格的、非常易于使用的高性能有限元前处理软件。FEMAP提供给工程师和分析人员一个可以容易、精确、有效地操控复杂模型的前处理手段。FEMAP从高级梁造型、中面提取和高级网格划分,到功能卓越的直接访问CAD工具和简化工具,都提供了有效的方法。

Samcef/Field系列软件的前处理工具是一个独立的图形环境,具有几何建模、读取主流CAD模型和驱动Samcef线性求解器的能力。

ANSA(automatic net-generation for structure analysis)是希腊BETA CAE System公司的软件产品,是世界上广泛应用的、功能强大的前处理系统和三维网格软件工具。ANSA起源于汽车工业领域,主要是为了满足有限元前处理对时间的需求。ANSA已成为工业标准,而且在汽车、航空航天和化工等工业领域应用广泛。

CFD-MicroMesh是为微电子和微机电工业领域的特殊需求而开发的软件系统。它直接从EDA布局图和初始设计开始,是自动化的三维几何创建和网格生成工具。

TrueGrid是美国XYZ Scientific Applications公司推出的专业通用的网格划分前处理软件,支持大部分有限元分析及计算流体动力学(CFD)软件,可以方便快速生成优化的、高质量的、多块结构的六面体网格模型。TrueGrid支持一般CAD所输出的几何形状,如AutoCAD、Pro/E、I-Deas等;支持多款当今主流的分析软件,如Ansys、Abaqus、Adina、Ls-Dyna、Autodyn、Marc、Nastran和流体动力学分析软件,如与Fluent、AutoReagas、CFX、CFdesign、Star-CD、Phoenics、Numeca、Tascflow等具有接口。

Gambit是帮助分析者和设计者建立并网格化计算流体力学模型和其他科学应用而设计的一个软件包,是面向CFD分析的高质量的前处理器,其主要功能包括几何建模和网格生成。由于Gambit所具有的强大功能,在目前所有的CFD前处理软件中,Gambit稳居上游。Gambit通过它的用户界面(GUI)来接受用户的输入,能直接建立模型、网格化模型、指定模型区域大小等,这对很多的模型应用已足够。

目前,国外很多厂商主要以HyperMesh和ANSA作为划分网格与前处理的工具标准。

7 网格剖分实际案例

利用HyperMesh软件平台,笔者进行了二次开发,对几个复杂模型进行了网格剖分。该软件具有先进的网格剖分与网格优化算法,能自动对网格进行光滑、优化处理,改善网格质量,能进行完备的网格质量检查,具备强大的网格编辑功能,可以方便调整、编辑网格,以改善网格质量。

实例一 汽车发动机活塞的网格剖分(图9),使用了网格生成映射法和直接建模方法。公司提供如下的网格质量与技术要求:(1)总的单元数量为50 000~60 000个;(2)在缸体内壁面上不能出现三角形单元;(3)90%以上的单元是八节点六面体单元;(4)单元必须是六面体单元和五面体楔形单元;(5)网格质量指标为θwarp<30°,γAR<5,θskew<60°,JR>0.3;(6)不能出现破裂和T形连接。

实例二 某复杂模型网格剖分(图10),综合使用了几何分解法、推进波前法和直接建模法。网格剖分要求为:(1)总的单元数量为20 000~30 000个;(2)95%以上的单元是八节点六面体单元;(3)单元形状必须是六面体单元或五面体楔形单元;(4)网格质量指标为θwarp<40°,γAR<4,θskew<50°,JR>0.5;(5)不能出现破裂和T形连接。

实例三 汽车转向盘网格剖分(图11),使用DT法。其网格质量与技术要求为:(1)全部用四面体单元;(2)单元数量为30 000~40 000个;(3)网格质量指标为单元边长小于6mm,γAR<4,θskew<50°,JR>0.5;(4)不能出现T形连接。

8 网格剖分前处理技术发展趋势

(1)通用算法的数据结构与多种算法的联合应用[1]。在通用算法的研究方面,应注意数据结构的研究和多种算法的联合应用,提高核心算法的可靠性和几何适应性,达到速度与质量之间的平衡,实现核心算法的黑箱化。

(2)根据所分析问题的物理特性对网格进行修改,从这个角度出发有两个主要的问题:生成具有所有性质或部分性质的网格,对现有的网格进行修改以获得所期望的性质,其中自适应有限元分析是一个最为主要的研究领域[25]。

(3)自适应网格剖分技术。自适应算法中通过自动加密网格来提高计算精度,这种算法有效而且收敛速度快,在各个领域内自适应算法将会有较大的发展,其主要问题在于如何进行误差估算。这对于各个领域中的不同问题是不一样的,这也是目前有限元前处理技术发展的主要方向之一。

(4)六面体网格自动剖分技术。几十年来,众多学者致力于六面体单元网格自动生成方法研究,但复杂三维实体的全六面体单元网格全自动生成问题始终未能获得真正意义上的解决。近几年来,全六面体网格自动生成再度成为焦点问题[26,27,28,29,30,31,32,33]。

(5)网格生成算法的并行化和分布化。并行化计算环境对于大规模、超大规模科学计算以及高端工程应用是必需的,而分布式计算环境可作为一种中端工程应用解决方案。现有网格生成并行化或分布化算法在计算效率、内存管理、生成单元质量等方面还不够完善,还有许多潜力可挖。另外,并行计算环境与分布式计算环境的控制软件日趋成熟,这为算法的并行化、分布化开发提供了更强有力的技术保障。

9 结语

数值分析已经与理论研究、实(试)验研究成为三大研究技术手段之一,在计算机技术高度发展的今天,这种手段将会发挥越来越大的作用。采用离散化方法对研究对象进行网格剖分是数值模拟前处理的核心问题。研究网格剖分方法、建立网格质量标准及技术要求体系对于有限元分析具有重要意义。在数值模拟应用日益广泛的今天,必须更加深入研究网格剖分技术方法,建立网格质量标准及技术要求体系。

经纬网格寻址中最短路径算法优化 篇4

对经纬网格进行二维剖分, 进而利用最短路径的方法, 求两个之间的最短距离, 是解决天气数值预报中模式计算的核心问题。进行最短路径的计算, 就必须首先将其按结点和边的关系抽象为图的结构, 这称为构建网络的拓扑关系。只有建立了拓扑关系, 才能进行网络路径分析。于是最短路径计算实现的关键在于网络拓扑结构的建立和高效能最短路径算法。文中针对解决实际最短路径问题较为有效的Dijkstra算法进行并行优化。即如图1所示从源点甲地出发, 到达图上丁地的最短路径。

2 流程伪代码

这里采用了贪心的策略, 利用宽度优先一层层搜索, 直到遍历所有结点或已经找到最短路径。算法伪代码如下:

2.1 优化一

对Dijkstra (G, w, s) 取最短路径是运用map-reduce方法, 对D的更新在main函数中进行。

2.2 优化二

对阵列D进行更新的时候运用map-reduce方法, 对D的更新采用了一种单map多个reduce的暴力方法:

Step1:用map函数获取D[i]!=INFINITY且没有取得最短路径的所有节点及其邻接节点的信息。

Step2:采用多个reduce函数同时对阵列D进行更新, 输出 (路径长, 节点) 的元组, 通过后台进行排序, 获取一次迭代得到的最短路径。

3 实验结果

程序都进行了相对严谨的测试。对于不同N值的程序得到了相同的结果, 跟串行程序的结果也一样。程序结果列举如图2所示。图1为N=10时, 零点到所有顶点的最短路径结果显示。根据上方的邻接矩阵可以很容易匹配上下面的打印结果。图3为N=1024时的打印结果, 两个程序结果一致, 另外本人还写了一个串行的求单点最短路径的程序, 输出结果均与之相符。

4 结论

依据最短路径算法分析, 采用贪心策略和MapReduce编程模型实现路径计算过程中优先级队列的一系列操作, 从而提高算法的计算性能。解决数值预报中地理空间范围内两点间的最短路径求解难题, 该结果的合理应用为数值预报模式中最短路径求解提供参考依据。

摘要:最短路径分析地理信息系统中的空间经纬网络寻址中的计算瓶颈, 对其算法进行优化很有必要。针对最短路径中经典的Dijkstra算法, 采用贪心策略和MapReduce编程模型实现路径计算过程中优先级队列的一系列操作, 从而提高了算法的计算性能。

网格质量优化 篇5

网格计算在现代社会成为解决大型工程科学计算的趋势, 同时也是实现全球资源共享的一种途径[1]。任务调度问题一直以来都是计算网格技术的关键技术和难点, 对它的研究在基础理论和系统开发等方面都具有重大的意义。近年来, 出现了很多多目标优化算法来解决网格调度问题, 比如蚁群算法、进化算法等, 但是一直网格调度问题是一个NP难题, 很难找到最优解。

已经有很多学者在任务调度中做了大量研究:Vincenzo介绍了一种基于遗传算法的资源调度算法[2], 其目的是为了尽可能地提高资源的使用率和吞吐量;叶春晓等提出了基于改进遗传算法的网格任务调度算法[3], 引进了min-min和min-max算法初始化种群, 有效的解决了网格任务调度问题。本文在现有算法的研究基础上, 提出了一种基于改进的进化优化网格任务调度算法 (简称IE-GTSA) 。

1 问题描述

由于网格环境受异构性、安全性、成本等诸多因素的制约, 一个好的任务调度系统对网格是至关重要的。因此, 本文在设计网格环境中的调度系统时, 主要考虑是基于网格中的所有任务的执行时间 (makespan) 和总执行费用 (cost) 考虑的。调度系统作以下条件假设:

(1) 每个计算机程序可分解成多个相互间独立的任务;

(2) 任务的数量远远大于资源数量;

(3) 每个任务在标准资源上运行所需要的时间已知;

(4) 不考虑任务所占用的存储资源和传输延迟;

2 目标函数定义

调度算法考虑两个因素:任务运行的任务的执行时间和总执行费用。目标函数定义如下:

其中, n表示任务数;m表示计算资源数;Z1表示所有任务执行完所需的总时间函数;Z2表示所有任务执行完所需的总费用函数;ETij表示任务Ti在处理节点Rj上的预期执行时间;Tj表示处理节点Rj的最早可用时间;Uj表示资源Rj在单位时间内的价格。

3 算法设计与实现

3.1 染色体编码

算法采用任务-资源相对应的浮点数编码方式, 对每个任务占用的资源进行编码, 每条染色体的长度等于任务的总体数量, 染色体中的每一位都是正整数, 代表的是任务编号, 而该基因位置上的正整数代表该任务所占用的资源的编号, 如图1所示。

3.2 种群初始化

(1) 初始化交叉概率Pc, 变异概率Pm, 种群大小popsize, 进化代数maxgen。

(2) 输入任务书n、资源数m, 生成初始种群。算法伪代码如算法1所示。

算法1

3.3 遗传操作

遗传操作包括选择、交叉、变异三种形式。

3.3.1 选择操作

选择操作采用本文作者公开发表的一篇文献中的选择算子, 即基于目标空间分割思想的选择方案[4]。首先, 根据文献[4]中的目标空间分割算法将网格环境中基于makespan和cost的目标空间进行分割;其次, 当算法选择下一代群体时, 把个体之间的Pareto支配关系转换成分割区间总索引值的排序关系, 使得多维关系的比较转换为一维关系的比较, 根据个体的分割区间总索引值来选择下一代群体, 索引值越小的越容易被选择, 这样可以保证非支配解和最好的支配解被选择。

3.3.2 交叉操作

算法采用算术交叉的方法, 在交配池中随机选择两个父个体P1和P2, 根据交叉的概率Pc, 按下列公式产生新的两个子代个体P1和P2。

3.3.3 变异操作

变异操作的目的是为了提高算法的全局搜索能力, 增加种群的多样性。用其它变异概率为Pm的染色体值替换交叉算法产生的子个体的编码串中的某些染色体值, 形成新个体。选择染色体上的两个随机资源R1和R2, 分别在其对应的任务队列上随机选取对应的任务Tx和Ty, 并进行位置交换, 得到一个新的子个体。

3.4 算法实现

算法实现的流程图如图2所示。

4 仿真实验与结果分析

算法在网格仿真平台上Grid Sim进行了多组测试, 并与Min-min和Max-min算法进行了对性能比和分析。其参数设置如下:变异概率0.01, 交叉概率0.85, 种群规模为100, 进化代数为300, 并分别对资源处理节点和任务集进行了100次实验, 结果取平均值。实验结果如表1和表2所示。

以上实验结果表明了本文提出的网格任务调度算法IE-GTSA, 在资源数和任务数都不同的情况下, 其Makespan和Cost都比Min-min和Max-min算法优越。

5 结束语

本文针对网格环境中基于Makespan和Cost两个目标的任务调度问题, 提出了一种改进的进化优化网格任务调度算法 (IE-GTSA) , 该算法融合了目标空间分割的进化算法的思想, 在选择算子的设计上是非常有效的。算法经过模拟实验, 与Min-min和Max-min算法进行了性能比较, 体现出了IE-GTSA的优越性。

参考文献

[1]都志辉, 陈渝, 刘鹏.网格计算[M].北京:清华大学出版社, 2002.

[2]Vincenzo Di Martino, M Mililotti.Sub-optimal scheduling in a grid using genetic algorithm[sJ].Parallel Computing, 2004, 30 (5/6) :553-565.

[3]叶春晓, 陆杰.基于改进遗传算法的网格任务调度研究[J].计算机科学, 2010, 37 (7) :233-235.

[4]任长安, 李智勇, 陈友文.一种改进的基于目标空间分割的多目标进化算法[J].计算机应用研究, 2010, 27 (4) :1311-1314.

二维有限元网格的局部调整及优化 篇6

1.1 局部网格加密算法的问题

在有限元网格加密中主要存在的问题[1]:多级加载和半带宽。对于单元局部加密的最大问题就是新增的单元、节点的编号如何处理,对于一般的有限元程序来说,如果单元和节点的变化不合理,对于生成的总体刚度矩阵的半带宽会加大,消耗更多的计算机内存。如坝体有限元计算程序,可模拟坝体修建的整个过程,模型是最终的坝体,然后记录了修建工程中的某些阶段,也就是多次加载。另外,为了能够适应现有的计算能力还必须合理的确定节点单元编码,这样可以减小半带宽。

1.2 算法具体描述

1.2.1 获得加密单元和过渡单元

有限元计算的结果通常经过后处理,我们在生成的等值线、彩色云图上很容易指定哪一部分的变化较剧烈,需要加密。用户使用鼠标选择加密区域,获得这个矩形的左上角和右下角的坐标:(left,top),(right,bottom)。然后扫描所有的单元,只要单元的一个节点落在加密区域内,这个单元就是需要加密的。扫描结束后,生成一张表,记录需要加密的单元号。

1.2.2 产生新的节点

因为接触单元不可以划分为三角形单元,出现二角形单元有两种情况:(1)需加密的单元中含有三角形单元,在这种情况下,应为三角形单元不是接触单元,所以,划分不会产生三角形的接触单元。(2)在生成过渡单元这样的过渡单元时,如果过渡单元是接触单元的话,就产生了三角形的接触单元,这是不允许的,必须采取必要的措施。采取的方式是,如果某个加密单元的过渡单元是接触单元的话,则对应的这边就不增加节点,过渡单元也不进行划分。新增节点延续原来的节点编号,节点的坐标由所在的边或者所在单元型心确定。在这一过程中扩充原来的加密单元、过渡单元表格,使其包含需加密单元新增加的节点的信息。依次为边1增加的节点号,边2增加的节点号,边3增加的节点号,边4增加的节点号,型心处增加的节点编号。如果对应的部分没有增加节点,就写-1。

1.2.3 节点排序

要使生成的刚度矩阵具有合理的半带宽,需要单元和节点编码有一定的规律。通常网格在生成的时候都考虑了结构半带宽的优化,加密后的网格破坏了原有的半带宽。对于像坝体这样的矩形结构,可以先按照水平方向编码,然后竖直方向编码。把原来的节点信息表做一个备份。

1.2.4 单元排序

如何合理的对单元进行排序,是局部加密的关键。采用的是这样的一种想法:在加密前,如果一个单元的编码出现在另外一个单元的编码前,经过加密处理后,如果这个单元被拆分了,那么拆分后的几个单元的编码也要出现在另外的那个单元的前面。

2 网格质量优化

网格生成完毕后,其拓扑结构(如节点-单元关系、单元-单元关系、节点-节点关系)也就确定了,这些关系在一定程度上反映着网格的规则程度。通常,在四边形网格中任一个内部节点相连的最佳单元个数为4,但是任何一种生成四边形有限元网格的算法中,由于只考虑了节点周围局部的情况,而往往会在生成的网格中存在着不规则节点和由此导致的畸形单元。这些节点和单元的存在都直接影响着网格的质量,从而影响着有限元分析结果的准确性。

进行网格优化就是进一步提高网格质量以满足有限元分析的需要。总的来说,网格优化分为拓扑优化和几何优化两种。拓扑优化是改变网格的拓扑结构以达到优化的目的;而几何优化则不改变网格的拓扑结构,只是重新调整网格节点的位置,使单元尽量地接近正方形。本文采用网格优化算法,首先是通过改变网格的拓扑结构来使不规则单元的数量减少到最小,然后再对网格进行位置的优化,最终达到对整个网格质量的提高和改善。

2.1 拓扑优化

网格的拓扑优化[2]侧需要对网格节点之间的连接关系作出调整,对于四边形单元,节点连接的单元数介于3到6之间,认为是可以接受的。拓扑优化主要有以下几种模式:

删除节点;

删除单元;

删除边;

对角线调换;

在介绍网格的拓扑优化之前,先引进一个“度”的概念。在图论中,一个无向图中节点的度是指共享该节点的边的数目,这里重新定义为共享该节点的单元的数目:

2.1.1 点删除

这种拓扑优化主要应用于删除那些合并过程中四边形单元的内角有大于180o的单元的情况。依次检验内部节点,当某个节点的度为2时,必然会产生。

2.1.2 单元删除

依次检验所有的单元,如果此单元中存在一对相对的节点设为(A,B)度皆为3时,则删除此单元,并将节点A、B合并为一个节点。

2.1.3 边删除

依次检验连接了两个节点的单元边,如果某边AB的两个端点的度皆为3,则删除此边,连接到A、B节点的单元需要重新构建成两个新的四边形单元。这两个单元的公共边的选择需要按照节点的度来确定。设NC、ND、NF、NG分别为节点C、D、F、G的度,则两个四边形公共边的选择按如下原则:

1)取DG为公共边ND+NG≤NC+NF

2)取CF为公共边ND+NG>NC+NF

2.1.4 对角线调换

依次检验每一对相互连接的单元,公共边AD将被调换成EB或者CF,如果满足以下关系N1=NA+ND;N1=NA+ND;N1=NA+ND,则:

1)公共边AD调换成BE

2)公共边AD调换成CF

需要注意的是:上面的拓扑优化执行的前提是这种调整不会引起任何的单元交叠或产生畸形单元。网格拓扑调整应该按照1-4的顺序进行。节点删除将首先执行,然后接着是单元删除、边删除和对角线的调换,当对角线调换完毕,再回到节点的删除,从而进行下一轮的拓扑调整,直到不需进行拓扑调整为止。

2.2 几何优化

网格的几何优化是指通过移动内部节点的位置来调整网格的形状以达到优化网格质量的目的。这类方法中最为典型的是Laplacian修匀方法,它用迭代法将每一个内部非固定节点移至由其邻接节点构成的多边形的形心位置,公式如下:

其中Ni是节点i所连接的节点总数,j是与i相连的节点,节点xi和yj是节点i的横坐标和纵坐标值。这种方法是通过移动内部节点位置的方法来优化网格单元的形状,同时使网格看起来更加光顺,所以也称其为一种网格的修匀或光顺的方法。

上式作为一个简单而又常常比较有效的迭代公式被广泛应用于网格修匀,但它也存在一些根本的缺陷:1)当存在非凸的几何区域时,某些单元可能会重叠,结点可能被移到区域的边界之外;2)在3D网格中,一个结点可能被移至某个相邻单元的内部;3)不能用于边界结点的调整。尽管后来Herrmann及其他研究人员又分别提出了一些改进的算法,但终究不可能克服修匀技术所固有的不足。

众所周知,在结构优化中优化方法可分为准则法和数学规划法两大类。数学规划法是严格按优化问题的数学描述进行求解,在理论上是严谨的,但在实际应用中其效率将随优化问题的规模增大而下降;准则法是基十直观推测,尽管有一定道理,但在理论上并不能保证获得最佳的结果。著名的三杆析架向题,己严格证明了满应力准则设计和最轻重量设计并不总是等价的。关于上述两类方法的实际应用,一般说来,设计变量少规模小的问题尽可能采用数学规划法来逼近最优解,而设计变量多规模人的问题尽可能引进准则的技巧来调整计算规模。

与此类似,在网格结点位置的优化中,Laplacian修匀属于准则法,它具有准则法普遍所具有的优点:方法简单,计算量小,速度快。Laplacian修匀技术作为网格生成方法的一种补充,己为大多数研究人员所接受。但是Laplacian修匀同样也具有准则法所固有的不足,最根本的问题在于不能确定修匀后的网格是否为最优网格。

图1为网格优化前后的比较。铺路法由于是从边界向区域内部生成单元,所以内部单元的质量比较差。从图中可以看出,经Laplacina修匀后,中心的网格质量得到提高。

3 结论

本文主要介绍了网格加密算法,采用加密算法,达到了网格局部加密效果,而且提高了计算精度,满足了计算要求。此外还介绍了网格质量优化和节点编号优化算法,经过优化后网格质量更高,利用节点编号优化算法,减少了网格的半带宽,节省存储容量,而且能够提高计算速度。

摘要:在有限元计算中,人们常对某一局部区域的位移和应力感兴趣,或者希望在此范围内能获得更高的精度。如果采用精度更高的网格,或者增加单元的数量,这时对计算机的存储空间需要比较大,计算时间也会变长,有些可能就无法在计算机上求解。局部网格加密方法,只需对模型中需要部位的初始网格加密,在保证精度的前提下,这方法只需增加计算模型局部单元的节点数,而不必对整个模型重新进行单元划分以增加整个模型的单元密度,因而大大减少了计算机的存储量和计算时间,提高了计算精度。

关键词:二维有限元,超收敛性,网格加密

参考文献

[1]黄晓东.二维有限元网格的局部加密方法[J].华南理工大学学报.2004,32(12):45-53.

网格质量优化 篇7

随着全球经济一体化和市场国际化的形成,企业所处的竞争环境发生了根本性的改变。市场竞争的主要方面已由原来的有形产品、服务的竞争转向无形的文化、技术、品牌的竞争,由单个企业之间的竞争转向企业集团和企业供应链之间的竞争[1]。在复杂多变的供应链中企业间的信息由无序、分散、异构的形式转换为有序集成的状态,支持成员企业之间的信息通信与协作,是实现供应链协同管理的重要前提[2]。然而,传统供应链的信息化程度不高,难以实现信息及时、准确、安全的传输,给供应链中的企业造成了很大麻烦。

网格是一门新兴技术,解决分布资源的共享问题,是网格的核心内容[3]。通过共享实现企业对资源的实时掌控和利用,对各种资源进行合理管理以及适合的调度配置,本文通过网格技术实现信息共享,解决结合时间问题,简化企业的货物流程,实现对网格供应链协同管理方面一定程度的优化。

1 理论概念及国内外研究现状

1.1 网格的概念

网格的概念是从电力网的概念引申而来的。1998年,Ian Foster对网格作了定义,网格(Grid)的目的是实现大范围内对等资源的共享,这种共享不仅仅局限于简单文件的交换,更强调对计算能力、软件、数据以及其他资源的直接访问[4]。清华大学李三立院士提出了一个更为广泛的定义,网格是一个集成的计算与资源环境,或者说是一个计算资源池,它能够充分吸纳各种计算资源,并将它们转成一种随处可得的、可靠的、标准的同时还是经济的计算能力。互联网主要为人们提供电子邮件、网页浏览等通讯功能,而网格则功能更多更强,让人们透明地使用计算、储存等其他资源[5]。简单的说,网格是一门技术,它是互联网发展的又一个新的阶段,它把整个互联网整合成一个巨大的超级计算机,从而实现了各种信息资源的全面共享。

1.2 网格供应链的概念

本文在前人研究的基础上结合作者对网格技术和供应链管理相结合的研究给出如下定义:网格供应链是运用网格技术将整条供应链上的各个企业看作网格结构的各个网状节点,将各个节点的信息整合到一起,实现信息之间的传输、交流和共享,从而实现资源的最大利用。网格环境下供应链管理系统模型如图1所示。

1.3 当前研究状况

1.3.1 网格的研究发展状况

当前对于网格的研究发展,国外尤其以美国为主,大体应用在以下几个方面:(1)GIG是主要应用在军事方面的网格计划;(2)Globus是国际上最具影响力的网格计算项目之一,旨在更大程度的实现信息资源的共享和相互操作;(3)PIG主要是网格环境下的高性能计算、高性能物理和海量数据储存。我国的网格研究发展状况,已经发展了包含中国国家网(CNGrid),国家自然科学基金网格(NSFC Grid),上海教育科研网格等在内的六大网格项目[5]。

1.3.2 Petri网的研究发展状况

Petri网是由德国Carl Adam Petri博士于1962年提出的一种网络结构。经过将近50年的发展,在Petri网的基础上又产生了时间Petri网、有色Petri网、广义随机Petri网等高级Petri网。基于Petri网的供应链建模方法可以描述系统动态特性,能够很好地描述供应链中的物流、信息流和资金流。Petri网的研究已经引起国内外相关研究人员高度重视,并且产生了大量的研究成果[6]。

2 网格供应链协同管理的意义

2.1 传统供应链

2.1.1 传统供应链模式

传统供应链的模式过于单一,供应链中的企业与企业之间缺乏必要的沟通,造成了信息的失真、延迟等,不利于企业的长久发展。传统的供应链信息传输如图2所示:

2.1.2 传统供应链协同管理方面出现的问题

当前我国制造型企业的信息化程度不高,这些不足在供应链管理上主要体现为[7]:

(1)链的敏捷性不足;

(2)资源的整体利用率低;

(3)各节点信息系统的异构性;

(4)信号失真。

2.2 网格供应链

2.2.1 网格供应链模式

在网格环境下,各种资源信息能够更好、更快、更有效的在供应链中交流。网格环境下的供应链信息传输如图3所示。

2.2.2 网格供应链协同管理的优势

(1)响应敏捷;

(2)高度集成和共享;

(3)实现资源全面共享;

(4)数据处理能力超强。

3 基于时间Petri网的货物流程建模

含时间因素的Petri网简称为时Petri网,时间Petri网可以对流程在时间方面进行定性分析[8]。

3.1 时间Petri网(TPN)

3.1.1 定义:时间Petri网是一个六元组(P,T,B,F,M,SI)[8]其中:

(1)P={P1,P2…,Pm}是位置的非空有限集;

(2)T={T1,T2…,Tn}是转移的非空有限集;

(3)B:P×T→N是后向关联方程;

(4)F:T×P→N是前向关联方程;

(5)M0是初始标识(P,T,B,F,M0组成基本Petri网);

(6)SI是∀t∈T,SI(t)=[SEFT(t),SLFT(t)],静态时间间隔。其中,SEFT(t)是t使能后的最早触发时间,SLFT(t)是t使能后的最晚触发时间。

3.1.2 时间网的可达性分析

带时间戳类的状态类(CS-class)[9]是一个三元组(M,D,ST),其中:M是标识;D是触发区间,即标识M所使能转移的启动时间间隔集。对于某一个使能的转移ti,D(ti)代表启动时间间隔。D(ti)=[EFT(ti),LFT(ti)],令EFT(ti)是当前状态下ti的最早触发时间,LFT(ti)是当前状态下ti的最晚触发时间;ST是CS-class的时间戳类,是个“全局”时间间隔,网的初态表示为C0=(M0,D0,ST0),M0是初始标识,D0包含所有M0所使能的转移所对应的静态时间间隔,ST0=[0,0]。STi表示网从C0运行到Ci状态的时间间隔。

3.1.3 时间Petri网的可达性分析算法

对于时间Petri网的可达性分析就是对其可达树的分析。它是建立在基于时间戳类的状态类全局时间变量基础之上的,实际上可达树算法就是它们的状态变换顺序次序的排列。其算法规则如下[10]:

一个enabled(使能,就是能满足基本网内transition可触发的条件)的transition,tj称作在Ck中所有enabled的transition的集合。另外,设Fr(Ck)中所有firable的transition的集合,并定义:MLFT(Ck)定义了Fr(Ck)最晚可能触发时间的最小值。这里将属于Fr(Ck)的firable的transition分为两类:

(1)在时间Petri网到达状态Ck之前已经firable的transition即OLD;

(2)在Ck中新产生firable的transition;即NEW设tf∈Fr(Ck)的触发使得状态由Ck变迁到Ck+1,那么设Ck=(Mk,Dk,STk),而Ck+1=(Mk+1,Dk+1,STk+1)。下面是具体的transition的触发规则:

Step1.计算tf的^Dk新值,使得:^Dk(tf)=[EFT(tf),MLFT(Ck)],令STk+1=^Dk(tf);

Step2.对在Ck+1之前已经firable的transition tj(tj≠tf)重新计算它的Dk+1,使得:Dk+1(ti)=[max(EFTk(tj),EFT(tf)),LET(tj)];

Step3.计算触发tf后新产生的firable的transition的Dk+1值,若ti≠tf,那么:Dk+1(tj)=SI(tj)+STk+1;如果tf在触发之后仍然firable,那么:Dk+1(tf)=SI(tf)+STk+1。以上就是transition的触发规则,最后一步对tf的处理表明,对于自身触发后仍然enable的transition,将它当作新产生的enable的transition来对待。

3.2 货物流程的时间Petri网模型

触发时间可以体现出企业对顾客、对市场的响应速度,即触发时间越提前就越能体现出供应链的敏捷性,有效地来提高供应链中企业的运营效率,所以以触发时间作为衡量指标对供应链模型中货物的流程时间进行评价。

在图4的基本TPN模型中,库所用圆圈表示;变迁用粗实线表示;变迁用有向线段表示,此模型作为后面实例建模的理论依据。

3.3 实 例

为了简单明确的说明,例子中只涉及一家企业和两家供应商,企业将生产产品A,需要原料B和原料C,两家供应商在接到订单后分别负责提供原料B和C(其中,原料B为供应商在无货状况下的重新生产制造,原料C为供应商在有货状况下可直接从仓库发货)。传统供应链TPN模型如图4所示,基于网格环境下的供应链TPN模型如图5所示;表1为图4的符号说明,表2为图5的符号说明。(说明:图中分析供应商有货和无货两种状态流程;其中上支路线为无货,下支路线为有货)

计算图5传统供应链TPN模型中原料B所需的时间,即缺货状态下:

C0状态:ST0=[0,0]

D0={D0(t1)∶[1,3]},MEFT(C0)=3

触发t1产生C1状态:ST1=[1,3]

NEW={t2},OLD=>

D1={D1(t2)∶[3,8]},MLFT(C1)=8

触发t2产生C2状态:ST2=[3,8]

NEW={t3},OLD=>

D2={D2(t3)∶[7]},MLFT(C2)=16

触发t3产生C3状态:ST3=[7]

NEW={t4},OLD=>

D3={D3(t4)∶[10]},MLFT(C3)=21

C3为供应商将原材料B提供给生产厂商的状态,即供应商从接到订单到交货所用的时间间隔就是[10];

同理计算图6网格资源环境支持下供应链TPN模型中原料B所需要的时间:

C0状态:ST0=[0,0]

D0={D0(t1)∶[1,3]},MEFT(C0)=3

触发t1产生C1状态:ST1=[1,3]

NEW={t2},OLD=>

D1={D1(t2)∶[5]},MLFT(C1)=11

触发t2产生C2状态:ST2=[5]

NEW={t3},OLD=>

D2={D2(t3)∶[8]},MLFT(C2)=16

即网格环境下,供应商从接到订单到交货所用的时间间隔就缩减到[8];

同理,可计算在有货状态下对于原料C,供应商从接到订单到交货在传统TPN模型下所用时间间隔为[8]可缩减为在网格TPN模型下的[6]。

结论分析:实例中分析了供应商在有货和缺货的两种情境下,以供应商无货情境下关于货物B的流程为例,把传统供应链模式和网格供应链模式下的货物流程时间进行对比,结果如图7所示。

从改善前后的点折线趋势图可以清楚直观的看到,对于货物B,改善后的最早、最晚触发时间有了明显的降低,企业从货物需求、供应商响应到货物到达的传输效率有明显的提升,对供应链协同管理中货物流程有了一定程度的优化。充分地从时间上说明了网格供应链协同管理的有效性和可行性,体现了网格供应链在协同管理方面的优势。

4 结束语

本文在总结了前人研究的基础上,提出了有关网格供应链协同管理流程时间的求解方式,利用基于时间Petri网模型结合实例分析了网格供应链中的货物流程,以触发时间值为衡量参数,说明有了网格技术的支持,有效地提高了信息在供应链流程中的传输,对供应链协同管理进行了合理的优化。文章中还有不足之处,现实中企业间的数据传输和计算量更大,文章的下一步将结合计算机编程技术,对供应链货物流程的时间Petri网模型进行编程,从而能更迅速、更智能地处理数据,更好地体现出网格供应链协同管理的优势。

摘要:为了使当前供应链协同管理货物流程面临的时间效率得以提高,提出了一种将网格技术和供应链协同管理相结合的货物流程触发时间求解方式。在该求解方式中,为获得供应链货物流程的触发时间值,利用基于时间Petri网的可达性分析算法模型进行仿真计算,以在从订货、发货到收货的流程中,得到每个流程相对应的最早、最晚触发时间值,进而通过在网格环境下改善后的流程触发时间与相应的传统供应链流程触发时间值进行对比,明显的减少了时间上的浪费,提高了货物流程的时间效率,体现了将网格技术应用于供应链协同管理的优势。

关键词:供应链协同管理,网格,网格供应链,时间Petri网,触发时间

参考文献

[1].马士华,黎继子.供应链管理[M].北京:机械工业出版社,2011.1

[2].李芳,邱俊茹,叶春明,等.基于供应链的协同生产调度研究发展现状与展望[J].计算机应用研究,2010,27(11):4021~4023

[3].张小娟,李华.网格环境下基于语义关联的信息检索[J].计算机应用,2009,29(6):1517~1519

[4].Foster I,Kesselman C.The Grid:Blueprint for a NewComputing Infrastructure[M].San Francisci:Morgan KaufmannPublishers Inc,1928:279~309

[5].谢晓兰,牛秦洲,李春泉.网格理论与应用[M].北京:冶金工业出版社,2010

[6].程晨.基于Petri网的供应链整合问题研究[D]:[硕士学位论文].无锡:江南大学,2009

[7].陈志圣,黄立平.基于网格的供应链管理信息平台的构建[J].计算机工程与设计,2007,28(19):4674~4676

[8].蒋艳辉,姚靠华,李娴.基于时间网格的商品流通领域供应链信息集成效率[J].系统工程,2011,29(6):95~99

[9].Wang jiacun,Deng Yi,Xu Guang.Reachability An-alysis of Real-Time System Using Petri Nets[J].IEEE Trans-action on System,Man and Cyben-etics,2000,30(5):725~736

上一篇:外观设计专利申请下一篇:治疗安全性