基于MATLAB的有限元结构分析
摘要: MATLAB 是当今国际科学界最具影响力和活力的软件。文章介绍了MATLAB语言的特点,详细介绍了用MATLAB语言编写结构内力的有限元方法,并通过实例对平面钢架结构进行了内力分析。
关键词:MATLAB 有限元 结构
0引言
MATLAB是Mathworks公司推出的,集算法开发、数值运算、符号运算以及图形处理等强大功能于一体的高级技术计算语言和交互式环境。MATL✡AB意为矩阵实验室,它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,ฝ并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平。
有限元法的基本思想是将物体(即连续求解域)离散成有限个且按一定方式相互连接在一起的单元组合,来模拟和逼近原来的物体,从而将一个连续的无限自由度问题简化为离散的有限自由度问题求解的数值分析法。有限元法还有一个特点是,它的理论采用矩阵形式表达。这并不利于一般的计算机语言编制计算机程序,因为传统的计算机语言处理的对象是标♂量,使用矩阵形式的有限元理论时,必须把矩阵形式的公式转换成标量表示的公式。而如果采用 MATLAB,这个特点就变成了有限元法的优点,运算更便捷。
1运用MATLAB编写有限元程序的操作步骤
1.1建立有限元模型
建立有限元模型就是为求解有限元模型做铺垫。需要对节点、单元以及材料的定义。同时对约束条件、集中力、分布力进行定义。然后在M函数文件中以矩阵或向量的形式输入单元号、节点数、材料的性质、约束条件、集中力、分布力。
用MATLAB写出每个单元的单元刚度矩阵。按照刚度集成法,把各个单元的刚度矩阵分别放到整体刚度矩阵中的相应位置上,然后根据边界条件进行修正得到整体刚度矩阵。将非节点荷载按照虚功原理分配到单元节点上,从而计算出等效节点力。处理约束条件,最后求解出方程组。
1.3显示计算结果
运行程序后得到各个单元两端的位移列阵和节点力列阵,包括各个单元两端的X方向上的位移、Y方向上的位移和转角,得到的节点力为轴力、剪力、和弯矩。
用MATLAB求解有限元结构内力的算法框图如图1所示。
图1Matlab进行有限元分析求解框图
2实例分析
图2 平面钢架
在M文件中,利用单元刚度矩阵和坐标转换矩阵,形成整体坐标系下的整体刚度矩阵,并根据边界条件,进行修正,最后得到修正后的ღ整体刚度矩阵。将节点荷载列阵和非节点荷载列阵,转化为在整体坐标系下的节点荷载列阵和非节点荷载列阵并相加,得到整体坐标系下的节点荷载列阵,求解方程组。现将部分单元两端内力列出,如表1所示。
表1 部分单元两端内力列表
内力 一单元 二单元 四单元
起始端轴力 2.8241e+004 1.9439e+004 5.1759e+004
起始端剪力 4.0560e+004 2.8241e+004 1.9439e+004
终端轴力 -2.824☤1e+004 -1.9439e+004 -5.1759e+004
终端弯矩 -4.2741e+004 3.8087e+004 3.9551e+004
3结束语
本文阐述了有限元算法的基本原理,结合实例在Matlab进行编程实现,结果表明利用Matlab 求解一些基于有限元思想分析的结构问题是简单可行的、实用的,对理解和解决有限元问题具有很大的帮助,对相关工程人员具有很大的作用。