SPH

Z testwiki
Przejdź do nawigacji Przejdź do wyszukiwania

SPH (Szablon:Ang.) – metoda numeryczna służąca do przeprowadzania symulacji numerycznych zachowania się płynów. W metodzie tej ciecz jest reprezentowana przez zbiór dyskretnych cząstek (bądź „pseudocząstek”), które oddziałują ze sobą poruszając się wraz z przepływem i niosąc ze sobą wszystkie informacje o płynie[1].

Metoda ta została zaproponowana w roku 1977 niezależnie przez R.A. Gingolda & J.J. Monaghana oraz przez L.B.Lucy do prowadzenia obliczeń z dziedziny astrofizyki. Początkowo używana była do symulacji ściśliwych cieczy nielepkich. Z czasem została rozwinięta na nieściśliwe ciecze lepkie znajdujące się w polu grawitacyjnym, a także na zagadnienia z dziedziny magnetohydrodynamiki.

Równania ruchu

W metodzie SPH do opisu stanu cieczy używa się opisu Lagrange’a, gdzie siatka obliczeniowa porusza się wraz z przepływem cieczy. W takim wypadku równanie Naviera-Stokesa dla i-tej cząstki przybiera postać

dvdt=pρ+avisc+Φ,

gdzie:

v – prędkość,
p – ciśnienie,
ρ – gęstość,
avisc – przyspieszenie wynikające z istnienia sił lepkości,
Φ – przyspieszenie wynikające z obecności sił masowych (np. pola grawitacyjnego).

Metoda SPH

Podstawy

Metoda ta opiera się na teorii interpolacji. Ciągłe rozkłady takich parametrów jak gęstość czy ciśnienie cieczy zastępuje się odpowiednimi estymatami przy założonym pewnym jądrze interpolacji. Obliczenia wykonujemy dla dyskretnego zbioru N cząstek płynu.

Estymata pewnej wielkości A w pozycji i-tej cząstki jest dana jako

Ai=j=1NmjAjρjWij.

Natomiast estymata gradientu wielkości A jako

iAi=j=1NmjAjρjiWij,

gdzie:

ρj – gęstość j-tej cząstki,
mj – masa j-tej cząstki,
Wij=W(r,h) – jądro interpolacji.

Ilość sąsiadów i długość wygładzania

Parametr h jest nazywany długością wygładzania (smoothing length). Jest to wielkość, która określa na jaką odległość cząstka może oddziaływać z innymi cząstkami. Najczęściej w symulacji pozostaje stała podczas trwania obliczeń. Należy tylko uwzględnić, aby w promieniu 2h znajdowała się odpowiednia liczba sąsiadów. Liczba ta powinna się wahać w granicach od NN/2 do 2NN.

Tabela 1. Ilość sąsiadów w promieniu 2h w zależności od liczby wymiarów symulacji
Jeden wymiar Dwa wymiary Trzy wymiary
Liczba sąsiadów NN 5 15 55

Jądro interpolacji

Funkcja jądra interpolacji powinna mieć postać

W(r,h)=1hνf(u),

gdzie:

ν – liczba wymiarów,
u=r/h,
r – odległość między cząstkami.

Dodatkowo funkcja f(u) powinna spełniać warunki

f(u)dV=1,
limh0f(u)=δ(r).

przy czym dV jest elementem objętości, równym odpowiednio du, 2πudu lub 4πu2du w jednym, dwóch lub trzech wymiarach.

Najczęściej stosuje się jednak jądro interpolacyjne zaproponowane przez Monaghana

W(r,h)=σhν{13/2u2+3/4u30u11/4(2u)31<u20u>2

A, jego gradient w postaci

W(r,h)=σhν+1r^{3u+9/4u20u13/4(2u)21<u20u>2

gdzie:

r^=rirj|rirj|.
Tabela 2. Wartości parametrów σ i ν w zależności od liczby wymiarów symulacji
Jeden wymiar Dwa wymiary Trzy wymiary
ν 1 2 3
σ 23 107π 1π

Sztuczna lepkość

Lepkość w metodzie SPH jest uwzględniana poprzez dodanie w równaniu Naviera-Stokesa przyspieszenia w postaci

aivisc=j=1NmjΠijiWij,

gdzie:

Πij=αcμij+βμij2ϱij,
α,β – stałe, często przyjmowane jako α=0,5, β=1,0,
ϱij=(ϱi+ϱj)/2,
μij={h2vijrijrij2+η2h2vijrij<00vijrij0,
η – stała, często przyjmowane jako η=0,1,
vij=vivj,
rij=rirj,
rij=|rirj|.

Równanie stanu

Najczęściej stosuje się równanie stanu w postaci

c=pγρ,

gdzie:

γ=cp/cV,
cprędkość dźwięku w tym opisywanym płynie,

przy założeniu warunku

vic.

Innym równaniem stanu stosowanym dla cieczy jest

p=p0[(ρρ0)γ1],

gdzie:

ρ0 i p0 – maksymalne przyjęte wartości gęstości i ciśnienia,
γ=7.

Ostateczne równanie

Po podstawieniu estymat do równania Naviera-Stokesa (i nie uwzględniając pola grawitacyjnego) otrzymujemy do rozwiązania równanie dla i-tej cząstki

ai=dvidt=c2γj=1Nmj(1ρi+1ρj+Πij)iWij,

które można wyznaczać dowolną metodą numerycznego całkowania równań różniczkowych, ale przy założeniu, że krok czasowy spełnia warunek Couranta

Δt0,25hc.

Przypisy

Szablon:Przypisy

Bibliografia