27 lines
1.2 KiB
Mathematica
27 lines
1.2 KiB
Mathematica
|
|
function ke=ele_stiff_matrix(E_ID,Nodes,Elements,E,u,Width)
|
|||
|
|
ENodes(:,1) = Elements(E_ID,:);
|
|||
|
|
iN = size(ENodes,1);
|
|||
|
|
ke = zeros(2*iN,2*iN);
|
|||
|
|
D=[E/(1-u^2),u*E/(1-u^2),0;
|
|||
|
|
u*E/(1-u^2),E/(1-u^2),0;
|
|||
|
|
0,0,E/(2*(1+u))];
|
|||
|
|
|
|||
|
|
% <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
r = [-sqrt(1/3) sqrt(1/3)]; % 2*2 <EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>
|
|||
|
|
s = [r(1) r(1) r(2) r(2)];
|
|||
|
|
t = [r(2) r(1) r(1) r(2)]; % <EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
% <EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD>㵥Ԫ<EFBFBD>նȾ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
for i=1:4
|
|||
|
|
J = Jacobi(E_ID,s(i),t(i),Elements,Nodes); % <EFBFBD>ſɱȾ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
Nst = DiffShapeFun(s(i),t(i)); % <EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>s,t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
Nxy = zeros(8,2);
|
|||
|
|
for j=1:8
|
|||
|
|
Nxy(j,:) = (J\Nst(j,:)')'; % <EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x,y <EFBFBD><EFBFBD><EFBFBD><EFBFBD>=inv(J)*Nst
|
|||
|
|
end
|
|||
|
|
Bm = [Nxy(1,1) 0 Nxy(2,1) 0 Nxy(3,1) 0 Nxy(4,1) 0 Nxy(5,1) 0 Nxy(6,1) 0 Nxy(7,1) 0 Nxy(8,1) 0;
|
|||
|
|
0 Nxy(1,2) 0 Nxy(2,2) 0 Nxy(3,2) 0 Nxy(4,2) 0 Nxy(5,2) 0 Nxy(6,2) 0 Nxy(7,2) 0 Nxy(8,2);
|
|||
|
|
Nxy(1,2) Nxy(1,1) Nxy(2,2) Nxy(2,1) Nxy(3,2) Nxy(3,1) Nxy(4,2) Nxy(4,1) Nxy(5,2) Nxy(5,1) Nxy(6,2) Nxy(6,1) Nxy(7,2) Nxy(7,1) Nxy(8,2) Nxy(8,1)];
|
|||
|
|
ke = ke+det(J)*Bm'*D*Bm*Width;
|
|||
|
|
|
|||
|
|
end
|
|||
|
|
end
|