2022年面向对象的动力有限元程序设计 .pdf
《2022年面向对象的动力有限元程序设计 .pdf》由会员分享,可在线阅读,更多相关《2022年面向对象的动力有限元程序设计 .pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象的动力有限元程序设计张渊( 北京交通大学土木建筑学院,北京 100044) 赵海艳 (天津城建学院土木工程系,天津 300384) 摘要:本文将面向对象的程序设计方法引入到有限元程序设计当中 . 并且通过动力有限元程序设计当中两个类的实现,阐明了面向对象方法在动力有限元程序设计中的运用 . 关键词:动力有限元;面向对象程序设计方法,类; C+ Object-oriented Dynamical Finite Element Programming Zhang Yuan(College of Civil Engineering and Architecture, Beijing Jiao
2、tong University,Beijing,100044,China) Zhao Hai-yan(Department of Civil Engineering, Tianjin Urban Construction Institute.Tianjin,300384,China) Abstract: The object-oriented programming method was introduced in the development of finite element method software in this paper. Through implement of two
3、class in the dynamical finite element programming, the paper illustrate the application of object-oriented programming method in the designing of dynamical finite element method software. Key words: dynamical finite element method; object-oriented programming method; class; C+ 引言 : 面向对象编程( Object Or
4、iented Programming )在有限元程序设计中的应用,已经在国内外引起了关注,并且已经取得一定的研究成果。传统的有限元程序设计采取了结构化的程序设计方法。结构化程序设计存在着不易调试和维护的弊端。由于在结构化语言中,数据分作全局数据( global data )和局部数据 (local data) 两种。在使用结构化程序进行有限元程序设计时,不难发现,几乎所有重要的数据都是全局数据。假设有一个新的程序员,受命为一个大型有限元程序编写一个小函数,则此程序员在设计程序前,首先必须了解整个计划所使用的全局数据,这将花费很多的时间。如果此程序员在访问全局数据时发生错误,这将会影响到原先程序
5、中所有用到此全局数据的函数或过程,这将会造成调试上的困难。而且结构化语言还有一个缺点,这就是如果修改了某个数据,即使对数据作了较小的修改,但还是会使得整个程序中所有用到此数据的函数需要修改,不利于后期的维护 1 。另外,在进行大型有限元分析时,在进行数组处理时,由于数据量巨大,一般的结构化语言,没有指针功能,使得编译的时候内存消耗巨大。总之,结构化程序设计,程序代码的重用率低,程序可移植性差,使得进行二次开发无法实现或者很困难,而面向对象编程技术可以克服以上的弊端。面向对象程序设计特性 : 面向对象程序设计的本质是把数据和处理数据的过程(函数)当成一个整体 - 对象。面向对象程序设计的实现需要
6、封装和数据隐藏技术,以及继承和多态性技术。而 C+ 语言充分支持面向对象程序设计 1 。 (1) 封装和数据隐藏。 C+ 通过建立类支持封装性和数据隐藏。类一旦建立,就可以看成是完全封装的实体,可以作为一个整体单元使用。类的封装就是数据和算法(操作)结合,构成一个不可分割的整体(对象),其次是,在这个整体中一些成员是保护的,它们被有效地屏蔽,以防外界的干扰和误操作。另外一些成员是公共的,它们作为接口提供给外界使用。这些正体现了程序的可靠性。 (2) 继承和重用。 C+ 采用继承支持重用的思想,程序可以在扩展现有类型的基础上声明新类型。从基类(父类)派生出它的派生类(子类),使派生类中成员可以访
7、问基类的成员,进而实现程序代码的重用。我们在进行有限元程序设计时,非线性单元可以由相应的线性单元派生。 (3) 多态性。如果编程语言不支持多态,则不能够成为面向对象的。如果只支持类而不支持多态,我们只能够称这种语言是基于对象的。通过继承的方法构造类,采用多态性为每个类指定表现行为。其实,人与人之间的思想交流,只是不是做同一件事情,一般总是在更高的抽象层面,这样有利于更直接和精确地把握思考的事物。这就是人的思考问题的方式,也是自然的多态方式。沿着这种思路设计的程序,可以有限元程序模型更加准确的描述人们所思考的问题。多态性让类的设计者去考虑工作的细节,使得有限元程序代码极大地简化。我们在进行有限元
8、程序设计的时候,每一个结点类都需要进行打印载荷数据和完成所有载荷的处理,这是侯,我们就可以将这两个函数设置成为虚函数。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 以上面向对象的特性,使得程序的设计具有可靠性,灵活性和高效性。另外,面向对象高效性的另外一个重要体现就是可以进行动态的堆内存分配。而正是动态内存分配,才使得大型有限元程序计算效率得到了提高。传统的结构化程序中的变量和函数在编译的阶段都被保存在堆栈中,属于静态联编,使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年面向对象的动力有限元程序设计 2022 面向 对象 动力 有限元 程序设计
限制150内