Cảnh báo
Giải quyết các vấn đề về điểm yên xe bao gồm nhiều sự lựa chọn hơn các vấn đề nhất định, và có rất nhiều điều có thể sai. Sử dụng màn hình cho tất cả các cấp để gỡ lỗi hội tụ, để đảm bảo rằng các khoảng trống null được xử lý chính xác khi các toán tử phụ là số ít (thường chỉ là một không gian null không đổi) và để đảm bảo rằng các điều kiện tiên quyết ổn định. Những kỹ thuật này được thảo luận trong câu hỏi này .
Giải quyết vấn đề điểm yên ngựa
Bạn có thể bắt đầu với phần giải các ma trận khối trong Hướng dẫn sử dụng . Đối với các vấn đề giống như Stokes, bạn có thể xây dựng một điều kiện tiên quyết bổ sung Schur bằng PCFIELDSPLIT .
-pc_type fieldsplit -pc_fieldsplit_type schur -pc_fieldsplit_detect_saddle_point
Điều này có thể được kết hợp với một điều kiện tiên quyết Least Squares Commutator cho phần bổ sung Schur ( -fieldsplit_1_pc_type lsc
). Nó là phổ biến -fieldsplit_1_ksp_type preonly
và để lặp đi lặp lại bên ngoài làm hầu hết các công việc. Các biến thể khối tam giác là phổ biến khi được sử dụng theo cách này, ví dụ , -pc_fieldsplit_schur_fact_type upper
.
Bạn có thể tìm thêm thông tin chi tiết về thành phần bộ giải bằng cách sử dụng các tùy chọn tùy chọn trong bài báo của chúng tôi (bản in trước) , cũng thảo luận về việc chuyển đổi đa luồng với phân tách khối (đặt các trường bên trong multigrid).
Đối với nhiều vấn đề, bạn sẽ muốn tùy chỉnh phân tách trường và các điều kiện tiên quyết bổ sung Schur, nhiều trong số đó liên quan đến các toán tử phụ trợ. Ví dụ, phương pháp "khuếch tán đối lưu áp suất" (PCD) từ Elman et al yêu cầu sự rời rạc của một toán tử phụ trợ trong không gian áp suất. Xem ví dụ về PCSHELL và phần hướng dẫn sử dụng cho mục đích này.