Phân loại tiền đề của ILU


8

Tôi đã học được rằng đối với bộ giải BiCGStab cho các hệ thống tuyến tính thưa thớt, việc sử dụng bộ tiền xử lý là khá cần thiết. Bây giờ tôi nhận ra rằng việc chọn một cái tốt là phụ thuộc vào vấn đề.

Lướt web tôi phát hiện ra có rất nhiều điều kiện tiên quyết dựa trên ILU (ILUT, MILU, v.v.) Đây là lúc tôi bị nhầm lẫn.

Tôi đã tự hỏi nếu ai đó có thể giải thích ngắn gọn về phân loại của các điều kiện tiên quyết của ILU, đưa ra một số nguồn tài liệu cho những tài liệu cụ thể và những nguồn nào phù hợp với BiCGStab.

Cài đặt trong đó tôi đang làm việc là CFD và mã dựa trên sự rời rạc khối lượng hữu hạn không cấu trúc. Có lẽ các điều kiện tiên quyết khác nhau sẽ là cần thiết cho phương trình động lượng và phương trình vận chuyển cho các vô hướng nhiễu loạn.

Câu trả lời:


9

Một điều kiện tiên quyết, nói M, là một xấp xỉ trên ma trận hệ thống, nói A thay đổi vấn đề thành một vấn đề khác với phổ eigenvalue được cải thiện. Một điều kiện tiên quyết hoàn hảo sẽ là nghịch đảo của A tức là inv (M) = A.

Thật không may, nghịch đảo này thường không có khả năng, quá phức tạp để tính toán, đòi hỏi nhiều không gian hơn để lưu trữ do phần bổ sung được giới thiệu trong quá trình nhân tố hóa và cũng có thể bị lỗi làm tròn. Do đó, một điều kiện tiên quyết nên dễ dàng tính toán và áp dụng nhưng hiệu quả.

Bên cạnh các điều kiện tiên quyết cơ bản như Jacobi hoặc Gauss-Seidel (hoặc SOR), một trong những điều kiện tiên quyết tự do nhất là ILU (IC trong các vấn đề đối xứng - bạn đang làm việc trên CFD nên các hệ thống hoặc không đối xứng)

Lựa chọn điều kiện tiên quyết thường phụ thuộc vào vấn đề của bạn. ILU có nhiều biến thể như ILUT, ILUS, MILU, v.v. Bạn có thể tham khảo tài liệu tôi đã thêm vào sau đó. Đối với các vấn đề có độ khó nhẹ, có thể sử dụng ILU (0) nhưng khi các vấn đề trở nên khó khăn hơn, tức là số Reynold đang tăng thêm các phần bổ sung (ví dụ: ILU (1)) với các chiến lược ngưỡng (ILUT) nên được sử dụng. Vấn đề là, việc sử dụng ILU nâng cao đòi hỏi nhiều bộ nhớ hơn và việc xác định mô hình thưa thớt hiện khác với ma trận hệ thống của bạn. Trong trường hợp này, bạn phải tính toán mô hình spartisity một cách tượng trưng trước và số sau.

Có một số ý tưởng để giảm công việc tính toán,

  • sử dụng các điều kiện tiên quyết bị trễ mà tại đó bạn tránh tính toán lại điều kiện tiên quyết ngay cả khi hệ thống tuyến tính thay đổi.
  • sử dụng LU-SGS giống như điều kiện tiên quyết có thể được triển khai hiệu quả với các thuật toán phân tách từ thông.
  • sử dụng các phương pháp không có ma trận - phương pháp tôi thích trong công việc tiến sĩ của mình. Người giải quyết Newton-Krylov nơi mà Jacobian không cần kỳ vọng cho điều kiện tiên quyết thường được tính toán với xấp xỉ bậc thấp và có lẽ với các thuật toán dựa trên màu sắc (mặc dù khó khăn hơn trong các vấn đề phi cấu trúc).
  • chỉ sử dụng các toán tử khuếch tán như laplacian và tránh các thuật ngữ đối lưu (không hiệu quả trong việc giảm số lần lặp)
  • multigrid, nơi bạn sử dụng đơn giản hơn như w-Jacobi hoặc SOR trong hệ thống phân cấp lưới. đối với các vấn đề không có cấu trúc, bạn nên sử dụng đa đại số (AMG) thay vì hình học.
  • và nhiều mục khác (nhân số lượng mục của tôi với 10) ..

Do vấn đề không đối xứng, nên chủ yếu có hai người giải quyết sử dụng: GMRES hoặc BiCGStab. (QMR hoặc TFQMR là những lựa chọn khác nhưng tôi tin rằng hiệu suất của nó thấp hơn hai cái đó). GMRES thường là một bộ giải tốt hơn nếu bạn chưa có vấn đề về lưu trữ do các vectơ được lưu trữ cần phải khởi động lại - đây là một vấn đề là điều kiện tiên quyết kém hoặc bạn có dof rất lớn. BiCGStab chỉ yêu cầu bốn sản phẩm Matrix-Vector, phù hợp với các vấn đề lớn nhưng thường kém hơn GMRES. (Tôi thích GMRES nhưng tôi rất thích BiCGStab!)

Tất cả các điều kiện tiên quyết, giải quyết tuyến tính là cách phức tạp. Tôi có thể đề nghị một số cuốn sách để đọc. Điểm xuất phát của bạn phải là Mẫu cho giải pháp hệ thống tuyến tính Đây là một cuốn sách miễn phí. Các bộ làm mịn cả dưới dạng bộ giải độc lập và bộ tiền xử lý trên bộ giải Krylov được giải thích trong cuốn sách này. Bạn cũng có thể tham khảo "Phương pháp lặp cho hệ thống tuyến tính thưa thớt" của Yousef Saad. Nó là dứt khoát trong thư viện của tổ chức của bạn. Phiên bản đầu tiên cũng có sẵn ở đây .

Trước khi kết luận, tôi khuyên bạn nên xem xét các khung như Thú cưng , Trilinos hoặc thậm chí Hypre và cả các tệp được cung cấp bởi 1 . Họ cung cấp tiền điều kiện với một số chương trình. Thực tế có nhiều sách hơn để cung cấp nhưng cũng hãy xem trong "Các kỹ thuật và ứng dụng điều kiện tiên quyết ma trận" của Ke Chen. Mã Matlab là có sẵn với cuốn sách.

Chúc may mắn trong hành trình của bạn, bạn sẽ cần nó.


Cảm ơn rât nhiều! Tôi có cả hai cuốn sách và tôi vẫn đang đào - đây thực sự là một chủ đề thú vị!
Johntra Volta

2

Cuốn sách của Y. Saad cũng là một trong những tài liệu tham khảo tiêu chuẩn cho người giải quyết và điều kiện tiên quyết.


Bây giờ tôi hiểu rằng anh ta là một trong những anh hùng của phương pháp không gian Krylov. Tôi có lẽ sẽ chán anh ta đến chết với những câu hỏi nếu anh ta là cố vấn của tôi.
Johntra Volta
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.