Zbiór kodów źródłowych, programów, ilustracji i animacji do książki. Kompletna lista materiałów z opisem znajduje się w książce.
Zbiór i opisy wybranych kodów źródłowych:
- KodyZrodlowe/Rozdzial2/Newton3d/_5_artykul_taniec/
- KodyZrodlowe/Rozdzial2/Newton3d/_6_taniec_260402/
-
KodyZrodlowe/Rozdzial2/softbody.html
- Ciało miękkie w dwóch wymiarach - implementacja i wizualizacja w HTML5.
- KodyZrodlowe/Rozdzial2/konstruktor/konstruktor.html
- Replika programu "Soda Constructor" - umożliwia budowanie własnych obiektów z dodatkowymi sprężynami, których długość w stanie równowagi jest zależna od czasu (mięśnie).
- KodyZrodlowe/Rozdzial2/SoftBody3D
- Implementacja C++ trójwymiarowego modelu ciała miękkiego opartego o ciśnienie. Program wykorzystuje OpenGL i pozwala na symulację w czasie rzeczywistym. Niektóre z obiektów (ręka, koala) wykonał Mariusz Jarosz (dziękuję!).
- KodyZrodlowe/Rozdzial3/ofwaves/
- Program Waves zaimplementowany z użyciem biblioteki OpenFrameworks. z interfejsem użytkownika (GUI) do zmiany parametrów.
- KodyZrodlowe/Rozdzial3/Waves/
- Rozwiązanie numeryczne równania falowego w dwóch wymiarach. Załączony jest kod w dwóch wersjach - zarówno jako duża aplikacja okienkowa z użyciem GUI (interfejs użytownika z użyciem Fox Toolkit) jak i wersja uproszczona bez interfejsu użytkownika - z samą wizualizacją. Program w wersji z interfejsem umożliwia interakcję, dodawanie źródeł, przeszkód. Dodatkowo zamieszczona została też wersja HTML5, którą można też uruchomić w internecie.
- KodyZrodlowe/Rozdzial4/lbmfluid_book/
- Implementacja C/C++ modelu Gazu Sieciowego Boltzmanna LBM w wersji jednofazowej z komentarzami odpowiadającymi układowi w rozdziale z książki. Jest to prosta implementacja modelu jednorelaksacyjnego z wizualizacją w OpenGL i biblioteką GLUT. Dodatkowo do kodu dołączone są procedury wizualizacji poprzez śledzenie ruchu cząsteczek płynu i ich rozsmarowywanie. Uwaga: możliwe są problemy z podwójnym buforowaniem na niektórych systemach operacyjnych, wtedy należy dokładniej przyjrzeć się sterownikom i działaniu OpenGL.
- KodyZrodlowe/Rozdzial4/lbmfluid3D
- Model LBM w wersji trójwymiarowej, przybliżenie jednorelaksacyjne BGK.
- KodyZrodlowe/Rozdzial4/lbmfluid-mrt/
- Przepływ w komorze (ang. Driven Cavity Flow). Implementacja modelu wielorelaksacyjnego (MRT) przepływu jednofazowego 2D z użyciem LBM dla wysokich liczb Reynoldsa.
- KodyZrodlowe/Rozdzial4/lbmfluid2D-multiphase/
- Implementacja przepływu wielofazowego 2D z użyciem LBM i modelu Shan-Chen omawianego w książce.
- KodyZrodlowe/Rozdzial4/lbmfluid3D-multiphase/
- Implementacja przepływu wielofazowego 3D z użyciem LBM i modelu Shan-Chen omawianego w książce.
- KodyZrodlowe/Rozdzial4/lbmfluid-tauone3D/
- Implementacja modelu LBM bez funckcji rozkładu prędkości w wersji 3D i 2D (model LBMTAU1).
- KodyZrodlowe/Rozdzial4/FldSurface
- Zachowanie się płynu z powierzchnią swobodną, rozwiązanie uproszczonych równań płytkiej wody. Problemy z niestabilnością rozwiązania są rezultatem zastosowanej metody jawnej całkowania i mogą być wyeliminowane albo poprzez zmianę parametrów symulacji (mniejsze amplitudy fal początkowych), albo przez zastosowanie innych metod numerycznych.
- KodyZrodlowe/Rozdzial4/Fluid13
- Rozwiązanie numeryczne rownań Naviera-Stokesa dla cieczy nieściśliwej metodą cząstek w komórce (Marker-and-cell). Wersja dla Windows potrafi samodzielnie wygenerowaź animacje .avi przy użyciu biblioteki VFW (Video For Windows). Wersja dla linux pracuje w trybie tekstowym i generuje pliki .ppm (kolejne klatki animacji).
-
KodyZrodlowe/Bonus/82IsingModel
- Implementacja modelu sieciowego magnetyzmu (model Isinga), program w C++ z wizualizacją w OpenGL. Program pozwala na obserowanie ewolucji układu spinów w czasie dla różnej temperatury.
-
- Tworzenie struktur - fraktali - DLA (Diffusion Limited Aggregation) - bardzo proste, ale ciekawe zjawisko fizyczne i prosty model służący do jego symulacji. Program w JS/HTML5, wizualizacja w czasie rzeczywistym. Interakcja myszą pozwala na dokładanie nowych zarodków fraktala.
-
KodyZrodlowe/Bonus/lbm_turbulencje_compute_shaders/
- Programy źródłowe symulacji zjawisk przepływów turbulentnych i wielofazowych wykonane przybliżeniem Smagorińskiego. Implementację modelu turbulencji opracował Nicholas Delbosc (dziękuję!). Kody zostały zaimplementowane w technologii programów cieniowania na karcie GPU (Compute Shaders).
-
KodyZrodlowe/Bonus/DrivenCavity-Sources/
- Implementacja C++ trzech standardowe metod symulacji płynów używających bezpośredniej dyskretyzacji równań Naviera-Stokesa. Zaimplementowane są trzy metody: SIMPLE (Semi Implicit Method for Pressure Linked Equations), SIMPLER (Revised) oraz podejście z funkcją wirowości i prądu. Opis metod można znaleźć w Dokumenty/29-matyka-simple.pdf.
-
- Skrypt do biblioteki Palabos umożliwiający rendering 3D z użyciem RayTracingu (PovRay) powierzchni swobodnej płynu.
[(c) Maciej Matyka, 2002-2020](http://panoramix.ift.uni.wroc.pl/~maq/eng/)