MSSB LAB L01 Realizare Program de Simulare Cu BAZASIM1 V3

S-ar putea să vă placă și

Sunteți pe pagina 1din 4

Program simulare cu BAZASIM1 1.

Lucrarea 1
REALIZAREA UNUI PROGRAM DE SIMULARE CU
PROGRAMUL CADRU BAZASIM1

1. OBIECTIVELE SIMULĂRII

Lucrarea are ca scop realizarea unui program de simulare a unui proces fizic
de aruncare pe verticală a unui corp cu masa M cu o viteză iniţială v 0; ca exercitiu
pentru înţelegerea utilizării programului cadru BAZASIM1.

2. PREZENTARE LUCRARE

Se consideră un corp de masă M care este aruncat pe verticală cu o viteză


iniţială v0 [m/s] de la înălţimea H0 [m]. se va afisa variaţia în timp a înălţimii H(t)
[m] la care se găseşte corpul, viteza pe verticală v(t) [m/s] şi energia cinetică EC(t)
[J].

3. MODELUL CONCEPTUAL
Sistemul fizic de simulat este foarte simplu şi ca urmare se scriu direct
relaţiile care reprezintă modelul sistemului de simulat. Astfel viteza pe verticală a
corpului este:
v(t )  v  g t (m / s )
0
(1.1)
Inălţimea H se calculează cu relaţia clasică:
H (t )  H  v t  0 .5 g t 2 (m)
0 0 (1.2)
Energia cinetica a corpului este:
M v(t ) 2
EC (t )  (J )
2
(1.3)

4. MODELUL NUMERIC

Simularea numerică se face cu timpul ediscretizat cu pasul Δt şi ca urmare


modelul numeric se va realiza ţinând cont de această condiţie.
Timpul t care este o variabilă independentă se modelează cu relaţia :
t  t  t (1.4)
Ca urmare în programul de simulare el apare în forma adimensională în valoarea k
a contorului de iteraţie al programului de simulare:
t  k  t
(1.5)
Aplicând metoda diferenţelor finite relaţiei 1.1 rezultă :
1.2 Îndrumar laborator - Modelarea şi Simularea Sistemelor Biotehnice
v[t  t ]  v  g  ( t  t )  (v  gt )  gt  v[t ]  gt
0 0
(1.6)
şi aplicând relaţia (1.5) se obţine:
v[k  1]  v[k ]  gt
(1.7)
Aplicând metoda diferenţelor finite relaţiei 1.2 rezultă :
H [t  t ]  H  v  ( t  t )  0,5  g  (t  t ) 2
0 0 (1.8)
sau :
H [t  t ]   H  v  t  0,5  g  t 2   v  t  0,5  g   2t  t  t 2 
 0 0  0   (1.9)
şi:
H [t  t ]  H [t ]  H [t  t ]
(1.10)
unde:
H [t  t ]  v  t  0,5  g   2t  t  t 2   t   v  g   t  0,5  t  
0    0  (1.11)
şi :
H [k  1]  t   v  g   kt  0,5  t    t   v  g   k  0,5 t 
 0   0  (1.12)
Sau pentru pasul curent de iteraţie k:
H [k ]  t   v  g   (k  1)t  0,5  t    t   v  g   k  0,5 t 
 0   0  (1.13)
Aplicând metoda diferenţelor finite relaţiei 1.3 rezultă :
M v[k ]2
EC[k ] 
2
(1.14)

5. REALIZAREA PROGRAMULUI DE SIMULARE

5.1 Etape de realizare a programului


Pentru realizarea programului de simulare se vor parcurge următoarele etape:
- se vor defini simbolurile pentru variabile şi tablourile de date necesare;
- se completează tabelul de notaţii şi variabile;
- se da valori numerice pentru mărimile de iniţializare;
- se adaptează iniţializarea modului grafic la structura soft a calculatorului utilizat;
- se realizează modulul de simulare numerică a procesului;
- se realizează modulele necesare pentru realizarea experimentelor de simulare;
- se modifică modulul de afişare date introducând variabilele care se vor afişa în
timpul simulării, factorii de scală şi culorile;
- se modifică modulul de afişare rezultate introducând variabilele ce se afişează
după simulare, factorii de scală şi culorile;
- se realizează programul principal ţinându-se cont de succesiunea logică a
procedurilor.

5.2 Scrierea programului


Program simulare cu BAZASIM1 1.3

Structura programului de simulare este cea prezentată în Anexa 3. In


