FER - ZEMRIS - RG | Animacija toka fluida | ||
|
Programsko rješenjeZa potrebe ovog rada implementiran je postupak opisan u poglavlju 4. i to u dvodimenzionalnom prostoru. Kao baza za implementaciju poslužio je izvorni kod Stamove aplikacije čiji su rezultati prikazani u odjeljku 3.6. Korišten je programski jezik C++. Strukture podatakaDefiniran je razred TDSmokeSolver koji implementira navedeni postupak. Stanje fluida je zbog dvodimenzionalnog prostora opisano s četiri članske varijable, a to su u, v, r, p, odnosno brzina u smjeru osi x, brzina u smjeru osi y, gustoća dima i tlak. Željeno stanje dima predstavljeno je varijablom rs. Gustoća dima konvoluirana s Gaussovom jezgrom predstavljena je varijablama rt i rts. Sve navedene varijable su tipa std::vector <double>. Parametri simulacije označeni su varijablama vf, vd, vg i sigma koje su tipa double. Ostale varijable su većinom pomoćne. Ključna je metoda void MakeStep ( bool fst_order ) koja računa stanje fluida za sljedeći vremenski trenutak t+Δt. Zaglavlje cijelog razreda izgleda ovako:
class TDSmokeSolver Metoda MakeStep izračunava stanje fluida u sljedećem vremenskom trenutku. To čini u koracima opisanim u odjeljku 4.4. Svaki korak predstavlja po jedna od sljedećih metoda sa zaštićenim pravom pristupa čija je implementacija opisana u PDF verziji diplomskog rada:
void applyDrivingForce ( ); Grafičko korisničko sučeljeZa izradu grafičkog korisničkog sučelja korišten je MFC (Microsoft Foundation Classes). Njime se omogućuje relativno jednostavna izrada prozora s uobičajenim Windows kontrolama poput polja za unos teksta, dijaloga za učitavanje i spremanje datoteka itd. Grafičko korisničko sučelje aplikacije izrađene u okviru ovog rada sastoji se od jednog prozora koji izgleda ovako:
Prozor je podijeljen na četiri logičke cjeline. To su konfiguracijska cjelina, cjelina za učitavanje slika, cjelina za određivanje iznosa parametara te upravljačka cjelina. Sve cjeline osim upravljačke uokvirene su uz odgovarajući natpis (eng. Configurations, Images, Parameters). Detaljniji opis svake od njih nalazi se u PDF verziji diplomskog rada. |