一个最根基的有限元计较措施
副标题#e#
我们在进修有限元课程时做的另一个功课,用 C/C++ 编程求解了一个简朴的有限元问题,可以作为有限元进修的编程实例,以更好地领略有限元理论,并为进一步利用大型有限元软件打下基本。本文所涉及的有限元根基理论请参考章本照先生编著的《流体力学中的有限元要领》PP.156-165。
一、二维传热问题
如图一所示:
图一 二维传热问题
二、解题进程
1、对布局举办离散化,将待阐明的布局物从几许上用线或面分别为有限个单位,按布局物的差异和阐明要求,选取差异形式的单位,在单位的界线上配置节点,并书写编号。计较节点坐标
2、单位阐明:设法导出单位的结点位移和结点力之间的干系,成立单位刚度矩阵。
单位刚度矩阵的计较:
对付方程
回收 Galerkin弱解表达式
(*)
#p#副标题#e#
这里回收三节点的三角形单位,单位的基函数共有三个,选用插值多项式
别离代入单位三个节点的坐标可解得
个中
e单位中的近似函数为
(**)
将式(*)中的积分区域取为e单位的区域 ,并将单位中的近似函数表达式(**)代入,并留意到的任意性,可得
记 (***)
(****)
将单位基函数的详细表达式(*)代入(***)式中,可得
通过等参调动(详细见文献1第201页),可得
这里指p为常数的环境,A为三角形单位的面积。
这里g 均为0,所以此项不消计较。
3、整体阐明(以求结点力为例)整体阐明就是将各个单位构成布局整体举办阐明。整体阐明的目标在于导出整个布局结点位移与结点力之间的干系,成立整个布局的刚度方程。阐明步调:首先按着必然的集陈法则,将各单位刚度矩阵荟萃成布局整体刚度矩阵,并将单位等效结点荷载荟萃成整体等效结点荷载列阵;然后引入布局的位移界线条件,求解整体均衡方程组,得出根基未知量――结点位移列阵。
4、用选定的算法语言编写出措施(C/C++),调试措施挪用高斯消元法解方程的出功效。
附件措施Fem1.cpp计较了积分值,Fem2.cpp则回收了面积坐标下的插值函数,积分值取为三角形面积的三分之一。两者功效沟通,可是后者更为通用,可以把措施用于其他形状的二维区域的有限元计较,Fem3.cpp计较了题2。
三.单位网格分别
四边形单位网格分别单位网格分别示意如图一:
图一
计较功效功效数据可视化如图二、图三。它们是题1别离用Fem1.cpp措施和Fem2.cpp措施计较功效的Matlab数据可视化图,它们表示的数据根基一致,调查视点差异。图4是题2的解。
图二 图三
图四
操作此措施的根基框架,我们还乐成地解算了三角形、椭圆形区域的有限元问题。
最后感激我们的老师—-在数学和计较上具有深厚功力的王旭传授,感激他对我们的悉心指导和热情勉励!
本文配套源码