Advertisement
Guest User

Untitled

a guest
Dec 15th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. function main
  2. format long
  3. E = 2e11;
  4. L_el = 100e-3;
  5. b = 10e-3;
  6. h = 20e-3;
  7. I = (b * h^3) / 12;
  8.  
  9. F = 10;
  10. M = F * L_el;
  11. f = [0; 0; 2 * F; 0; 4 * F; 0; 0; -2 * M; 0; 0];
  12.  
  13. u_flag = [0; 0; 1; 1; 1; 0; 1; 1; 0; 0];
  14.  
  15. N_el = 4;
  16. N_node = 5;
  17.  
  18. N_dof = N_node * 2;
  19.  
  20. node_cnt = 4;
  21.  
  22. K_el = zeros(node_cnt);
  23. K_glob = zeros(N_dof);
  24.  
  25. M_index = [1 2 3 4; 3 4 5 6; 5 6 7 8; 7 8 9 10];
  26.  
  27. L = [L_el, 1.5 * L_el, L_el, L_el];
  28.  
  29. for i = 1:N_el
  30. K_el = K_calc(E, L(i), I);
  31. for j = 1:node_cnt
  32. for k = 1:node_cnt
  33. K_glob(M_index(i, j), M_index(i, k)) = K_glob(M_index(i, j), M_index(i, k))+ K_el(j, k);
  34. end
  35. end
  36. end
  37.  
  38. for i = 1:length(u_flag)
  39. if ~u_flag(i, 1)
  40. K_glob(:, i) = 0;
  41. K_glob(i ,:) = 0;
  42. K_glob(i, i) = 1;
  43. end
  44. end
  45.  
  46. final_K_glob = K_glob;
  47.  
  48. u = pinv(final_K_glob) * f
  49.  
  50. end
  51.  
  52. function K_el_loc = K_calc(E, L, I)
  53.  
  54.  
  55. K_el_loc = [12*E*I/L^3, 6*E*I/L^2, -12*E*I/L^3, 6*E*I/L^2;
  56. 6*E*I/L^2, 4*E*I/L, -6*E*I/L^2, 2*E*I/L;
  57. -12*E*I/L^3,-6*E*I/L^2, 12*E*I/L^3, -6*E*I/L^2;
  58. 6*E*I/L^2, 2*E*I/L, -6*E*I/L^2, 4*E*I/L];
  59.  
  60. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement