65
Facolt`a di Ingegneria Aeronautica e dello Spazio Appunti del Corso di Gasdinamica Numerica Sergio Pirozzoli & Matteo Bernardini Anno Accademico 2009/2010

Gasdinamica Numerica

Embed Size (px)

DESCRIPTION

Scientific

Citation preview

  • Facolta` di Ingegneria Aeronautica e dello Spazio

    Appunti del Corso di

    Gasdinamica Numerica

    Sergio Pirozzoli & Matteo Bernardini

    Anno Accademico 2009/2010

  • Capitolo 1

    Leggi di conservazione scalari 1D

    1.1 Introduzione

    Una legge di conservazione scalare esprime il principio fisico per cui il tasso di variazionedellintegrale di una certa proprieta` fatto su un dominio fisso e` uguale al suo flusso nettoattraverso i bordi del dominio stesso; indicando con u la densita` volumetrica della proprieta`,con il suo flusso, e considerando il caso mono-dimensionale, in cui si identifica il volume dicontrollo con lintervallo I = [a, b], il principio di conservazione si esprime matematicamentenella forma

    d

    dt

    bau dx+ [u(b)] [u(a)] = 0, a, b (1.1)

    dove il flusso totale e` dato dalla somma di un flusso convettivo f(u) e di un flusso diffusivo

    (u) = f(u) u

    x. (1.2)

    Applicando il teorema di della divergenza di Gauss alla (1.1), sotto lipotesi che u(x, t)sia continuamente differenziabile, si ottiene lequazione di conservazione scritta in formadifferenziale

    u

    t+f(u)

    x=

    2u

    x2. (1.3)

    Lequazione (1.3) e` del tipo di convezione-diffusione, e da un punto di vista matematico hacarattere parabolico (simile allequazione del calore); e` relativamente facile mostrare che ilproblema differenziale costituito dalla (1.3) con la condizione iniziale (IC)

    u(x, 0) = u0(x), < x < +, (1.4)

    ammette una e una sola soluzione, e inoltre u e` continua t > 0, anche se u0(x) e` discontinua.Nella gasdinamica si considerano principalmente problemi di convezione pura, per i quali 0, governati da equazioni del tipo

    u

    t+f(u)

    x= 0

    u(x, 0) = u0(x), < x < +, t 0. (1.5)

    Il passaggio dallequazione (1.3) allequazione (1.5) non e` indolore, anzi costituisce un clas-sico problema di perturbazione singolare, in cui lannullamento di un piccolo parametro ()

    3

  • 4 CAPITOLO 1. LEGGI DI CONSERVAZIONE SCALARI 1D

    causa labbassamento dellordine dellequazione differenziale, che diventa in questo caso ditipo iperbolico. Il prezzo da pagare nella semplificazione e` la possibilita` di avere soluzionidiscontinue, anche a partire da condizioni iniziali smooth, per le quali la (1.5) perde signifi-cato. Tali soluzioni generalizzate sono tipicamente multiple, e occorrera` definire dei principiaddizionali per ripristinare lunicita` della soluzione. E` fondamentale in ogni caso tenere pre-sente che equazioni differenziali iperboliche come la (1.5) derivano sempre da equazioni deltipo (1.3), in cui sono presenti dei termini di natura diffusiva. Detta u(x, t) la soluzione delproblema differenziale (1.3) + (1.4) (unica e continua per 6= 0), e` necessario garantire chela soluzione u(x, t) del problema (1.5) sia tale per cui

    u(x, t) = lim0

    u(x, t). (1.6)

    Tale soluzione prende il nome di soluzione di entropia.

    1.2 Soluzioni classiche - Metodo delle Caratteristiche

    Si dicono soluzioni classiche della (1.5) soluzioni u(x, t) ovunque continue. Le soluzioni ap-partenenti a tale classe possono essere determinate ricorrendo al metodo delle caratteristiche,descritto di seguito. A tale scopo e` opportuno riscrivere lequazione di convezione in formaquasi-lineare, esplicitando cioe` la derivata del flusso convettivo rispetto a u,

    u

    t+ a(u)

    u

    x= 0, (1.7)

    dove a(u) = f (u) e` detta velocita` di propagazione del segnale, o velocita` del suono. Unaproprieta` fondamentale dellequazione (1.7) e` lesistenza di particolari curve, dette curvecaratteristiche, lungo le quali la soluzione si mantiene costante. Ciascuna curva caratteristica soddisfa per definizione alla condizione

    dx

    dt

    = a[u(x, t)], (1.8)

    che esprime il fatto che in ogni punto di la pendenza della tangente nel piano x t e` pari alvalore della velocita` del suono locale. Calcolando il differenziale totale di u lungo la genericacaratteristica si ottiene inoltre

    du

    dt

    =u

    t+

    dx

    dt

    u

    x=

    u

    t+ a(u)

    u

    x 0, (1.9)

    in virtu` delle (1.8), (1.7), e quindi u risulta costante lungo . E` interessante notare che,essendo la velocita` del suono a(u) funzione unicamente di u, risulta anchessa costante lungo. Le curve caratteristiche rappresentano quindi una famiglia di rette, in generale ciascunacon pendenza differente.

    Le considerazioni appena fatte forniscono un metodo per calcolare la soluzione u(x, t) inun certo punto P (x, t) a partire da assegnate condizioni iniziali. Si consideri a tale scopola figura 1.1. Detto x0 il punto in cui la retta caratteristica passante per P interseca lasset = 0, per la (1.9) si avra` u(x, t) = u0(x0). Poiche, per la (1.8), la pendenza di tale retta e`a(u), si avra` x0 = x a(u) t, dalla quale si ottiene la condizione

    u(x, t) = u0[x a(u(x, t))t], (1.10)

    che consente di ricavare u(x, t), ad esempio tramite procedimenti algebrici iterativi.

  • 1.3. SOLUZIONI DEBOLI - RELAZIONI DI SALTO 5

    x

    tP (x, t)

    x0t = 0

    dxdt = a(u)

    Figura 1.1: Proprieta` geometriche delle curve caratteristiche.

    1.3 Soluzioni deboli - Relazioni di salto

    E` facile mostrare che il procedimento illustrato per costruire soluzioni classiche risalendolungo le caratteristiche puo` portare a delle inconsistenze. Si consideri ad esempio il caso (siveda la figura 1.2) in cui le caratteristiche uscenti da due punti x1 < x2 (a t = 0) convergono inun medesimo punto x ad un tempo t. In corrispondenza di tale punto la soluzione prodotta

    x

    t

    t

    x1 x2 x

    Figura 1.2: Intersezione di rette caratteristiche.

    con il metodo delle caratteristiche non e` piu` univocamente definita (ovvero monodroma),dovendo essere u(x, t) = u0(x1) e contemporaneamente u(x

    , t) = u0(x2), con u0(x1) ingenerale diverso da u0(x2). Tale situazione si verifica quando

    x = x1 + a[u0(x1)] t = x2 + a[u0(x2)] t

    , (1.11)

    da cui segue

    t = x2 x1

    a[u0(x2)] a[u0(x1)]. (1.12)

    Lunica possibilita` che le caratteristiche uscenti dai punti x1 e x2 (con x1 < x2) non siincontrino a un tempo finito t > 0 e` che risulti a[u0(x2)] a[u0(x1)]. Un caso particolarein cui lintersezione di caratteristiche non avviene mai si ha per lequazione di convezionelineare (linear advection equation, LAE), per la quale f(u) = c u, con c costante. In tal casoa(u) c, e le rette caratteristiche sono tutte parallele fra loro.

  • 6 CAPITOLO 1. LEGGI DI CONSERVAZIONE SCALARI 1D

    Supponendo a[u0(x)] continua e differenziabile, la condizione (1.12) si puo` scrivere perdue punti infinitamente vicini x e x+ dx, ottenendo

    t(x) = 1

    ddx [a(u0(x))]

    . (1.13)

    Il minimo valore di t per il quale le caratteristiche associate a due punti vicini convergono siottiene considerando il valore minimo dei tempi critici t(x) per tutti i punti corrispondentialle condizioni iniziali, ricavando

    T = minx

    t(x) =1

    maxx{ ddx [a(u0(x))]

    } . (1.14)Si consideri ad esempio lequazione di Burgers, per la quale f(u) = u2/2, con condizioneiniziale u0(x) = sin(x). Dalla (1.14) si ottiene

    T =1

    maxx { cos(x)}=

    1

    . (1.15)

    A partire dal tempo T definito dalla (1.14) non e` piu` possibile costruire soluzioni classichemonodrome della (1.5). Esistono situazioni fisiche governate da equazioni iperboliche per iquali soluzioni polidrome sono plausibili (ad esempio nel caso dei frangenti marini). Tuttavia,nei casi di interesse della gasdinamica, soluzioni polidrome non sono accettabili. Occorredunque allargare la classe delle soluzioni della (1.5) ammettendo la possibilita` di soluzionidiscontinue, le quali debbono comunque soddisfare il principio di conservazione integrale (1.1),qui riscritto per una equazione di trasporto pura (priva cioe` del termine diffusivo)

    d

    dt

    bau dx = f [u(a)] f [u(b)], a, b, (1.16)

    dove non si richiede la continuita`, ma solo lintegrabilita` di u(x, t). Si consideri ora il casodi una soluzione che soddisfi la (1.5) in senso classico ai lati di una curva del piano x t diequazione x = xs(t), attraverso la quale u sia discontinua (figura 1.3); siano inoltre ul e ur i

    x

    t

    x = xs(t)

    a b

    Figura 1.3: Relazioni di salto a cavallo di una curva del piano x t di equazione x = xs(t).

    valori assunti da u immediatamente a sinistra e destra della discontinuita`,

    ul(t) = limxxs(t)

    u(x, t), (1.17)

    ur(t) = limxxs(t)+

    u(x, t). (1.18)

  • 1.3. SOLUZIONI DEBOLI - RELAZIONI DI SALTO 7

    Scegliendo a e b nella (1.16) in modo che sia a xs b al tempo t, si ottiene

    d

    dt

    bau dx =

    d

    dt

    xs(t)a

    u dx+d

    dt

    bxs(t)

    u dx = (1.19)

    =

    xs(t)a

    u

    tdx+ ul

    dxsdt

    +

    bxs(t)

    u

    tdx ur

    dxsdt

    = (1.20)

    =

    xs(t)a

    u

    tdx+

    bxs(t)

    u

    tdx+ (ul ur) s, (1.21)

    avendo applicato la regola di derivazione sotto il segno di integrale, ed essendo s = dxs/dtla velocita` di propagazione della discontinuita` al tempo t. Poiche la (1.5) e` soddisfatta daentrambi i lati della discontinuita` stessa, si puo` porre u/t = f/x e quindi dalla (1.19)si ottiene

    d

    dt

    bau dx = f(ul) + f [u(a)] f [u(b)] + f(ur) + (ul ur) s. (1.22)

    Sfruttando la (1.16) si ottiene infine

    s =f(ur) f(ul)

    ur ul=

    [f ]

    [u], (1.23)

    che consente di valutare la velocita` di propagazione locale della discontinuita` in funzionedel salto (indicato con la notazione []) della variabile conservata e dei rispettivi valori dellafunzione flusso. La (1.23) prende il nome di relazione di salto (o di Rankine-Hugoniot).La relazione di salto assume una forma particolarmente semplice nel caso dellequazione diconvezione lineare, per la quale risulta

    s a, (1.24)

    ovvero le discontinuita` viaggiano con la stessa velocita` delle rette caratteristiche, e pari allavelocita` del suono. Per lequazione di Burgers la (1.23) fornisce

    s u2r/2 u

    2l /2

    ur ul=

    1

    2(ul + ur) , (1.25)

    che equivale a richiedere che la velocita` di propagazione della discontinuita` sia pari alla mediaaritmetica del valore della variabile conservata negli a sinistra e a destra della stessa.

    Soluzioni della (1.5) costruite in maniera da soddisfare lequazione in senso classico quasiovunque, salvo un numero finito di punti di discontinuita`, dove e` comunque soddisfatta larelazione di salto (1.23), prendono il nome di soluzioni deboli. La classe delle soluzioni debolicomprende quella delle soluzioni classiche e permette di superare il problema dellinsorgenzadi soluzioni polidrome riscontrato applicando il metodo delle caratteristiche. In effetti, e`possibile verificare che e` sempre possibile costruire, data una qualunque condizione iniziale,una soluzione debole monodroma dellequazione di conservazione.

    Si consideri, ad esempio, il seguente problema a condizioni iniziali per lequazione diBurgers

    u

    t+ u

    u

    x= 0, u0(x) =

    1 x < 0

    1 x 0 x 1

    0 x > 1

    . (1.26)

  • 8 CAPITOLO 1. LEGGI DI CONSERVAZIONE SCALARI 1D

    La soluzione classica di questo problema (rappresentata in figura 1.4a) e` continua e monodro-ma fino al tempo T = 1; a partire da da questo tempo esiste una regione dove la soluzioneassume tre valori distinti. Se ad esempio si considera il punto P (x, t), per esso passanole tre caratteristiche 1, 2, 3, e di conseguenza la soluzione dovrebbe assumere contem-poraneamente tre valori distinti. E` facile pero` constatare che il problema ammette anche la

    xs x

    t

    12

    3u

    u

    u P

    t

    1

    10

    (a)

    x

    t

    1

    1

    s = 12

    (b)

    Figura 1.4: Soluzione del problema a condizioni iniziali (1.26). (a) soluzione (polidroma) calcolatacol metodo delle caratteristiche; (b) soluzione debole.

    seguente soluzione debole monodroma (rappresentata in figura 1.4b)

    u(x, t) =

    {1 x < xs(t)

    0 x > xs(t), (1.27)

    dove xs(t) = (1 + t)/2. Infatti, per la soluzione (1.27), ciascun punto del piano x t puo`essere ricollegato a un punto corrispondente al tempo t = 0, e a cavallo della discontinuita` e`soddisfatta la relazione di salto (1.23), in quanto

    s =dxsdt

    =[f ]

    [u]=

    1/2 0

    1 0=

    1

    2. (1.28)

    1.4 Soluzioni di entropia

    Lintroduzione della classe delle soluzioni deboli consente di garantire lottenimento di soluzionimonodrome, cosa non sempre possibile nellambito della classe delle soluzioni classiche. E`

  • 1.4. SOLUZIONI DI ENTROPIA 9

    x

    t

    u = 0u = 1

    u = x/t

    (a)

    x

    t

    u = 0u = 1s

    =1/2

    (b)

    x

    t

    u = 0u = 1

    s=s1

    s =s2

    s=0

    (c)

    Figura 1.5: Soluzioni del problema differenziale (1.29). (a) soluzione classica (1.30); (b) soluzionedebole (1.31); (c) soluzione debole (1.32).

    lecito tuttavia chiedersi se questa classe di soluzioni non sia per caso troppo ampia, ovvero seun dato problema non possa ammettere piu` di una soluzione debole. Si consideri per esempioil seguente problema ai valori iniziali per lequazione di Burgers

    u0(x) =

    {0 x < 0

    1 x > 0, (1.29)

    E` immediato verificare che la soluzione

    u(x, t) =

    0 x 0x

    t0 x t

    1 x t

    , (1.30)

  • 10 CAPITOLO 1. LEGGI DI CONSERVAZIONE SCALARI 1D

    riportata in figura 1.5a, e` una soluzione classica del problema in esame. E` altrettanto facileverificare che anche la seguente soluzione

    u(x, t) =

    {0 x < t/2

    1 x > t/2, (1.31)

    riportata in figura 1.5b, e` una soluzione debole del problema, essendo compatibile con la (1.29)e con la relazione di salto (1.23) (s = 1/2). Un altro esempio di soluzioni deboli ammissibiliper il problema in esame e` costituito dalla seguente famiglia ad un parametro di soluzioni,riportata in figura 1.5c

    u(x, t) =

    0 x < s1 t

    s1 t < x < s2 t

    + s2 t < x < s3 t

    1 x > s3 t

    , (1.32)

    dove > 1, s1 = /2, s2 = 0, s3 = (1 + )/2.La conclusione e` che, avendo ampliato la classe delle soluzioni possibili includendo quelle

    discontinue, si presenta il problema di garantire lunicita` della soluzione ottenuta. In effetti,tra tutte le (infinite) soluzioni deboli possibili per un dato problema a condizioni iniziali,quella fisicamente realizzabile e` lunica che soddisfa alla condizione (1.6), ottenuta cioe` comelimite per 0 di una famiglia di soluzioni (u) della equazione di convezione-diffusione (1.3).Per scegliere lunica soluzione di entropia tra le molteplici soluzioni deboli matematicamentepossibili e` sufficiente che sia soddisfatta la seguente condizioneCondizione di entropia di Oleinik: la soluzione debole u(x, t) e` la soluzione di entropiase, per ogni discontinuita`, vale la disuguaglianza

    f(u) f(ul)

    u ul s

    f(u) f(ur)

    u ur, u : min(ul, ur) u max(ul, ur). (1.33)

    La (1.33) esprime una semplice condizione geometrica sulla forma della funzione flusso nel-lintervallo dei valori di u compresi tra ul e ur (fare riferimento alla figura 1.6). Poiche s rap-presenta la pendenza della secante condotta alla f(u) tra ul e ur (si veda lequazione (1.23)),la condizione di Oleinik implica che, se ul < ur il grafico di f(u) deve trovarsi interamente aldi sopra della secante condotta da ul a ur per tutti i valori di u compresi in tale intervallo,viceversa se ul > ur il grafico della funzione flusso deve trovarsi sempre al di sotto dellasecante. E` evidente che per funzioni flusso prive di punti di flesso, convesse (f (u) > 0 u,come nel caso dellequazione di Burgers), o concave (f (u) < 0 u), la relazione (1.33) sisemplifica notevolmente, perche equivale a richiedere che sia

    f (ul) s f(ur), (1.34)

    come e` immediato verificare con semplici considerazioni geometriche (si veda la figura 1.7). E`importante osservare che nel caso dellequazione di Burgers (e in generale per funzioni flussoconvesse) la condizione di entropia implica

    ul ur. (1.35)

    Si osservi inoltre che la condizione (1.34) ha una significativa interpretazione fisica, perche

  • 1.4. SOLUZIONI DI ENTROPIA 11

    u

    f(u)

    s = [f ][u]

    dfdu

    =f(u)

    f(ul)

    uuldfdu = f(u)f(ur )uur

    urul

    (a)

    u

    f(u)

    s = [f ][u]

    dfdu

    =f(u)

    f(ul)

    uul

    dfdu = f(u)f(u

    r )uu

    r

    urul

    (b)

    Figura 1.6: Rappresentazione grafica della condizione di entropia (1.33). (a) ul ur; (b) ul ur.

    equivale ad imporre che le caratteristiche immediatamente adiacenti a una discontinuita` con-fluiscano nella discontinuita` stessa (si veda la figura 1.8a). Tenendo conto dellinterpre-tazione delle linee caratteristiche come linee lungo le quali linformazione si propaga (essendou =cost), questo implica che linformazione non puo` uscire da una discontinuita`, la qualerappresenta quindi una sorta di orizzonte degli eventi. Si noti che questo e` consistente con ilprincipio di causalita`, perche se cos` non fosse esisterebbero caratteristiche che non potreb-bero essere in alcun modo ricondotte alla condizione iniziale (come si verifica ad esempionella figura 1.8b). Discontinuita` che soddisfano la relazione di salto di Rankine-Hugoniot ela condizione di entropia vengono dette urti.

    Tornando al problema (1.29), e` facile vedere che lunica soluzione consentita dalla disug-uaglianza di Oleinik e` la (1.30), perche sia la (1.31), sia la (1.32) non soddisfano la (1.35) acavallo di tutte le discontinuita`. In generale si puo` dimostrare che il problema (1.5) ammetteununica soluzione debole le cui discontinuita` soddisfano tutte la condizione (1.33), e talesoluzione coincide con la soluzione di entropia definita dalla (1.6).

  • 12 CAPITOLO 1. LEGGI DI CONSERVAZIONE SCALARI 1D

    u

    f(u)

    s = [f ][u]df

    du=f (ul)

    dfdu=f(u

    r )

    urul

    (a)

    u

    f(u)

    s = [f ][u]

    dfdu=f(u

    l )df

    du=f (ur)

    ur ul

    (b)

    Figura 1.7: Condizione di entropia nel caso di funzione flusso concava (a) e funzione flusso convessa(b).

    x

    t

    x

    t

    Soluzione ammissibile Soluzione non ammissibile

    Figura 1.8: Rappresentazione di soluzioni di entropia (e non) nel piano x t.

  • Capitolo 2

    Metodi elementari per equazioni

    iperboliche scalari

    In questo capitolo saranno illustrati alcuni metodi elementari per la soluzione di problemi diconvezione pura scalari mono-dimensionali, le cui proprieta` matematiche sono state illustratenelle sezione precedente

    u

    t+f(u)

    x= 0

    u(x, 0) = u0(x), < x < +, t 0. (2.1)

    Allo scopo di ricavare schemi elementari si fara` inizialmente riferimento allequazione diconvezione lineare (linear advection equation, LAE), ottenuta ponendo f(u) = c u, con ccostante

    u

    t+ c

    u

    x= 0

    u(x, 0) = u0(x). (2.2)

    La (2.2) presenta notevoli vantaggi in termini di semplicita` di analisi in quanto possiede unasoluzione esatta, data da

    u(x, t) = u0(x c t). (2.3)

    Per risolvere la (2.2) in maniera approssimata, si discretizzi il piano (x, t) con una grigliaequi-spaziata nelle direzioni x e t. Siano h la spaziatura in x e k il passo di avanzamentotemporale (si veda la figura 2.1), assunti essere costanti. Si definiscono nodi del reticolo lecoppie coordinate (xj , t

    n), con

    xj = j h, j = . . . ,1, 0, 1, 2, . . . (2.4)

    tn = nk, n = 0, 1, 2, . . . (2.5)

    Per la trattazione successiva sara` utile anche considerare nodi intermedi, individuati da indicij frazionari

    xj+1/2 = xj +h

    2= (j +

    1

    2)h. (2.6)

    Detta v(x, t) u(x, t) la soluzione approssimata della (2.2) ricavata con un generico metodonumerico, nel metodo delle differenze finite si assume di conoscerne i valori puntuali collocati

    13

  • 14 CAPITOLO 2. METODI ELEMENTARI

    xj+1/2xj+1/2 xjxj

    Ij

    tn

    tn+1

    Figura 2.1: Nomenclatura per discretizzazione del piano x t.

    nei nodi del dominio di calcolo, e si indica il valore di v nel nodo xj al tempo tn con la

    notazioneUnj = v(xj , t

    n). (2.7)

    Nel metodo dei volumi finiti si assumono noti i valori medi integrali di v. A tal fine, sidefinisce cella j-ma lintervallo

    Ij = [xj1/2;xj+1/2], (2.8)

    e le incognite discrete sono definite come

    Unj =1

    h

    xj+1/2xj1/2

    v(x, tn) dx. (2.9)

    Nel metodo dei volumi finiti i nodi intermedi definiti nella (2.6) sono detti intercelle.Per buona parte della trattazione seguente non si fara` distinzione tra metodo dei volumi

    finiti e delle differenze finite, e si usera` il simbolo Unj per indicare indifferentemente valoripuntuali o valori medi di cella di v. Una giustificazione per questa (parziale) identificazionee` data dal fatto che i valori Unj definiti dalla (2.7) e dalla (2.9) differiscono al piu` per termini

    di ordine h2, cioe`

    v(xj , tn) =

    1

    h

    xj+1/2xj1/2

    v(x, tn) dx+O(h2). (2.10)

    Per verificare la (2.10) e` sufficiente espandere v(x, tn) in serie di Taylor intorno a (xj , tn),

    v(x, tn) = v(xj , tn) + (x xj)

    v

    x(xj , t

    n) +(x xj)

    2

    2

    2v

    x2(xj , t

    n) +O(h3). (2.11)

    Integrando sulla cella Ij si ottiene xj+1/2xj1/2

    v(x, tn) dx = h v(xj , tn)+

    1

    2

    v

    x(xj , t

    n)

    (h2

    4h2

    4

    )+1

    6

    2v

    x2(xj , t

    n)

    (h3

    8+h3

    8

    )+O(h5),

    (2.12)dalla quale, dividendo per h, si ricava facilmente la (2.10).

    La maniera piu` immediata per costruire approssimazioni discrete della (2.2) e` sostituire lederivate parziali con differenze di valori puntuali della soluzione approssimata v. Ovviamentee` possibile costruire molti schemi diversi, considerando approssimazioni centrali, in avanti oallindietro e combinando vari modi di discretizzare la derivata temporale e quella spaziale.

  • 2.1. SCHEMI BASATI SUL METODO DELLE CARATTERISTICHE 15

    Lesempio piu` semplice si ottiene considerando unapprossimazione in avanti della derivatatemporale (Forward-Time) nel nodo (xj , t

    n)

    FT :v

    t(xj , t

    n) v(xj , t

    n + k) v(xj , tn)

    k=

    Un+1j Unj

    k, (2.13)

    e una centrale per la derivata spaziale (Central-Space)

    CS :v

    x(xj , t

    n) v(xj + h, t

    n) v(xj h, tn)

    2h=

    Unj+1 Unj1

    2h. (2.14)

    Sostituendo nella (2.2) si ottiene il seguente schema alle differenze (detto FTCS)

    Un+1j = Unj

    ck

    2h(Unj+1 U

    nj1) = U

    nj

    2(Unj+1 U

    nj1), (2.15)

    essendo = ck/h il numero di Courant. Considerando unapprossimazione centrale per laderivata temporale (Central-Time) del tipo

    CT :v

    t(xj , t

    n) v(xj , t

    n+k) v(xj , tnk)

    2k=

    Un+1j Un1j

    2k, (2.16)

    che, combinata con la (2.14), da` luogo allo schema detto Leapfrog o CTCS

    Un+1j = Un1j (U

    nj+1 U

    nj1). (2.17)

    E possibile anche considerare approssimazioni allindietro e in avanti per le derivate spaziali(Backward-Space e Forward-Space, rispettivamente)

    BS :v

    x(xj , t

    n) v(xj , t

    n) v(xjh, tn)

    h=

    Unj Unj1

    h, (2.18)

    FS :v

    x(xj , t

    n) v(xj+h, t

    n) v(xj , tn)

    h=

    Unj+1 Unj

    h. (2.19)

    Combinando le (2.18) e (2.19) con la (2.13) si ottengono i seguenti schemi

    FTBS(UW+) : Un+1j = Unj (U

    nj U

    nj1) (2.20)

    FTFS(UW) : Un+1j = Unj (U

    nj+1 U

    nj ) (2.21)

    Una variazione sul tema dello schema FTCS, dettata da esigenze di stabilita` dello schema,come si vedra` meglio nel seguito, e` costituita dallo schema di Lax-Friedrichs, in cui nella (2.15)si sostituisce Unj con la semisomma dei valori nei nodi adiacenti, ottenendo

    LF : Un+1j =1

    2(Unj+1 + U

    nj1)

    2(Unj+1 U

    nj1). (2.22)

    2.1 Schemi basati sul metodo delle caratteristiche

    Un livello di sofisticazione superiore rispetto agli schemi fin qui elencati si ottiene disegnandoschemi basati non piu` sulla discretizzazione diretta delle derivate nellequazione (2.2), quan-to sul metodo delle caratteristiche, gia` discusso per equazioni di conservazione scalari. Per

  • 16 CAPITOLO 2. METODI ELEMENTARI

    xj1 xj xj+1tn

    tn+1

    x

    Un+1j

    Figura 2.2: Discretizzazione basata sul metodo delle caratteristiche (c > 0).

    lequazione di convezione lineare le caratteristiche sono un fascio di rette parallele con pen-denza c, lungo le quali la soluzione si mantiene costante. Si puo` pensare di sfruttare questaproprieta` per imporre (vedere figura 2.2)

    Un+1j = v(x, tn), (2.23)

    essendo x lintercetta della caratteristica condotta per (xj , tn+1) con lasse t = tn. Sfruttando

    la conoscenza della pendenza della caratteristica si ha

    x = xj c k. (2.24)

    Il problema e` dunque ricondotto a calcolare il valore (interpolato) di v nel punto x, a partiredalla conoscenza dei valori puntuali in tutti i nodi al tempo t = tn. Lidea piu` immediatae` di costruire una interpolazione basata sui nodi immediatamente adiacenti, xj e xj1, chetenga conto quindi delle caratteristiche di direzionalita` del segnale (in questo caso stiamoassumendo c > 0). Considerando un polinomio interpolatore di primo grado

    p(x) = a+ b (x xj), (2.25)

    e imponendo le condizioni di interpolazione p(xj) = Unj , p(xj+1) = U

    nj+1, si ottiene a = Uj ,

    b = (Unj Unj1)/h. Si avra` allora

    Un+1j = p(x) = p(xj c k) = U

    nj +

    Unj Unj1

    h(xj c kxj) = U

    nj (U

    nj U

    nj1), (2.26)

    che coincide con lo schema FTBS riportato nella (2.20).Si assuma ora una interpolazione centrale, basata sui nodi j 1, j, j + 1. Considerando

    il polinomio interpolatore di secondo grado

    p(x) = a+ b (x xj) + c (x xj)2, (2.27)

    e imponendo le condizioni di interpolazione

    p(xj1) = Unj1,

    p(xj) = Unj ,

    p(xj+1) = Unj+1,

  • 2.1. SCHEMI BASATI SUL METODO DELLE CARATTERISTICHE 17

    si ricava a = Unj , b = (Unj+1 U

    nj1)/2h, c = (U

    nj+1 2U

    nj +U

    nj1)/2h

    2, dai quali si ottiene loschema (detto di Lax-Wendroff)

    LW : Un+1j = Unj

    2(Unj+1 U

    nj1) +

    2

    2(Unj+1 2U

    nj + U

    nj1). (2.28)

    Si osservi che la (2.28) riproduce esattamente lo schema FTCS, salvo laggiunta di un ulterioretermine, che puo` essere interpretato come derivante dalla discretizzazione centrata di unaderivata seconda, e che come vedremo, ha la funzione di stabilizzare lo schema di base.

    Considerando un interpolazione one-sided basata sui nodi j 2, j 1 e j, si ottienefacilmente lo schema (detto di Beam-Warming)

    BW+ : Un+1j = Unj

    2(3Unj 4U

    nj1 + Uj2) +

    2

    2(Unj 2U

    nj1 + Uj2). (2.29)

    Lapice + sta ad indicare che lo schema e` specificamente adatto a problemi con velocita` dipropagazione positiva (c > 0), e in cui le caratteristiche sono quindi inclinate come mostrato infigure 2.2. Se si avesse al contrario c < 0, la scelta one-sided piu` naturale per linterpolazionesarebbe speculare rispetto al caso precedente, e basata sui nodi j, j + 1 e j + 2. Lo schemarisultante risulterebbe

    BW : Un+1j = Unj +

    2(3Unj 4U

    nj+1 + Uj+2) +

    2

    2(Unj 2U

    nj+1 + Uj+2). (2.30)

    Generalizzazioni ulteriori possono essere costruite considerando un set di nodi piu` esteso percalcolare il valore interpolato v(x). Considerando, ad esempio, una interpolazione basatasui nodi j2, j1, j, j+1 si otterrebbe uno schema detto UW3+ (schema upwind del terzoordine).

    Altri schemi possono essere costruiti combinando linearmente gli schemi ricavati diretta-mente col metodo delle caratteristiche. Ad esempio, considerando la media aritmetica delloschema di Lax-Wendroff e Beam-Warming+, si ottiene un nuovo schema, detto di Fromm.Nella tabella 2.1 sono riassunti gli schemi alle differenze relativi a tutti gli schemi numericifin qui considerati. Tutti gli schemi che abbiamo considerato finora sono

    - completamente discretizzati (fully discrete), ovvero gia` nella forma di schemi alle dif-ferenze;

    - espliciti, ovvero schemi in cui la soluzione al livello temporale n + 1 e` calcolata inmaniera esplicita sulla base della soluzione ai livelli temporali precedenti;

    - lineari, nel senso che il secondo membro (RHS) degli schemi contiene combinazionilineari dei valori Unj ;

    - salvo lo schema Leapfrog, sono tutti schemi a due livelli, ovvero sono coinvolti nelladiscretizzazione solo i livelli temporali n e n+ 1.

    Per ogni schema descritto e` utile rappresentare lo stencil, ovvero linsieme dei nodi coinvoltinel processo di discretizzazione. La figura 2.3 mostra gli stencil associati ai vari schemifin qui discussi. Si noti la differenza fondamentale tra schemi che presentano uno stencilsimmetrico rispetto al nodo j, e che vengono detti centrali, e gli schemi che presentano unostencil asimmetrico, detti schemi upwind. Per ogni schema upwind esistono due versioni, una

  • 18 CAPITOLO 2. METODI ELEMENTARI

    Schema alle differenze

    FTCS Un+1j = Unj

    2

    (Unj+1 U

    nj1

    )FTBS (UW+) Un+1j = U

    nj

    (Unj U

    nj1

    )FTFS (UW) Un+1j = U

    nj +

    (Unj U

    nj+1

    )LF Un+1j =

    12

    (Unj+1 + U

    nj1

    ) 2

    (Unj+1 U

    nj1

    )LW Un+1j = U

    nj

    2

    (Unj+1 U

    nj1

    )+

    2

    2

    (Unj+1 2U

    nj + U

    nj1

    )BW+ Un+1j = U

    nj

    2

    (3Unj 4U

    nj1 + U

    nj2

    )+

    2

    2

    (Unj 2U

    nj1 + U

    nj2

    )BW Un+1j = U

    nj +

    2

    (3Unj 4U

    nj+1 + U

    nj+2

    )+

    2

    2

    (Unj 2U

    nj+1 + U

    nj+2

    )FROMM+ Un+1j = U

    nj

    4

    (Unj+1 + 3U

    nj 5U

    nj1 + U

    nj2

    )+

    2

    4

    (Unj+1 U

    nj U

    nj1 + U

    nj2

    )FROMM Un+1j = U

    nj +

    4

    (Unj1 + 3U

    nj 5U

    nj+1 + U

    nj+2

    )+

    2

    4

    (Unj1 U

    nj U

    nj+1 + U

    nj+2

    )UW3+ Un+1j = U

    nj

    6

    (2U2j+1 + 3U

    nj 6U

    nj1 + U

    nj2

    )+

    2

    2

    (Unj1 2U

    nj + U

    nj+1

    )+

    3

    6

    (Unj2 3U

    nj1 + 3Ujn U

    nj+1

    )UW3 Un+1j = U

    nj +

    6

    (2U2j1 + 3U

    nj 6U

    nj+1 + U

    nj+2

    )+

    2

    2

    (Unj1 2U

    nj + U

    nj+1

    )

    3

    6

    (Unj+2 3U

    nj+1 + 3Ujn U

    nj1

    )

    Tabella 2.1: Schemi alle differenze fully discrete per lequazione di convezione lineare.

    con stencil sbilanciato a sinistra del nodo j (e indicata con lapice +), e una (speculare allaprima) con stencil sbilanciato a destra di j (e indicata con lapice -).

    Nel seguito saranno considerati esclusivamente schemi espliciti a due livelli temporali; unoschema di questo tipo puo` essere indicato in forma simbolica come

    Un+1 = H(Un), (2.31)

    dove Un e` il vettore (eventualmente a infinite componenti) delle incognite nodali al livellotemporale n, e H e` loperatore (in generale non-lineare) di avanzamento temporale discreto.Per gli schemi visti finora loperatore H e` lineare (e` una matrice), tale che

    Un+1 = HUn (HUn)j =

    ql=p

    al Unj+l (2.32)

    dove i coefficienti al variano da schema a schema. Ad esempio, considerando lo schema diLax-Wendroff (si veda la (2.28)) si ha

    a1 =

    2+2

    2, a0 = 1

    2, a+1 =

    2+2

    2, (2.33)

    mentre tutti gli altri coefficienti al sono nulli.

  • 2.2. ACCURATEZZA 19

    FTCS

    FTBS

    LF

    BW+ BW

    LW

    FTFS

    CTCS

    Figura 2.3: Diagramma dello stencil associato a diversi schemi alle differenze.

    Nel seguito verranno analizzate le proprieta` degli schemi alle differenze fin qui considerati,analizzandone laccuratezza, la stabilita`, e la convergenza.

    2.2 Accuratezza

    Il concetto di consistenza (e accuratezza) e` legato alla corrispondenza formale tra lequazionedi conservazione da risolvere e lo schema alle differenze risultante dal processo di discretiz-zazione, al tendere a zero della spaziatura della griglia computazionale (h, k 0). Si con-sideri il generico operatore differenziale L (nel caso dellequazione di convezione lineare,L = /t + c /x). Lequazione differenziale corrispondente puo` scriversi simbolicamentenella forma

    Lu = 0, (2.34)

    dove u(x, t) e` la soluzione esatta della PDE (equazione a derivate parziali). Discretizzando glioperatori di derivata che compaiono in L (come mostrato nella sezione precedente) si giunge auno schema alle differenze che coinvolge i valori puntuali della soluzione approssimata v. Adesempio, considerando lequazione di convezione lineare discretizzata con lo schema FTCS,lo schema alle differenze corrispondente risulta essere (si veda la (2.15))

    v(x, t+ k) v(x, t)

    k+

    a

    2h(v(x+ h, t) v(x h, t)) = 0, (2.35)

    che puo` essere rappresentata in forma compatta come

    L v = 0 (2.36)

    avendo introdotto loperatore differenziale discretizzato L. Si faccia attenzione al fatto cheL dipende ovviamente da L, ma anche dal tipo di discretizzazione usata. Per definizione,la (2.34) e la (2.36) sono soddisfatte in maniera esatta rispettivamente dalla u e dalla v.

  • 20 CAPITOLO 2. METODI ELEMENTARI

    Si definisce errore di troncamento T (u) il residuo ottenuto applicando loperatore dif-ferenziale discretizzato L alla soluzione esatta u. Assumendo che gli operatori L ed L sianolineari, e sfruttando la (2.34) si ottiene

    T (u) = L u = (L L)u. (2.37)

    Si dice che lo schema definito dalla (2.36) e` consistente se

    limh0, k/h=

    T = 0, (2.38)

    essendo il limite preso tenendo costante il mesh ratio k/h = O(1). Inoltre, lo schema sidice formalmente accurato a ordine r se lerrore di troncamento scala come la potenza r-madella spaziatura della griglia, ovvero se

    T (u)h0 hr. (2.39)

    Considerando invece il residuo ottenuto inserendo la soluzione approssimata v nellequazionedifferenziale, si ha

    L v = (L L) v = (L L) v = T (v). (2.40)

    Dallanalisi della (2.40) si osserva che la soluzione approssimata v non soddisfa lequazionedifferenziale di partenza in maniera esatta; soddisfa invece in maniera esatta una equazionemodificata

    L v = T (v), (2.41)

    in cui il termine aggiuntivo a secondo membro e` legato alla forma dellerrore di troncamentodello schema numerico.

    A titolo di esempio, si consideri lo schema FTCS applicato allequazione di convezionelineare. Espandendo u in serie di Taylor intorno a (xj , t

    n) si ha

    u(xj , tn + k) = u(xj , t

    n) + k ut(xj , tn) +

    k2

    2utt(xj , t

    n) +O(k3), (2.42)

    u(xj h, tn) = u(xj , t

    n) hux(xj , tn) +

    h2

    2uxx(xj , t

    n)h3

    6uxxx(xj , t

    n) +O(h4). (2.43)

    Sostituendo nella (2.35), e sfruttando lidentita` ut+a ux = 0, si ricava lerrore di troncamentoassociato allo schema alle differenze

    T (u) = L u = . . . =

    k

    2utt +O(h

    2, k2). (2.44)

    Derivando rispetto a x e t lequazione di convezione lineare si ha{utt + c uxt = 0

    utx + c uxx = 0 utt = c

    2 uxx, (2.45)

    e si arriva a scrivere lerrore di troncamento dello schema nella forma

    T (u) =h

    2c2 uxx +O(h

    3) =h2

    2uxx +O(h

    2). (2.46)

  • 2.3. DIFFUSIONE E DISPERSIONE NUMERICA 21

    Sulla base delle definizioni (2.38) e (2.39), si puo` dunque affermare che lo schema FTCS e`consistente e formalmente accurato al primo ordine, e lequazione modificata ad esso associatarisulta essere

    vt + c vx = h2

    2vxx +O(h

    2). (2.47)

    E` importante osservare che il coefficiente che moltiplica il termine di derivata seconda vxx e`negativo, e induce quindi un comportamento antidiffusivo dello schema numerico. In effetti,come si vedra` nella sezione successiva, lo schema FTCS e` inutilizzabile nella pratica in quantoproduce inevitabilmente soluzioni divergenti. Il primo termine nellespansione dellerrore di

    Schema T (u)

    FTCS a2 huxx

    UW+ (1)2 huxx

    LF (12)

    2 huxx

    LW (12)a

    6 h2 uxxx

    BW+ (23+2)a

    6 h2 uxxx

    FROMM+ (13+22)a

    12 h2 uxxx

    UW3+ (222+3)a

    24 h3 uxxxx

    Tabella 2.2: Errore di troncamento di diversi schemi alle differenze.

    troncamento degli schemi considerati fino a questo momento e` riportato nella tabella 2.2. Sinoti che, per gli schemi upwind di tipo -e` sufficiente sostituire nella 2.2 .

    2.3 Diffusione e dispersione numerica

    Allo scopo di predire il comportamento qualitativo delle soluzioni numeriche prodotte dai varischemi alle differenze, e` importante analizzare levoluzione della soluzione delle equazionimodificate ad essi associate. A tale scopo si osservi che i termini dominanti nellerrore ditroncamento di tutti gli schemi fin qui visti (salvo lo schema UW3) e` esprimibile nellaforma T (u) = uxx+uxxx, e lequazione modificata corrispondente risulta percio` del tipo

    vt + c vx = vxx + vxxx, (2.48)

    dove i coefficienti , sono funzioni di c, h, k. Si assumano soluzioni di tentativo per la(2.48) nella forma di onde sinusoidali monocromatiche con numero donda w = 2/

    v(x, t) = v(t) eiwx, (2.49)

    essendo v(t) lampiezza complessa della soluzione al tempo t. Sostituendo nellequazione (2.48)si ricava

    dv

    dt+ i c w v = w2v iw3v v(t) = v(0) e w

    2 t ei w(c+ w2) t, (2.50)

    e quindiv(x, t) = v0 e

    w2 t ei w[x(c+ w2) t]. (2.51)

  • 22 CAPITOLO 2. METODI ELEMENTARI

    Nel caso dellequazione di convezione lineare pura si avrebbe evidentemente

    v(x, t) = v0 ei w(xc t). (2.52)

    Confrontando la (2.50) con la (2.52) si puo` constatare che, mentre per la soluzione esattadellequazione di convezione lineare |v(t)| = |v(0)| = cost., la soluzione di uno schema alledifferenze comporta un decadimento o una amplificazione esponenziale di |v(t)| associata alcoefficiente , tanto piu` rapido quanto piu` alto e` il numero donda w, con un effetto deltutto analogo a quello di un termine di diffusione fisica. Si noti pero` che il termine diffusivoche compare nella (2.48) e` legato esclusivamente al processo di discretizzazione, e per questomotivo il coefficiente prende il nome di viscosita` numerica. La presenza di un coefficiente 6= 0 invece comporta che la velocita` di propagazione associata ad unonda con numerodonda w e` pari a c = c+ w2, e non identicamente pari a c. Leffetto del termine di derivataterza e` quindi quello di causare una dispersione delle armoniche della soluzione a causa delleapprossimazione introdotte col processo do discretizzazione; tale effetto prende il nome didispersione numerica, e il coefficiente viene detto coefficiente di dispersione numerica.

    2.4 Stabilita` lineare: analisi di Von Neumann

    Affinche uno schema numerico rivesta utilita` ai fini pratici, e` necessario che un (piccolo) erroreintrodotto nella soluzione al tempo iniziale non si amplifichi esponenzialmente nel corso delcalcolo. Si fa riferimento a questo requisito generale per uno schema numerico col nome distabilita`.

    Si consideri un generico schema alle differenze, esplicito, lineare, a due livelli temporali

    Un+1 = HUn, Un+1j =

    ql=p

    al Unj+l. (2.53)

    Si parte col definire un errore puntuale per la soluzione dello schema alle differenze (legatoa imprecisioni nellimporre le condizioni iniziali e/o a errori di arrotondamento) come ladifferenza (nel nodo j, al passo temporale n) tra il valore della soluzione approssimata equello della soluzione della (2.53) ricavata in assenza di errori di natura numerica (indicatacon U

    nj )

    1

    nj = Unj U

    nj . (2.54)

    Affinche lo schema (2.53) sia stabile si richiede quindi che lerrore nj non si amplifichi in-

    definitamente nel tempo. Essendo per definizione Un+1 = HUn, Un+1

    = HUn, e in virtu`

    della assunta linearita` dello schema alle differenze H, anche il vettore n, contenente gli erroripuntuali al livello temporale n, obbedisce allo schema

    n+1 = H n. (2.55)

    Imporre che lerrore non cresca indefinitamente col tempo equivale dunque a richiedere cheanche la soluzione approssimata v(x, t) non cresca.

    Nella analisi di stabilita` lineare classica degli schemi alle differenze (dovuta a Von Neu-mann), si considera come modello lequazione di convezione lineare (2.2), assumendo una

    1Attenzione Unj 6= u(xj , t

    n), poiche non e` la soluzione esatta dellequazione differenziale, bens` la soluzionedello schema alle differenze in assenza di errori numerici!

  • 2.4. STABILITA` LINEARE: ANALISI DI VON NEUMANN 23

    condizione iniziale sinusoidale monocromatica, con lunghezza donda (e numero dondaw = 2/) e ampiezza complessa v0

    v0(x) = v0 eiwx, (2.56)

    La griglia di calcolo e` assunta uniforme, con spaziatura h e passo temporale k. E` utilericordare che per il teorema del campionamento di Nyquist, la lunghezza donda minimarappresentabile sul reticolo di calcolo (min) e` pari al doppio della spaziatura (h), cui cor-risponde un numero donda massimo pari a wmax = /h. La soluzione esatta dellequazionedi convezione lineare al tempo T = nk ottenuta a partire dalla (2.56) e` data da

    u(x, T ) = un eiwx, un = v0 e

    in, (2.57)

    dove wh e` il numero donda ridotto. Il numero donda ridotto e` una quantita` legataal numero di punti di griglia usati per discretizzare una singola lunghezza donda (points-per-wavelength, PPW = /h = 2/), e per quanto detto sopra riguardo allesistenza diun numero donda massimo che e` possibile risolvere su una griglia con spaziatura finita,|| (0, ] (si veda lesempio riportato in figura 2.4, corrispondente a PPW= 4, = /2).Poiche la soluzione numerica obbedisce allequazione (2.53), tenendo conto che

    Unj = vn eiwxj = vn e

    iwjh = vn eij, (2.58)

    risulta

    Un+1j = vn+1 eij =

    ql=p

    al Unj+l =

    ql=p

    al vn ei(j+l) vn+1 = vn

    ql=p

    al eil. (2.59)

    Introducendo il fattore di amplificazione dello schema alle differenze, definito come

    g() =

    ql=p

    al eil, (2.60)

    levoluzione temporale della ampiezza complessa della soluzione numerica e` governata dallarelazione di ricorrenza

    vn+1 = g() vn. (2.61)

    Si osservi che il fattore di amplificazione di uno schema numerico e` in genere una quantita`complessa, dipendente dai coefficienti al che definiscono lo schema alle differenze, e dal numero

    h

    Figura 2.4: Discretizzazione di unonda sinusoidale con 4 PPW.

  • 24 CAPITOLO 2. METODI ELEMENTARI

    donda ridotto. Tenendo conto che la funzione v ha valori reali, e` poi facile mostrare cheg() = g().

    Prendendo il modulo dellequazione (2.61) si ottiene infine

    |vn+1| = |g()| |vn|, (2.62)

    dalla quale e` evidente che, affinche la soluzione numerica v (e quindi lerrore) rimanganolimitati per t , e` necessario che

    |g()| 1 (0, ]. (2.63)

    La (2.63) definisce una regione di stabilita` sul piano complesso della variabile g data dallaregione interna al cerchio centrato nellorigine e di raggio unitario (tratteggiato nelle figuredi esempio che seguono).

    Schema FTCS

    Si consideri lo schema FTCS riportato in (2.15). In base alla notazione (2.53) risulta a1 = /2,a0 = 1, a1 = /2. Dalla (2.60), il fattore di amplificazione dello schema risulta essere

    g() =

    2ei + 1

    2ei = 1 i sin. (2.64)

    Al variare di la (2.64) definisce un segmento di retta che e` esterno alla regione di stabilita`,come mostrato in figura 2.5. Lo schema FTCS, come gia` previsto per altra via, si dimostraincondizionatamente instabile, e quindi inutile ai fini pratici.

    Schema FTBS

    Per lo schema FTBS (riportato in (2.20)) si ha a1 = , a0 = 1 . Quindi il fattore diamplificazione dello schema risulta

    g() = (1 ) + ei . (2.65)

    Al variare di , la (2.65) descrive nel piano complesso una circonferenza centrata in (1, 0)e avente raggio ||. A seconda del valore di si possono presentare avere le tre situazioni

    (1, i )

    (1,i )

    Re(g)

    Im(g)

    FTCS

    Figura 2.5: Diagramma di stabilita` relativo allo schema FTCS.

  • 2.4. STABILITA` LINEARE: ANALISI DI VON NEUMANN 25

    replacem

    en

    Re(g)

    Im(g)FTBS(0 1)

    Re(g)

    Im(g)FTBS( > 1)

    Re(g)

    Im(g)FTBS( < 0)

    Figura 2.6: Diagramma di stabilita` relativo allo schema UW+ (FTBS).

    rappresentate in figura 2.6. Analizzando le tre situazioni, si conclude che lo schema FTBS e`stabile per 0 1.

    La tabella (2.3) riporta le condizioni di stabilita` ottenute con lanalisi di stabilita` diVon Neumann per gli schemi alle differenze fin qui considerati. E` importante osservare che

    Schema Interv. di stabilita`

    FTCS incond. instabile

    UW+ 0 1

    UW 1 0

    LF 1 1

    LW 1 1

    BW+ 0 2

    BW 2 0

    FROMM+ 0 1

    FROMM 1 0

    UW3+ 0 1

    UW3 1 0

    Tabella 2.3

    per gli schemi centrali (LF, LW), per i quali p = q (nella notazione (2.53)), la stabilita`non e` influenzata dal segno di , e quindi del segno della velocita` del suono c. E quindipossibile pensare di estendere luso degli schemi centrali anche a problemi in cui la velocita`di propagazione non sia nota a priori (ad esempio problemi di conservazione non-lineari).Al contrario, la stabilita` degli schemi upwind dipende in maniera cruciale dal segno di c.In particolare, schemi upwind sbilanciati a sinistra (di tipo +) sono adatti per onde chepropagano nel verso delle x positive, mentre schemi upwind sbilanciati a destra (di tipo -)sono adatti per onde che propagano nel verso delle x negative.

  • 26 CAPITOLO 2. METODI ELEMENTARI

    2.5 Condizione CFL

    La condizione CFL (o principio di Courant-Friedrichs-Lewy) e` una condizione necessaria perla stabilita` di un algoritmo numerico, basata sul concetto di dominio di dipendenza. Il dominiodi dipendenza fisico rappresenta linsieme dei punti che influenzano il valore della soluzionein un dato punto P (x, t). Analogamente, il dominio di dipendenza numerico associato a unoschema alle differenze rappresenta linsieme dei punti del reticolo di calcolo che influenzanoil valore della soluzione numerica nel nodo xj al tempo t

    n. La condizione di stabilita` CFLrichiede che il dominio di dipendenza fisico sia interamente incluso allinterno nel dominiodi dipendenza numerico. Se tale condizione non fosse soddisfatta, sicuramente la soluzionenumerica non potrebbe convergere alla soluzione fisica, poiche alterando la soluzione in puntodel dominio di dipendenza fisico ma esterno a quello numerico non avrebbe effetto sul valorenumerico della soluzione calcolato con lo schema alle differenze.

    Per maggiore chiarezza, si consideri lequazione di convezione lineare, e si faccia riferi-mento alla figura 2.7. Il dominio di dipendenza fisico associato al punto (xj , t

    n) e` dato daipunti dellunica caratteristica passante per quel punto. La traccia del dominio di dipendenzaal tempo tnm < tn consiste quindi del solo punto

    Df (xj ; tn, tm) = {xj cmk}, (2.66)

    indicato con un simbolo quadrato in figura 2.7. Considerando una discretizzazione lineareesplicita a due livelli della equazione di convezione lineare del tipo

    Un+1j =

    ql=p

    al Unj+l, (2.67)

    il dominio di dipendenza numerico al tempo tnm e` dato dallinsieme dei punti

    Dn(xj ; tn, tm) = {xjmp, . . . , xj , . . . , xj+mq}, (2.68)

    ed e` rappresentato con simboli circolari nella figura 2.7 (in cui si e` assunto p = q = 1). Lacondizione CFL si esprime imponendo

    Df (xj ; tn, tm) Dn(xj ; t

    n, tm), (2.69)

    tn

    tnm

    xjxj cmkxjmp xj+mq

    Figura 2.7: Illustrazione della condizione CFL.

  • 2.6. DISSIPAZIONE E DISPERSIONE NEL DOMINIO DI FOURIER 27

    che nel caso in question implica

    pmh cmk q mh = q p. (2.70)

    Si osservi che la condizione CFL, essendo una condizione necessaria per la stabilita`, e` soddis-fatta da tutti gli algoritmi riportati in tabella 2.3. Spesso, pero`, la condizione non e` sufficientea garantire la stabilita` lineare di un algoritmo numerico, ed e` necessario ricorrere a una analisidi stabilita` di Von Neumann completa.

    2.6 Dissipazione e dispersione nel dominio di Fourier

    Lanalisi condotta per determinare le caratteristiche di stabilita` lineare di uno schema nu-merico consente anche una interessante interpretazione del fenomeno della dissipazione edispersione numerica nel dominio di Fourier. In particolare, dalla (2.57) si ricava il valore delfattore di amplificazione associato alla soluzione esatta dellequazione di convezione lineare

    g() =u(t+ k)

    u(t)= 1 ei c w k = 1 ei . (2.71)

    Lequazione (2.71) sta ad indicare che la soluzione esatta avanza da un passo temporaleal successivo in maniera che lampiezza complessa u rimane invariata in modulo (essendo|g()| = 1), mentre la fase varia di ( ). Per la soluzione discreta si ha

    g() =vn+1

    vn= g() = |g()| ei = |g()| ei c w k (2.72)

    dove = arg(), e dove c, confrontando la (2.72) con la (2.71), puo` essere interpretata comeuna velocita` di fase discreta. Poiche in generale |g()| 6= 1, si osserva che, contrariamente allasoluzione esatta, la soluzione discreta evolve in maniera tale che ad ogni passo le armoniche siamplificano o si smorzano, a seconda del valore di |g()|. Risulta quindi ragionevole definirelerrore di dissipazione (nello spazio di Fourier) associato a uno schema numerico come

    d() |g|

    |g|= |g()|, (2.73)

    per quantificare il rateo di dissipazione (o amplificazione) associato a una armonica di numerodonda ridotto . In particolare, se e` rispettata la condizione di stabilita`, sara` d() 1.

    Si osservi pure che, in generale c 6= c, e quindi la velocita` di fase numerica sara` diversada quella esatta, d sara` funzione del numero donda. E lecito quindi definire lerrore didispersione (nello spazio di Fourier) associato a uno schema numerico come

    () =c

    c=

    . (2.74)

    Se per unonda sinusoidale (con dato numero donda ridotto ), se > 1 la velocita` dipropagazione discreta sara` maggiore rispetto alla velocita` di fase esatta, e viceversa se < 1.

    Nella tabella 2.4 sono riportate le espressioni del fattore di amplificazione dei vari schemifin qui considerati, e nelle figure seguenti sono riportati i corrispondenti grafici dellerrore didissipazione e dispersione per diversi valori del numero di Courant. I risultati ottenuticonfermano le caratteristiche di stabilita` degli schemi e le valutazioni gia` svolte sulla base

  • 28 CAPITOLO 2. METODI ELEMENTARI

    Schema g(, )

    FTCS 1 i sin()

    UW+ 1 + ei

    LF 12( + 1)ei 12( 1)e

    i

    LW 1 2 + 2 ( + 1)ei + 2 ( 1)e

    i

    BW+ 1 + 2 ( 3) +2 ( 1)e

    2i ( 2)ei

    FROMM+ 1 4 ( + 3) +4 ( 1)e

    2i 4 ( 5)ei + 4 ( 1)e

    i

    UW3+ 12(1 2)(2 ) + 6 (

    2 1)e2i + 2 (1 + )(2 )ei

    +6 ( 1)(2 )ei

    Tabella 2.4: Espressione del fattore di amplificazione associato a diversi schemi alle differenze.

    dellanalisi asintotica dellerrore di troncamento degli schemi. In particolare, che gli schemiUW+ e LF sono stabili nellintervallo 0 1, e mostrano deviazioni apprezzabili did rispetto al valore unitario. Per lo schema LW si ha < 1 in quasi tutto lintervallodei numeri donda ridotti, a prescindere dal valore assunto da ; tale comportamento lasciasupporre che soluzioni numeriche ottenute con lo schema di Lax-Wendroff siano tipicamentein ritardo di fase rispetto alla soluzione esatta. Al contrario lo schema BW+ non presentauna caratterizzazione dispersiva univoca, ma in genere produce soluzioni in anticipo di faseper 0 1 (dove > 1) e in ritardo di fase per 1 2 (essendo < 1). Analogoandamento si riscontra per lo schema di FROMM+, per il quale il cambiamento di segnodellerrore di dispersione avviene in corrispondenza di = 0.5. E importante notare chelerrore di fase associato allo schema di Fromm e` molto minore (specialmente per < /2)rispetto a quello dei due schemi (LW e BW) dai quali deriva. Allo schema UW3+, infine,sono associati dei valori estremamente contenuti degli errori sia dissipativo e dispersivo, inparticolare nella zona dei numeri donda prossima allorigine.

    Si puo` mostrare che lanalisi riportata nella presente sezione e nella sezione 2.3 sonostrettamente legate fra loro. In particolare, si puo` mostrare che lerrore di troncamento diuno schema numerico e` legato alla forma delle funzioni d(), () per 0. In effetti,lanalisi dellerrore di troncamento di uno schema numerico, basato su una espansione inserie di Taylor, fornisce solo informazioni asintotiche nel limite h 0, e dunque valide soloper 0. Lanalisi dellerrore in serie di Fourier caratterizza invece le proprieta` di unoschema numerico in maniera molto piu` completa, essendo valida anche per valori di finiti,e quindi anche per h = O(1).

    2.7 Convergenza

    La convergenza e` la proprieta` di uno schema numerico per la quale al tendere a zero dellaspaziatura della griglia di calcolo la soluzione calcolata numericamente tende alla soluzionedellequazione differenziale da cui lo schema deriva. Si noti che il concetto di convergen-za differisce sia da quello di consistenza, in cui si confronta lequazione differenziale con loschema alle differenze, sia da quello di stabilita`, che fa riferimento esclusivamente al com-portamento della soluzione dello schema alle differenze. Per quantificare il concetto si partedalla definizione di errore globale (in cui cioe` confluiscono sia lerrore di discretizzazione che

  • 2.7. CONVERGENZA 29

    d

    0 1 2 3

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    Courant = 0.25Courant = 0.5Courant = 0.75Courant = 1.0

    0 1 2 30.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    1.1

    1.2

    1.3 Courant = 0.25Courant = 0.5Courant = 0.75Courant = 1.0

    UW+

    d

    0 1 2 30

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    Courant = 0.25Courant = 0.5Courant = 0.75Courant = 1.0

    0 1 2 30

    0.5

    1

    1.5

    2

    2.5

    3

    3.5

    4

    4.5

    5 Courant = 0.25Courant = 0.5Courant = 0.75Courant = 1.0

    LF

    d

    0 1 2 30

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    Courant = 0.25Courant = 0.5Courant = 0.75Courant = 1.0

    0 1 2 3

    0.5

    1

    Courant = 0.25Courant = 0.5Courant = 0.75Courant = 1.0

    LW

    Figura 2.8: Errore di dissipazione e dispersione per alcuni schemi alle differenze.

  • 30 CAPITOLO 2. METODI ELEMENTARI

    d

    0 1 2 3

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    Courant = 0.25Courant = 0.5Courant = 0.75Courant = 1.0Courant = 1.5Courant = 2.0

    0 1 2 3

    0.5

    1

    1.5

    Courant = 0.25Courant = 0.5Courant = 0.75Courant = 1.0Courant = 1.5Courant = 2.0

    BW+

    d

    0 1 2 30

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    Courant = 0.25Courant = 0.5Courant = 0.75Courant = 1.0

    0 1 2 3

    0.5

    1

    Courant = 0.25Courant = 0.5Courant = 0.75Courant = 1.0

    Fromm+

    d

    0 1 2 30

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    Courant = 0.25Courant = 0.5Courant = 0.75Courant = 1.0

    0 1 2 3

    0.5

    1

    Courant = 0.25Courant = 0.5Courant = 0.75Courant = 1.0

    UW3+

    Figura 2.8: Errore di dissipazione e dispersione per alcuni schemi alle differenze.

  • 2.7. CONVERGENZA 31

    quello legato alla approssimazione con cui si risolve lo schema alle differenze) nel nodo xj altempo tn

    enj = Unj u(xj , t

    n), (2.75)

    e si introduce la norma dellerrore globale al livello temporale tn come

    ||en|| =

    maxj=1,N

    |enj | Norma 1N

    Nj=1

    (enj )2 Norma 2

    1

    N

    Nj=1

    |enj | Norma 1

    . (2.76)

    Uno schema alle differenze si dice convergente se, per ogni fissato tempo T = nk, risulta

    limh0,k/h=

    ||en|| = 0, (2.77)

    essendo al solito il limite inteso a costante. Si noti che nella (2.77) non si e` specificatoil tipo di norma considerata, e la convergenza di un metodo puo` in generale dipendere daltipo di norma usata per definire lerrore globale. In particolare la norma- richiede la con-vergenza puntuale della soluzione, e tale condizione e` molto difficile (se non impossibile) daottenere in presenza di soluzioni discontinue. La convergenza (o meno) di uno schema nu-merico alla soluzione esatta (se questa e` data) si puo` misurare tramite esperimenti numericiin cui si considerano griglie di calcolo via via piu` raffinate. E` conveniente a tale scopo rapp-resentare i risultati in un grafico bi-logaritmico, riportando la norma dellerrore in funzionedella spaziatura della griglia h. In genere, per h 0, lerrore globale scala come una potenzadella spaziatura h

    ||en|| c hp = log ||en|| p log h, (2.78)

    e per determinare p, detto ordine di accuratezza globale (o velocita` di convergenza) delloschema numerico, e` sufficiente misurare la pendenza asintotica delle curve di errore nel piano

    ln(h)

    ln(e)

    -7 -6 -5 -4 -3 -2

    -9

    -8

    -7

    -6

    -5

    -4

    -3

    -2

    -1

    0

    ln(e1)ln(e2)ln(einf)

    1.99961.99972.0000

    Figura 2.9: Curva di convergenza tipica di uno schema del secondo ordine (Lax-Wendroff).

  • 32 CAPITOLO 2. METODI ELEMENTARI

    bi-logaritmico. Il risultato tipico di una analisi di convergenza (in questo caso per lo schemali Lax-Wendroff) e` mostrato nella figura 2.9.

    Teorema di equivalenza di Lax

    Un ponte tra i concetti precedentemente introdotti, relativi alla consistenza, stabilita` econvergenza di uno schema numerico, e` fornito dal seguente teorema.Teorema di equivalenza (Lax) Uno schema numerico lineare, consistente e stabile, con-verge (in ogni norma) alla soluzione esatta dellequazione di conservazione da cui deriva.Inoltre, lordine di accuratezza globale coincide con lordine di accuratezza formale.

    Si presti attenzione al fatto che il teorema si applica solo a soluzioni dotate di oppor-tune condizioni di regolarita`. Nel caso di soluzioni discontinue non e` possibile espandere lasoluzione in serie di Taylor, e quindi dimostrare la consistenza dello schema numerico. Intale caso si osserva tipicamente una mancanza di convergenza della soluzione, o si constataunordine di accuratezza globale inferiore rispetto a quello formale. Lutilita` del teoremadi Lax per la gasdinamica numerica e` quindi alquanto limitata, in quanto le equazioni diconservazione hanno natura non-lineare, e le soluzioni di interesse sono spesso discontinue.

  • Capitolo 3

    Leggi di conservazione non-lineari;

    schemi conservativi

    In questo capitolo saranno illustrate le tecniche per la soluzione numerica dellequazione diconservazione scalare (1.5). Rispetto al caso dellequazione di convezione lineare (discussonel precedente capitolo) si possono identificare ulteriori potenziali problemi per uno schemaalle differenze, tra i quali:

    1. formazione di discontinuita` a partire da condizioni iniziali continue;

    2. velocita` di propagazione (a(u) = f (u)) diverse (anche in segno) da punto a punto;

    3. oscillazioni possono condurre a instabilita` non-lineare e a soluzioni non fisiche (es p < 0, < 0 nel caso delle equazioni di Eulero);

    4. possibile convergenza a soluzioni deboli che non soddisfano la condizione di entropia;

    5. possibile convergenza a soluzioni che non soddisfano le relazioni di salto di Rankine-Hugoniot (e quindi non sono soluzioni deboli del problema differenziale).

    Iniziamo col discutere lultimo dei punti sopraelencati. Per chiarire la questione e` opportunoconsiderare come esempio il seguente problema di Riemann per lequazione di Burgers (quiscritta in forma quasi-lineare)

    ut + uux = 0, u0(x) =

    {1 x < 0

    0 x > 0, < x < +, t 0 (3.1)

    Si consideri la seguente discretizzazione di (3.1)

    Un+1j = Unj U

    nj (U

    nj U

    nj1) (3.2)

    E` facile verificare che lo schema (3.2) e` consistente con la (3.1), e accurato al primo ordine.Tuttavia, la soluzione ottenuta con questo schema risulta essere (verificare)

    Unj = U0j j, n;, (3.3)

    ovvero consiste di una discontinuita` stazionaria che separa due stati uniformi. Tale dis-continuita` tuttavia non soddisfa le relazioni di salto (1.23), che impongono che una (even-tuale) discontinuita` dovrebbe muoversi con velocita` s = 1/2. E` altres` facile verificare che

    33

  • 34CAPITOLO 3. LEGGI DI CONSERVAZIONE NON-LINEARI; SCHEMI

    CONSERVATIVI

    lo schema alle differenze (ricavato discretizzando lequazione di Burgers scritta nella formaconservativa (1.5))

    Un+1j = Unj /2 [(U

    nj )

    2 (Unj1)2)] (3.4)

    produce una soluzione evolutiva che (nel limite di h 0) converge alla soluzione debole delproblema.

    3.1 Schemi conservativi

    Si dice che uno schema numerico e` conservativo se esiste una funzione (h, detta funzioneflusso numerico)

    fnj+ 1

    2

    = h(Unjp+1, . . . , Unj+q) (3.5)

    tale che e` possibile scrivere lo schema alle differenze nella forma (detta conservativa)

    Un+1j = Unj (f

    nj+ 1

    2

    fnj 1

    2

    ) (3.6)

    dove fnj+ 1

    2

    prende il nome di flusso numerico al nodo intermedio xj+1/2. Si osservi che lo stencil

    associato allo schema (3.6) comprende i nodi con indici j p, . . . , j + q. Si noti pure che ingenerale la funzione h dipende sia dalla funzione flusso f(u), sia dal tipo di discretizzazione.E` inoltre possibile mostrare che, affinche lapprossimazione (3.6) sia consistente, e` sufficienteche sia soddisfatta la proprieta`

    h(u, u, . . . , u) = f(u). (3.7)

    E` opportuno notare che lo schema alle differenze dato da (3.6)+(3.5) e` uno schema non-lineare, esplicito a due livelli, dove la non-linearita` e` contenuta nella funzione f(u) e/o nellaforma della funzione flusso numerico.

    3.2 Proprieta` di conservazione integrali. Teorema di

    Lax-Wendroff

    Considerando lapprossimazione conservativa (3.6), e sommando su tutti i nodi con indici daM a N > M si ottiene

    hN

    j=M

    Un+1j hN

    j=M

    Unj = kN

    j=M

    (fnj+ 1

    2

    fnj 1

    2

    ). (3.8)

    Espandendo la sommatoria a secondo membro si ha

    Nj=M

    (fnj+ 1

    2

    fnj 1

    2

    )= fnM+1/2 f

    nM1/2 + f

    nM+3/2 f

    nM+1/2 + f

    nM+5/2 f

    nM+3/2 + . . .

    + . . . fnN5/2 fnN3/2f

    nN3/2 f

    nN1/2f

    nN1/2 f

    nN+1/2,

    nella quale tutti i contributi si annullano a due a due (proprieta` detta di telescopicita`), salvoquelli di bordo, e la (3.8) si riduce a

    hN

    j=M

    Un+1j Unj

    k= fnN+1/2 f

    nM1/2. (3.9)

  • 3.3. FORMULAZIONE CONSERVATIVA PER SCHEMI BASATI SULLE

    CARATTERISTICHE 35

    Ponendo xM+1/2 = a, xN+1/2 = b, e osservando che (Un+1j U

    nj )/k u/t, si ha

    h

    Nj=M

    Un+1j Unj

    k

    d

    dt

    bau dx. (3.10)

    Inoltre, poiche fnM1/2 f(a), fnN+1/2 f(b) in virtu` della consistenza del flusso numeri-

    co, si puo` concludere che lequazione (3.9) riproduce, in senso discreto, lequazione di con-servazione integrale (1.1). Ricordando che le relazioni di salto di Rankine-Hugoniot (rica-vate in Sezione 1.3) sono ricavate dalle equazioni di conservazione scritte in forma integrale,questo giustifica il fatto che gli schemi conservativi tendono a catturare eventuali disconti-nuita` presenti nella soluzione in maniera appropriata. Esiste, a tale proposito, una proprieta`matematica esatta degli schemi conservativi:Teorema di Lax-Wendroff : si consideri uno schema numerico conservativo consistente.Se lo schema converge (almeno nella norma-1), allora converge a una soluzione debole dellalegge di conservazione.

    Il teorema di Lax-Wendroff fornisce un forte supporto teorico alluso di schemi conserva-tivi, in quanto garantisce che non si verifichino patologie quale quella mostrata nellesempio(3.2). Tuttavia si noti che la convergenza dello schema numerico compare come ipotesi delteorema, e quindi deve essere verificata per altra strada. Inoltre, si noti che il teorema diLax-Wendroff non vieta la possibile convergenza a soluzioni deboli che pero` non sono soluzionidi entropia del problema di conservazione.

    3.3 Formulazione conservativa per schemi basati sulle

    caratteristiche

    Riprendendo gli schemi sviluppati per lequazione di convezione lineare nel Capitolo 2, e`immediato verificare che tutti possono essere riscritti nella forma conservativa (3.6), a pattodi definire opportunamente il flusso numerico. Nella tabella 3.1 sono riportati i flussi numericiassociati a tutti gli schemi finora incontrati, sia centrali che upwind.

    Schema fnj+1/2

    FTCS c2

    (Unj + U

    nj+1

    )UW+ cUnj

    UW cUnj+1

    LF c2

    (Unj + U

    nj+1

    ) 1/(2) Unj+1/2

    LW c2

    (Unj + U

    nj+1

    ) 1/2c2 Unj+1/2

    BW+ c2

    (3Unj U

    nj1

    ) 1/2c2 Unj1/2

    BW c2

    (3Unj+1 U

    nj+2

    ) 1/2c2 Unj+3/2

    Tabella 3.1: Flusso numerico associato a diverse discretizzazioni dellequazione di convezione lineare.

  • 36CAPITOLO 3. LEGGI DI CONSERVAZIONE NON-LINEARI; SCHEMI

    CONSERVATIVI

    Lestensione dei flussi numerici elencati allequazione di conservazione nella sua formagenerale (1.5) puo` essere effettuata tramite le sostituzioni formali

    cUnj ; fnj , c ; aj+1/2,

    dove fnj = f(Unj ), e la velocita` del suono nello stato intermedio j+1/2 e` definita come segue

    (si faccia anche riferimento alla figura 3.1) 1

    anj+1/2 =

    {fnj+1/2/U

    nj+1/2 U

    nj+1/2 6= 0

    f (Unj ) Unj+1/2 = 0

    . (3.11)

    u

    f(u)

    aj+1/2

    Uj Uj+1

    Figura 3.1: Definizione della velocita` del suono nello stato intermedio aj+1/2.

    Schema fnj+1/2

    FTCS 12

    (fnj + f

    nj+1

    )UW+ fnj

    UW fnj+1

    LF 1/2(fnj + f

    nj+1

    ) 1/(2) Unj+1/2

    LW 1/2(fnj + f

    nj+1

    ) 1/2a2j+1/2 U

    nj+1/2

    BW+ 1/2(3fnj f

    nj1

    ) 1/2a2j1/2 U

    nj1/2

    BW 1/2(3fnj+1 f

    nj+2

    ) 1/2a2j+3/2 U

    nj+3/2

    Tabella 3.2: Flusso numerico associato a diverse discretizzazioni dellequazione di conservazione non-lineare (1.5).

    1Nel seguito si usera` la notazione zj+1/2 = zj+1 zj , per indicare la variazione di una generica variabilediscreta z a cavallo del nodo intermedio j + 1/2.

  • 3.4. VISCOSITA` ARTIFICIALE 37

    3.4 Viscosita` artificiale

    Si consideri lequazione di convezione-diffusione (1.3), e si applichi una discretizzazione ditipo FTCS. Si ottiene in maniera immediata il seguente schema alle differenze

    Un+1j = Unj

    2

    (fnj+1 f

    nj1

    )h

    k2(Unj1 2U

    nj + U

    nj+1

    ), (3.12)

    il quale, a valle di semplici manipolazioni, puo` essere riscritto nella forma conservativa (3.6),a patto di definire il flusso numerico come segue

    fnj+1/2 =1

    2

    (fnj + f

    nj+1

    )

    hUnj+1/2, (3.13)

    dato dal contributo del flusso numerico dello schema FTCS applicato alla (1.5) (come da tabel-la 3.2), piu` un contributo legato alla diffusione fisica (N.B.: qui rappresenta un coefficientedi diffusione fisica!).

    j+1/2

    num/LF

    1

    1

    1

    UW+

    UW

    LW

    LF

    Figura 3.2: Coefficienti di diffusione numerica (normalizzati per il valore corrispondente allo schemadi Lax-Friedrichs).

    Confrontando lespressione dei flussi numerici per lequazione di conservazione non vis-cosa (1.5) associati ai diversi schemi riportati in tabella 3.2 (limitandoci agli schemi constencil a tre punti, con p = q = 1), si nota che sono tutti esprimibili in maniera formalmenteanaloga alla (3.13) (detta forma di viscosita` numerica), a patto di definire il coefficiente didiffusivita` in maniera opportuna, e variabile da schema a schema, come riportato nellatabella 3.3. Si noti che in questo caso non e` legato a meccanismi diffusivi di natura fisica,ma emerge come un puro risultato della discretizzazione numerica. Per tale motivo si farariferimento a tale coefficiente come coefficiente di diffusione numerica (e sara` indicato con lanotazione num).

    La tabella 3.3 mostra che la diffusione artificiale di uno schema numerico dipende tipica-mente (oltre che dallo schema in questione), dalla spaziatura del dominio di calcolo, e dallavelocita` del suono locale. Risulta utile rappresentare i coefficienti di diffusione numerica informa grafica normalizzandoli rispetto a quello associato allo schema di Lax-Friedrichs (comemostrato in figura 3.2). Si noti che il risultato puo` essere espresso in termini del numero di

  • 38CAPITOLO 3. LEGGI DI CONSERVAZIONE NON-LINEARI; SCHEMI

    CONSERVATIVI

    Schema num

    FTCS 0

    UW+ aj+1/2h/2

    UW aj+1/2h/2

    LF h/(2)

    LW ha2j+1/2/2

    Roe |aj+1/2|h/2

    LFFS-UW h/2

    Tabella 3.3: Coefficiente di diffusione numerica per schemi fully discrete a tre punti (con p = q = 1).

    Courant locale j+1/2 = h aj+1/2, perche, per esempio,

    UW/LF = aj+1/2h

    22

    h= j+1/2 (3.14)

    LW /LF = a2j+1/2h

    22

    h= 2j+1/2. (3.15)

    Il fatto che il flusso numerico associato a uno schema alle differenze riproponga (in sensodiscreto) meccanismi di diffusione fisica che erano originariamente stato soppressi passandodalla equazione di convezione-diffusione (1.3) alla equazione di convezione pura (1.3) e` diestrema importanza. Si noti infatti che, per tutti gli schemi considerati (salvo il caso in

    cui aj+1/2 = 0), numh0 0. Questo implica che la viscosita` numerica di uno schema alle

    differenze ha il ruolo della viscosita` (fisica) evanescente che compare nella definizione dellasoluzione di entropia di una equazione di conservazione (si veda la discussione riportata insezione 1.4). La presenza di un contributo di diffusione artificiale (positivo) in uno schemanumerico consente lecitamente di sperare nella convergenza dello stesso alla corretta soluzionedi entropia dellequazione di conservazione.

    Lesame del coefficiente di diffusione numerica di uno schema alle differenze consente ditrarre diverse conclusioni importanti circa il suo comportamento qualitativo. Anzitutto, e`lecito attendersi che, affinche lo schema sia stabile, sia necessario che il relativo coefficiente didiffusione numerica num sia positivo. In caso contrario infatti, ricordando la (1.3), leffettodella discretizzazione numerica sarebbe analogo allintroduzione di una anti-dissipazione, conconseguente divergenza esponenziale della soluzione (si ricordi anche la sezione 2.6). Osser-vando la tabella 3.3, si puo` quindi dedurre che schemi upwind di tipo + possono esserestabili solo quando aj+1/2 0 (cioe` per onde che propagano da sinistra verso destra), mentreil contrario vale per schemi upwind di tipo -.

    In secondo luogo, alcuni degli schemi (segnatamente UW, LW) comportano un annul-lamento del coefficiente di diffusione numerica quando aj+1/2 = 0. Una situazione di questotipo si verifica tipicamente in presenza di transizioni soniche, ovvero in situazioni in cui a(u)varia in segno da Uj a Uj+1 (si veda la figura 3.3). In una situazione di questo tipo ci sipossono aspettare problemi nella convergenza alla corretta soluzione di entropia, i quantovengono meno i meccanismi dissipativi incorporati nella (1.3).

  • 3.5. STABILITA` LINEARE 39

    u

    f(u)

    aj+1/2 0

    Uj Uj+1

    Figura 3.3: Rappresentazione di una situazione di transizione sonica nel piano u-f(u).

    3.5 Stabilita` lineare

    Lanalisi di stabilita` di Von Neumann non puo` essere estesa in maniera immediata allanal-isi degli schemi numerici considerati nel presente capitolo, in quanto viene meno lipotesifondamentale di linearita`, che implica levoluzione autonoma delle armoniche che compon-gono la soluzione. E` tuttavia legittimo pensare che, affinche uno schema non-lineare deltipo (3.6)+(3.5) sia stabile, sia necessario che la condizione di stabilita` di Von Neumann siasoddisfatta localmente in ogni punto. Ad esempio, la stabilita` lineare dello schema UW+

    per lequazione LAE richiede (vedi sezione 2.4) che 0 1. Per estrapolazione, ai fi-ni della stabilita` locale dello schema UW+ applicato alla (1.5), si puo` supporre necessarioche 0 j+1/2 1. Inoltre, tale condizione deve essere soddisfatta per ogni nodo inter-medio, quindi j. La validita` di questa ipotesi e` (quasi) sempre verificata nella pratica. Ineffetti, almeno nel caso di soluzioni smooth, uno schema numerico risulta essere stabile se lacondizione di Von Neumann e` verificata in ogni punto. Nel caso di soluzioni discontinue in-vece possono verificarsi condizioni di instabilita` non-lineare che portano alla esplosione dellasoluzione numerica, anche se le condizioni di stabilita` lineare locale sono soddisfatte.

    3.6 Schemi centrali e upwind

    Sulla base delle considerazioni fatte nella precedente sezione, e ricordando quanto detto aproposito della stabilita` degli schemi per lequazione di convezione lineare, risulta naturalesuddividere gli schemi numerici in due categorie:

    1. schemi centrali, la cui stabilita` non dipende dal segno della velocita` del suono locale;

    2. schemi upwind, la cui stabilita` dipende dal segno della velocita` del suono locale.

    Nella prima categoria ricadono gli schemi FTCS, LF, LW, nella seconda gli schemi UW,BW, FROMM, UW3. Per quanto riguarda gli schemi della seconda categoria, lestensioneal caso di equazioni di conservazione generali, per le quali a(u) puo` cambiare, anche in segno,da punto a punto, richiede molta cautela.

    Lidea piu` semplice per estendere gli schemi upwind al caso di equazioni di conservazionenon-lineari consiste nel verificare il segno della velocita` di propagazione locale relativo algenerico stato intermedio j + 1/2, e sulla base di questa definire il flusso numerico relativo,applicando uno schema upwind di tipo + qualora aj+1/2 0, e uno schema upwind di tipo

  • 40CAPITOLO 3. LEGGI DI CONSERVAZIONE NON-LINEARI; SCHEMI

    CONSERVATIVI

    -, qualora aj+1/2 < 0. Considerando lo schema upwind del primo ordine, lestensione al casonon-lineare conduce al seguente flusso numerico 2

    fnj+1/2 =

    {fnj a

    nj+1/2 0

    fnj+1 anj+1/2 < 0

    , (3.16)

    che puo` essere manipolato facilmente come segue, per arrivare a scriverlo in forma di viscosita`numerica

    fnj+1/2 =1

    2

    (1 + sgn(anj+1/2)

    )fnj +

    1

    2

    (1 sgn(anj+1/2)

    )fnj+1 =

    1

    2

    (fnj + f

    nj+1

    )|anj+1/2|

    2Unj+1/2.

    (3.17)Lo schema alle differenze definito dal flusso numerico (3.17) prende il nome di schemadi Roe, e rappresenta il prototipo di schema upwind del primo ordine per una equazionedi conservazione non-lineare. Il coefficiente di diffusione numerica associato risulta essereROE = |aj+1/2|h/2, e il suo grafico e` dato dellunione dei rami stabili dei coefficienti di diffu-sione numerica associati agli schemi UW (si veda la figura 3.2). Come per questi due ultimischemi, ROE si annulla in corrispondenza di transizioni soniche, per cui lo schema di Roeeredita dagli schemi costituenti problemi nella convergenza a soluzioni di entropia.

    Esistono approcci molto piu` generali rispetto a quello di Roe per costruire schemi upwindgeneralizzati, che verranno descritti nelle due sezioni seguenti.

    3.7 Flux splitting

    Lidea di base della procedura di flux splitting consiste nel decomporre (a livello matematico)la funzione flusso f(u) in una parte associata esclusivamente a onde che propagano da sinistraverso destra (f+(u)) e una associata a onde che propagano da destra verso sinistra (f(u)).Ricordando la definizione di velocita` del suono locale data nella sezione 1.2, questo equivalea richiedere che siano soddisfatte le seguenti condizioni

    f(u) = f+(u) + f(u), a+(u) =df+

    du 0, a(u) =

    df

    du< 0, u. (3.18)

    Detto f+j+1/2 il flusso numerico ricavato da una discretizzazione upwind di tipo + applicata

    a f+(u), e detto fj+1/2 il flusso numerico ricavato da una discretizzazione upwind di tipo

    - applicata a f(u), il flusso numerico dello schema complessivo si ottiene ricombinando icontributi associati ai due flussi splittati, ottendendo

    fj+1/2 = f+j+1/2 + f

    j+1/2. (3.19)

    Ad esempio, lapplicazione dei flussi del primo ordine UW conduce a

    fj+1/2 = f+j + f

    j+1, (3.20)

    dove, al solito, fj = f(Uj).

    Esistono diversi tipi di flux splitting che soddisfano la condizione (3.18), dei quali citiamodue esempi.

    2La funzione segno e` definita come sgn(x) = x/|x|.

  • 3.8. METODO DI GODUNOV 41

    Flux splitting di Steger & Warming

    Questo splitting (detto anche physical flux splitting), e` basato sulla seguente decomposizionedella funzione flusso

    f+(u) =

    {f(u) f (u) 00 f (u) < 0

    , f(u) =

    {0 f (u) 0

    f(u) f (u) < 0, (3.21)

    che puo` essere anche riscritta in maniera piu` sintetica come

    f(u) =1

    2

    (1 sgn(f (u))

    ) f(u). (3.22)

    E` immediato verificare che la decomposizione 3.21 soddisfa i requisiti (3.18). Il flux splittingdi Steger & Warming, pur conducendo di solito a schemi piuttosto accurati, soffre per lapresenza di punti angolosi nelle funzioni flusso splittate f(u) in corrispondenza dei puntidove f (u) cambia segno. Pertanto solitamente si preferisce usare un flux splitting alternativo,che conduce a schemi meno accurati, ma decisamente piu` robusto.

    Flux splitting di Lax & Friedrichs

    Il flux splitting di Lax & Friedrichs e` basato sulla seguente decomposizione della funzioneflusso

    f(u) =1

    2(f(u) u) , = max

    u|f (u)|, (3.23)

    dove il parametro rappresenta il massimo valore possibile della velocita` di propagazione,preso su tutti i valori assunti dalla soluzione a un certo tempo. E` immediato verificare chela (3.23) soddisfa in maniera automatica alla condizione (3.18).

    Applicando il flux splitting (3.23) alla (3.20) si ottiene uno schema, detto di Lax-Friedrichsgeneralizzato (LFFS-UW), il cui flusso numerico e` dato da

    fnj+1/2 =1

    2

    (fnj + f

    nj+1

    )

    2Unj+1/2. (3.24)

    Similmente allo schema di Lax-Friedrichs, tale schema presenta una viscosita` artificiale chenon dipende dalla velocita` di propagazione locale aj+1/2, e che non si annulla mai. Di con-seguenza, e` lecito attendere che siano evitati problemi legati alla possibile convergenza asoluzioni che non soddisfano la condizione di entropia. Inoltre, e` immediato verificare cheLFFSUW/LF =

    , dove = , (3.25)

    e` il cosiddetto numero di Courant globale, pari al massimo valore assoluto dei numeri diCourant locali. Si noti che, per la stabilita` lineare dellalgoritmo, |j+1/2| 1,j, chee` sicuramente soddisfatta se 1. Cio` implica che LFFSUW/LF 1, e quindi loschema LFFS-UW e` meno dissipativo rispetto allo schema di Lax-Friedrichs nella sua formaoriginaria.

    3.8 Metodo di Godunov

    Lapproccio flux splitting e` normalmente usato per sviluppare schemi upwind nellambitodel metodo delle differenze finite. Lo sviluppo di schemi upwind per il metodo dei volumi

  • 42CAPITOLO 3. LEGGI DI CONSERVAZIONE NON-LINEARI; SCHEMI

    CONSERVATIVI

    finiti segue tradizionalmente strade molto diverse, anche se conducono a risultati finali simili aquanto gia` visto. La strategia comunemente usata fu sviluppata originariamente da Godunov,ed e` basata sulla discretizzazione dellequazione di conservazione scritta in forma integrale.Integrando lequazione (1.5) su una regione rettangolare del piano x t definita dal prodottocartesiano

    [xj1/2, xj+1/2

    ] [tn, tn+1] (come in figura 3.4), si ottiene

    tn+1tn

    xj+1/2xj1/2

    (v

    t+f(v)

    x

    )dxdt =

    =

    xj+1/2xj1/2

    (v(x, tn+1) v(x, tn)

    )dx+

    tn+1tn

    (f(v(xj+1/2, t)) f(v(xj1/2, t))

    )dt, (3.26)

    dove si e` sfruttato il teorema della divergenza per integrare parzialmente il primo integrandorispetto a t, e il secondo integrando rispetto x. Ricordando che nel metodo dei volumi finitile incognite discrete sono rappresentate dai valori medi integrali sulle celle della soluzioneapprossimata, come definito nellequazione (2.9), e introducendo un flusso numerico definitocome

    fnj+1/2 =

    tn+1tn

    f(v(xj+1/2, t)) dt, (3.27)

    lequazione (3.26) conduce a

    Un+1j = Unj

    (fnj+1/2 f

    nj+1/2

    ), (3.28)

    la quale coincide con la generica forma conservativa di uno schema alle differenze (comeda equazione (3.6)). Si noti che la valutazione del flusso numerico (3.27) richiede il calcolodellintegrale di f(v) lungo il bordo (in questo caso il lato destro, evidenziato in rosso infigura 3.4) della cella di controllo. In linea di principio, tale calcolo richiede a sua voltala conoscenza dei valori della soluzione approssimata v(xj+1/2, t) allintercella xj+1/2, pert [tn, tn+1].

    x

    t

    xjxj1/2 xj+1/2

    tn

    tn+1

    Figura 3.4: Cella del piano x t per integrazione dellequazione (1.5).

    Nellapproccio di Godunov la valutazione del flusso numerico alle intercelle passa tramitela soluzione di una serie di problemi di Riemann. Si assuma, infatti, che, cella per cella, la

  • 3.8. METODO DI GODUNOV 43

    soluzione approssimata (di cui si conoscono solo i valori medi integrali sulle celle Unj , j),abbia la seguente rappresentazione funzionale (al tempo tn)

    v(x, tn) = Unj , x [xj1/2, xj+1/2], (3.29)

    che e` evidentemente consistente con la condizione (2.9). La ricostruzione3 espressa dalla (3.29)equivale a supporre che la soluzione approssimata al tempo tn sia costante cella per cella. Diconseguenza, se si considera lintercella xj+1/2, a cavallo di questa si sviluppera` un problemadi Riemann in cui lo stato left e` dato da ul = U

    nj , e lo stato right e` dato da ur = U

    nj+1.

    Il calcolo del valore puntuale di v allintercella nellintervallo temporale [tn, tn+1] richiedeevidentemente la soluzione di tale problema di Riemann. Lanalisi e` semplificata in manierasostanziale dalla proprieta` di self-similarity delle soluzioni del problema di Riemann per laequazione (1.5), in virtu` della quale, in un intorno opportuno del punto (in questo caso xj+1/2)dove ha origine la discontinuita`, vale

    v(x, t) = V

    (x xj+1/2

    t tn

    ), (3.30)

    che equivale a dire che la soluzione si mantiene costante lungo raggi vettori spiccati dal puntodel piano x t dove nasce la discontinuita` (si veda la figura 3.5).

    x

    t

    xjxj1/2 xj+1/2

    tn

    tn+1

    (x xj+1/2)/(t tn)=const.

    v = Unj v = Unj+1

    Figura 3.5: Soluzione del problema di Riemann relativo allintercella xj+1/2 al tempo tn.

    Tale proprieta` implica che v(xj+1/2, t) vnj+1/2 =cost., e lintegrale (3.27) si semplifica

    drasticamente, dando luogo afnj+1/2 = f(v

    nj+1/2). (3.31)

    Il problema di determinare il flusso numerico si riduce a quello di trovare una approssimazioneper lo stato medio (vnj+1/2) tra U

    nj e U

    nj+1.

    E` opportuno notare come lo schema definito dal flusso numerico (3.31), detto schema diGodunov, presenta, indipendentemente dalla accuratezza con cui viene calcolato vnj+1/2, un

    3Con il termine ricostruzione si indichera` nel seguito il procedimento tramite il quale, a partire dallaconoscenza dei valori medi di cella di una funzione, si determina una approssimazione, piu` o meno accurata,di suoi valori puntuali. Si noti che tale procedimento differisce dalla interpolazione classica, in cui si partedalla conoscenza dei valori puntuali della funzione.

  • 44CAPITOLO 3. LEGGI DI CONSERVAZIONE NON-LINEARI; SCHEMI

    CONSERVATIVI

    ordine di accuratezza formale pari a 1. Il motivo risiede nel fatto che, mentre per ricavarela forma conservativa (3.28) non e` stata fatta alcuna approssimazione, lassunzione (3.29)comporta un errore O(h) nella valutazione dei valori puntuali di v.

    Ai fini della valutazione di vnj+1/2 e` possibile adottare due approcci:

    1. soluzione esatta del problema di Riemann;

    2. soluzione approssimata del problema di Riemann.

    Lapproccio 1. e` fattibile solo per problemi per i quali la soluzione esatta sia nota, cosa cheaccade per lequazione scalare modello in considerazione, ma che non vale, ad esempio, perle equazioni di Eulero. In tal caso la soluzione del problema di Riemann richiede un procedi-mento iterativo che rende proibitiva limplementazione di un solutore di Riemann esatto perproblemi di interesse applicativo. Di conseguenza si ricorre frequentemente allapproccio 2,basato su stime approssimate della soluzione del problema di Riemann, che (possibilmente)non inficino laccuratezza dello schema.

    Solutore di Riemann esatto

    Si consideri lequazione (1.5) con condizioni iniziali 4

    u(x, 0) =

    {ul x < 0ur x > 0

    , (3.32)

    dove, per lo schema di Godunov, ul = Unj , ur = U

    nj+1. Si richiede di valutare la soluzione del

    problema di Riemann lungo la retta di equazione x = 0 (vj+1/2 nella nostra notazione).Assumendo la convessita` della funzione flusso, ovvero f (u) 0, risultano possibili due

    sotto-casi fondamentali

    A. Espansione, se ul < ur;

    B. Urto, se ul > ur.

    Nel primo caso infatti, le caratteristiche uscenti dagli stati left e right tendono a divergere,essendo f (ul) < f

    (ur). Viceversa, nel caso B, le caratteristiche provenienti dallo stato lefttendono a superare quelle associate allo stato right, e la monodromia della soluzione implicala formazione di un urto (si ricordi quanto detto in sezione 1.3). Esistono diversi sotto-casi,per i quali si riportano nel seguito i diagrammi delle soluzioni nel piano x t e nel pianou f .

    A-1. Espansione subsonica

    In questo caso si ha f (ul) f(ur) 0, e la soluzione del problema di Riemann (evidenziata

    con un cerchio rosso in figura 3.6b) risulta essere vj+1/2 = ur.

    A-2. Espansione supersonica

    In questo caso si ha 0 f (ul) f(ur), e la soluzione del problema di Riemann risulta essere

    vj+1/2 = ul.

    4Ovviamente la scelta dellorigine del sistema di riferimento non ha influenza sulla soluzione del problema,per cui, senza perdere in generalita`, si considera un problema di Riemann centrato nellorigine del piano x t.

  • 3.8. METODO DI GODUNOV 45

    x

    t

    u = ul u = ur u

    f

    f (ur)

    f (ul)

    urul

    Figura 3.6: Soluzione del problema di Riemann per il caso A-1.

    x

    t

    u = ul u = ur u

    f

    f (ur)

    f (ul)

    urul

    Figura 3.7: Soluzione del problema di Riemann per il caso A-2.

    A-3. Espansione transonica

    In questo caso si ha f (ul) 0 f(ur). La soluzione del problema di Riemann puo` essere

    ricavata osservando che la retta x = 0 coincide con una caratteristica del fan di espansioneavente inclinazione dx/dt = 0. Per la definizione di curva caratteristica (equazione 1.8), lungotale retta dovra` risultare dx/dt = f (vj+1/2) = 0, dalla quale e` possibile ricavare vj+1/2. Sef(u) e` convessa, f (vj+1/2) si annulla (al piu`) per un valore di u (che indichiamo come u

    ), ela soluzione del problema risulta essere vj+1/2 = u

    . Ad esempio, per lequazione di Burgers(f(u) = u2/2), u = 0.

    x

    t

    u = ul u = ur u

    f

    f (ur)f (ul)

    urul u

    Figura 3.8: Soluzione del problema di Riemann per il caso A-3.

  • 46CAPITOLO 3. LEGGI DI CONSERVAZIONE NON-LINEARI; SCHEMI

    CONSERVATIVI

    B-1. Urto subsonico

    In questo caso si ha f (ur) f(ul) 0, e la soluzione del problema di Riemann risulta essere

    vj+1/2 = ur.

    x