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=1 : 25 iter : 25 iter : 25 iter : 22 lần lặp h=1 h=1
một V-AMG (đại số, boomeramg)
h=1 : 30 iter : 30 iter : 39 iter : 48 lần lặp h=1 h=1
FGMRES với tiền xử lý V-AMG (đại số, boomeramg), rtol:
h=1 : 30 iter : 29 iter : 30 iter : 47 lần lặp h=1 h=1
FGMRES với tiền xử lý V-AMG (đại số, boomeramg), atol:
h=1 : 27 iter : 27 iter : 28 iter : 26 lần lặp h=1 h=1