有限单元法与程序设计
- 格式: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、输入数据及变量说明当程序开始运行时按屏幕提示键入数据文件的名字。
有限单元法及程序设计有限单元法(Finite Element Method,FEM)是一种用于数值分析和计算的方法,广泛应用于工程和科学领域。
它通过将连续问题离散化成有限个小单元,并在每个小单元上建立数学模型来近似求解问题。
本文将介绍有限单元法的基本原理、步骤以及程序设计方面的注意事项。
一、有限单元法基本原理有限单元法的基本原理是将连续的物理区域划分为有限个离散的小单元,每个小单元内的场量近似表示为一些插值函数的线性组合。
通过对这些小单元进行逐个求解,最终得到整个问题的近似解。
有限单元法的核心思想是利用局部性原则,将整个问题分解成多个小问题。
每个小问题只涉及到相邻的单元,在确定了边界条件和材料特性后,可以进行独立的求解。
最后通过组合各个小问题的解,得到整个问题的解。
二、有限单元法步骤有限单元法的求解过程主要包括几个基本步骤,具体如下:1. 离散化:将连续的物理区域划分为有限的小单元。
常用的小单元形状包括三角形、四边形、六边形等。
2. 建立数学模型:在每个小单元上建立数学模型,通常使用插值函数来近似表示物理量。
插值函数的选择对求解结果的准确性和效率有重要影响。
3. 形成总体方程:根据物理规律和边界条件,利用适当的数学方法推导出总体方程。
常见的总体方程包括稳定性方程、运动方程等。
4. 矩阵装配:将每个小单元的局部方程装配成整个系统的总体方程。
这一步骤常常需要对单元进行编号和排序,以便正确地装配矩阵。
5. 边界条件处理:根据实际问题的边界条件,对总体方程进行修正。
边界条件的处理通常包括施加约束和设定边界值。
6. 求解方程:通过数值方法,如有限差分法或有限元法,求解总体方程。
常用的求解方法包括直接法和迭代法。
7. 后处理:对求解结果进行计算和分析,以获得实际问题的有用信息。
后处理包括输出位移、应力、应变等字段,以及进行可视化展示。
三、程序设计注意事项在进行有限单元法的程序设计时,需要充分考虑以下几个方面的注意事项:1. 算法选择:根据问题的特点和求解需求,选择合适的有限单元类型、插值函数和数值解法。
1.有限元程序设计的基本原理是什么?实际上就是最小势能原理,不同之处,即技术核心所在就是采用分段离散的方式来组合出全场几何域上的试函数,而不是直接寻找全场上的试函数。
2.有限元程序的具体实现步骤?请以杆系结构为例子进行阐述说明。
Ansys 步骤:1进入ANSYS ;2设置计算类型;3选择单元类型;4定义材料参数;5定义截面;6生成几何模型;7网格划分;8模型施加约束、荷载;9分析计算;10结果显示;11退出系统。
3.你所了解的有限元软件都有哪些?ANSYS 、ADINA 、ABAQUS 、MSC 等4.计算力学涉及哪些领域?涉及领域:有限元方法、理论及应用力学、应用数值分析和计算机及信息科学。
计算力学的应用范围扩大到固体力学、岩土力学、水力学、流体力学、生物力学等领域。
5.解决计算固体力学的静力问题都有哪些常用方法?在固体力学领域应用最广泛的数值方法是有限元法,其他数值方法还有有限差分法、加权残量法、边界元法、有限条法、自由网格法等 。
6.为什么要采用有限元方法来解决工程问题?与常规解析方法有什么不同?运用有限元方法解决工程实际问题时,不管是简单结构或者是复杂的结构,其求解过程是完全相同的,由于每个步骤都具有标准化和规范性的特征,可以在计算机上进行编程而自行实现,这是常规解析方法无法实现的。
7.从物理模型到有限元求解结果,中间存在哪些可能误差?有限元分析是用较简单的问题代替复杂问题后再求解。
它将求解域看成是由许多称为有限元的小的互连子域组成,对每一单元假定一个合适的(较简单的)近似解,然后推导求解这个域总的满足条件(如结构的平衡条件),从而得到问题的解。
这个解不是准确解,而是近似解,因为实际问题被较简单的问题所代替。
由于大多数实际问题难以得到准确解,而有限元不仅计算精度高,而且能适应各种复杂形状,因而成为行之有效的工程分析手段。
按位移法求解的有限元法中,应力解答的精度要小于位移解答精度的原因:应用位移元进行有限元分析时,未知场函数是位移,从系统平衡方程解得的是各个结点的位移值。