有限单元法与程序设计
- 格式:ppt
- 大小:1.55 MB
- 文档页数:33
等参数单元的形函数。
按几何关系式和式(其中记号有如下关系式和规则,它们与式中)求逆,得到于是按式(的元素写出为了用的显式,引入矢径及其偏导数的记号如下((、、的偏导数。
根据复合函数求导的))))和对和分别表示,应变计算公式是个子矩阵,典型的子矩阵是单元刚度矩阵可以分成和)定义。
由式(其中常数应力的计算公式是矩阵,形函数对下面是计算单元刚度矩阵的函数,其中又调用了计算应变矩阵,坐标的导数等子程序。
为了方便阅读,这里一并列出。
等效结点力则采用体积力设单位体积力是为式中和和方向的等效结点力分量为零。
表面力上作用表面力设单元的某边界的等效结点力为的公式有的面上进行积分,按照数学分析的某个边界面上进行的。
例如,对于式中曲面积分是在单元上作用分布力,则在此面上各结点分别是高斯积分的权系数和高斯点。
另外两个高斯积分法的单元自重的等效结点力为的负方向,分阶数时,可以得到多项式积分的精确值。
设单元重力的方向为的符号运算功能得到。
但是一般可以利用高斯积分法,因为取合适的积当体积力的形式比较简单,如为多项式时,则上式能积出显式,可以利用,则移置到各结点上的等效结点力之间的关系,因此)写成和可以用)(,得到表示该曲面的外法线于是式()可以写成这就是将原来的第一类曲面积分化为第二类曲面积分。
例如,对于的面上,由坐标变换式(,给出来表示,通过计算和归纳,可以将式()的面上,相应的计算公式只须在上式右端对对于及和将它代入式(,设若单元的某个面上只作用着沿外法线方向荷载方向,则有同时进行轮换就可得到。
基于实际的考虑,式()和式()使用时并不方便,因为必须知道作用在单元的哪一个面来确定积分变量,还需要考虑正负符号。
其实根据形函数的特性,即不在某一个面上的结点的形函数在这个面上值为零,因此表面力只对作用面上的结点有贡献。
设单元的某一个曲面上作用有分布表面力,个空间结点组成,该曲面可以用参数方程写成元的形函数。
这里要注意的是,这式(结点等参数单元的形函数,即由式(个结点也必须如图等参数单元的结点顺序排列。
第一章有限元法概述第一节有限元法的发展及基本思想随着现代工业、生产技术的发展,不断要求设计高质量、高水平的大型、复杂和精密的机械及工程结构。
为此目的,人们必须预先通过有效的计算手段,确切地预测即将诞生的机械和工程结构,在未来工作时所发生的应力、应变和位移。
但是传统的一些方法往往难以完成对工程实际问题的有效分析。
弹性力学的经典理论,由于求解偏微分方程边值问题的困难,只能解决结构形状和承受载荷较简单的问题,对于几何形状复杂、不规则边界、有裂缝或厚度突变,以及几何非线性、材料非线性等问题往往遇到很多麻烦,试图按经典的弹性力学方法获得解析解是十分困难的,甚至是不可能的。
因此,需要寻求一种简单而又精确的数值分析方法。
有限元法正是适应这种要求而产生和发展起来的一种十分有效的数值计算方法。
这个方法起源于20世纪50年代中期航空工程中飞机结构的矩阵分析。
1960年美国的克劳夫(C l o u g h)采用此方法进行飞机结构分析时,首次将这种方法起名为“有限单元法”(finite element method),简称“有限元法”。
有限单元法的基本思想,是在力学模型上将一个原来连续的物体离散成为有限个具有一定大小的单元,这些单元仅在有限个节点上相连接,并在节点上引进等效力以代替实际作用于单元上的外力。
对于每个单元,根据分块近似的思想,选择一种简单的函数来表示单元内位移的分布规律,并按弹性理论中的能量原理(或用变分原理)建立单元节点力和节点位移之间的关系。
最后,把所有单元的这种关系式集合起来,就得到一组以节点位移为未知量的代数方程组,解这些方程组就可以求出物体上有限个离散节点上的位移。
图1.1是用有限元法对直齿圆柱齿轮的轮齿进行的变形和应力分析,其中图1.1(a)为有限元模型,图1.1(b)是最大切应力等应力线图。
在图1.1(a)中采用8节点四边形等参数单元把轮齿划分成网格,这些网格称为单元;网格间互相连接的点称为节点;网格与网格的交界线称为边界。
有限元程序设计平面四边形4结点等参有限单元法程序设计1、程序功能及特点a.该程序采用四边形4节点等参单元,能解决弹性力学的平面应力应变问题。
b.前处理采用网格自动划分技术,自动生成单元及结点信息。
b.能计算受集中力、自重体力、分布面力和静水压力的作用。
c.计算结点的位移和单元中心点的应力分量及其主应力。
d.后处理采取整体应力磨平求得各个结点的应力分量。
e.算例计算结果与ANSYS计算结果比较,并给出误差分析。
f.程序采用Visual Fortran 5.0编制而成。
2、程序流程及图框图2-1程序流程图图2-2子程序框图其中,各子程序的主要功能为:INPUT――输入原始数据HUAFEN――自动网格划分,形成COOR(2,NP),X,Y的坐标值与单元信息CBAND――形成主元素序号指示矩阵MA(*)SKO――形成整体刚度矩阵[K]CONCR――计算集中力引起的等效结点荷载{R}eBODYR――计算自重体力引起的等效结点荷载{R}eFACER――计算分布面力引起的等效结点荷载{R}eDECOP――支配方程LU三角分解FOBA――LU分解直接解法中的回代过程OUTDISP――输出结点位移分量STRESS――计算单元应力分量OUTSTRE――输出单元应力分量STIF――计算单元刚度矩阵FDNX――计算形函数对整体坐标的导数TiiyNxN⎥⎦⎤⎢⎣⎡∂∂∂∂,=i1,2,3,4。
FUN8――计算形函数及雅可比矩阵[J]SFUN ――应力磨平-单元下的‘K’=NCN‘SCN――应力磨平-单元下的右端项系数‘CN‘SUMSKN――应力磨平-单元下的右端项集成到总体的‘P‘SUMSTRS――应力磨平-单元下的集成到总体的‘K‘GAUSTRSS――高斯消元求磨平后的应力3、输入数据及变量说明当程序开始运行时,按屏幕提示,键入数据文件的名字。
在运行程序之前,根据程序中INPUT需要的数据输入建立一个存放原始数据的文件,这个文件的名字为INDAT.DAT。
2.3 平面问题有限元程序设计一、程序设计方法与结构分析程序的特点1.程序设计方法论简述借助计算机来完成某项工作,通常都要先编写相应的计算机程序,或叫程序设计。
完成一个结构分析或结构CAD系统也必然要经过程序设计才能实现。
程序设计要使用专门的程序语言。
我国结构程序设计中所采用的语言,在60年代和70年代初以ALGOL语言为主。
此后逐步广泛使用的主要是BASIC语言和FORTRAN语言,随着CAD 和人工智能技术的发展,PASCAL、 C、LISP、 PROLOG等有着各自特长的程序语言也逐步进入土木工程领域的计算机程序设计中。
过去人们通常认为,程序设计的中心问题就是学会使用一种程序语言,用以编写程序。
然而学会用程序语言编程只是整个程序设计中的一部分。
据有关资料介绍,编写程序在整个系统的研制过程中仅占15%的工作量。
在一个大型程序系统的整个存在阶段的工作量中,在系统投入使用后的维护工作量为原来研制工作量总和的两倍(这一点在作者所从事的软件开发工作中也得到充分的证明)。
维护工作量是如此之高,这就使我们必须注意到,在程序研制阶段便即应当考虑为以后的维护工作提供方便,哪怕是为此要增加一些额外的工作量也是值得的。
要编制一个好的程序系统并没有一种绝对的规则,就象是工程设计没有一种绝对规则一样。
但对于程序设计的好坏现在已逐渐形成了一套评价的客观标准。
这些标准大致分为以下几个主要方面:(1) 程序的可读性;(2) 正确性与可靠性;(3) 使用方便且效率高;(4) 软件的可移置性;(5) 易于调试与维护。
直到1970年代中期人们才认识到软件的维护是软件研究的一个关键领域。
造成软件维护工作量大的原因之一是与程序研制过程中所采用的设计方法不够科学化有关。
为了解决这一问题,人们开展了对于程序设计方法论的研究与实践,其目标是使软件正确、可靠和降低整个软件研制活动的费用。
总的来说,程序设计已从强调灵活的技巧和局部效率向着强调程序结构化和整体功能的方向发展。
-1- -2- 平面四边形4结点等参有限单元法程序设计1、程序功能及特点a.该程序采用四边形4节点等参单元能解决弹性力学的平面应力应变问题。
b.前处理采用网格自动划分技术自动生成单元及结点信息。
b.能计算受集中力、自重体力、分布面力和静水压力的作用。
c.计算结点的位移和单元中心点的应力分量及其主应力。
d.后处理采取整体应力磨平求得各个结点的应力分量。
e.算例计算结果与ANSYS计算结果比较并给出误差分析。
f.程序采用Visual Fortran 5.0编制而成。
2、程序流程及图框启动输入原始数据自动划分网格形成MA计算NNHMX形成整体刚度矩阵K形成荷载列向量RLU分解KLU回代并求得结点位移输入结点位移计算单元应力及主应力等整体应力磨平结点应力停机图2- 程序流程图-3- MAINPROGRAMINPUTHUAFENCBANDSKOSTIFFDNXFUN8CONCRBODYRFA CERDECOPFOBASTRESSGAUSSSTRESSSUMSSUMSTRSOUTDISTRE 图2-子程序框图其中各子程序的主要功能为INPUT――输入原始数据HUAFEN――自动网格划分形成COOR2NPXY的坐标值与单元信息CBAND――形成主元素序号指示矩阵MA SKO――形成整体刚度矩阵K CONCR――计算集中力引起的等效结点荷载Re BODYR――计算自重体力引起的等效结点荷载Re FACER――计算分布面力引起的等效结点荷载Re DECOP――支配方程LU三角分解FOBA――LU分解直接解法中的回代过程OUTDISP――输出结点位移分量STRESS――计算单元应力分量OUTSTRE――输出单元应力分量STIF――计算单元刚度矩阵FDNX――计算形函数对整体坐标的导数TiiyNxNi1234。
FUN8――计算形函数及雅可比矩阵J SFUN ――应力磨平-单元下的…K‟NCN… SCN――应力磨平-单元下的右端项系数…CN… SUMSKN――应力磨平-单元下的右端项集成到总体的…P… -4- SUMSTRS――应力磨平-单元下的集成到总体的…K… GAUSTRSS――高斯消元求磨平后的应力3、输入数据及变量说明当程序开始运行时按屏幕提示键入数据文件的名字。