(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+(Luận văn thạc sĩ) Phân tích kết cấu tấm phân lớp chức năng (FGM) chịu tải trọng cơ nhiệt bằng phân tử CS MITC3+
LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu cá nhân tơi thực hiện, dƣới hƣớng dẫn TS Châu Đình Thành Các kết trình bày Luận văn chƣa đƣợc sử dụng cho khóa luận tốt nghiệp khác Theo hiểu biết cá nhân, từ trƣớc tới chƣa có tài liệu khoa học tƣơng tự đƣợc công bố, trừ thông tin tham khảo đƣợc trích dẫn Luận văn Tp Hồ Chí Minh, tháng năm 2018 La Tuấn Minh i LỜI CẢM ƠN Tơi xin chân thành bày tỏ lịng biết ơn sâu sắc đến Thầy hƣớng dẫn khoa học TS Châu Đình Thành, ngƣời đƣa gợi ý để hình thành nên ý tƣởng đề tài bảo nhiều cách nhận định đắn vấn đề nghiên cứu mà quan trọng trung thực làm nghiên cứu khoa học Thầy hƣớng dẫn cách tiếp cận nghiên cứu hiệu nhƣ nguồn tài liệu quý báu Và với hƣớng dẫn khoa học, nghiêm túc, tận tình thầy giúp đạt đến kết nghiên cứu cuối Đồng thời xin gởi lời cảm ơn đến quý thầy cô khoa Xây Dựng trƣờng Đại học Sƣ phạm Kỹ thuật Thành phố Hồ Chí Minh tận tình giảng dạy q trình tơi học tập, nghiên cứu Và cuối muốn gửi lời cảm ơn chân thành đến gia đình, bạn bè bên cạnh động viên, hỗ trợ nhiều tạo điều kiện thuận lợi để tơi hồn thành tốt luận văn Tơi xin chân thành cảm ơn! Tp Hồ Chí Minh, tháng năm 2018 La Tuấn Minh ii TÓM TẮT LUẬN VĂN Phân tích kết cấu phân lớp chức (FGM) chịu tải trọng nhiệt phần tử CS-MITC3+ La Tuấn Minh Trong luận văn thạc sĩ này, phƣơng pháp phần tử hữu hạn trơn miền phần tử (CSFEM) đƣợc phát triển cho phần tử MITC3+ dùng để phân tích ứng xử kết cấu vật liệu phân lớp chức sử dụng lý thuyết biến dạng cắt bậc cao Kết cấu đƣợc mô phần tử tam giác ba nút với bảy bậc tự cho nút Trong phần tử đề xuất CS-MITC3+, biến dạng màng uốn ma trận độ cứng đƣợc tính tốn kỹ thuật trơn hóa miền trơn dựa miền phần tử đƣợc định nghĩa cách nối nút đỉnh với nút (buble node) phần tử Để giải tƣợng khóa cắt ―shear locking‖ có chiều dày mỏng dần, kỹ thuật nội suy thành phần ten xơ (mixed interpolation tensorial components) MITC3+ đƣợc sử dụng để xấp xỉ lại biến dạng cắt ngồi mặt phẳng Ngơn ngữ MATLAB đƣợc sử dụng để lập trình tính tốn ví dụ số dựa công thức phần tử CS-MITC3+ đề xuất Độ xác tính hiệu phần tử CS-MITC3+ dùng để phân tích phân lớp chức chịu tải trọng nhiệt đƣợc kiểm chứng thông qua ví dụ số Kết số cho phần tử CS-MITC3+ đƣợc tác giả so sánh đánh giá với lời giải giải tích số lời giải phƣơng pháp số khác đƣợc công bố trƣớc iii ABBSTRACT Analysis of functionally graded materials (FGM) plates under mechanical temperature loadings using CS-MITC3+ elements La Tuấn Minh In this thesis, the cell-based smoothed finite element method (CS-FEM) has been developed for the MITC3+ elements to analyze static behaviors of functionally graded materials (FGM) plates based on the high order shear deformation theory (HSDT) The plates are modeled by 3-node triangular elements with seven degrees of freedom for each node In the proposed element CS-MITC3+, the membrane and bending strains of the element stiffness matrix are smoothed on smoothing domains which are the subtriangular domains defined by connecting the element nodes with the bubble node To remove the shear-locking phenomenon which occurs when the plate thickness becomes thin, the mixed interpolation tensorial components (MITC3+) technique is employed to independently interpolate the transverse shear strains The MATLAB programming language has been used to implement the CS-MITC3+ formulation The accuracy and efficiency of the proposed elements used to analyze the FGM plates under mechanical temperature loadings are verified by solving some benchmark problems Numerical results provided by the CS-MITC3+ elements are compared with those given by other analytical or numerical methods previously published iv MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii TÓM TẮT LUẬN VĂN iii ABBSTRACT iv MỤC LỤC v DANH SÁCH CÁC CHỮ VIẾT TẮT vii DANH SÁCH CÁC HÌNH viii DANH SÁCH CÁC BẢNG ix Chƣơng 1: TỔNG QUAN 1.1 TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƢỚC 1.2 MỤC ĐÍCH CỦA ĐỀ TÀI 1.3 NHIỆM VỤ VÀ GIỚI HẠN CỦA ĐỀ TÀI 1.4 PHƢƠNG PHÁP NGHIÊN CỨU Chƣơng 2: LÝ THUYẾT BIẾN DẠNG CẮT BẬC CAO CHO TẤM PHÂN LỚP CHỨC NĂNG (FGM) 2.1 TẤM PHÂN LỚP CHỨC NĂNG (FGM) 2.2 LÝ THUYẾT BIẾN DẠNG CẮT BẬC CAO CHO TẤM FGM 2.2.1 Trƣờng chuyển vị 2.2.2 Trƣờng biến dạng 10 2.2.3 Trƣờng ứng suất 11 2.2.4 Nội lực 12 Chƣơng 3: CÔNG THỨC PHẦN TỬ HỮU HẠN TRƠN CS-MITC3+ CHO TẤM FGM THEO HSDT 15 3.1 CÔNG THỨC PTHH TAM GIÁC MITC3+ CHO TẤM FGM 15 3.2 CÔNG THỨC PHẦN TỬ HỮU HẠN TRƠN CS-MITC3+ CHO TẤM FGM 19 Chƣơng 4: CÁC VÍ DỤ SỐ 23 4.1 TẤM VUÔNG AL/ZRO2-1 CHỊU TẢI TRỌNG PHÂN BỐ ĐỀU 23 4.2 TẤM VUÔNG AL/AL2O3 CHỊU TẢI TRỌNG HÌNH SIN 25 4.3 TẤM XIÊN AL/ZRO2-1 LIÊN KẾT GỐI TỰA ĐƠN CHỊU TẢI PHÂN BỐ ĐỀU 30 4.4 TẤM VUÔNG AL/ZRO2-1 CHỊU TẢI TRỌNG NHIỆT 32 4.5 TẤM VUÔNG AL/ZRO2-1 CHỊU TẢI TRỌNG CƠ NHIỆT 33 Chƣơng 5: KẾT LUẬN 35 v TÀI LIỆU THAM KHẢO 36 PHỤ LỤC 40 BÀI TỐN TẤM VNG AL/ZRO2-1 CHỊU TẢI TRỌNG PHÂN BỐ ĐỀU (BIÊN TỰA ĐƠN) 40 BÀI TỐN TẤM VNG AL/ZRO2-1 CHỊU TẢI TRỌNG PHÂN BỐ ĐỀU (BIÊN NGÀM) 47 BÀI TOÁN TẤM VNG AL/AL2O3 CHỊU TẢI TRỌNG HÌNH SIN 53 BÀI TOÁN TẤM XIÊN AL/ZRO2-1 LIÊN KẾT GỐI TỰA ĐƠN CHỊU TẢI PHÂN BỐ ĐỀU 60 BÀI TỐN TẤM VNG AL/ZRO2-1 TỰA ĐƠN CHỊU TẢI TRỌNG NHIỆT 67 BÀI TOÁN TẤM VUÔNG AL/ZRO2-1 TỰA ĐƠN CHỊU TẢI TRỌNG CƠ NHIỆT 72 vi DANH SÁCH CÁC CHỮ VIẾT TẮT Phần tử hữu hạn PTHH Phƣơng pháp phần tử hữu hạn PP PTHH Lý thuyết cổ điển Kirchhoff – Love CPT Lý thuyết nhiều lớp cổ điển CLPT Lý thuyết biến dạng cắt bậc FSDT Lý thuyết biến dạng cắt bậc cao HSDT Phƣơng pháp nội suy hỗn hợp thành phần ten-xơ MITC vii DANH SÁCH CÁC HÌNH Hình 2.1: Tấm vật liệu FGM (Functionally Graded Materials) Hình 2.2: Đồ thị thể hàm phân phối Vc theo chiều dày z/h [46] Hình 2.3: Đồ thị thể hàm phân phối nhiệt độ dọc theo chiều dày Hình 2.4: Hình dáng biến dạng cắt ngồi mặt phẳng chƣa biến dạng, biến dạng theo lý thuyết cổ điển (CLPT), lý thuyết biến dạng cắt bậc (FSDT) lý thuyết biến dạng cắt bậc cao (HSDT) [47] Hình 2.5: Các chuyển vị u, v, w góc xoay x, y với chiều dƣơng qui ƣớc [47] Hình 3.1: Vị trí điểm buộc phần tử MITC3+ [20] 17 Hình 3.2: Miền làm trơn miền (Δ1, Δ2, Δ3) phần tử đƣợc tạo cách nối nút đỉnh nút trọng tâm phần tử tam giác 19 Hình 4.1: Độ võng không thứ nguyên tâm Al/ZrO2-1 L/h = với cách chia lƣới n khác 24 Hình 4.2: Độ võng khơng thứ nguyên tâm Al/ZrO2-1 L/h = 5, 100, 500 1000 ứng với cách chia lƣới n khác 25 Hình 4.3: Tấm vng Al/Al2O3 tựa đơn cạnh chịu tải trọng hình sin p sin( x / L)sin( y / L) 26 Hình 4.4: So sánh phân bố thành phần ứng suất không thứ nguyên theo chiều dày Al/Al2O3 tựa đơn chịu tải trọng hình sin khi L/h = 10 cho phần tử CS-MITC3+ ES-MITC3 29 Hình 4.5: Tấm xiên Al/ZrO2-1 tựa đơn cạnh chịu tải trọng phân bố 30 Hình 4.6: Độ võng không thứ nguyên xiên Al/ZrO2-1 tựa đơn cạnh chịu tải trọng phân bố ứng với góc xiên hệ số n khác 31 Hình 4.7: Sự phân bố ứng suất không thứ nguyên x z h pL x L 2, L 2, z theo chiều dày xiên Al/ZrO2-1 với = 30o, 45o, 75o (a) n = 0,5 (b) n = 32 Hình 4.8: Độ võng tâm vng Al/ZrO2-1 tựa đơn cạnh chịu tải trọng nhiệt độ thay đổi ứng với hệ số n = 0, 0,5 33 Hình 4.9: Sự thay đổi độ võng tƣơng đối wc/h tâm vuông Al/ZrO2-1 tựa đơn cạnh chịu tải trọng nhiệt tải trọng p thay đổi ứng với n = 0, 0,5, 34 viii DANH SÁCH CÁC BẢNG Bảng 3.1: Tọa độ điểm buộc phần tử MITC3+ với d = 1/10000 [20] 17 Bảng 4.1: Đặc trƣng vật liệu thành phần FGM ví dụ số 23 Bảng 4.2: Độ võng không thứ nguyên wc 100wc Em h3 /12(1 ) pL4 tâm Al/ZrO21 L/h = 23 Bảng 4.3: Độ võng không thứ nguyên wc 100wc Em h3 /12(1 ) pL4 tâm Al/ZrO21 L/h =5, 100, 500 1000 25 Bảng 4.4: Độ võng tâm ứng suất không thứ nguyên Al/Al2O3 tựa đơn chịu tải trọng hình sin L/h = 10 26 Bảng 4.5: Sự phân bố thành phần ứng suất không thứ nguyên theo chiều dày Al/Al2O3 tựa đơn chịu tải trọng hình sin khi L/h = 10 27 Bảng 4.6: Độ võng không thứ nguyên tâm xiên hình bình hành Al/ZrO2-1 tựa đơn cạnh chịu tải trọng phân bố với tỉ lệ L/h = 10 30 Bảng 4.7: Độ võng tâm vuông Al/ZrO2-1 tựa đơn cạnh chịu tải nhiệt độ 32 Bảng 4.8: Độ võng tƣơng đối wc/h tâm vuông Al/ZrO2-1 tựa đơn cạnh chịu tải nhiệt độ Tm = 20oC, Tc = 300oC tải trọng p thay đổi 34 ix Chƣơng 1: TỔNG QUAN 1.1 Tình hình nghiên cứu ngồi nƣớc Phát triển bền vững, ảnh hƣớng đến mơi trƣờng nguồn ngun liệu hóa thạch thách thức nhiều ngành công nghiệp chế tạo nói chung lĩnh vực xây dựng nói riêng Các kết cấu có khả chịu lực tốt, bền nhẹ đáp ứng nhu cầu sử dụng nhƣng tiêu hao nhiên liệu hay ảnh hƣởng đến móng cơng trình địi hỏi phải có tìm loại vật liệu thay vật liệu truyền thống Những loại vật liệu cần có đặc tính học bền hơn, dẻo dai nhẹ Trong đó, vật liệu composite nhiều lớp loại vật liệu đáp ứng tốt yêu cầu Tuy nhiên, đƣợc cấu tạo từ lớp vật liệu composite có hƣớng sợi khác nhau, tức đặc trƣng vật liệu lớp khác nhau, vật liệu composite nhiều lớp thƣờng bị phá hoại tập trung ứng suất mặt tiếp xúc lớp, dẫn tới giảm tuổi thọ hay phá hoại bong tách lớp Để khắc phục nhƣợc điểm này, khái niệm vật liệu phân lớp chức (Functionally Graded Materials - FGM) [1] lần đƣợc nhà khoa học Nhật Bản đề xuất năm 1984 dự án nghiên cứu tàu không gian Vật liệu FGM vật liệu kết hợp hai vật liệu khác gốm mặt trên, kim loại mặt dƣới có đặc tính vật liệu biến thiên liên tục theo phƣơng chiều dày Nhờ thay đổi liên tục đặc tính vật liệu theo phƣơng nên vật liệu FGM tránh đƣợc tập trung ứng suất Vật liệu FGM kết hợp ƣu điểm cách nhiệt, chống hao mòn tốt gốm với tính bền, dẻo, chống mỏi kim loại Chính kết hợp đặc tính ƣu việt này, vật liệu FGM ngày đƣợc ứng dụng nhiều lĩnh vực khác Việc tính tốn kết cấu hay vỏ vật liệu FGM tƣơng tối phức tạp, đòi hỏi phải phát triển lý thuyết phân tích nhƣ phƣơng pháp giải thích hợp nhằm đƣa kết có khả dự đốn xác ứng xử kết cấu làm từ vật liệu có hình dáng, điều kiện biên chịu tác dụng tải trọng khác Ứng xử FGM áp dụng lý thuyết cổ điển Kirchhoff lý thuyết biến dạng cắt [2] Lý thuyết cổ điển Kirchhoff bỏ qua biến dạng cắt mặt phẳng nên phù hợp cho loại mỏng Lý thuyết biến dạng cắt kể đến biến dạng cắt mặt phẳng nên phù hợp cho ứng xử dày Reissner [3] Mindlin [4] % -displ=kk\ff; num=1:1:sdof; displace=[num' displ]; % print nodal displacements disp('Maximum displacement') cen_node= (nnode+1)/2; % central node of the squared plate w_mx= displ((cen_node-1)*ndof+3) % maximum displacement at the centre str= sprintf('Normalized displ at centre (100wcEct^3/(12(1-nu^2)q0L^4)): %.4f\n',100*w_mx*Ec*t^3/((12*(1-nu^2)*q0*L^4))); disp(str) % -% post-processing % -% compute strain at nodes of elements ndpt=[0 0; 0; 1]; % nodal coordinates in the natural domain memb_ndel= zeros(3,size(ndpt,1),nel); cur1_ndel= zeros(3,size(ndpt,1),nel); cur2_ndel= zeros(3,size(ndpt,1),nel); she1_ndel= zeros(2,size(ndpt,1),nel); she2_ndel= zeros(2,size(ndpt,1),nel); for iel=1:nel nd= nodes(iel,:); % extract connected node for (iel)-th element ecoord= gcoord(nd,:); % extract x, y value of the node index= feeldof(nd,nnel,ndof); % extract system dofs for the element edisp= displ(index); % extract displacements associated with (iel)-th element % interpolate displacements at node for i=1:ndof idx= nnel*ndof + i; edisp(idx,1)= mean(edisp([i,i+ndof,i+2*ndof])); end edisp(24,:)= []; % remove w4 [kinmtsm,kinmtsb1,kinmtsb2]= fekine_smb_CSMITC3Plus_HSDT7(ecoord,t); 64 for ig=1:size(ndpt,1) memb_ndel(:,ig,iel)= kinmtsm*edisp; % compute membrane strains cur1_ndel(:,ig,iel)= kinmtsb1*edisp; % compute curvature strain cur2_ndel(:,ig,iel)= kinmtsb2*edisp; % compute curvature strain [shape,dNdrds]= lagrange_basis('T3',ndpt(ig,:),2); % compute shape func jacob2= dNdrds'*ecoord; % compute Jacobian [shapeF,dFdrds]= lagrange_basis('T4Mini2',ndpt(ig,:),2); % compute shape func kinmtss1= fekine_ss1_MITC3Plus_HSDT7(t,ecoord,gpt(ig,:),dNdrds,shapeF,dFdrds,jacob2); she1_ndel(:,ig,iel)= kinmtss1*edisp; % compute shear strain kinmtss2= fekine_ss2_MITC3Plus_HSDT7(shapeF); kinmtss2= (-4/t^2)*kinmtss2; she2_ndel(:,ig,iel)= kinmtss2*edisp; % compute shear strain end end % average strain at nodes memb_node= zeros(3,nnode); cur1_node= zeros(3,nnode); cur2_node= zeros(3,nnode); she1_node= zeros(2,nnode); she2_node= zeros(2,nnode); for inode=1:nnode count=0; for iel=1:nel [flag,idx]= ismember(inode,nodes(iel,:)); if flag count= count + 1; memb_node(:,inode)= memb_node(:,inode) + memb_ndel(:,idx,iel); cur1_node(:,inode)= cur1_node(:,inode) + cur1_ndel(:,idx,iel); cur2_node(:,inode)= cur2_node(:,inode) + cur2_ndel(:,idx,iel); she1_node(:,inode)= she1_node(:,inode) + she1_ndel(:,idx,iel); 65 she2_node(:,inode)= she2_node(:,inode) + she2_ndel(:,idx,iel); end end memb_node(:,inode)= memb_node(:,inode)/count; cur1_node(:,inode)= cur1_node(:,inode)/count; cur2_node(:,inode)= cur2_node(:,inode)/count; she1_node(:,inode)= she1_node(:,inode)/count; she2_node(:,inode)= she2_node(:,inode)/count; end % compute stress along z-direction numdiv= 32; % number of divisions % central node (a/2,a/2) [sig_cen,ga_cen]= calStressThrgThk_HSDT_FGM(cen_node,numdiv,t,Ec,Em,n,nu, memb_node,cur1_node,cur2_node,she1_node,she2_node); sig_cen_bar= -sig_cen*t^2/q0/L^2; sigX_cen_bar= sig_cen_bar(1,:)' % plot distribution of stress along the thickness zk= []; for i= 1:numdiv+1 if i==1 z_tmp= -t/2; else z_tmp= z_tmp + t/numdiv; end zk= [zk z_tmp]; end zk'/t figure(2) plot(sig_cen_bar(1,:),zk/t,'-k*') % sig_xx title('Normalized sigma_{xx} at (a/2,a/2)') 66 Bài toán vuông Al/ZrO2-1 tựa đơn chịu tải trọng nhiệt clear; clc; close all; format short; % % geometric data % L= 0.2; ratio= 0.01/0.2 %0.1 %0.05 thk= ratio*L; % % Functionally grade materials data % Ec= 151; % ceramic ZrO2-2 Em= 70; % Aluminum nu=0.3; tc= 500; %0, 100, 200, 300, 400, 500 tm= 20; kc= 2.09; % thermal conductivity ceramic ZrO2-1=2.09 km= 204; % thermal conductivity metal Al=204 alc= 10e-6; % thermal expansion ceramic ZrO2-1= 10e-6 alm= 23e-6; % thermal expansion metal Al= 23e-6 syms z; % thickness coordinate, varies from -t/2 to t/2 n= % n is the power law index 0, 0.5, E1=((Ec-Em)*(0.5+z/thk)^n+Em); Ez1=((Ec-Em)*(0.5+z/thk)^n+Em)*z; Ez2=((Ec-Em)*(0.5+z/thk)^n+Em)*z^2; Ez3=((Ec-Em)*(0.5+z/thk)^n+Em)*z^3; Ez4=((Ec-Em)*(0.5+z/thk)^n+Em)*z^4; Ez6=((Ec-Em)*(0.5+z/thk)^n+Em)*z^6; % % meshing data % elemType= 'T3'; nnel= 3; % TRI number of nodes per element ndof= 7; % 7dof-COMPOSITE PLATE number of dofs per node 67 numx= 12; % number of elements in the x-direction (beam length) numy= 12; % number of elements in the y-direction (beam length) nnx=numx+1; % number of nodes in the x-direction nny=numy+1; % number of nodes in the y-direction gcoord=square_node_array([0 0],[L 0],[L L],[0 L],nnx,nny); % nodal coordinates node_pattern1=[ nnx+2 ]; node_pattern2=[ nnx+2 nnx+1 ]; inc_u=1; inc_v=nnx; nodes=[make_elem(node_pattern1,numx,numy,inc_u,inc_v); make_elem(node_pattern2,numx,numy,inc_u,inc_v) ]; % nodal elements nel= size(nodes,1); % number of elements nnode= size(gcoord,1); % total number of nodes in system sdof=nnode*ndof; % total system dofs edof=nnel*ndof; % degrees of freedom per element % plot the mesh plotMesh= 0; if ( plotMesh ) % if plotMesh==1 we will plot the mesh plot_mesh(gcoord,nodes,elemType,'b-'); end % -% boundary conditions % -bcdof=[]; bcval=[]; % lower x-axis (y=0) is simple support: u= w= thty= phiy= for i=1:nnx ind=ndof*(i-1); bcdof=[bcdof ind+1 ind+3 ind+5 ind+7]; end % upper x-axis (y=L) is simple support: u= w= thty= phiy= for i=1:nnx 68 ind=ndof*(nnx*(nny-1) + i - 1); bcdof=[bcdof ind+1 ind+3 ind+5 ind+7]; end % left y-axis (x=0) is simple support: v= w= thtx= phix= for i=1:nny ind=ndof*(i-1)*nnx; bcdof=[bcdof ind+2 ind+3 ind+4 ind+6]; end % right y-axis (x=L) is simple support: v= w= thtx= phix= for i=1:nny ind=ndof*(i*nnx-1); bcdof=[bcdof ind+2 ind+3 ind+4 ind+6]; end bcdof=unique(bcdof); bcval=zeros(size(bcdof)); % -% force vector % -ff=zeros(sdof,1); % initialize system force vector % % computation of element matrices and vectors and their assembly % nu1=[1/(1-nu^2) 1*nu/(1-nu^2) 0; 1*nu/(1-nu^2) 1/(1-nu^2) 0; 0 1*(1-nu)/(2*(1-nu^2))]; nu2=[1/(2*(1+nu)) 0; 1/(2*(1+nu))]; [AA,BB,DD,EE,FF,HH,As,Bs,Ds]= matmtFGMHSDT7(nu1,nu2,E1,Ez1,Ez2,Ez3,Ez4,Ez6,thk); Cs= [As Bs; Bs Ds]; % temparature load al= ((alc-alm)*(0.5+z/thk)^n+alm); % thermal expansion at z Tz= Tzz(tm,tc,km,kc,z,thk,n,50); % temparature at z Del_T= Tz - tm; N_th= eval(int(nu1*E1*al*Del_T,z,-thk/2,thk/2))*[1 0]'; M_th= eval(int(nu1*Ez1*al*Del_T,z,-thk/2,thk/2))*[1 0]'; P_th= eval(int(nu1*Ez3*al*Del_T,z,-thk/2,thk/2))*[1 0]'; 69 % % computation of element matrices and vectors and their assembly % [weight,gpt]= quadrature(2,'TRIANGULAR',2); % sampling points kk=zeros(sdof,sdof); % system matrix ff=zeros(sdof,1); % initialize system force vector for iel=1:nel % loop for the total number of elements nd= nodes(iel,:); % extract connected node for (iel)-th element ecoord= gcoord(nd,:); % extract x, y value of the node % compute thermal loads % Ae= cal_area(ecoord(:,1),ecoord(:,2)); a= ecoord(2,1) - ecoord(1,1); % a= x2 - x1 b= ecoord(2,2) - ecoord(1,2); % b= y2 - y1 c= ecoord(3,2) - ecoord(1,2); % c= y3 - y1 d= ecoord(3,1) - ecoord(1,1); % d= x3 - x1 % kinematic matrix for membrane kinmtm= [ b-c 0 0 0 c 0 0 0 -b 0 0 0; d-a 0 0 0 -d 0 0 0 a 0 0 0; d-a b-c 0 0 -d c 0 0 a -b 0 0 ]/2/Ae; fe_Nth= kinmtm'*N_th*Ae; % thermal loads % kinematic matrix for bending kinmtb1= [ 0 0 b-c 0 0 0 c 0 0 0 -b 0; 0 -d+a 0 0 0 d 0 0 0 -a 0 0; 0 -b+c d-a 0 0 -c -d 0 0 b a 0 ]/2/Ae; fe_Mth= kinmtb1'*M_th*Ae; % thermal load kinmtb2= -4/3/thk^2*[ 0 0 b-c b-c 0 0 c c 0 0 -b -b; 0 -d+a -d+a 0 0 d d 0 0 -a -a 0; 0 -b+c d-a -b+c d-a 0 -c -d -c -d 0 b a b a ]/2/Ae; fe_Pth= kinmtb2'*P_th*Ae; % thermal load 70 % compute stiffness matrices % % cell-based smooth for membrane and bending stiffness matrices kmb_tmp=festif_smb_CSMITC3Plus_HSDT7(ecoord,thk,AA,BB,DD,EE,FF,HH); % shearing stiffness matrix ks_tmp = zeros(27,27); for ig=1:size(weight) % initialization of element matrix to zero [shape,dNdrds]= lagrange_basis('T3',gpt(ig,:),2); % compute shape func jacob2= dNdrds'*ecoord; % compute Jacobian detjacob= det(jacob2); % determinant of Jacobian [shapeF,dFdrds]= lagrange_basis('T4Mini2',gpt(ig,:),2); % compute shape func kinmtss1= fekine_ss1_MITC3Plus_HSDT7(thk,ecoord,gpt(ig,:),dNdrds,shapeF,dFdrds,jacob2); kinmtss2= (-4/thk^2)*fekine_ss2_MITC3Plus_HSDT7(shapeF); kinmtss= [kinmtss1; kinmtss2]; ks_tmp = ks_tmp + kinmtss'*Cs*kinmtss*weight(ig)*detjacob; end index= feeldof(nd,nnel,ndof); % extract system dofs associated with element % assemble element stiffness matrices into global matrix k_tmp= kmb_tmp + ks_tmp; k= staticCondenseKe_MITC3Plus_HSDT7(k_tmp); kk= feasmbl1(kk,k,index); % assemble element matrices % assemble thermal load into global load fe_th= fe_Nth + fe_Mth + fe_Pth; ff(index)= ff(index) + fe_th; end 71 % % apply boundary conditions % [kk,ff]=feaplyc2(kk,ff,bcdof,bcval); % -% solve the matrix equation % -displ=kk\ff; num=1:1:sdof; displace=[num' displ]; % print nodal displacements disp('Maximum displacement') cen_node= (nnode+1)/2; % central node of the squared plate w_mx= displ((cen_node-1)*ndof+3) % maximum displacement at the centre str= sprintf('Normalized displ at centre (wc/t): %.4f\n',w_mx/thk); disp(str) Bài tốn vng Al/ZrO2-1 tựa đơn chịu tải trọng nhiệt clear; clc; close all; format short; % % geometric data % L= 0.2; ratio= 0.01/0.2 %0.1 %0.05 t= ratio*L; % % Functionally grade materials data % Ec= 151; % ceramic ZrO2-2 Em= 70; % Aluminum nu=0.3; tc= 300; tm= 20; kc= 2.09; % thermal conductivity ceramic ZrO2-1=2.09 72 km= 204; % thermal conductivity metal Al=204 alc= 10e-6; % thermal expansion ceramic ZrO2-1= 10e-6 alm= 23e-6; % thermal expansion metal Al= 23e-6 syms z; % thickness coordinate, varies from -t/2 to t/2 n= % n is the power law index 0, 0.5, E1=((Ec-Em)*(0.5+z/t)^n+Em); Ez1=((Ec-Em)*(0.5+z/t)^n+Em)*z; Ez2=((Ec-Em)*(0.5+z/t)^n+Em)*z^2; Ez3=((Ec-Em)*(0.5+z/t)^n+Em)*z^3; Ez4=((Ec-Em)*(0.5+z/t)^n+Em)*z^4; Ez6=((Ec-Em)*(0.5+z/t)^n+Em)*z^6; % % meshing data % elemType= 'T3'; nnel= 3; % TRI number of nodes per element ndof= 7; % 7dof-COMPOSITE PLATE number of dofs per node numx= 12; % number of elements in the x-direction (beam length) numy= 12; % number of elements in the y-direction (beam length) nnx=numx+1; % number of nodes in the x-direction nny=numy+1; % number of nodes in the y-direction gcoord=square_node_array([0 0],[L 0],[L L],[0 L],nnx,nny); % nodal coordinates node_pattern1=[ nnx+2 ]; node_pattern2=[ nnx+2 nnx+1 ]; inc_u=1; inc_v=nnx; nodes=[make_elem(node_pattern1,numx,numy,inc_u,inc_v); make_elem(node_pattern2,numx,numy,inc_u,inc_v) ]; % nodal elements nel= size(nodes,1); nnode= size(gcoord,1); sdof=nnode*ndof; % number of elements % total number of nodes in system % total system dofs 73 edof=nnel*ndof; % degrees of freedom per element % plot the mesh plotMesh= 0; if ( plotMesh ) % if plotMesh==1 we will plot the mesh plot_mesh(gcoord,nodes,elemType,'b-'); end % -% boundary conditions % -bcdof=[]; bcval=[]; % lower x-axis (y=0) is simple support: u= w= thty= phiy= for i=1:nnx ind=ndof*(i-1); bcdof=[bcdof ind+1 ind+3 ind+5 ind+7]; end % upper x-axis (y=L) is simple support: u= w= thty= phiy= for i=1:nnx ind=ndof*(nnx*(nny-1) + i - 1); bcdof=[bcdof ind+1 ind+3 ind+5 ind+7]; end % left y-axis (x=0) is simple support: v= w= thtx= phix= for i=1:nny ind=ndof*(i-1)*nnx; bcdof=[bcdof ind+2 ind+3 ind+4 ind+6]; end % right y-axis (x=L) is simple support: v= w= thtx= phix= for i=1:nny ind=ndof*(i*nnx-1); bcdof=[bcdof ind+2 ind+3 ind+4 ind+6]; end bcdof=unique(bcdof); bcval=zeros(size(bcdof)); % -% force vector % -ff=zeros(sdof,1); % initialize system force vector q0= -2*Em*t^4/L^4; %0, -2, -4, -6, -8, -10, -12, -14; % distributed load 74 [ff]= N_ff_Uniload_PlateHSDT_7dof('T3',gcoord,nodes,q0); % % computation of element matrices and vectors and their assembly % nu1=[1/(1-nu^2) 1*nu/(1-nu^2) 0; 1*nu/(1-nu^2) 1/(1-nu^2) 0; 0 1*(1-nu)/(2*(1-nu^2))]; nu2=[1/(2*(1+nu)) 0; 1/(2*(1+nu))]; [AA,BB,DD,EE,FF,HH,As,Bs,Ds]= matmtFGMHSDT7(nu1,nu2,E1,Ez1,Ez2,Ez3,Ez4,Ez6,t); Cs= [As Bs; Bs Ds]; % temparature load al= ((alc-alm)*(0.5+z/t)^n+alm); % thermal expansion at z Tz= Tzz(tm,tc,km,kc,z,t,n,50); % temparature at z Del_T= Tz - tm; N_th= eval(int(nu1*E1*al*Del_T,z,-t/2,t/2))*[1 0]'; M_th= eval(int(nu1*Ez1*al*Del_T,z,-t/2,t/2))*[1 0]'; P_th= eval(int(nu1*Ez3*al*Del_T,z,-t/2,t/2))*[1 0]'; % % computation of element matrices and vectors and their assembly % [weight,gpt]= quadrature(2,'TRIANGULAR',2); % sampling points kk=zeros(sdof,sdof); for iel=1:nel % system matrix % loop for the total number of elements nd= nodes(iel,:); % extract connected node for (iel)-th element ecoord= gcoord(nd,:); % extract x, y value of the node % compute thermal loads % Ae= cal_area(ecoord(:,1),ecoord(:,2)); a= ecoord(2,1) - ecoord(1,1); % a= x2 - x1 b= ecoord(2,2) - ecoord(1,2); % b= y2 - y1 c= ecoord(3,2) - ecoord(1,2); % c= y3 - y1 75 d= ecoord(3,1) - ecoord(1,1); % d= x3 - x1 % kinematic matrix for membrane kinmtm= [ b-c 0 0 0 c 0 0 0 -b 0 0 0; d-a 0 0 0 -d 0 0 0 a 0 0 0; d-a b-c 0 0 -d c 0 0 a -b 0 0 ]/2/Ae; fe_Nth= kinmtm'*N_th*Ae; % thermal loads % kinematic matrix for bending kinmtb1= [ 0 0 b-c 0 0 0 c 0 0 0 -b 0; 0 -d+a 0 0 0 d 0 0 0 -a 0 0; 0 -b+c d-a 0 0 -c -d 0 0 b a 0 ]/2/Ae; fe_Mth= kinmtb1'*M_th*Ae; % thermal load kinmtb2= -4/3/t^2*[ 0 0 b-c b-c 0 0 c c 0 0 -b -b; 0 -d+a -d+a 0 0 d d 0 0 -a -a 0; 0 -b+c d-a -b+c d-a 0 -c -d -c -d 0 b a b a ]/2/Ae; fe_Pth= kinmtb2'*P_th*Ae; % thermal load % compute stiffness matrices % % cell-based smooth for membrane and bending stiffness matrices kmb_tmp=festif_smb_CSMITC3Plus_HSDT7(ecoord,t,AA,BB,DD,EE,FF,HH); % shearing stiffness matrix ks_tmp = zeros(27,27); for ig=1:size(weight) % initialization of element matrix to zero [shape,dNdrds]= lagrange_basis('T3',gpt(ig,:),2); % compute shape func jacob2= dNdrds'*ecoord; % compute Jacobian detjacob= det(jacob2); % determinant of Jacobian [shapeF,dFdrds]= lagrange_basis('T4Mini2',gpt(ig,:),2); % compute shape func kinmtss1= fekine_ss1_MITC3Plus_HSDT7(t,ecoord,gpt(ig,:),dNdrds,shapeF,dFdrds,jacob2); kinmtss2= (-4/t^2)*fekine_ss2_MITC3Plus_HSDT7(shapeF); 76 kinmtss= [kinmtss1; kinmtss2]; ks_tmp = ks_tmp + kinmtss'*Cs*kinmtss*weight(ig)*detjacob; end index= feeldof(nd,nnel,ndof); % extract system dofs associated with element % assemble element stiffness matrices into global matrix k_tmp= kmb_tmp + ks_tmp; k= staticCondenseKe_MITC3Plus_HSDT7(k_tmp); kk= feasmbl1(kk,k,index); % assemble element matrices % assemble thermal load into global load fe_th= fe_Nth + fe_Mth + fe_Pth; index= feeldof(nd,length(nd),ndof); % extract system dofs associated with element ff(index)= ff(index) + fe_th; end % % apply boundary conditions % [kk,ff]=feaplyc2(kk,ff,bcdof,bcval); % -% solve the matrix equation % -displ=kk\ff; num=1:1:sdof; displace=[num' displ]; % print nodal displacements disp('Maximum displacement') cen_node= (nnode+1)/2; % central node of the squared plate w_mx= displ((cen_node-1)*ndof+3) % maximum displacement at the centre str= sprintf('Normalized displ at centre (wc/t): %.4f\n',w_mx/t); disp(str) 77 S K L 0 ... chịu tải trọng cơ, tải trọng nhiệt hay tải trọng nhiệt kết hợp Kết phân tích số tốn nhiệt cho thấy đƣợc tính hiệu vật liệu FGM sử dụng kết cấu chịu nhiệt độ tải trọng cao Phần tử đề xuất CS- MITC3+. .. số dựa cơng thức phần tử CS- MITC3+ đề xuất Độ xác tính hiệu phần tử CS- MITC3+ dùng để phân tích phân lớp chức chịu tải trọng nhiệt đƣợc kiểm chứng thơng qua ví dụ số Kết số cho phần tử CS- MITC3+. .. phần tử cho phần tử MITC3+ dùng để phân tích FGM chịu tải trọng nhiệt (2) So sánh đánh giá độ xác phần tử đề xuất với phần tử loại việc phân tích FGM chịu tải trọng nhiệt Đề tài giới hạn phân tích