有限元第9章 有限元法程序设计

有限元第9章 有限元法程序设计

ID:18541300

大小:383.50 KB

页数:73页

时间:2018-09-18

有限元第9章 有限元法程序设计_第1页
有限元第9章 有限元法程序设计_第2页
有限元第9章 有限元法程序设计_第3页
有限元第9章 有限元法程序设计_第4页
有限元第9章 有限元法程序设计_第5页
资源描述:

《有限元第9章 有限元法程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章 有限元法程序设计9.1 引言在用有限元法进行结构分析时,将会遇到大量的数值计算,因而在实用上是一定要借助于计算机和有限元程序,才能完成这些复杂而繁重的数值计算工作。事实上,有限元程序的设计是有限元研究的一个很重要的部分。它是理论和方法的载体,是理论用于实际必不可少的桥梁,是有限元学术研究与实际应用水平的代表。有好的、高深的理论和算法并不等于有好的程序,还必须有实际的程序开发经验的多年积累、丰富的计算机知识、大量的资金和人力的投入,多年的开发修正与改进才能编制出好的程序来。一些著名的有限元程序开发的发展历史

2、也体现出了这一规律。设计一个用于结构分析的有限元法程序,要求设计者至少应该掌握下列知识:(1)掌握一种程序开发工具,如VC(VisualC++),CB(C++Buildel),Delphi,VB(VisualBasic)或VF(VisualFortran)等。在本书中所有程序均用VC写出。(2)数值方法,如线性和非线性代数方程的求解,矩阵特征值的求解以及数值积分等。(3)结构分析的基本理论,特别是用有限元法对结构进行分析的原理、方法和步骤。由于一般的软件工程师不懂结构分析原理,因此,结构分析程序的开发任务主要应由

3、结构工程师来承担。掌握结构分析程序设计方法,是以计算机辅助设计为主要标志的现代工程设计方法对结构工程师的要求。作为结构工程师,应该具有对结构分析程序的使用、阅读、修改和编制的基础知识和技术素质。有限元程序的总体组成可分为三个部分:前处理部分,有限元分析本体部分以及后处理部分。有限元分析本体部分是有限元分析程序的核心。它根据离散模型的数据文件进行有限元分析,有限元分析的原理和采用的数值方法集中于此。因此,这一部分程序是有限元分析是否准确可靠的关键部分。73有限元分析所使用的离散模型的数据文件主要包括:模型的节点数、

4、节点坐标与节点编码,单元数据与单元编码;材料和载荷信息等。实际工程问题的离散模型数据文件十分庞大。一般情况下,用人工方法来生成工作量太大,并且容易出错,有时甚至是不可能的。为解决这一问题,有限元程序必须有前处理程序。前处理程序根据使用者提供的对计算模型外形及网格要求的简单数据描述,能自动地或半自动地生成离散模型的数据文件,并能绘制结构计算简图和网格图,供用户检查修改。前处理程序的功能在很大程度上决定了有限元程序使用的方便性。有限元分析程序的计算结果是由离散模型而得到的,输出的数据量往往很大,不易整理,也不易获得分

5、析对象的全貌。所以,一个使用方便的有限元分析程序还应具有较强的后处理功能。能够按照用户的需要提供应力分级图、等值线图,结构变形图或振型图等图形显示功能,以及按照一定的要求对计算成果进行列表显示或打印。因此,这部分程序设计的好坏,对整个有限元程序使用起来是否方便,具有举足轻重的作用。程序设计工作经历了纯技巧阶段,已经形成了一门被称为软件工程的学科。对于程序的质量评价也逐渐形成了一套客观标准。一个质量较高的程序应该具有较好的可管理性和较高的运行可靠性。可管理性要求程序的可读性好,易于调试、修改和发展,使用方便且效率高

6、等。可靠性要求程序能正确无误地完成规定的功能,当出现不正常情况时,能中止无价值的运行并输出有关的信息。程序开发的过程大致可分为下述三个阶段:(1)程序功能的规定;(2)程序结构的设计,源程序及其说明的编写;(3)调试和纠错。目前在实际的程序开发中,流行着两种截然不同的方法,即面向过程的方法和面向对象的方法。大量的资料说明,在开发大型应用软件时,面向对象的方法与传统的过程化程序设计方法相比,显示出很大的优越性。然而在开发一些规模不大的中小型程序时,面向过程的方法仍然有一定的优势。本章将以平面杆系结构的静力分析为例,

7、介绍用面向过程的方法进行有限元主体程序设计的方法。9.1.1 结构化程序设计概述73结构化程序设计方法是一种传统的软件设计方法。其基本要点是,自顶向下,逐步求精,以及模块化设计。其基本思想是,把一个复杂问题的求解过程划分成若干阶段来进行。每一个阶段所要解决的问题都控制在人们容易理解和处理的范围内,直到把原来的问题变换成若干个易于编写成程序的子问题(即模块)为止。这种程序的逐步分解和精化是从抽象的做什么到具体的怎么做的发展过程。程序展开的基本结构有下列三种:(1)顺序结构。把一个功能块展开成若干个顺序连接的语句块。

8、用元语言(即程序设计语言和自然语言的一种混合文体,也称伪语言)表示如下:语句块1;//入口语句块2;…………语句块n;//出口(2)选择结构。把一个功能块展开成两个可供选择的语句块。用元语言表示如下:if(exp)//入口语句块1;else语句块2;//出口在C/C++中,Switch语句组成的结构也属于这种结构。(3)循环结构。把一个功能块展开成需要重复执行的语句块。用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。