Sonlu hacimler yöntemi kullanılırken sınır koşulları nasıl uygulanmalıdır?


16

Benim aşağıdaki önceki soruya ben, bu düzgün olmayan sonlu hacim örgü için sınır koşulları kullanılarak çalışıyorum

Sol taraftaki sınır, hayalet hücre içerir.

Etki alanının lhs ( bir Robin türü sınır koşulu uygulamak istiyorum , böylece,x=xL)

σL=(dux+au)|x=xL

burada sınır değeridir; a , d sırasıyla sınır, kabul ve difüzyon üzerinde tanımlanan katsayılardır; u x = uσLa,d , türeviusınır değerlendirildi veUbiz çözme olan bir değişkendir.ux=uxuu

Olası yaklaşımlar

Bu sınır koşulunu yukarıdaki sonlu hacim ağına uygulamanın iki yolunu düşünebilirim:

  1. Bir hayalet hücre yaklaşımı.

    bir hayalet hücre dahil sonlu fark olarak yazın . σ L = d u 1 - u 0ux

    σL=du1u0h+au(xL)

    A. Daha sonra ara değeri ( u ( x L )) bulmak için x 0 ve x 1 noktaları ile doğrusal enterpolasyon kullanın .x0x1u(xL)

    Alternatif olarak , hücrelerin ortalamasını alarak bulun , u ( x L ) = 1u(xL)u(xL)=12(u0+u1)

    Her iki durumda da, hayalet hücreye bağımlılık olağan şekilde ortadan kaldırılabilir (sonlu hacim denklemine ikame yoluyla).

  2. Bir ekstrapolasyon yaklaşımı.

    X 1 , x 2 ( x 3 ) noktalarındaki değerleri kullanarak e doğrusal (veya karesel) bir işlev takın . Bu, u ( x L ) değerindeki değeri sağlayacaktır . Daha sonra doğrusal (veya karesel) fonksiyon , sınırdaki u x ( x L ) türevinin değeri için bir ifade bulmak üzere farklılaştırılabilir . Bu yaklaşım yok değil bir hayalet hücre kullanın.u(x)x1,x2x3u(xL)ux(xL)

Sorular

  • Bu üç yaklaşımdan hangisi (1A, 1B veya 2) "standarttır" ya da tavsiye edersiniz?
  • Hangi yaklaşım en küçük hatayı getirir veya en kararlı olanıdır?
  • Sanırım hayalet hücre yaklaşımını kendim uygulayabilirim, ancak ekstrapolasyon yaklaşımı nasıl uygulanabilir, bu yaklaşımın bir adı var mı?
  • Doğrusal bir işleve uymakla ikinci dereceden bir denklem arasında herhangi bir kararlılık farkı var mı?

Spesifik denklem

Bu sınırı doğrusal olmayan kaynak terimine sahip (korunma biçiminde) adveksiyon-difüzyon denklemine uygulamak istiyorum,

ut=aux+duxx+s(x,u,t)

Yukarıdaki bu denklemi diskretizasyonu kullanarak örgü verir kullanılan yöntem,θ

wjn+1θrawj1n+1θrbwjn+1θrcwj+1n+1=wjn+(1θ)rawj1n+(1θ)rbwjn+(1θ)rcwj+1n+s(xj,tn)

j=1θ=1

w1n+1raw0n+1rbw1n+1rcw2n+1=w1n+s1n

w0n+1

Katsayıların tanımları vardır,

ra=Δthj(ahj2h+dh)

rb=Δthj(a2[hj1hhj+1h+]+d[1h1h+])

rc=Δthj(ahj2h++dh+)

hΔtadr


1
LeVeque'in sonlu hacim yöntemleri hakkındaki daha yeni kitabı, uygulama basitlikleri nedeniyle hayalet hücreleri savunuyor, ancak hata terimlerinin tartışmasını hatırlamıyorum.
Geoff Oxberry

Çözmek istediğiniz denklemleri bırakabilir misiniz? Gidilecek yol da soruna bağlı olacaktır. Örneğin, 'Neumann' kısmı nedeniyle, sınır koşullarının ayrı formülasyonda doğal olarak çözülmüş gibi olması iyi olabilir.
Ocak

