Vindtunnel - Simulering

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
GeekJoan
Admin
Inlägg: 11560
Blev medlem: 26 maj 2003, 15:59:27
Ort: Solna

Vindtunnel - Simulering

Inlägg av GeekJoan »

Har suttit och pillat med det här ett tag nu. Kolla gärna om ni hittar något generalknas.
Simuleringen är inte 100% rätt för då skulle det inte gå i realtid i en webläsare. Men det ska vara nära nog.
https://geekjoan.com/vindtunnel/index.html
https://geekjoan.com/vindtunnel/flakt.html
SvenW
Inlägg: 1162
Blev medlem: 24 april 2007, 16:23:10
Ort: Göteborg

Re: Vindtunnel - Simulering

Inlägg av SvenW »

Är verkligen imponerad!
Är det en egen server? Kraftig dator!
Glidtalet ser ut att bli lite lågt.
Om vingens ovansida är dåligt slät kan det kanske förklara en del. (?)
Användarvisningsbild
ajje
Inlägg: 2902
Blev medlem: 12 mars 2010, 16:35:31
Ort: Smedjebacken

Re: Vindtunnel - Simulering

Inlägg av ajje »

Något jag reagerar på är att den ger en rejäl lyftkraft även om man ställer på anfallsvinkeln så att man får total turbulens ovanför vingen.
Stämmer verkligen det?
Användarvisningsbild
pi314
Inlägg: 8923
Blev medlem: 23 oktober 2021, 19:22:37
Ort: 08

Re: Vindtunnel - Simulering

Inlägg av pi314 »

Det finns säkert utrymme för förbättringar, men jag tycker att det du gjort hittills är imponerande!

Det vore kul att veta lite om vad som rör sig bakom kulisserna. CFD etc. Om du vill berätta.

/π
Användarvisningsbild
GeekJoan
Admin
Inlägg: 11560
Blev medlem: 26 maj 2003, 15:59:27
Ort: Solna

Re: Vindtunnel - Simulering

Inlägg av GeekJoan »

SvenW, det körs på DIN dator.

ajje, du får låta det gå en stund så det hinner stabilisera sig. Eller trycka på starta om så du rensar redan turbulent luft. Om det är dåligt lyft så kommer det märkas att det börjar svaja och rätt som det är så är det där som såg ut som ett bra värde inte så bra längre.

pi314, Strömningen räknas med Lattice Boltzmann-metoden (LBM). I stället för att lösa strömningsekvationerna (Navier–Stokes) direkt delas tunneln in i ett rutnät, till exempel 720 × 270 celler. Varje cell håller reda på hur mycket "luftpartiklar" som rör sig åt nio olika håll: stilla, fyra raka och fyra diagonala riktningar. Varianten heter D2Q9. Varje tidssteg består av två moment:
1. Strömning: partiklarna flyttar ett steg till grannrutan.
2. Kollision: fördelningen i varje ruta dras mot jämvikt, vilket ger luftens viskositet ("seghet").
Ur det enkla regelverket uppstår ett riktigt strömningsbeteende med virvlar, avlösning och stall. Ingen effekt är programmerad separat.

Grafikkortet gör jobbet. Varje cell är oberoende inom ett tidssteg, så alla räknas parallellt i WebGL2-shaders. Det blir flera hundra miljoner celluppdateringar per sekund, och det är därför simuleringen går i realtid i webbläsaren.
Turbulensmodell: Höga hastigheter ger småskaliga virvlar som rutnätet inte kan upplösa. En Smagorinsky-modell (en enkel så kallad LES-modell) ökar då viskositeten lokalt där strömningen är som mest "rörig", så att simuleringen hålls stabil.
Vingen ritas in som massiva celler. Partiklar som träffar den studsar tillbaka ("bounce-back"), vilket ger en vägg där luften står still.
Lyft och motstånd mäts genom att summera hur mycket rörelsemängd partiklarna lämnar till vingen när de studsar (momentum exchange). Det är samma princip som en våg i en riktig vindtunnel.
Röken är ett färgfält som förs med av strömningen och inte påverkar den, precis som rök i en riktig tunnel. Den räknas i dubbla upplösningen och interpoleras med en skarp metod (Catmull-Rom), så att strimmorna inte suddas ut.

Finns massor med "färdiga" rutiner/script att ladda ner och använda. Så får man be sin AI om massor med hjälp för att få ihop allt.
Skriv svar