Vous êtes sur la page 1sur 19

` degli Studi di LAquila

Universita
Tesina di Fisica dei Fluidi

Rossby Adjustment Problem

Autore:
Maddalena Cataldo

Professore:
Guido Visconti

5 agosto 2014

Indice
1 Introduzione al problema

2 Risoluzione
2.1 Adjustment senza rotazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Adjustment con rotazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Considerazioni di tipo energetico . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2
2
3
6

3 Risoluzione per via numerica


3.1 Listati dei programmi utilizzati . . . . . .
3.1.1 Programma Fortran77 . . . . . . .
3.1.2 Programma Fortran90 . . . . . . .
3.1.3 Script Gnuplot . . . . . . . . . . .
3.2 Risultati ottenuti . . . . . . . . . . . . . .
3.3 Osservazioni sulla sezione di computazione

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

6
6
7
9
11
12
14

4 Appendice
4.1 Equazione di continuit`
a . . . . . . . . . . . . .
4.2 Equazioni del moto . . . . . . . . . . . . . . . .
4.3 Vorticit`
a. . . . . . . . . . . . . . . . . . . . . .
4.4 Equazioni dellapprossimazione Shallow Water .
4.5 Metodo Perturbativo . . . . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

15
15
16
16
16
18

5 Bibliografia

.
.
.
.
.
.

.
.
.
.
.
.

18

Introduzione al problema

Nel problema che tratter`


o si suppone di avere un fluido in approssimazione di shallow water
[Vedere Appendice] inizialmente in equilibrio geostrofico e di perturbare questequilibrio. In
seguito alla perturbazione verranno allora a generarsi delle onde inerziali di gravit`a che agiscono al
fine di riportare la distribuzione di massa e del momento di nuovo in condizioni di stabilit`a.
Questo processo prende il nome di Adjustment geostrofico o Rossby Adjustment. Rossby risolse
per primo lequazione del transitorio negli anni 1930.
Questo problema, con particolari condizioni al contorno, rappresenta il fenomeno schematizzato
di rottura di una diga. Infatti considero inizialmente il fluido in equilibrio con un profilo a gradino
(diga a riposo), e successivamente suppongo di perturbare lequilibrio rompendo la diga, ovvero
eliminando praticamente ed istantaneamente il muro di separazione tra i due blocchi di fluido.
Questo porter`
a allo stabilirsi di un nuovo equilibrio dopo una situazione di transito. Il tutto
viene trattato, per semplicit`
a, nel caso unidimensionale, cio`e nel piano xz e nel caso di un fluido
incomprimibile in cui vale lapprossimazione di shallow water. In tutta la trattazione viene resa
implicita lapplicazione del metodo perturbativo [Vedere Appendice].

Risoluzione

2.1

Adjustment senza rotazione

Voglio calcolare la soluzione stazionaria considerando un fluido in condizioni di shallow water e


senza rotazione, cio`e con f0 = 0 le equazioni del momento e di continuit`a [Vedere Appendice] sono:
0
u0
= g
t
x
v 0
0
= g
t
y


u0
v 0
0
+H
+
=0
t
x
y
Derivo la prima rispetto ad x, la seconda rispetto ad y e le sommo fra loro ottenendo:


 2 0

u0
v 0

2 0
+
= g
+
t x
y
x2
y 2
mettendo ora questo risultato insieme alla terza equazione ottengo:
 2 0

1 2 0

2 0

= g
+
H t2
x2
y 2
Che rappresenta lequazione di un oscillatore armonico con c2 = gH, che ha per soluzione una
funzione della forma:
1
0 (x, t) = [G(x ct) + G(x + ct)]
2

con G(x ct) ei(xct) . Ho cos` imposto per semplicit`a che 0 non dipenda da y per cui ho dalla
seconda equazione del moto che v 0 (t = 0) = v 0 (t) rimane, cio`e, costante nel tempo. Mentre posso
ricavare la componente della velocit`
a u0 (x, t) dalla prima equazione nel seguente modo:
g 0 (x, t)
u0
=
t
2 x
Integrando rispetto ad t:

g
[G(x ct) G(x + ct)]
2c
A questo punto occorre imporre le condizioni iniziali seguenti, per ottenere la soluzione completa:
u0 (x, t) =

u(x, 0) = 0
v(x, 0) = 0
(x, 0) = 0 sgn(x)
Il profilo iniziale di 0 `e a gradino e le componenti della velocit`a iniziale sono entrambe nulle. Si
osserva in conclusione che le due componenti del fluido, quella per x > 0 e per x < 0, allaumentare
del tempo mantengono la loro forma iniziale ma si allontanano indefinitamente nel modo presentato
in figura raggiungendo la condizione di equilibrio solo per t = + e per distanze infinite: x = .
Levoluzione temporale presenta un andamento di questo tipo:
3

3
eta

eta

eta/eta0

eta/eta0

eta/eta0

eta

-1

-1

-1

-2

-2

-2

-3
-30

-3
-30

-20

2.2

-10

0
x/lambdaR

10

20

30

-20

-10

0
x/lambdaR

10

20

30

-3
-30

-20

-10

0
x/lambdaR

10

20

30

Adjustment con rotazione

Calcolo la soluzione stazionaria nel caso di fluido con rotazione. Le equazioni del moto e di continuit`
a
per un fluido in cui `e presente la rotazione, cio`e con f0 6= 0 sono :
0
u0
f0 v 0 = g
t
x
0
v 0
+ f0 u0 = g
t
y


