Bài viết Thiết kế phần mềm tính toán nội lực khung phẳng theo phương pháp phần tử hữu hạn bằng ngôn ngữ lập trình matlab và ứng dụng Matlab GUI trình bày kết quả nghiên cứu sử dụng ngôn ngữ lập trình Matlab và ứng dụng của Matlab GUI trên cơ sở phương pháp phần tử hữu hạn để xây dựng phần mềm tính toán nội lực khung phẳng.
Đỗ Lê Bình, Nguyễn Thiện Nhân 54 THIẾT KẾ PHẦN MỀM TÍNH TỐN NỘI LỰC KHUNG PHẲNG THEO PHƯƠNG PHÁP PHẦN TỬ HỮU HẠN BẰNG NGƠN NGỮ LẬP TRÌNH MATLAB VÀ ỨNG DỤNG MATLAB GUI DESIGN SOFTWARE FOR STRUCTURAL ANALYSIS OF 2D FRAMES BY FINITE ELEMENT METHOD USING MATLAB PROGRAMMING LANGUAGE AND MATLAB GUI APPLICATION Đỗ Lê Bình, Nguyễn Thiện Nhân* Trường Đại học Kiên Giang1 *Tác giả liên hệ: ntnhan@vnkgu.edu.vn (Nhận bài: 20/2/2022; Chấp nhận đăng: 31/5/2022) Tóm tắt - Tính tốn nội lực kết cấu dạng khung toán thường gặp lĩnh vực xây dựng Bài báo trình bày kết nghiên cứu sử dụng ngơn ngữ lập trình Matlab ứng dụng Matlab GUI sở phương pháp phần tử hữu hạn để xây dựng phần mềm tính tốn nội lực khung phẳng Phương trình phần tử xây dựng theo lý thuyết biến dạng cắt bậc cao nguyên lý công ảo Ảnh hưởng biến dạng cắt đến chuyển vị nội lực khung phân tích, so sánh với phần mềm SAP2000, Engilab Frame.2D nghiên cứu trước Các giao diện nhập liệu xuất kết phần mềm thiết kế đơn giản, tiện dụng Phần mềm thiết kế nghiên cứu ứng dụng giảng dạy học phần học kết cấu cho sinh viên xây dựng, cơng cụ có ích cho tính tốn nội lực khung lĩnh vực xây dựng Abstract - Analysis forces of frame structures is a common problem in the field of construction This paper presents research results by using Matlab programming language and Matlab GUI application based on the basis of finite element method to build flat frame internal force calculation software The element equations are built according to the theory of high-order shear strain and the principle of virtual work The influence of shear strain on displacement and internal force of the frame was analyzed, compared with SAP2000, Engilab Frame.2D software and previous studies The input and output interfaces of the software are designed to be simple and convenient The software designed in this study can be applied in teaching structural mechanics to construction students, as well as a useful tool for calculating internal forces of frames in the field of construction Từ khóa - Nội lực kết cấu khung; phương pháp phần tử hữu hạn; GUI Matlab; học kết cấu Key words - Internal force of frame structures; finite element method; Matlab GUI; structural mechanics Đặt vấn đề Tính tốn nội lực kết cấu dạng khung toán thường gặp ngành xây dựng, nhiên việc tính tốn phức tạp kết cấu khung siêu tĩnh Phương pháp chuyển vị phương pháp lực thường sử dụng phân tích nội lực khung siêu tĩnh Tuy nhiên, việc sử dụng phương pháp thuận lợi giải cho khung siêu tĩnh với bậc siêu tĩnh thấp gặp khó khăn khung siêu tĩnh bậc cao, thiết kế thuật toán để giải nhiều toán khung nhiều tầng, nhiều nhịp khác Phương pháp phần tử hữu hạn (PTHH) giải pháp cho tính tốn tốn khung siêu tĩnh, bắt nguồn từ yêu cầu giải tốn phức tạp lý thuyết đàn hồi, phân tích kết cấu xây dựng kỹ thuật hàng không Bản chất phương pháp chia miền liên tục thành miền con, miền gọi phần tử Việc giải toán phần tử, sau lắp ghép lại thành tốn tổng thể tìm thơng số cần thiết Hiện nay, có nhiều phần mềm hỗ trợ xây dựng thuật toán cho phương pháp PTHH C++, Fortran… Tuy nhiên, Mathlab phần mềm phổ biến đa dụng để triển khai phương pháp phần tử hữu hạn [1] Ngoài ra, Matlab GUI (Graphical User Interface) ứng dụng môi trường Matlab có hỗ trợ đầy đủ tính giao diện đồ họa tương tự ngôn ngữ lập trình khác Windows [2] nhiều tác giả quan tâm [3], [4] để thiết kế chương trình ứng dụng Đã có nhiều cơng trình nghiên cứu sử dụng phương pháp PTHH cho toán kết cấu khác Cụ thể tốn tính tốn khung phẳng vòm cong phương pháp phần tử rời rạc biến thể [5]; Bài tốn tìm nội lực hệ khung vòm tròn theo phương pháp PTHH [6],… Tuy nhiên, nghiên cứu giải dạng toán khung cụ thể mà chưa thiết kế thành chương trình tính tốn tự động hóa phần mềm để giải tốn khung siêu tĩnh có bậc siêu tĩnh khác Một số cơng trình nghiên cứu theo hướng xây dựng phần mềm để giải toán chuyên ngành xây dựng nghiên cứu [7] xây dựng phần mềm tính tốn khả chịu lực cấu kiện bêtơng cốt thép chịu nén lệch tậm xiên có tiết diện theo TCVN 5574:2018; Xây dựng mô hình quy đổi cho phần tử có tiết diện biến dạng thay đổi phương pháp phần tử hữu hạn [8]; Xây dựng phần mềm để phân tích cấu trúc 2D khung [3], phân tích khung phi tuyến [9], để ứng dụng giảng dạy [4] Bài báo trình bày kết nghiên cứu sử dụng ngơn ngữ lập trình Matlab ứng dụng Matlab GUI sở lý thuyết phương pháp PTHH với phần tử khung xây dựng theo lý thuyết biến dạng cắt bậc cao để xây dựng phần mềm giải nội lực khung phẳng nhiều tầng, nhiều Kien Giang University (Do Le Bình, Nguyen Thien Nhan) ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ - ĐẠI HỌC ĐÀ NẴNG, VOL 20, NO 7, 2022 nhịp khác với liệu nhập từ người sử dụng truy xuất kết dạng biểu đồ bảng tính Các kết tính tốn phần mềm báo so sánh với phần mềm SAP2000 [10], phần mềm Engilab Frame.2D [12] nghiên cứu trước Với ( N , M b , M s ) = h/ 55 x (1, y, f ) dy (6) −h/ h/ Q= f, y xy dy (7) −h/ 2 Cơ sở lý thuyết 2.1 Lý thuyết biến dạng cắt bậc cao Kích thước hình học phần tử khung hệ tọa địa phương cho (Hình 1) Trường chuyển vị lý thuyết biến dạng cắt bậc cao theo [11] viết sau: u( x, y) = u0 ( x) − yw0, x ( x) + f ( y)0 (x) (1a) w( x, y ) = w0 ( x) (1b) Trong đó: u0 (x),w0 (x) chuyển vị dọc trục chuyển vị ngang, f ( y ) hàm biến dạng cắt theo chiều cao dầm định nghĩa sau: f ( y ) = cho lý thuyết dầm Euler-Bernoulli (EBT) Với N , M b , M s , Q thành phần lực dọc, mômen uốn, mômen cắt lực cắt phần tử khung Thay phương trình (3a), (3b) vào (6), (7) thu N Mb M s = Du0, x − w0, xx 0, x = Dλ T T D11 Với lý thuyết HOBT: D = D12 D13 D11 Với lý thuyết EBT: D = D12 D12 D22 D23 D13 D23 D33 (8) (9a) D12 D22 (9b) Trong f ( y ) = y cho lý thuyết dầm Timoshenko (FOBT) h/ ( D11 , D12 , D22 ) = 5 y3 f ( y ) = y − cho lý thuyết dầm bậc cao (HOBT) 3h E(1, y, y )dy (10) E(f , yf , f )dy (11) −h/ h/ ( D13 , D23 , D33 ) = Trong nghiên cứu khảo sát với lý thuyết HOBT −h/ h/ D44 = f, 2y Gdy (12) −h/ Cơng ảo tải trọng ngồi ˆ (13) V = − ( qx u0 + q y w0 + mz w0, x )dV = − fdV V Tổng công ảo phần tử viết dạng U + V = Hình Sơ đồ hình học phần tử dầm Trường biến dạng dầm có dạng sau: u x = = u0, x − zw0, xx + f 0, x x xy = u w + = f, y0 y x (2a) (2b) Trong đó, x biến dạng dọc trục, xy biến dạng cắt dầm Trường ứng suất: x = E x ; xy = G xy (3a), (3b) E môđun đàn 2(1 + ) hồi trượt, hệ số Poission vật liệu đồng đẳng hướng Công ảo nội lực Với E môđun đàn hồi, G = U = ( x x + xy xy ) dV V (14) Thay phương trình (5)(13) vào phương trình (14) thu L L 0 T ˆ =0 ( D + 0 D440 )dx − fdx (15) 2.2 Lý thuyết phương pháp phần tử hữu hạn Bài toán khung phẳng phẳng gồm phần tử dầm, cột liên kết cứng với Các phần tử gọi chung phần tử khung (Hình 2) Mỗi phần tử khung gồm nút chia nhỏ thành nhiều phần tử để tăng độ xác tốn (4) V Thay phương trình (2a), (2b) vào phương trình (4) thu L U = ( N u0, x − M b w0, xx + M s0, x + Q0 ) dx (5) a) Hệ tọa độ địa phương; b) hệ tọa độ tồn cục Hình Hệ tọa độ chuyển vị nút phần tử khung Quy định chiều dương tải trọng chiều dương chuyển vị (Hình 2) Đỡ Lê Bình, Ngũn Thiện Nhân 56 Các chuyển vị (u0 , w0 , 0 ) phương trình (1) xấp xỉ sau: u0 ( x) = ( x)u1 + ( x)u2 (16) w0 ( x) = 1w1 + 2 w1, x + 3 w2 + 4 w2, x (17) 0 ( x) = ( x)1 + ( x)2 (18) Trong đó, , hàm nội suy nội suy Hermite Như vectơ chuyển vị nút phần tử khung nút có dạng sau: HOBT: Δ = {u1 , w1 , w1, x , 1 , u2 , w2 , w2 x , 2 }T (19a) EBT: Δ = {u1 , w1 , w1, x , u2 , w2 , w2 x }T (19b) Phương trình (16), (17), (18) viết lại sau: T u0 ( x) w ( x) 0 ( x) = [N u N w N ]T Δ Trong đó: Nu = 0 Nw = 0 1 2 0 3 4 (20) 0 0 (21) 0 (22) N = 0 0 0 (23) Kết hợp phương trình (8) (19) suy λ = u0, x ( x) − w 0, xx ( x) 0, x ( x) = Ne Δ T Ne = Nu , x Với −N w, xx N , x (24) T (25) tồn hệ là: (30) Kd = F Giải phương trình (30) tìm chuyển vị nút, để tìm giá trị nút nội lực phần tử cần tiến hành tách phần tử đưa hệ tọa độ địa phương theo quan hệ (27), từ tìm phương trình chuyển vị theo phương trình (24) nội lực theo phương trình (8) Tuy nhiên, việc xấp xỉ trường chuyển vị phương trình (16), (17), (18) thấy, chuyển vị w0 ( x ) xấp xỉ hàm bậc nên thay vào phương trình mơmen (8), M cịn hàm bậc Điều không phần tử chịu tải trọng phân bố q Để khắc phục điều cần sử dụng nguyên lý cộng tác dụng sau: Lấy giá trị M ( x), Q ( x ) tìm từ phương trình (8) cộng với phương trình M (x), Q0 (x) dầm đầu ngàm chịu tải phân bố q theo phương trình (31), (32) để tìm lời giải M ( x) = −qx qLx qL2 + − 2 12 (31) qL (32) 2.3 Lưu đồ thuật toán Từ sở lý thuyết phần tử hữu hạn tốn khung trình bày bên trên, thuật tốn tìm nội lực chuyển vị cài đặt ngơn ngữ lập trình Matlab theo lưu đồ Hình Q0 ( x) = −qx + Thay phương trình (24) vào phương trình (15) thu phương trình phần tử: K e Δ = Fe (26) L Với K e = (NTe DNe + N T D44 N )dx ma trận độ L ˆ vectơ tải trọng phần tử cứng; Fe = fdx Sau tìm ma trận độ cứng vectơ tải trọng, tiến hành chuyển trục hệ tọa độ tồn cục theo phương trình (27) thực lắp ghép ma trận theo số bậc tự phần tử khử điều kiện biên theo nguyên tắc cho (Bảng 1) Phương trình liên hệ tọa độ địa phương tọa độ tồn cục có dạng: Δ = Td (27) Hình Lưu đồ thuật tốn chương trình 2.4 Matlab GUI Với T, d ma trận phương vectơ chuyển vị nút hệ tọa độ toàn cục Từ quan hệ (27) suy phương trình phần tử hệ tọa độ toàn cục là: K G d = FG Với KG = TT Ke T; FG = TT Fe T (28) (29a), (29b) Bảng Khử biên bậc tự thứ i bị ràng buộc Thành phần liên quan Ma trận độ cứng Chuyển vị Tải trọng Thực hiện Xóa hàng i, cột i Xóa hàng i Xóa hàng i Thực lắp ghép ma trận khử điều kiện biên theo nguyên tắc (Bảng 1) thu phương trình chủ đạo Hình Giao diện chức GUI Giao diện người dùng đồ họa (GUI) giao diện người dùng tảng với đối tượng đồ họa nút nhấn, trường văn bản, trượt menu, Môi trường phát triển giao diện người dùng đồ họa tạo GUI tập ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ - ĐẠI HỌC ĐÀ NẴNG, VOL 20, NO 7, 2022 57 tin m-file chứa mã để xử lý việc khởi tạo khởi chạy GUI Để tạo GUI cần phải xếp đối tượng đồ họa cho phù hợp với yêu cầu sử dụng người dùng [2] Các giao diện nhập liệu, kết xuất kết nghiên cứu thiết kế Matlab GUI với chức cần thiết giải tốn khung (Hình 4) Kết quả thảo luận Giao diện chương trình thể chức cho người sử dụng (Hình 5) tương tác với chương trình chức nhập liệu cho phép người dùng nhập số nút, số phần tử, chức vẽ sơ đồ tính, chức tính tốn vẽ nội lực lực dọc, mômen uốn, lực cắt, chức lưu trữ, tải liệu dạng file,… Hình Sơ đồ khung tầng nhịp Bảng Tọa độ nút – tải trọng nút Nút x 6 y 0 4 8 px 0 1 py 0 0 -1 mz 0 0 0 dx 1 0 0 dy 1 0 0 rz 1 0 0 Bảng Phần tử, tải phân bố bậc tự Hình Giao diện phần mềm Để khảo sát độ xác chương trình, phần trình bày kết tính tốn chuyển vị dầm console với 30 phần tử có kích thước hình học (Hình 6) số liệu tính tốn sau: = 0,3; b = 0,05m; h = 0,2m; L = 1m; P = 500kN ; E = 3,8 108 kN / m Kết toán so sánh với Li [11] phần mềm SAP2000 Các số liệu (Bảng 2) cho thấy, sai số chương trình so nghiên cứu khơng đáng kể Hình Kích thước hình học dầm console Bảng Chuyển vị dầm console Lý thuyết khảo sát Chuyển vị w nút (mm) HOBT 13,563 Li[11] 13,564 SAP2000 13,568 Sai số (%) 0,0073 0,0370 Trong ví dụ trình bày kết tính tốn nội lực khung tầng nhịp theo sơ đồ (Hình 7) với số liệu không thứ nguyên sau: h = h0 = 4, a = 6, A = 1, E = 1, q = 1, P = Kết tính tốn với lý thuyết HOBT, EBT phần mềm nghiên cứu so sánh với phần mềm SAP2000, Engilab Frame.2D Đối với toán kết cấu khung rời rạc hóa thành phần tử nút (Bảng 3, 4) Phần tử A 1 1 1 I 1 1 1 E 1 1 1 qx 0 0 0 qy Nút 1Nút Bậc tự 1,2,3,7,8,9 4,5,6,10,11,12 7,8,9,10,11,12 7,8,9,13,14,15 10,11,12,16,17,18 -1 13,14,15,16,17,18 Kết tính tốn nội lực nút khung chương trình thiết kế theo lý thuyết HOBT có sai lệch khơng đáng kể so với kết phần mềm SAP2000 (Hình 8a, b, Hình 9a, b Hình 10a, b) Điều cho thấy, phần mềm SAP2000 phần mềm thiết kế theo phương pháp PTHH có xét đến ảnh hưởng biến dạng cắt Tuy nhiên, sai lệch kết hàm biến dạng cắt chương trình khác với SAP2000 a) Tính tốn theo HOBT; b) Phần mềm SAP2000 c) Tính tốn theo EBT; d) Phần mềm Engilab Frame.2D Hình Biểu đồ mơmen Đỡ Lê Bình, Ngũn Thiện Nhân 58 Khi tính tốn theo lý thuyết EBT kết nội lực hồn tồn trùng khớp với phần mềm Engilab Frame.2D (Hình c, d, Hình c, d Hình 10 c, d) Điều cho thấy phần mềm Engilab Frame.2D tính tốn nội khung không xét đến ảnh hưởng biến dạng cắt a) Tính tốn theo HOBT; b) Phần mềm SAP2000 Kết luận Bằng cách sử dụng ngôn ngữ lập trình Matlab ứng dụng GUI Matlab sở lý thuyết PTHH giải toán khung phẳng siêu tĩnh, báo xây dựng phần mềm tính tốn tự động hóa với giao diện cho người dùng tương tác thuật tốn tính nội lực khung phẳng Kết nghiên cứu thể nội lực tính tốn lực dọc, lực cắt mômen phần tử khung phẳng tầng nhịp phần mềm thiết kế theo phương pháp PTHH với lý thuyết HOBT sai lệch khơng đáng kể so với kết tính tốn phần mềm SAP2000 hoàn toàn trùng khớp với phần mềm Engilab Frame.2D tính theo lý thuyết EBT Kết tương tự cho tính tốn khung siêu tĩnh bậc cao Từ kết luận rằng, thuật tốn phương pháp PHTT nghiên cứu hồn tồn xác nghiên cứu mở rộng cho nhiều toán kết cấu dạng phẳng khác dàn, dầm, ngồi mở rộng để tính tốn tốn khơng gian Kết ứng dụng giảng dạy học phần Cơ học kết cấu cho sinh viên ngành xây dựng, cơng cụ có ích dùng tính tốn kết cấu khung phẳng lĩnh vực xây dựng TÀI LIỆU THAM KHẢO c) Tính tốn theo EBT; d) Phần mềm Engilab Frame.2D Hình Biểu đồ lực cắt a) Tính tốn theo HOBT; b) Phần mềm SAP2000 c) Tính tốn theo EBT; d) Phần mềm Engilab Frame.2D Hình 10 Biểu đồ lực dọc [1] P I Kattan, MATLAB guide to finite elements: an interactive approach: Springer Science & Business Media, 2010 [2] S T Smith, MATLAB: advanced GUI development, Dog ear publishing, 2006 [3] S F Almeida Barretto, R Piazzalunga, and V G Ribeiro, "A web‐ based 2D structural analysis educational software”, Computer Applications in Engineering Education, vol 11, 2003, pp 83-92 [4] J Y Lee and S Y Ahn, "Finite element implementation for computer‐aided education of structural mechanics: Frame analysis”, Computer Applications in Engineering Education, vol 22, 2014, pp 387-409 [5] N C Chí N T H Lương, "Tính tốn khung phẳng phương pháp phần tử rời rạc Biến thể sử dụng mơ hình chuyển vị”, Science & Technology, vol 9, 2005, pp 53-63 [6] K L T Quang, "Phương pháp phần tử hữu hạn tính tốn hệ khung vịm trịn”, Tạp chí Khoa học Trường Đại học Cần Thơ, vol.42, 2016, pp 1-6 [7] T V Tâm, P T Tùng, N T Ninh, P N Vượng, "Xây dựng phần mềm tính tốn khả chịu lực cấu kiện bê tông cốt thép chịu nén lêch tâm xiên có tiết diện theo TCVN 5574: 2018”, Tạp chí Khoa học Cơng nghệ Xây dựng (KHCNXD)-ĐHXDHN, vol 13, 2019, pp 47-57 [8] Trịnh Quang Thịnh L X Quang, "Xây dựng mơ hình quy đổi cho phần tử có tiết diện biến dạng thay đổi phương pháp phần tử hữu hạn”, Tạp chí Khoa học Cơng nghệ - Đại học Đà Nẵng, 05(126), 2018, pp 76-80 [9] Y Harada, "Development of courseware for introduction of nonlinear frame analysis using free scientific software package”, Computer Applications in Engineering Education, vol 12, 2004, pp 224-231 [10] SAP2000, CSI Computers & Structures Inc, Structural and Earthquake engineering software, 2021, [Online] https://www.csiamerica.com/products/sap2000 [11] W Li, W Gao, and S Chen, "A material-based higher-order shear beam model for accurate analyses of FG beams with arbitrary material distribution”, Composite Structures, vol 245, 2020, p.112253 [12] EngiLab PC, EngiLab Frame.2D 2021 Lite v3.5, Structural engineering software solutions, 2022, [Online] https://www.engilab.com/downloads ... cứu thể nội lực tính tốn lực dọc, lực cắt mômen phần tử khung phẳng tầng nhịp phần mềm thiết kế theo phương pháp PTHH với lý thuyết HOBT sai lệch khơng đáng kể so với kết tính tốn phần mềm SAP2000... phần mềm Engilab Frame.2D tính tốn nội khung không xét đến ảnh hưởng biến dạng cắt a) Tính tốn theo HOBT; b) Phần mềm SAP2000 Kết luận Bằng cách sử dụng ngôn ngữ lập trình Matlab ứng dụng GUI. .. tìm giá trị nút nội lực phần tử cần tiến hành tách phần tử đưa hệ tọa độ địa phương theo quan hệ (27), từ tìm phương trình chuyển vị theo phương trình (24) nội lực theo phương trình (8) Tuy nhiên,