Sử dụng đa đại số cho các toán tử khuếch tán đối lưu tiền điều kiện


8

Tôi đã triển khai một Navier Stokes dựa trên sự phân biệt FEM và PETSc để giải hệ phương trình tuyến tính. Để tạo ra một quy trình giải pháp hiệu quả, tôi làm theo bài báo "Điều kiện tiên quyết hiệu quả của các phương trình Navier-Stokes được tuyến tính hóa cho dòng chảy không thể nén" (Silvester et al.), Đề xuất phương pháp bổ sung Schur. Nó hoạt động khá tốt theo nghĩa là tôi có số lần lặp gần như không đổi độc lập với kích thước mắt lưới và dấu thời gian cho các điểm chuẩn đơn giản cũng được trình bày trong bài viết này (lưu lượng khoang điều khiển 2D và bước quay ngược). Nhưng tại thời điểm này, tôi giải quyết khối vận tốc trên bằng bộ giải trực tiếp song song (MUMPS). Khối Schur áp suất được giải quyết với các bộ giải không chính xác như đề xuất trong bài báo.

Trong bài báo, các tác giả đề xuất chạy trong mỗi lần lặp bên ngoài một chu kỳ V đa biến đơn và sử dụng điểm Gauss-Seidel mượt mà hơn để xấp xỉ nghịch đảo của toán tử khuếch tán đối lưu rời rạc này. Vì tôi không thể dễ dàng sử dụng phương pháp đa hình học, tôi nghĩ sẽ thay thế bộ giải trực tiếp bằng một chu trình V đa đại số (boomeramg từ gói hypre). Nhưng hơn là tôi mất số lượng iteratons không đổi trong khi làm cho lưới mịn hơn.

Có ai trong các bạn có ý tưởng làm thế nào để tạo ra một điều kiện tiên quyết tương đương và hiệu quả về mặt quang học cho nghịch đảo của ma trận vận tốc dựa trên đa đại số không? Có một cái gì đó vốn không cho phép sử dụng đa đại số trong trường hợp này? Nếu không, điều gì có thể là nguồn gốc của việc mất tỷ lệ lặp không đổi?


Biên tập:

Tôi đã thêm một số điểm chuẩn cho các bộ giải khác nhau của khối vận tốc. Vấn đề được giải quyết là dòng chảy khoang điều khiển 2D tiêu chuẩn, sự rời rạc với Taylor-Hood và sự tinh chỉnh đồng nhất của hộp đơn vị

Bộ giải Exakt (MUMPS)

h=1h=132 : 25 iter : 25 iter : 25 iter : 22 lần lặp h=1h=164 h=1h=1128h=1256

một V-AMG (đại số, boomeramg)

h=1h=132 : 30 iter : 30 iter : 39 iter : 48 lần lặp h=1h=164 h=1h=1128h=1256

FGMRES với tiền xử lý V-AMG (đại số, boomeramg), rtol:106

h=1h=132 : 30 iter : 29 iter : 30 iter : 47 lần lặp h=1h=164 h=1h=1128h=1256

FGMRES với tiền xử lý V-AMG (đại số, boomeramg), atol:108

h=1h=132 : 27 iter : 27 iter : 28 iter : 26 lần lặp h=1h=164 h=1h=1128h=1256

Câu trả lời:


2

Những gì bạn đã làm là thay thế bộ giải chính xác (trực tiếp) ở phía trên bên trái bằng một trong đó bạn chỉ thực hiện một chu kỳ V duy nhất. Cách để đi là giải quyết khối trên cùng bên trái trong bộ tiền xử lý của bạn bằng cách sử dụng bộ giải lặp (ví dụ GMRES) bằng cách sử dụng V-chu kỳ AMG làm tiền đề cho bộ giải bên trong này. Kinh nghiệm cho thấy rằng nếu bạn sử dụng F-GMRES làm bộ giải bên ngoài, thì bộ giải GMRES bên trong không cần phải chính xác khủng khiếp. Chỉ cần đủ chính xác để cho phép nó mang lại số lần lặp bên ngoài gần như không đổi.


Tôi đã làm theo đề xuất của bạn và thực hiện một số thử nghiệm với việc thay thế bộ giải chính xác bằng một fgmres (tôi nghĩ người ta cũng phải sử dụng biến thể linh hoạt của gmres làm người giải quyết bên trong vì multigrid không nên hoạt động như một toán tử tuyến tính) với V-AMG như một điều kiện tiên quyết . Tôi đã thêm kết quả cho câu hỏi của tôi ở trên. Như bạn thấy, khi tôi thay thế một chu kỳ V bằng một bộ giải với dung sai tương đối, tôi sẽ nhận được kết quả tương tự. Chỉ chạy bộ giải bên trong đến một dung sai tuyệt đối làm cho số lần lặp bên ngoài không đổi với giá của số lần lặp bên trong tăng lên.
Thomas W.

Tôi tìm thấy vấn đề! Đáng ngạc nhiên, vấn đề không phải là do một xấp xỉ phổ xấu của toán tử khuếch tán đối lưu, mà do một số sai lầm tôi đã làm trong phần bổ sung Schur. Vì vậy, ngay cả một chu kỳ V cũng ổn đối với khối vận tốc và bộ giải yêu cầu 10 lần lặp trên mỗi dấu thời gian độc lập với kích thước mắt lưới.
Thomas W.

Vui mừng khi nghe. Kết quả của bạn chắc chắn phù hợp với kinh nghiệm của chúng tôi trong bài viết 35 ở đây: math.tamu.edu/~bangerth/publications.html#x-reviewed
Wolfgang Bangerth
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.