u0
v 0
0
+H
+
=0
t
x
y
Derivo la prima rispetto ad x e la seconda rispetto ad y e le sommo ottenendo:

2 0
c2
t2

2 0
2 0
+
x2
y 2

+ f0 H 0 = 0

Dove con c indico la velocit`


a di fase delle onde di gravit`a inerziali il cui quadrato `e pari a
0
u0
c2 = gH, mentre ricordiamo che la vorticit`a `e pari a = v
x y di cui nellequazione abbiamo
considerato le sue variazioni.
Abbiamo ora bisogno di unaltra equazione che ci determina la dipendenza tra e e viene
ricavata nel seguente modo:
Sottraggo alla seconda derivata rispetto ad x la prima derivata rispetto ad y:
 0

u
v 0
0
+ f0
+
=0
t
x
y
Sostituisco adesso alla somma delle due derivate meno la derivata temporale di 0 fratto H,
ricavata dalla equazione di continuit`
a, e raccolgo la derivata temporale:


0
h0

=0
t f0
H
Questa rappresenta lequazione della conservazione della vorticit`
a potenziale nel tempo,
indicata con:
Q=

f0
H

Infatti integrando rispetto al tempo si ottiene che la vorticit`a potenziale al tempo t = 0 `e pari
a quella calcolata in qualsiasi istante di tempo.
Q0 (x, y, t) = Q0 (x, y, 0)
Mettendo ora insieme le due equazioni ottengo lequazione che regola lAdjustment geostrofico
in un fluido barotropico:
 2 0

2 0
2 0

2

c
+
+ f02 0 = f0 (H00 f0 00 )
t2
x2
y 2
Dove ho indicato con 00 e 00 i valori delle variazioni nella vorticit`a e nellaltezza al tempo t = 0.
Per trovare la soluzione stazionaria bisogna imporre le condizioni iniziali.
Fisso al tempo t = 0:
u(x, 0) = 0
v(x, 0) = 0
(x, 0) = 0
(x, 0) = 0 sgn(x)
Impongo come condizione iniziale quindi che la velocit`a sia nulla, la vorticit`a nulla e il profilo sia
a gradino. Si pu`
o, come gi`
a detto, pensare di stare trattando il caso reale di una diga inizialmente
in equilibrio dove il profilo del fluido `e schematizzato come un gradino di altezza 0 .

Considero adesso per semplicit`


a il caso unidimensionale, in cui non c`e dipendenza da y. Dal
momento che inizialmente si trova solo sul piano xz allora anche la soluzione finale giacer`a sullo
stesso piano.
Fatta questa supposizione posso allora riscrivere lequazione delladjustment nel seguente modo:
 2 0

2 0
2
c
+ f02 0 = f02 00 sgn(x)
t2
x2
Sempre ricordando che la vorticit`
a si conserva per cui rimane costante dallinstante 0 in poi.
La soluzione stazionaria sar`
a la somma della soluzione dellomogenea pi`
u una soluzione partico0
0
lare 0 (x) = omogenea
(x) + particolare
(x).
f

0
La soluzione dellomogenea `e pari a omogenea
(x) = Ae c x + Be c x . Mentre la soluzione particolare si trova con il metodo dei coefficienti indeterminati e sapendo che la forma deve essere del tipo
0
particolare
(x) = Csgn(x) mettendo questa soluzione nella equazione iniziale si vede che C = 0
Successivamente imponendo che la soluzione sia continua nel punto x = 0 si trovano i valori delle
costanti A, B.
La soluzione finale `e la seguente:
( f x
e c 1 x0
0
(x) = 0
f
1 ecx x < 0

Mentre ricavo il campo di velocit`


a tramite la seconda equazione, in cui ho imposto la condizione
di stazionariet`
a e dal momento che 0 `e indipendente da y ottengo questo risultato:
0 + f0 u0 = g

0
=0
y

Da cui ottengo che u0 (0) = 0 e sostituendolo nella prima equazione ed imponendo la stazionariet`
a
v ha questa forma:
v0 =

g 0
g0 |x|
=
e R
f0 x
f0 R

1
eta
0.8

-0.2

0.6

-0.3

0.4

-0.4

0.2
eta/eta0

v/v0

v
-0.1

-0.5

-0.6

-0.2

-0.7

-0.4

-0.8

-0.6

-0.9
-1
-10

-0.8

-5

0
x/lambdaR

-1
-10

10

-5

0
x/lambdaR

10

Nota: Viene definito R = fc = fgH come il raggio di deformazione di Rossby che


rappresenta la scala di lunghezze su cui il fluido risente delleffetto della rotazione.

2.3

Considerazioni di tipo energetico

Calcolo lenergia dispersa nel processo semplicemente calcolando la variazione dallo stato iniziale
e finale. Nello stato iniziale lenergia `e totalmente potenziale, il fluido `e in equilibrio. Lenergia
potenziale per unit`
a di area `e :
Z

h0

gzdz = g
0

h02
2

Quindi lenergia potenziale dispersa per unit`a di lunghezza lungo y sar`a data dallintegrazione
su tutto lasse x :
Z +
Z +
Z +
h2
h02
h2
3
g 0 dx
g
dx = 2
g 0 [1 (1 ex/R )2 ]dx = gh20 R
2
2
2
2

0
Nel caso in cui non abbiamo rotazione, cio`e per R , tutta lenergia potenziale viene
trasformata in energia cinetica. In questo caso viene dispersa infinita energia sottoforma di onde
di gravit`
a; lo stato finale `e rappresentato dalla superficie statica e che si estende per tutto x
e per t .
Nel caso in cui `e presente anche rotazione la quantit`a precedentemente calcolata viene trasformata in energia cinetica, e di questa solo 31 rimane in circolo allinterno del sistema anche in condizioni
stazionarie. Questa energia cinetica per unit`a di lunghezza infatti `e data da :
Z
2

H
0

02
dx = H
2

gh0
f R

2 Z

e2x/R dx =

1
gh20 R
2

Risoluzione per via numerica

Per quanto riguarda la soluzione del transitorio tra i due stati in equilibrio geostrofico, iniziale e
finale, questa non pu`
o essere ottenuta analiticamente, ma esclusivamente per via numerica.
Per la risoluzione numerica del problema ho utilizzato un programma scritto in Fortran77, che ho
tradotto successivamente in Fortran90. Questo perch`e il processore del computer che ho utilizzato
non riusciva a compilare quel tipo di codice. Il programma presenta la soluzione della equazione
di Bessel che a meno di costanti `e quella che regola il transitorio del nostro sistema. Un esempio
molto pi`
u generico di una funzione di Bessel pu`o essere questo:
x2

d2 y
dy
+x
+ (x2 2 )y = 0
dx2
dx

Per questo tipo di equazione si `e utilizzata la funzione gi`a presente nelle librerie del codice, come
si vede dal listato.

3.1

Listati dei programmi utilizzati

Vengono di seguito riportati entrambi i listati. Dal primo programma non `e stato prodotto alcun
risultato.

3.1.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

Programma Fortran77

c
c Rossby Adjustment Problem ( T r a n s i e n t s )
c
G i l l (1982) chapter 7.3
c
c
c o m p i l e s w i t h f o r t r a n g77 om MacBook Pro OS X 1 0 . 5 . 8
c
c Oct . 4 , 2005 Andreas Muenchow , U n i v e r s i t y o f Delaware
c Mar. 16 , 2012
c
double p r e c i s i o n u (50 ,400) , eta (50 ,400) , v (50 ,400)
r e a l eta0 , dx , arg , arg1 , arg2 , x , x1 , x2
real a , c , f ,h
open ( u n i t =7, f i l e = a d j u s t . dat )
c
c A l l u n i t s a r e SI
c
eta0 = 1.
f = 0.0001
g = 9.81
H = 100.
c = s q r t ( g H)
a = c/ f
c
c i t r e p r e s e n t s t h e time s t e p p i n g
c i x r e p r e s e n t s the space stepping
c
do 1 i t =1 ,20
c
do 2 i x = 1 ,4
do 2 i x = 1 , 4 0 0
t = 0 . 5 / f f l o a t ( i t ) 4
x = 0 . 5 a f l o a t ( ix 1) 0 . 1
c
c Keep t r a c k o f where t h e f r o n t i s
c
i f ( x . l t . c t ) then
c
c Eq . ( 7 . 3 . 1 4 )
c
a r g = f s q r t ( t txx/ c / c )
u ( i t , i x ) = g e t a 0 / c BesJ0 ( a r g )
c
c c a l c u l a t e v ( x , t ) as t h e i n t e g r a l o f u ( x , t ) as d ( v ) / d t=f u from y
momentum

43

44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

64
65
66
67
68

69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85

