欢迎光临散文网 会员登陆 & 注册

有限元基础编程——杆单元(附Matlab源码)

2022-08-12 22:53 作者:易木木响叮当  | 我要投稿

引言

”有限的单元,无限的能力“这句话来自清华大学有限元分析公开课曾攀老师的开课语。想要学好有限元这门课,不光要理解理论公式的由来及简单手酸,更要结合实际应用。本栏目将带着大家Step-By-Step基于Matlab语言实现有限元的基础操作,课程代码来自《有限元分析基础教程》——曾攀,并附赠ANSYS命令流文件进行验证Matlab代码正确性。

有限元“流水线套路”

  • • 求解单元刚度

  • • 组装整体刚度

  • • 未知位移求解

    • • 本质是线性方程组求解,求解方法有很多,基于Fortran编写的可以采用JCG开源程序包,基于Matlab编写的可以采用\,默认高斯消去法,也可以使用**PCG(预处理共轭梯度法)**等等,总之求解线性方程组的方法很多,我们初学者可以先使用最简单的\,进行求解。

    • • 对于位移边界的处理,有限元有很多方法:直接消去法置1法拉格朗日乘子法罚函数法等,对于初学者可以先概念最简单的直接消去法入手,等熟悉了有限元基本过程再使用更加进阶的操作。

  • • 节点力、应力、应变等求解

1D杆单元

这大概是最简单的有限元分析吧,简直每本有限元教材里面都会将之作为入门案例,操作虽然简单,但也是包含了有限元分析的基础步骤。

案例

图1 1D 杆单元例题

函数

主程序

结果所得位移与手算结果一致,可自行验证。

2D杆单元

坐标变换

2D杆单元在编写的时候涉及到由局部坐标系向整体坐标系变换的过程。坐标转换矩阵$T$为:

%0AT%3D%5Cleft%5B%20%5Cbegin%7Bmatrix%7D%0A%09%5Ccos%20%5Calpha%26%09%09%5Csin%20%5Calpha%26%09%090%26%09%090%5C%5C%0A%090%26%09%090%26%09%09%5Ccos%20%5Calpha%26%09%09%5Csin%20%5Calpha%5C%5C%0A%5Cend%7Bmatrix%7D%20%5Cright%5D%0A

 刚度矩阵、节点位移由局部坐标系Kq转换到整体坐标系%5Cbar%7BK%7D%5Cbar%7Bq%7D

%20%5Cbar%7BK%7D%3DT%5ETKT%20%5C%20%5Cbar%7Bq%7D%3DT%5ETq%20

%5Cbar%7BK%7D%3D%5Cfrac%7BEA%7D%7BL%7D%5Cleft%5B%20%5Cbegin%7Bmatrix%7D%0A%09%5Ccos%20%5E2%5Calpha%26%09%09%5Ccos%20%5Calpha%20%5Csin%20%5Calpha%26%09%09-%5Ccos%20%5E2%5Calpha%26%09%09-%5Ccos%20%5Calpha%20%5Csin%20%5Calpha%5C%5C%0A%09%5Ccos%20%5Calpha%20%5Csin%20%5Calpha%26%09%09%5Csin%20%5E2%5Calpha%26%09%09-%5Ccos%20%5Calpha%20%5Csin%20%5Calpha%26%09%09-%5Csin%20%5E2%5Calpha%5C%5C%0A%09-%5Ccos%20%5E2%5Calpha%26%09%09-%5Ccos%20%5Calpha%20%5Csin%20%5Calpha%26%09%09%5Ccos%20%5E2%5Calpha%26%09%09%5Ccos%20%5Calpha%20%5Csin%20%5Calpha%5C%5C%0A%09-%5Ccos%20%5Calpha%20%5Csin%20%5Calpha%26%09%09-%5Csin%20%5E2%5Calpha%26%09%09%5Ccos%20%5Calpha%20%5Csin%20%5Calpha%26%09%09%5Csin%20%5E2%5Calpha%5C%5C%0A%5Cend%7Bmatrix%7D%20%5Cright%5D

进行应力、节点力计算时,位移也应该由局部坐标系转换到整体坐标系中,由弹性力学中的物理方程,有 1D 问题的应力: 

%5Csigma%20%3DE%5Cvarepsilon%20%3DEBq%3D%5Cfrac%7BE%7D%7BL%7D%5Cleft%5B%20%5Cbegin%7Bmatrix%7D%0A%09-1%26%09%091%5C%5C%0A%5Cend%7Bmatrix%7D%20%5Cright%5D%20Tq

F%3D%5Csigma%20A%20

案例

图2 2D杆单元模型图

函数

主程序

ANSYS命令流


有限元基础编程——杆单元(附Matlab源码)的评论 (共 条)

分享到微博请遵守国家法律