Phương pháp phổ giả Fourier và tản số


9

Thực hiện mô phỏng số trực tiếp của nhiễu loạn đẳng hướng bằng phương pháp phổ giả Fourier (Orzag & Patterson, PRL, 1972) bằng FFT. Để biết nền tảng của phương pháp, được sử dụng rộng rãi trong cộng đồng nhiễu loạn, bạn có thể xem khóa học này: http://www.math.ualberta.ca/~bowman/m655/lab3d.pdf

Sử dụng cái gọi là quy tắc cho dealiasing trong đó bao gồm làm u ( k , t ) = 0 i f k > 22/3 nơitlà thời điểm đó,klà số sóng,kMMộtXlà số sóng tối đa và u là biên độ phổ của vận tốc.

bạn^(k,t)= =0              Tôif   k>23kMMộtX
tkkMMộtXbạn^

Liệu các thỏa thuận hoạt động như một sự tiêu tan số? Nói cách khác, có một sự rò rỉ năng lượng do sự thỏa thuận?


Không rõ câu hỏi của bạn là gì. Bạn có thể làm rõ?
Geoff Oxberry

bây giờ thì sao ?
ucsky

Câu trả lời:


6

Sự thỏa thuận của tích chập không hoạt động như sự phân tán số. Trong thực tế, năng lượng chỉ được bảo toàn nếu bạn loại bỏ các điều khoản bí danh.

Ý tưởng đằng sau các thỏa thuận dựa trên FFT đối phó là loại bỏ các điều khoản bổ sung được FFT thêm vào. Một tích chập chỉ là một tổng và bạn có thể tính toán nó bằng cách tính tổng. Tuy nhiên, điều này thực sự rất chậm, vì vậy tốt hơn là Fourier - biến đổi các đầu vào và nhân kết quả và sau đó đảo ngược biến đổi Fourier, theo định lý tích chập, giống như một phép chập.

Nhưng định lý tích chập chỉ hoạt động khi các đầu vào có độ dài vô hạn; đối với đầu vào có độ dài hữu hạn, các thuật ngữ bổ sung (bí danh) hiển thị không phải là vật lý. Điểm quan trọng của việc giải quyết là lấy lại phương trình ban đầu mà bạn đang cố gắng tính toán, trong khi vẫn cho phép bạn sử dụng FFT để tăng tốc tính toán.


Malcolm đã không đề cập đến thư viện FFTW ++ mà anh ta là đồng tác giả, nhưng nó giúp bạn thực hiện nhanh chóng các kết luận được giải quyết bằng cách xử lý phần đệm (trong số những thứ khác). Xem fftwpp.sourceforge.net .
Matthew Emmett

Ồ vâng, cảm ơn Matt! Các thói quen tích chập trong FFTW ++ thực sự làm giảm chi phí cho các kết luận tính toán. Có một tài liệu tham khảo trên trang sourceforge và nhiều hơn nữa trên trang web của tôi. Tôi đã làm việc với John Bowman, người có phòng thí nghiệm nhiễu loạn 3D được liên kết trong OP.
Malcolm

4

Hiểu những gì đối phó không đòi hỏi phải hiểu tại sao bạn lại thực hiện FFT ở nơi đầu tiên. Đối với tôi, phương pháp tiếp cận số dư có trọng số cung cấp khuôn khổ đơn giản nhất:

  1. Bạn đang mở rộng một giải pháp dưới dạng tổng của các chế độ Fourier và thả nó vào các phương trình Navier - Stokes. Chức năng kiểm tra của bạn cũng là một cơ sở Fourier.
  2. Khi bạn nhân các hàm thử nghiệm và thử nghiệm với nhau và lấy sản phẩm bên trong (nghĩa là tích hợp với một cách chia thích hợp), bạn sẽ thấy rằng bạn có một tích phân mà bạn không thể đánh giá đơn giản vì nó là phi tuyến.
  3. Bạn có thể tính gần đúng tích phân đó bằng cách sử dụng sơ đồ bậc hai thống nhất trong đó bạn chỉ cần tính tổng giá trị tại các điểm sắp xếp đồng nhất.
  4. Lưu ý rằng phương trình bậc hai của bạn là chính xác cho một phi tuyến bậc hai nếu bạn sử dụng gấp 1,5 lần số điểm cầu phương khi bạn có các chế độ Fourier. Đây là yếu tố ba nửa.
  5. Cuối cùng, lưu ý rằng phương trình bậc hai có thể được tính toán một cách hiệu quả dưới dạng FFT.

Tất cả các phép thuật FFT có thể được coi là một sơ đồ bậc hai hiệu quả, gần đúng, có thể được thực hiện chính xác cho các phi tuyến bậc hai. Các biến thể đối phó khác chơi các thủ thuật khác để làm cho phép cầu phương chính xác cho cùng một lớp phi tuyến.