c c a l c u l a t e e t a ( x , t ) as t h e i n t e g r a l o f u ( x , t ) as d ( e t a ) / d t=hd ( u ) / dx
from c o n t i n u i t y
c
v( it , ix ) = 0.
eta ( it , ix ) = 0.
dx = a 0 . 0 5
do 3 i t t =1, i t 100
t = 0.5/ f f l o a t ( i t t ) 0.04
t2 = t t
c2 = c c
x1 = xdx
x2 = x+dx
xx = s q r t (max( x1 x1 , x2 x2 ) )
i f (max( x , xx ) . l t . c t ) then
a r g = f s q r t ( t2xx/ c2 )
a r g 1 = f s q r t ( t2x1 x1 / c2 )
a r g 2 = f s q r t ( t2x2 x2 / c2 )
v ( i t , i x ) = v ( i t , i x )BesJ0 ( a r g )
c
t e s t 1 = BesJ0 ( arg2 )
c
t e s t 2 = BesJ0 ( a rg1 )
c
w r i t e ( 6 , ) t e s t 1 , t e s t 2 , t e s t 1+t e s t 2
e t a ( i t , i x ) = e t a ( i t , i x )e t a 0 ( BesJ0 ( a r g 2 )BesJ0 (
arg1 ) )
else
eta ( it , ix ) = 0.
end i f
3
continue
c
scaling
times t e p
space
step
v( it , ix ) =
g e t a 0 / c v ( i t , i x )
0.50.04
eta ( it , ix ) = c eta0
e t a ( i t , i x ) 0 . 5 0 . 0 4 / f /dx / 2 .
else
u( it , ix ) = 0.
e t a ( i t , i x ) = e t a 0
v( it , ix ) = 0.
end i f
2
continue
101
format ( f 6 . 2 , 1 0 f 9 . 3 )
102
format ( f 6 . 2 , 1 0 f 9 . 5 )
1
continue
c
c For some unknown r e a s o n e t a ( i t , i x ) becomes a nan on o c c a s i o n
c
f o r some even i x (akm Mar. 15 , 2012)
c
do 4 i x =1 ,400 ,2
w r i t e ( 7 , 1 0 1 ) ( ix 1) 0 . 5 0 . 1 , ( u ( i t , i x ) , i t =1 ,20 ,2)

86
87
88

89
90

103

91
92

3.1.2
1
2
3
4
5
6
7

w r i t e ( 8 , 1 0 2 ) ( ix 1) 0 . 5 0 . 1 , ( e t a ( i t , i x ) , i t =1 ,20 ,2)
w r i t e ( 9 , 1 0 1 ) ( ix 1) 0 . 5 0 . 1 , ( v ( i t , i x ) , i t =1 ,20 ,2)
continue
w r i t e ( 1 0 , 1 0 3 ) ( f l o a t ( i t ) / 4 , u ( i t , 4 ) , v ( i t , 4 ) , i t =1 ,50)
format ( f 5 . 1 , 2 f 9 . 3 )
stop
end

Programma Fortran90

! ======================================
! Rossby Adjustment Problem ( T r a n s i e n t s )
! September , 2013
! Maddalena C a t a l d o
! ======================================
program t e s i n a
i m p l i c i t none

8
9
10
11
12

r e a l , DIMENSION( 5 0 , 4 0 0 ) : : u , eta , v
r e a l : : eta0 , dx , arg , arg1 , arg2 , x1 , x2
r e a l : : a , c , f , H, t , x , xx , t2 , c2 , g
i n t e g e r : : i t , ix , i t t

13
14
15
16
17

open
open
open
open

( u n i t =7, f i l e = dat /u . dat )


( u n i t =8, f i l e = dat / e t a . dat )
( u n i t =9, f i l e = dat /v . dat )
( u n i t =10 , f i l e = dat / uvt . dat )

18
19

! A l l u n i t s a r e SI

20
21
22
23
24
25
26

eta0 = 1.
f = 0.0001
g = 9.81
H = 100
c = s q r t ( g H)
a = c / f

27
28
29
30
31
32
33

! i t represents
! ix represents
do i t = 1 , 2 0
do i x = 1 , 4 0 0
t = 0.5 /
x = 0.5

t h e time s t e p p i n g
the space stepping

f float ( it ) 4
a f l o a t ( ix 1) 0.1

34

35
36

i f ( x . l t . c t ) then
arg = f s q r t ( t t x x / c / c )

37

u ( i t , i x ) = g e t a 0 / c BESSEL J0 ( a r g )

38
39

! c a l c u l a t e v ( x , t ) as t h e i n t e g r a l o f u ( x , t ) as d ( v ) / d t=f
u from ymomentum
! c a l c u l a t e e t a ( x , t ) as t h e i n t e g r a l o f u ( x , t ) as d ( e t a ) / d t
=hd ( u ) / dx from c o n t i n u i t y
v( it , ix ) = 0.
eta ( it , ix ) = 0.
dx = a 0 . 0 5

