Tăng chu kỳ V cho kích thước lưới thô không đổi và tăng kích thước lưới mịn


8

Báo cáo vấn đề

Tôi đã triển khai multigrid hình học cho trong đó trên trên một khối đơn vị . Ranh giới Dirichlet ở mặt trái, mặt dưới và mặt trước là 0 . Các ranh giới của Neumann ở mặt trên, mặt phải và mặt sau là .-2= =ff= =3π24STôinπx2STôinπy2STôinπz2Ω[0,1]bạnn= =0

phương pháp

Một phương pháp multigrid được sử dụng để giải phương trình. Tôi ước tính các điểm ma ở ranh giới Neumann bằng công thức sai phân trung tâm .

Tổng quan về phương pháp (từ nhận xét, được xác nhận bởi tác giả): Bắt đầu từ lưới mịn (lưới cuối cùng phương trình cần giải), tiến hành lưới thô để tính toán hiệu chỉnh, truyền lại và làm mịn ở cuối multigrid thủ tục.

Quan sát

Vấn đề là khi tôi sửa lưới thô nhất của mình (nói 16x16x16) và đo chu kỳ V để tăng kích thước lưới mịn , chu kỳ V của tôi không đổi . Tôi đọc trong cuốn sách MULTIGRID của Trottenberg et. al . rằng chúng ta cần sử dụng toán tử hạn chế Full weighted đã sửa đổi để ngăn tỷ lệ không chính xác ở ranh giới Neumann. Hơn nữa, tôi không thể hiểu toán tử hạn chế đầy đủ sửa đổi này được đề cập trong cuốn sách.

Trong một ví dụ khác khi tôi triển khai một vấn đề Dirichlet-Neumann hỗn hợp trong đó tại các ranh giới Dirichlet, tôi không cần sử dụng toán tử đã sửa đổi này để hội tụ (lưới thô cố định và tăng lưới tốt nhất, chu kỳ V không đổi).-2= =0bạn= =1+x+y+z

Câu hỏi

"Hạn chế toàn trọng lượng đã sửa đổi" có thể gây ra sự suy giảm tốc độ hội tụ không?

Hãy đề nghị / giải thích.


1
Bạn có thể giải thích các thủ tục multigrid mà bạn đang sử dụng? Tôi quen với việc bắt đầu từ một lưới tốt (lưới cuối cùng mà bạn muốn giải phương trình), sau đó sẽ thô để tính toán hiệu chỉnh, sau đó tăng sinh trở lại (và làm mịn một vài lần ở cuối) .. đây có phải là quy trình của bạn không ? Ngoài ra, nó có thể hữu ích nếu bạn bao gồm một sự hội tụ so với lặp đi lặp lại cho một vài mắt lưới (khóa học và tốt).
Charles

1
@Charlie: Xin lỗi vì trả lời trễ. Thủ tục của tôi là chính xác như bạn mô tả. Vấn đề là trong ví dụ về các điều khoản của sin, chúng ta sẽ cần phải sửa đổi khuôn tô gần ranh giới như được mô tả trong Trottenberg. Tôi chỉ đơn giản là may mắn có được ví dụ thứ hai ngay mà không cần một bản sửa đổi ở ranh giới. Trên thực tế, một cách khác là nhân đôi số dư gần ranh giới và sử dụng toán tử stprint chưa sửa đổi để thực hiện hạn chế. Thỉnh thoảng tôi sẽ cố gắng hết sức để viết lời giải thích đầy đủ như một câu trả lời!
Gaurav Saxena

Câu trả lời:


0

Dự đoán ban đầu của bạn có thể tạo ra một số dư lớn gần ranh giới Neumann. Tùy thuộc vào phương pháp hạn chế, phần dư này có thể không giảm như mong muốn.

Những gì tôi muốn là thay vì chu kỳ V sử dụng chu trình FMG. Vì chu trình FMG bắt đầu ở lưới thô nhất, bạn sẽ có dự đoán hợp lý gần điều kiện ranh giới Neumann của bạn ở mức tốt hơn. Theo kinh nghiệm của tôi, FMG hoạt động tốt với các điều kiện biên Neumann.

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.