function k = StiffnessMatrix( ie ) % 计算单元刚度矩阵 % 输入参数: % ie ---- 单元号 % 返回值: % k ---- 单元刚度矩阵 global gNode gElement gMaterial k = zeros( 6, 6 ) ; E = gMaterial( gElement(ie, 4), 1 ) ; mu = gMaterial( gElement(ie, 4), 2 ) ; h = gMaterial( gElement(ie, 4), 3 ) ; xi = gNode( gElement( ie, 1 ), 1 ) ; yi = gNode( gElement( ie, 1 ), 2 ) ; xj = gNode( gElement( ie, 2 ), 1 ) ; yj = gNode( gElement( ie, 2 ), 2 ) ; xm = gNode( gElement( ie, 3 ), 1 ) ; ym = gNode( gElement( ie, 3 ), 2 ) ; ai = xj*ym - xm*yj ; aj = xm*yi - xi*ym ; am = xi*yj - xj*yi ; bi = yj - ym ; bj = ym - yi ; bm = yi - yj ; ci = -(xj-xm) ; cj = -(xm-xi) ; cm = -(xi-xj) ; area = abs((ai+aj+am)/2) ; B = [bi 0 bj 0 bm 0 0 ci 0 cj 0 cm ci bi cj bj cm bm] ; B = B/2/area ; D = [ 1-mu mu 0 mu 1-mu 0 0 0 (1-2*mu)/2] ; D = D*E/(1-2*mu)/(1+mu) ; k = transpose(B)*D*B*h*abs(area) ; return