sıkıştırılamaz Navier-Stokes için üretilen çözümler - ıraksamasız hız alanları nasıl bulunur?


10

Üretilen çözeltiler (MMS) yönteminde, kesin bir çözüm önerilmektedir, denklemlerde ikame edilir ve karşılık gelen kaynak terimi hesaplanır. Çözelti daha sonra kod doğrulaması için kullanılır.

Sıkıştırılamaz Navier-Stokes denklemleri için MMS, süreklilik denkleminde kolayca (sıfırdan farklı) bir kaynak terimine yol açar. Ancak tüm kodlar süreklilik denklemlerinde kaynak terimlerine izin vermez, bu nedenle bu kodlar için sadece ıraksamasız hız alanlarına sahip üretilen çözümler yapacaktır. Bir alan adı için bu örneği buldum u 1Ω=[0,1]2 Genel 3B durumlarda, bir ıraksamasız hız alanı nasıl üretilir?

u1=-marul(πx)günah(πy)u2=günah(πx)marul(πy)

Yanıtlar:


7

Bir vektör akışı kullanın veya iki degradenin çapraz ürününü alın. Yani: burada seçtiğiniz bir vektör alanı veya burada ve seçtiğiniz iki skaler alan.

u=xbir
bir
u=fxg
fg

Hem hızın diverjansız olması hem de sınır koşullarını belirtmesi zordur, ancak kodunuz sınır koşullarınız için rastgele işlevler ayarlamanıza izin verdiği sürece, iyi olmalısınız.

ETA: Tabii ki, momentum denkleminizin bir zorlama fonksiyonunu kabul etmesi gerekecek, ama momentum denklemini zorlamak konusunda devamlılık denklemine bir sağ taraf eklemekten daha iyi hissettim.


Teşekkürler! (süreklilik denkleminin zorlanması sadece bildiğim kadarıyla kavitasyon modellemesinde gerçekleşir)
chris

5

Bu genel bir cevap değildir, ancak Navier-Stokes denklemleri için gerçek akışı tanımlayan üretilmiş çözümler vardır. Örneğin, Kovasznay akış alanı popüler bir seçimdir:

http://link.springer.com/article/10.1007/BF00948290

Orijinal referans: Kovasznay LIG, "İki boyutlu ızgara arkasındaki laminer akış". Proc. Cambridge Philos. Soc., Sayfa 44,1948.


1948 (!) Bunun "gerçek akış" olduğunu anlamamıştım. Yani fiziksel bir deneyde (sayısal bir deneyde simüle edilmenin aksine) gerçekten ölçülebilir mi?
chris

İnanıyorum, evet.
Wolfgang Bangerth

Hayır. Bir ızgaranın arkasındaki bir mesafede idealleştirilmiş akıştır. Ama kimse ızgara neye benzediğini bilmiyor ve büyük olasılıkla "çok yumuşak" malzemeden yapılması gerekiyor
Guido Kanschat

2

Genelde bunu yaparım.

Aerodinamik fonksiyon tanımlayın:

Ψ=[ψxψyψz]

hız eşittir:

u=xΨ=[ux=yψz-zψyuy=zψx-xψzuz=xψy-yψx].

Şimdi herhangi bir makul sıfır ortalamalı basıncı seçebilir ve bir zorlama terimi oluşturabilirsiniz.

Ω=[0,1]3

 from sympy import *

 x,y,z = symbols('x y z')

 X = Matrix([[x],[y],[z]])

 psi = zeros(3,1)
 psi[0,0] = sin(2*pi*x)*y**2*(1-y)**2*z**2*(1-z)**2
 psi[2,0] = x**2*(1-x)**2*y**2*(1-y)**2*sin(2*pi*z)

 curl_psi = zeros(3,1)
 curl_psi[0] = diff(psi[2],X[1]) - diff(psi[1],X[2])
 curl_psi[1] = diff(psi[0],X[2]) - diff(psi[2],X[0])
 curl_psi[2] = diff(psi[1],X[0]) - diff(psi[0],X[1])
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.