@GeoffOxberry öneri için teşekkürler. Hayalet hücre kullanmaktan mutluyum, bu şekilde uygulamaya çalışacağım.
boyfarrell

@Jin eşit olmayan örgü ayrıklığı nedeniyle karmaşıklığı nedeniyle denklemleri koymaktan kaçındım, ancak soruyu bu ayrıntılarla güncelledim. Bu bir difüzyon-difüzyon problemidir. "Doğal olarak çözümlenmiş" derken ne demek istediğinizden emin değilim.
boyfarrell

0hdx(au+dux)dx=(au+dux)|x=h1(au+dux)|x=0=suxsınırda, ayrıklaştırmaya gerek yoktur.
Jan

Yanıtlar:


9

Bu somut soruların cevabından ziyade FVM hakkında genel bir açıklamadır. Ve mesaj şudur ki, sınır koşullarının bu kadar geçici bir takdirine ihtiyaç duyulmamalıdır.

Başlangıç ​​noktasının çözelti için ayrı bir ansatz olduğu FE- veya FD yöntemlerinden farklı olarak, FVM yaklaşımı çözeltiye dokunulmaz (ilk başta), ancak alanın bir segmentasyonu üzerinde ortalamalar alır. Çözeltinin ayrıklaştırılması ancak elde edilen denge denklemleri sistemi arayüzler arasındaki akılara yaklaşılarak bir cebirsel denklem sistemine dönüştürüldüğünde devreye girer.

Bu anlamda, sınır koşulları göz önüne alındığında, mümkün olduğunca uzun süre çözümün sürekli biçimine bağlı kalmanızı ve ayrık yaklaşımları yalnızca en sonunda tanıtmanızı tavsiye ederim.

ut=aux+duxx+s(x,u,t)
[0,h1)
0h1utdx=0h1x(au+dux)dx+0h1s(x,u,t)dx=(au+dux)|x=h1(au+dux)|x=0+0h1s(x,u,t)dx,
u

Ciuu(t,x)|Ci=ui(t)u(xi)uiux|hiuiui+1u

(au+dux)|x=0u

  • u|x=0=gDu0u1gD

  • ux|x=0=gNu0u1gN

  • (au+dux)|x=0=gR

Ancak, emin değilim, doğrudan akı ile eşleşmeyen Robin tipi bc'ler olması durumunda ne yapmalı. Bu, adveksiyon ve difüzyon parametrelerinin süreksizliğinden dolayı bazı düzenli hale getirme gerekecektir.


===> FVM hakkında bazı kişisel düşünceler <===

  • FVM, düzenli bir ızgaradaki 1D Poisson denklemlerinin örnekleri genellikle önerdiği gibi ölçekli bir FDM değildir.
  • FVM'de bir ızgara olmamalı, arayüzlü hücreler ve gerekirse merkezler olmalıdır
  • Bu yüzden, şablonlaştırmanın şablon formülasyonunun uygun olmadığını düşünüyorum
  • iΩiui
  • hidi:=di,i+1=|xixi+1|


Bu yöntemi öğrenirken rehberliğiniz için teşekkürler. Belki de düşüncelerimi paylaşabilirim. FVM formuyla mümkün olduğu kadar uzun süre söylemenin en iyisi olduğunu kabul ediyorum; özellikle de gösterdiğiniz gibi sınır koşulları için! Ama ne zaman çok yararlı olduğunu düşünüyorum uygulayan matris şeklinde denklem yazmak için; kesin ve net bir gösterimdir. Ayrıca, kararlılık ve diğer sayısal özellikler, sorunun nasıl ayrıklaştırıldığına bağlıdır (FVM için bu, hücrenin karşı karşıya olduğu akıların nasıl yaklaştığı anlamına gelir). Bu açıdan bir matris denklemini, hücreler üzerinde yinelemeyi tercih ediyorum.
boyfarrell

Belki de son noktam belirsizdi. Sonunda, bir katsayı matrisine ve değişken bir vektörüne sahip olacaksınız. Yazımı düzenleyeceğim. Ben yorumlamakla aslında yapmaktan daha fazlasıydım.
Jan

Fantastik, ne demek istediğini anlıyorum. Teşekkürler.
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.