38 lines
1.0 KiB
Mathematica
38 lines
1.0 KiB
Mathematica
|
|
function k = StiffnessMatrix( ie )
|
|||
|
|
% <EFBFBD><EFBFBD><EFBFBD>㵥Ԫ<EFBFBD>նȾ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
% <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|||
|
|
% ie ---- <EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD>
|
|||
|
|
% <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ:
|
|||
|
|
% k ---- <EFBFBD><EFBFBD>Ԫ<EFBFBD>նȾ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
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
|