You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
4.4 KiB
46 lines
4.4 KiB
function Ke = computeKE(a,b,DH)
|
|
GaussNodes = [-1/sqrt(3); 1/sqrt(3)]; GaussWeigh = [1 1];
|
|
L = [1 0 0 0; 0 0 0 1; 0 1/2 1/2 0];
|
|
Ke = zeros(8,8);
|
|
|
|
for i = 1:length(GaussNodes)
|
|
for j = 1:length(GaussNodes)
|
|
GN_x = a*GaussNodes(i);
|
|
GN_y = b*GaussNodes(j);
|
|
|
|
dN_x = 1/4*[-(1-GN_x) (1-GN_x) (1+GN_x) -(1+GN_x)];
|
|
dN_y = 1/4*[-(1-GN_y) -(1+GN_y) (1+GN_y) (1-GN_y)];
|
|
|
|
J = [dN_x; dN_y]*[ -a a a -a;
|
|
-b -b b b]';
|
|
G = [inv(J) zeros(size(J));
|
|
zeros(size(J)) inv(J)];
|
|
|
|
dN(1,1:2:8) = dN_x; dN(2,1:2:8) = dN_y;
|
|
dN(3,2:2:8) = dN_x; dN(4,2:2:8) = dN_y;
|
|
|
|
Be = L*G*dN;
|
|
Ke = Ke + GaussWeigh(i)*GaussWeigh(j)*det(J)*Be'*DH*Be;
|
|
end
|
|
end
|
|
|
|
% D = [d11 d12 d13
|
|
% d12 d22 d23
|
|
% d13 d23 d33];
|
|
% d11 = DH(1,1);
|
|
% d12 = DH(1,2);
|
|
% d13 = DH(1,3);
|
|
% d22 = DH(2,2);
|
|
% d23 = DH(2,3);
|
|
% d33 = DH(3,3);
|
|
% Ke = ...
|
|
% [ 0.3333*d11 + 0.25*d13 + 0.08333*d33, 0.25*d12 + 0.1667*d13 + 0.1667*d23 + 0.0625*d33, 0.04167*d33 - 0.3333*d11, 0.25*d12 - 0.1667*d13 + 0.08333*d23 - 0.0625*d33, - 0.1667*d11 - 0.25*d13 - 0.04167*d33, - 0.25*d12 - 0.08333*d13 - 0.08333*d23 - 0.0625*d33, 0.1667*d11 - 0.08333*d33, 0.08333*d13 - 0.25*d12 - 0.1667*d23 + 0.0625*d33;
|
|
% 0.25*d12 + 0.1667*d13 + 0.1667*d23 + 0.0625*d33, 0.3333*d22 + 0.25*d23 + 0.08333*d33, 0.08333*d23 - 0.1667*d13 - 0.25*d12 + 0.0625*d33, 0.1667*d22 - 0.08333*d33, - 0.25*d12 - 0.08333*d13 - 0.08333*d23 - 0.0625*d33, - 0.1667*d22 - 0.25*d23 - 0.04167*d33, 0.25*d12 + 0.08333*d13 - 0.1667*d23 - 0.0625*d33, 0.04167*d33 - 0.3333*d22;
|
|
% 0.04167*d33 - 0.3333*d11, 0.08333*d23 - 0.1667*d13 - 0.25*d12 + 0.0625*d33, 0.3333*d11 - 0.25*d13 + 0.08333*d33, 0.1667*d13 - 0.25*d12 + 0.1667*d23 - 0.0625*d33, 0.1667*d11 - 0.08333*d33, 0.25*d12 + 0.08333*d13 - 0.1667*d23 - 0.0625*d33, 0.25*d13 - 0.1667*d11 - 0.04167*d33, 0.25*d12 - 0.08333*d13 - 0.08333*d23 + 0.0625*d33;
|
|
% 0.25*d12 - 0.1667*d13 + 0.08333*d23 - 0.0625*d33, 0.1667*d22 - 0.08333*d33, 0.1667*d13 - 0.25*d12 + 0.1667*d23 - 0.0625*d33, 0.3333*d22 - 0.25*d23 + 0.08333*d33, 0.08333*d13 - 0.25*d12 - 0.1667*d23 + 0.0625*d33, 0.04167*d33 - 0.3333*d22, 0.25*d12 - 0.08333*d13 - 0.08333*d23 + 0.0625*d33, 0.25*d23 - 0.1667*d22 - 0.04167*d33;
|
|
% - 0.1667*d11 - 0.25*d13 - 0.04167*d33, - 0.25*d12 - 0.08333*d13 - 0.08333*d23 - 0.0625*d33, 0.1667*d11 - 0.08333*d33, 0.08333*d13 - 0.25*d12 - 0.1667*d23 + 0.0625*d33, 0.3333*d11 + 0.25*d13 + 0.08333*d33, 0.25*d12 + 0.1667*d13 + 0.1667*d23 + 0.0625*d33, 0.04167*d33 - 0.3333*d11, 0.25*d12 - 0.1667*d13 + 0.08333*d23 - 0.0625*d33;
|
|
% -0.25*d12 - 0.08333*d13 - 0.08333*d23 - 0.0625*d33, - 0.1667*d22 - 0.25*d23 - 0.04167*d33, 0.25*d12 + 0.08333*d13 - 0.1667*d23 - 0.0625*d33, 0.04167*d33 - 0.3333*d22, 0.25*d12 + 0.1667*d13 + 0.1667*d23 + 0.0625*d33, 0.3333*d22 + 0.25*d23 + 0.08333*d33, 0.08333*d23 - 0.1667*d13 - 0.25*d12 + 0.0625*d33, 0.1667*d22 - 0.08333*d33;
|
|
% 0.1667*d11 - 0.08333*d33, 0.25*d12 + 0.08333*d13 - 0.1667*d23 - 0.0625*d33, 0.25*d13 - 0.1667*d11 - 0.04167*d33, 0.25*d12 - 0.08333*d13 - 0.08333*d23 + 0.0625*d33, 0.04167*d33 - 0.3333*d11, 0.08333*d23 - 0.1667*d13 - 0.25*d12 + 0.0625*d33, 0.3333*d11 - 0.25*d13 + 0.08333*d33, 0.1667*d13 - 0.25*d12 + 0.1667*d23 - 0.0625*d33;
|
|
% 0.08333*d13 - 0.25*d12 - 0.1667*d23 + 0.0625*d33, 0.04167*d33 - 0.3333*d22, 0.25*d12 - 0.08333*d13 - 0.08333*d23 + 0.0625*d33, 0.25*d23 - 0.1667*d22 - 0.04167*d33, 0.25*d12 - 0.1667*d13 + 0.08333*d23 - 0.0625*d33, 0.1667*d22 - 0.08333*d33, 0.1667*d13 - 0.25*d12 + 0.1667*d23 - 0.0625*d33, 0.3333*d22 - 0.25*d23 + 0.08333*d33;];
|
|
|
|
end
|