40

41

42
43
44
45

do i t t = 1 , i t 100
t = 0.5/ f f l o a t ( i t t ) 0.04
t2 = t t
c2 = c c
x1 = xdx
x2 = x+dx
xx = s q r t (max( x1 x1 , x2 x2 ) )

46
47
48
49
50
51
52
53

i f (max( x , xx ) . l t . c t ) then
a r g = f s q r t ( t 2 x x / c2 )
a r g 1 = f s q r t ( t 2 x1 x1 / c2 )
a r g 2 = f s q r t ( t 2 x2 x2 / c2 )
v ( i t , i x ) = v ( i t , i x ) BESSEL J0 ( a r g )

54
55
56
57
58
59

e t a ( i t , i x ) = e t a ( i t , i x ) e t a 0 ( BESSEL J0 ( a r g 2 )
BESSEL J0 ( a r g 1 ) )

60

else

61

eta ( it , ix ) = 0.
end i f
end do

62
63
64
65

v( it , ix ) = g eta0 / c v( it , ix ) 0.5 0.04


e t a ( i t , i x ) = c e t a 0 e t a ( i t , i x ) 0 . 5 0 . 0 4 / f / dx
/ 2.

66
67

68
69
70
71
72
73

else
u( it , ix ) = 0.
e t a ( i t , i x ) = e t a 0
v( it , ix ) = 0.
end i f
end do

74
75
76

101 format ( f 6 . 2 , 10 f 9 . 3 )
102 format ( f 6 . 2 , 10 f 9 . 5 )

10

77

end do

78
79
80
81
82
83

do i x = 1 , 4 0 0 , 2
write (7 , 101) ( ix 1) 0.5 0 . 1 , (u( i t , ix ) , i t = 1 , 20 , 2)
write (8 , 102) ( ix 1) 0.5 0 . 1 , ( eta ( i t , ix ) , i t = 1 , 20 , 2)
write (9 , 101) ( ix 1) 0.5 0 . 1 , ( v ( i t , ix ) , i t = 1 , 20 , 2)
end do

84
85

write (10 , 103) ( f l o a t ( i t ) / 4 , u( i t , 4) , v ( i t , 4) , i t = 1 , 50)

86
87

103 format ( f 5 . 1 , 2 f 9 . 3 )

88
89

end program
3.1.3

Script Gnuplot

Utilizzando Gnuplot sono stati graficati i dati forniti dal secondo programma. Ho scritto tre diversi
script, uno per ogni variabile, al fine di velocizzare il procedimento della generazione dei grafici dei
salvataggi e della loro modifica e perfezionemento. Di seguito riporto lo script della variabile u in
cui, per ottenere gli altri, sono stati modificati solo nome della variabile, colore e tipologia dei punti.
infile(name) = sprintf("dat/%s.dat", name)
outfile(name, number) = sprintf("animation/%s/%s_%2.1f.eps", name, name,
number)
ylabelname(name, time) = sprintf("%s(x, %2.1f) (m/s)", name, time)
func = "u"
set term postscript eps enh color
do for [i=2:11] {
time = 2 * i - 3
set output outfile(func, time)
set xlabel "x (m)"
set ylabel ylabelname(func, time)
set style line 5 lt rgb "red" lw 3 pt 3
plot infile(func) using 1:i with lp ls 5 title func, infile(func)
using (-1)*$1:i with lp ls 5 notitle
}

11

3.2

Risultati ottenuti

I dati forniti rappresentano i vari andamenti delle componenti lungo x (u) e lungo y (v) del profilo
della velocit`
a, in funzione della coordinata spaziale x (caso unidimensionale). Mentre con `e
rappresentata la coordinata la cui variazione indica gli spostamenti del profilo del fluido lungo
lasse z, rispetto alla posizione media z = H. Ogni immagine rappresenta una fotografia a tempo
fissato, e dalla sequenza di tutte le immagini ottengo landamento temporale dei vari profili.
0.3

eta

-0.05
0.25
-0.2

-0.1

0.15

0.1

eta(x, 1.0) (m/s)

-0.15
v(x, 1.0) (m/s)

u(x, 1.0) (m/s)

0.2

-0.2

-0.25

-0.4

-0.6

-0.3

-0.35

-0.8

0.05
-0.4

0
-20

-15

-10

-5

0
x (m)

10

15

-0.45
-20

20

0.25

-15

-10

-5

0
x (m)

10

15

-1
-20

20

0.1

-15

-10

-5

0
x (m)

10

20

0.2

15

eta

0.05

-0.2

0.15
0
-0.4

0.05

eta(x, 3.0) (m/s)

v(x, 3.0) (m/s)

u(x, 3.0) (m/s)

0.1
-0.05

-0.1

-0.6

0
-0.8
-0.15
-0.05

-0.15
-20

-1

-0.2

-0.1

