Portfolio

AeroFlow

Aplikacja · Tunel aerodynamiczny 2D / Windows i Linux

Rysujesz profil skrzydła, walec albo samochód, a program w czasie rzeczywistym liczy opływ, siły w niutonach i współczynniki oporu oraz nośności.

Natywna aplikacja w Ruście do symulacji przepływu metodą siatkową Boltzmanna, w jednostkach fizycznych i na karcie graficznej. Każdy wynik ma ocenę wiarygodności, która mówi wprost, czy jest ilościowy, czy tylko jakościowy.

Na scenę wstawia się profile NACA o dowolnym czterocyfrowym oznaczeniu, walce, prostokąty, elipsy, dowolne kształty i ściany rysowane pędzlem. Potem wybiera się płyn – powietrze, wodę albo własny – temperaturę i prędkość, a program pokazuje pole prędkości, ciśnienia, wirowości albo dym, z cząstkami, liniami prądu i wektorami sił na wierzchu.

Wyniki to siły w niutonach, współczynniki Cd, Cl i Cm, liczba Strouhala, rozkład ciśnienia na powierzchni i biegunowa profilu. Wskaźnik wiarygodności mówi, czy przy danej rozdzielczości i liczbie Reynoldsa wynik jest rozdzielczy, częściowo rozdzielczy czy tylko jakościowy, a scenariusze walidacyjne porównują obliczenia z wartościami z literatury.

Solver D2Q9 z regularyzowaną kolizją BGK i modelem Smagorinsky'ego liczy na GPU przez wgpu (Vulkan, DirectX 12, Metal) – na RTX 4070 Ti to około 4800 milionów aktualizacji komórek na sekundę, szesnaście razy więcej niż na procesorze. Bez obsługiwanej karty program sam przechodzi na CPU. Instalator dla Windows, wersja przenośna i paczka dla Linuksa, z automatycznymi aktualizacjami weryfikowanymi sumą SHA-256.

Przeciągnięcie profilu NACA 0012 przy 16°: pole wirowości liczone na GPU

Funkcje

  • profile NACA, walce, dowolne kształty i ściany rysowane pędzlem
  • siły w niutonach, Cd, Cl, Cm, liczba Strouhala i biegunowa
  • ocena wiarygodności każdego wyniku i scenariusze walidacyjne
  • obliczenia na GPU z automatycznym przejściem na procesor
  • instalator, wersja przenośna i Linux, z automatycznymi aktualizacjami

Technologie

  • Rust
  • wgpu
  • egui
  • Lattice-Boltzmann

Mój udział

Projekt, model fizyczny, implementacja, walidacja i wydania

Pobierz

github.com/BlackSingularities/aeroflow