《有限元分析程序设计.docx》由会员分享,可在线阅读,更多相关《有限元分析程序设计.docx(10页珍藏版)》请在三一办公上搜索。
1、有限元分析程序设计 结构有限元分析程序设计 绪 论 0.1 开设“有限元程序设计”课程的意义和目的 0.2 课程特点 0.3 课程安排 0.4 课程要求 0.5 基本方法复习 $0.1 意义和目的 1. 有限元数值分析技术本身要求工程设计研究人员掌握 1). 有限元数值分析技术的完善标志着现代计算力学的真正成熟和实用化,已在各种力学中得到了广泛的应用。比如: ,已杨为工程结构分析中最得以收敛的技术手段,现代功用大致有: a) . 现代结构论证。对结构设计从内力,位移等方面进行优劣评定,从而进行结构优化设计。 b) 可取代部份实验,局部实验+有限元分析,是现代工程设计研究方法的一大特点。 c)
2、结构的各种功能分析都以有限元分析工具作为核心的计算工具。 2). 有限元数值分析本身包括着理论+技术实现 有限元数值分析本身包括着泛函理论+分片插值函数+程序设计 2. 有限元分析的技术实现更依赖于计算机程序设计 有限元分析的技术取得的巨大的成就,从某种意义上说,得益于计算机硬件技术的发 展和程序设计技术的发展,这两者的依赖性在当代表现得更加突出。 3. 从学习的角度,不仅要学习理论,而且要从程序设计设计角度对这些理论的技术实现有一个深入的了解,应当致力于掌握这些技术实现能力,从而开发它,发展它。 4. 程序设计不仅是实现有限元数值分析的工具和桥梁,而且在以下诸方面也有意义: 1). 精通基本
3、概念,深化理论认识; 2). 锻炼实际工程分析,实际动手的能力; 3). 获得以后工作中必备的工具。 目的:通过讲述有限元程序设计的技术与技巧,便能达到自编自读的能力。 0.2 课程特点 总描述: 理论+算法+数据结构 理论: 有限元算法,构造,步骤,解的等外性,收敛性,稳定性,误差分析 算法; 指求解过程的技术方法,含两方面的含义;a. 有限元数值分析算法,b, 与数据结构有关的算法 数据结构: 指各向量矩阵存贮管理与实现,辅助管理结构 具体特点: 理论性强: 能量泛函理论+有限元构造算法+数据结构构造算法 内容繁杂: 理论方法+技术方法+技术技巧 技巧性强: 排序,管理结构 0.3 课程安
4、排 . 单元刚度矩阵及元素设计 . 总刚的形式及程序设计 . l边界条件及程序设计 . 总刚线性方程组求解 单元应力计算+应力处理与改善。 . 数据处理 , 变带宽存贮的优化理论,图论的理论,有限元的图结构,存贮管理复核) . 有限元议程全稀疏管理与求解策略。 说明: 仅线性部份,复材,接触,弹塑性等不包括,基本部份。 实践性作业安排: 1. 作业: 总的结构管理程序+子功能模块的编程,一个题的计算实践 2. 送有限元元素库。 0.4 课程要求 1. 先行要求 2. 作业要求 3. 课程校核要求 0.5 基本方法复习 0.5.1 结构化程序设计方法 0.5.2 有限元分析方法回顾 0.5.3
5、Fortran语言回顾 0.5.4 结构化程序设计 1. 基本结构:构成一个问题从输入到求解输出的基本程序形式: ImputProcessOutput (输入) 三种基本形式: a). 树形结构 Imputp1 . pn Output (多用于程序结构 call1,call2.) b). t选择结构 YInputBeginNP1OutputP2内部算法实现: IF.THEN; SWHICH,CASE c).循环结构(反复执行结构) 特点: 结构特征简单明了,易读,易调试. 尽量少用GO TO 语句 2. 整体结构(算法语言系统结构) 积木式(Fortran): 每个设定的功能分析团体的一个模块
6、,每个模块又称作整体结构的素材,主模块象积木一样堆积.语体不联系,但有通讯方法沟通模块间信息,各种模块有各自的特征语体,main progame,subroutine sub. 嵌套式(Pascall): 主模块与子模块相互嵌套,各模块的特征,语体相同 procedure main procefure ssub1 . procedure sub2 . End sub1 end sub2 . End main 函数式(c语言): 主要特点是功能模块作为库函数调用,需用时在库内调用,每一个函数有表征语句,这种语体接近自然思维,而且对系统资源的调配应用更完善. 面向对象的程序设计: 实施过程的可视化
7、+控制性 3. 结构化程序设计方法 a). TopDown(自上面下),系统性强,选择性强. b). Critical Component First (关键部份优先),先抓主要矛盾,分清重,缓,急. c). 独立调试,总体联调,(软件设计的社会化作业). 4. 程序设计要点 a). 自觉有意识地设计一个良好的程序结构,做到:易读,易懂,易管理,易修改,易发展. b). 做到逻辑清晰,说明完整. c). 要有工艺设计概念有框图,有步骤. 5). 结构化程序设计原则 a). 尽可能通用性好 b). 整体精炼,清晰;避免GOTO。 c). 省机时,省存贮,计算精度高, d). 输入数据少,格式简单
8、。 e). 输出结果简明,忌讳打印过多。 f). 易读易维护,易发展。 0.5.2. 有限无方法求解过程回顾 一. 力学模型的分级管理 有限无程序对力学模型的数据按 一级:结构级 二级:单元级 三级:节点级 2.基本关系 离散化由结构单元节点3. 描述参数 A). 节点描述参数 (1). 节点位置(总体坐标系下的坐标). (2). 节点局部坐标(按节点的约束方向制定的特殊坐标系x,y,z,v如斜支撑) (3). 节点的性质(自由,固定,指定位移,从属其它节点). (4). 节点力:(Fx ,Fy , Fz ,Mx ,My ,Mz ) (5). 节点位移:(u , v , w, x ,y ,z
9、) B. 单元描述参数 (1). 材料特性参数不清 E, G, D (2). 节点的几何刚度参数(即面积A,板厚H,梁抗弯模量I) (3). 单元的局部坐标. (用于应力分析等,如图形曲面) (4). 单元的节点编号 (5). 单元的几何矩阵营 (节点变形与应力关系矩阵) (6). 单元刚度矩阵 K (7). 单元的应力,应变向量,(有限元分析多用向量,而不用矩阵(张量) s11s22ss11s12s1333=s21s22s23s12s31s32s33s13s23e11e22e11e133=e21e122e1e3113e2231e122e221e3221e1321e2321e332结构描述参数
10、 单元总数,节点总数,单元娄型总数,结构材料种娄数,节点自由度数(控制题目规模) 二. 基本公式系统 1. 单元刚度计算公式 Ke=BTDBdvVc2. 单元刚阵组合 K=ATKA 3. 单元节点荷载计算 Pe=NTPdsSe4. 节点荷载组装: (P)=APe5. 位移约束关系: -d=d6. 总刚方程解: Kd=Pd=KeP7. 应变计算: e=Bd8. 应力计算: s=De=DBd9. 支撑反力计算: Ri=Kiidi三. 有限元分析的模块组织. 输入原始参数 -计算总刚规模 形成单元刚阵 形成总刚方程 坐标变换 单刚向总刚投放 输入边界条件(对称条件) 形成单元荷载阵 形成各荷载工况的
11、节点荷载阵 向总节点荷载阵投放 总刚分解 回代求出位移及输出 计算应变、应力 调整单元位移列阵 调整几何、弹性矩阵 四 结构分析的原始输入数据 1题目规模 节点数目:NNP 单元数目: NE 2节点数据 单元人坐标:XE 3单元数据 单元节点编号 : ME、ME 材料特性: E、N 单元几何参数: I、RI 4荷载数据 外荷载作用点,坐标及大小: PA 0. 5.3 Fortran语言回顾 1子模块 subroutine a. 特点:独立性强,只要输入输出接口,象一个黑匣子,与外界无关。 b. 作用:完成一个独立的功能 c. 格式: subroutine function(ip1,ip2,rp
12、1,rp2,io1,io2,ro1,ro2).(其中ip1,ip2,rp1,rp2,是输入形参,io1,io2.rp1,rp2是输出形参) 2数据传递形式 1). COMMON 公共块语句传递, a. 公共块分为无名公共块和有名公共块 b. 公共块的参数不能作为子程序的参数出现, c. 公共块名一致,其内容在不同公共块中可以标志符不同 d. 通用原始数据放入公共块 e. 尽可能不放数值,安息组一般可作成可调长度 f. 格式 Common/comm/. Subroutine fun Common/comm/. 2).形参实参对应 a. 实参不能开辟存贮单元,子程序内定义语句中的形参数组由主程序定
13、义,在子程序中仅形式定义 b. 格式:Dimension RP(1000),RO(1000) . Call sub1(RP,RO) END DIMENTION IBANK SUBROUTINE SUB1(RP,RO,NE) DIMENTION RP(1),RO(1),SP(50) DIMENTION RP(NE,1),RO(NE,1) (形参的动态定义,实参不能) 3). 数组长度自动调整方法。 PROGRAM MAIN INPLICIT REAL*8 (AH,O-Z) CHARACTAR*20 TR COMMON/COMM/. DIMENTION IBANK( ),RBANK( ),IP1( ),IP2( ) IP1(1)= IP(N)=. IP2(1)= IP2(N)=. CALL SUB1(IBANK(IP1(1),IBANK(IP1(N),RBANK(IP2(1),.) . END SUBROUTINE SUB1(II1,IO2,.RI1,.RO1.NE) DIMENTION II1(1) ,IO2(NE,1), RI1(1), RO1(1)