Adveksiyon-difüzyon denklemine uygulanan Neumann sınır koşullarını kullanırken fiziksel miktarın korunması


25

Farklı sınır koşullarını uyguladığımda, difüzyon difüzyon denkleminin farklı davranışlarını anlamıyorum. Motivasyonum difüzyon ve tavsiye altında gerçek bir fiziksel nicelik (parçacık yoğunluğu) simülasyonu. Parçacık yoğunluğu iç kısımda kenarlardan dışarı akmadıkça korunmalıdır. Bu mantıkla, Neumann sınır şartlarını zorlarsam , sistemin uçlarını ϕx=0(solda ve sağda) o zaman sistem"kapalı"olmalıdır,yani eğersınırdakiakışsıfır ise o zaman parçacık kaçamaz.

Aşağıdaki tüm simülasyonlar için, ben tüm simülasyon var adveksiyon-difüzyon denklemi Crank-Nicolson ayrıştırmayı uygulanmış ve adres ϕx=0sınır şartları. Bununla birlikte, matrisin ilk ve son satırları için (sınır koşulu satırları)βiç değerden bağımsız olarak değiştirilmesineizin veririm. Bu, uç noktaların tamamen örtük olmasını sağlar.

Aşağıda 4 farklı konfigürasyon tartışıyorum, bunlardan sadece biri beklediğim gibi. Sonunda uygulamamı tartışıyorum.

Sadece yayınım sınırı

Burada tavsiye şartları, hızı sıfıra ayarlayarak kapatılır.

Yalnızca dağılma , = 0.5 (Crank-Niscolson) ile tüm noktalardaβ

Sadece yayınım (beta = 0.5 ile Neumann sınırları)

Puls alanı azaltılarak görüldüğü gibi miktar korunmaz.

Yalnızca dağılma, iç noktalarda = 0.5 (Crank-Niscolson) ve sınırlarda = 1 (tam örtülü)ββ

Sadece yayınım (Neumann iç sınırları için beta = 0.5, beta = 1 tamamen kapalı) sınırları

Sınırlar üzerinde tam örtülü denklem kullanarak beklediğim şeyi elde ederim: partikül kaçmaz . Bunu partikül difüzyonu olarak korunan alanla görebilirsiniz. Sınır noktalarında seçimi neden durumun fiziğini etkilemeli? Bu bir hata mı yoksa beklenen mi?β

Yayınım ve tavsiye

Tavsiye terimi dahil edildiğinde, sınırlardaki değeri çözümü etkilemiyor gibi görünüyor. Bununla birlikte, sınırların "açık" olduğu tüm durumlarda, yani parçacıklar sınırlardan kaçabilir. Bu neden böyle?β

Tüm noktalarda = 0.5 (Crank-Niscolson) ile Görüş ve Difüzyonβ

Advection-Diffusion (Beta = 0.5 ile Neumann sınırları)

İç kısımlarda = 0.5 (Crank-Niscolson) ve sınırlarda = 1 (tam örtülü) ifadesi ve yayınımıββ

Adisyon ve Difüzyon (Neumann sınırları iç mekan için beta = 0,5, beta = 1 tamamen açık)

Adveksiyon-difüzyon denkleminin uygulanması

Tavsiye-difüzyon denklemi ile başlayarak,

ϕt=D2ϕx2+vϕx

Crank-Nicolson kullanarak yazma,

ϕjn+1ϕjnΔt=D[1β(Δx)2(ϕj1n2ϕjn+ϕj+1n)+β(Δx)2(ϕj1n+12ϕjn+1+ϕj+1n+1)]+v[1β2Δx(ϕj+1nϕj1n)+β2Δx(ϕj+1n+1ϕj1n+1)]

Not bu Krank Nicolson için = 0.5, tam kapalı = 1, ve, tam olarak açık için = 0.βββ

İşaretlemeyi basitleştirmek için, yerine geçelim.

s=DΔt(Δx)2r=vΔt2Δx

ve zaman türevinin bilinen değerini sağ tarafa taşıyın ,ϕjn

ϕjn+1=ϕjn+s(1β)(ϕj1n2ϕjn+ϕj+1n)+sβ(ϕj1n+12ϕjn+1+ϕj+1n+1)+r(1β)(ϕj+1nϕj1n)+rβ(ϕj+1n+1ϕj1n+1)

Faci terimlerini verir,ϕ

β(rs)ϕj1n+1+(1+2sβ)ϕjn+1β(s+r)ϕj+1n+1Aϕn+1=(1β)(sr)ϕj1n+(12s[1β])ϕjn+(1β)(s+r)ϕj+1nMϕn

Biz matris şeklinde bilgileri hangi burada,Aϕn+1=Mϕn

