Phương pháp đơn giản nhất để giải các phương trình Navier-Stokes không thể nén là gì?


9

"Đơn giản nhất" Tôi có nghĩa là đơn giản nhất để tìm hiểu và thực hiện từ đầu. Tôi hy vọng câu hỏi của tôi có thể ít nhiều được trả lời.


1
Trong hình học gì?
Rhys Ulerich

@Rhys Ulerich Tôi đoán đơn giản nhất?
James

@ user2697246 Miền vô hạn với điều kiện ban đầu thống nhất? Không đáng kể. Nó không có nghĩa là một câu hỏi bỏ qua.
Rhys Ulerich

1
Để bắt đầu với mô phỏng NS, hãy xem điều này, lorenabarba.com/blog/cfd-python-12-steps-to-navier-stokes
Subodh

Câu trả lời:


10

Trong hai chiều, công thức tính vận tốc là đơn giản nhất để thực hiện vì các biến được đặt chung, nhưng điều kiện biên có thể phức tạp và đó là một tuyên bố ít trực tiếp hơn về vấn đề. Đối với các công thức biến nguyên thủy, phương pháp sai phân hữu hạn lưới so le của Harlow và Welch (1965) là một nơi tuyệt vời để bắt đầu.


2
Một mô tả rất rõ ràng về thuật toán này, với các điều kiện biên, được đưa ra bởi Pozrikidis .
John Stockie

10

Bạn có thể tìm thấy một triển khai tài liệu đầy đủ về một phương pháp giải pháp rất đơn giản nhưng khá hiệu quả (phương pháp chia tách Chorin) tại đây .

Để lựa chọn các phương pháp phổ biến khác, hãy xem Chương 21 trong cuốn sách này .

Tuyên bố miễn trừ trách nhiệm: Tôi là tác giả (đồng) của cả chương trình demo và cuốn sách. Cuốn sách có thể được tải về miễn phí.


5

Đơn giản nhất là luôn luôn có liên quan đến sở thích và nhu cầu cụ thể của bạn. Tôi đồng ý với Anders rằng, đối với luồng không thể nén trên các miền có hình dạng đơn giản, bạn sẽ khó có thể đánh bại phương thức chiếu (nghĩa là phương pháp tách Chorin) nếu bạn ưu tiên cả tính dễ sử dụng và độ chính xác.

Để đi vào chi tiết hơn một chút, phương pháp là câu hỏi được giới thiệu trong [1]. Phương pháp chiếu gần đúng, thứ hai, hiện đại hơn được giải thích rõ trong [2]. Động lực là việc giải các phương trình Navier-Stokes không thể nén hoàn toàn đòi hỏi phải giải đồng thời cho trường vận tốc và áp suất, và hệ thống tuyến tính kết quả là khá điều hòa. Phương pháp chiếu giúp loại bỏ vấn đề này bằng cách tách từng bước thời gian thành giải quyết vận tốc, sử dụng áp lực từ dấu thời gian trước đó, sau đó là cập nhật áp suất, về cơ bản thực thi rằng trường vận tốc vẫn không thể nén được.

Để thực hiện điều này, bạn sẽ cần một vài thành phần khác, nhưng tất cả đều có thể học và lập trình khá dễ dàng.

  1. Để giải quyết áp lực, giả sử bạn quan tâm đến các hệ thống có mật độ không đổi, bạn sẽ cần giải phương trình Poisson. Tất nhiên, có hàng tá thuật toán để tiếp cận vấn đề này, nhưng cho đến nay, dễ thực hiện nhất - nếu có thể không hiểu đầy đủ - là thuật toán gradient liên hợp (CG). Một trong những lời giải thích hay nhất về CG tôi đã đọc được viết bởi Jonathan Shewchuk và có thể tìm thấy ở đây . Bạn chắc chắn không cần phải đọc toàn bộ bài báo, tuy nhiên, để có thể thực hiện thuật toán một cách đơn giản.

  2. Bạn sẽ cần một thuật toán khác để xử lý thuật ngữ tiến lên trong Navier-Stokes. Trong một số khía cạnh, việc lập trình triển khai mạnh mẽ các phương pháp linh hoạt nhất, ví dụ Godunov, có thể khá khó khăn. Tuy nhiên, với điều kiện bạn quan tâm đến các luồng có số Reynold tương đối khiêm tốn (nghĩa là với độ nhớt không đáng kể), một trong những phương pháp cơ bản không dao động (ENO) phù hợp với dự luật một cách độc đáo về mặt dễ thực hiện. Có một tổng quan tuyệt vời về cả lý thuyết và thực hiện trong [3].

  3. Bạn sẽ cần xử lý thuật ngữ nhớt bằng phương pháp ngầm, điển hình là Crank-Nicolson. Điều này được giải thích chi tiết trong các tài liệu phương pháp chiếu và bạn có thể dễ dàng sử dụng CG cho giải pháp ma trận với độ nhớt không đổi.

[1] AJ Chorin, Giải pháp số của phương trình Navier-Stokes , J. Math. Tính toán, 22 (1968), trang 745-762

[2] A. Almgren, JB Bell và W. Szymczak, Một phương pháp số cho phương trình Navier-Stokes không thể nén dựa trên phép chiếu gần đúng , SIAM J. Sci. Tính toán. 17 (1996), trang 258-369.

[3] S. Osher và R. Fedkiw, Phương pháp thiết lập cấp độ và các bề mặt tiềm ẩn động . Springer-Verlag New York ,. Khoa học toán ứng dụng, 153, 2002


Để có câu trả lời hay này, hãy để tôi nói thêm rằng một sự hiểu biết cập nhật về bản chất của áp lực trong các phương pháp chiếu (thời gian rời rạc) là trong: J.-G. Liu, J. Liu, RL Pego, xấp xỉ áp suất ổn định và chính xác cho dòng chảy nhớt không ổn định không ổn định, J. Comp. Vật lý. 229 (2010) 3428-3453.
Bob Pego

4

Đồ họa và trò chơi máy tính đã chứng kiến ​​sự bùng nổ lớn của sự quan tâm đến mô phỏng chất lỏng trong những năm gần đây. Đây là một bài viết tuyệt vời của Jos Stam, thảo luận về việc giải quyết một bộ giải cho các ứng dụng thời gian thực. Nó đi kèm với mã nguồn rất dễ hiểu. Tôi không biết nó chính xác đến mức nào, nhưng nó có thể là thứ bạn đang tìm kiếm.


1

Một phương pháp thực sự hay và đơn giản khác là sử dụng máy tự động di động để phân biệt. Có rất nhiều mô hình như vậy, bao gồm LBA, FHP và nhiều hơn nữa. Chúng thực sự rất hay vì chúng có thể cung cấp một mô phỏng thời gian thực trên các máy tính hiện đại và cũng có thể được liệt kê độc đáo và chạy trên GPU. Chúng cũng có một số nhược điểm và kết quả phụ thuộc rất nhiều vào hình dạng của mạng được áp dụng. Lưới vuông là không đủ vì nó thiếu tự do quay và tức là các xoáy von kaarman sẽ có hình vuông không đẹp :)

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.