-15

-10

-5

0
x (m)

10

15

-0.25
-20

20

0.2

-15

-10

-5

0
x (m)

10

15

-1.2
-20

20

0.1

-15

-10

-5

0
x (m)

10

15

20

eta

0.05
0.15

-0.2
0

0.1

0.05

-0.4
eta(x, 5.0) (m/s)

v(x, 5.0) (m/s)

u(x, 5.0) (m/s)

-0.05

-0.1

-0.15

-0.2

-0.6

-0.8

-0.05
-0.25
-1

-0.1
-0.3

-0.15
-20

-15

-10

-5

0
x (m)

10

15

-0.35
-20

20

0.15

-15

-10

-5

0
x (m)

10

15

-1.2
-20

20

0.1

-15

-10

-5

0
x (m)

10

15

20

eta

0.05
0.1

-0.2
0

-0.05

-0.4
eta(x, 7.0) (m/s)

-0.05
v(x, 7.0) (m/s)

u(x, 7.0) (m/s)

0.05

-0.1

-0.15

-0.2

-0.6

-0.8

-0.25
-0.1

-1
-0.3

-0.15
-20

-15

-10

-5

0
x (m)

10

15

20

-0.35
-20

-15

-10

-5

0
x (m)

12

10

15

20

-1.2
-20

-15

-10

-5

0
x (m)

10

15

20

0.1

0.1

eta

0.05

-0.2

0.05
0

-0.05

eta(x, 9.0) (m/s)

v(x, 9.0) (m/s)

u(x, 9.0) (m/s)

-0.4
0

-0.05

-0.1

-0.6

-0.8
-0.15
-0.1
-1

-0.2

-0.15
-20

-15

-10

-5

0
x (m)

10

15

-0.25
-20

20

0.08

-15

-10

-5

0
x (m)

10

15

0.1

-0.1

-0.2

-0.05

-0.3
eta(x, 11.0) (m/s)

v(x, 11.0) (m/s)

u(x, 11.0) (m/s)

-0.1

-0.15

-0.02

-0.04

-0.06

0
x (m)

10

15

0
x (m)

10

0.15

20

-0.5

-0.6

-0.25

-0.7

-0.35
-20

20

15

-0.4

-0.2

-0.3

-5

-5

eta

0.05

0.02

-10

-10

0.04

-15

-15

u
0.06

-0.08
-20

-1.2
-20

20

-0.8

-15

-10

-5

0
x (m)

10

15

-0.9
-20

20

0.1

-15

-10

-5

0
x (m)

10

15

20

eta

0.05
0.1

-0.2
0

-0.05

-0.4
eta(x, 7.0) (m/s)

-0.05
v(x, 7.0) (m/s)

u(x, 7.0) (m/s)

0.05

-0.1

-0.15

-0.2

-0.6

-0.8

-0.25
-0.1

-1
-0.3

-0.15
-20

-15

-10

-5

0
x (m)

10

15

-0.35
-20

20

0.06

-15

-10

-5

0
x (m)

10

15

-1.2
-20

20

0.1

-15

-10

-5

0
x (m)

10

15

20

eta

0.05

-0.1

-0.2

-0.05

-0.3

v(x, 13.0) (m/s)

u(x, 13.0) (m/s)

0.02

-0.02

eta(x, 13.0) (m/s)

0.04

-0.1

-0.15

-0.4

-0.5

-0.2

-0.6

-0.25

-0.7

-0.04
-0.3

-0.06
-20

-15

-10

-5

0
x (m)

10

15

20

-0.35
-20

-0.8

-15

-10

-5

0
x (m)

13

10

15

20

-0.9
-20

-15

-10

-5

0
x (m)

10

15

20

0.06

0.1

eta
-0.1

0.05
0.04

-0.2
0
-0.3
0.02

eta(x, 15.0) (m/s)

v(x, 15.0) (m/s)

u(x, 15.0) (m/s)

-0.05

-0.1

-0.15

-0.4
-0.5
-0.6

-0.02
-0.7
-0.2
-0.8
-0.04
-0.25

-0.06
-20

-15

-10

-5

0
x (m)

10

15

-0.3
-20

20

0.05

-0.9

-15

-10

-5

0
x (m)

10

15

-1
-20

20

0.1

-15

-10

-5

0
x (m)

10

15

0.04

eta

0.05

-0.1

-0.2

-0.05

-0.3

0.03

20

0
-0.01

eta(x, 17.0) (m/s)

0.01

v(x, 17.0) (m/s)

u(x, 17.0) (m/s)

0.02

-0.1

-0.15

-0.4

-0.5

-0.2

-0.6

-0.25

-0.7

-0.02
-0.03

-0.3

-0.04
-0.05
-20

-15

-10

-5

0
x (m)

10

15

-0.35
-20

20

0.05

-0.8

-15

-10

-5

0
x (m)

10

15

-0.9
-20

20

0.1

-15

-10

-5

0
x (m)

10

20

0.04

15

eta
-0.1

0.05

0.03

-0.2

0
0.02

0
-0.01

eta(x, 19.0) (m/s)

0.01

v(x, 19.0) (m/s)

u(x, 19.0) (m/s)

-0.3
-0.05

-0.1

-0.15

-0.4

-0.5

-0.6
-0.02
-0.2

-0.7

-0.03
-0.25

-0.04
-0.05
-20

-15

-10

-5

0
x (m)

10

15

20

-0.3
-20

-0.8

-15

-10

-5

0
x (m)

10

15

20

-0.9
-20

-15

-10

-5

0
x (m)

10

15

20

Figura: Adjustment di u, v, (in ordine)

3.3

Osservazioni sulla sezione di computazione

Il programma `e scritto in modo che dia soluzioni esclusivamente per la parte di fluido in
x > 0, per questo motivo allinterno dello script di Gnuplot ho fatto in modo che il grafico
fosse riportato a specchio anche nella parte in cui x < 0, in modo da ottenere una visione
completa del fenomeno e che rispecchiasse al meglio il problema schematizzato della diga
trattato nella sezione degli stati stazionari. C`e comunque da dire che non sono riuscita a
traslare i due blocchi delle funzioni lungo lasse y, per cui il problema rappresentato non `e
esattamente quello di cui ho parlato nella sezione degli stati stazionari.
Dovendo riscrivere il programma, ho scelto di utilizzare Fortran90 perche `e il linguaggio a
me pi`
u noto, ed inoltre `e particolarmente adatto per la risoluzione di questo tipo di problemi
computazionali anche dal punto di vista della velocit`a di calcolo.
Ho scelto di presentare un numero di immagini pari a dieci prese nei diversi intervalli di tempo
progressivi dal momento che, dopo vari tentativi, in questo modo la soluzione risultava essere
14

chiaramente leggibile. Ho fatto la stessa considerazione per tutte e tre le variabili. Gli istanti
di tempo, come si vede dal programma (ll. 80, 81, 82), sono presi partendo da t = 1 ed
aumentando di due unit`
a.
Nei grafici vengono riportati sugli assi i valori delle variabili non normalizzate ma con le loro
unit`
a di misura. Per una questione di ordine ho preferito riportare i grafici affiancati facendo
corrispondere lungo le righe i grafici agli istanti di tempo uguali per tutte le variabili piuttosto
che ingrandirli per far s` che si leggessero meglio le didascalie. Ho ritenuto pi`
u importante
una lettura dinsieme chiara.

4
4.1

Appendice
Equazione di continuit`
a

Considero un fluido che fluisce attraverso una superficie chiusa S con una certa velocit`a |v| in modulo
costante ma il cui vettore varia punto per punto sulla superficie. Allora questo flusso di materia
pu`
o essere scritto nel seguente modo ed uguagliato alla variazione di massa nel tempo (uscente):
Z
m
(~r, t) =
~v ~ndS =
t
S
dove ho indicato con la denit`
a del fluido, con ~n la normale
alla superficie S nel punto individuato
R
dal vettore posizione ~r. Adesso sostituisco ad m = V dV dove V `e il volume racchiuso nella
superficie.
Z
Z

~v ~ndS =
dV
t V
S
Dal teorema della Divergenza ottengo:
Z
Z

(~v )dV =
dV
t V
V
Posso allora portare dentro la derivata temporale e uguagliare i due integrandi:
(~v ) =

Scomponendo la divergenza di ~v ottengo:


( ~v ) + ~v () +
Definisco i due termini ~v () +

D
Dt

=0
t

la derivata totale della densit`a, ed infine ho:


1 D
= ~v
Dt

Ho cos` ricavato l equazione di continuit`


a o legge di conservazione della massa. Da questo
risultato ricaviamo la condizione di incompressibilit`a, ovvero se stiamo trattando, come nel nostro
caso, un fluido incompressibile cio`e per cui la densit`a rimane costante allora abbiamo che la sua
derivata `e nulla, da cui ricavo la equazione di continuit`a in questo caso:
~v = 0 =

w
u v
+
+
= 0.
x y
z
15

4.2

Equazioni del moto

Considero lequazione del moto di un fluido sottoposto ad un gradiente di pressione e ad un generico


potenziale gravitazionale indicato come un gradiente del campo di forze:
~v
P
+ (~v )~v =

t

Adesso ricordo per la propriet`


a dellalgebra vettoriale
1
( ~v ) ~v = (~v )~v (~v ~v )
2
1
(~v )~v = ( ~v ) ~v + (~v ~v )
2
Sostituisco nellequazione iniziale ed ho:
1
P
~v
+ ( ~v ) ~v + (~v ~v ) =

t
2

~ = ~
~ v ed ottengo infine lequazione generale del moto del fluido
Definisco ora la vorticit`
a come
:
~v ~
1
P
+ ~v + (~v ~v ) =