A=(1+2sββ(s+r)0β(rs)1+2sββ(s+r)β(rs)1+2sββ(s+r)0β(rs)1+2sβ)

M=(12s(1β)(1β)(s+r)0(1β)(sr)12s(1β)(1β)(s+r)(1β)(sr)12s(1β)(1β)(s+r)0(1β)(sr)12s(1β))

Neumann sınır koşullarını uygulama

NB tekrar türev üzerinden çalışıyor sanırım hatayı tespit ettim. Sınır koşulunun sonlu farkını yazarken tamamen örtük bir şema ( = 1) kabul ettim . Burada bir Crank-Niscolson şeması varsayarsanız, karmaşıklık çok fazla olur ve alanın dışındaki düğümleri elimine etmek için ortaya çıkan denklemleri çözemedim. Ancak, bu mümkün görünebilir, iki bilinmeyenli iki denklem var, ancak başaramadım. Bu muhtemelen yukarıdaki birinci ve ikinci grafikler arasındaki farkı açıklar. Bence sadece sınır noktalarında = 0.5 olan arazilerin geçerli olduğu sonucuna varabiliriz .ββ

Sol taraftaki akının olduğu varsayılır (tam olarak kapalı bir form varsayarak),

ϕ1n+1x=σL

Bunu ortalanmış fark olarak yazmak,

ϕ1n+1xϕ2n+1ϕ0n+12Δx=σL

bu nedenle, ϕ0n+1=ϕ2n+12ΔxσL

Bunun , sorunun etki alanının dışında olan bir düğümünü dikkat edin. Bu düğüm ikinci bir denklem kullanılarak elimine edilebilir. düğümünü şöyle yazabiliriz:ϕ0n+1j=1

β(rs)ϕ0n+1+(1+2sβ)ϕ1n+1β(s+r)ϕ2n+1=(1β)(sr)ϕj1n+(12s[1β])ϕjn+(1β)(s+r)ϕj+1n

Sınır koşulunda bulunan değerinde yer değiştirmek , = 1 satırı için aşağıdaki sonucu verir ,ϕ0n+1j

(1+2sβ)ϕ1n+12sβϕ2n+1=(1β)(sr)ϕj1n+(12s[1β])ϕjn+(1β)(s+r)ϕj+1n+2β(rs)ΔxσL

Son satır için aynı prosedürü gerçekleştirmek ( = ) verim,jJ

2sβϕJ1n+1+(1+2sβ)ϕJn+1=(1β)(sr)ϕJ1n+(12s(1β))ϕJn+2β(s+r)ΔxσR

Sonunda sınır satırlarını örtük kılmak (setting = 1),β

(1+2s)ϕ1n+12sϕ2n+1=ϕj1n+1ϕjn+2(rs)ΔxσL

2sϕJ1n+1+(1+2s)ϕJn+1=ϕJn+2(s+r)ΔxσR

Bu nedenle Neumann sınır koşullarında matris denklemini yazabiliriz, ,Aϕn+1=Mϕn+bN

nerede,

A=(1+2s2s0β(rs)1+2sββ(s+r)β(rs)1+2sββ(s+r)02s1+2s)

M=(100(1β)(sr)12s(1β)(1β)(s+r)(1β)(sr)12s(1β)(1β)(s+r)001)

bN=(2(rs)ΔxσL002(s+r)ΔxσR)T

Şu anki anlayışım

  • Birinci ve ikinci arsalar arasındaki farkın yukarıda açıklanan hatayı dikkate alarak açıklandığını düşünüyorum.

  • Fiziksel miktarın korunmasına ilişkin olarak. I neden olduğunu düşünüyoruz, burada belirtildiği gibi , bir dalga sadece geçer, böylece ters yönde yayılma izin vermez yazdım şeklinde adveksiyon denklemi sıfır akı sınır koşulları için bile . Koruma konusundaki ilk sezgilerim sadece tavsiye süresi sıfır olduğunda uygulanır (bu alanın korunduğu 2 numaralı arsadaki çözümdür).

  • Hatta ile Neumann sıfır akı sınır koşulları kütle hala sistemi terk bu durumda doğru sınır koşulları, çünkü, bu , Robin sınır koşulları içinde toplam akı belirtilen . Dahası, Neunmann durumu kütlenin bölgeyi difüzyon yoluyla terk edemediğini belirtir, savunuculuk hakkında hiçbir şey söylemez. Temel olarak duyduklarımız difüzyona kapalı sınır koşulları ve savunmaya açık sınır koşullarıdır. Daha fazla bilgi için buradaki cevaba bakınız, Derecede sıfır sınır koşulunun adveksiyon-difüzyon denkleminde uygulanmasıϕx=0j=Dϕx+vϕ=0.

