当前位置:文档之家› 有限元单元法及程序设计

有限元单元法及程序设计

有限元单元法及程序设计
有限元单元法及程序设计

平面三角形单元有限元程序设计

. 一、题目 如图1所示,一个厚度均匀的三角形薄板,在顶点作用沿板厚方向均匀分布的竖向载荷。已知:P=150N/m ,E=200GPa ,=0.25,t=0.1m ,忽略自重。试计算薄板的位移及应力分布。 要求: 1. 编写有限元计算机程序,计算节点位移及单元应力。(划分三角形 单元,单元数不得少于30个); 2. 采用有限元软件分析该问题(有限元软件网格与程序设计网格必 须一致),详细给出有限元软件每一步的操作过程,并将结果与程序计算结果进行对比(任选取三个点,对比位移值); 3. 提交程序编写过程的详细报告及计算机程序; 4. 所有同学参加答辩,并演示有限元计算程序。 有限元法中三节点三角形分析结构的步骤如下: 1)整理原始数据,如材料性质、荷载条件、约束条件等,离散结构并进行单元编码、结点编码、结点位移编码、选取坐标系。 2)单元分析,建立单元刚度矩阵。 3)整体分析,建立总刚矩阵。 4)建立整体结构的等效节点荷载和总荷载矩阵 5)边界条件处理。 6)解方程,求出节点位移。 7)求出各单元的单元应力。 8)计算结果整理。 一、程序设计 网格划分 如图,将薄板如图划分为6行,并建立坐标系,则

