Kütle korunum denklemine bakıyorsunuz:
dmdt= 0
Birim hacim başına kütle evrimi düşünüldüğünde, bu, akı formundaki yoğunluk artışı denklemine kadar düşmektedir:
∂ρ∂t= - ∇ ⋅ ( ρ u )
Bununla ilgili iyi bir şey, sadece rastgele bir skaler alanın tavsiye denkleminin olmasıdır (bizim durumumuzda, bu yoğunluk ) ve çözülmesi kolay, yeterli zaman ve alan farklılığı şemaları sağlanmış ve başlangıç ve sınır şartları.ρ
Sonlu bir farklılık şeması tasarlarken yakınsama, kararlılık ve doğruluktan endişe ediyoruz. , olduğunda bir plan yaklaşıyor . Şemaların stabilitesi, miktarının sınırlı kalmasını sağlar . Düzenin biçimsel doğruluğu, kısmi türevin Taylor genişleme serisindeki kesilme hatasının nerede olduğunu söyler. Farklılık düzeninin bu temel özellikleri hakkında daha fazla bilgi için CFD ders kitabına bakın. Δt→0birt→∞ ikenΔ AΔ t→ ∂bir∂tΔ t → 0birt → ∞
Şimdi, en basit yaklaşım, doğrudan birinci basamak yukarı doğru farklılığa geçmektir. Bu şema pozitif-kesin, muhafazakar ve hesaplamalıdır. İlk iki özellik, her zaman pozitif olan (yani kütle veya yoğunluk) bir miktar evrimini modellerken özellikle önemlidir.
Basit olması için, 1B vakasına bakalım:
∂ρ∂t= - ∂( ρ u )∂x
Akı tanımlamak için hemen uygundur böylece:Φ = ρ u
∂( ρ u )∂x= ∂Φ∂x≈ Δ ΦΔ x≈ ΦI + 1 / 2- ΦI - 1 / 2Δ x
İşte simüle ettiklerimizin şeması:
u u
| --> --> |
| rho | rho | rho |
x-----o-----x-----o-----x-----o-----x
i-1 i-1/2 i i+1/2 i+1
Biz evrimini değerlendiriyoruz hücreye . Net kazanç veya kayıp, gelenlerin, ve , . Paul'ün cevabından sapmaya başladığımız yer burası. Gerçek muhafazakar yukarı akış farkında, hücre merkezindeki miktar, hareket yönünde, hücre kenarındaki hız ile taşınır. Başka bir deyişle, sizin önerilen miktar olduğunuzu ve hücre merkezinde oturduğunuzu düşünüyorsanız, hücre kenarındaki süratle önünüzdeki hücreye taşınırsınız. Hücre kenarındaki akıyı, hem hücre kenarında hem de yoğunluk ve hızda bir ürün olarak değerlendirmek doğru değildir ve tavsiye edilen miktarı korumaz.i Φ i - 1 / 2 Φ i + 1 / 2ρbenΦI - 1 / 2ΦI + 1 / 2
Gelen ve giden akılar şöyle değerlendirilir:
ΦI + 1 / 2= uI + 1 / 2+ | uI + 1 / 2|2ρben+ uI + 1 / 2- | uI + 1 / 2|2ρben + 1
Φi−1/2=ui−1/2+|ui−1/2|2ρi−1+ui−1/2−|ui−1/2|2ρi
Yukarıda belirtilen akı farklılıklarının tedavisi, işlem öncesi kesinliği sağlar. Başka bir deyişle, farklılaşma yönünü hız işaretine göre ayarlar.
Courant-Friedrichs-Lewy (CFL) kararlılık kriteri, basit birinci dereceden zaman farkı ile çalışırken, ileri Euler farklılığı şöyle verilir:
μ=uΔtΔx≤1
2 boyutta, CFL istikrar kriterinin daha katı olduğuna dikkat edin:
μ=cΔtΔx≤12–√
buradaki , hız büyüklüğüdür, .√cu2+v2−−−−−−√
Dikkate alınması gereken bazı şeyler. Bu şema, ne tür bir işlemi simüle ettiğinize bağlı olarak, uygulamanız için uygun olabilir veya olmayabilir. Bu şema oldukça yaygındır ve keskin degradeler olmadan çok yumuşak akışlar için uygundur. Ayrıca, daha kısa zaman adımları için daha yaygındır. Tek boyutlu durumda, gradyanlar çok küçükse ve ise neredeyse kesin bir çözüm elde edersiniz . İki boyutlu olguda bu mümkün değildir ve difüzyon anizotropiktir.μ=1
Fiziksel sisteminiz şok dalgaları veya başka tür yüksek gradyanlar göz önünde bulunduruyorsa, daha yüksek derecedeki (örneğin 3. veya 5. dereceden) ters yönde farklara bakmalısınız. Ayrıca, Flux Corrected Transport şema ailesine bakarken faydalı olabilir (Zalesak, 1979, JCP); Smolarkiewicz (1984, JCP) tarafından yukarıdaki şema için anti-difüzyon düzeltmesi; MPDATA şema ailesi Smolarkiewicz (1998, JCP).
Zaman farkı için, 1. derece ileri Euler farklılığı ihtiyaçlarınız için tatmin edici olabilir. Aksi takdirde, Runge-Kutta (yinelemeli) veya Adams-Bashforth ve Adams-Moulton (çok seviyeli) gibi daha üst düzey yöntemlere bakın.
Yukarıda belirtilen programların bir özeti ve daha birçokları için bazı CFD lisansüstü ders kitaplarına bakmak faydalı olacaktır.