31 lines
779 B
Matlab
31 lines
779 B
Matlab
function enf = EquivalentNodeForce( ie, aa, bb, ps )
|
|
% 计算线性分布荷载的等效节点力
|
|
% 输入参数:
|
|
% ie ----- 单元号
|
|
% aa ----- 终点节点号
|
|
% bb ----- 起点节点号
|
|
% ps ----- 荷载分布集度值
|
|
% 返回值:
|
|
% enf ----- 等效节点力向量
|
|
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 ;
|
|
|
|
% 弥补前处理中的节点乱序
|
|
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 |