资源描述:
《有限元程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、教学程序:FEP1李明瑞编FEP2李明瑞编ZFEP第一章绪论有限元程序的基本内容有限元求解器§1.1有限元程序的基本内容有限元法的解题步骤结构离散化为有限元网格计算单元刚度矩阵引入约束条件求应力等解方程组建立总刚度矩阵及外载有限元程序的基本内容:数据输入阶段有限元矩阵的计算、组集和求解数据输出阶段前处理处理器后处理一、数据输入阶段—前处理读入和生成数据,形成有限元网格,为有限元矩阵计算作准备。(数据或图形输入)标题和控制信息计算存贮分配节点坐标和约束信息单元信息材料信息载荷信息二、有限元矩阵的计算、组集和求解—处理器计算插值函数矩阵[N]、几
2、何矩阵[B]、Jacob矩阵[J]在高斯点进行数值积分,求得单刚、单元载荷组集成总刚、总载求解三、数据输出阶段—后处理输出结果(场变量和场变量导数等),打印结果。场变量包括:位移、温度、流场的速度势等;场变量导数包括:应力、应变、热流、流场速度势等输出形式:数据输出和图形输出§1-2有限元求解器带宽法:只存储总刚矩阵的半带宽内的元素。等带宽法:每行的带宽相等,常采用二维数组存储变带宽法:每行的带宽不等,常采用一维数组存储一、带宽法变带宽分块求解思想:一个变量的消元只影响刚度矩阵的一部分元素,较大的节点分量方程组可以分成较小的局部系数矩阵按节点
3、逐步求解。波前法是另一种分块储存的变带宽法,其消元次序是按单元编号进行,边组集边消元。调入内存的单元所保留的节点称为波前节点,所消去的节点称为消元节点,消元节点是与以后调入的单元没有联系的节点,即该节点的方程已组集完。波前法的回代按消元节点的反序进行。对内存的需求取决与最大波前宽。二、波前法V-FortranFortran语言的基本格式变量基本语句子例子程序函数子程序其它功能、模块第二章FEP2程序的总体设计与输入数据FEP2的设计任务FEP2的结构设计FEP2的主程序FEP2的主控程序FEP2的数据输入格式与程序实现§2-1FEP2的设计任
4、务1.FEP2的简要题目说明FEP2是一个具有通用性的教学程序,可用于计算一般的线性静力学问题。已设计了平面梁单元与平面3-9节点元两种单元,但留下接口。2.支持软件与硬件FORTRAN77以上编译器、各种微机3.FEP2的功能3.FEP2的功能1)输入文件名由用户自由定义,但限制为4个字符,输入文件扩展名为“DAT”,输出文件扩展名为“OUT”。2)节点坐标、单元信息等具有线性自动生成功能。3)可以处理多种工况、多种类型单元组合结构问题。4)可以处理固定约束和指定位移。5)采用变带宽存储、三角分解法求解刚度方程。6)为多种单元留下接口。§2
5、-2FEP2的结构设计FEP2:由形式主程序、主控程序、功能模块组成。主程序的主要功能:定义输入、输出文件名,调用主控程序PCONTR主控程序PCONTR的主要功能模块:1)内存分配2)网格生成3)变带宽存储设置4)单刚的形成与组集5)刚度矩阵的分解6)形成节点载荷7)形成与组集单元载荷8)求解位移9)求单元应力10)求结构反力FEP2程序框图FEP2(主程序)PCONTR(主控程序)—SETMEM检查内存—PROFIL形成变带宽刚度矩阵地址—PFORM(3)形成单刚并组集—LDLT总刚的三角分解—GENVEC形成节点载荷—PFOM(3)构造
6、并组集单元载荷—FORBACK前消回代求出位移—PFORM(4)计算单元应力—PFORM(6)计算结构反力§2-3FEP2的主程序一、文件名FEP2的文件名可由用户自由定义(限制为4个字符),通过人机交互方式确定。设计中引入以下技巧:1)规定输入文件名FI与输出文件名FO为8个字符2)规定两个字符数组NAMINP(8),NAMOUT(8)3)用IQUIVALENCE语句使FI与NAMINP、FO与NAMOUT等价4)用DATA语句给FI和FO赋初值:“.DAT”、“.OUT”5)输入NAMINP的前四个字符作为输入输出文件名COMMON/PS
7、IZE/MAXM,MAXACHARACTER*8FI,FOCHARACTERNAMINP(8),NAMOUT(8),HEAD*50COMMON/HEAD/HEAD1EQUIVALENCE(FI,NAMINP(1)),(FO,NAMOUT(1))DATAFI,FO/'.DAT','.OUT'/WRITE(*,'(A)')'INPUTFILENAME(4LETTERSONLY):'READ(*,'(4A1)')(NAMINP(I),I=1,4)DO10I=1,410NAMOUT(I)=NAMINP(I)OPEN(6,FILE=FO)OPEN(5
8、,FILE=FI)MAXM=16000MAXA=16380CALLPCONTR(FO)END二、定义数组FEP2中设置了两个数组M(1600)和A(16380),数