Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
- Esercitazione 2 -
- Equazione di Burgers –
Alberto Corbelli
3 Gennaio 2007
Parte 1
Sia data l’equazione di Burgers per un dominio ad una sola dimensione [0, Λ ] , con condizioni al
contorno periodiche:
∂u ∂u ∂ 2u
∂t + u = ν
∂x ∂x 2
u ( x, t ) = u ( Λ, t )
u ( x, 0) = v ( x)
è possibile mediante un opportuno cambio di variabile ricondurre per analogia la sua soluzione a
quella dell’equazione del calore:
∂φ ∂ 2φ
=ν 2
∂t ∂x
∂φ
φ&=
∂t
∂φ
φx =
∂x
∂ 2φ
φxx = 2
∂x
1
che, una volta sostituite nell’equazione di Burgers ci consegnano il nuovo problema:
φ&x φ& φ φ ⋅φ ⋅φ φ φ ⋅φ φ φ φ ⋅φ
α − αφx 2 + α 2 xx − α 2 x x3 x = ν α xxx − α xx 2 x − 2α x xx − x 2 x
φ φ φ φ φ φ φ φ φ
Tale nuovo problema ammette la soluzione banale α = 0 e quella diversa da zero per α = −2ν .
In particolare, sostituendo tale valore e moltiplicando entrambi i termini per φ 2 , non nullo,
otteniamo la formulazione:
φ ⋅ φ&x − φ&⋅ φx = ν (φ ⋅ φxxx − φxx ⋅ φx )
( x − x0 )2
1 −
φ ( x, t ) = e 4ν t
8πν t
Poiché inoltre l’equazione di Burgers deve avere condizioni al contorno periodiche, si sfrutta la
linearità dell’equazione del calore per riscriverla come una serie di Gaussiane di periodicità Λ .
Quindi:
+∞ ( x − x0 − i Λ ) 2
1 −
φ ( x, t ) = ∑ e 4ν t
i =−∞ 8πν t
Da ultimo si precisa che, essendo l’impulso di Dirac di difficile applicazione numerica, si utilizza
come condizione iniziale la soluzione ottenuta calcolata ad un certo istante τ .
Sostituendo tutto quanto ottenuto nella relazione tra la variabile principale u e quella ausiliaria, si
ottiene:
( x − x0 −iΛ ) 2
+∞
1 −2( x − x0 − iΛ ) −
∑
i =−∞ 8πν (t + τ ) 4ν (t + τ )
e 4ν ( t +τ )
u ( x, t ) = −2ν ( x − x0 −iΛ ) 2
+∞
1 −
∑
i =−∞ 8πν (t + τ )
e 4ν ( t +τ )
Per poter visualizzare in maniera utile la soluzione nel tempo e nello spazio dell’equazione di
Burgers, risulta spesso conveniente porci in un sistema di riferimento in moto a velocità relativa
rispetto a quello considerato pari a –c, così da poter vedere le soluzione muoversi a velocità +c.
Tale trasformazione è possibile in quanto, sostituendo all’equazione di partenza la coordinata
spaziale y = x + ct , l’espressione v( x, t ) = u ( x, t ) − c sarà anch’essa soluzione dell’equazione di
Burgers. Lo si può vedere anche sostituendo:
∂v ∂u ∂v ∂x ∂u ∂u
= + = + ( −c )
∂t ∂t ∂x ∂t ∂t ∂x
2
∂v ∂u ∂x ∂u
= =
∂y ∂x ∂y ∂x
∂ 2v ∂ 2u
=
∂y 2 ∂x 2
∂u ∂u ∂u ∂ 2u
− c + (u + c) =
∂t ∂x ∂x ∂x 2
Per mostrare in via grafica quanto appena detto, si riporta un grafico che riporta l’andamento della
soluzione in dieci istanti temporali, distanti ognuno 0.005 s, con velocità relativa c pari a 2. Come
condizione iniziale è stato adottato x0 = 0 , applicato alla trattazione appena effettuata.
Si nota tra i vari istanti temporali la diminuzione del valore massimo di u, causata dal termine
dissipativo.
Il grafico ora mostrato non è stato ottenuto, come invece gli altri riportati nelle varie esercitazioni,
mediante l’utilizzo di Fortran ma in ambiente MatLab, ed il listato del programma è riportato al
termine di questa esercitazione.
3
Parte 2
Si studia allora l’applicazione di metodi di integrazione numerica diversi alla soluzione
dell’equazione di Burgers. Nello specifico, si utilizzerà un metodo di Runke-Kutta a quattro passi
per la discretizzazione temporale, e due diversi metodi alle differenze finite per quella spaziale.
In entrambi i casi sono stati utilizzati i seguenti parametri:
Dt = 0.0001 s
n = 1000
itmax = 5000
itout = 500
c=4
ν = 0.05
ntrunc = 1024
si è quindi suddiviso il dominio, previsto del listato del programma in Fortran, [ 0, 2π ] in 1000 parti,
mentre l’orizzonte di integrazione totale è di 0,5 secondi, con pubblicazione dei risultati ogni 0.05
secondi.
L’utilizzo di un metodo numerico di accuratezza elevata per quanto riguarda l’evoluzione temporale
del sistema permette di mettere in evidenza l’errore spaziale introdotto dai metodi alle differenze
finite, superiore in teoria di qualche ordine di grandezza.
Fig. 2 – Soluzione dell’equazione di Burgers a diversi istanti temporali – Diff. finite centrate
Per la determinazione dell’errore, è stata considerata la soluzione al tempo t=0,5 s, di cui si mostra
anche l’andamento spaziale approssimato ed esatto.
4
Fig. 3 – Soluzione esatta ed approssimata dell’equazione di Burgers per t=0.5 s
Come si può facilmente notare, l’errore è massimo in occasione del massimo gradiente della
funzione, dove sarebbe richiesta appunto una maggiore risoluzione spaziale; esso si mantiene,
ciononostante, dell’ordine di 10−2 .
2) Metodo upwind
In questo secondo caso, volendo utilizzare un metodo up-wind, ed essendo la velocità di
propagazione del disturbo positiva, è stato utilizzato il metodo delle differenze finite all’indietro per
la discretizzazione della derivata spaziale prima.
Come proceduto per il primo caso, si riportano le soluzioni approssimate negli stessi intervalli
temporali, la soluzione esatta ed approssimata all’istante t=0.5 s e l’errore di calcolo, sempre allo
stesso istante.
5
Fig. 5 – Soluzione dell’equazione di Burgers a diversi istanti temporali – Metodo Up-wind
In questo caso si nota la maggiore distanza tra la soluzione analitica, esatta, e quella approssimata,
causa della minore accuratezza del metodo utilizzato: come emerge dal relativo grafico, questo
viene ad essere addirittura dell’ordine di 100
6
Fig. 7 – Andamento dell’errore di approssimazione all’interno del dominio spaziale
A completamento della Parte 2 dell’esercitazione, viene effettuato uno studio della convergenza
dell’errore spaziale all’interno della soluzione discreta per il metodo alle differenze finite centrate e
per quello up-wind. A tale scopo, sono state effettuate cinque simulazioni con cinque valori di Dx
diversi per entrambi i metodi di discretizzazione, supponendo trascurabile nella soluzione l’errore
introdotto dalla discretizzazione temporale, come precedentemente ricordato.
Per il confronto dei risultati con la relazione analitica esatta si ricorda l’espressione per l’errore
massimo:
log(emax ) = log(c1 Dt 4 ) + log(c2 ) − α log(1/ Dx)
emax = c1 Dt 4 + c2 Dxα
e varrà α = 1 per il metodo up-wind e α = 2 per il metodo alle differenze finite centrate.
I risultati posti a confronto sono i seguenti:
7
Anche in questo caso si può notare come i dati sperimentali approssimino abbastanza bene i dati
teorici, con le pendenze delle rette molto vicine a quelle reali.
Parte 3
In quest’ultima parte dell’esercitazione viene analizzata brevemente la soluzione dell’equazione di
Burgers al variare delle condizioni al contorno: mentre in precedenza si era sviluppata la soluzione
analitica a partire dall’equazione del calore cui veniva imposto un impulso di Dirac iniziale,
vengono ora imposte nell’ordine:
1) una condizione iniziale a gradino:
u ( x, 0) = 0 se x ∈ [0, Λ / 4[∩]3Λ / 4, Λ]
u ( x, 0) = 1 se x ∈ [Λ / 4,3Λ / 4]
u ( x, 0) = sen(2π x / Λ)
Ancora una volta viene rappresentata la soluzione in dieci istanti temporali distinti, per coglierne
anche l’evoluzione nel tempo, oltre che nello spazio.
Si può subito notare come la soluzione smorzi nel tempo gli spigoli del gradino iniziale,
propagandosi a velocità c=4 nella direzione positiva dell’asse delle x (in cui è rappresentato il
dominio della funzione), diminuendo contemporaneamente in ampiezza per effetto dei fenomeni
dissipativi.
8
2) Condizioni iniziali sinusoidali:
In esatto accordo con quanto affermato per il caso precedente, la soluzione evolve nuovamente in
direzione positiva a velocità c, come mostrato dalla soluzione rappresentata nei diversi istanti
temporali, smorzandosi in ampiezza, sempre a causa dei fenomeni dissipativi compresi
nell’equazione di Burgers.