22 lines
697 B
Mathematica
22 lines
697 B
Mathematica
|
|
function AssembleEleStif( ie, Ke ) % 3级子程序,整体定<EFBFBD><EFBFBD>?
|
|||
|
|
%% 单元刚度矩阵拼装
|
|||
|
|
global Elements gKA
|
|||
|
|
|
|||
|
|
ENodes( : , 1 ) = Elements( ie , : );
|
|||
|
|
enm = size( ENodes , 1 ); % 单元的结点<EFBFBD>?<EFBFBD>数
|
|||
|
|
iLR = 2 * enm; % 单元的<EFBFBD>?<EFBFBD>自由度<EFBFBD><EFBFBD>?
|
|||
|
|
viDof = zeros( 2 * enm , 1 ); % 各结点自由度编号
|
|||
|
|
|
|||
|
|
for il=1:enm
|
|||
|
|
inod = ENodes( il );
|
|||
|
|
viDof( 2 * il-1 : 2 * il) = 2 * inod-1 : 2 * inod;
|
|||
|
|
end
|
|||
|
|
% 拼装:ir为行<EFBFBD><EFBFBD>?部编<EFBFBD><EFBFBD>?, irg为对应整体编<EFBFBD><EFBFBD>?
|
|||
|
|
for ir = 1 : iLR
|
|||
|
|
irg = viDof( ir );
|
|||
|
|
% ic为列<EFBFBD><EFBFBD>?部编<EFBFBD><EFBFBD>?, icg为对应整体编<EFBFBD><EFBFBD>?
|
|||
|
|
for ic = 1 : iLR
|
|||
|
|
icg = viDof( ic );
|
|||
|
|
gKA( irg , icg ) = gKA( irg , icg ) + Ke( ir , ic );
|
|||
|
|
end
|
|||
|
|
end
|