Apakah Crank-Nicolson skema diskritisasi yang stabil untuk persamaan Reaksi-Difusi-Adveksi (konveksi)?

26

Saya tidak begitu akrab dengan skema diskritisasi umum untuk PDE. Saya tahu bahwa Crank-Nicolson adalah skema populer untuk mendiskritisasi persamaan difusi. Apakah juga pilihan yang baik untuk masa adveksi?

Saya menarik dalam menyelesaikan persamaan Reaksi-Difusi-Adveksi ,

kamut+(vkamu-Dkamu)=f

di mana D adalah koefisien difusi zat kamu dan v adalah kecepatan.

Untuk aplikasi spesifik saya, persamaannya dapat ditulis dalam bentuk,

kamut=D2kamux2Difusi+vkamuxAdveksi (konveksi)+f(x,t)Reaksi

Berikut adalah skema Crank-Nicolson yang telah saya terapkan,

ujn+1ujnΔt=D[1β(Δx)2(uj1n2kamujn+kamuj+1n)+β(Δx)2(kamuj-1n+1-2kamujn+1+kamuj+1n+1)]+v[1-α2Δx(kamuj+1n-kamuj-1n)+α2Δx(kamuj+1n+1-kamuj-1n+1)]+f(x,t)

Perhatikan persyaratan α dan β . Ini memungkinkan skema untuk bergerak di antara:

  • β=α=1/2 Crank-Niscolson,
  • β=α=1 sepenuhnya tersirat
  • β=α=0 sepenuhnya eksplisit

Nilai-nilainya bisa berbeda, yang memungkinkan istilah difusi menjadi Crank-Nicolson dan istilah adveksi menjadi sesuatu yang lain. Apa pendekatan yang paling stabil, apa yang akan Anda rekomendasikan?

Boyfarrell
sumber

Jawaban:

15

Ini adalah pertanyaan yang disusun dengan baik dan hal yang sangat berguna untuk dipahami. Korrok benar untuk merujuk Anda ke analisis von Neumann dan buku LeVeque. Saya dapat menambahkan sedikit lebih banyak untuk itu. Saya ingin menulis jawaban terperinci, tetapi saat ini saya hanya punya waktu untuk yang singkat:

Dengan , Anda mendapatkan metode yang benar-benar stabil untuk ukuran langkah besar yang sewenang-wenang, serta urutan kedua akurat. Namun, metode ini tidak L- stabil, sehingga frekuensi yang sangat tinggi tidak akan teredam, yang secara fisik tidak.α=β=1/2

Dengan , Anda mendapatkan metode yang juga stabil tanpa syarat, tetapi hanya urutan pertama yang akurat. Metode ini sangat disipatif. Itu L- stabil.α=β=1

Jika Anda menggunakan , metode Anda dapat dipahami sebagai penerapan metode Runge-Kutta aditif ke semi-diskretisasi terpusat-perbedaan. Analisis stabilitas dan akurasi untuk metode-metode semacam itu jauh lebih rumit. Makalah yang sangat bagus tentang metode tersebut ada di sini .αβ

Pendekatan mana yang direkomendasikan sangat bergantung pada besarnya , jenis data awal yang Anda tangani, dan akurasi yang Anda cari. Jika akurasi sangat rendah dapat diterima, maka adalah pendekatan yang sangat kuat. Jika sedang atau besar, maka masalahnya didominasi difusi dan sangat kaku; biasanya akan memberikan hasil yang baik. Jika sangat kecil, maka mungkin menguntungkan untuk menggunakan metode eksplisit dan gelombang tinggi untuk istilah konvektif.α = β = 1 D α = β = 1 / 2 DDα=β=1Dα=β=1/2D

