平面问题的有限元法实例
有限单元法是求解连续区域内的边值问题和初值问题的数值方法。其实质是将
e
分析区连续的域V和边界S离散成为有限个、只在结点连接的子域Ve和面域 S(每个子域称为一个有限单元,各个子域连接的点称为结点),用全部有限单元的集合等价于连续域的近似分析方法。计算中只求结点上的待定函数(即:要求的函数)值,用结点上的待定函数值反映整个域待定函数的分布和变化规律。
有限单元法的分析步骤 1. 连续体的离散 2. 选择形函数 3. 单元特性分析
4. 总体特性分析(单刚-总刚) 5. 引入边界条件
6. 求解线性方程组,得到求解函数值。
下面我们就以平面应变问题的三角形单元有限元为例,阐明有限元解题的过程,从位移模式的建立,到形函数的形成以及单元刚度矩阵、总体刚度矩阵,求解等全过程。
例题:如下图是一块三角形薄板,荷载沿厚度均匀分布,荷载集度为10,板的各部分尺寸如图所示。为了计算方便,我们去板厚t=1,弹性模量E=1,泊松比
0.25,容重0。
首先我们先把下图中的薄板划分成四个三角形单元,并进行标号,标出单元号和节点码,选取坐标。
计算过程如下:
由上图可知坐标1(0,2),2(0,1),3(1,1),4(0,0),5(1,0),6(2,0). 位移边界条件:x轴上,v=0; y轴上,u=0;
荷载边界条件:由计算得1上的荷载为5,2上的荷载为10,3上的荷载为5。 所要建立的刚度矩阵为:
第 1 页 共 9 页 1
K11K 61K16K6616FL1FL6 节点荷载为FL1(5,0),FL2(10,0),FL3(0,0),FL4(0,0),FL5(0,0),FL6(0,0)
TTF(F F FFFF)()LLLLLLL荷载阵列: T位移阵列:()(uvuvuvuvuvuv)
先求劲度矩阵k;
对于Ⅰ、Ⅱ、Ⅳ,可求得A=0.5㎡。
Axjxmxiyj(xiyixjyixmyixiymxjyixmyj)ymyi 其中
同理对于Ⅲ,A=0.5㎡。
为简单起见,我们取,tm。
设三角形单元的形函数为:(x,y)xy (1)
i(xi,yi)j(xj,yj)(x,y)mmm (2)
)ma())amija(A(aiiajjam(biibjjbm)mb()jb()bmiA)mc()jc()cmiA(ciicjjcm (3)
Axjxmxiyiyjym得
由
aixjymxmyjajxmyixiymajxiyjxjyibiyjymbjymyibmyiyjccixmxjcjxixmcm (4) 将(3)代入(1),
(x,y)Ni(x,y)iNj(x,y)jNm(x,y)m[N(x,y)]{(e)}
得形函数矩阵N(x,y)[Ni(x,y)Nj(x,y)Nm(x,y)]
第 2 页 共 9 页 2
N(aibixciy)xiAN(ajbjxcjy)yjANmA(ambmxcmy)xy i{(e)}jm
设ui,j,mxi,j,myi,j,mvi,j,mxi,j,myi,j,m
uNiuiNjujNmumxuiyuj(xy)um vNiviNjvjNmvmxviyvj(xy)vm uNiuiNjujNmumdNvNvNvvjjmm ii 位移模式矩阵
e dN
eT()u(iviujvjumvm )ijm
NiN应变:
NiNjNjNmxyxyNmxyxy
uiviujumucmjvjvmvjbmuvivmujummvm
dudxbidvdyAcidvdudxdycibibjcjcjbjbmcmBe 由B*,则
应力:由D
第 3 页 共 9 页 3
ED 其中
D*BeuiEviujvjumvmuiviEujvjumvm
(()e)TFeT劲度矩阵:由虚功原理
A()dxdyt
其中
()T(B()e)T(()e)TBT 整理得
(()e)TFe(()T)(ABTDBdxdyt)e
FeABTDBdxdyteFeke(adxdyA.m)kBTDBtABTDBt
代入得:
kiikijkimkkkkEtjijjjmkk()mikmjmm取,tm时,得
第4
4 页 共 9 页
....E....k........
eTeeF(FFF)ijmFk知道了k,我们由,即可求出节点力
Krskrse,这里整体编码与局部编码之间存在下列关系:
kiikkjikmikijkjjkmjkimkjmkmmFFkFFFkF
FFkFFFkFⅠⅠⅠⅠⅠⅠⅠⅠ KkkKkkKkkKkk Fjjjmji先看,有
ⅠⅠⅠⅢⅡⅠⅡⅢKkkKkkkkkkFmjmmjjii ,有
同理有F,F,F,F的矩阵元素,如下:
第 5 页 共 9 页 5
kⅠjjⅠkmjkⅠKijkⅠjmⅡⅢkⅠmmkjjkiiⅢkⅠimkmikⅡmjⅢkⅡijkjikⅠjiⅢkⅠmikimⅢⅣkⅠiikmmkjjⅣkⅢjmkmjⅣkijkⅡjmkⅡmmkⅡjmⅢkⅡjikijⅢkmjkⅣjmⅡkmiⅡⅣkiikⅢjjkmmⅣkimkⅣjiⅣkmiⅣkii
...............E...........
整体平衡方程组为:
..................
uv.uv..uv.u.vu...vuv...................E.................
可求得节点位移:
第 6 页 共 9 页 6
再由位移求应力 对于Ⅰ、Ⅱ、Ⅳ单元
u.v.u.v.u.v.uEvu.v.u.v e由应力转换矩阵S,及DDB有
D*BSE....
同理对于Ⅲ单元
D*BSE....
则各单元的应力为
uvxEyv....xyv Ⅰ:
uxyE....vxy Ⅱ:
第 7 页 共 9 页 7
vxuEy....xyuv Ⅲ:
uxuyE....vuxy Ⅳ:
我们编程要输入的数据如下: 1. 基本参数
1) 单元数NE=; 2) 节点数NJ=; 3) 支承数NZ=;
4) 节点荷载数NPJ=; 5) 半带宽DD=;
6) 节点位移数NJ2=NJ*2=; 2. 其他参数
1) 问题类型码LXM,平面应力LXM=0;
2) 弹性常数E,,弹性模量EO=1,泊松比MU=0.25; 3) 容重,LOU=0; 4) 板厚t,TE=1; 5) 节点坐标数组AJZ
021012113AJZ(N,J2)004105206
AJZ(NJ,2)中的元素按节点整体码顺序输入,数组行号为节点整体码,每个节点的坐标值存一行,第一列存x值,第二列存y值。 6) 节点码数组JM
第 8 页 共 9 页 8
123Ⅰ245ⅡJM(NE,3)253Ⅲ356Ⅳ
JM(NE,3)中的元素按单元输入,单元号为行号。每个单元的整体码存一行。局部码为列号,局部码对应的整体码放在相应的列。 7) 支承数组NZC
7NZC(NZ)812
NZC(NZ)中的元素按支承对应的位移数从小到大排列。 8) 节点荷载数组PJ
57PJ(NPJ,2)108512
节点荷载数 荷载对应的位移数
PJ(NPJ,2)中的元素排列原则为:一个节点荷载存一行,同一行中的第一列是节点荷载值,第二列是荷载对应的位移数。 3. 程序框图
程序如附件所示。
第 9 页 共 9 页 9