1 / 31

Softverska implementacija op š teg simulatora

Softverska implementacija op š teg simulatora. Simulacije. Potreba za simulacijama i modeliranje m Prilikom ispitivanja nekog sistema samo su neke njegove karakteristike interesantne Ušteda prilikom kreiranja modela koji samo ima karaktersitike koje su namo od interesa Tipovi simulacija

twila
Download Presentation

Softverska implementacija op š teg simulatora

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Softverska implementacija opštegsimulatora

  2. Simulacije • Potreba za simulacijama i modeliranjem • Prilikom ispitivanja nekog sistema samo su neke njegove karakteristike interesantne • Ušteda prilikom kreiranja modela koji samo ima karaktersitike koje su namo od interesa • Tipovi simulacija • Fizičke • Interaktivne • Kompjuterske

  3. Računarske simulacije • Funkcije • Ispitivanje karakteristika sistema koje nije moguće učiniti drugim putem • Razvoj novih hipoteza, modela i teorija • Zamena za klasičan eksperiment, kojim se postiže velika ušteda • Pedagoški alat • Podela • Stohastičke i determinističke • Ravnotežnog stanja i dinamičke • Neprekidne i diskretne • Lokalne i distribuirane

  4. Provera tačnosti simulacije • Rezultati simulacije treba da se poklapaju sa ponašanjem sistema kog simuliramo • Uzroci greške • Programske • Numeričke • Ograničenost računarskog prostora • Zamena analitičkih izraza numeričkim • Modelarske

  5. Ideja opšteg simulatora • Zajedničke osobine simulacija • Ulazni podaci • Izlazni podaci • Potreba za grafičkim korisničkim interfejsom za unos podatak • Potreba za grafičkim prikazom dobijenih rezultata • Potreba za vršenjem niza eksperimenata • Automatizacija pokretanja simulacija • Analiza rezultata niza eksperimenata • Potvrda zaključaka i olakšavanje ispravljanja greški Ideja kreiranja okruženja, odnosno programa koji će moći da izvršava ove funkcije za niz različitih simulacija.

  6. Pojedinačne simulacije kao proširenja opšteg simulatora • Izolovanje opštih funkcija od konkretnih simulacija • Moduli koji implementiraju sve posebne karakteristike konkretne simulacije • izračunavanje • kreiranje i čuvanje rezultata • praćenje stanja izračunavanja • Omogućavanje komunikacije izmedju opšteg simulatora i zasebnih modula

  7. Implementacija • Opšti simulator je pisan u C++ • Korišceno je razvojno okrženje Microsoft Visual Studio .Net 2003, 2005 • Grafički korisnički interfejs je pravljen MFC – om (Microsoft Fundamental Classes)

  8. Komunikacija

  9. Parametri • Parametri mogu biti raznih tipova, tako da se njihova vrednost najlakše može predstaviti niskom znakova • Simulacije najčešće zavise od većeg broja parametara, pa je potrebna i pogodna klasa za manipulaciju njima • Pristup pojedinim paramerima • Listu svih parametara • Učitavanje i snimanje u datoteku

  10. Klase koja obezbeđuje komunikaciju • Radi standardizacije komunikacije potrebno je izvući zajedničke osobine i potrebe simulacija • Prepoznati osnovne tipove parametara • Parametri simulacije • Parametri strukture • Parametri rezultata • Razdvojiti grafičko okruženje za pokretanje simulacije od same simulacije. Treba da postoji klasa koja je most za ovakvu komunikaciju

  11. Automatizacija pokretanje niza simulacija iz interval

  12. Parametar za pokretanje niza simulacija iz nekog intervala • Samo pokretanje svih simulacija iz intervala se vrši rekurzivnom metodom koja pripada klasi SimulatorMultiPlayer

  13. Traženje simulacije sa određenim karakteristikama Traženje odgovarajuće simulacije je zapravo Ali je ovo težak problem pa se rešava lakši problem na projekci funkcije

  14. Krajnji problem se rešava modifikovanom metodom polovljenja na odgovarajućem intervalu. Uspeh modifikovana metoda u velikoj meri zavisi korisnika aplikacije.

  15. Problemi imenovanja, smeštanja i pregleda rezultata • Usled automatizacije dolazi do pojavljivanja velike količine podataka kojima treba omogućiti pristup • Postoje dva tipa podataka koje želimo da vidimo one koji su vezani za jedna eksperiment i za niz različitih eksperimenata • Usled postojanja većeg broja datoteka vezanih za svaki eksperiment svi oni se smeštaju u zaseban direktorijum • Rezultate je potrebno predstaviti • pogodno za korišćenje od strane čoveka i računara Ime Podatka Vrednost Podatka • Grafičke rezultate po standardima koji koriste programi za prikaz rezultata poput SigmaPlota, PsiPlot, OriginPro X Y Z VrednostPodatkaNaPoyicijiXYZ

  16. Grafički prikaz rezultata • Prikazivanje vrednosti ulaznih i odgovarajućih izlaznih podataka • Postoje slučajevi kada postoji potreba za prikazom rezultata u obliku slike • Neki karakteristike rezultata se mogu videti samo korišćenjem pogodnih filtera. Ovakvi filteri su zapravo pogodna preslikavanja, nad skupom vrednosti.Opsti simulatorimplementira linearni, eksponencijalni i logaritamski filter.

  17. Analiza zavisnosti između parametara • Ovo se najlakše radi pomoću raznih grafika, tabela i sl. • Opšti simulator ne pravi ovakve prikaze već kreira fajlove koji se gledaju iz specijalizovanih programa Elem1Vrednost1 Elem1Vrednost2 ... Elem1VrednostN Elem2Vrednost1 Elem2Vrednost2 ... Elem2VrednostN ... ElemMVrednost1 ElemMVrednost2 ... ElemMVrednostN • Za kreiranje ovakvih fajlova isto je zadužena klasa SimulatorMultiPlayer, koja prilikom ovakvih izračunavanje koristi pomoćnu klasu RGraphicMaker

  18. Implementacija proširenja za opšti simulator • Sistem proširenja za opšti simulator su implementira putem plaginova odnosno napredne metode korišćenja dll-ova • Problemi prilikom kreiranja i korišćcenja ovakvogsistema proširenja: • Smeštanje samih proširenja • Manipulacija memorijom • Kreiranje samih proširenja je olakšano postojanjem korisničke biblioteke RCommon i šablon projekta za kreiranje proširenja

  19. Kosi hitac kao primer proširenja Nasledjivanje odgovarajućih klasa class SimulatorKosiHitac : public SimulatorAbstract class PathGeneratorKosiHitac : public PathGeneratorAbstract Identifikacija void GetName (char *gName){strcpy_s (gName,1000, "KosiHitac");} mPathGenerator->SetRootString ("d:\\primeri\\KosiHitac\\"); Definisanje Parametara AddParam ( (double)0.795,"Ugao"); AddParam ( (double)2,"Brzina"); AddParamStruct ( (double)9.81, "Gravitacija"); AddParamStruct ( (int)256, "NXY"); AddParamStruct ( (double)100, "MaxGrafik");

  20. Preuzimanje vrednosti parametara mParams.GetValueDouble ("Brzina",V); mParams.GetValueDouble ("Ugao",Alfa); mParamStruct.GetValueDouble ("Gravitacija",temp1); mParamStruct.GetValueDouble ("MaxGrafik", MaxGrafik); mParamStruct.GetValueDouble ("NXY", NXY); Proračuni vezani za simulaciju MaxVisina = (pow (V,2) * pow (sin (2*Alfa),2))/ (2 *G); MaxDaljina = (pow (V,2) * sin (2*Alfa))/G; Čuvanje rezultata fopen_s (&F, "Rezultat.txt","w"); fprintf (F,"MaxVisina\n"); fprintf (F,"%f\n", MaxVisina); fprintf (F,"MaxDaljina\n"); fprintf (F,"%f",MaxDaljina); fclose (F); mResult.LoadFromFile ("Rezultat.txt");

  21. Grafički korisnički interfejs (Graphic User Interface, GUI)

  22. Simulacija traženja solitonskih rešenja u fotoničnim rešetkama • Solitoni su dinamičko i stuktralno stabilni talasi za razliku od običnih talasa koji se raspršuju.Oni nastaju usled ravnoteže disperzije ili difrakcije(širenja) i nelinearnih efekata(skupljanja) u optičkoj sredini • Fotorefraktivne sredine su one kod kojih postoje fotorefraktivni efekti odnosno svetlošću izazvane promene indeksa prelamanja • Fotonične rešetke su prostorno periodične strukture pomoću kojih moguće kontrolisati prostiranje svetlosti. Mogu se smatrati optičkim analogom poluprovodnika.

  23. Simulacija propagacije solitonskih rešenja • Da bi se objasnilo ponašanje kontrapropagirajućih solitona korisćen je vremenski nezavisan model zasnovan na teoriji fotorefraktivnih efekata • Usled rotacione simetrije problema pretpostavlja se postojanja solitona oblika

  24. Petviashvilijev za traženje solitonskih rešenja u fotoničnim rešetkama • Sada se dve jednačine propagacije mogu pretvoriti u jednu degenerisanu • Rešenja ove jednačine se dobijaju iteracionom formulom u Furijeovom inverznom prostoru • Pravolinijska ‘naivna’ iteracija ne daje rešenja.Već tek korišćenjem stabilizacionih faktora koje je dao Petviashvili je to moguće

  25. Rešavanje problema simulacijom • Problem se rešava na na konačnom delu prostoru (-xmax,xmax)* (-ymax,ymax) • Simulacije su vršene za nekoliko tipova rešetki • Kao ulaz odnosno početnu vrednost (u) funkcije korišćeno je više interesantnih oblika

  26. Softverska implemantacija • Interesuju nas efekti promene nekih ulaznih parametara • Definisanje šta sta će se smatrati konvergencijom • Uvođenje niza kriterijuma za rano preoznavanje divergencije • Stabilizuje računanja nakon odredjenog broja iteracija • Jako sporo konvergirajuće simulacije

  27. Duži period nestabilnosti if (Sum1/Sum2 > MaxStabilnosti) then begin IndikatorDiv = IndikatorDiv +1 if (IndikatorDiv >MaxPeriodNestabilnosti) divergencija =true end else IndikatorDiv = 0 • Kriterijum ‘klackalice’, odnosno česte promene monotonosti funkcije tačnosti, odnosno udaljenosti vrednosti funkcije U izmedju iteracija u nekoj normi

  28. Potreba za metodom za analizu rezultata • Često je osim samog izračunavanje simulacija potrebna i neka analiza tih rezultata • Primer je prepoznavanje oblika solitona. Definišimo neke karakteristike odnsno uslove koje ti solitoni treba da ispunavaju • Suma intenziteta svih tačaka solitona (u) je približno jednaka sumi tačaka solitona koje se poklapaju sa rešetkom • Najveći razmak između tačaka sa intenzitetom iznad neke minimalne vrednosti, koja je definisana u odnosu na maksimalnu vrednost funkcije (u), je veći od neke granice • Suma intenziteta svih tačaka solitona približno je jednaka sumi tačaka solitona koje se nalaze na prstenu oko 0., 2. ili 4. kruga

  29. Sama metoda za svaki rezultati ispituje ispunjenost uslova i na osnovu toga vraća nađeni oblik ili da je neodredjen.

  30. Zaključak • Prilikom upotrebe na konkretnim problemima opšti simulator je pokazao niz dobrih karakteristika • Jednostavna i efikasna vizuelizacija rezultata, kako u samom simulatoru tako i u pomoćnim programima, bez dodatnog programiranja. • Razvoj modula za simulaciju je ubrzan, jer se rezultati brzo analiziraju. • Lako se proširuje rezultat novim informacijama koje se automatski vizuelizuju. • Modul za simulaciju je izolovan od ostatka aplikacije tako da se u njemu mogu primenjivati razni trikovi za povećavanje performansi. • Neki procesi koji su ranije bili analizirani od strane čoveka su efikasno automatizovani, tako da je upotreba ljudskog vremena postala daleko efikasnija. • Greške koje su prouzrokovane automatizacijom su lako prepoznate i otklonjene promenom parametara ili promenom delova koda modula za simulaciju.

More Related