Sigla Infosoc
Proiect INFOSOC 131/20.08.2004
Sistem informatic bazat pe metode de calcul de inalta performanta pentru simularea fenomenelor complexe de curgere a nanofluidelor prin medii poroase, multifazice, cu reactii chimice
Sigla Ovidius
 

Cadrul general de lucru

Dorinta noastra a fost de a realiza un sistem informatic extensibil, care sa poata fi refolosit pentru studiul unei game largi de probleme. Aceasta a impus mai intai realizarea unui cadru de lucru care sa poata fi extins usor pentru a ingloba algoritmi noi in aplicatie. De asemenea, acest cadru de lucru contine elemente comune pentru controlul algoritmilor implementati, dar si componente reutilizabile de catre alti algoritmi (de exemplu, implementari pentru matrici, observatori sau parsere de expresii matematice).

Interfata cu utilizatorul, prezentata mai jos, urmareste cele trei categorii de probleme: miscarea fluidelor in microcanale, probleme de convectie-difuzie-reactie si probleme inverse in transferul de caldura

Interfata cu utilizatorul

Module software

Nucleul sistemului informatic este compus dintr-un numar redus de module (pachete) care ofera interfata pentru programarea aplicatiilor (API) necesara extinderii ulterioare a aplicatiei cu noi algoritmi (vezi schema de mai jos).

Module software

Dintre aceste module, modulul algorithm este componenta principala a pachetului. El contine interfetele si clasele necesare pentru extinderea sistemului informatic cu noi algoritmi, iar submodulul event contine interfetele si clasele care sunt baza modulelor pentru monitorizarea si jurnalizarea activitatii algoritmilor.

Modulele flow, fkie si pcg implementeaza cele 3 categorii de probleme mentionate anterior.

In modulele matrix si parser se gasesc implementari pentru cateva elemente comune multor algoritmi numerici: matrici si functii matematice (construite dinamic pe baza unei expresii). De asemenea, modulul matrix.io ofera functionalitati pentru salvarea datelor din matrici in diverse formate de fisiere.

Modulele monitor implementeaza diversi algoritmi pentru monitorizarea statica sau dinamica (adica in timpul rularii) a algoritmilor. Aceste module pot sa ofere reprezentari grafice 2D si 3D generale (de exemplu, grafice 2D care reprezinta variatia unui reziduu pe parcursul iteratiilor) sau specializate (de exemplu, prezinta curgerea prin canal a unui fluid). Monitorizarea nu se refera doar la reprezentari grafice; un monitor poate, de exemplu, sa creeze un film (in format AVI) pe baza datelor extrase din solutia oferita de algoritm, sa salveze un jurnal privind evolutia algoritmului, sau sa transmita diverse informatii in retea.

O componenta tip Controller este liantul pentru toate aceste module, oferind totodata o interfata cu utilizatorul. Facilitatile oferite de Controller permit utilizatorului sa selecteze algoritmii doriti, sa introduca parametrii pentru acestia si sa observe rezultatele. Controllerul poate sa interactioneze cu utilizatorul printr-o interfata grafica (care ofera un mediu prietenos si usor de folosit utilizatorilor incepatori) sau prin parametrii din linie de comanda (pentru utilizatorii avansati, care doresc sa testeze diversi algoritmi si/sau parametri).

Valid XHTML 1.1!