Bỏ qua

Bộ giải và tiền điều kiện

Bộ giải tuyến tính của FrontISTR cho phép chọn phương pháp trực tiếp hoặc phương pháp lặp; với phương pháp lặp, tiền điều kiện được kết hợp để giải phương trình tuyến tính. Phương pháp xử lý MPC và khử bậc tự do tiếp xúc là các lựa chọn bổ trợ quyết định cách biểu diễn hệ tuyến tính có ràng buộc đa điểm hoặc ràng buộc tiếp xúc.

Tổng quan chức năng

Bộ giải và tiền điều kiện gồm các lựa chọn sau. Trước hết chọn phương pháp lặp hoặc phương pháp trực tiếp làm bộ giải tuyến tính; chỉ khi chọn phương pháp lặp mới kết hợp tiền điều kiện.

Phân loại Lựa chọn chính Vai trò
Phương pháp lặp CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN Giải ma trận thưa quy mô lớn với hiệu quả bộ nhớ cao.
Tiền điều kiện cho phương pháp lặp SSOR, scaling đường chéo, BILU, AMG, SAINV, RIF Cải thiện hội tụ của phương pháp lặp. Không dùng với phương pháp trực tiếp.
Phương pháp trực tiếp MUMPS, MKL Giải phương trình tuyến tính một cách robust bằng phân rã.
Phương pháp xử lý MPC Phương pháp penalty, MPC-CG, khử bậc tự do tường minh Đưa ràng buộc đa điểm vào hệ tuyến tính.
Khử bậc tự do tiếp xúc Tự động, luôn bật Chuyển cách xử lý các bậc tự do tiếp xúc được thêm bởi tiếp xúc SLAGRANGE.
Chức năng phụ trợ Ước lượng số điều kiện, dump ma trận, xuất log Hỗ trợ gỡ lỗi, kiểm tra hội tụ và đánh giá hiệu năng.

Khi chạy song song, có thể kết hợp song song MPI dựa trên phân hoạch miền với song song luồng OpenMP. Phương pháp lặp là lựa chọn tiêu chuẩn cho phân tích song song quy mô lớn; phương pháp trực tiếp được dùng trong môi trường đã liên kết thư viện khi cần quá trình giải robust hơn.

Cách chọn bộ giải và tiền điều kiện

Trước hết quyết định dùng phương pháp lặp hay trực tiếp; nếu chọn phương pháp lặp, tiếp tục chọn tiền điều kiện.

Tiêu chí Cách lựa chọn khuyến nghị
Quy mô bài toán Ở quy mô nhỏ và trung bình, phương pháp trực tiếp ổn định và dễ sử dụng. Ở quy mô lớn, phương pháp lặp có hiệu quả bộ nhớ tốt hơn.
Tính đối xứng của ma trận Với bài toán đối xứng xác định dương, cân nhắc CG. Với bài toán không đối xứng, cân nhắc BiCGSTAB, GMRES, GPBiCG, v.v.
Môi trường song song Với MPI, kết hợp phương pháp lặp và phân hoạch miền. Với tiền điều kiện dưới OpenMP, cân nhắc SSOR hỗ trợ multi-color.
Tiền điều kiện (khi chọn phương pháp lặp) Trước hết thử SSOR mặc định, sau đó cân nhắc AMG. Khi hội tụ tốt, SSOR có chi phí tính thấp; với bài toán phức tạp và quy mô lớn, tiền điều kiện AMG là lựa chọn phù hợp.
Tiếp xúc và MPC Trong phân tích có tiếp xúc hoặc ràng buộc đa điểm, lựa chọn phương pháp xử lý MPC và khử bậc tự do tiếp xúc ảnh hưởng đến hội tụ và độ robust.
Thư viện bên ngoài MUMPS, MKL và AMG được dùng trong các bản build đã liên kết thư viện tương ứng.

Trong phân tích tiêu chuẩn, các giá trị mặc định của tiêu chí hội tụ, số lần lặp tối đa, hệ số hiệu chỉnh đường chéo của tiền điều kiện, v.v. thường đủ để hoạt động. Chỉ khi hội tụ chậm hoặc phân kỳ mới xem xét lần lượt phương pháp lặp, tiền điều kiện, phương pháp xử lý MPC và khử bậc tự do tiếp xúc. Về giá trị và cú pháp tham số, xem !SOLVER trong tham chiếu từ khóa.

Phương pháp lặp

Phương pháp lặp cập nhật nghiệm bằng cách lặp các phép nhân ma trận-vectơ và tiền điều kiện cho ma trận thưa quy mô lớn. FrontISTR cho phép chọn các phương pháp lặp sau.

