有限元理论与编程入门
热1已有 57 次阅读 2023-04-11 08:00在百度百科里面有限元的定义:“在数学中,有限元法(FEM,Finite Element Method)是一种为求解偏微分方程边值问题近似解的数值技术。求解时对整个问题区域进行分解,每个子区域都成为简单的部分,这种简单部分就称作有限元。”
“偏微分方程”,还“边值问题”,还“数值技术”,看起来好难的样子。又涉及到理论力学、材料力学、弹性力学、塑性力学、板壳理论、结构动力学、断裂力学。。。。。。,难上加难。
有限元确实难,不过“好在有限元可以在不同层次上理解和应用”(李仁宪《有限元法基础》)。最简单的有限元是杆梁有限元,就是材料力学或者结构力学里面的矩阵位移法,也就是说学材料力学的时候顺带着就可以把有限元入门的东西学一学。直接法推导单元刚度矩阵、总体刚度矩阵组装、载荷等效、坐标变换,把杆梁一维二维问题解决掉,求解超静定梁问题还是比较爽的。
即便是简单的杆梁问题也涉及到矩阵计算,手算的话计算量比较大,不容易的。好在EXCEL有数组和矩阵加减乘求逆函数,可以直接秒算。节点不多的情况下,不需要编程,直接用EXCEL表格手算,搞定课本上的问题没问题,那么也就实现了理解原理和初步应用。
弹性力二维简单算例也可以EXCEL表格手算,比如等参元刚度矩阵数值计算。
弹性力学平面问题比杆梁问题复杂,计算起来工作量更大,不过在只用EXCEL表格不编程的情况还是可以的搞定课本上的简单算例。这样就可以体验用有限元解决材料力学问题和弹性力学二维问题了。实际上非线性问题原理演示问题也可以EXCEL手动计算。
在不编程的情况下就使用EXCEL表格。
单元数量比较多的情况下,手动表格计算就比较麻烦了。实际上节点稍微多一点,主要是总体刚度矩阵组装麻烦。不过只要知道单元刚度矩阵在总体刚度矩阵的位置规律,这事就变成数据处理问题,编程技能就可以用上了。
知道单元节点编号i和j,单元刚度矩阵k()中的16项在总体刚度矩阵K()的位置规律如下,还是比较简单的,“翻译”成你熟悉的编程语言对应代码就可以了,或者直接用MATLAB。MATLAB零基础的话,能看懂现成代码,运行起来就可以了。这样就可以解决比课程上单元数量多不少的简单工程问题,实现工程应用,比如多点支撑问题求支反力。
入门教材推荐如下:
1. 刘鸿文《材料力学》第Ⅱ册“矩阵位移法”,材料力学与有限元无缝对接。
2. 曾攀的《有限元基础教程》,杆梁问题、弹性力学二维三维问题以MATLAB编程。
3. 洛根的《有限元方法基础教程(国际单位制版)》,比2讲解更详细,内容更丰富,理论讲解算例演示首推。
4. 莫维尼的《有限元分析-ANSYS理论与应用 》,比3更简单一些,B站有讲解课程。
5. 卡坦的《MATLAB有限元分析与应用》,与2配合,更简单易懂更丰富的编程算例演示。
6. 李仁宪《有限元法基础》,234都是直接法加最小势能原理推导单元刚度矩阵,这本是直接法与虚功原理推导单元刚度矩阵。
如果觉得弹性力学推导难,可以看看周博教授的《固体力学——理论及MATLAB求解》。如果感觉3里面的公式推导难,可以采用MATLAB,MATLAB香啊。
8. Kim Nam-Ho的《Introduction to Nonlinear Finite Element Analysis》,MATLAB非线性有限元。
EXCEL矩阵函数和数组计算直接百度看看就好了。
理论学习与编程主要目的是为了理解原理,限于个人编程能力很难解决实际复杂结构问题,实际工程中用强大的商业有限元软件,刷软件教材比刷有限元理论教材容易的。
发表评论 评论 (5 个评论)