FEM-Course-Matlab/18. 材料非线性问题matlab有限元编程/elastic/EquivalentNodeForce.m

31 lines
779 B
Mathematica
Raw Normal View History

2024-01-28 16:46:36 +00:00
function enf = EquivalentNodeForce( ie, aa, bb, ps )
% <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Էֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĵ<EFBFBD>Ч<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>
% <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
% ie ----- <EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD>
% aa ----- <EFBFBD>յ<EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>
% bb ----- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>
% ps ----- <EFBFBD><EFBFBD><EFBFBD>طֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
% <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ:
% enf ----- <EFBFBD><EFBFBD>Ч<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
global gElement gNode gMaterial
enf = zeros(6,1) ;
h = gMaterial( gElement( ie, 4 ), 3 ) ;
xj = gNode( aa, 1 ) ;
yj = gNode( aa, 2 ) ;
xi = gNode( bb, 1 ) ;
yi = gNode( bb, 2 ) ;
f1 = h*ps*(yi-yj)/2 ;
f2 = h*ps*(xj-xi)/2 ;
f3 = h*ps*(yi-yj)/2 ;
f4 = h*ps*(xj-xi)/2 ;
% <EFBFBD>ֲ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
switch ie
case 446
enf = [f1; f2; f3; f4; 0; 0] ;
case {492, 449, 456, 458, 460, 462}
enf = [0; 0; f1; f2; f3; f4] ;
case 437
enf = [f3; f4; 0; 0; f1; f2] ;
end
return