Ứng dụng tin học trong Cơ học kết cấu – 2021

Kết quả SVG 2021

Nội dung cập nhật 29/01/2021

Các bài mẫu và các bài hướng dẫn thầy đã up lên tại địa chỉ: https://nuce.vn/live


Phần mềm Octave: https://www.gnu.org/software/octave/index

Công cụ Calfem: https://github.com/CALFEM/calfem-matlab

Tài liệu về Matlab: https://nuce.vn/tailieu/matlab.pdf

Tài liệu về PTHH: https://nuce.vn/tailieu/pthh.pdf

Tài liệu cập nhật 21/01/2021: https://nuce.vn/tailieu/pthh2.pdf

Các đoạn code mẫu để tính theo phương pháp PTHH (các em có thể tham khảo sử dụng khi chưa biết Calfem, nếu đã biết sử dụng Calfem thì nội dung này không cần thiết):

% Nhập các vector q, qn, qs tương ứng

q=[1 2 3 7 8 9 7 8 10 4 5 6]; % {q’}

qn=[1 2 3 7 8 9 10 4 5 6]; % {q_ngang}

qs=[7 8 9 10]; % {q*}

% TINH MA TRAN KHU TRUNG LAP

hang=size(q)(2);      % Số hàng của ma trận [H]

cot=size(qn)(2);      % Số cột của ma trận [H]

H=zeros(hang, cot);

for r=1:hang

  for c=1:cot

    if q(r)==qn(c)

      H(r,c)=1;

    endif

  endfor

endfor

% TINH MA TRAN DO CUNG

E=20000; A=100; I=800; L=500;    % Nhập E, A, I, L vào đây

Ke=[E*A/L            0            0  -E*A/L            0          0;

        0   12*E*I/L^3    6*E*I/L^2       0  -12*E*I/L^3  6*E*I/L^2;

        0    6*E*I/L^2      4*E*I/L       0   -6*E*I/L^2    2*E*I/L;

   -E*A/L            0            0   E*A/L            0          0;

        0  -12*E*I/L^3   -6*E*I/L^2       0  12*E*I/L^3  -6*E*I/L^2; 

        0    6*E*I/L^2      2*E*I/L       0   -6*E*I/L^2    4*E*I/L];

% TINH VEC TO TAI TRONG NUT TUONG DUONG

t=0;p=0;T=360; P=-480; M=0; % Nhap phan bo va luc tap trung vao day

Re1=[t*L/2 p*L/2 p*L^2/12 t*L/2 p*L/2 -p*L^2/12];

Re2=[T/2 P/2-3*M/(2*L) P*L/8-M/4 T/2 P/2+3*M/(2*L) -P*L/8-M/4];

Re=Re1+Re2;

Re=Re’;    % Chuyển hàng thành cột

% TINH MA TRAN CHUYEN TRUC TOA DO

g=-acos(4/5); % Nhap goc gama vao day

Te=[ cos(g) sin(g) 0       0      0 0;

    -sin(g) cos(g) 0       0      0 0;

          0      0 1       0      0 0;

          0      0 0  cos(g) sin(g) 0;

          0      0 0 -sin(g) cos(g) 0;

          0      0 0       0      0 1];

% TINH TRONG HE TOA DO CHUNG

Rep=(Te’)*Re

Kep=Te’*Ke*Te

% KHU SUY BIEN

KichThuocMaTranKs=size(qs)(2);

KichThuocMaTranKn=size(qn)(2);

Ks=zeros(KichThuocMaTranKs) % [K*]

Rs=zeros(1,KichThuocMaTranKs) % [R*]

ViTri=zeros(1,KichThuocMaTranKs); % Tim vi tri hang, cot chinh xac trong [Kn]

for i=1:KichThuocMaTranKs

  for j=1:KichThuocMaTranKn

    if qs(i)==qn(j)

      ViTri(i)=j;

    endif

  endfor

endfor

for i=1:KichThuocMaTranKs

  Rs(i)=Rn(ViTri(i));

  for j=1:KichThuocMaTranKs

    Ks(i,j)=Kn(ViTri(i),ViTri(j));

  endfor

endfor

Lập trình hoàn thiện tính toán cho ví dụ sau: