红字显示因为消元而出现的非零元素。例如,第7、8两节点,本来与第1节点不共单元,对第1节点没有影响,但现在有了。在消元中,我们用第1行减去第4行(乘除两个系数后),因而第4行的元素全部出现在第1行中。
消元的结果,是第4行主元素所在的列,除主元素外,其余元素全被消成零。此时,就可以将第4行存入指定文件中,如程序第203行所示。程序第205行将此时的波前节点号写入另一指定文件。以后回代需要。程序第204行写方程Ax =
B的等号右端自由项。 有关数据存入文件后,就可以将第4行清零了(程序第206至208行)。此时
波前矩阵如下表所示。
表5,第 4 节点清除后的波前矩阵
波前法与高斯消去法的效率之比较
比较结果见下表。第1列是比较所用的6种网格。Cdiv 代表沿圆周的分割,Tdiv代表沿厚度方向的分割。第2列是节点数。第3列是波前矩阵的最大宽度。第4列和第5列分别是使用程序四(波前法)和程序一(高斯消去法)解题的时钟时
间(elapsed time)。
由上表可看出,当节点数很少(24和80)时,两种方法算题的时间差不多,但当节点数达到288时,差别开始显示出来,高斯消去法需时比波前法将近多一倍。64 x 16的网格(1088节点),时间差别达到15倍。96 x 24 (2400节电),差别到了60倍。到了最后一个网格,128 x 32(4224节点),运转程序一(高斯消去法)需内存563MB,这已经超出了我的计算机内存(512MB),因而所
需时间可认为无穷大。
小结:波前法的过去、现在和未来
在人类计算技术发展史上,有限元方法可以说是个奇迹。从来没有任何一种计算方法,能像有限元这样,深刻而广泛地影响着人们的日常生活,它使得上百的人成为大师,上千的人成为专家,上万的人靠它吃饭,上亿的人每天乘坐使用有限
元程序设计的飞机、汽车、轮船、火车。 在有限元半个世纪的发展史当中,无数人写了无数关于有限元的文献,可用汗牛充栋来形容,时至今日,已经无人能够全部读完(也没必要)。但1970年Irons发表的那篇关于波前法的文章,大概要算有限元文献里被引用次数最多的一篇了。波前法的提出,突破了制约有限元应用的瓶颈,使得当时内存量很小的计算机,可以解算规模很大的题目。可以说,没有波前法,就没有有限元的大发展,
也就没有有限元的今天。 但是,波前法的使用,也有上限。就是波前矩阵不能超过计算机内存。以我的计算机为例,516MB内存。假设有一半可用来计算,就是约256MB。这相当于256x1024x1024/8个双精度实数。将此数开平方,得到约5700。也就是说,在我的计算机上,能使用波前法解算的题目,其波前矩阵的最大阶数,约为5000。
也就是说,如果是解算三维问题,其变量总数,大约是五、六万。 所以,今天,经典波前法,例如本文程序四,您只能在大学里搞科研的那些教授自己开发的有限元恐龙化石里找得到了。今天,在像ANSYS那种商业有限元程
序里,经典波前法早已被波前法的变种所取代,就是多波前法。 简单地说,多波前法,就是将网格分成许多子区域,在每个子区域上使用波前法。这样可以将波前矩阵的阶数降低,以突破内存容许的解题上限并提高效率。每个
子区域间数据的依赖关系与传递,是用所谓消去树来管理的。 毋庸置疑,这样的多波前法,算法更加复杂,且编程量巨大,可能一万行都嫌少!
当然,商业有限元程序里,不光是多波前法,还有其它方法;不光是直接解法,还有迭代法。这些程序,光解方程的部分,据介绍,有的已经达到三万行。 但,万变不离其宗。欲理解有限元程序,欲开发有限元程序,必须理解波前法。
参考文献:
Pascal JOLY,《Mise en Oeuvre de la Méthode des Eléments Finis》。
J.N. REDDY, 《An Introduction to The Finite Element Method》, McGraw-Hill Book Company,1984
周洪伟,吴舒,陈璞,《有限元分析快速直接求解技术进展》,“力学进展”杂志,第37卷,第2期,175-188页,2007年5月25日。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库波前法及matlab实现(6)在线全文阅读。
相关推荐: