Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DMT a.a. 2012-2013 Esercitazioni dal corso di Dinamica e Modellistica della Turbolenza
Giulio Topazio matr. 0197585 giulio.topazio89@gmail.com Alfredo Patrizi matr. 0194329 alfredo.patrizi@gmail.com
27 settembre 2013
INDICE
Indice
1 Esercitazione 1 - Attrattore di Lorenz 1.1 Metodo esplicito: Eulero forward . . . . 1.1.1 Simulazioni numeriche e risultati 1.2 Metodo implicito: mid-point . . . . . . . 1.2.1 Simulazioni numeriche e risultati 1.3 Dominio di calcolo della soluzione . . . . 1.4 Distribuzione di probabilit` a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 . 5 . 6 . 9 . 10 . 13 . 13 18 18 18 21 22
2 Esercitazione 2 - Equazione di Burgers 2.1 Integrazione nel dominio dei numeri donda . 2.1.1 Simulazioni numeriche e risultati . . 2.2 Integrazione nello spazio sico (x,t) . . . . . 2.2.1 Simulazioni numeriche e risultati . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
20
Fenomeno dellaliasing . . . . . . . . . . . . . . . . . . . . . . 24
I risultati esposti di seguito sono stati ottenuti attraverso limplementazione degli algoritmi di calcolo necessari in codice C++, programmato utilizzando il compilatore Visual C++ 2010 su piattaforma Microsoft Windows (x64). Lanalisi statistica, ove richiesta, ` e stata condotta sempre attraverso apposite funzioni del listato C++. La sola rappresentazione graca ` e stata realizzata attraverso software commerciali (Excel, Matlab) o freeware (gnuplot).
Lesercitazione si propone di risolvere, previa integrazione numerica, il seguente sistema di equazioni: = (y x) x (1) y = x y xz z = z + xy Successivamente, si richiede di computare i momenti della distribuzione di probabilit` a per i valori di x, y , z , no al generico ordine k . Si riportano di seguito i risultati ottenuti utilizzando per lintegrazione numerica, rispettivamente, metodo esplicito (Eulero forward ) e implicito (midpoint ).
1.1
Il metodo si basa sullapprossimazione della derivata prima della generica funzione u(x) a variabile indipendente x mediante lo sviluppo di Taylor (arrestato al primo ordine) nel punto x0 ; in particolare, introducendo una discretizzazione per x del tipo x = ix, vale: ui ui1 u |i = + o(x) x x Le equazioni dellattrattore di Lorenz divengono dunque: xi = xi1 + (yi1 xi1 )t yi = yi1 + (xi1 yi1 xi1 zi1 )t zi = zi1 + (zi1 + xi1 yi1 )t (2)
(3)
Segue lestratto dal listato di codice che implementa la funzione per lintegrazione numerica delle equazioni attraverso il metodo in esame.
void explicitIntegration(double *x, double *y, double *z, double x0, double y0, double z0) { x[0] = x0; y[0] = y0;
z[0] = z0; for(int i = 1; i<gI_steps; i++) { x[i] = x[i-1]+ gD_deltaT*gD_sigma*(y[i-1]-x[i-1]); y[i] = y[i-1]+ gD_deltaT*(gD_rho*x[i-1]-y[i-1]-x[i-1]*z[i-1]); z[i] = z[i-1]+ gD_deltaT*(-gD_beta*z[i-1]+x[i-1]*y[i-1]); } } Listato 1: La funzione explicitIntegration().
1.1.1
La soluzione ottenuta con metodo esplicito non ` e incondizionatamente stabile; si pu` o dimostrare infatti che il limite di stabilit` a si ha per un dt = 0.0192625. Si riporta un esempio computato utilizzando il suddetto metodo di Eulero in avanti con uno step dintegrazione pari a 0.02.
A scopo dimostrativo sono state calcolate le soluzioni a partire da condizioni iniziali uguali a meno di una variazione di ordine 105 su y0 : i corrispondenti graci mostrano nei valori di x, y e z variazioni di ordine 10. Si riporta inoltre un plot 3d dellattrattore di Lorenz integrato con e senza perturbazione iniziale.
Figura 2: Coordinata x.
Figura 3: Coordinata y.
Figura 4: Coordinata z.
1.2
Utilizzando la medesima simbologia adottata nel paragrafo precedente, il 1 metodo si basa sullapprossimazione della derivata prima u i nel punto i 2 (punto medio tra i 1 e i). Il metodo ` e detto implicito in quanto presume la conoscenza del valore della derivata nel punto di arrivo (i); ci` o comporta lesigenza di risoluzione per via iterativa, a vantaggio, tuttavia, di un ordine di accuratezza pari a 2. ui ui1 u |i 1 = + o(x2 ) (4) x 2 x Nel listato, per il generico istante temporale i, ad ogni iterazione k viene assunto, come stima per ciascuna delle variabili x, y , z , il valore medio tra il valore calcolato nel ciclo immediatamente precedente ed il valore iniziale, essendosi preliminarmente posto questultimo pari a quello computato nel passo temporale i 1. xpredict = 0.5(xtemp + xi1 ) (5)
In particolare nela precedente ` e possibile calcolare xtemp , mediante lintroduzione di un opportuno fattore di sottorilassamento , come segue:
k1 xtemp = (1 )xk i + xi
(6)
Literazione prosegue ntanto che non si giunge a convergenza secondo una prestabilita soglia di tolleranza. Il sistema da risolvere numericamente diventa quindi: x x i i1 t = (yp xp ) yi yi1 (7) = xp yp xp zp t zi zi1 = zp + xp yp t
void midPoint(double *x, double *y, double *z, double x0, double y0, double z0) { char tempString[1000]; double xP, yP, zP, underRelaxationFactor = 0; x[0] = x0; y[0] = y0; z[0] = z0;
10
double xT, yT, zT, conv = 0.00000001; for(int i = 1; i<gI_steps; i++) { x[i] = x[i-1]; y[i] = y[i-1]; z[i] = z[i-1]; do { xT = (1-underRelaxationFactor)*x[i] + underRelaxationFactor*xT; yT = (1-underRelaxationFactor)*y[i] + underRelaxationFactor*yT; zT = (1-underRelaxationFactor)*z[i] + underRelaxationFactor*zT; xP = (x[i-1]+xT)*0.5; yP = (y[i-1]+yT)*0.5; zP = (z[i-1]+zT)*0.5; x[i] = x[i-1] + gD_deltaT*gD_sigma*(yP - xP); y[i] = y[i-1] + gD_deltaT*(gD_rho*xP - yP - xP*zP); z[i] = z[i-1] + gD_deltaT*(-gD_beta*zP + xP*yP); } while (abs((x[i]-xT)) > conv || abs((y[i]-yT)) > conv || abs((z[i]-zT)) > conv); } } Listato 2: La funzione midPoint().
1.2.1
Analogamente al caso della soluzione calcolata con metodo esplicito, si riportano gli andamenti di x, y, z a partire da condizioni iniziali imperturbate e perturbate. Ancora, a una variazione di ordine 105 su y0 corrispondono variazioni di ordine 10 in x, y, z.
11
Figura 6: Coordinata x.
Figura 7: Coordinata y.
12
Figura 8: Coordinata z.
13
1.3
Sono state eseguite anche diverse runs del listato andando a modicare la sola estensione del dominio di integrazione (no 500, 5000 e 50000 unit` a temporali, con dt = 0.005), a parit` a di ciascuno degli altri parametri. Seguono le tabelle con le rispettive medie e deviazioni standard.
Tabella 1: Valori medi e deviazioni standard per t = 500, dt = 0.005
time
500.000000,
dt
0.005
= = = =
deltaT =
0.005
time
50000.000000,
dt
1.4
Distribuzione di probabilit` a
Sia per le soluzioni ottenute con il metodo di Eulero in avanti che per quelle computate implicitamente, ` e stata condotta unanalisi statistica sulla distribuzione di valori per le coordinate x, y e z , calcolandone le rispettive funzioni di distribuzione di probabilit` a ed i momenti teorici centrati nel valore
14
Segue il graco dellandamento della funzione distribuzione di probabilit` a; i valori delle ascisse risultano centrati nei rispettivi valori medi.
15
Si riportano invece di seguito, ancora a titolo dimostrativo, alcuni graci delle funzioni integrande per il calcolo dei momenti di distribuzione di probabilit` a:
ordine 1: il graco ` e esemplicativo dellandamento della funzione integranda per momenti di ordine dispari; la distribuzione risulta simmetrica rispetto allo zero ed il momento centrato ` e dunque nullo per ciascuna coordinata; ordine 2: il graco ` e esemplicativo dellandamento della funzione integranda per momenti di ordine pari; i momenti centrati in x, y, z risultano pari alle rispettive varianze, come si deduce confrontando i valori dei primi con i valori delle deviazioni standard calcolate con funzioni appositamente dedicate;
16
Tabella 4: Valori medi, deviazioni standard e momenti del primo e secondo ordine per t = 50000, dt = 0.005
= = = = = = =
50000.000000,
dt =
0.005
17
Si ` e inne valutato il massimo ordine di validit` a della statistica gracando i valori delle funzioni integrande dei momenti statici di ordini superiori. Il graco di seguito riportato evidenzia che la statistica ` e da non ritenersi pi` u valida a partire dallordine 27.
18
Lesercitazione ha come scopo lintegrazione numerica della seguente equazione nota come equazione di Burgers: u u 2u +u = 2 t x x (8)
La relazione monodimensionale appena esposta ` e di notevole importanza in quanto presenta le principali caratteristiche delle equazioni di Navier-Stokes fatta eccezione per il termine di pressione. Lintegrazione verr` a condotta in due modi dierenti: dapprima si cercher` a la soluzione nel dominio dei numeri donda, limitando cio` e l ad un numero discreto di modi, procedendo poi allintegrazione nello spazio sico (x,t).
2.1
Ak (t)sin(kx)
(9)
si giunge, mediante lutilizzo delle propriet` a di ortogonalit` a delle funzioni seno, ad una soluzione del tipo:
k + A
m=1
m(
(10)
2.1.1
Lequazione (10) ` e stata integrata limitando il numero di inniti a 3 modi e a 150 modi. Il graco seguente mostra landamento dei suddetti modi nel tempo nella circostanza in cui lenergia venisse immessa al solo modo A(1) al tempo iniziale ( tutti gli altri valori di A(i, t0 ) sono nulli).
19
(b) Innito a 150 modi. Figura 14: Andamento dei vari modi.
20
Si riporta anche un graco che mostra il trasferimento di energia per istanti successivi a i modi caratterizzati da numeri donda maggiori (cascata diretta dellenergia). La soluzione proposta riguarda il caso di innito a 150 modi ma ne vengono riportati, per ovvie ragioni, soltanto 14.
La validazione del metodo ` e stata condotta andando a computare leffettiva dissipazione di energia durante il fenomeno. Lenergia in questione ` e calcolabile dalla somma dei quadrati delle ampiezze dei singoli modi.
21
Viene inne valutata la soluzione u(x, t) serie di seni. Il graco che segue riporta landamento della suddetta a 3 diversi intervalli temporali. Si osserva unappiattimento della curva attorno al valore x = , corrispondente alla met` a del dominio spaziale(D = [0, 2 ]). Ci` o` e giusticabile ancora una volta dal meccaniscmo di cascata dellenergia: andando avanti nel tempo lenergia viene trasferita a strutture sempre pi` u piccole cui corrispondono gradienti sempre pi` u ripidi.
2.2
In questa sezione lequazione (8) verr` a risolta direttamente nello spazio sico utilizzando il metodo di integrazione esplicito di Adams-Bashforth. Il metodo qui proposto ` e un metodo detto multistep poich` e, nella scrittura delle equazioni alle dierenze che lo caratterizza, sono coinvolti pi` u valori, calcolati agli istanti precedenti, della serie che rappresenta la soluzione: per il generico sistema di equazioni dierenziali {y } = {f ({y } , t)} (11)
al passo n + k la soluzione ` e approssimata attraverso luso di combinazioni lineari delle funzioni y ed f valutate ai passi n + j con j = 0, 1, . . . , k dove k indica il numero di passi del metodo.
22
Nel caso in esame ` e stato utilizzato un metodo al secondo ordine la cui forma generale ` e la seguente: 1 3 (12) yn = yn1 + h f (xn1 , yn1 ) h f (xn2 , yn2 ) 2 2 La soluzione dellequazione di Burgers viene denita nellintervallo [0, 2 ] e si ipotizza che la soluzione sia periodica in x con media nulla. Come nel caso di integrazione nel dominio dei numeri donda la soluzione u(x, t) si pu` o espandere con una serie di seni del tipo:
u(x, t) =
k=1
Ak (t)sin(kx)
(13)
la cui dinamica temporale della soluzione ` e tenuta in conto dai coecienti Ak (t). Si pongano nulle le soluzioni per x = 0 e x = 2 (condizioni a contorno). 2.2.1 Simulazioni numeriche e risultati
Per la prima integrazione si ` e costruita una griglia di calcolo spaziotemporale uniforme. Il passo temporale di integrazione ssato ` e di t = 2 0.001s, mentre il passo di integrazione spaziale ` e x = steps con steps = 100000. Il graco che segue riporta, come nel caso dellintegrazione dellequazione di Burgers nel dominio dei numeri donda, landamento della suddetta a 5 diversi intervalli temporali. Si osserva unappiattimento della curva attorno al valore x = , corrispondente alla met` a del dominio spaziale(D = [0, 2 ]). Ci` o` e giusticabile ancora una volta dal meccaniscmo di cascata dellenergia: andando avanti nel tempo lenergia viene trasferita a strutture sempre pi` u piccole cui corrispondono gradienti sempre pi` u ripidi. Il primo graco riporta landamento della soluzione per valori di viscosit` a 2 m2 cinematica = 10 s evidentemente troppo elevati in quanto si osserva un forte smorzamento (riduzione dellampiezza delloscillazione) per tempi brevi.
23
Si ` e poi diminuito il valore di viscosit` a per osservare una dinamica pi` u lenta . Se ne riporta landamento nel graco che segue.
24
rale di integrazione riducendolo oltre il limite dellaliasing . Si pu` o osservare linstabilit` a del fenomeno notando che lampiezza della soluzione diverge.