Chẩn đoán hư hỏng kết cấu khung bằng phương pháp kết hợp véc tơ định vị (DLV) và giải thuật tiến hóa khác biệt (DE)

92 156 0
Chẩn đoán hư hỏng kết cấu khung bằng phương pháp kết hợp véc tơ định vị (DLV) và giải thuật tiến hóa khác biệt (DE)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀ O TẠO TRƯỜNG ĐẠI HỌC MỞ THÀ NH PHỐ HỒ CHÍ MINH - ĐỖ Q TỒN CHẨN ĐỐN HƯ HỎNG KẾT CẤU KHUNG BẰNG PHƯƠNG PHÁP KẾT HỢP VÉC-TƠ ĐỊNH VỊ (DLV) VÀ GIẢI THUẬT TIẾN HÓA KHÁC BIỆT (DE) LUẬN VĂN THẠC SĨ XÂY DỰNG CƠNG TRÌNH DÂN DỤNG VÀ CƠNG NGHIỆP TP Hồ Chí Minh, Năm 2017 LUẬN VĂN THẠC SĨ LỜI CAM ĐOAN Tôi cam đoan luận văn với tên đề tài “Chẩn đoán hư hỏng kết cấu khung phương pháp kết hợp véc-tơ định vị (DLV) giải thuật tiến hóa khác biệt (DE)” nghiên cứu tơi hướng dẫn PGS.TS Nguyễn Thời Trung Ngoại trừ tài liệu tham khảo trích dẫn luận văn này, tơi cam đoan toàn phần hay phần nhỏ luận văn chưa công bố sử dụng để nhận cấp nơi khác Khơng có sản phẩm/nghiên cứu người khác sử dụng luận văn mà khơng trích dẫn theo quy định Luận văn chưa nộp để nhận cấp trường đại học sở đào tạo khác TP Hồ Chí Minh, năm 2017 ĐỖ Q TỒN GVHD: NGUYỄN THỜI TRUNG i HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ LỜI CẢM ƠN Đầu tiên xin gửi lời cảm ơn chân thành đến thầy PGS.TS Nguyễn Thời Trung Thầy người hướng dẫn trực tiếp cho tơi hồn thành luận văn Thầy người dạy cho tơi nhiều điều hữu ích sống Thầy người tạo động lực truyền cảm hứng cho tơi suốt q trình làm luận văn Kế đến xin gửi lời cảm ơn đến ThS Võ Duy Trung Người hỗ trợ tơi nhiều suốt q trình làm luận văn Tôi xin gửi lời cảm ơn đến thầy giảng dạy tơi q trình học cao học Đại học Mở TP.HCM Những kiến thức hữu ích thầy giúp tơi nhiều cho việc hoàn thành luận văn Cuối cùng, cám ơn ba, mẹ, anh, chị người thân ln cận kề động viên, chia khó khăn tạo nguồn động lực to lớn để hồn thành tốt luận văn TP Hồ Chí Minh, năm 2017 ĐỖ Q TỒN GVHD: NGUYỄN THỜI TRUNG ii HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ TĨM TẮT LUẬN VĂN THẠC SĨ Đề tài “Chẩn đốn hư hỏng kết cấu khung phương pháp kết hợp véctơ định vị (DLV) giải thuật tiến hóa khác biệt (DE)” Nghiên cứu trình bày lý thuyết ứng dụng số việc chẩn đoán hư hỏng khung phương pháp kết hợp giai đoạn (DLV giải thuật DE) Trong giai đoạn 1, nghiên cứu áp dụng phương pháp DLV để xác định vị trí hư hỏng Trong giai đoạn 2, nghiên cứu áp dụng giải thuật DE để đánh giá phần trăm hư hỏng vị trí xác định hư hỏng Nghiên cứu triển khai cụ thể cho ví dụ số: Ví dụ số thứ cho khung nhịp tầng với vị trí hư hỏng; ví dụ số thứ hai cho khung nhịp 10 tầng với vị trí hư hỏng; ví dụ số thứ ba cho khung nhịp tầng với trường hợp vị trí hư hỏng vị trí hư hỏng Cả ví dụ số có xét liệu bị nhiễu Kết phân tích cho thấy phương pháp kết hợp DLV DE hiệu việc xác định đánh giá mức độ hư hỏng kết cấu, đặc biệt áp dụng hiệu cho trường hợp liệu bị nhiễu GVHD: NGUYỄN THỜI TRUNG iii HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ MỤC LỤC Trang LỜI CAM ĐOAN i LỜI CẢM ƠN ii TÓM TẮT LUẬN VĂN THẠC SĨ iii MỤC LỤC iv DANH MỤC HÌNH vi DANH MỤC BẢNG BIỂU vii DANH MỤC TỪ VIẾT TẮT viii CHƯƠNG 1: MỞ ĐẦU 1.1 Đặt vấn đề 1.2 Tổng quan tài liệu 1.3 Mục tiêu nghiên cứu 1.4 Đối tượng phạm vi nghiên cứu 1.5 Kết cấu luận văn CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Phần tử hữu hạn cho khung 2.1.1 Véc-tơ chuyển vị nút 10 2.1.2 Ma trận độ cứng phần tử 10 2.1.3 Ma trận khối lượng phần tử 12 2.1.4 Véc-tơ tải phần tử 12 2.1.5 Các ma trận véc-tơ hệ tổng thể 14 2.1.6 Hậu xử lý tính nội lực 16 2.2 Phương pháp kết hợp để chẩn đoán hư hỏng kết cấu khung 18 2.2.1 Phương pháp xác định vị trí hư hỏng DLV 19 2.2.2 Xác định vị trí mức độ hư hỏng giải thuật DE 22 2.2.3 Định nghĩa hư hỏng gây nhiễu 27 CHƯƠNG 3: VÍ DỤ SỐ 29 3.1 Khung nhịp tầng 30 GVHD: NGUYỄN THỜI TRUNG iv HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ 3.1.1 Sơ đồ khung nhịp tầng 30 3.1.2 Kết nghiên cứu 31 3.2 Khung nhịp 10 tầng 36 3.2.1 Sơ đồ khung nhịp 10 tầng 36 3.2.2 Kết nghiên cứu 38 3.3 Khung nhịp tầng 43 3.3.1 Sơ đồ khung nhịp tầng 43 3.3.2 Kết nghiên cứu 44 CHƯƠNG 4: KẾT LUẬN, ĐÓNG GÓP VÀ HƯỚNG PHÁT TRIỂN 54 4.1 Kết luận 54 4.2 Ý nghĩa đóng góp nghiên cứu 54 4.3 Hướng phát triển nghiên cứu 55 MỘT SỐ KẾT QUẢ ĐÃ ĐƯỢC CÔNG BỐ 56 TÀI LIỆU THAM KHẢO 57 PHỤ LỤC 61 Phụ lục A: Những báo khoa học đăng 61 Phụ lục B: Một số đoạn code Matlab cho toán chẩn đoán hư hỏng khung64 Phụ lục C: Lý lịch trích ngang 82 GVHD: NGUYỄN THỜI TRUNG v HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ DANH MỤC HÌNH Trang Hình 1.1 Một số hình ảnh minh họa kết cấu khung thực tế Hình 2.1 Phần tử khung phẳng tuyến tính hệ tọa độ địa phương Hình 2.2 Phần tử khung phẳng hệ tọa độ tổng thể 14 Hình 2.3 Lưu đồ giải thuật DLV 22 Hình 2.4 Lưu đồ giải thuật DE 24 Hình 2.5 Cơ chế đột biến giải thuật DE sử dụng toán tử đột biến rand 26 Hình 2.6 Cơ chế tạo véc-tơ thử nghiệm 27 Hình 3.1 Sơ đồ tính khung nhịp tầng 30 Hình 3.2 Sơ đồ nút phần tử khung nhịp tầng 30 Hình 3.3 Kết chẩn đốn DLV cho khung nhịp tầng 32 Hình 3.4 Kết chẩn đoán DLV cho khung nhịp tầng trường hợp liệu bị nhiễu 33 Hình 3.5 Sơ đồ tính khung nhịp 10 tầng 36 Hình 3.6 Sơ đồ phần tử khung nhịp 10 tầng 37 Hình 3.7 Kết chẩn đoán DLV cho khung nhịp 10 tầng 39 Hình 3.8 Kết chẩn đoán DLV cho khung nhịp 10 tầng trường hợp liệu bị nhiễu 40 Hình 3.9 Sơ đồ tính khung nhịp tầng 43 Hình 3.10 Sơ đồ nút phần tử khung nhịp tầng 44 Hình 3.11 Kết chẩn đoán DLV cho khung nhịp tầng 45 Hình 3.12 Kết chẩn đốn DLV cho khung nhịp tầng trường hợp liệu bị nhiễu 46 Hình 3.13 Kết chẩn đốn DLV cho khung nhịp tầng có vị trí hư hỏng 49 Hình 3.14 Kết chẩn đoán DLV cho khung nhịp tầng trường hợp liệu bị nhiễu với vị trí hư hỏng 50 GVHD: NGUYỄN THỜI TRUNG vi HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ DANH MỤC BẢNG BIỂU Trang Bảng 3.1 Thơng số tính tốn cho ví dụ số 29 Bảng 3.2 Kết so sánh tần số Matlab với SAP 2000 Hao (2009) 31 Bảng 3.3 Kết áp dụng giải thuật DE tìm phần trăm hư hỏng 34 Bảng 3.4 Kết áp dụng giải thuật DE tìm phần trăm hư hỏng trường hợp liệu bị nhiễu 35 Bảng 3.5 Kết so sánh tần số khung nhịp 10 tầng Matlab SAP 2000 38 Bảng 3.6 Kết áp dụng giải thuật DE tìm phần trăm hư hỏng 41 Bảng 3.7 Kết áp dụng giải thuật DE tìm phần trăm hư hỏng trường hợp liệu bị nhiễu 42 Bảng 3.8 Kết so sánh tần số Matlab SAP 2000 44 Bảng 3.9 Kết chẩn đoán DE cho khung nhịp tầng 47 Bảng 3.10 Kết áp dụng giải thuật DE tìm phần trăm hư hỏng trường hợp liệu bị nhiễu 48 Bảng 3.11 Kết áp dụng giải thuật DE tìm phần trăm hư hỏng 51 Bảng 3.12 Kết áp dụng giải thuật DE tìm phần trăm hư hỏng trường hợp liệu bị nhiễu 52 GVHD: NGUYỄN THỜI TRUNG vii HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ DANH MỤC TỪ VIẾT TẮT - DE: Differential evolution (tiến hóa khác biệt) - DLV: Damage locating vector (véc-tơ định vị hư hỏng) - E: Mô đun đàn hồi - Ma trận độ mềm kết cấu hư hại chưa bị hư hại FD , FUD : - HCM : Hồ Chí Minh - K: Ma trận độ cứng toàn cục - K edamage : Độ cứng phần tử thứ e trạng thái bị hư hại - e : K undamage Độ cứng phần tử thứ e trạng thái không bị hư hại - L, le : Chiều dài thanh, chiều dài phần tử - M: Ma trận khối lượng toàn cục - MDLAC: Chỉ tiêu đảm bảo nhiều vị trí hư hỏng - me : Ma trận khối lượng phần tử e - nce : Năng lượng tích lũy chuẩn hóa (Normalized cumulative energy) - Ne : Hàm dạng tương ứng với phần tử thứ e - NXB : Nhà xuất - PGS.TS: Phó giáo sư tiến sĩ - PSO: Tối ưu hóa bầy đàn (Particle swarm optimization) - STT: Số thứ tự - SVD: Phân rã giá trị đơn - ThS: Thạc sĩ - TP: Thành phố GVHD: NGUYỄN THỜI TRUNG viii HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ - u, w,  x : Là chuyển vị ngang, chuyển vị đứng góc xoay phần tử e - : Ứng suất pháp ứng suất cắt tương ứng theo phương - : Biến dạng dài biến dạng cắt - : Hệ số poison theo phương tương ứng - : Dạng dao động hay gọi mode shape - ,  : Tần số tự nhiên, tần số hiệu chỉnh - : Trọng lượng riêng vật liệu - e : Năng lượng tích lũy chuẩn hóa phần tử thứ e GVHD: NGUYỄN THỜI TRUNG ix HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ n1 = ele(e,1); n2 = ele(e,2); index = [(n1*3-2:n1*3),(n2*3-2:n2*3)]; [kele, mele, fele] = frame_k_m_ele(A(e),E,I(e),rho,gcrd,ele,e); k_global1 = zeros(sdof,sdof); m_global1 = zeros(sdof,sdof); k_global1(index, index) = kele; m_global1(index, index) = mele; if (ismember(e,damgele)) count = count + 1; k_global1(index, index) = (1-damglev(count)/100)*kele; end kglodamg = k_global1 + kglodamg; mglodamg = m_global1 + mglodamg; end end Chương trình tìm ma trận độ mềm khung function res = flex(eigval,eigvec,nmod) res = eigvec(:,1:nmod)*diag(1./eigval(1:nmod))*eigvec(:,1:nmod)'; end Chương trình tìm tải DLV khung function res = dlvs(flexintct, flexdamg) temp1 = flexdamg-flexintct; sdof = size(flexintct,1); [u, s, v] = svd(temp1); nnod = length(diag(s)); id = rank(s); v0 = v(:,id:end); temp2 = []; for i = 1:size(v0,2) if(dlvtrivial(v0(:,i))) temp2 = [temp2,i]; end end v0(:,temp2) = []; res = v0; end Chương trình tìm lượng biến dạng GVHD: NGUYỄN THỜI TRUNG 68 HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ function res = frame_nce(nele,nmod,eigvec,A,E,I,rho,gcrd,ele) mseie = zeros(nele,nmod); for e = 1:nele [kele, mele, fele] = frame_k_m_ele(A(e),E,I(e),rho,gcrd,ele,e); nod1 = ele(e,1); nod2 = ele(e,2); index = [(nod1*3-2:nod1*3),(nod2*3-2:nod2*3)]; for i = 1:nmod mseie(e,i) = (eigvec(index,i)')*kele*eigvec(index,i); end end res1 = sum(mseie./repmat(max(mseie),nele,1),2); res = res1/max(res1); end Chương trình vẽ biễu đồ DLV khung figure; hold on box on kscale = -min(min(floor(log10(ncevec)))); ncescale(kscale,ncevec(:,1),'r-p') ncescale(kscale,ncevec(:,2),'k->') ncescale(kscale,ncevec(:,3),'m-o') ncescale(kscale,ncevec(:,4),'b-*') set(gca,'Fontsize',20); xlabel('Element number','FontSize',20) ylabel('nce','FontSize',20,'FontAngle','italic') legend('3 modes','4 modes','5 modes', '6 modes') Chương trình chẩn đoán hư hỏng DE khung clear; close all diary desktop.txt damgele = [4 25]; damglev = [15,20]; nmod = 6; frame_intct frame_damg objectfunc2 = @(extent) minusmdlac_mshape(extent,angfreq, angfreqdamg,eigvecdamg); n_smp = 10; GVHD: NGUYỄN THỜI TRUNG 69 HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ res_sol = []; res_conv = []; for i = 1:n_smp [extentoptde,fvalde,itervec,Fbest,Fmean]= DE_edit2_nofile(objectfunc2,20,length(damgele), zeros(1,length(damgele)),100*ones(1,length(damgele)),100,1e-5); res_sol = [res_sol; extentoptde, fvalde, max(itervec)]; res_conv = [res_conv;Fbest;Fmean]; end save(['sol',num2str(n_smp)],'res_sol') save(['conv',num2str(n_smp)],'res_conv') diary off Chương trình cho hàm mục tiêu khung function res = minusmdlac_mshape(extent,angfreq,angfreqdamg,eigvecdamg) damgele = [4,25]; nmod = 5; frame_input_opt frame_damg_opt delf = (angfreq(1:nmod) - angfreqdamg(1:nmod))./angfreq(1:nmod); df = (angfreq(1:nmod) - angfreqdamgopt(1:nmod))./angfreq(1:nmod); mdlac = (delf'*df)^2/((delf'*delf)*(df'*df)); weig = 1*ones(1,nmod); res = 1-mdlac + mshape_error( eigvecdamg, eigvecdamgopt, nmod, weig ); end Chương trình cho giải thuật DE khung function [ xval,fval,itervec,Fbest,Fmean] = DE_edit2_nofile( fitness,Popsize,dim,Lb,Ub,epoch,tol ) Pop = cell(Popsize,1); Fx = zeros(Popsize,1); parfor j = 1:Popsize Pop{j,1} = Lb + (Ub-Lb).*rand(1,dim); Fx(j) = feval(fitness,Pop{j,1}); end Display = 'y'; if strcmp(Display,'y') fprintf('\n Best\t\t Mean\n') fprintf('Generation\tf-count\t\t f(x)\n') end CR = 1; F = 0.5; Fbest = zeros(1,epoch); Fmean = zeros(1,epoch); GVHD: NGUYỄN THỜI TRUNG 70 HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ Fbest(1) = min(Fx); Fmean(1) = mean(Fx); for iter = 1:epoch Popnew = Pop; parfor j=1:Popsize [r1,r2,r3] = selection(Popsize,j); v=mutation(r1,r2,r3,F,Pop,Lb,Ub); u = crossover(Pop,j,v,CR,dim); Fnew = feval(fitness,u); if(Fnew Ub); id = union(id1,id2); v(id) = Lb(id)+(Ub(id)-Lb(id)).*rand(1,length(id)); res =v; end Chương trình lai tạo cho giải thuật DE function res = crossover(Pop,j,v,CR,dim) u = Pop{j,1}; rv = rand(1,dim); id = find(rv < CR); u(id) = v(id); res = u; end Chương trình DLV cho khung nhịp tầng bị nhiễu clear; close all n_smp = 100; nmodvec = [5 8]; ncevec = []; nlv_f = 0.15/100; nlv_phi = 3/100; damgele = [4,25]; damglev = [15 25]; for i = 1:length(nmodvec) nmod = nmodvec(i); frame_intct frame_damg nce_smp = []; nce_m = zeros(nele,1); for j = 1:n_smp GVHD: NGUYỄN THỜI TRUNG 72 HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ tnmod = length(eigval); angfreqdamg = (1 + nlv_f*(2*rand(tnmod,1) - 1)).*angfreqdamg; for k = 1:tnmod for l = 1:sdof eigvecdamg_n(l,k) = eigvecdamg(l,k) + nlv_phi*(2*rand-1)*eigvecdamg(l,k); end end eigvaldamg_n = angfreqdamg.^2; flexintct = flex(eigval,eigvec,nmod); flexdamg = flex(eigvaldamg_n,eigvecdamg_n,nmod); dlv = dlvs(flexintct, flexdamg); flexchange = flexintct - flexdamg; disp('dlv check') max(max(abs(flexchange*dlv))) dlvdsplm = solstatic(kglo,dlv,bcdof); nce = frame_nce(nele,size(dlv,2),dlvdsplm(:,:),A,E,I,rho,gcrd,ele); nce_smp = [nce_smp, nce]; end save( ['nce_smp',num2str(i)],'nce_smp') nce_m = mean(nce_smp,2); save(['nce',num2str(i)],'nce_m'); end plot_nce_eff_number_o_modes Chương trình DE cho khung nhịp tầng bị nhiễu clear; close all diary desktop.txt damgele = [4 25]; damglev = [15,20]; nmod = 8; nlv_f = 0.15/100; nlv_phi = 3/100; frame_intct frame_damg n_smp = 10; res_sol = []; res_conv = []; for i = 1:n_smp tnmod = length(eigval); angfreqdamg_n = (1 + nlv_f*(2*rand(tnmod,1) - 1)).*angfreqdamg; GVHD: NGUYỄN THỜI TRUNG 73 HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ for k = 1:tnmod for l = 1:sdof eigvecdamg_n(l,k) = eigvecdamg(l,k) + nlv_phi*(2*rand-1)*eigvecdamg(l,k); end end objectfunc2 = @(extent) minusmdlac_mshape(extent,angfreq, angfreqdamg_n,eigvecdamg_n); [extentoptde,fvalde,itervec,Fbest,Fmean]= DE_edit2_nofile(objectfunc2,20,length(damgele), zeros(1,length(damgele)),100*ones(1,length(damgele)),100,1e-5); res_sol = [res_sol; extentoptde, fvalde, max(itervec)]; res_conv = [res_conv;Fbest;Fmean]; end save(['sol',num2str(n_smp)],'res_sol') save(['conv',num2str(n_smp)],'res_conv') diary off Chương trình DLV cho khung nhịp 10 tầng không nhiễu clear; close all nmodvec = [3 6]; ncevec = []; damgele = [15,135]; damglev = [25 35]; for i = 1:length(nmodvec) nmod = nmodvec(i); frame_intct frame_damg flexintct = flex(eigval,eigvec,nmod); flexdamg = flex(eigvaldamg,eigvecdamg,nmod); dlv = dlvs(flexintct, flexdamg); flexchange = flexintct - flexdamg; disp('dlv check') max(max(abs(flexchange*dlv))) dlvdsplm = solstatic(kglo,dlv,bcdof); nce = frame_nce(nele,size(dlv,2),dlvdsplm(:,:),A,E,I,rho,gcrd,ele); ncevec = [ncevec,nce]; end plot_frame_number_o_modes Chương trình liệu đầu vào cho khung nhịp 10 tầng không nhiễu gcoord = toadonode; GVHD: NGUYỄN THỜI TRUNG 74 HV: ĐỖ QUÍ TOÀN LUẬN VĂN THẠC SĨ element = ketnoiphantu; gcrd = gcoord; ele = element; nele = size(ele,1); nnod = size(gcrd,1); ndof = 3; sdof = nnod*3; E = 2.0e11; rho = 7670; A = [(50.5*6*1e-6)*ones(1,140)]; I = A*(6*1e-3)^2/12; bcf = [11 44]; fglo = zeros(sdof,1); fval = [-50,-50]; fglo(bcf) = fval; bcdof = [1,2,3,34,35,36,67,68,69,100,101,102]; scaledsplm = 1e5; scalemod = 5e0; Chương trình chẩn đốn DE cho khung nhịp 10 tầng không nhiễu clear; close all diary desktop.txt damgele = [15 135]; damglev = [25,35]; nmod = 5; frame_intct frame_damg objectfunc2 = @(extent) minusmdlac_mshape(extent,angfreq, angfreqdamg,eigvecdamg); n_smp = 10; res_sol = []; res_conv = []; for i = 1:n_smp [extentoptde,fvalde,itervec,Fbest,Fmean]= DE_edit2_nofile(objectfunc2,20,length(damgele), zeros(1,length(damgele)),100*ones(1,length(damgele)),100,1e-5); res_sol = [res_sol; extentoptde, fvalde, max(itervec)]; end save(['sol',num2str(n_smp)],'res_sol') save(['conv',num2str(n_smp)],'res_conv') diary off GVHD: NGUYỄN THỜI TRUNG 75 HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ Chương trình DLV cho khung nhịp 10 tầng bị nhiễu clear; close all n_smp = 100; nmodvec = [7 10]; ncevec = []; nlv_f = 0.1/100; nlv_phi = 1/100; damgele = [15,40]; damglev = [35 35]; for i = 1:length(nmodvec) nmod = nmodvec(i); frame_intct frame_damg nce_smp = []; nce_m = zeros(nele,1); for j = 1:n_smp tnmod = length(eigval); angfreqdamg = (1 + nlv_f*(2*rand(tnmod,1) - 1)).*angfreqdamg; for k = 1:tnmod for l = 1:sdof eigvecdamg_n(l,k) = eigvecdamg(l,k) + nlv_phi*(2*rand-1)*eigvecdamg(l,k); end end eigvaldamg_n = angfreqdamg.^2; flexintct = flex(eigval,eigvec,nmod); flexdamg = flex(eigvaldamg_n,eigvecdamg_n,nmod); dlv = dlvs(flexintct, flexdamg); flexchange = flexintct - flexdamg; disp('dlv check') max(max(abs(flexchange*dlv))) dlvdsplm = solstatic(kglo,dlv,bcdof); nce = frame_nce(nele,size(dlv,2),dlvdsplm(:,:),A,E,I,rho,gcrd,ele); nce_smp = [nce_smp, nce]; end save( ['nce_smp',num2str(i)],'nce_smp') nce_m = mean(nce_smp,2); save(['nce',num2str(i)],'nce_m'); end plot_nce_eff_number_o_modes GVHD: NGUYỄN THỜI TRUNG 76 HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ Chương trình DE cho khung nhịp 10 tầng bị nhiễu clear; close all diary desktop.txt damgele = [15 40]; damglev = [35, 35]; nmod = 7; nlv_f = 0.15/100; nlv_phi = 3/100; frame_intct frame_damg n_smp = 10; res_sol = []; res_conv = []; for i = 1:n_smp tnmod = length(eigval); angfreqdamg_n = (1 + nlv_f*(2*rand(tnmod,1) - 1)).*angfreqdamg; for k = 1:tnmod for l = 1:sdof eigvecdamg_n(l,k) = eigvecdamg(l,k) + nlv_phi*(2*rand-1)*eigvecdamg(l,k); end end objectfunc2 = @(extent) minusmdlac_mshape(extent,angfreq, angfreqdamg_n,eigvecdamg_n); [extentoptde,fvalde,itervec,Fbest,Fmean]= DE_edit2_nofile(objectfunc2,20,length(damgele), zeros(1,length(damgele)),100*ones(1,length(damgele)),100,1e-5); res_sol = [res_sol; extentoptde, fvalde, max(itervec)]; end save(['sol',num2str(n_smp)],'res_sol') save(['conv',num2str(n_smp)],'res_conv') diary off Chương trình DLV cho khung nhịp tầng (3 vị trí hư hỏng) khơng nhiễu clear; close all nmodvec = [3 6]; ncevec = []; damgele = [10,30, 60]; damglev = [15 20 15]; for i = 1:length(nmodvec) GVHD: NGUYỄN THỜI TRUNG 77 HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ nmod = nmodvec(i); frame_intct frame_damg flexintct = flex(eigval,eigvec,nmod); flexdamg = flex(eigvaldamg,eigvecdamg,nmod); dlv = dlvs(flexintct, flexdamg); flexchange = flexintct - flexdamg; disp('dlv check') max(max(abs(flexchange*dlv))) dlvdsplm = solstatic(kglo,dlv,bcdof); nce = frame_nce(nele,size(dlv,2),dlvdsplm(:,:),A,E,I,rho,gcrd,ele); ncevec = [ncevec,nce]; end plot_frame_number_o_modes Chương trình liệu đầu vào cho khung nhịp tầng không nhiễu gcoord = toadonode; element = ketnoiphantu; gcrd = gcoord; ele = element; nele = size(ele,1); nnod = size(gcrd,1); ndof = 3; sdof = nnod*3; E = 2.0e11; rho = 7670; A = [(50.5*6*1e-6)*ones(1,88)]; I = A*(6*1e-3)^2/12; bcf = [8 53]; fglo = zeros(sdof,1); fval = [-50,-50]; fglo(bcf) = fval; bcdof = [1,2,3,22,23,24,19,20,21,28,29,30,37,38,39,46,47,48]; scaledsplm = 1e5; scalemod = 5e0; Chương trình chẩn đốn DE cho khung nhịp tầng không nhiễu clear; close all diary desktop.txt damgele = [10 30 60]; GVHD: NGUYỄN THỜI TRUNG 78 HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ damglev = [15, 20, 15]; nmod = 6; frame_intct frame_damg objectfunc2 = @(extent) minusmdlac_mshape(extent,angfreq, angfreqdamg,eigvecdamg); n_smp = 10; res_sol = []; res_conv = []; for i = 1:n_smp [extentoptde,fvalde,itervec,Fbest,Fmean]= DE_edit2_nofile(objectfunc2,20,length(damgele), zeros(1,length(damgele)),100*ones(1,length(damgele)),100,1e-5); res_sol = [res_sol; extentoptde, fvalde, max(itervec)]; res_conv = [res_conv;Fbest;Fmean]; end save(['sol',num2str(n_smp)],'res_sol') save(['conv',num2str(n_smp)],'res_conv') diary off Chương trình DLV cho khung nhịp tầng bị nhiễu clear; close all n_smp = 100; nmodvec = [7 10]; ncevec = []; nlv_f = 0.15/100; nlv_phi = 3/100; damgele = [10,30, 60]; damglev = [30 35 35]; for i = 1:length(nmodvec) nmod = nmodvec(i); frame_intct frame_damg nce_smp = []; nce_m = zeros(nele,1); for j = 1:n_smp tnmod = length(eigval); angfreqdamg = (1 + nlv_f*(2*rand(tnmod,1) - 1)).*angfreqdamg; for k = 1:tnmod for l = 1:sdof eigvecdamg_n(l,k) = eigvecdamg(l,k) + nlv_phi*(2*rand-1)*eigvecdamg(l,k); GVHD: NGUYỄN THỜI TRUNG 79 HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ end end eigvaldamg_n = angfreqdamg.^2; flexintct = flex(eigval,eigvec,nmod); flexdamg = flex(eigvaldamg_n,eigvecdamg_n,nmod); dlv = dlvs(flexintct, flexdamg); flexchange = flexintct - flexdamg; disp('dlv check') max(max(abs(flexchange*dlv))) dlvdsplm = solstatic(kglo,dlv,bcdof); nce = frame_nce(nele,size(dlv,2),dlvdsplm(:,:),A,E,I,rho,gcrd,ele); nce_smp = [nce_smp, nce]; end save( ['nce_smp',num2str(i)],'nce_smp') nce_m = mean(nce_smp,2); save(['nce',num2str(i)],'nce_m'); end plot_nce_eff_number_o_modes Chương trình DE cho khung nhịp tầng bị nhiễu clear; close all diary desktop.txt damgele = [10 30 60]; damglev = [30, 35, 35]; nmod = 10; nlv_f = 0.15/100; nlv_phi = 3/100; frame_intct frame_damg n_smp = 10; res_sol = []; res_conv = []; for i = 1:n_smp tnmod = length(eigval); angfreqdamg_n = (1 + nlv_f*(2*rand(tnmod,1) - 1)).*angfreqdamg; for k = 1:tnmod for l = 1:sdof eigvecdamg_n(l,k) = eigvecdamg(l,k) + nlv_phi*(2*rand-1)*eigvecdamg(l,k); end end objectfunc2 = @(extent) minusmdlac_mshape(extent,angfreq, GVHD: NGUYỄN THỜI TRUNG 80 HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ angfreqdamg_n,eigvecdamg_n); [extentoptde,fvalde,itervec,Fbest,Fmean]= DE_edit2_nofile(objectfunc2,20,length(damgele), zeros(1,length(damgele)),100*ones(1,length(damgele)),100,1e-5); res_sol = [res_sol; extentoptde, fvalde, max(itervec)]; res_conv = [res_conv;Fbest;Fmean]; end save(['sol',num2str(n_smp)],'res_sol') save(['conv',num2str(n_smp)],'res_conv') diary off GVHD: NGUYỄN THỜI TRUNG 81 HV: ĐỖ Q TỒN LUẬN VĂN THẠC SĨ Phụ lục C: Lý lịch trích ngang • Họ tên: ĐỖ Q TỒN • Năm sinh: 1984 • Nơi sinh: Đồng Tháp • Địa liên lạc: 50A cư xá Lý Thường Kiệt, phường 7, quận 10, TP.HCM Quá trình đào tạo STT Trường Chuyên ngành Đại học Kiến trúc Xây dựng Dân dụng TP.HCM Công nghiệp Đại học Kinh tế TP.HCM Cấp bậc Luật kinh doanh Đại học Mở TP.HCM Kinh tế học Đại học Mở TP.HCM Xây dựng Cơng trình Dân dụng Công nghiệp Năm tốt nghiệp Đại học 2009 Đại học 2013 Thạc sĩ 2013 Thạc sĩ 2017 Q trình cơng tác STT Thời gian Vị trí Cơng ty công tác Cổ phần Xây dựng Dinh Phát Trưởng nhóm thiết kế TNHH Đại Phú Lâm Trưởng Phòng Kỹ thuật GVHD: NGUYỄN THỜI TRUNG 82 2009-2011 2012 đến HV: ĐỖ Q TỒN ... cam đoan luận văn với tên đề tài Chẩn đoán hư hỏng kết cấu khung phương pháp kết hợp véc- tơ định vị (DLV) giải thuật tiến hóa khác biệt (DE) nghiên cứu tơi hư ng dẫn PGS.TS Nguyễn Thời Trung... phương pháp kết hợp véctơ định vị (DLV) giải thuật tiến hóa khác biệt (DE) Nghiên cứu trình bày lý thuyết ứng dụng số việc chẩn đoán hư hỏng khung phương pháp kết hợp giai đoạn (DLV giải thuật DE)... dụng giải thuật tối ưu hóa DE để xác định mức độ hư hỏng kết cấu khung dựa vị trí nghi ngờ hư hỏng bước 2.2.1 Phương pháp xác định vị trí hư hỏng DLV Một kỹ thuật khoanh vùng hư hỏng kết cấu phương

Ngày đăng: 03/01/2019, 21:46

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan