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+1−uj−1)/2Δt(uj−uj−1)/Δ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:
un+1j−unjΔt=Dun+1j−1−2un+1j+un+1j+1Δx2
Jika kita mensubstitusi dalam gelombang bidang, kemudian bagi dengan dan , kita mendapatkan persamaane i k j Δ xξneikjΔx
ξ−1Δt=De−ikΔx−2+eikΔxΔx2ξ
Bersihkan ini sedikit sekarang dan kami mendapatkan:
ξ=11+2DΔtΔx2(1−coskΔx) .
Ini selalu kurang dari satu, jadi Anda jelas. Coba terapkan ini untuk skema eksplisit, terpusat untuk persamaan advection:
un+1j−unjΔt=vunj−1−unj+12Δ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.uj−uj−1v>0uj−uj+1v<0VΔt/Δx≤1