Chính xác thì thuật toán multigrid * full * chạy như thế nào?


12

Vì vậy, tôi hiểu (hoặc ít nhất là tôi tin rằng tôi làm) cách thức hoạt động của chu kỳ V. Tôi đã viết bằng Matlab phiên bản 1-D, đệ quy của chu kỳ V. Tuy nhiên, khi tôi chạy mã cho FMG, giải pháp của tôi không hội tụ. Tôi tin rằng rắc rối của tôi nằm ở sự hiểu biết của tôi về phần FMG thực tế. Những gì tôi hiện đang biết là đây:

  1. Ngay trước khi FMG Interpolation, tôi đã nới lỏng giải pháp của tôi u
  2. Nội suy cả lỗi (?)u
  3. Thực hiện chu trình v 2 lưới, chuyển lỗi vào chu trình v (?)
  4. Thư giãn lỗi (trên lưới thô thứ 2)
  5. Nội suy và lỗiu
  6. Cập nhật bằng cách thêm lỗi vào nó.u
  7. Chạy một chu kỳ v, sau đó lặp lại từ bước 4.

Tôi không chắc chắn về thứ tự, nhưng tôi cũng có thể sai về chính xác những gì tôi nội suy và chuyển vào chu kỳ v của tôi. Nếu tôi thiếu bất cứ điều gì từ thuật toán, xin vui lòng cho tôi biết.

Câu trả lời:


11

Trường hợp bạn đã đưa ra nội suy "lỗi"? (Và làm thế nào để bạn đo lỗi?)

Trong lần truy cập đầu tiên vào lưới tốt hơn, toàn bộ giải pháp phải được nội suy, lý tưởng nhất là sử dụng toán tử bậc cao hơn (ví dụ: giải pháp được xử lý sau / tái tạo cho FEM). Suy FMG Đây là u hTôi h H u H . (Sử dụng phép nội suy thông thường I H h = I HuuhIHhuH , nhưng điều này thường mang lại hiệu quả, ít nhất là cho các vấn đề trơn tru.)IhH=IhH

Sau khi nội suy FMG, bạn chỉ cần áp dụng một hoặc nhiều chu kỳ V (hoặc chu kỳ W, v.v.). (Đảm bảo chạy ít nhất một lần mượt mà trước khi hạn chế.) Các lựa chọn phổ biến nhất là sửa lỗi khiếm khuyết tuyến tính trong đó chỉ phần dư bị hạn chế và Lược đồ xấp xỉ toàn phần (FAS) là tự nhiên cho các vấn đề phi tuyến vì nó tránh được tuyến tính hóa toàn cầu (ví dụ: Newton hoặc Picard).rh=Ahuhbh

Trong FAS, lưới tốt nhà nước bị hạn chế sử dụng các nhà điều hành hạn chế tình trạng . Hạn chế trạng thái là không bắt buộc bởi multigrid chỉnh sửa lỗi tuyến tính (một thuộc tính thuận tiện). Các hạn chế trạng thái phổ biến nhất là tiêm nốt (đối với FD và FE) và trung bình tế bào thô (đối với FV và FE hỗn hợp). Bây giờ chúng ta có thể viết phương trình lưới thô FAS (có giá trị như nhau đối với phi tuyến A ) làu~HI^hHu~hA

AHuH=IhHbhbH+AHI^hHu~hIhHAhu~hτhH

trong đó chúng tôi đã xác định biểu diễn thô của phía bên tay phải, và hiệu chỉnh bổ sung τ H h đại diện cho ảnh hưởng của lưới mịn trên phương trình lưới thô. Lưu ý tài sản mà những hạn chế của giải pháp lưới mịn u h * thỏa mãn phương trình lưới thô: Một H I H h u h * = b H + τ H * h . Sau khi giải phương trình lưới thô, FAS nội suy thay đổi , dẫn đến một giải pháp tốt được cập nhật ubHτhHuhAHI^hHuh=bH+τhH .uhu~h+IHh(uHI^hHu~h)


Lỗi được tính khi tôi tính phần dư khi tiến hành từ lưới tốt nhất đến thô nhất. Giá trị gần đúng ban đầu của mỗi lưới chỉ là 0, khi đó nó được nới lỏng bằng một số phương pháp lặp.
AlanH

Làm thế nào để lỗi (của dự đoán ban đầu tại giải pháp) đóng một vai trò trong tất cả những điều này?
AlanH

1
1. Lỗi rất khác với phần dư và thường không có sẵn trước khi hội tụ (vì biết chính xác lỗi có nghĩa là bạn cũng biết giải pháp). MG không bao giờ di chuyển "lỗi", chỉ là phần dư, trạng thái và trạng thái. 2. FMG đoán ban đầu trên lưới tốt là suy của giải pháp của lưới cuối cùng, . uhIHhuH
Jed Brown

Trong sơ đồ hiệu chỉnh hai lưới của Briggs đặc biệt đề cập đến lỗi nội suy từ lưới thô đến lưới mịn. Không phải âm thanh cố chấp, nhưng điều này bằng cách nào đó khác với những gì bạn đã giải thích?
AlanH

1
T=IP1Aen+1=Ten
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.