Phương pháp có thể để giải phương trình Euler có thể nén là gì


13

Tôi muốn viết bộ giải riêng cho phương trình Euler có thể nén và quan trọng nhất là tôi muốn nó hoạt động mạnh mẽ trong mọi tình huống. Tôi muốn nó dựa trên FE (DG là ok). Các phương pháp có thể là gì?

Tôi nhận thức được việc thực hiện DG thứ 0 (khối lượng hữu hạn) và điều đó sẽ hoạt động rất mạnh mẽ. Tôi đã triển khai một bộ giải FVM cơ bản và nó hoạt động rất tốt, nhưng sự hội tụ khá chậm. Tuy nhiên, đây chắc chắn là một lựa chọn.

Tôi đã triển khai một bộ giải FE (hoạt động cho bất kỳ lưới và bất kỳ thứ tự đa thức nào trên bất kỳ phần tử nào) cho các phương trình Euler được tuyến tính hóa, nhưng tôi nhận được dao động giả (và cuối cùng nó bị thổi ra, vì vậy tôi không thể sử dụng nó để giải quyết vấn đề của mình) và Tôi đã đọc trong tài liệu rằng người ta cần ổn định nó. Nếu tôi thực hiện một số ổn định, điều đó có hoạt động mạnh mẽ cho tất cả các vấn đề (= điều kiện biên và hình học) không? Tỷ lệ hội tụ sẽ là gì?

Ngoài ra, có một số phương pháp mạnh mẽ khác cho phương trình Euler (tức là DG bậc cao hơn với một số ổn định)?

Tôi biết rằng nhiều người đã thử rất nhiều thứ khác nhau trong mã nghiên cứu của họ, nhưng tôi quan tâm đến một phương pháp mạnh mẽ phù hợp với tất cả các hình học và điều kiện biên (chỉnh sửa: trong 2D và 3D).

Câu trả lời:


11

Khó khăn chính về số trong việc giải quyết một hệ thống PDE hyperbol bậc nhất như phương trình Euler (đối với dòng chảy bất khả xâm phạm) là sự không liên tục (sóng xung kích) xuất hiện trong giải pháp sau thời gian hữu hạn, ngay cả khi dữ liệu ban đầu trơn tru. Để đối phó với điều này, hầu hết các mã hiện đại sử dụng cả hai

  • bộ giới hạn độ dốc (hoặc từ thông ) , cung cấp một cách tính toán các dẫn xuất chính xác gần các điểm không liên tục mà không đưa ra các dao động giả; và
  • Các bộ giải Riemann gần đúng , mà cục bộ (tại mỗi cạnh / mặt lưới) giải quyết một vấn đề giá trị ban đầu với dữ liệu ban đầu không đổi liên tục và một gián đoạn duy nhất.

Tồn tại sự khác biệt hữu hạn (FD), khối lượng hữu hạn (FV) và sự phân biệt phần tử hữu hạn (FE) kết hợp các bộ hạn chế và bộ giải Riemann, và tất cả đều có thể được thực hiện chính xác cao, ít nhất là từ các cú sốc. Vì vậy, sẽ không có ý nghĩa khi nói một cách phân loại rằng các phương pháp FE hội tụ nhanh hơn các phương thức FV - chúng sẽ có thể so sánh được nếu sử dụng sự phân biệt thứ tự so sánh được sử dụng.

Trong số các phương pháp FE, các phương pháp Galerkin không liên tục là phù hợp nhất ở đây, vì thực tế giải pháp sẽ không liên tục. Nếu bạn muốn tự mình thực hiện, tôi khuyên bạn nên đọc bài đánh giá này và lấy một bản sao văn bản của Heraaven & Warburton để hiểu những điều cơ bản. Sau đó, có rất nhiều giấy tờ về DG cho dòng chảy nén .

Nếu bạn sẵn sàng sử dụng mã của người khác và vì tôi biết bạn sử dụng Python, bạn có thể xem mã Hedge của Andreas Kloeckner , có giao diện Python và có thể chạy trên GPU. Có thể có các mã DG tốt khác có sẵn và nhiều mã FV tốt (như Clawpack , cũng có giao diện Python ).

Ngoài ra còn có các phương pháp bậc cao mới hơn như sự khác biệt phổ. Đối với một viễn cảnh gần đây, xem Cheng & Shu 2009, Lược đồ bậc cao cho CFD: Đánh giá hoặc Ekaterinaris 2005, Phương pháp khuếch tán số thấp, chính xác theo thứ tự cao cho khí động học .


Cảm ơn David, đặc biệt là cho tất cả các con trỏ đến giấy tờ. FV chỉ là zeroth đặt hàng DG, phải không? Hoặc là FV bậc cao bằng cách nào đó khác với cùng một DG? Tôi muốn tự mình thực hiện một cái gì đó, để tôi hoàn toàn hiểu những gì đang diễn ra. Mã hàng rào trông mát mẻ.
Ondřej Čertík

1
FE và FV thường tương đương với các chương trình đặt hàng đầu tiên. Các sơ đồ bậc cao nói chung là khác nhau, và không phải là một tập hợp con khác.
David Ketcheson

1
Bạn có thể thống nhất ở một mức độ nào đó với "tái cấu trúc DG". FV thường sử dụng các hàm kiểm tra hằng số từng phần và tái tạo lại bằng cách sử dụng các lân cận để tăng thứ tự. DG thường sử dụng một không gian thử nghiệm phù hợp (Galerkin) và tăng thứ tự nội bộ. Lưu ý rằng DG vẫn cần các bộ hạn chế cho các cú sốc mạnh, và sau đó nó không còn là phương pháp Galerkin nữa. Tái thiết DG cho phép bạn thực hiện cả hai: tăng trật tự nội bộ và tái cấu trúc bằng cách sử dụng hàng xóm, do đó FV và DG thông thường là các trường hợp hạn chế.
Jed Brown

Nếu tôi đang mô hình hóa một hệ thống vật lý mà tôi tin vì lý do thực nghiệm không hiển thị sóng xung kích thì đó là một phương pháp tốt?
sigfpe

@sigfpe tốt nhất là bạn nên đăng một câu hỏi mới, với nhiều thông tin hơn.
David Ketcheson
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.