Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 114 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
114
Dung lượng
1,93 MB
Nội dung
i LỜI CAM ĐOAN Tôi cam đoan rằng, Luận văn "Chẩn đoánhưhạidầmcompositenhiềulớpsửdụngphươngpháp véc-tơ địnhvịDLVgiảithuậttiếnhóakhácbiệt DE" nghiên cứu tơi Ngoại trừ tài liệu tham khảo trích dẫn luận văn này, tơi cam đoan tồ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ácsử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 2016 NGUYỄN THANH TIỀNChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE ii LỜI CẢM ƠN Trong thời gian thực luận văn, nhận nhiều hướng dẫn, giúp đỡ góp ý nhiệt tình thầy cô trường Đại học Mở Tp HCM bạn lớp Xây dựng gia đình Trước tiên, xin gửi lời cảm ơn chân thành đến thầy PGS TS Nguyễn Thời Trung, người trực tiếp giúp đỡ hướng dẫn cho tận tình suốt thời gian thực đề cương luận văn này; đồng thời cảm ơn sâu sắc đến anh Võ Duy Trung – nghiên cứu viên Viện khoa học tính tốn INCOS, trường Đại học Tơn Đức Thắng Sau đó, tơi xin cảm ơn bạn học chung lớp Xây dựng hết lòng hỗ trợ, trao đổi, giúp đỡ tơi việc hồn thành luận văn Xin chân thành cảm ơn gia đình bạn bè nhiệt tình giúp đỡ, tạo điều kiện thuận lợi cho tơi hồn thành luận văn TP Hồ Chí Minh, năm 2016 NGUYỄN THANH TIỀNChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE iii TRANG TÓM TẮT Vật liệu composite ngày sửdụng phổ biến sống tính ưu việt chúng Nên việc đánh giá khả làm việc an toàn, hiệu cơng trình có sửdụng kết cấu composite quan trọng cần thiết Luận văn trình bày chẩn đốn hưhạidầmcompositenhiềulớpphươngpháp kết hợp véc-tơ địnhvịDLVgiảithuậttiếnhóakhácbiệtDE Q trình chẩn đốn hưhại trải qua haigiaiđoạnGiaiđoạn thứ xác địnhvị trí hưhại kết cấu dầmcompositenhiềulớpphươngpháp DLV; giaiđoạn thứ haisửdụngphươngphápDEđể xác định mức độ hưhạivị trí xác địnhgiaiđoạnĐể chứng minh tin cậy hiệu phươngphápđề xuất ví dụ số cho kết cấu dầm cơng xơn với góc hướng sợi thay đổi toán cụ thể, với vị trí hưhại giả định trước thực Trong ví dụ đó, ảnh hưởng nhiễu xét đến Kết số cho thấy rằng, phươngphápsửdụng hiệu việc xác địnhvị trí hưhại mức độ hưhạidầmcompositenhiềulớp Đồng thời, kết cho thấy phươngpháp bị ảnh hưởng số lượng dạng dao động, số lượng vị trí hưhại mức độ hưhại xét nhiễu Từ khóa: Dầmcompositenhiều lớp, chẩnđoánhư hại, phươngpháp DLV, giảithuậtDEChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE iv MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii TRANG TÓM TẮT iii MỤC LỤC iv DANH MỤC HÌNH VẼ vii DANH MỤC BẢNG BIỂU ix DANH MỤC TỪ VIẾT TẮT xi CHƯƠNG 1: GIỚI THIỆU 1.1 Đặt vấn đề 1.2 Tình hình nghiên cứu ngồi nước 1.3 Tình hình nghiên cứu nước 12 1.4 Mục tiêu nghiên cứu 14 1.5 Đối tượng phạm vi nghiên cứu 15 1.6 Ý nghĩa đề tài 15 1.7 Phươngpháp nghiên cứu cấu trúc luận văn 16 1.7.1 Phươngpháp nghiên cứu 16 1.7.2 Cấu trúc luận văn 16 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 18 2.1 Giới thiệu vật liệu composite 18 2.2 Bài toán chẩnđoánhưhại cho kết cấu 21 2.2.1 Phần tử hữu hạn cho dầmcomposite 22 2.2.1.1 Chuyển vị, biến dạng, ứng suất dầmnhiềulớp 22 2.2.1.2 Dạng yếu mơ hình dầmcompositenhiềulớp 26 2.2.1.3 Công thức phần tử hữu hạn dầmcompositenhiềulớp dựa lý thuyết dầm bậc Timoshenko 31 2.2.2 Định nghĩa khái niệm hưhại luận văn 38 2.2.3 Xác địnhvị trí hưhạiphươngpháp Véc-tơ địnhvịhưhại (DLV) 38 ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE v 2.2.4 Đánh giá mức độ hưhạisửdụnggiảithuậttiếnhóakhácbiệtDE 41 2.2.4.1 Hàm mục tiêu 42 2.2.4.2 Giảithuậttiếnhóakhácbiệt (DE) 43 2.3 Lưu đồ tính tốn 46 CHƯƠNG 3: VÍ DỤ SỐ 48 3.1 Giới thiệu 48 3.2 Phần kiểm chứng 49 3.2.1 Kiểm chứng tần số riêng dầmcomposite cho toán số 49 3.2.2 Kiểm chứng Tần số riêng dầmcomposite cho toán số 50 3.2.2.1 Dầm công xôn 51 3.2.2.2 Dầm nhịp tựa hai gối giản đơn 52 3.2.2.3 Dầm nhịp hai đầu ngàm 52 3.2.2.4 Dầm nhịp đầu tựa đơn – đầu ngàm 53 3.2.2.5 Kiểm chứng tần số riêng với góc hướng sợi thay đổi khác 53 3.2.3 Nhận xét 54 3.3 Chẩnđoánhưhại kết cấu 54 3.3.1 Khảo sát toán với điều kiện biên khác 55 3.3.1.1 Trường hợp không xét đến nhiễu 55 3.3.1.2 Trường hợp có xét đến nhiễu 57 3.3.2 Khảo sát ảnh hưởng góc hướng sợi 59 3.3.2.1 Trường hợp không xét đến nhiễu 59 3.3.2.2 Trường hợp có xét đến nhiễu 61 3.3.3 Khảo sát ảnh hưởng số lớp 62 3.3.3.1 Trường hợp không xét đến nhiễu 62 3.3.3.2 Trường hợp có xét đến nhiễu 64 3.3.4 Khảo sát ảnh hưởng số lượng dạng dao động 66 3.3.4.1 Trường hợp không xét đến nhiễu 66 3.3.4.2 Trường hợp có xét đến nhiễu 67 3.3.5 Khảo sát ảnh hưởng số lượng phần tử hưhại 69 ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDEvi 3.3.5.1 Trường hợp không xét đến nhiễu 69 3.3.5.2 Trường hợp có xét đến nhiễu 71 3.3.6 Khảo sát ảnh hưởng mức độ hưhại 72 3.3.6.1 Trường hợp không xét đến nhiễu 72 3.3.6.2 Trường hợp có xét đến nhiễu 74 3.4 Kết luận 75 CHƯƠNG 4: KẾT LUẬN 78 4.1 Đóng góp luận văn 78 4.2 Hạn chế luận văn 79 4.3 Hướng phát triển 79 TÀI LIỆU THAM KHẢO 80 PHỤ LỤC 88 ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE vii DANH MỤC HÌNH VẼ Hình 1.1 Những cố đáng tiếc xảy giới Hình 2.1 Phân loại vật liệu composite 19 Hình 2.2 Composite gia cường hạt 19 Hình 2.3 Composite gia cường 20 Hình 2.4 Composite gia cường sợi 20 Hình 2.5 Vật liệu compositenhiềulớp (Kaw, 2005) 20 Hình 2.6 Vật liệu sợi gia cường liên tục (Kaw, 2005) 21 Hình 2.7 Dầmcompositenhiềulớp tổng quát 22 Hình 2.8 Góc hướng sợi vật liệu composite 22 Hình 2.9 Chuyển vị phần tử dầmcompositenhiềulớp (Wang cộng sự, 2000) 23 Hình 2.10 Các thành phần ứng suất (Reddy, 2004) 24 Hình 2.11 Hệ tọa độ lớp hệ tọa độ chung dầm (Reddy, 2004) 29 Hình 2.12 Các hàm dạng phần tử nút (Fish Belytschko, 2007) 31 Hình 2.13 Phần tử dầm Timoshenko nút (Oñate, 2013) 32 Hình 2.14 Sơ đồ giảithuậtDE 43 Hình 2.15 Quá trình đột biến giảithuật DE, sửdụng rand/1 45 Hình 2.16 Lưu đồ tính tốn luận văn 46 Hình 3.1 Dầm cơng xôn C-F 49 Hình 3.2 Dầm cơng xơn C-F 51 Hình 3.3 Dầm tựa đơn S-S 52 Hình 3.4 Dầmhai đầu ngàm C-C 52 Hình 3.5 Dầm đầu ngàm, đầu tựa đơn C-S 53 Hình 3.6 Khảo sát với điều kiện biên khác không xét nhiễu 56 Hình 3.7 Khảo sát với điều kiện biên khác xét ảnh hưởng nhiễu 57 Hình 3.8 Kết khảo sát ảnh hưởng góc hướng sợi đến DLV khơng xét nhiễu 60 ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE viii Hình 3.9 Kết khảo sát ảnh hưởng góc hướng sợi đến DLV xét ảnh hưởng nhiễu 61 Hình 3.10 Kết khảo sát ảnh hưởng số lớpcomposite đến DLV không xét nhiễu 63 Hình 3.11 Kết khảo sát ảnh hưởng số lớpcomposite đến DLV xét ảnh hưởng nhiễu 65 Hình 3.12 Kết khảo sát ảnh hưởng dạng dao động đến DLV không xét nhiễu 66 Hình 3.13 Kết khảo sát ảnh hưởng số lượng dạng dao động đến nce xét ảnh hưởng nhiễu 68 Hình 3.14 Sự ảnh hưởng việc xét nhiễu khơng xét nhiễu đến lượng biến dạng tích lũy nce 69 Hình 3.15 Kết khảo sát ảnh hưởng vị trí hưhại đến DLV không xét nhiễu 70 Hình 3.16 Kết khảo sát ảnh hưởng vị trí hưhại đến DLV xét ảnh hưởng nhiễu 71 Hình 3.17 Kết khảo sát ảnh hưởng mức độ hưhại đến DLV không xét nhiễu 73 Hình 3.18 Kết khảo sát ảnh hưởng mức độ hưhại đến DLV xét ảnh hưởng nhiễu 74 ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE ix DANH MỤC BẢNG BIỂU Bảng 3.1 Số liệu đặc trưng vật liệu cho toán 48 Bảng 3.2 Các đặc trưng vật liệu toán 49 Bảng 3.3 Tần số không thứ nguyên dầm dạng dao động 50 Bảng 3.4 Tần số không thứ nguyên dầm dạng dao động 51 Bảng 3.5 Tần số không thứ nguyên dầm dạng dao động 52 Bảng 3.6 Tần số không thứ nguyên dầm dạng dao động 52 Bảng 3.7 Tần số không thứ nguyên dầm dạng dao động 53 Bảng 3.8 Bảng so sánh tần số với điều kiện biên khác 53 Bảng 3.9 Thơng số thuật tốn DE 55 Bảng 3.10 Kết khảo sát điều kiện biên khácDE không xét nhiễu 56 Bảng 3.11 Kết khảo sát điều kiện biên khácDE xét ảnh hưởng nhiễu 58 Bảng 3.12 Kết khảo sát ảnh hưởng góc hướng sợi đến phươngphápDE không xét nhiễu 60 Bảng 3.13 Kết khảo sát ảnh hưởng góc hướng sợi đến phươngphápDE xét ảnh hưởng nhiễu 61 Bảng 3.14 Kết khảo sát ảnh hưởng số lớp đến phươngphápDE không xét nhiễu 63 Bảng 3.15 Kết khảo sát ảnh hưởng số lớp đến phươngphápDE xét ảnh hưởng nhiễu 65 Bảng 3.16 Kết khảo sát ảnh hưởng dạng dao động đến phươngphápDE không xét nhiễu 67 Bảng 3.17 Kết khảo sát ảnh hưởng dạng dao động đến phươngphápDE xét ảnh hưởng nhiễu 68 Bảng 3.18 Kết khảo sát ảnh hưởng số lượng vị trí hưhại đến phươngphápDE khơng xét nhiễu 70 ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE x Bảng 3.19 Kết khảo sát ảnh hưởng số lượng vị trí hưhại đến phươngphápDE xét ảnh hưởng nhiễu 72 Bảng 3.20 Kết khảo sát ảnh hưởng mức độ hưhại đến phươngphápDE không xét nhiễu 73 Bảng 3.21 Kết khảo sát ảnh hưởng mức độ hưhại đến phươngphápDE xét ảnh hưởng nhiễu 75 Bảng 3.22 Bảng tổng hợp kết khảo sát 76 ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE Phụ lục 88 PHỤ LỤC I Code Matlab DLV I.1 Khảo sát điều kiện biên khác close,clear all; clc %Noise errf = 0.15/100; errm = 1/100; %No Noise % errf = 0; % errm = 0; %***************************************************************** ** nmod = 7; for nop=1:4 if nop==1 option = 'C-F'; elseif nop==2 option = 'S-S'; elseif nop==3 option = 'C-S'; elseif nop==4 option = 'C-C'; end main_composite_damage; main_composite_intact; angfreqdamg=angfreqdamg_noise; eigvaldamg=eigvaldamg_noise; eigvecdamg=eigvecdamg_noise; flexdamg = flex(eigvaldamg,eigvecdamg,nmod); flexintct = flex(eigval,eigvec,nmod); dlv = dlvs(flexintct, flexdamg); flexchange = flexintct-flexdamg; disp('check dlvsensor') max(abs(flexchange*dlv)); dsplm = solstatic(KG,dlv,bcdof); ncee = nce(nele,size(dlv,2),dsplm(:,:),Ke); ncee2(:,nop)= abs(ncee); end I.2 Khảo sát số mode khác close,clear all; clc %Noise errf = 0.15/100; errm = 1/100; %No Noise % errf = 0; % errm = 0; ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE Phụ lục 89 %***************************************************************** ** AB=zeros(32,8); for i=1:10 for nop=1:8 if nop==1 nmod = 1; elseif nop==2 nmod = 2; elseif nop==3 nmod = 3; elseif nop==4 nmod = 4; elseif nop==5 nmod = 5; elseif nop==6 nmod = 6; elseif nop==7 nmod = 7; elseif nop==8 nmod = 8; end main_composite_damage; %reduce E main_composite_intact; flexdamg = flex(eigvaldamg_noise,eigvecdamg_noise,nmod); flexintct = flex(eigval,eigvec,nmod); dlv = dlvs(flexintct, flexdamg); flexchange = flexintct-flexdamg; disp('check dlvsensor') max(abs(flexchange*dlv)); % % dsplm = solstatic(KG,dlv,bcdof); ncee = nce(nele,size(dlv,2),dsplm(:,:),Ke); ncee2(:,nop)= abs(ncee); %****************************************************** ** end AB=AB+ncee2; end AB=AB./10; I.3 Khảo sát số vị trí hưhại close,clear all; clc %Noise errf = 0.15/100; errm = 1/100; % errf = 0; % errm = 0; ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE Phụ lục 90 %***************************************************************** ** nmod = 7; for nop=1:4 if nop==1 damgele = [16]; damglev_K = [30]; elseif nop==2 damgele = [15 16]; damglev_K = [30 30]; elseif nop==3 damgele = [1 16 25]; damglev_K = [30 30 30]; elseif nop==4 damgele = [1 15 16 25]; damglev_K = [30 30 30 30]; end main_composite_damage; main_composite_intact; angfreqdamg=angfreqdamg_noise; eigvaldamg=eigvaldamg_noise; eigvecdamg=eigvecdamg_noise; flexdamg = flex(eigvaldamg,eigvecdamg,nmod); flexintct = flex(eigval,eigvec,nmod); dlv = dlvs(flexintct, flexdamg); flexchange = flexintct-flexdamg; disp('check dlvsensor') max(abs(flexchange*dlv)); % % dsplm = solstatic(KG,dlv,bcdof); ncee = nce(nele,size(dlv,2),dsplm(:,:),Ke); ncee2(:,nop)= abs(ncee); end I.4 Khảo sát mức độ hưhại close,clear all; clc %Noise % errf = 0.15/100; % errm = 1/100; errf = 0; errm = 0; %***************************************************************** ** nmod = 7; for nop=1:7 if nop==1 damglev_K = [5 5]; elseif nop==2 damglev_K = [10 10 10]; elseif nop==3 damglev_K = [15 15 15]; ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE Phụ lục 91 elseif nop==4 damglev_K elseif nop==5 damglev_K elseif nop==6 damglev_K elseif nop==7 damglev_K end = [20 20 20]; = [25 25 25]; = [30 30 30]; = [35 35 35]; main_composite_damage; main_composite_intact; flexdamg = flex(eigvaldamg_noise,eigvecdamg_noise,nmod); flexintct = flex(eigval,eigvec,nmod); dlv = dlvs(flexintct, flexdamg); flexchange = flexintct-flexdamg; disp('check dlvsensor') max(abs(flexchange*dlv)); % % dsplm = solstatic(KG,dlv,bcdof); ncee = nce(nele,size(dlv,2),dsplm(:,:),Ke); ncee2(:,nop)= abs(ncee); end I.5 Khảo sát góc hướng sợi close,clear all; clc %Noise % errf = 0.15/100; % errm = 1/100; errf = 0; errm = 0; %***************************************************************** ** nmod = 7; AB=zeros(32,7); for i=1:10 for nop=1:7 if nop==1 teta=0; elseif nop==2 teta=15; elseif nop==3 teta=30; elseif nop==4 teta=45; elseif nop==5 teta=60; elseif nop==6 teta=75; elseif nop==7 ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE Phụ lục 92 teta=90; end main_composite_damage; main_composite_intact; flexdamg = flex(eigvaldamg_noise,eigvecdamg_noise,nmod); flexintct = flex(eigval,eigvec,nmod); dlv = dlvs(flexintct, flexdamg); flexchange = flexintct-flexdamg; disp('check dlvsensor') max(abs(flexchange*dlv)); % % dsplm = solstatic(KG,dlv,bcdof); ncee = nce(nele,size(dlv,2),dsplm(:,:),Ke); ncee2(:,nop)= abs(ncee); exportnce{i}=ncee2; end AB=AB+exportnce{i}; end AB=AB./10; I.6 Khảo sát số lơp close,clear all; clc %Noise % errf = 0.15/100; % errm = 1/100; errf = 0; errm = 0; %***************************************************************** ** nmod = 7; AB=zeros(32,7); teta=75; for i=1:20 for nop=1:7 if nop==1 fiber = [teta]; elseif nop==2 fiber = [teta -teta]; elseif nop==3 fiber = [teta -teta teta]; elseif nop==4 fiber = [teta -teta -teta teta]; elseif nop==5 fiber = [teta -teta teta -teta teta]; elseif nop==6 fiber = [teta -teta teta teta -teta teta]; elseif nop==7 fiber = [teta -teta teta -teta teta -teta teta]; ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE Phụ lục 93 end main_composite_damage; main_composite_intact; flexdamg = flex(eigvaldamg_noise,eigvecdamg_noise,nmod); flexintct = flex(eigval,eigvec,nmod); dlv = dlvs(flexintct, flexdamg); flexchange = flexintct-flexdamg; disp('check dlvsensor') max(abs(flexchange*dlv)); % % dsplm = solstatic(KG,dlv,bcdof); ncee = nce(nele,size(dlv,2),dsplm(:,:),Ke); ncee2(:,nop)= abs(ncee); exportnce{i}=ncee2; end AB=AB+exportnce{i}; end AB=AB./20; II Code Matlab DE II.1 Khảo sát điều kiện biên khác close,clear all; %clc %Noise errf = 0.15/100; errm = 1/100; %No Noise % errf = 0; % errm = 0; for nop=1:4 if nop==1 option = 'C-F'; elseif nop==2 option = 'S-S'; elseif nop==3 option = 'C-S'; elseif nop==4 option = 'C-C'; end main_composite_damage; %reduce E main_composite_intact; angfreqdamg=angfreqdamg_noise; eigvaldamg=eigvaldamg_noise; eigvecdamg=eigvecdamg_noise; %************************************************************ **************** export=[]; ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE Phụ lục 94 damgele_op=[1 16 25]; for i=1:10 %% OBJECTIVE FUNCTION nda=3; %length(damgele_op)=3; objectfunc = @(extent) minusmdlac_mshape(extent,angfreq, angfreqdamg,eigvecdamg,bc,damgele_op,nop); [extentoptde,fvalde,iter]= DE_edit2(objectfunc,22,nda, zeros(1,nda),100*ones(1,nda),900,1e-6); export(i,:)=[extentoptde,fvalde,iter]; export2{nop}=export; i end end II.2 Khảo sát số mode khác close,clear all; %clc %Noise errf = 0.15/100; errm = 1/100; %No Noise % errf = 0; % errm = 0; option = 'C-F'; for nmod=7:8 main_composite_damage; main_composite_intact; export=[]; damgele_op=[1 16 25]; for i=1:20 %% OBJECTIVE FUNCTION nda=3; %length(damgele_op)=3; objectfunc = @(extent) minusmdlac_mshape(extent,angfreq, angfreqdamg,eigvecdamg,bc,damgele_op,nmod); [extentoptde,fvalde,iter]= DE_edit2(objectfunc,22,nda, zeros(1,nda),100*ones(1,nda),900,1e-6); export(i,:)=[extentoptde,fvalde,iter]; export2{nmod}=export; i end end II.3 Khảo sát vị trí hưhại close,clear all; %Noise % errf = 0.15/100; % errm = 1/100; errf = 0; ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE Phụ lục 95 errm = 0; nmod=7; for nop=1:4 if nop==1 damgele = [16]; damglev_K = [30]; nda=2; damgele_op=[16]; elseif nop==2 damgele = [15 16]; damglev_K = [30 30]; nda=2; damgele_op=[15 16]; elseif nop==3 damgele = [1 16 25]; damglev_K = [30 30 30]; nda=3; damgele_op=[1 15 16]; elseif nop==4 damgele = [1 15 16 25]; damglev_K = [30 30 30 30]; nda=4; damgele_op=[1 15 16 25]; end main_composite_damage; main_composite_intact; export=[]; for i=1:10 %% OBJECTIVE FUNCTION objectfunc = @(extent) minusmdlac_mshape(extent,angfreq, angfreqdamg_noise,eigvecdamg_noise,eigvaldamg_noise,bc, damgele_op,nmod); [extentoptde,fvalde,iter]= DE_edit2(objectfunc,22,nda, zeros(1,nda),100*ones(1,nda),900,1e-6); export(i,:)=[extentoptde,fvalde,iter]; export2{nop}=export; i end clear damgele damglev_K nda damgele_op end II.4 Khảo sát mức độ hưhại close,clear all; %Noise % errf = 0.15/100; % errm = 1/100; errf = 0; errm = 0; ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE Phụ lục 96 nmod=7; for nop=1:7 if nop==1 damglev_K = [5 5]; elseif nop==2 damglev_K = [10 10 10]; elseif nop==3 damglev_K = [15 15 15]; elseif nop==4 damglev_K = [20 20 20]; elseif nop==5 damglev_K = [25 25 25]; elseif nop==6 damglev_K = [30 30 30]; elseif nop==7 damglev_K = [35 35 35]; end nda=3; damgele_op=[1 16 25]; main_composite_damage; main_composite_intact; export=[]; for i=1:10 %% OBJECTIVE FUNCTION objectfunc = @(extent) minusmdlac_mshape(extent,angfreq, angfreqdamg_noise,eigvecdamg_noise,eigvaldamg_noise,bc, damgele_op,nmod); [extentoptde,fvalde,iter]= DE_edit2(objectfunc,22,nda, zeros(1,nda),100*ones(1,nda),900,1e-6); export(i,:)=[extentoptde,fvalde,iter]; export2{nop}=export; i end clear damgele damglev_K nda damgele_op end II.5 Khảo sát góc hướng sợi close,clear all; %Noise % errf = 0.15/100; % errm = 1/100; errf = 0; errm = 0; nmod=7; for nop=1:7 ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE Phụ lục 97 if nop==1 teta=0; elseif nop==2 teta=15; elseif nop==3 teta=30; elseif nop==4 teta=45; elseif nop==5 teta=60; elseif nop==6 teta=75; elseif nop==7 teta=90; end nda=3; damgele_op=[1 16 25]; main_composite_damage; main_composite_intact; export=[]; for i=1:10 objectfunc = @(extent) minusmdlac_mshape(extent,angfreq, angfreqdamg_noise,eigvecdamg_noise,eigvaldamg_noise,bc, damgele_op,nmod,teta); [extentoptde,fvalde,iter]= DE_edit2(objectfunc,22,nda, zeros(1,nda),100*ones(1,nda),900,1e-6); export(i,:)=[extentoptde,fvalde,iter]; export2{nop}=export; i end clear damgele damglev_K nda damgele_op end II.6 Khảo sát số lớp close,clear all; %Noise % errf = 0.15/100; % errm = 1/100; errf = 0; errm = 0; teta=75; nmod=7; nda=3; damgele_op=[1 16 25]; ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE Phụ lục 98 for nop=6:7 if nop==1 fiber = [teta]; elseif nop==2 fiber = [teta -teta]; elseif nop==3 fiber = [teta -teta teta]; elseif nop==4 fiber = [teta -teta -teta teta]; elseif nop==5 fiber = [teta -teta teta -teta teta]; elseif nop==6 fiber = [teta -teta teta teta -teta teta]; elseif nop==7 fiber = [teta -teta teta -teta teta -teta teta]; end main_composite_damage; main_composite_intact; %************************************************************ ************** export=[]; for i=1:10 %% OBJECTIVE FUNCTION objectfunc = @(extent) minusmdlac_mshape(extent,angfreq, angfreqdamg_noise,eigvecdamg_noise,eigvaldamg_noise,bc, damgele_op,nmod,fiber); [extentoptde,fvalde,iter]= DE_edit2(objectfunc,22,nda, zeros(1,nda),100*ones(1,nda),900,1e-6); export(i,:)=[extentoptde,fvalde,iter]; export2{nop}=export; i end end III Một số code chương trình III.1 Tính tần số dạng dao động kết cấu hưhại close all; format long INPUT; nele = gcoord= nodes = ndof = nnode = nx; 0:l/nx:l; [1:nx;2:nx+1]'; 3; 2; ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE Phụ lục sdof 99 = (length(gcoord))*ndof; KG = sparse(sdof,sdof); MG = sparse(sdof,sdof); count=0; for e = 1:nx [ index ] = connect( ndof,e,nodes ); XG = gcoord(nodes(e,:)); [Qm, Qmb, Qb, Qs] = material(Q, fiber, h, z, b); if(ismember(e,damgele)) count=count+1; [ Ke ] = stiffened_beam( XG, Qm, Qb, Qmb, Qs )*(1damglev_K(count)/100); else [ Ke ] = stiffened_beam( XG, Qm, Qb, Qmb, Qs ); end [ Me ] = mass_beam( fiber,XG,rho,b,z ); KG(index,index)=KG(index,index)+Ke; MG(index,index)=MG(index,index)+Me; end [ bcdof, bcval ] = boundary_condition( nx,ndof,option); bc=unique(sort(bcdof)); [eigvaldamg,eigvecdamg]=eigens(KG,MG,bc); angfreqdamg = sqrt(eigvaldamg); angfreqdamgnorm = angfreqdamg*l^2*sqrt(rho/(E1*t^2)); disp('Frequency of damage beam') angfreqdamgnorm(1:6) %Noise angfreqdamg_noise = angfreqdamg + errf*(2*rand(size(angfreqdamg),1) -1).*angfreqdamg; eigvaldamg_noise = angfreqdamg_noise.^2; eigvecdamg_noise = eigvecdamg + errm*(2*rand(size(eigvecdamg)) 1).*eigvecdamg; III.2 Tính tần số dạng dao động kết cấu không bị hưhại close all; format long INPUT; nele = gcoord= nodes = ndof = nnode = sdof = nx; 0:l/nx:l; [1:nx;2:nx+1]'; 3; 2; (length(gcoord))*ndof; KG = sparse(sdof,sdof); MG = sparse(sdof,sdof); for e = 1:nx [ index ] = connect( ndof,e,nodes ); ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE Phụ lục 100 XG = gcoord(nodes(e,:)); [Qm, Qmb, Qb, Qs] = material(Q, fiber, h, z, b); [ Ke ] = stiffened_beam( XG, Qm, Qb, Qmb, Qs ); [ Me ] = mass_beam( fiber,XG,rho,b,z ); KG(index,index)=KG(index,index)+Ke; MG(index,index)=MG(index,index)+Me; end [ bcdof, bcval ] = boundary_condition( nx,ndof,option); bc=unique(sort(bcdof)); [eigval,eigvec]=eigens(KG,MG,bc); angfreq = sqrt(eigval); angfreqnorm = angfreq*l^2*sqrt(rho/(E1*t^2)); disp('Frequency of intact beam') angfreqnorm(1:6) III.3 Hàm mục tiêu function res = minusmdlac_mshape(extent,angfreq,angfreqdamg,eigvecdamg,eigvaldamg ,bc,damgele_op,nmod,fiber) main_composite_damage_Optimization 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 function [ xbest,fbest,iter] = DE_edit2( 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 [fbest0,idb0] = min(Fx); xbest0 = Pop{idb0,1}; Display = 'y'; if strcmp(Display,'y') fprintf('\n Best\t\t fprintf('Generation\tf-count\t\t f(x)\n') end CR = 1; F Mean\n') = 0.8; dir=[pwd,'/output/']; filename = [dir,'fbest_fmean_F_',num2str(F),'_CR',num2str(CR),'.dat']; ChẩnđoánhưhạidầmcompositenhiềulớpsửdụngphươngphápDLVDE Phụ lục 101 fid = fopen(filename,'w'); fprintf(fid,'%g %12.20f %12.20f\n',0,fbest0,mean(Fx)); for iter = 0:epoch if(iter==0) save2file(cell2mat(Pop),iter,F,dir,xbest0); elseif (mod(iter,1)==0) save2file(cell2mat(Pop),iter,F,dir,xbest); end if iter == epoch disp(' _') fprintf('Optimal solution is found at generation at the end (DE): %i, xval = %s \n', iter,mat2str(xbest,dim) ); break; end 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