1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phân Tích Kết Cấu Tấm Bằng Phân Tử Mitc3+ Được Làm Trơn Trên Cạnh (Es- Mitc3+).Pdf

76 2 0

Đ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

TVChon BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ TRẦN VĂN CHƠN PHÂN TÍCH KẾT CẤU TẤM BẰNG PHẦN TỬ MITC3+ ĐƯỢC LÀM TRƠN TRÊN CẠNH (ES MITC3+) NGÀNH K[.]

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ TRẦN VĂN CHƠN PHÂN TÍCH KẾT CẤU TẤM BẰNG PHẦN TỬ MITC3+ ĐƯỢC LÀM TRƠN TRÊN CẠNH (ES-MITC3+) NGÀNH: KỸ THUẬT XÂY DỰNG CƠNG TRÌNH DÂN DỤNG VÀ CÔNG NGHIỆP – 60580208 S K C0 9 Tp Hồ Chí Minh, tháng 07/2018 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ??? LUẬN VĂN THẠC SĨ TRẦN VĂN CHƠN ??????? ????? PHÂN TÍCH KẾT CẤU TẤM BẰNG PHẦN TỬ MITC3+ ĐƯỢC LÀM TRƠN TRÊN CẠNH (ES-MITC3+) NGÀNH: KỸ THUẬT XÂY DỰNG ???? CƠNG TRÌNH DD VÀ CN - 60580208 Tp Hồ Chí Minh, tháng 7/2018 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ TRẦN VĂN CHƠN PHÂN TÍCH KẾT CẤU TẤM BẰNG PHẦN TỬ MITC3+ ĐƯỢC LÀM TRƠN TRÊN CẠNH (ES-MITC3+) NGÀNH: KỸ THUẬT XÂY DỰNG CƠNG TRÌNH DD VÀ CN - 60580208 Hướng dẫn khoa học: TS CHÂU ĐÌNH THÀNH Tp Hồ Chí Minh, tháng 7/2018 Scanned with CamScanner Scanned with CamScanner Scanned with CamScanner Scanned with CamScanner Scanned with CamScanner Scanned with CamScanner (a) (b) Hình 4-24: Độ hội tụ mơ-men chuẩn hóa tâm trịn ngàm (a) h/R = 0.02 (b) h/R = 0.2 Từ Bảng 4-7 biểu đồ Hình 4-23, Hình 4-24 cho thấy, so sánh với lời giải giải tích [1], trường hợp mỏng (h/R = 0.02) dày (h/R = 0.2) từ lưới thô đến lưới mịn phần tử ES-MITC3+ cho kết giá trị độ võng mô-men tốt Kết độ võng mô-men tâm phần tử ES-MITC3+ tốt phần tử tam giá nút ES-DSG3, MITC3 ES-MITC3, ngoại trừ trường hợp mômen tâm h/R = 0.2 giải phần tử ES-MITC3 50 Chương 5: KẾT LUẬN Luận văn phát triển công thức phần tử ES-MITC3+ cách làm trơn biến dạng uốn phương pháp PTHH trơn cạnh (ES) xấp xỉ biến dạng cắt kỹ thuật MITC3+ để khử tượng khóa cắt Phần tử ES-MITC3+ có sử dụng nút để tăng bậc xấp xỉ góc xoay phần tử tam giác nút kết nối phần tử ma trận độ cứng tổng thể góc xoay nút tính theo chuyển vị nút đỉnh nhờ kỹ thuật nén tĩnh Biến dạng uốn trung bình miền làm trơn định nghĩa đoạn thẳng nối trọng tâm với đỉnh cạnh chung phần tử Do đó, ma trận độ cứng uốn phần tử chuyển từ tích phân mặt sang tích phân đường biên miền làm trơn Phần tử ES-MITC3+ có khả biểu diễn xác trường chuyển vị biến dạng, ứng suất nội lực giải toán patch test Tuy nhiên, có sử dụng thêm nút nổi, tức ma trận độ cứng số phần tử, phần tử ES-MITC3+ có thời gian tính tốn lâu phần tử tam giác nút khác có ma trận độ cứng số viết dạng tường minh Phần tử đề xuất ES-MITC3+ sử dụng để phân tích số tốn hình vng, hình trịn, hình thoi chịu tải trọng phân bố Tương tự phần tử tam giác nút có làm trơn loại ES-DSG3, ES-MITC3, kết cho phần tử ES-MITC3+ hội tụ đến lời giải giải tích, ngoại trừ trường hợp hình thoi ngàm cạnh có độ hội tụ chưa tốt So với công thức PTHH ES-DSG3, ES-MITC3, phần tử ES-MITC3+ thường cho kết tính tốn mơ-men tốt phần tử có sử dụng nút xấp xỉ góc xoay Trong số trường hợp, phần tử đề xuất cho kết tốt phần tử tứ giác nút MITC4 Phần tử ES-MITC3+ thường cho kết lời giải mỏng tốt lời giải dày Phần tử ES-MITC3+ đề xuất dùng để phân tích tần số đáng ứng động kết cấu Ngoài ra, kết hợp trường biến dạng trơn cạnh 51 kỹ thuật khử khóa cắt MITC3+ phát triển để phân tích kết cấu composit nhiều lớp, phân lớp chức (FGM) hay kết cấu vỏ 52 TÀI LIỆU THAM KHẢO [1] S P Timoshenko and S Woinowsky-Krieger, Theory of Plates and Shells, Second Edition McGraw-Hill, 1959 [2] D L Logan, A first course in the Finite Element Method, Fourth Thomson [3] O C Zienkiewicz, R L Taylor, and J M Too, “Reduced integration technique in general analysis of plates and shells,” Int J Numer Meth Engng., vol 3, no 2, pp 275–290, Apr 1971 [4] T J R Hughes, M Cohen, and M Haroun, “Reduced and selective integration techniques in the finite element analysis of plates,” Nuclear Engineering and Design, vol 46, no 1, pp 203–222, Mar 1978 [5] G M Kulikov and S V Plotnikova, “A family of ANS four-node exact geometry shell elements in general convected curvilinear coordinates,” Int J Numer Meth Engng., vol 83, no 10, pp 1376–1406, Sep 2010 [6] U Andelfinger and E Ramm, “EAS-elements for two-dimensional, threedimensional, plate and shell structures and their equivalence to HR-elements,” Int J Numer Meth Engng., vol 36, no 8, pp 1311–1337, Apr 1993 [7] A Tessler and T J R Hughes, “A three-node Mindlin plate element with improved transverse shear,” Computer Methods in Applied Mechanics and Engineering, vol 50, no 1, pp 71–101, Jul 1985 [8] K.-U Bletzinger, M Bischoff, and E Ramm, “A unified approach for shearlocking-free triangular and rectangular shell finite elements,” Computers & Structures, vol 75, no 3, pp 321–334, Apr 2000 [9] P.-S Lee and K.-J Bathe, “Development of MITC isotropic triangular shell finite elements,” Computers & Structures, vol 82, no 11–12, pp 945–962, May 2004 [10]Y Lee, P.-S Lee, and K.-J Bathe, “The MITC3+ shell element and its performance,” Computers & Structures, vol 138, pp 12–23, Jul 2014 [11]K.-J Bathe and E N Dvorkin, “A four-node plate bending element based on Mindlin/Reissner plate theory and a mixed interpolation,” Int J Numer Meth Engng., vol 21, no 2, pp 367–383, Feb 1985 [12]Y Ko, P.-S Lee, and K.-J Bathe, “The MITC4+ shell element and its performance,” Computers & Structures, vol 169, pp 57–68, Jun 2016 [13]K.-J Bathe, F Brezzi, and S W Cho, “The MITC7 and MITC9 Plate bending elements,” Computers & Structures, vol 32, no 3, pp 797–814, Jan 1989 [14]G R Liu and T Nguyen-Thoi, Smoothed Finite Element Methods CRC Press, 2010 [15]T Nguyen-Thoi, P Phung-Van, H Luong-Van, H Nguyen-Van, and H Nguyen-Xuan, “A cell-based smoothed three-node Mindlin plate element (CSMIN3) for static and free vibration analyses of plates,” Comput Mech, vol 51, no 1, pp 65–81, Apr 2012 53 [16]H Nguyen-Xuan, G R Liu, C Thai-Hoang, and T Nguyen-Thoi, “An edgebased smoothed finite element method (ES-FEM) with stabilized discrete shear gap technique for analysis of Reissner–Mindlin plates,” Computer Methods in Applied Mechanics and Engineering, vol 199, no 9–12, pp 471–489, Jan 2010 [17]H Nguyen-Xuan, T Rabczuk, N Nguyen-Thanh, T Nguyen-Thoi, and S Bordas, “A node-based smoothed finite element method with stabilized discrete shear gap technique for analysis of Reissner–Mindlin plates,” Comput Mech, vol 46, no 5, pp 679–701, Oct 2010 [18]T Nguyen-Thoi, P Phung-Van, C Thai-Hoang, and H Nguyen-Xuan, “A cellbased smoothed discrete shear gap method (CS-DSG3) using triangular elements for static and free vibration analyses of shell structures,” International Journal of Mechanical Sciences, vol 74, pp 32–45, Sep 2013 [19]Q Nguyễn-Duy, “Phân tích kết cấu phần tử biến dạng trơn ESMITC3,” Luận văn Thạc sĩ, Trường ĐH Sư phạm Kỹ thuật Tp.HCM, 2016 [20]T Chau-Dinh, Q Nguyen-Duy, and H Nguyen-Xuan, “Improvement on MITC3 plate finite element using edge-based strain smoothing enhancement for plate analysis,” Acta Mech, vol 228, no 6, pp 2141–2163, Jun 2017 [21]D Nguyễn-Văn, “Phân tích kết cấu phần tử biến dạng trơn NSMITC3,” Luận văn Thạc sĩ, Trường ĐH Sư phạm Kỹ thuật Tp.HCM, 2016 [22]T Châu Đình and D Nguyễn Văn, “Phân tích tĩnh dao động riêng composite nhiều lớp phần tử MITC3 có biến dạng trung bình miền nút phần tử (NS-MITC3),” in Tuyển tập cơng trình Hội nghị khoa học tồn quốc “Vật liệu Kết cấu Composite: Cơ học, Công nghệ Ứng dụng,” Nha Trang, Vietnam, 2016, pp 613–620 [23]T Võ-Ngọc, “Phân tích kết cấu phần tử biến dạng trơn CS-MITC3,” Luận văn Thạc sĩ, Trường ĐH Sư phạm Kỹ thuật Tp.HCM, 2017 [24]T Chau-Dinh, T Vo-Ngoc, and P Nguyen-Hoang, “A cell-based smoothed three-node plate finite element with a bubble node for static analyses of both thin and thick plates,” Vietnam Journal of Mechanics, vol 39, no 3, pp 229– 243, Sep 2017 [25]K.-J Bathe, Finite Element Procedures Prentice Hall International, Inc., 1996 [26]M Lyly, R Stenberg, and T Vihinen, “A stable bilinear element for the Reissner-Mindlin plate model,” Computer Methods in Applied Mechanics and Engineering, vol 110, no 3–4, pp 343–357, Dec 1993 [27]T Nguyen-Thoi, P Phung-Van, H Nguyen-Xuan, and C Thai-Hoang, “A cellbased smoothed discrete shear gap method using triangular elements for static and free vibration analyses of Reissner–Mindlin plates,” Int J Numer Meth Engng, vol 91, no 7, pp 705–741, Aug 2012 [28]A Razzaque, “Program for triangular bending elements with derivative smoothing,” Int J Numer Meth Engng., vol 6, no 3, pp 333–343, Jan 1973 [29]L S D Morley, Skew Plates and Structures Pergamon Press, Oxford, 1963 54 [30]M Rezaiee-Pajand and M Karkon, “Hybrid stress and analytical functions for analysis of thin plates bending,” Latin American Journal of Solids and Structures, vol 11, no 4, pp 556–579, Aug 2014 55 PHỤ LỤC Độ hội tụ độ võng chuẩn hóa wc/(qL4/100D) moment chuẩn hóa Mc/(qL2/10) tâm vuông ngàm cạnh chịu tải phân bố q = sử dụng lưới tam giác clear; clc; close all; format short; % geometric data L= 10; ratio= 0.001 %0.1 %0.1; %0.001; thk= ratio*L; % material data emodule= 1092000; % elastic modulus poisson= 0.3; % Poisson's ratio % meshing data elemType= 'T3'; nnel= 3; % TRI number of nodes per element ndof= 3; % PLATE number of dofs per node numx= 4; numy= 4; 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+1 ]; node_pattern2=[ nnx+2 nnx+1 ]; % 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 sdof= nnode*ndof + nel*2; % total system dofs edof=nnel*ndof; % degrees of freedom per element % plot the mesh plotMesh= 1; if ( plotMesh ) % if plotMesh==1 we will plot the mesh plot_mesh(gcoord,nodes,elemType,'b-'); end % boundary conditions bcdof=[]; bcval=[]; 56 % lower x-axis (y=0) is clamped: w= thtx= thty= for i=1:nnx ind=ndof*(i-1); bcdof=[bcdof ind+1 ind+2 ind+3]; end % upper x-axis (y=L) is clamped: w= thtx= thty= for i=1:nnx ind=ndof*(nnx*(nny-1) + i - 1); bcdof=[bcdof ind+1 ind+2 ind+3]; end % left y-axis (x=0) is clamped: w= thtx= thty= for i=1:nny ind=ndof*(i-1)*nnx; bcdof=[bcdof ind+1 ind+2 ind+3]; end % right y-axis (x=L/2) is clamped: w= thtx= thty= for i=1:nny ind=ndof*(i*nnx-1); bcdof=[bcdof ind+1 ind+2 ind+3]; end bcdof=unique(bcdof); bcval=zeros(size(bcdof)); % force vector q0= 1; % distributed load ff= N_ff_Uniload_PlateT3(nodes,gcoord,nel,nnel,edof,sdof,ndof,q0); % computation of element matrices and vectors and their assembly [weight,gpt]= quadrature(2,'TRIANGULAR',2); % sampling points enough per element for shearing matmtpb= fematiso(1,emodule,poisson)*thk^3/12; % bending material property shearm= 0.5*emodule/(1.0+poisson); % shear modulus shcof= 5/6; % shear correction factor matmtps= shearm*shcof*thk*[1 0; 1]; % shear material property % a stabilized shear coefficient alstab=0.1; % find neighouring cell of each edge of elements [triangle_neighbor] = triangulation_order3_neighbor_triangles(nel,nodes'); [index_edge]= [nodes triangle_neighbor']; % sort connections of edge [edges,area_Ecell,area_elem]= connect_edge('T3',gcoord,nodes,index_edge); % compute global stiffness matrix - bending kkb= zeros(sdof,sdof); % initialize system matrix for iedge=1:size(edges,1) [index,BbL]= BmatPlate_ES3_MITC3P(edges(iedge,:),gcoord,nodes,area_Ecell(iedge)); kb= (BbL'*matmtpb*BbL)*area_Ecell(iedge); kkb= feasmbl1(kkb,kb,index); % assemble element matrices end % compute global stiffness matrix - shearing MITC3+ kks= zeros(sdof,sdof); % initialize system matrix 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 57 % shearing stiffness matrix side= cal_side(ecoord(:,1),ecoord(:,2)); he= max(side); matmtpsoft= matmtps*thk^2/(thk^2+alstab*he^2); % shearing stiffness matrix ks= zeros(11,11); % initialization of shear matrix to zero for ig=1:size(weight) [shape,dNdrds]= lagrange_basis('T3',gpt(ig,:),2); % compute shape [shapeB,dNdrdsB]= lagrange_basis('T4Mini2',gpt(ig,:),2); % jacob2= dNdrds'*ecoord; % compute Jacobian detjacob= det(jacob2); % determinant of Jacobian % shearing kinematic matrix kinmtps= fekineps_MITC3Plus(thk,ecoord,gpt(ig,:),dNdrds,shapeB,dNdrdsB,jacob2); % compute shearing element matrix ks= ks + kinmtps'*matmtpsoft*kinmtps*weight(ig)*detjacob; end index= feeldof(nd,length(nd),ndof); % extract system dofs associated with element index= [index nnode*ndof+iel*2-1 nnode*ndof+iel*2]; kks= feasmbl1(kks,ks,index); % assemble element matrices end kk= kkb + kks; % 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*3-2) % maximum displacement at the centre Dm=(emodule*thk^3)/(12*(1-poisson^2)); str= sprintf('Normalized displacement at the centre (wc/(qL^4/100D)): %.4f\n',w_mx/(q0*L^4/100/Dm)); disp(str) % compute moments at edges Moment_edge= []; for iedge=1:size(edges,1) [index,BbL]= BmatPlate_ES3_MITC3P(edges(iedge,:),gcoord,nodes,area_Ecell(iedge)); % extract displacements associated with (iel)-th element edDisp= displ(index); % compute moments of an edge edM= matmtpb*BbL*edDisp; Moment_edge= [Moment_edge edM]; end Moment_edge; % compute moments at elements Moment= []; for iel=1:nel nd= nodes(iel,:); % extract connected node for (iel)-th element eM= zeros(3,1); 58 for j=1:3 % loop over edges of an element if j~=3 nod_i= nd(j); nod_j= nd(j+1); else nod_i= nd(3); nod_j= nd(1); end if nod_i > nod_j tmp= nod_i; nod_i= nod_j; nod_j= tmp; end for iedge=1:size(edges,1) if nod_i==edges(iedge,1) && nod_j==edges(iedge,2) eM= eM + Moment_edge(:,iedge); break; end end end Moment= [Moment eM/3]; end Moment; % compute moments at nodes Moment_node= []; for inode= 1:nnode % loop for all nodes nodeM= zeros(size(Moment,1),1); count= 0; for iedge=1:size(edges,1) if inode==edges(iedge,1) || inode==edges(iedge,2) nodeM= nodeM + Moment_edge(:,iedge); count= count + 1; end end nodeM= nodeM/count; Moment_node= [Moment_node nodeM]; end disp('Maximum Mx at node') Mx_mx= Moment_node(1,cen_node) % maximum Mx moment at the centre str= sprintf('Normalized Mx moment at the centre (Mc/(qL^2/10)): %.4f',Mx_mx/(q0*L^2/10)); disp(str) 59 Độ hội tụ độ võng chuẩn hóa wc/(qL4/100D) moment chuẩn hóa Mc/(qL2/10) tâm vng tựa đơn cạnh chịu tải phân bố q = sử dụng lưới tam giác clear; clc; close all; format short; % geometric data L= 10; ratio= 0.1 %0.1 %0.1; %0.001; thk= ratio*L; % material data emodule= 1092000; % elastic modulus poisson= 0.3; % Poisson's ratio % meshing data elemType= 'T3'; nnel= 3; % TRI number of nodes per element ndof= 3; % PLATE number of dofs per node numx= 4; %20; %12; %8; %6; %5; %4; %2; % number of elements in the xdirection (beam length) numy= 4; %20; %12; %8; %6; %5; %4; %2; % number of elements in the ydirection (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+1 ]; % node_pattern2=[ nnx+2 nnx+1 ]; 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 sdof= nnode*ndof + nel*2; % total system dofs edof=nnel*ndof; % degrees of freedom per element % plot the mesh plotMesh= 1; 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: w= thty= for i=1:nnx ind=ndof*(i-1); bcdof=[bcdof ind+1 ind+3]; end % upper x-axis (y=L) is simple support: w= thty= 60 for i=1:nnx ind=ndof*(nnx*(nny-1) + i - 1); bcdof=[bcdof ind+1 ind+3]; end % left y-axis (x=0) is simple support: w= thtx= for i=1:nny ind=ndof*(i-1)*nnx; bcdof=[bcdof ind+1 ind+2]; end % right y-axis (x=L) is simple support: w= thtx= for i=1:nny ind=ndof*(i*nnx-1); bcdof=[bcdof ind+1 ind+2]; end bcdof=unique(bcdof); bcval=zeros(size(bcdof)); % force vector q0= 1; % distributed load ff= N_ff_Uniload_PlateT3(nodes,gcoord,nel,nnel,edof,sdof,ndof,q0); % computation of element matrices and vectors and their assembly [weight,gpt]= quadrature(2,'TRIANGULAR',2); % sampling points enough per element for shearing matmtpb= fematiso(1,emodule,poisson)*thk^3/12; % bending material property shearm= 0.5*emodule/(1.0+poisson); % shear modulus shcof= 5/6; % shear correction factor matmtps= shearm*shcof*thk*[1 0; 1]; % shear material property % a stabilized shear coefficient alstab=0.1; % find neighouring cell of each edge of elements [triangle_neighbor] = triangulation_order3_neighbor_triangles(nel,nodes'); [index_edge]= [nodes triangle_neighbor']; % sort connections of edge [edges,area_Ecell,area_elem]= connect_edge('T3',gcoord,nodes,index_edge); % compute global stiffness matrix - bending kkb= zeros(sdof,sdof); % initialize system matrix for iedge=1:size(edges,1) [index,BbL]= BmatPlate_ES3_MITC3P(edges(iedge,:),gcoord,nodes,area_Ecell(iedge)); kb= (BbL'*matmtpb*BbL)*area_Ecell(iedge); kkb= feasmbl1(kkb,kb,index); % assemble element matrices end % compute global stiffness matrix - shearing MITC3+ kks= zeros(sdof,sdof); % initialize system matrix 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 % shearing stiffness matrix side= cal_side(ecoord(:,1),ecoord(:,2)); he= max(side); matmtpsoft= matmtps*thk^2/(thk^2+alstab*he^2); % matmtpsoft= matmtps; % shearing stiffness matrix ks= zeros(11,11); % initialization of shear matrix to zero for ig=1:size(weight) [shape,dNdrds]= lagrange_basis('T3',gpt(ig,:),2); % compute shape func and derivatives at sampling point 61 [shapeB,dNdrdsB]= lagrange_basis('T4Mini2',gpt(ig,:),2); % compute shape func and derivatives at sampling point jacob2= dNdrds'*ecoord; % compute Jacobian detjacob= det(jacob2); % determinant of Jacobian % shearing kinematic matrix kinmtps= fekineps_MITC3Plus(thk,ecoord,gpt(ig,:),dNdrds,shapeB,dNdrdsB,jacob2); % compute shearing element matrix ks= ks + kinmtps'*matmtpsoft*kinmtps*weight(ig)*detjacob; end index= feeldof(nd,length(nd),ndof); % extract system dofs associated with element index= [index nnode*ndof+iel*2-1 nnode*ndof+iel*2]; kks= feasmbl1(kks,ks,index); % assemble element matrices end kk= kkb + kks; % 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*3-2) % maximum displacement at the centre Dm=(emodule*thk^3)/(12*(1-poisson^2)); str= sprintf('Normalized displacement at the centre (wc/(qL^4/100D)): %.4f\n',w_mx/(q0*L^4/100/Dm)); disp(str) % compute moments at edges Moment_edge= []; for iedge=1:size(edges,1) [index,BbL]= BmatPlate_ES3_MITC3P(edges(iedge,:),gcoord,nodes,area_Ecell(iedge)); % extract displacements associated with (iel)-th element edDisp= displ(index); % compute moments of an edge edM= matmtpb*BbL*edDisp; Moment_edge= [Moment_edge edM]; end Moment_edge; % compute moments at elements Moment= []; for iel=1:nel nd= nodes(iel,:); % extract connected node for (iel)-th element eM= zeros(3,1); for j=1:3 % loop over edges of an element if j~=3 nod_i= nd(j); nod_j= nd(j+1); else nod_i= nd(3); nod_j= nd(1); end if nod_i > nod_j tmp= nod_i; nod_i= nod_j; 62 nod_j= tmp; end for iedge=1:size(edges,1) if nod_i==edges(iedge,1) && nod_j==edges(iedge,2) eM= eM + Moment_edge(:,iedge); break; end end end Moment= [Moment eM/3]; end Moment; % compute moments at nodes Moment_node= []; for inode= 1:nnode % loop for all nodes nodeM= zeros(size(Moment,1),1); count= 0; for iedge=1:size(edges,1) if inode==edges(iedge,1) || inode==edges(iedge,2) nodeM= nodeM + Moment_edge(:,iedge); count= count + 1; end end nodeM= nodeM/count; Moment_node= [Moment_node nodeM]; end disp('Maximum Mx at node') Mx_mx= Moment_node(1,cen_node) % maximum Mx moment at the centre str= sprintf('Normalized Mx moment at the centre (Mc/(qL^2/10)): %.4f',Mx_mx/(q0*L^2/10)); disp(str) 63 S K L 0

Ngày đăng: 03/07/2023, 17:29

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w