Mình thấy nhu cầu tính toán các kết cấu với mô hình có độ phức tạp lớn (kích thước, phi tuyến, động,...) ngày càng nhiều. Mình đã tính cho một số cấu kiện cục bộ mà ngốn nhiều thời gian uống cà phê và đợi quá. Hiện tại, chương trình do mình viết cũng gặp một vấn đề là thời gian tính toán khá lâu.
Tính kết cấu theo phương pháp phần tử hữu hạn, thời gian tính toán tập trung nhiều nhất vào việc thành lập ma trận độ cứng, giải hệ phương trình, và tính toán ứng suất. Để giải hệ phương trình thì có nhiều phương pháp khác nhau, có thể chia ra là nhóm các phương pháp giải trực tiếp hoặc lặp. Các phương pháp giải dựa vào đặc điểm của ma trận cũng được phát triển như tính toán ma trận thưa, băng, skyline, multifrontal,... Mỗi phương pháp đều có những ưu nhược điểm, ví dụ: nhóm phương pháp khử trực tiếp cho kết quả tính rất chính xác, còn nhóm phương pháp lặp thì phụ thuộc vào sự hội tụ của trường hợp giải tuy nhiên lại thuận tiện cho việc lưu trữ. Trong trường hợp tổng quát khó có thể khẳng định là phương pháp nào nhanh hơn phương pháp nào. Nếu kết cấu có độ phức tạp rất lớn, phương pháp lặp hiệu quả hơn. Do vậy, thường các chương trình tính sử cả hai nhóm phương pháp này.
Tôi đang nghĩ một giải pháp (mà thế giới đã làm từ lâu rồi) là tính toán song song. Và mong muốn áp dụng cho bài toán phân tích phần tử hữu hạn. Mô hình tôi thấy thích hợp nhất là client/server. Một cụm máy (cluster) rất dễ thiết lập ở Việt nam hiện nay, hơn là các supercomputer hay workstation. Để thực hiện việc lập trình, thường sử dụng các thư viện MPI (Message Passing Interface) hoặc PVM (Parallel Virtual Machines). Hiện tại, vì tôi đang dùng Delphi nên thư viện hỗ trợ cho Delphi rất ít, tôi tạm dùng cách lập trình qua socket (là cấp rất thấp của lập trình tính toán song song) để thử test việc tính toán hệ thống. Cũng có một số kết quả, và tôi đang tích vào hệ thống phân tích phần tử hữu hạn của mình. Tuy nhiên, còn rất nhiều vấn đề về mạng và hệ thống.
Có bác nào biết về món này không? Rất mong trao đổi với bà con.
Tính kết cấu theo phương pháp phần tử hữu hạn, thời gian tính toán tập trung nhiều nhất vào việc thành lập ma trận độ cứng, giải hệ phương trình, và tính toán ứng suất. Để giải hệ phương trình thì có nhiều phương pháp khác nhau, có thể chia ra là nhóm các phương pháp giải trực tiếp hoặc lặp. Các phương pháp giải dựa vào đặc điểm của ma trận cũng được phát triển như tính toán ma trận thưa, băng, skyline, multifrontal,... Mỗi phương pháp đều có những ưu nhược điểm, ví dụ: nhóm phương pháp khử trực tiếp cho kết quả tính rất chính xác, còn nhóm phương pháp lặp thì phụ thuộc vào sự hội tụ của trường hợp giải tuy nhiên lại thuận tiện cho việc lưu trữ. Trong trường hợp tổng quát khó có thể khẳng định là phương pháp nào nhanh hơn phương pháp nào. Nếu kết cấu có độ phức tạp rất lớn, phương pháp lặp hiệu quả hơn. Do vậy, thường các chương trình tính sử cả hai nhóm phương pháp này.
Tôi đang nghĩ một giải pháp (mà thế giới đã làm từ lâu rồi) là tính toán song song. Và mong muốn áp dụng cho bài toán phân tích phần tử hữu hạn. Mô hình tôi thấy thích hợp nhất là client/server. Một cụm máy (cluster) rất dễ thiết lập ở Việt nam hiện nay, hơn là các supercomputer hay workstation. Để thực hiện việc lập trình, thường sử dụng các thư viện MPI (Message Passing Interface) hoặc PVM (Parallel Virtual Machines). Hiện tại, vì tôi đang dùng Delphi nên thư viện hỗ trợ cho Delphi rất ít, tôi tạm dùng cách lập trình qua socket (là cấp rất thấp của lập trình tính toán song song) để thử test việc tính toán hệ thống. Cũng có một số kết quả, và tôi đang tích vào hệ thống phân tích phần tử hữu hạn của mình. Tuy nhiên, còn rất nhiều vấn đề về mạng và hệ thống.
Có bác nào biết về món này không? Rất mong trao đổi với bà con.
Ghi chú