Académique Documents
Professionnel Documents
Culture Documents
Universita
Tesina di Fisica dei Fluidi
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
Risoluzione
2.1
= 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
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
=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 .
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
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
2.3
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
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
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
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
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
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
-0.15
v(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
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)
-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)
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
-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)
-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)
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
0.02
-0.02
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
-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
0.01
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
0.01
-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
3.3
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 ) =
D
Dt
=0
t
w
u v
+
+
= 0.
x y
z
15
4.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
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
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
+
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
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