Katılıyor musunuz?


Sınır şartlarının doğru uygulanmadığı görülüyor. Sınır koşullarını nasıl dayattığınızı bize gösterir misiniz?
David Ketcheson

Tamam Ben uygulama ile güncellendi ve sanırım sadece sınır satırlarında = 0.5 uygulanması ile ilgili hata tespit ettim . Sorunun altındaki "şimdiki anlayışımı" güncellendi. Yorumunuz var mı? β
boyfarrell

Öyleyse ... Sınırların ayrıklaştırılması Robin sınırlarında ne gibi görünüyor? Neumann sınırları için gösterdin, ama Robin sınırları için değil.

Yanıtlar:


15

Bence sorunlarınızdan biri (yorumlarınızda gözlemlediğiniz gibi) Neumann koşulları, aradığınız koşullar değil, yani miktarınızın korunmasını gerektirmez. Doğru koşulu bulmak için PDE'nizi olarak yeniden yazın.

ϕt=x(Dϕx+vϕ)+S(x,t).

Şimdi terimi parantez içinde görünür, olan toplam akı ve bu muhafaza etmek için sınırları üzerinde sıfıra koymak gerekir miktardır . ( Genelliğin uğruna ve yorumlarınız için ekledim .) Uygulamanız gereken sınır koşulları (boşluk alanınızın olduğunu varsayalım )Dϕx+vϕ=0ϕS(x,t)(10,10)

Dϕx(10)+vϕ(10)=0

sol taraf için ve

Dϕx(10)+vϕ(10)=0

sağ taraf için. Bunlar, sözde Robin sınır koşulu (Vikipedi'nin bunların açıkça tavsiye-yayılma denklemleri için yalıtıcı koşullar olduğunu söylediğini unutmayın).

Bu sınır koşullarını belirlerseniz, aradığınız koruma özelliklerini elde edersiniz. Aslında, uzay alanı üzerinde bütünleşerek,

ϕtdx=x(Dϕx+vϕ)dx+S(x,t)dx

Sağ taraftaki parçaların entegrasyonunu kullanarak

ϕtdx=(Dϕx+vϕ)(10)(Dϕx+vϕ)(10)+S(x,t)dx

Şimdi, iki merkezi terim sınır şartları sayesinde ortadan kalkar. Zamanla bütünleşerek,

0Tϕtdxdt=0TS(x,t)dxdt

ve eğer ilk iki integrali değiştirmemize izin verilirse ,

ϕ(x,T)dxϕ(x,0)dx=0TS(x,t)dx

Bu, alanın dıştan yalıtıldığını gösterir. Özellikle, , korunumunu alırız .S=0ϕ


Şimdi neden sadece = 0; çünkü bu, yukarıdaki yaklaşımınızı izleyerek koruma anlamına gelir. Bu sınır koşulunu yukarıdakilerde kullanmanın sonucu ne olurdu, dalga yansıtır mı? Bunun mümkün olmayacağını düşündüm çünkü denklemde bana negatif hız verecek bir şey yok mu? v
boyfarrell

Bilmenin en iyi yolu muhtemelen denemek! Fakat eğer bu doğru davranırsa (ve IMO da yaparsa), alanın sol tarafında birikmeye başlayan belirli miktarda görmelisiniz : tavsiye bu yöne iter ancak sınır kapatır. Difüzyon onu dengelemek için yeterince büyük olduğunda, birikim durur. Yani hayır, yansıyan bir dalga olmamalıdır. ϕϕ
Dr_Sam

@DrSam Uygulama ile ilgili sadece bir soru. Sol tarafta miktarın nasıl sıfırlanacağı konusundaki amacınızı anlıyorum. Ama "sadece bir sınır terimi" derken, bunun anlamı nedir? Sınır koşullarının Neumann veya Dirichlet (veya ikisinin karışımı) olması gerektiğini düşündüm?
boyfarrell

@boyfarrell Cevaptaki sol / sağ, uygulandığı şekilde değil (netlik için düzenlenmiş) doğru sınır koşullarının türetilmesine atıfta bulunuyordu. Robin koşulları klasik koşullardır, ancak Dirichlet ve Neumann'dan daha az bilinen olmasına rağmen.
Dr_Sam

Peki, uygulama ile ilgili olarak, her iki sınır için de Robin sınır şartlarını türetmem gerektiğini düşünüyor musunuz? Ayrıca, denklemin bir reaksiyon terimi varsa (örneğin, sınır koşulunun da bu terimi içermesi gerekiyor mu?
ϕt=x(Dϕx+vϕ)+S(x,t)
boyfarrell
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.