continuare se vor preciza modul de utilizarea a programului cadru BAZA SIM1.
In procedura Initializare se dau valori numerice pentru mărimile
constructive, de intrare, de stare şi de ieşire ale procesului de simulare:
- mărimi constructive : M, g, H0, v0;
- mărimi de stare : la i =1 => t = 0 , H[1] =H0 ; v[1]=v0, Ec[1]=Mv02/2;
- mărimi de iniţializare : dt ;
- coordonate pornire grafice :x1,y1,x2,y2,......xn,yn.
In procedura ModelSistem este introdus modelul de simulare cu care se
calculează valorile deplasării H[k] şi v[k]. Se porneşte procesul de iterare de la i=2,
deoarece la i=1 s-a definit starea iniţială a sistemului.
Modulul de achiziţie date are rolul de a asigura memorarea în tablouri
bidimensionale de variabile, cu 600 de elemente a datele rezultate din simulare,
valorile mărimilor H[k] şi v[k] pentru fiecare pas de iteraţie, Aceste date vor fi
utilizate atât pentru afişare în timpul simulării, cât şi ulterior la prelucrarea datelor
după simulare şi la afişarea rezultatelor. Modulul de achiziţie este înclus în
procedura ModelSistem .
Procedura AfisareDate realizează trasarea graficelor variaţiei mărimilor H[k]
şi v[k] în timpul simulării, cu culori diferite pentru o mai bună evidenţiere a
evoluţiei stării sistemului. Scara timpului se setează automat în funcţie de valoarea
lui ∆t. Pentru afişarea mărimilor în cadrul grafic sunt disponibili pe axa Oy 300
pixeli, valoare cu care se calculează factorii de afişare.
Factorul de afişare pentru mărimea H[i] se calculează pentru o valoare mai
mare decât Hmax=125 m, estimată la 150 m, cu relaţia:
300 pixeli
Kgh   2 ( pixeli / m) (1.15)
150 (m)
Rezultă că valorile pentru H[i] se vor citi pe scara de 150 diviziuni cu factorul de
scală Ksh=1 m/div. In procedura Grafic se introduce următoarea secvenţa cu care
se scrie lângă scara de 150 div. simbolul H şi valoarea lui Ksh:
- setcolor(4);
- outtextxy(480,120, ‚H 1x(m)”);
Valoarea pentru Kgv se introduce în procedura Initializare.
Factorul de afişare pentru mărimea v[k] se calculează pentru o valoarea mai
mare decât vmax = v0 = 50 m/s, care se estimează la 100 m/s, cu relaţia:
300 pixeli
Kgv   2  pixeli /(m / s)  (1.16)
100 (m / s)
Valoarea pentru Kgh se introduce în procedura Initializare.
Rezultă că valorile pentru v[i] se vor citi pe scala de 100 diviziuni cu factorul
de scală Ksv=1 (m/s)/div. In procedura Grafic se introduce următoarea secvenţa cu
care se scrie lângă scara de 100 div. simbolul v şi valoarea lui Ksv:
- setcolor(2);
- outtextxy(45,120, ‚v 1x(m/s)”);
Factorul de afişare pentru mărimea EC[k] se calculează pentru o valoarea mai
mare decât ECmax = 1250 J, care se estimează la 1500 J, cu relaţia:
1.4 Îndrumar laborator - Modelarea şi Simularea Sistemelor Biotehnice

300 pixeli
Kge   0,2  pixeli / J )
1500 ( J )
(1.17)
Valoarea pentru Kge se introduce în procedura Initializare.
Rezultă că valorile pentru EC[i] se vor citi pe scala de 150 diviziuni cu
factorul de scală Kse=0,1 J/div. In procedura Grafic se introduce următoarea
secvenţa cu care se scrie lângă scara de 150 div. simbolul Ec şi valoarea lui Kse:
- setcolor(14);
- outtextxy(480,105, ‚Ec 0,1x(J)”);
In procedura PrelucrareDate se introduce relaţia de calcul a energiei
cinetice EC[k] corespunzătoare relaţiei (1.14);
Cu procedura AfisRezultate se trasează, după terminarea simulării, variaţia
mărimilor H[k] şi EC[k] cu culori diferite pentru o mai bună evidenţiere a
evoluţiei a stării sistemului simulat. Se utilizează aceiaşi factori de scală.

5.3 Verificarea programului


Se urmeşte ca graficul de variaţie a înălţimii să fie de forma unei parabole cu
ramurile în jos, iar cel al vitezei să aibă o variaţie liniară; valorile limită se
calculează anterior din datele iniţiale.
Dacă este necesar se reiau etapele anterioare pentru corectarea erorilor şi a
omisiunilor până când rularea programul şi afişarea datelor corespund simulării
regimului impus prin test.

5.4 Validarea programului


Se citesc din tablourile de date valorile extreme pentru H[k] , v[k] şi EC[k] şi
se compară cu datele calculate anterior.
Dacă este necesar se reiau etapele anterioare pentru corectarea erorilor şi a
omisiunilor până când din rularea programul şi afişarea datelor se constată că
valorile obţinute din simulare corespund cu cele calculate anterior pentru procesul
fizic simulat.

S-ar putea să vă placă și