Vì vậy, để trả lời câu hỏi của bạn, thỏa thuận thêm không tiêu tan. Điều này có thể được nhìn thấy bởi vì mọi bước trong thủ tục là chính xác.


1

@Malcolm đã đưa ra một lời giải thích chuyên môn về việc giải quyết các khoản tiền tích lũy dựa trên FFT. Tuy nhiên, trực giác của tôi cho tôi biết rằng đây vẫn chưa phải là câu trả lời đầy đủ @abberation cần thiết, vì vậy tôi sẽ đưa ra thêm vài câu phản ánh cuộc đấu tranh của chính tôi để hiểu về phương pháp số.

Dealiasing không hoạt động như một sự phân tán số, nhưng nó thực hiện tương tự như sự phân tán số - nó ngăn cản sự mô phỏng của bạn nổ tung.

Làm thế nào để mô phỏng của bạn nổ tung?

Có sự truyền năng lượng phi vật lý từ sóng cao đến thấp gây ra sự mất ổn định (đầu tiên là sóng simptome - 2h, khoảng cách nút h lưới, sóng nhỏ nhất có thể được biểu diễn trên lưới).

Lý do đằng sau điều này là sự răng cưa của các số sóng cao đối với các tín hiệu sóng thấp có thể được biểu thị bằng lưới. Điều này gây ra "chặn quang phổ" - sự gia tăng phi lý của biên độ (năng lượng đọc) của sóng gió cao, trở nên tồi tệ hơn khi bạn tiếp cận giới hạn trên của sóng gió đại diện.

Biện pháp khắc phục đầu tiên (Philips, 1959): Lọc ra hoặc làm cho bằng 0, nửa trên của phổ sóng quét đại diện.

Biện pháp thứ hai (Orszag, 1971): Phương thuốc được gọi là quy tắc Hai phần ba của Orszag. Steven cho biết "lọc ra một nửa số sóng gió là một sự lãng phí, chúng ta nên giữ 2 / 3N và chỉ lọc ra 1 / 3N trên."

Kết luận.

Mô phỏng của chúng tôi đôi khi có xu hướng nổ tung. Nếu bạn sống theo thứ tự thứ hai, vũ trụ thể tích hữu hạn (như tác giả của những dòng này đã làm) và không biết gì về Phương pháp quang phổ, họ sẽ nói với bạn "Ôi mô phỏng của bạn đang nổ tung? Hãy thử sử dụng gió đầu tiên thay vì sơ đồ trung tâm, hoặc pha trộn lược đồ trung tâm của bạn với 10% gió ngược trong cách tiếp cận hiệu chỉnh bị suy giảm. Điều đó sẽ thêm sự tiêu tan nhưng sẽ ngăn mô phỏng của bạn nổ tung! Oh bạn đang làm LES? Sau đó, bạn không nên sử dụng gió ngược, trừ khi bạn đang thực hiện ILES, chỉ sử dụng sơ đồ trung tâm và Smagorinsky sẽ mô hình hóa sự phân tán vật lý xảy ra ở quy mô thấp nhất. " Nếu bạn sống trong vũ trụ Phương pháp quang phổ, bạn sẽ học được cách truyền năng lượng phi vật lý diễn ra và bạn tìm thấy phương thuốc trong việc giải quyết theo Quy tắc hai phần ba hoặc "đệm".

Cảm hứng của tôi cho bài viết này là một cuốn sách tuyệt vời của J. Boyd "Phương pháp quang phổ Ch Quashev và Fourier", phần 11.

Lời khuyên của tôi là:

Hành động thể chất hoặc phổ quát, nhưng suy nghĩ phổ quát! (Để diễn giải nổi tiếng "Nghĩ toàn cầu, hành động cục bộ.")


1

Không có rò rỉ năng lượng liên quan đến "thỏa thuận" mỗi se, nhưng có rò rỉ năng lượng liên quan đến cắt ngắn luôn được thực hiện có hoặc không có thỏa thuận. Hãy để tôi giải thích:

nếu bạn có hai hàm fg , cả hai đều có nội dung phổ lên đến chế độ k , sản phẩm fg sẽ có nội dung phổ lên đến chế độ 2k . Tuy nhiên, bạn không muốn nội dung phổ của đại diện của bạn tăng gấp đôi ở mỗi bước. Do đó, bạn muốn cắt fg sản phẩm sang chế độ k đầu tiên . Khi làm điều này, bạn sẽ mất năng lượng trong các chế độ cao hơn k .

Giao dịch (hoặc khử răng cưa) đảm bảo rằng các chế độ lên đến k là chính xác trong biểu diễn của fg , nhưng không phải là các chế độ lớn hơn k , vì dù sao chúng sẽ bị loại bỏ.

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.