Sessizce çok fazla fikir edinilebilir, daha önce böyle bir şey görüp görmediğini merak ediyordum. Grafik, adveksiyon-difüzyon denklemi için başlangıç koşulunu (yeşil), daha sonra iterasyon 200 (mavi) ve sonra tekrar iterasyon 400 (kırmızı) 'daki çözeltiyi gösterir.
Adveksiyon-difüzyon denkleminin çözeltisi birkaç tekrardan sonra patlar. Péclet numarası ve CFL koşulu karşılanır, , bu nedenle denklemler kararlı olmalıdır . Sayısal kodda bir hata olduğunu tahmin ediyorum.
Arka fon. Ayrıklaştırma, hem kabul hem de yayılma terimleri için merkezi bir farktır. Bunun birinci derece kabul ve ikinci yayınım sırası olduğuna inanıyorum. Bunu, hücre yüzeylerindeki katsayıların (hız ve difüzyon katsayısı) değerlerinin hücre ortalamalarından doğrusal enterpolasyon ile bulunduğu sonlu hacimli bir yaklaşım (ilk kez) kullanarak uyguladım. Sol ve sağ yüzeylere Robin sınır koşullarını uyguluyorum ve sınırlardaki akıyı sıfıra ayarlıyorum.
Sayısal kodunuzda nasıl hata ayıklama yapıyorsunuz? Daha önce böyle bir şey yapan biri var mı, bakmaya başlamak için iyi bir yer olurdu?
Güncelleme
- Burada, adveksiyon-difüzyon denklemi için sonlu bir hacim yöntemi uygulanmasına ilişkin kişisel "laboratuvar kitabı" stil notlarım, http://danieljfarrell.github.io/FVM/
- Python kaynak koduna buradan ulaşabilirsiniz, http://github.com/danieljfarrell/FVM.git
Güncelleme
Çözüm daha kolay olamazdı! Sadece difüzyon teriminde bir işaret hatası yaptım. Bu garip, eminim ben bu yayınlanmış olmasaydı ben hata bulamazdım! Birisi nasıl sayısal kod hata ayıklama ipuçları paylaşmak istiyorsa ben hala ilgileniyorum. Bir yöntemim yok, biraz vurup özledim, ipucu almak için bir şeyler denemeye devam ediyorum, ancak bu işlem haftalar sürebilir (bazen).
O (işleri Kanıtı NB sonlu hacimli yöntemi ile bölgeyi hesaplamak için tüm yapmanız gereken genişlikte bir toplamını olduğunu böyle numpy.trapz senin sonuçları gibi bir entegrasyon yöntemini kullanırsanız tüm hücreler için boy, nümerik dahil yamuk yönteminin hatası). Burada ne oluyor? Sabit hız ve difüzyon katsayıları vardır ama ile kapalı sınır koşulları. Bu nedenle sınırda sağa doğru iten hız alanı ile sola doğru difüzyon itme arasındaki dengeyi görüyoruz.