第十章--有限单元法程序设计2-有限单元法与程序设计-教学课件

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

本课程主要内容弹性力学的变分原理平面、空间、板壳、杆系结构的有限单元法动力问题的有限单元法材料非线性问题的有限单元法几何非线性问题的有限单元法有限单元法程序设计第十章有限单元法程序设计二、结构化程序设计三、程序的可读性和程序风格四、程序调试五、典型结构分析程序主要流程和数据结构一、有限元软件的类型及设计方法第十章有限单元法程序设计一、有限元软件的类型及设计方法1、概述1)有限元软件是有限元理论和方法的载体,是有限元学术研究与实际应用水平的代表。2)掌握有限元程序设计方法是以计算机辅助设计为主要标志的现代工程设计方法对结构工程师的要求。3)设计有限元程序须掌握的知识:a)掌握一种程序开发工具(语言)。b)数值方法,如方程组的求解、矩阵特征值的求解、数值积分等。c)有限元法的原理、方法和步骤。第十章有限单元法程序设计一、有限元软件的类型及设计方法2、有限元软件的类型1)面向问题的专用软件针对某种结构或结构系统开发的软件,如连续梁设计软件、网架设计软件、地基基础设计软件等。这类软件较简单、功能也单一、使用范围窄,但计算效率很高。2)大型结构设计软件用于分析、设计某些有相同或相似结构性状的结构设计软件。如TBSA可用于各类高层结构的分析。第十章有限单元法程序设计一、有限元软件的类型及设计方法2、有限元软件的类型3)集成体系设计软件包含杆、梁、板、壳、块等单元类型,适用于大型复杂结构的分析、设计。如3D3S、PKPM等4)通用有限元分析软件采用有限元法实现对任意结构的几乎是任意性能的分析,得到结构的各类效应。如ANSYS、SAP2000等第十章有限单元法程序设计一、有限元软件的类型及设计方法3、有限元程序设计方法1)过程化程序设计针对具体的分析对象,通过流程、顺序实现程序功能。该方法要求程序员熟悉并编写程序内部的各个细节。2)结构化程序设计将分析对象按功能分解成模块,由功能模块来实现具体的细节。而这些功能模块可由许多程序员分别编写,最终通过功能调用完成分析过程。3)面向对象的程序设计采用“建模”的观点,用统一的概念和术语使分析、设计和实现协调一致,极大地提高了软件成果地可再用性和可扩充性。第十章有限单元法程序设计二、结构化程序设计1、基本思想:把一个复杂问题的求解过程划分成若干阶段来进行,每一个阶段所要解决的问题都控制在人们容易理解和处理的范围内,直到把原理的问题变换成若干个易于编写程序的子问题(模块)为止。2、基本要点:自顶向下,逐步求精以及模块化设计。逐步分解、精化就是从抽象的做什么到具体的怎么做的发展过程。3、结构化程序的基本结构:1)顺序结构-把一个功能块展开成若干个顺序连接的语句块。语句块1语句块2……语句块n入口出口第十章有限单元法程序设计二、结构化程序设计3、结构化程序的基本结构:1)顺序结构2)选择结构-把一个功能块展开成两个可供选择的语句块。Do()语句块Enddo3)循环结构-把一个功能块展开成需要充分执行的语句块。If()then语句块1Else语句块2Endif第十章有限单元法程序设计二、结构化程序设计4、程序的模块化编程:程序任务分析逐步求精的结果是以子功能块为单位的算法描述。以子功能块为单位进行程序设计,实现求解算法的方式称为模块化设计。模块化设计方法可有效地简化问题的复杂性和提高程序的正确性。1)自顶向下的模块化编程法2)自底向上的模块化编程法两种基本的模块化编程方法:第十章有限单元法程序设计二、结构化程序设计4、程序的模块化编程:1)自顶向下的模块化编程法2)自底向上的模块化编程法第十章有限单元法程序设计三、程序的可读性和程序风格1、程序的可读性为了便于程序的维护和修改,要求程序应具有良好的可读性。提高程序的可读性是以良好的程序设计风格来体现的。2、程序的风格不同程序员在编写程序的过程中,在代码文件、语句构造以及变量命名等方面所表现出的特点。第十章有限单元法程序设计三、程序的可读性和程序风格2、程序的风格程序风格体现在以下方面:1)程序的模块化、结构化a)全部程序均由三种基本结构组成,不包含其它类型的结构。b)只有一个入口和一个出口。c)程序的执行是有限的,无死循环。d)无死语句,即每条语句均有被执行的机会。第十章有限单元法程序设计三、程序的可读性和程序风格2、程序的风格程序风格体现在以下方面:1)程序的模块化、结构化2)程序内部的文档a)必要的注解。b)正确的命名和使用标记符。c)充分利用分隔符。d)正确采用缩进规则。e)明确程序间的调用关系。第十章有限单元法程序设计三、程序的可读性和程序风格2、程序的风格程序风格体现在以下方面:1)程序的模块化、结构化2)程序内部的文档3)数据说明-声明变量应标准化4)语句的构造-简单直接5)效率-清晰性、可读性优先于效率第十章有限单元法程序设计四、程序的调试程序调试的步骤:1)单元调试-分别调试每个模块2)集成调试-将模块组合起来调试3)验收-确认程序正确单元调试分为渐增式和非渐增式两种方式。调试顺序可以自顶而下,也可自底而上。纠正错误可采用原因排除或回溯两种方法。第十章有限单元法程序设计1、结构分析程序的基本组成1)前处理2)结构分析准备结构计算所需的结构几何数据、荷载数据、边界条件、材料数据、计算控制信息等。前处理程序的功能在很大程度上决定了程序使用的方便性。根据离散模型的数据文件进行有限元分析。有限元分析的原理和采用的数值方法集中在该模块,是分析准确可靠的最关键部分。3)后处理图形显示计算结果,并可按一定要求对计算结果进行列表显示或打印。后处理部分的好坏对于大型结构的有效分析也具有举足轻重的作用。五、典型结构分析程序主要流程和数据结构第十章有限单元法程序设计2、结构分析程序的主要流程五、典型结构分析程序主要流程和数据结构输入有限元模型解线性方程组求解整体位移列阵形成总体刚度矩阵查找单元位移列阵计算单元应力输出结点位移和单元应力引入边界条件形成整体荷载列阵计算单元刚度矩阵计算单元荷载列阵第十章有限单元法程序设计3、结构分析程序的主要数据结构五、典型结构分析程序主要流程和数据结构1、确定数据的类型及存储方式1)数据类型:内部数据类型:派生数据类型:整型、实型(单精度、双精度)、复型、逻辑型、字符型利用内部数据类型定义的用于记录比较复杂信息的数据类型第十章有限单元法程序设计3、结构分析程序的主要数据结构五、典型结构分析程序主要流程和数据结构1、确定数据的类型及存储方式2)数据存储方式:常量变量数组:数组的维数第十章有限单元法程序设计3、结构分析程序的主要数据结构五、典型结构分析程序主要流程和数据结构2、结构分析程序的主要数据结构(用内部数据类型定义)1)前处理模块:N_node-节点总数N_node_Force-荷载作用节点总数整型变量:N_node_Support-支座节点总数N_Element-单元总数N_Materialtype-材料类型总数N_Sectiontype-截面类型总数(以空间刚架为例)N_Pressure-非节点荷载总数第十章有限单元法程序设计3、结构分析程序的主要数据结构五、典型结构分析程序主要流程和数据结构2、结构分析程序的主要数据结构(用内部数据类型定义)1)前处理模块:I_Element(4,N_Element)-单元左、右节点编号,单元材料类型号、单元截面类型号整型数组:I_Boundary(2,N_node_Support)-支座节点编号,约束自由度编号第十章有限单元法程序设计2、结构分析程序的主要数据结构(用内部数据类型定义)1)前处理模块:XYZ(3,N_node)-节点x、y、z坐标Elaste_Const(4,N_Materialtype)-材料的弹模、剪模、泊松比、密度Alfa(N_Element)-单元局部坐标系y轴与整体坐标系y’轴夹角Sect_Size(6,N_Sectiontype)-截面尺寸及计算得到的截面常数实型数组:第十章有限单元法程序设计2、结构分析程序的主要数据结构(用内部数据类型定义)1)前处理模块:Force(2,N_nodeForce)-集中荷载作用节点编号、荷载方向、荷载大小实型数组:Pressure(5,N_Pressure)-非节点荷载作用单元编号,荷载类型、起止位置、大小第十章有限单元法程序设计2、结构分析程序的主要数据结构(用内部数据类型定义)2)结构计算模块:N_FreedomDegree-自由度总数整型变量:N_Max-总刚总元素数第十章有限单元法程序设计2、结构分析程序的主要数据结构(用内部数据类型定义)2)结构计算模块:L_Diagonal(N_FreedomDegree)-主对角元素在一维总刚数组中的位置整型数组:L_Element(12)-单元节点自由度在总刚中的定位矩阵第十章有限单元法程序设计2、结构分析程序的主要数据结构(用内部数据类型定义)2)结构计算模块:Stiff_Ele(12,12)-单元刚度矩阵实型数组:R(N_FreedomDegree)-荷载向量Stiff_Whole(N_max)-整体刚度矩阵Re(N_FreedomDegree)-等效荷载向量Tran(12,12)-坐标变化矩阵第十章有限单元法程序设计2、结构分析程序的主要数据结构(用内部数据类型定义)3)后处理模块:Force_Ele(12,N_Element)-单元内力数组实型数组:Stress_Ele(4,N_Element)-截面应力数组大作业要求:1、编制结构有限元分析程序一套程序须包含结构计算信息读入、单元刚度计算、整体刚度计算、边界条件处理、节点荷载向量生成、线性方程组求解(LDLT法)、内力(应力)计算、计算结果输出等基本功能模块。程序分析对象自定,可静力亦可动力,可线性亦可非线性。编程语言自选,Fortran、VB、VC均可。2、给出主要流程图及主要变量说明3、给出两个完整算例包括计算简图、输入数据文件和输出数据文件。大作业要求:4、作业提交方式:可直接发邮件到下面的信箱、亦可考盘交给课代表。文件中须注明:姓名、学号。文件打包发送,每位同学一个压缩包,压缩文件以自己的名字命名。5、交作业时间:Email:njtu3000@126.comTel:62276597,13601222805收到邮件后我会回信确认,若收不到确认信,可电话咨询。2010年1月20日以前,以邮件日期为准。大作业要求:6、参考书(推荐):1)匡文起、张玉良、辛克贵编《结构矩阵分析和程序设计》,高等教育出版社,1991年2)王元汉、李丽娟、李银平编著《有限元法基础与程序设计》,华南理工大学出版社,2001年3)吴晓涵编著《面向对象结构分析程序设计》,科学出版社,2002年谢谢各位同学

1 / 31
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功