Type a search term to find related articles by LIMS subject matter experts gathered from the most trusted and dynamic collaboration tools in the laboratory informatics industry.
Równania Naviera-Stokesa (nazwane na cześć Claude’a-Louis Naviera i George’a Gabriela Stokesa) – zestaw równań opisujących zasadę zachowania pędu dla poruszającego się płynu. Według nich zmiany pędu elementu płynu zależą jedynie od sił masowych, zewnętrznego ciśnienia i wewnętrznych sił lepkości w płynie.
Dla płynu idealnego o zerowej lepkości równania mówią, że przyspieszenie jest proporcjonalne do gradientu ciśnienia.
Równania są wyrażone w postaci różniczkowej, dla danego problemu fizycznego muszą być znalezione na drodze rachunku różniczkowego i całkowego. W praktyce jedynie najprostsze przypadki mogą być rozwiązane analitycznie, na przykład nieturbulentnego (laminarnego), stacjonarnego przepływu (niezmieniającego się w czasie), w których liczba Reynoldsa ma małą wartość[1].
W bardziej złożonych przypadkach, jak prognozowanie pogody na Ziemi, analiza El Niño lub obliczenia siły nośnej skrzydeł samolotów, rozwiązania równań Naviera-Stokesa mogą być znalezione jedynie metodami numerycznymi przy pomocy komputerów. Jest to oddzielna dziedzina nauki zwana obliczeniową mechaniką płynów.
W 2000 roku Instytut Matematyczny Claya ogłosił równania Naviera-Stokesa jednym z siedmiu problemów milenijnych matematyki i zaoferował 1 000 000 dolarów nagrody za podanie rozwiązania lub kontrprzykładu[1]. Oficjalny opis problemu przedstawił Charles Fefferman.[2]
Ogólna forma równań Naviera-Stokesa[3]. Dwa ostatnie człony po prawej stronie równania wynikają z uwzględnienia niestałości lepkości w obrębie przepływu – uproszczone formy równań Naviera-Stokesa znajdują się w sekcji #Dodatkowe założenia:
gdzie:
Powyższe równania Naviera-Stokesa zostały podane w formie operatorowej, która dla wszystkich układów współrzędnych przestrzennych ma taką samą postać (ale już nie w sytuacji gdy zmieniamy współrzędne w czasie np. wprowadzenie wirującego układu współrzędnych spowoduje pojawienie się dodatkowych elementów w równaniach związanych z efektem Coriolisa). Ponadto, przy wyznaczaniu jawnej postaci różniczkowej równań dla konkretnego układu współrzędnych przestrzennych musimy znaleźć postać wszystkich elementów równania (w tym operatorów) dla docelowego układu współrzędnych – przykładowo: element zawierający wektorowy operator Laplace’a dla cylindrycznego układu współrzędnych będzie miał postać:
gdzie symbol pochodnej cząstkowej z dolnym indeksem/ami obejmuje tylko bezpośrednio następujący po nim symbol np.
Równanie wektorowe NS dla poszczególnych współrzędnych przyjmuje postać
gdzie użyto oznaczeń pochodnych cząstkowych oraz
Wyprowadzenie rozpoczyna się od równania pędu Cauchy’ego zapisanego w kartezjańskim układzie współrzędnych (upraszczający obliczenia i stanowiącym punkt wyjścia dla innych układów wsp.), dla którego gdzie w ostatniej równości po prawej działania możemy traktować jak mnożenie/transpozycje wektorów i macierzy (co również będziemy wykorzystywali w dalszej części wyprowadzenia)[4]:
Uwagi dotyczące notacji |
---|
Ponieważ operator nabla nie jest przemienny tj. działa tylko prawostronnie - przykładowo po lewej stronie wyliczamy gradient z iloczynu funkcji fg, w środku liczymy iloczyn funkcji f i gradientu funkcji g, po stronie prawej z kolei dostajemy operator, który liczy gradient argumentu, po czym mnoży go przez iloczyn fg - co jest widoczne w formie macierzowej Zatem równość prawdziwa dla macierzy nie zachodzi dla operatora nabla tj. po lewej otrzymujemy operator, a po prawej już zróżniczkowany wektor - co jest bardziej widoczne w postaci macierzowej generalnie powoduje to że nie możemy swobodnie zamieniać kolejności działań jeżeli używamy operatora nabla - co widać w dalszych wyprowadzeniach.
Zwróćmy uwagę, że korzystając z reguł mnożenia macierzowego nie możemy mnożyć przez siebie dwóch wektorów kolumnowych - dlatego tego typu zapis traktujemy jako iloczyn skalarny wektorów - w szczególności gdy używamy operatora nabla Natomiast jeśli mamy wektor wierszowy i mnożymy go prawostronnie przez wektor kolumnowy, to działanie interpretujemy jako mnożenie macierzowe (a nie iloczyn skalarny - choć akurat w kartezjańskim układzie współrzędnych wynik będzie taki sam) Jeżeli wymnożymy wektor kolumnowy przez wierszowy to w wyniku otrzymamy macierz Natomiast lewostronne mnożenie macierzy M przez wektor kolumnowy jest niedozwolone Aby wykonać tego typu mnożenie należy najpierw transponować wektor (a wynik jest wektorem wierszowym) Jeśli chcemy otrzymać wektor kolumnowy, należy na koniec dokonać kolejnej transpozycji (wynikowego wierszowego wektora) |
Aby otrzymać równania Naviera-Stokesa, należy poczynić założenia w celu zamodelowania tensora naprężeń Zwyczajowo tensor naprężenia dzieli się na dwie części:
Detale |
---|
Po wprowadzeniu oznaczeń oraz dla do macierzy naprężenia będzie wyglądało to tak |
gdzie to macierz jednostkowa. Gdy płyn jest nieruchomy w polu sił, to tensor zeruje się natomiast ciśnienie p niekoniecznie.
W oznaczeniach poniżej przyjmuje się, że oraz Ponadto będziemy stosować konwencję sumacyjną Einsteina.
Równania opisują płyn newtonowski, tzn. tensor jest liniową funkcją gradientu prędkości, tzn. ma postać:
gdzie: jest tensorem czwartego rzędu (ma 81 składowych). Ponieważ stosujemy konwencję sumacyjną Einsteina, więc przed prawą stroną powyższego równania stoją dwa znaki sumy: po indeksie k oraz l.
Płyn jest izotropowy i jednorodny. Implikuje to że tensor powinien być niezależny od kierunku. Innym znanym tensorem niezależnym od kierunku jest (delta Kroneckera). Delta Kroneckera jest rzędu 2 więc my musimy znaleźć jej odpowiednik, ale rzędu 4. W celu zbadania niezależności tensora od kierunku wprowadźmy 4-liniową formę S (funkcję dającą skalar w wyniku) będącą iloczynem wewnętrznym tensora i czterech wektorów (ponieważ stosujemy konwencję sumacyjną Einsteina, więc przed prawą stroną równania poniżej stoją cztery znaki sumy: po indeksie i,j,k oraz l.):
Tensor jest niezależny od kierunku wektorów na których działa tylko wtedy gdy również funkcja S jest niezależna. Aby funkcja S była niezależna od kierunku, nie powinna być zależna od bezwzględnego położenia wektorów ale powinna zmieniać wartość gdy wektory zmieniają swoje długości lub położenia względem siebie. Zatem S powinna zmieniać wartość, gdy zmieniają się cosinusy kątów między poszczególnymi wektorami (i gdy zmienia się długość wektorów). Funkcją, która to umożliwia jest iloczyn skalarny, wówczas S możemy skonstruować następująco (dla zwięzłości pomijamy listę argumentów S):
Inne liniowe funkcje ponad powyższą (np. z wyrazami typu ), niczego więcej nie wniosą. Zatem rozpisując iloczyny skalarne, mamy:
przekształcając dalej:
zatem tensor aby był izotropowy, musi mieć postać:
Symetria tensora naprężeń, tj. Badając równowagę elementarnego sześcianu, zakładając, że nie występują naprężenia momentowe (dla których uogólnioną teorię sformułowali bracia Cosserat, 1909)[5], można dowieść, że tensor naprężenia jest symetryczny. Jednak w ogólności tak nie jest i np. dla płynów polarnych w polu elektromagnetycznym takie założenie jest błędne. Klasyczne równania Naviera-Stokesa nie uwzględniają tego typu płynów, ale za to uwzględniają szeroką klasę płynów powszechnie używanych. Zatem:
Podstawiając wyprowadzoną postać tensora pod lewą i prawą stronę równania, otrzymamy:
i dalej:
co prowadzi do:
Ponieważ w szczególności ta równość musi zachodzić dla np. to mamy:
Zatem
Podstawiając to do tensora otrzymujemy:
Zamieniając nazwy parametrów na powszechnie używane (a pierwotnie wywodzące się z rozważań na temat tensora sztywności dla ciał stałych, gdzie nazywane są stałymi Lamégo), tj.: oraz w tensorze i podstawiając go do tensora mamy:
Po uwzględnieniu działania delty Kroneckera otrzymamy:
Detale |
---|
Zapiszmy gdzie: Dla jasności, wprowadzimy symbole sum pominiętych w notacji sumacyjnej Einsteina (czyli tych po dublujących się indeksach, tj. i ). Wówczas możemy zapisać wykorzystaliśmy tutaj fakt, że delta Kroneckera z definicji tylko gdy oraz 1 gdy (tj. ), co przejawia się w równości: Po powrocie do notacji sumacyjnej Einsteina (czyli usunięciu symbolu sumy) otrzymujemy Podobnie zapisujemy znaki sum dla zwróćmy też uwagę, że w nawiasie z lewej (z symbolami sum) w każdym ze składników mamy inny układ indeksów przy deltach Kroneckera. Dla lewego składnika mamy co powoduje że nie zeruje się on tylko gdy Natomiast dla składnika prawego mamy co powoduje, że nie zeruje się on tylko gdy To powoduje redukcję podwójnych sum do pojedynczych niezerowych wyrazów oraz finalne odwrócenie indeksów w prawym wyrazie z pochodnymi (w stosunku do wyrazu lewego). |
Ostatecznie tensor naprężenia można zapisać, używając operatorów następująco (literka T w górnym indeksie oznacza transpozycję macierzy):
Detale |
---|
Zapiszmy gdzie: W zapisie macierzowym mamy Rozpiszmy z osobna obydwie macierze (uwzględniając odrazu, że gdy oraz to, że ) Wprowadzając symbol sumy (pomijany wcześniej w związku z użyciem notacji sumacyjnej Einsteina) oraz korzystając z definicji dywergencji pola wektorowego, możemy (po prawej stronie poniższego ciągu równości) zapisać operatorowo Zauważmy tu, że w wyrażeniu po trzecim znaku równości, tam gdzie wektor prędkości i operator nabla zostały zapisane jawnie (czyli jako wektory kolumnowe, tj. kontrawariantne), działanie pomiędzy nimi to iloczyn skalarny (gdyż on operuje na 2 wektorach), a nie macierzowy (nie można wymnożyć dwóch takich macierzy). W podobny sposób rozpiszmy macierz B, ale podzielmy ją na dwa składniki (dwie macierze) wprowadźmy macierz C na oznaczenie drugiego składnika odrazu można zauważyć, że pierwsza macierz (pierwszy składnik) będzie transpozycją macierzy tzn. czyli gdzie: w ostatniej równości powyżej uwzględniliśmy definicję gradientu wektora prędkości aby użyć zapisu operatorowego. Zatem kontynuując zapis macierzowo-operatorowy, mamy (powyżej wyciągnęliśmy skalar przed transpozycję macierzy) ostatecznie więc możemy zapisać |
W ten sposób doszliśmy do końca definicji modelu i jest to właściwie koniec wyprowadzenia. Podstawiając taką formę tensora naprężeń do równania pędu Cauchy’ego, otrzymamy równania Naviera-Stokesa.
Ponieważ jednak owo podstawienie nie jest trywialne (ze względów rachunkowych) dokonamy go poniżej by otrzymać jawną postać operatorową równań Naviera-Stokesa. Wyliczmy dywergencję transponowaną z korzystając z faktu, że w układzie kartezjańskim możemy ją wyliczyć jako mnożenie wektora z macierzą:
W przejściu do ostatniej równości skorzystaliśmy z przemienności mnożenia skalaru przez macierz. Rozpisując dokładnie wszystkie operatory (na postać pochodnych cząstkowych), można sprawdzić, że prawdziwy jest poniższy ciąg równości (uwaga! uwzględniono tu, że lepkości są funkcjami zależnymi od położenia, a nie stałymi):
Detale |
---|
Mamy gdzie oznaczyliśmy: Transponowany operator nabla ma postać (wektor wierszowy) I chcemy policzyć i docelowo transpozycję tego wyrażenia (uwaga znak kropeczki w macierzy B między nabla a wektorem oznacza iloczyn skalarny, natomiast tu oznacza mnożenie macierzy), ze względu na liniowość mnożenia macierzy, jak i różniczkowania możemy zapisać: Wprowadzając docelową transpozycję, mamy I wówczas możemy osobno rozpisać każdy element (tam gdzie pojawiają się macierze mamy do czynienia z mnożeniem macierzowym dla znaku )
Rozpocznijmy do składnika zawierającego A zapisanego w formie operatorowej, a następnie w linii niżej zapisanego dla jasności w formie macierzowej (ukazującej skąd biorą się kolejne przejścia dla formy operatorowej), a w linii trzeciej jego postać po finalnej transpozycji
kontynuując dokonamy docelowej transpozycji (dostając wektor kolumnowy), a następnie różniczkowania korzystając z reguły łańcuchowej (na każdej współrzędnej z osobna; dostając 2 składniki) operatorowo możemy zapisać to tak
wykonując transpozycję, regułę łańcucha i rozdzielając odpowiednie elementy otrzymujemy operatorowo możemy zapisać to tak gdzie użyto równości
wykonując transpozycję, regułę łańcucha oraz możliwość zamiany kolejności zmiennych przy różniczkowaniu dla pochodnej cząstkowej, oraz ostatecznie rozdzielając odpowiednie elementy, otrzymujemy operatorowo możemy zapisać to tak gdzie użyto równości
Ostatecznie powracając do równania i zestawiając wszystkie jego elementy oraz porządkując je otrzymujemy |
Zatem podstawiając pod równanie Cauchy’ego, mamy:
Rozpisując pochodną substancjalną z lewej strony, otrzymamy formę równania taką jak w sekcji #Ogólna forma równań.
Możemy dodać kolejne założenie:
Doświadczalnie wyznaczona zależność (tr to ślad macierzy)
która jest dokładna dla gazów jednoatomowych, ale w praktyce znajduje zastosowanie do znacznie szerszej klasy płynów. Szczególnie gdy płyn jest prawie nieściśliwy, bo wówczas i człon z w równaniach Naviera-Stokesa przestaje mieć znaczenie.
Jeżeli teraz wyliczymy ślad z tensora to otrzymamy:
co po podstawieniu i rozwinięciu daje:
Zatem:
Więc:
Po podstawieniu tej zależności do równań Naviera-Stokesa przybiorą one postać:
Jeżeli przyjmiemy, że lepkość jest stała (lepkość silnie zależy od temperatury, więc gdy rozpatrujemy „płyn zimny” (bez uwzględniania równania energii), to wówczas taka sytuacja może mieć miejsce), to wówczas i równania upraszczają się do postaci:
Przyjmując, że płyn jest nieściśliwy otrzymamy:
Właśnie ten przypadek ze stałą został przedstawiony jako problem milenijny[2].
Jeżeli całkowicie pominiemy lepkość, tj. to otrzymamy równania Eulera: