1. Trang chủ
  2. » Tất cả

231-Article Text-793-4-10-20220928.Pdf

9 0 0

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

THÔNG TIN TÀI LIỆU

Nội dung

Section on Special Construction Engineering N 03/Journal of Science and Technique N 204 (12 2019) Le Quy Don Technical University 36 NGHIÊN CỨU THUẬT TOÁN ĐÁNH LẠI SỐ NÚT KHI GIẢI BÀI TOÁN KHUNG KHÔNG[.]

Edited with the trial version of Foxit Advanced PDF Editor To remove this notice, visit: www.foxitsoftware.com/shopping Section on Special Construction Engineering - N.03/Journal of Science and Technique - N.204 (12-2019) - Le Quy Don Technical University NGHIÊN CỨU THUẬT TOÁN ĐÁNH LẠI SỐ NÚT KHI GIẢI BÀI TỐN KHUNG KHƠNG GIAN BẰNG PHẦN MỀM PHẦN TỬ HỮU HẠN Trần Nhất Dũng* Học viện KTQS Tóm tắt Bài báo đề cập đến vấn đề xây dựng thuật toán đánh lại số nút giải tốn khung khơng gian phần mềm phần tử hữu hạn nhằm đạt tốc độ tính tốn cao giảm nhẹ địi hỏi nhớ tính tốn tốn kết cấu có số bậc tự lớn Với cách đánh số này, thời gian tính tốn giảm hàng chục chí hàng trăm lần, kích thước mảng ma trận mà giảm nhiều lần khiến cho tốn lớn giải máy tính cá nhân thơng thường Từ khóa: Đánh lại số nút; ma trận độ cứng; kết cấu khung; phần tử hữu hạn Vấn đề thời gian tính tốn tốn kết cấu cơng trình Khi xây dựng chương trình tính toán kết cấu phương pháp phần tử hữu hạn lập trình viên thường gặp trở ngại lớn vấn đề tốc độ tính tốn Với tốn nhỏ vừa, người ta thường khơng cảm thấy chờ đợi đáng kể nhiên số lượng nút lên đến hàng ngàn hàng chục ngàn hệ phương trình đại số tuyến tính [K].{d} = {Q} toán kết cấu phẳng khoảng 3000 phương trình; kết cấu khơng gian khoảng 6000 phương trình Khi đó, thời gian tính tốn bắt đầu gây cảm giác khó chịu cho người sử dụng Điều trở nên rõ rệt phải giải toán động lực học với số lượng bước thời gian tính tốn lớn lúc hệ phương trình đại số tuyến tính phải giải lại nhiều lần thời gian tính tốn mà tăng lên đáng kể, đơi cịn vượt q khả chờ đợi người sử dụng, chí khơng thể giải [1, 8] Vấn đề cấp phát nhớ giải tốn kết cấu cơng trình Cùng với việc chiếm dụng nhiều thời gian tính tốn giải tốn động, cịn việc chiếm dụng nhớ mảng số liệu Khi gặp toán lớn, mảng ma trận độ cứng, ma trận khối lượng, ma trận cản, ma trận chuyển vị động, ma trận gia tốc, có kích thước lớn Ví dụ, hệ khung khơng gian có 1000 nút tương ứng nút có bậc tự do, mảng ma trận độ cứng chưa qua xử lý có kích thước là: * Email: trannhatdung01@gmail.com 36 https://doi.org/10.56651/lqdtu.jst.v2.n02.231.sce Chun san Kỹ thuật Cơng trình đặc biệt - Số 03/Tạp chí Khoa học & Kỹ thuật - Số 204 (12-2019) - Học viện KTQS 60006000 = 36.000.000 phần tử, phần tử số thực 64 bits (8 bytes), kích thước đầy đủ ma trận [K] là: 600060008 = 288.000.000 bytes (288 MB) Tuy nhiên, có nhiều phần tử ma trận [K] có trị số Chỉ có phần tử đường chéo số phần tử lân cận có trị số khác Bên cạnh đó, ma trận lại có tính đối xứng, điều cho thấy giảm bớt đáng kể kích thước ma trận độ cứng việc lưu trữ nửa (trên dưới) phần tử đường chéo, không thiết phải lưu trữ toàn phần tử thuộc nửa hay nửa ma trận mà cần lưu trữ phần tử có trị số khác Cho đến nay, phần mềm phần tử hữu hạn thường sử dụng hai cách lưu trữ sau: 2.1 Lưu trữ ma trận dạng chiều rộng nửa dải Cách lưu trữ kiểm tra để tìm hàng ma trận có số phần tử khác lớn Khi ma trận [K] chuyển từ ma trận vuông nn thành ma trận chữ nhật nnw nw gọi chiều rộng nửa dải ma trận độ cứng (Hình 1) [3]    0 0 0 0 0      0 0 0 0      0 0 0 0      0 0 0     0 0 0      0 0  n      0      0 0  S Y M    0                   n Ghi  - phần tử có trị số  0 - phần tử có trị số = nw - chiểu rộng nửa dải n - tổng số phương trình nw Hình Lưu trữ ma trận dạng chiều rộng nửa dải Chiều rộng nửa dải nw xác định từ sai lệch cực đại tên nút J nút I tất phần tử thuộc tốn khung khơng gian, cụ thể là: nw = (Max IJ + 1)  NED đó: Max IJ - sai lệch lớn tên nút I J phần tử, xét cho phần tử thuộc toán xét; NED - số bậc tự 01 nút: Bài tốn phẳng NED = 3; tốn khơng gian NED = 37 Section on Special Construction Engineering - N.03/Journal of Science and Technique - N.204 (12-2019) - Le Quy Don Technical University 2.2 Lưu trữ mảng số liệu dạng ma trận cưa (SKYLINE) Tư tưởng chung phương pháp lưu trữ biến ma trận vuông (mảng chiều) thành ma trận cột (vectơ) Nghĩa phần tử ma trận vng có trị số khác lưu trữ liên tiếp ma trận cột, để quản lý việc truy xuất số liệu ta phải sử dụng vài mảng phụ để ánh xạ vị trí phần tử ma trận cột sang ma trận vuông ngược lại Lúc ma trận vng lưu trữ dạng ma trận cột minh họa sau (Hình 2) [3, 8]: Hình Minh họa lưu trữ ma trận dạng cưa (Skyline) Đánh lại số nút để giảm kích thước ma trận [K] 19 20 10 11 21 12 a) b) 13 23 14 24 15 25 16 26 17 27 18 15 18 21 24 27 nw = ((11-1) + 1)  = 66 22 12 11 10 14 13 17 16 20 19 23 22 26 25 nw = ((5 - 1) + 1)  = 30 Hình Hai cách đánh số nút toán cho hai trị số nw khác Như trình bày trên, kích thước ma trận [K] lưu trữ theo dạng chiều rộng nửa dải phụ thuộc nhiều vào tham số nw, cách lưu trữ theo dạng cưa phụ thuộc vào chiều cao cột ma trận [K] Song độ lớn tham số nw lẫn 38 Chun san Kỹ thuật Cơng trình đặc biệt - Số 03/Tạp chí Khoa học & Kỹ thuật - Số 204 (12-2019) - Học viện KTQS chiều cao cột cách lưu trữ dạng cưa phụ thuộc vào cách đánh số nút người sử dụng lên sơ đồ tính nhập số liệu Lấy ví dụ tốn kết cấu hình a) Đánh số nút theo kiểu tuần tự: nw = 768; kích thước [K] = 1.759.656 byte b) Đánh lại số nút phần mềm: nw = 54; kích thước ma trận [K] = 292.872 byte Hình Hai cách đánh số nút toán Minh họa hình hình cho thấy, cách đánh số biểu diễn hình 3b 4b có lợi cho việc tính tốn cách đánh số biểu diễn hình 3a, 4a Khi chiều rộng nửa dải ma trận độ cứng theo cách đánh số hình 3b, 4b nhỏ so với cách đánh số hình 3a, 4a; Kích thước ma trận độ cứng lưu trữ theo dạng nửa dải dạng skyline giảm đáng kể Minh họa hình hình cho thấy: Với tốn khung hình gồm 27 nút, người sử dụng dễ dàng chọn đánh số lại cho nút cho nw nhỏ Nhưng với ví dụ hình 4, tốn có 149 nút (vẫn tốn nhỏ), kết cấu 3D, việc yêu cầu người sử dụng phải đánh số cho nw nhỏ nhất, 39 Section on Special Construction Engineering - N.03/Journal of Science and Technique - N.204 (12-2019) - Le Quy Don Technical University khó khơng nói khơng thể Số liệu đánh lại số nút hình 4b, phần mềm thực hiện, nên hiệu đánh số lại lớn nhiều so với tốn khung hình Các minh họa nhận xét cho thấy nhập số liệu nút phần tử biết lựa chọn cách đánh số nút cách hợp lý có lợi cho tính toán lưu trữ mảng số liệu Tuy nhiên, việc buộc người sử dụng phải tự lựa chọn cách đánh số nút hợp lý không thực tế 02 lý sau: - Với toán lớn người sử dụng phải tự chọn cách đánh số nút hợp lý dễ dẫn đến nhầm lẫn người ln có thói quen đánh số theo quy luật định (hàng dọc hàng ngang ), mà cách đánh số thơng thường lại bất lợi cho việc tính tốn lưu trữ ma trận - Với toán kết cấu không gian lớn, số lượng nút lên đến hàng ngàn, người tự nhận biết đâu cách đánh số nút hiệu Do vậy, việc tối ưu hoá đánh số nút cần thực cách tự động Thuật toán sau sử dụng để đáp ứng điều Thuật tốn không phụ thuộc vào cách đánh số ban đầu người sử dụng không làm xáo trộn phần số liệu kết hiển thị toán Với việc tối ưu hoá đánh số nút thời gian thực thi chương trình giảm từ vài chục đến hàng trăm lần (tuỳ thuộc vào toán cụ thể) Nội dung thuật tốn đánh lại số nút mơ tả sau: - Khai báo mảng phụ để tham chiếu từ tên nút “ban đầu” (do người sử dụng định nghĩa thuật toán tự sinh) sang tên nút tính tốn (do chương trình quản lý) Các mảng phụ đảm bảo cho việc truy xuất số liệu tọa độ nút, thuộc tính nút, tải trọng nút, bảo tồn mà khơng phải sửa đổi số liệu mảng mô tả khác (mảng số liệu phần tử, mảng số liệu tải trọng, mảng số liệu tọa độ nút, mảng số liệu điều kiện biên ) - Xuất phát từ nút (nút 1) số liệu “gốc”, đặt tên 1, đặt số bắt đầu nStart=1 Thực chu trình đánh số lại theo sơ đồ khối hình - Tính tốn chiều rộng nửa dải nwo (khi chưa đánh số lại) nw1 (cho trường hợp đánh số lại từ nút 1) So sánh trị số nwo nw1 nw1 < nwo , nghĩa cách đánh số lần hiệu lần đánh số trước nên ta lưu lại mảng nID[ ] thuật toán đánh số giá trị nw1 làm giá trị dự kiến tối ưu (nw = nw1 RealID[ ] = nID[ ]) - Tăng số bắt đầu nStart = nStart + Thực lại chu trình đánh số theo sơ đồ hình Tính tốn lại chiều rộng nửa dải lần đánh số so sánh với giá trị nw chọn từ lần tính toán trước để xác định lại trị số dự kiến tối ưu nw RealID[ ] - Tiếp tục tăng trị số nStart = nStart + thực lại cách đánh số so sánh Dừng tính nStart > tổng số nút tính tốn Khi nw RealID[ ] chọn sau n lần phương án đánh số nút giá trị nhỏ cách đánh số làm 40 Chuyên san Kỹ thuật Cơng trình đặc biệt - Số 03/Tạp chí Khoa học & Kỹ thuật - Số 204 (12-2019) - Học viện KTQS Với cách đánh số lại nw RealID[ ] chọn phương án đánh số nút hợp lý nhất, cho kết kích thước ma trận độ cứng [K] nhỏ số phương án đánh số Sơ đồ khối thuật toán đánh số lại thể hình Bắt đầu - Gán trị số ban đầu cho biến tham chiếu (mảng nID[ ], nStart = 1, bUse[ ] …); - Tính chiều rộng nửa dải nw0 toán - Đặt i=1; nw=nw0; RealID[ ]=nID; nContinue=1; Đếm xem có phần tử nối đến nút i Đánh số lại nút i, số nút phần tử có chung nút i (các nút i+1  i+n) - Kiểm tra nút từ i+1 đến i+n, đếm xem có phần tử chưa đánh số mà có nối đến i+1 i+n khơng? Nếu có đánh số tiếp i+n+1  i+n+m… - Tính chiều rộng nửa dải nwi lần đánh số thứ i - Giữ lại giá trị đánh số lượt tính - Đặt nw=nwi - RealID[ ]=nID - Đánh dấu lượt tính: nContinue (nwi < nw) ? sai nContinue=nContinue+1 (nContinue >TS nút)? sai Kết thúc Hình Sơ đồ khối thuật toán đánh lại số nút Thuật tốn đánh số lại đây, lập trình tích hợp vào hàm cơng cụ (Function) phần mềm chuyên dụng mang tên Vn3DPro Bài báo sử dụng phần mềm (xem giao diện hình 6), để thử nghiệm số đánh giá hiệu đánh số lại cho toán nhà khung tầng (cao 29,2m) Khung nhà thể phần tử 3D; sàn tầng thể phần tử 04 nút Sau nhập phát sinh số liệu, tốn có: 1551 nút tính tốn; 1880 phần tử 3D; 1104 phần tử 04 nút Dạng hình học sơ đồ nút, sơ đồ phần tử toán thử nghiệm thể hình 41 Section on Special Construction Engineering - N.03/Journal of Science and Technique - N.204 (12-2019) - Le Quy Don Technical University Hình Bài tốn thử nghiệm phần mềm VN3DPro Sử dụng Vn3DPro, thực 02 nội dung tính tốn (tính nội lực; tính tần số, dạng dao động riêng), 02 trường hợp: không đánh số lại có đánh số lại Các kết đánh giá thống kê cho 02 trường hợp tính thể hình Kết cho thấy 02 trường hợp (có đánh số lại không đánh số lại), nội lực, ứng suất chuyển vị hai trường hợp tính hồn tồn trùng khớp (nghĩa việc đánh số lại không làm ảnh hướng sai lệch đến kết tính tốn kết cấu tốn) Do khn khổ báo nên nội dung so sánh kết nội lực, chuyển vị… khơng thể trình bày chi tiết Bài báo tập trung phân tích, đánh giá hiệu 02 trường hợp tính, với việc có khơng đánh lại số nút cho tốn khảo sát a) Phương án không đánh số lại b) Phương án có đánh số lại Hình Hiệu phương án có đánh số lại so với khơng đánh số lại 42 Chun san Kỹ thuật Cơng trình đặc biệt - Số 03/Tạp chí Khoa học & Kỹ thuật - Số 204 (12-2019) - Học viện KTQS Nhận xét: Khi có đánh số lại chiều rộng nửa dải nw giảm từ 4920 xuống 864 (5,81 lần); kích thước ma trận độ cứng (lưu trữ dạng Skyline) từ 125.937.192 byte giảm xuống 35.175.432 byte (3,58 lần) Thời gian tính tốn nội lực có đánh số lại giảm từ 24 giây xuống cịn 06 giây (giảm 04 lần); thời gian tính tốn tần số dao động riêng giảm từ 36 giây xuống 08 giây (4,5 lần) Kết luận Việc đánh lại số nút để giảm thời gian tính tốn giảm kích thước chiếm dụng nhớ máy tính, cần thiết khả thi Thuật toán đánh lại số nút báo đề xuất tường minh lập trình Đối với tốn nhỏ vừa lợi ích việc đánh số lại khơng rõ rệt nhiên với toán lớn, số lượng nút tăng cao, kích thước ma trận độ cứng [K], ma trận khối lượng [M], ma trận cản [C],… lên đến hàng chục hàng trăm MB việc đánh lại số nút thực phát huy tỏ rõ hiệu Các thử nghiệm số mà báo trình bày cho thấy, việc đánh lại số nút, góp phần làm giảm thời gian tính tốn từ vài lần, đến hàng chục lần Bài tốn thử nghiệm lớn hiệu đánh lại số nút rõ rệt Tài liệu tham khảo Nguyễn Quốc Bảo, Trần Nhất Dũng (2012) Phương pháp phần tử hữu hạn, lý thuyết lập trình, tập 1, Nxb Khoa học Kỹ thuật Bộ Xây dựng TCVN 2737 - 1995: Tải trọng tác động tiêu chuẩn thiết kế Nxb Xây dựng Trần Nhất Dũng (1999) Tối ưu hoá đánh số nút với việc giải tốn động lực học cơng trình phương pháp phần tử hữu hạn Tạp chí Khoa học Kỹ thuật, số 87(II-1999), Học viện KTQS Chu Quốc Thắng (1997) Phương pháp phần tử hữu hạn Nxb Khoa học Kỹ thuật Lều Thọ Trình (1997) Ổn định động lực cơng trình Nxb Hà Nội Đỗ Sanh, Nguyễn Văn Vượng (1997) Cơ học ứng dụng Nxb Hà Nội Robert Sedgewick (1996) Cẩm nang thuật toán Nxb Hà Nội C S Krishnamoorthy (1995) Finite Element Analysis - Theory and Programming New Delhi K Bathe, E Wilson (1976) Numerical Methods in Finite Element Analysis New Jersey 10 David J Kruglinski (1995) Inside Visual C++ Microsoft Press 43 Section on Special Construction Engineering - N.03/Journal of Science and Technique - N.204 (12-2019) - Le Quy Don Technical University RESEARCHING ALGORITHM FOR REDEFINING NODE NUMBER TO SOLVE 3D FRAMES BY FINITE ELEMENT SOFTWARE Abstract: The paper builds an algorithm to redefine the number of nodes when solving the dimension frames problem by using finite element software to achieve high computing speed and mitigate memory requirements in the case of calculating large structural problems With this numbering, the calculation time of those problems can be reduced by dozens or hundreds of times, the size of matrix arrays also reduces many times so that large problems can still be solved on the PC Keywords: Redefine node number; frame structure; finite element method Ngày nhận bài: 15/11/2019; Ngày nhận sửa lần cuối: 15/12/2019; Ngày duyệt đăng: 24/12/2019  44

Ngày đăng: 16/02/2023, 17:15