Phương pháp lặp Phạm vi áp dụng Ghi chú
CG Bài toán đối xứng xác định dương Lựa chọn tiêu chuẩn cho phân tích kết cấu và dẫn nhiệt.
BiCGSTAB Bài toán không đối xứng Lựa chọn khi tính không đối xứng mạnh do tiếp xúc hoặc ghép.
GMRES Bài toán không đối xứng Sử dụng với kích thước không gian con Krylov được chỉ định.
GPBiCG Bài toán không đối xứng Dùng như một phương pháp cải tiến thuộc họ BiCGSTAB.
GMRESR Bài toán không đối xứng, ứng dụng nâng cao Lựa chọn sử dụng GMRES theo dạng lồng nhau.
GMRESREN Bài toán không đối xứng, ứng dụng nâng cao Phiên bản đệ quy thuộc họ GMRESR.

CG giả thiết ma trận đối xứng xác định dương. Khi tính không đối xứng mạnh do tiếp xúc ma sát, xử lý ràng buộc không đối xứng hoặc hiệu ứng ghép, cân nhắc BiCGSTAB, GMRES, GPBiCG, v.v. Với GMRES, tăng kích thước không gian con Krylov có thể cải thiện hội tụ nhưng đồng thời tăng sử dụng bộ nhớ.

Khi chỉ định METHOD2, có thể chuyển sang phương pháp lặp thay thế nếu CG phân kỳ hoặc thất bại. Đây là cơ chế dự phòng khi dùng CG làm bộ giải chính; các giá trị thiết lập và dòng dữ liệu khác dùng chung với bộ giải chính.

Tiền điều kiện

Tiền điều kiện là quá trình biến đổi ma trận hệ số nhằm cải thiện hội tụ của phương pháp lặp và chỉ được áp dụng khi chọn phương pháp lặp. Phương pháp trực tiếp không dùng tiền điều kiện. Ngay với cùng một phương pháp lặp, lựa chọn tiền điều kiện có thể làm thay đổi lớn số lần lặp đến hội tụ và thời gian tính.

Tiền điều kiện Đặc điểm Phạm vi sử dụng
SSOR Tiền điều kiện tiêu chuẩn. Hỗ trợ sắp thứ tự multi-color. Lựa chọn nên thử đầu tiên; được dùng rộng rãi trong phân tích kết cấu.
Scaling đường chéo Tiền điều kiện nhẹ sử dụng các phần tử đường chéo. Khi muốn giảm chi phí tính toán.
BILU Phân rã LU không đầy đủ theo khối. Lựa chọn cho bài toán khó hội tụ với SSOR.
AMG Đa lưới đại số bằng Trilinos-ML. Lựa chọn cho bài toán quy mô lớn hoặc bài toán bị chi phối bởi các thành phần sai số phân cấp.
SAINV Sparse Approximate Inverse. Lựa chọn tiền điều kiện chuyên biệt cho bài toán tiếp xúc hoặc môi trường phân tán.
RIF Robust Incomplete Factorization. Một lựa chọn khác thuộc nhóm phân rã không đầy đủ.

SSOR là lựa chọn tiêu chuẩn; khi chạy song song OpenMP, sử dụng phiên bản sắp thứ tự multi-color. Scaling đường chéo nhẹ nhưng hiệu quả cải thiện hội tụ phụ thuộc bài toán. BILU được triển khai dưới dạng phân rã LU không đầy đủ theo khối và hỗ trợ cả ma trận với số DOF tổng quát. Với họ BILU, có đường xử lý tự động tăng hệ số hiệu chỉnh đường chéo SIGMA_DIAG và thử lại khi phương pháp lặp phân kỳ; việc chỉ định giá trị được trình bày trong tham chiếu từ khóa.

AMG sử dụng Trilinos-ML nên ML phải được bật khi build. Có thể chỉ định smoother, chu trình multigrid, phương pháp coarsening, v.v.; các giá trị chi tiết được trình bày trong tham chiếu từ khóa. Khi dùng SAINV trong phân tích song song có tiếp xúc hoặc MPC, độ sâu overlap khi phân hoạch miền có thể ảnh hưởng đến hội tụ.

Phương pháp trực tiếp

Phương pháp trực tiếp giải phương trình tuyến tính bằng cách phân rã ma trận hệ số. Do không phụ thuộc số lần lặp, phương pháp này robust và là lựa chọn ổn định cho phân tích có tiếp xúc hoặc điều kiện ràng buộc. Mặt khác, mức sử dụng bộ nhớ tăng khi quy mô bài toán lớn.

Phương pháp trực tiếp Môi trường song song Mục đích
MUMPS Song song MPI Giải ma trận thưa bằng phương pháp trực tiếp trong môi trường bộ nhớ phân tán.
MKL Intel MKL / OpenMP Phương pháp trực tiếp của Intel MKL. Bên trong sử dụng Intel PARDISO. Với nhiều tiến trình MPI, dùng đường xử lý Cluster MKL. DIRECTmkl là alias của MKL.