t
2

4.3

Vorticit`
a

Ho appena definito la vorticit`


a, una grandezza necessaria per determinare un fluido in movimento.
Adesso ne determino la sua evoluzione temporale. Considero lequazione del moto precedentemente
trovata e applico il rotore ad entrambi i membri:
~ ( ~v +
~ ~v ) =
~ ( 1 (~v ~v ) P )

t
2

Ora osservo che il secondo membro `e sempre nulla indipendentemente dalle funzioni allinterno
delle parentesi, dal momento che ho un rotore applicato sul gradiente. Ho cos` ricavato lequazione
che determina levoluzione temporale della vorticit`a. Questa insieme alle altre equazioni trovate
precedentemente mi determina interamente il fluido incompressibile in moto.

~v ~
1
P

+ ~v + (~v ~v ) =

t
~ ( ~v +
~ ~v ) = 0

~v = 0

4.4

Equazioni dellapprossimazione Shallow Water

Ho ricavato le equazioni che regolano il moto di un fluido incompressibile e che comprendono casi
molto generali. Adesso per`
o voglio adattarle al caso semplificato esaminato nella nostra trattazione.
v
w
u
v
Innanzitutto considero lequazione di continuit`a u
x + y + z = 0, suppongo che x e y siano
16

indipendenti dalla coordinata z. Fisso il suolo a z = 0 e, secondo la teoria delle perturbazioni di


cui parler`
o in seguito, fisso la coordinata della profondit`a z = H + , con H laltezza media ed
lelevazione. Integro questa equazione in dz da 0 a H + :


Z H+
u v
w
(H + )
+
=
dz
x y
z
0

 Z H+
u v
dw = 0
(H + )
+
+
x y
0


u v
(H + )
+
+ w(H + ) w(0) = 0
x y
Ora fisso la velocit`
a nulla in z = 0, ed osservo che w(H + ) = w() dal momento che w(H + ) =
D(H+)
D
=
dato
che H `e costante e non varia nel tempo.
Dt
Dt

+
u+
v
t
x
y



u v
+
+
+
u+
v=0
(H + )
x y
t
x
y

+
[u(H + )] +
[v(H + )] = 0
t
x
y
Se H >> cio`e laltezza media `e molto maggiore delle variazioni allora trascuro nella somma con
H:


u v

+H
+
=0
t
x y
Adesso considero la equazione del moto, divisa lungo le due componenti x ed y, e considero inoltre
che le componenti del gradiente di pressione presente al secondo membro, in questo caso, posso
P

scriverle cos` P
ae
x = g x , y = g y . Inoltre sviluppando il prodotto vettoriale tra la velocit`
~
~
la vorticit`
a ottengo due termini di questo tipo ( ~v )x = 2vsen, ( ~v )y = 2usen, dove
con indico langolo che `e la coordinata dellelementino generico che ruota. Definisco adesso come
~ ~v |sen il fattore comune che prende il nome di Parametro di Coriolis.
f = 2sen = 2|
Mettendo insieme queste considerazioni allora ho:

u
1 P

fv =
= g

t
x
x
1 P

+ fv =
= g
t
y
y
w() =

In conclusione, le seguenti sono le equazioni di shallow water valide per fluidi in cui la profondit`
a
media `e piccola rispetto alle lunghezze donda tipiche delle onde che vi si generano allinterno.

f v = g

t
x

+ f v = g
t
y




u v

+H
+
=0
t
x y
17

4.5

Metodo Perturbativo

In tutta la trattazione abbiamo considerato per semplicit`a ogni variabile composta da una parte
costante rispetto allo spazio e al tempo che rappresenta il valor medio della variabile, e una parte
invece che rappresenta le variazioni intorno a questo valore dipendente da t ed x, y, z. Per esempio
per la componente rispetto ad x della velocit`a scrivo u = u
+ u0 . Utilizzando queste considerazioni
si posso fare delle semplificazioni utili in espressioni del tipo:
u

u
(
u + u0 )
u0
= (
u + u0 )
'u

t
t

In cui so che la derivata di u


`e nulla essendo questo costante, ed inoltre ho potuto considerare
trascurabili tutti i termini che presentano il prodotto di due perturbazioni, cio`e del secondo ordine,
poich`e piccoli rispetto a quelli del primo ordine.

Bibliografia
James R. Holton, An introduction to Dynamic Meteorology (fourth edition)
Ross Tulloch, (April 29, 2004) Rotation and nonlinear effects in shallow water: the Rossby
adjustment problem
Appunti del corso di Fisica dei Fluidi (2012/2013), prof. G. Visconti.

18

Vous aimerez peut-être aussi