Tavsiye denklemini çözmeye çalışıyorum ama dalga sınırlardan yansıdığında çözümde ortaya çıkan tuhaf bir salınım var. Eğer bu eseri daha önce kimse görmüşse, nedenini ve nasıl önleneceğini bilmek isterdim!
Bu, animasyonu görüntülemek için ayrı pencerede açılan bir animasyonlu gif (önbelleğe alındıktan sonra yalnızca bir kez oynatılacak veya oynatılmayacak!)
Dalga ilk sınırdan yansımaya başlayana kadar yayılımın oldukça kararlı göründüğüne dikkat edin. Burada ne olabileceğini düşünüyorsun? Birkaç gün kodumu kontrol ederek geçirdim ve herhangi bir hata bulamadım. Garip çünkü iki yayıcı çözüm var gibi görünüyor: biri pozitif diğeri negatif; ilk sınırın yansımasından sonra. Çözümler bitişik ağ noktaları boyunca ilerliyor gibi görünüyor.
Uygulama detayları takip edilir.
Tavsiye denklemi,
burada yayılma hızıdır.
Crank-Nicolson, uzayda yavaşça değişken olması koşuluyla denklem için Fourier dönüştürüldüğünde düşük frekanslı bileşenleri içerir ) koşulsuz (pdf bağlantısı) kararlı bir ayrıklaştırmadır .
Uyguladığım takdir yetkisi,
Bilinmeyenleri sağ tarafa koymak, bunun doğrusal biçimde yazılmasını sağlar,
burada (şimdiki zaman ile gelecek nokta arasında eşit olarak ağırlıklı zaman ortalamasını almak için) ve .
Bu denklem seti matrisine sahiptir , burada,
ve vektörleri , çözmek istediğimiz miktarın bilinir ve bilinmezdir.
Daha sonra sol ve sağ sınırlara kapalı Neumann sınır koşulları uygularım . Kapalı sınırlarla , her iki arayüzde demek istiyorum . Kapalı sınırlar için (burada çalışmamı göstermeyeceğim) sadece yukarıdaki matris denklemini çözmemiz gerektiği ortaya çıktı. @DavidKetcheson tarafından belirtildiği gibi, yukarıdaki matris denklemleri aslında Dirichlet sınır koşullarını tanımlar . Neumann sınır şartları için,
Güncelleştirme
Davranış, kullandığım sabitlerin seçiminden oldukça bağımsız görünüyor, ancak bunlar yukarıda gördüğünüz çizim için değerlerdir:
- = 2
- dx = 0.2
- dt = 0.005
- = 2 (Gauss hwhm)
- = 0.5
Güncelleme II
Sıfır olmayan difüzyon katsayısına sahip bir simülasyon, (aşağıdaki yorumlara bakınız), salınım kayboluyor, ancak dalga artık yansıtmıyor !? Nedenini anlamadım