Phương pháp trực tiếp có thể dùng cho cả ma trận đối xứng và không đối xứng. MUMPSMKL yêu cầu thư viện tương ứng được liên kết khi build. Vì không thể sử dụng trong môi trường thiếu các thư viện này, xem hướng dẫn build về thư viện phụ thuộc cần thiết và tùy chọn CMake.

FrontISTR cũng có đường xử lý phương pháp trực tiếp tích hợp không dùng thư viện bên ngoài, nhưng khi chọn phương pháp trực tiếp cho phân tích thông thường nên cân nhắc MUMPS hoặc MKL.

Tiền điều kiện không được áp dụng cho phương pháp trực tiếp. Ngay cả khi tiền điều kiện được chỉ định bằng !SOLVER, đường xử lý phương pháp trực tiếp cũng không tham chiếu đến nó.

Phương pháp xử lý MPC

Phương pháp xử lý MPC là cách đưa các bậc tự do được liên kết bởi ràng buộc đa điểm vào phương trình tuyến tính. Ngay cả khi phương trình ràng buộc đầu vào giống nhau, tính chất của ma trận hệ số và hội tụ thay đổi theo phương pháp xử lý.

Phương pháp xử lý MPC Vai trò Sử dụng mặc định
Phương pháp penalty Thêm độ cứng lớn vào phương trình ràng buộc để thỏa xấp xỉ. Mặc định cho phương pháp trực tiếp.
Phương pháp MPC-CG Phương pháp cũ xử lý phép nhân ma trận-vectơ có ràng buộc bên trong phương pháp lặp. Không khuyến nghị.
Khử bậc tự do tường minh Khử bậc tự do bị ràng buộc và giải hệ tuyến tính đã rút gọn. Mặc định cho phương pháp lặp.

Phương pháp penalty là mặc định cho phương pháp trực tiếp, còn khử bậc tự do tường minh là mặc định cho phương pháp lặp. MPC-CG là lựa chọn cũ nhằm duy trì tương thích; với phân tích mới thông thường, dùng khử bậc tự do tường minh hoặc mặc định của phương pháp trực tiếp.

Có thể chỉ định rõ phương pháp xử lý MPC trong !SOLVER bằng MPCMETHOD. Về ý nghĩa giá trị và cú pháp, xem tham chiếu từ khóa.

Khử bậc tự do tiếp xúc

Khử bậc tự do tiếp xúc là chức năng rút gọn các bậc tự do tiếp xúc được thêm bởi tiếp xúc SLAGRANGE trước khi chuyển hệ sang bộ giải tuyến tính. Việc khử các bậc tự do tiếp xúc có thể cải thiện tính chất của hệ tuyến tính được xử lý bằng phương pháp lặp.

Trong chế độ tự động mặc định, bậc tự do tiếp xúc được khử khi dùng phương pháp lặp và không được khử khi dùng phương pháp trực tiếp. Với phương pháp trực tiếp có đường xử lý trực tiếp hệ mở rộng chứa các bậc tự do tiếp xúc.

Khi chỉ định rõ CONTACT_ELIM, có thể khử bậc tự do tiếp xúc cả khi dùng phương pháp trực tiếp. Về lựa chọn loại tiếp xúc, cặp tiếp xúc và thuật toán tiếp xúc ở phía đầu vào, xem trang tiếp xúc và embedding.

Chức năng phụ trợ

Có thể sử dụng ước lượng số điều kiện, dump ma trận và xuất log để khảo sát hội tụ và hiệu năng của bộ giải. Các chức năng này không cần thiết cho phân tích thông thường và được bật để gỡ lỗi hoặc đánh giá hiệu năng.

Chức năng Mục đích Ghi chú
Ước lượng số điều kiện Xuất chỉ số số điều kiện với CGGMRES. Dùng trong bản build có bật LAPACK.
Dump ma trận Lưu ma trận và vế phải đưa vào bộ giải ra tệp. Hỗ trợ định dạng Matrix Market, CSR và BSR.
DUMPEXIT Kết thúc phân tích sau khi dump ma trận. Dùng khi chỉ cần lấy ma trận để kiểm tra bằng công cụ bên ngoài.
ITERLOG Xuất lịch sử hội tụ của phương pháp lặp. Kiểm tra diễn biến phần dư.
TIMELOG Xuất thời gian tính của bộ giải. Với VERBOSE, xuất phân rã thời gian chi tiết.
STEPLOG Xuất thông tin bước. Dùng để kiểm tra trình tự phân tích.

Dump ma trận là chức năng để kiểm tra ma trận hệ số được lắp ráp trong phân tích bằng công cụ bên ngoài. Khi bật DUMPEXIT, phân tích kết thúc ngay sau khi lưu ma trận và vế phải. Ước lượng số điều kiện là chức năng thử nghiệm dùng với CGGMRES, phục vụ chẩn đoán hội tụ.

Các mục liên quan

AI-assisted translation May contain errors Official docs Status