David Ketcheson
sumber
Jawaban yang sangat mendalam, terima kasih! Apakah ada cara untuk mendefinisikan berbagai rezim yang didominasi difusi dan didominasi adveksi? Selain membandingkan besarnya persyaratan? Misalnya, dengan membandingkan koefisien saja? Apa arti istilah teknis L-stabilitas. Semua orang merekomendasikan buku ini, saya harus membelinya!
boyfarrell
Kriteria yang saya berikan kepada Anda hanya melibatkan koefisien. Secara singkat, L-stabilitas berarti bahwa frekuensi tinggi akan sangat teredam.
David Ketcheson
Jadi ketika adalah fungsi yang halus (seperti dalam arti, ia tidak memiliki komponen Fourier frekuensi tinggi) Crank-Nicolson adalah pilihan yang baik. Namun, jika memiliki tepi yang tajam maka adalah pilihan yang baik. u ( x ) β = 1kamu(x)kamu(x)β=1
boyfarrell
Itu adalah generalisasi yang masuk akal, meskipun sangat kasar. Pilihan-pilihan itu setidaknya akan berfungsi jika Anda tidak membutuhkan akurasi yang tinggi.
David Ketcheson
10

Secara umum, Anda akan ingin menggunakan metode implisit untuk persamaan parabola (bagian difusi) - skema eksplisit untuk PDE parabola perlu memiliki catatan waktu yang sangat singkat untuk menjadi stabil. Sebaliknya, untuk bagian hiperbolik (adveksi) Anda akan menginginkan metode eksplisit karena lebih murah dan tidak mengganggu simetri sistem linear yang harus Anda selesaikan dengan menggunakan skema implisit untuk difusi. Dalam hal ini, Anda ingin menghindari perbedaan terpusat seperti dan beralih ke perbedaan satu sisi untuk alasan stabilitas.( u j - u j - 1 ) / Δ t(uj+1uj1)/2Δt(ujuj1)/Δt

Saya sarankan Anda melihat buku Randy Leveque atau buku Dale Durran untuk "analisis stabilitas von Neumann". Ini adalah pendekatan umum untuk memastikan stabilitas skema diskritisasi Anda, asalkan Anda memiliki kondisi batas berkala. (Ada juga artikel wiki yang bagus di sini .)

Ide dasarnya adalah mengasumsikan bahwa pendekatan diskrit Anda dapat dituliskan sejumlah gelombang bidang , di mana adalah bilangan gelombang dan frekuensi. Anda menjejalkan gelombang pesawat ke perkiraan Anda ke PDE dan berdoa itu tidak meledak. Kita dapat menulis ulang gelombang pesawat sebagai dan kami ingin memastikan bahwa . k ω ξ n e i k j Δ x | ξ | 1ei(kjΔxωnΔt)kωξneikjΔx|ξ|1

Sebagai ilustrasi, perhatikan persamaan difusi biasa dengan pembedaan sepenuhnya implisit:

ujn+1ujnΔt=Duj1n+12ujn+1+uj+1n+1Δx2

Jika kita mensubstitusi dalam gelombang bidang, kemudian bagi dengan dan , kita mendapatkan persamaane i k j Δ xξneikjΔx

ξ1Δt=DeikΔx2+eikΔxΔx2ξ

Bersihkan ini sedikit sekarang dan kami mendapatkan:

ξ=11+2DΔtΔx2(1coskΔx) .

Ini selalu kurang dari satu, jadi Anda jelas. Coba terapkan ini untuk skema eksplisit, terpusat untuk persamaan advection:

ujn+1ujnΔt=vuj1nuj+1n2Δx

dan melihat apa yang Anda dapatkan. (Ini akan memiliki bagian imajiner saat ini.) Anda akan menemukan bahwa , yang merupakan masa-masa yang menyedihkan. Oleh karena itu nasihat saya bahwa Anda tidak menggunakannya. Jika Anda bisa melakukan itu, maka Anda tidak akan kesulitan menemukan skema yang stabil untuk persamaan advection-difusion penuh.ξ|ξ|2>1

Yang mengatakan, saya akan menggunakan skema sepenuhnya implisit untuk bagian difusi. Ubah perbedaan di bagian menjadi jika dan jika dan pilih timestep sehingga . (Ini adalah kondisi Courant-Friedrichs-Lewy .) Ini hanya urutan pertama yang akurat, jadi Anda mungkin ingin mencari skema diskritisasi tingkat tinggi jika itu menyangkut Anda.ujuj1v>0ujuj+1v<0VΔt/Δx1

Daniel Shapero
sumber
Itu jawaban yang sangat terperinci, terima kasih.
boyfarrell
Jawaban ini hanya mempertimbangkan diskritisasi berdasarkan metode Euler maju dan mundur dalam waktu. Pertanyaannya adalah tentang Crank-Nicholson.
David Ketcheson