刚度矩阵的集成 建立与总刚度矩阵等维数的空矩阵,已变单元刚度矩阵的集成。 由单元分析已知节点、单元的排布规律,继而通过循环计算求得每个单元对应的节点序号。 通过循环逐个计算:(1)每个单元对应2种单元刚度矩阵中的哪一种; (2)该单元对应总刚度矩阵的那几行哪几列 (3)将该单元的单元刚度矩阵加入总刚度矩阵的对应行列 循环又分为3层循环:(1)最外层:逐行计算 (2)中间层:该行逐个计算 (3)最里层:区分为第 奇/偶 数个计算 单元刚度的集成:[ ][][][][][]' '''''215656665656266256561661e Z e e e Z e Z e e e e k k k K k k k k k k +?++=? =?==?==?=?????? 边界约束的处理:划0置1法 X Y P X Y P

有限元分析程序设计

结构有限元分析程序设计 绪论 §0.1 开设“有限元程序设计”课程的意义和目的 §0.2 课程特点 §0.3 课程安排 §0.4 课程要求 §0.5 基本方法复习 $0.1 意义和目的 1.有限元数值分析技术本身要求工程设计研究人员掌握 1). 有限元数值分析技术的完善标志着现代计算力学的真正成熟和实用化,已在各种 力学中得到了广泛的应用。比如:,已杨为工程结构分析中最得以收敛的技术手段,现代功用大致有: a). 现代结构论证。对结构设计从内力,位移等方面进行优劣评定,从而进 行结构优化设计。 b)可取代部份实验,局部实验+有限元分析,是现代工程设计研究方法的一大 特点。 c)结构的各种功能分析(疲劳断裂,可靠性分析等)都以有限元分析工具作为 核心的计算工具。 2). 有限元数值分析本身包括着理论+技术实现(本身功用所绝定的) 有限元数值分析本身包括着泛函理论+分片插值函数+程序设计 2. 有限元分析的技术实现(近十佘年的事)更依赖于计算机程序设计 有限元分析的技术取得的巨大的成就,从某种意义上说,得益于计算机硬件技术的发展和程序设计技术的发展,这两者的依赖性在当代表现得更加突出。(如可视化技术) 3.从学习的角度,不仅要学习理论,而且要从程序设计设计角度对这些理论的技术实现有 一个深入的了解,应当致力于掌握这些技术实现能力,从而开发它,发展它。(理论本身还有待于进一步完美相应的程序设计必须去开发) 4.程序设计不仅是实现有限元数值分析的工具和桥梁,而且在以下诸方面也有意义: 1). 精通基本概念,深化理论认识; 2). 锻炼实际工程分析,实际动手的能力; 3). 获得以后工作中必备的工具。(作业+老师给元素库) 目的:通过讲述有限元程序设计的技术与技巧,便能达到自编自读的能力。 §0.2 课程特点 总描述:理论+算法+数据结构(程序设计的意义) 理论:有限元算法,构造,步骤,解的等外性,收敛性,稳定性,误差分析 算法;指求解过程的技术方法,含两方面的含义;a. 有限元数值分析算法,b, 与数据结构有关的算法(总刚稀疏存贮,提取,节点优化编号等) 数据结构:指各向量矩阵存贮管理与实现,辅助管理结构(指针,数据记录等) 具体特点: 理论性强:能量泛函理论+有限元构造算法+数据结构构造算法 内容繁杂:理论方法+技术方法+技术技巧 技巧性强:排序,管理结构(指针生成,整型运算等)

《有限单元法》编程作业

湖南大学 《有限单元法》编程大作业 专业:土木工程 姓名: 学号: 2013年12月

目录 程序作业题目: (3) 1、程序编制总说明 (3) 2、Matlab程序编制流程图 (3) 3、程序主要标示符及变量说明 (4) 4、理论基础和求解过程 (5) 4.1、构造插值函数 (5) 4.2位移插值函数及应变应力求解 (5) 5.程序的验证 (6) 附录:程序代码 (15)

程序作业题目: 完成一个包含以下所列部分的完整的有限元程序( Project) 须提供如下内容的文字材料(1500字以上): ①程序编制说明; ②方法的基本理论和基本公式; ③程序功能说明; ④程序所用主要标识符说明及主要流程框图; ⑤ 1~3 个考题:考题来源、输出结果、与他人成果的对比结果(误差百分比); ⑥对程序的评价和结论(包括正确性、适用范围、优缺点及其他心得等)。 须提供源程序、可执行程序和算例的电子文档或文字材料。选题可根据各自的论文选题等决定。 1、程序编制总说明 a.该程序采用平面三角形等参单元,能解决弹性力学的平面应力、平面应变问题。 b.能计算单元受集中力的作用。 c.能计算结点的位移和单元应力。 d.考题计算结果与理论计算结果比较,并给出误差分析。 e.程序采用MATLAB R2008a编制而成。 2、Matlab程序编制流程图

图1 整个程序流程图 3、程序主要标示符及变量说明 1、变量说明: Node ------- 节点定义 gElement ---- 单元定义 gMaterial --- 材料定义,包括弹性模量,泊松比和厚度 gBC1 -------- 约束条件 gNF --------- 集中力 gk------------总刚 gDelta-------结点位移 输入结构控制参数 输入其它数据 形成整体刚度阵 引入支承条件 解方程,输出位移 求应力,输出应力 形成节点荷载向量 开始 结束 1 单元面积 求弹性矩阵 单元刚度矩阵 位移-应变矩阵 6 7 8 9 10 2 3 4 5

有限元分析软件比较分析

有限元分析软件 有限元分析是对于结构力学分析迅速发展起来的一种现代计算方法。它是50 年代首先在连续体力学领域--飞机结构静、动态特性分析中应用的一种有效的数值分析方法,随后很快广泛的应用于求解热传导、电磁场、流体力学等连续性问题。 有限元分析软件目前最流行的有:ANSYS、ADINA、ABAQUS、MSC 四个比较知名比较大的公司,其中ADINA、ABAQUS 在非线性分析方面有较强的能力目前是业内最认可的两款有限元分析软件,ANSYS、MSC 进入中国比较早所以在国内知名度高应用广泛。目前在多物理场耦合方面几大公司都可以做到结构、流体、热的耦合分析,但是除ADINA 以外其它三个必须与别的软件搭配进行迭代分析,唯一能做到真正流固耦合的软件只有ADINA。ANSYS是商业化比较早的一个软件,目前公司收购了很多其他软件在旗下。ABAQUS专注结构分析目前没有流体模块。MSC是比较老的一款软件目前更新速度比较慢。ADINA是在同一体系下开发有结构、流体、热分析的一款软件,功能强大但进入中国时间比较晚市场还没有完全铺开。 结构分析能力排名:ABAQUS、ADINA、MSC、ANSYS 流体分析能力排名:ANSYS、ADINA、MSC、ABAQUS 耦合分析能力排名:ADINA、ANSYS、MSC、ABAQUS 性价比排名:最好的是ADINA,其次ABAQUS、再次ANSYS、最后MSC ABAQUS 软件与ANSYS 软件的对比分析: 1.在世界范围内的知名度:两种软件同为国际知名的有限元分析软件,在世界范围内具有各自广泛的用户群。ANSYS 软件在致力于线性分析的用户中具有很好的声誉,它在计算机资源的利用,用户界面开发等方面也做出了较大的贡献。ABAQUS软件则致力于更复杂和深入的工程问题,其强大的非线性分析功能在设计和研究的高端用户群中得到了广泛的认可。由于ANSYS 产品进入中国市场早于ABAQUS,并且在五年前ANSYS 的界面是当时最好的界面之一,所以在中国,ANSYS 软件在用户数量和市场推广度方面要高于ABAQUS。但随着ABAQUS北京办事处的成立,ABAQUS软件的用户数目和市场占有率正在大幅度和稳步提高,并可望在今后的几年内赶上和超过ANSYS。 2.应用领域:ANSYS 软件注重应用领域的拓展,目前已覆盖流体、电磁场和多物理场耦合等十分广泛的研究领域。ABAQUS 则集中于结构力学和相关领域研究,致力于解决该领域的深层次实际问题。 3.性价比:ANSYS 软件由于价格政策灵活,具有多种销售方案,在解决常规的

有限元程序课程设计

重庆大学本科学生课程设计任务书 课程设计题目有限元程序设计 学院资源及环境科学学院专业工程力学年级2010级 已知参数和设计要求: 1.独立完成有限元程序设计。 2.独立选择计算算例,并能通过算例判断程序的正确性。 3.独立完成程序设计报告,报告内容包括理论公式、程序框图、程序本 体、计算算例,算例结果分析、结论等。 学生应完成的工作: 1.复习掌握有限单元法的基本原理。 2.掌握弹性力学平面问题3节点三角形单元或4节点等参单元有限元方法 的计算流程,以及单元刚度矩阵、等效节点载荷、节点应变、节点应力 和高斯积分等的计算公式。 3.用Fortran语言编写弹性力学平面问题3节点三角形单元或4节点等参 单元的有限元程序。 4.在Visual Fortran 程序集成开发环境中完成有限元程序的编辑和调试 工作。 5.利用编写的有限元程序,计算算例,分析计算结果。 6.撰写课程设计报告。 目前资料收集情况(含指定参考资料): 1.王勖成,有限单元法,北京:高等教育出版社,2002。 2.O.C. Zienkiewicz, R. L. Taylor, Finite Element Method, 5th Eition, McGraw-Hall Book Company Limited, 2000。 3.张汝清,董明,结构计算程序设计,重庆:重庆大学出版社,1988。 课程设计的工作计划: 1.第1周星期一上午:教师讲解程序设计方法,程序设计要求和任务安 排。 2.第1周星期一至星期二完成程序框图设计。 3.第1周星期三至第2周星期四完成程序设计。 4.第2周星期五完成课程设计报告。 任务下达日期 2013 年 6 月 6 日完成日期 2013 年 07 月 03 日 指导教师(签名) 学生(签名)

(完整word版)有限元分析软件的比较

有限元分析软件的比较(购买必看)-转贴 随着现代科学技术的发展,人们正在不断建造更为快速的交通工具、更大规模的建筑物、更大跨度的桥梁、更大功率的发电机组和更为精密的机械设备。这一切都要求工程师在设计阶段就能精确地预测出产品和工程的技术性能,需要对结构的静、动力强度以及温度场、流场、电磁场和渗流等技术参数进行分析计算。例如分析计算高层建筑和大跨度桥梁在地震时所受到的影响,看看是否会发生破坏性事故;分析计算核反应堆的温度场,确定传热和冷却系统是否合理;分析涡轮机叶片内的流体动力学参数,以提高其运转效率。这些都可归结为求解物理问题的控制偏微分方程式,这些问题的解析计算往往是不现实的。近年来在计算机技术和数值分析方法支持下发展起来的有限元分析(FEA,Finite Element A nalysis)方法则为解决这些复杂的工程分析计算问题提供了有效的途径。在工程实践中,有限元分析软件与CAD系统的集成应用使设计水平发生了质的飞跃,主要表现在以下几个方面: 增加设计功能,减少设计成本; 缩短设计和分析的循环周期; 增加产品和工程的可靠性; 采用优化设计,降低材料的消耗或成本; 在产品制造或工程施工前预先发现潜在的问题; 模拟各种试验方案,减少试验时间和经费; 进行机械事故分析,查找事故原因。 在大力推广CAD技术的今天,从自行车到航天飞机,所有的设计制造都离不开有限元分析计算,FEA在工程设计和分析中将得到越来越广泛的重视。国际上早20世纪在50年代末、60年代初就投入大量的人力和物力开发具有强大功能的有限元分析程序。其中最为著名的是由美国国家宇航局(NASA)在1965年委托美国计算科学公司和贝尔航空系统公司开发的NASTRAN有限元分析系统。该系统发展至今已有几十个版本,是目前世界上规模最大、功能最强的有限元分析系统。从那时到现在,世界各地的研究机构和大学也发展了一批规模较小但使用灵活、价格较低的专用或通用有限元分析软件,主要有德国的ASKA、英国的PA FEC、法国的SYSTUS、美国的ABQUS、ADINA、ANSYS、BERSAFE、BOSOR、COSMOS、ELAS、MARC和STARDYNE等公司的产品。 以下对一些常用的软件进行一些比较分析: 1. LSTC公司的LS-DYNA系列软件

有限元编程的c++实现算例

有限元编程的c++实现算例 1. #include<> 2. #include<> 3. 4. 5. #define ne 3 #define nj 4 #define nz 6 #define npj 0 #define npf 1 #define nj3 1 2 #define dd 6 #define e0 #define a0 #define i0 #define pi 16. 17. 18. int jm[ne+1][3]={{0,0,0},{0,1,2},{0,2,3},{0,4,3}}; /*gghjghg*/ 19. double gc[ne+1]={,,,}; 20. double gj[ne+1]={,,,}; 21. double mj[ne+1]={,a0,a0,a0}; 22. double gx[ne+1]={,i0,i0,i0}; 23. int zc[nz+1]={0,1,2,3,10,11,12}; 24. double pj[npj+1][3]={{,,}}; 25. double pf[npf+1][5]={{0,0,0,0,0},{0,-20,,,}}; 26. double kz[nj3+1][dd+1],p[nj3+1]; 27. double pe[7],f[7],f0[7],t[7][7]; 28. double ke[7][7],kd[7][7]; 29. 30. 31. 36. void jdugd(int); 38. void zb(int); 39. void gdnl(int); 40. void dugd(int);

有限元编程的c++实现算例

有限元编程的c++实现算例 1.#include 2.#include 3. 4. 5.#definene3 //单元数 6.#definenj4 //节点数 7.#definenz6 //支撑数 8.#definenpj0 //节点载荷数 9.#definenpf1 //非节点载荷数 10.#definenj312 //节点位移总数 11.#definedd6 //半带宽 12.#definee02.1E8 //弹性模量 13.#definea00.008 //截面积 14.#definei01.22E-4 //单元惯性距 15.#definepi 16. 17. 18.intjm[ne+1][3]={{0,0,0},{0,1,2},{0,2,3},{0,4,3}}; /*gghjghg*/ 19.doublegc[ne+1]={0.0,1.0,2.0,1.0}; 20.doublegj[ne+1]={0.0,90.0,0.0,90.0}; 21.doublemj[ne+1]={0.0,a0,a0,a0}; 22.doublegx[ne+1]={0.0,i0,i0,i0}; 23.intzc[nz+1]={0,1,2,3,10,11,12}; 24.doublepj[npj+1][3]={{0.0,0.0,0.0}}; 25.doublepf[npf+1][5]={{0,0,0,0,0},{0,-20,1.0,2.0,2.0}}; 26.doublekz[nj3+1][dd+1],p[nj3+1]; 27.doublepe[7],f[7],f0[7],t[7][7]; 28.doubleke[7][7],kd[7][7]; 29. 30. 31.//**kz[][]—整体刚度矩阵 32.//**ke[][]—整体坐标下的单元刚度矩阵

有限元及程序设计

有限元及程序设计 1. 下列关于高精度单元描述正确的是( )。 A.等参元的位移模式和坐标变换采用不同的形函数 B.矩形单元形状规则,因而使用范围较 广 C.6结点三角形单元、10结点三角形单元、8结点矩形单元和 12结点矩形单元的单元 刚度矩阵的建立过程是不一样的 D.6结点三角形单元较容易模拟物体的边界形状 【参考答案】:D 2. 0 =cxy 能解决矩形板( )问题。 A.左右均布拉压 B.上下均布拉压 C 纯剪切 D.纯弯曲 【参考答案】:C 3. 下列关于等参元的叙述不正确的是( A.精度较高 B.能较好的模拟边界条件 【参考答案】:D 4. 薄板的边界不包括( A.简支边界 B.固定边界 C.自由边界和荷载边界 D.非固定边界 【参考答案】:D )。 C.输入的信息量较少 D.输入的信息量较多 5. 下列属于平面应力问题的是( A.平板坝的平板支墩 B 挡土墙 【参考答案】:A 6. 在应力函数上任意增减一个( A.线性项 B.二次项 C.三次项 【参考答案】:A 7. 下列不属于提高单元精度的方法是 A.增加单元结点数目 B 在单元内增设结点 【参考答案】:C 8. 空间问题的基本平衡微分方程有( A.2 B.3 C.4 D.5 【参考答案】:C )。 C.重力水坝 D.受内水压力作用的圆管 ),对应力分量无影响。 D.常数项 )。 C.减少单元结点数目 D.设等参元 个。 )问题。 C 纯剪切 D.纯弯曲 A.左右均布拉压 B.上下均布拉压 【参考答案】:B 10. 下列属于不规则单元的有( A.正四面体单元 B.正三棱体单元 【参考答案】:C 11. 空间问题的基本未知位移分量有( A.2 B.3 C.4 D.5 【参考答案】:B 1. 薄板小挠度弯曲理论的基本假定是( )。 A.直法线假定 B.法向位移假定 C.中面位移假定 D.板内无挤压假定 【参考答案】:A|C|D 2. 弹性力学平面问题 按应力求解具体可分为( )两种。 A.逆解法 B.顺解法 C.半逆解法 D.半顺解法 )。 C.任意四面体单元 D.正六面体单元 )个。

平面三角形单元有限元程序设计

P 9 m 9 m 一、题目 如图1所示,一个厚度均匀的三角形薄板,在顶点作用沿板厚方向均匀分布的竖向载荷。已知:P=150N/m,E=200GPa,=,t=,忽略自重。试计算薄板的位移及应力分布。 要求: 1.编写有限元计算机程序,计算节点位移及单元应力。(划分三角形 单元,单元数不得少于30个); 2.采用有限元软件分析该问题(有限元软件网格与程序设计网格必 须一致),详细给出有限元软件每一步的操作过程,并将结果与程序计算结果进行对比(任选取三个点,对比位移值); 3.提交程序编写过程的详细报告及计算机程序; 4.所有同学参加答辩,并演示有限元计算程序。 有限元法中三节点三角形分析结构的步骤如下: 1)整理原始数据,如材料性质、荷载条件、约束条件等,离散结构并进行单元编码、结点编码、结点位移编码、选取坐标系。 2)单元分析,建立单元刚度矩阵。 3)整体分析,建立总刚矩阵。 4)建立整体结构的等效节点荷载和总荷载矩阵 5)边界条件处理。 6)解方程,求出节点位移。 7)求出各单元的单元应力。 8)计算结果整理。 一、程序设计

网格划分 如图,将薄板如图划分为6行,并建立坐标系,则 X Y P X Y P 节点编号 单元编号

刚度矩阵的集成 建立与总刚度矩阵等维数的空矩阵,已变单元刚度矩阵的集成。 由单元分析已知节点、单元的排布规律,继而通过循环计算求得每个单元对应的节点序号。 通过循环逐个计算:(1)每个单元对应2种单元刚度矩阵中的哪一种; (2)该单元对应总刚度矩阵的那几行哪几列 (3)将该单元的单元刚度矩阵加入总刚度矩阵的对应行列 循环又分为3层循环:(1)最外层:逐行计算 (2)中间层:该行逐个计算 (3)最里层:区分为第奇/偶数个计算 单元刚度的集成: [][] [][] [][] ' ' ' ' ' ' 2 1 56 56 6 6 56 56 2 6 6 2 56 56 1 6 6 1 e Z e e e Z e Z e e e e k k k K k k k k k k + ? + + = ? = ? = = ? = = ? = ? ? ? ? ? ? 边界约束的处理:划0置1法 适用:这种方法适用于边界节点位移分量为已知(含为0)的各种约束。 做法: (1)将总刚矩阵〔K〕中相应于已知位移行主对角线元素置1,其他元素改为零;同 时将载荷列阵{R}中相应元素用已知位移置换。 ◎这样,由该方程求得的此位移值一定等于已知量。 (2)将〔K〕中已知位移相应的列的非主对角成元素也置0,以保持〔K〕的对称性。 ◎当然,在已知位移分量不为零的情况下,这样做就改变了方程左端的数值,为 保证方程成立,须在方程右端减去已知位移对该方程的贡献——已知位移和相应总刚元素的乘积。◎若约束为零位移约束时,此步则可省去。 特点: (1)经以上处理同样可以消除刚性位移(约束足够的前提下),去掉未知约束反力。 (2)但这种方法不改变方程阶数,利于存贮。

有限元编程大作业报告

本科生实验报告书 四节点等参单元有限元分析的FORTRAN程序

目录 1.问题概述 (1) 2.四节点四边形等参单元介绍 (1) 3.单元应力磨平方法介绍 (4) 4.程序流程设计 (6) 程序设计概述 流程图 5.程序结构及程序说明 (8) 6.程序应用及算例分析 (9) 算例概述 算例ANSYS求解 算例程序数值解 算例分析 7. 总结 (15)

1. 问题概述 等参单元是有限元方法中使用最广泛的单元类型。等参单元的位移模式和坐标变换均采用相同的形函数,这种坐标变换叫做等参变换。通过等参变换可以将自然(局部)坐标中几何形状规则的单元转换成总体(笛卡尔)坐标中形状扭曲的单元,因而使得单元有较好的适应性。 本问题首先对平面四节点四边形等参单元的形函数、应力矩阵和等效节点力矩阵、应力磨平公式等的推导和计算求解。并通过设计FORTRAN 求解程序进行编程求解,最后给出算例(受集中荷载的悬臂梁)并进行求解,将解与ANSYS 的解进行比较。在这个过程中,采用了高斯三点积分和高斯两点积分,这种积分方法的求解效率较高而且精度也较好。在问题的最后,尝试去分析引起数值解误差的原因,并分析四节点等参单元的若干特性。 2. 四节点四边形等参单元介绍 边长为2的正方形单元(如下图所示),在其形心处安置一个局部坐标。单元角 结点i 的坐标(,)分别为 ,因此单元四条边界的方程可用简单公式 和 逐一给出。 图2-1 母单元 1 2 3 4 0

图2-2 四边形单元 形函数的表达式: 位移函数: ∑==41 i N u i i u ∑==4 1 i N v i i v 坐标变换式: ∑==41 i x N x i i ,∑==4 1 i y N y i i 单元应变矩阵 {}[]{}[]{}e e B B B B B x v y u y v x u δδε4321==??? ? ??? ?????????????+??????= 式中{ }[]T T T T T 4 321e δδδδδ=——单元节点的位移列阵;

有限元程序设计报告报告

有限元程序设计报告 课程名称:有限元程序设计 指导教师:张亮 学校:重庆大学 专业:工程力学01班 姓名:苏世宏 学号:20126699 2015年7月8日

有限元程序设计报告 一、前言 有限元方法(the Finite Element Method)是起源与上个世纪50、60 年代,基于弹性力学变分原理的一种近似计算方法,也是当今工程分析中获得最广泛应用的数值计算方法。由于它的通用性和有效性,受到工程技术界的高度重视。伴随着计算机科学和技术的快速发展,现已成为计算机辅助设计(CAD)和计算机辅助制造(CAM)的重要组成部分。有限元程序系统通常包括前处理、有限元程序本体和后处理三部分。前处理包括几何实体模型的建立、材料参数的赋值、位移边界条件的定义、载荷的定义、分析问题类型的定义、单元类型的选择和网格的划分等。(分析问题类型如静力分析、动力特性分析、动力响应、温度场分析、电磁场分析、流体动力学分析等)有限元程序本体是有限元程序系统的核心部分,其功能是实现各种问题的计算。后处理则是将计算结果用图形、曲线和表格的形式表达。(通常包括结构的变形图、应力、应变分布云图等) 本课程设计则是针对有限元程序本体,参照教学程序(FEATP),编写简单的有限元程序以计算简单的平面应力、平面应变和轴对称问题,并将其结果与有限元商用软件(ANSYS)的计算结果,以及问题的理论值进行比较,从而验证程序以及问题模型建立的正确性。 1.设计目的 1)通过编写简单的有限元程序熟悉用有限元方法解决实际问题的基本步骤和过程,体会这种方法的处理手段。 2)在V isual Fortran 中编写程序,熟悉并巩固F ortran 语言的语法、算法,学习程序的调试方法,并体会其在执行某个具体算例时,文件的输入、输出以及程序的执行过程。 2.设计内容 1)以教学程序(FEATP)为参照,编写程序,计算简单的平面应力(Plane Stress),平面应变(Plane Strain)问题,验证程序的正确性。 2)在具体的算例中,对同一问题,在程序和ANSYS 中采用不同的单元和网格划分方式,将其结果与理论值进行对比,体会不同的单元和网格划分对问题解的影响,从而判断模型的正确性和合理性。 3)总结在编写程序和算例中遇到的问题和解决方法,写出自己的心得体会。 二、弹性力学平面问题有限元方法的基本公式

基于Matlab语言的按平面三角形单元划分的结构有限元程序设计

基于Matlab语言的按平面三角形单元划分的结构有限元程序设计 专业:建筑与土木工程 班级:建工研12-2 姓名:韩志强 学号: 471220580

基于Matlab语言的按平面三角形单元划分 结构有限元程序设计 一、有限单元发及Matlab语言概述 1. 有限单元法 随着现代工业、生产技术的发展,不断要求设计高质量、高水平的大型、复杂和精密的机械及工程结构。为此目的,人们必须预先通过有效的计算手段,确切的预测即将诞生的机械和工程结构,在未来工作时所发生的应力、应变和位移因此,需要寻求一种简单而又精确的数值分析方法。有限单元法正是适应这种要求而产生和发展起来的一种十分有效的数值计算方法。 有限元法把一个复杂的结构分解成相对简单的“单元”,各单元之间通过结点相互连接。单元内的物理量由单元结点上的物理量按一定的假设内插得到,这样就把一个复杂结构从无限多个自由度简化为有限个单元组成的结构。我们只要分析每个单元的力学特性,然后按照有限元法的规则把这些单元“拼装”成整体,就能够得到整体结构的力学特性。 有限单元法基本步骤如下: (1)结构离散:结构离散就是建立结构的有限元模型,又称为网格划分或单元划分,即将结构离散为由有限个单元组成的有限元模型。在该步骤中,需要根据结构的几何特性、载荷情况等确定单元体内任意一点的位移插值函数。 (2)单元分析:根据弹性力学的几何方程以及物理方程确定单元的刚度矩阵。 (3)整体分析:把各个单元按原来的结构重新连接起来,并在单元刚度矩阵的基础上确定结构的总刚度矩阵,形成如下式所示的整体有限元线性方程: {}[]{}δ F=① K 式中,{}F是载荷矩阵,[]K是整体结构的刚度矩阵,{}δ是节点位移矩阵。 (4)载荷移置:根据静力等效原理,将载荷移置到相应的节点上,形成节点载荷矩阵。 (5)边界条件处理:对式①所示的有限元线性方程进行边界条件处理。 (6)求解线性方程:求解式①所示的有限元线性方程,得到节点的位移。在该步骤中,若有限元模型的节点越多,则线性方程的数量就越多,随之有限元分析的计算量也将越大。 (7)求解单元应力及应变根据求出的节点位移求解单元的应力和应变。

有限元分析与ANSYS APDL编程及高级应用

接触分析的工程应用实例 滚圈的托轮结构的接触分析 指定工作文件名及标题 Finish /clear,start /filn,roll /title,The CONTACT ANAL YSIS OF ROLL /triad,off H=1000 Rou=500/H Rin=400/H B=150/H Roll=200/H Wpstyle,,,,,,,,1 /view,1,1,1,1 Csys,4 选取单元及输入材料属性 /prep7 Et,1,solid45 Mptemp,,,,,,,, Mptemp,1,0 Mpdata,ex,1,,2.06e11 Mpdata,prxy,1,,0.3 Mpdata,dens,1,,7900 Mpdata,mu,2,,0.15 J建立几何模型 Cyl4,,,rin,-90,rou,90,b Wprot,-60 Cyl4,,,0,0,rool,180,b Wprot,30 Wppff,0,(rou+roll) Wprot,-30 Wprot,0,-90 Wprot,0,0,50 Vsbw,1 Wprot,0,0,20 Vsbw,3 Wpcsys,-1,0 Wpstyle,,,,,,,,0

划分网格Lesize,33,,,48,,,,,1 Lesize,41,,,15,,,,,1 Lesize,34,,,8,,,,,2 Lesize,6,,,5,,,,,1 Lesize,9,,,7,,,,,1 Vsweep,4 Vsweep,5 Vsweep,1 Lesize,15,,,15,,,,,1 Lesize,19,,,7,,,,,1 Lesize,14,,,8,,,,,1 Lesize,13,,,8,,,,,1 Vsweep,2 生成接触对

20.10月西工大《有限元及程序设计》机考作业答案

试卷总分:100 得分:100 一、单选题(共11 道试题,共22 分) 1.下列属于平面应力问题的是()。 A.平板坝的平板支墩 B.挡土墙 C.重力水坝 D.受内水压力作用的圆管 正确答案:A 2.薄板的边界不包括()。 A.简支边界 B.固定边界 C.自由边界和荷载边界 D.非固定边界 正确答案:D 3.空间问题的基本平衡微分方程有()个。 A.2 B.3 C.4 D.5 正确答案:C 4.下列属于不规则单元的有()。 A.正四面体单元 B.正三棱体单元 C.任意四面体单元 D.正六面体单元 正确答案:C 5.下列不属于提高单元精度的方法是()。 A.增加单元结点数目 B.在单元内增设结点 C.减少单元结点数目 D.设等参元 正确答案:C 6.在应力函数上任意增减一个(),对应力分量无影响。

A.线性项 B.二次项 C.三次项 D.常数项 正确答案:A 7.空间问题的基本未知位移分量有()个。 A.2 B.3 C.4 D.5 正确答案:B 8.下列关于等参元的叙述不正确的是()。 A.精度较高 B.能较好的模拟边界条件 C.输入的信息量较少 D.输入的信息量较多 正确答案:D 9.φ=by2能解决矩形板()问题。 A.左右均布拉压 B.上下均布拉压 C.纯剪切 D.纯弯曲 正确答案:B 10.φ=cxy能解决矩形板()问题。 A.左右均布拉压 B.上下均布拉压 C.纯剪切 D.纯弯曲 正确答案:C 11.下列关于高精度单元描述正确的是()。 A.等参元的位移模式和坐标变换采用不同的形函数 B.矩形单元形状规则,因而使用范围较广 C.6结点三角形单元、10结点三角形单元、8结点矩形单元和12结点矩形单元的单元刚度矩阵的建立过程是不一样的

有限元C++编程实践

基于有限元算法的编程实践 学号:2011043010031 姓名:廖校毅 电子科技大学物理电子学院 【摘要】本文就有限元算法在电磁场分析中的应用展开研究与实践,从电磁场的Maxwell方程出发,根据电磁场的边值问题及变分公式建立了有限元方程组。具体在实践中,将这些知识运用到C++语言和Matlab 中,并将这两种语言有机结合,编程并实现二维FEM。程序最后通过计算含两种介质的电位槽电位分布来验证其正确性。 关键词: 有限元变分法C++ Matlab The Programming Practice Based on The Finite Element Algorithm Student ID:2011043010031 Name:Liao Xiaoyi University of Electronic Science and technology &School of Physical Electronics Abstract In this paper, we take the application of finite element method in electromagnetic field analysis into research and practice. Starting from Maxwell equations of electromagnetic field, the electromagnetic field boundary value problems and variational formula established the finite element equations. In specific practice, this knowledge will be applied to the C++ language and Matlab, and the organic combination of two languages, programming and implementation of two-dimensional FEM. Finally, through the program to verify the validity of the calculation of potential distribution in channel potential containing two kinds of medium. Key words The finite element method The variational method C++ Matlab 一、前言 在数学中,有限元法(FEM,Finite Element Method)是一种为求得偏微分方程边值问题近似解的数值技术。它通过变分方法[1],使得误差函数达到最小值并产生稳定解。类比于连接多段微小直线逼近圆 的思想,有限元法包含了一切可能的方法,这些方法将许多被称为有限元的小区域上 的简单方程联系起来,并用其去估计更大区域上的复杂方程。它将求解域看成是由许多称为有限元的小的互连子域组成,对每一单元假定一个合适的(较简单的)近似解,然 后推导求解这个域总的满足条件(如结构的 平衡条件),从而得到问题的解。这个解不 是准确解,而是近似解,因为实际问题被较简单的问题所代替。由于大多数实际问题难以得到准确解,而有限元不仅计算精度高,而且能适应各种复杂形状,因而成为行之有效的工程分析手段。因其理论依据的普遍性,作为一种声誉很高的数值分析方法,,已被普遍推广并成功地用来解决各种结构工程、热传导、渗流、流体力学、空气动力学、土壤力学、机械零件强度分析、电磁工程问题等,并且大量可靠的基于有限元算法的软件如

有限单元法matlab编程实例

主程序 E=210e6;A=2e-2;I=5e-5;L1=3;L2=4;L3=3; k1=PlaneFrameElementStiffness(E,A,I,L1,90); k2=PlaneFrameElementStiffness(E,A,I,L2,0); k3=PlaneFrameElementStiffness(E,A,I,L3,270); K=zeros(12,12); K=PlaneFrameAssemble(K,k1,1,2); K=PlaneFrameAssemble(K,k2,2,3); K=PlaneFrameAssemble(K,k3,3,4) k=K(4:9,4:9); f=[-20;0;0;0;0;12]; u=k\f U=[0;0;0;u;0;0;0] F=K*U u1=[U(1);U(2);U(3);U(4);U(5);U(6)]; u2=[U(4);U(5);U(6);U(7);U(8);U(9)]; u3=[U(7);U(8);U(9);U(10);U(11);U(12)]; f1=PlaneFrameElementForces(E,A,I,L1,90,u1) f2=PlaneFrameElementForces(E,A,I,L2,0,u2) f3=PlaneFrameElementForces(E,A,I,L3,270,u3)

需调用的函数和子程序 function y=PlaneFrameAssemble(K,k,i,j) %PlaneFrameAssemble This function assembles the element stiffness %matrix k of the plane frame element with nodes i and j into the global %stiffness matrix K .This function returns the global stiffness matrix K after %the element stiffness matrix k is assembled. K(3*i-2,3*i-2)=K(3*i-2,3*i-2)+k(1,1); K(3*i-2,3*i-1)=K(3*i-2,3*i-1)+k(1,2); K(3*i-2,3*i)=K(3*i-2,3*i)+k(1,3); K(3*i-2,3*j-2)=K(3*i-2,3*j-2)+k(1,4); K(3*i-2,3*j-1)=K(3*i-2,3*j-1)+k(1,5); K(3*i-2,3*j)=K(3*i-2,3*j)+k(1,6); K(3*i-1,3*i-2)=K(3*i-1,3*i-2)+k(2,1); K(3*i-1,3*i-1)=K(3*i-1,3*i-1)+k(2,2); K(3*i-1,3*i)=K(3*i-1,3*i)+k(2,3); K(3*i-1,3*j-2)=K(3*i-1,3*j-2)+k(2,4); K(3*i-1,3*j-1)=K(3*i-1,3*j-1)+k(2,5); K(3*i-1,3*j)=K(3*i-1,3*j)+k(2,6); K(3*i,3*i-2)=K(3*i,3*i-2)+k(3,1); K(3*i,3*i-1)=K(3*i,3*i-1)+k(3,2); K(3*i,3*i)=K(3*i,3*i)+k(3,3); K(3*i,3*j-2)=K(3*i,3*j-2)+k(3,4); K(3*i,3*j-1)=K(3*i,3*j-1)+k(3,5); K(3*i,3*j)=K(3*i,3*j)+k(3,6); K(3*j-2,3*i-2)=K(3*j-2,3*i-2)+k(4,1); K(3*j-2,3*i-1)=K(3*j-2,3*i-1)+k(4,2); K(3*j-2,3*i)=K(3*j-2,3*i)+k(4,3); K(3*j-2,3*j-2)=K(3*j-2,3*j-2)+k(4,4); K(3*j-2,3*j-1)=K(3*j-2,3*j-1)+k(4,5); K(3*j-2,3*j)=K(3*j-2,3*j)+k(4,6); K(3*j-1,3*i-2)=K(3*j-1,3*i-2)+k(5,1); K(3*j-1,3*i-1)=K(3*j-1,3*i-1)+k(5,2); K(3*j-1,3*i)=K(3*j-1,3*i)+k(5,3); K(3*j-1,3*j-2)=K(3*j-1,3*j-2)+k(5,4); K(3*j-1,3*j-1)=K(3*j-1,3*j-1)+k(5,5); K(3*j-1,3*j)=K(3*j-1,3*j)+k(5,6); K(3*j,3*i-2)=K(3*j,3*i-2)+k(6,1); K(3*j,3*i-1)=K(3*j,3*i-1)+k(6,2); K(3*j,3*i)=K(3*j,3*i)+k(6,3); K(3*j,3*j-2)=K(3*j,3*j-2)+k(6,4); K(3*j,3*j-1)=K(3*j,3*j-1)+k(6,5); K(3*j,3*j)=K(3*j,3*j)+k(6,6); y=K;

有限元编程的c++实现算例

有限元编程的c++实现算例 read.pudn./downloads76/doc/fileformat/290377/ganjian.cpp__.htm 1. #include 2. #include 3. 4. 5. #define ne 3//单元数 6. #define nj 4//节点数 7. #define nz 6//支撑数 8. #define npj 0//节点载荷数 9. #define npf 1//非节点载荷数 10. #define nj3 12//节点位移总数 11. #define dd 6//半带宽 12. #define e0 2.1E8//弹性模量 13. #define a0 0.008//截面积 14. #define i0 1.22E-4//单元惯性距 15. #define pi 3.141592654 16. 17. 18. int jm[ne+1][3]={{0,0,0},{0,1,2},{0,2,3},{0,4,3}};/*gghjghg*/ 19. double gc[ne+1]={0.0,1.0,2.0,1.0}; 20. double gj[ne+1]={0.0,90.0,0.0,90.0}; 21. double mj[ne+1]={0.0,a0,a0,a0}; 22. double gx[ne+1]={0.0,i0,i0,i0}; 23. int zc[nz+1]={0,1,2,3,10,11,12}; 24. double pj[npj+1][3]={{0.0,0.0,0.0}}; 25. double pf[npf+1][5]={{0,0,0,0,0},{0,-20,1.0,2.0,2.0}}; 26. double kz[nj3+1][dd+1],p[nj3+1]; 27. double pe[7],f[7],f0[7],t[7][7]; 28. double ke[7][7],kd[7][7]; 29.

相关主题
文本预览
相关文档 最新文档