• Non ci sono risultati.

Elementi di integrazione numerica di alcuniproblemi di equazioni alle derivate parziali

N/A
N/A
Protected

Academic year: 2021

Condividi "Elementi di integrazione numerica di alcuniproblemi di equazioni alle derivate parziali"

Copied!
40
0
0

Testo completo

(1)

Elementi di integrazione numerica di alcuni problemi di equazioni alle derivate parziali

a cura di

Gaetano Continillo

Sommario

1. Problemi di valori ai limiti

2. Costruzione di formule alle differenze finite

3. Classificazione delle equazioni alle derivate parziali del secondo ordine

4. Metodi alle differenze finite per equazioni paraboliche lineari a coefficienti costanti 5. Trattamento delle condizioni al contorno

6. Convergenza e stabilità dei metodi alle differenze finite per e.d.p. lineari del secondo ordine 7. Trattamento dei termini sorgente

8. Trasporto convettivo di una quantità scalare: equazioni alle derivate parziali del primo ordine 9. Applicazione: reattore cilindrico con diffusione radiale

10. Bibliografia essenziale

A. Appendice: algoritmo di Thomas per sistemi lineari a matrice tridiagonale

(2)

1. Problemi di valori ai limiti per equazioni differenziali ordinarie

Sia data l'equazione differenziale ordinaria

( ) ( 1)

( , , ,..., )

n n

y = F x y y y

a cui siano associate n1 condizioni del tipo

( ) ( )

r ( ) r

s s

y x = y

dove l'indice r può assumere valori compresi tra 0 ed n1 (il valore 0 formalmente indica la funzione y x( ) derivata zero volte), anche ripetuti, e l'indice sdenota il punto x in cui ciascuna condizione ès assegnata. Se tutte le condizioni sono assegnate nello stesso punto x0 allora il problema è un problema di valori iniziali, e si ricollega a quelli già visti. In tutti gli altri casi si ha un problema di valori ai limiti.

I metodi numerici qui considerati per la risoluzione di problemi di valori ai limiti si dividono in due categorie:

metodi di shooting;

metodi alle differenze finite.

I metodi di shooting si basano sulla applicazione iterativa dei metodi per problemi di valori iniziali. Nella sostanza essi procedono con l'assegnare dei valori di tentativo per le condizioni che non sono date in uno stesso punto convenientemente prescelto (per esempio, quello in cui sono date il maggior numero di condizioni), nell'integrare con un metodo per problemi di valori iniziali, nel confrontare i valori così calcolati della funzione e delle sue derivate nei punti in cui sono invece date le condizioni che non si sono imposte, e nel correggere i valori di tentativo con un criterio basato sul discostamento osservato. Il nome nasce dal verbo inglese to shoot che vuol dire sparare, poiché il procedimento somiglia a quello adottato da un artigliere che conosce il punto di arrivo (bersaglio) della traiettoria del proiettile, ma che tuttavia si trova nelle condizioni di poter controllare soltanto i valori iniziali (posizione del tiratore ed alzo del tiro). Egli è quindi costretto a procedere per tentativi, osservando gli esiti dei tiri successivi in termini di discostamento dal bersaglio e correggendo di conseguenza l'alzo.

L'esempio, rappresentato in figura, può essere sviluppato per illustrare nel concreto la applicazione del metodo. La seconda legge della dinamica fornisce, trascurando gli attriti per semplicità, le seguenti equazioni:

md x dt md y

dt mg

2 2 2

2

=0

= −

(3)

Se si ipotizza che il modulo della velocità iniziale V = (x′ + ′0)2 (y0)2 sia costante poiché dipende dalla carica del proiettile, l'artigliere potrà variare solo l'angolo di alzo, e cioè ad esempio x0 restando così de- terminata la y0. La prima equazione, vista come problema di valori iniziali con le condizioni x( )0 =x0; x( )0 = ′x0, si risolve scrivendo subito l'integrale come x=x0+ ′x t0 , da cui si può ricavare, combinando con la seconda equazione, l'equazione per la traiettoria y x( ) . Difatti, dato che

d dt

dx dt

d

dx x d dx d

dt

dx dt

d

dx x d

dx

= = ′

= 

 = ′

0

2 2

2

2 0

2 2

( ) 2

la seconda equazione diventa allora

d y dx

g

V y

2

2 2

0

= − 2

− ′( )

a cui, se xb è la posizione del bersaglio, posto per semplicità al suolo in piano rispetto al tiratore, sono as- sociate le condizioni ai limiti

y x( 0)=y x( b)=0

L'equazione della traiettoria si risolve più volte assumendo un valore di tentativo per y0 ed integrando con un metodo qualsiasi fino ad xb, dove la yb si confronta con lo zero per modificare la y0 di tentativo, fino a convergenza.

Un metodo per scegliere i tentativi successivi può essere costruito facilmente se si considera il discosta- mento dalla condizione ai limiti non imposta (nell’esempio, la y x( b)=0) quale funzione reale della variabile reale y0, della quale bisogna trovare lo zero. Tale funzione, pur non essendo fornita in forma analitica, è comunque sempre calcolabile attraverso una integrazione completa del problema di valori iniziali; risulta perciò applicabile, ad esempio, il metodo di bisezione per la ricerca degli zeri di una funzione. Lo zero trovato sarà il valore esatto di y0, e la soluzione ad esso associata sarà la soluzione del problema di valori ai limiti. Naturalmente la convergenza del metodo è soltanto locale, come del resto c'è da attendersi per problemi non lineari. Una convergenza più rapida può ottenersi con l’impiego di un metodo del tipo Newton-Raphson. La formula iterativa è, come è noto, data da

x x f x

f x

k k

k k

+ =

1

( ) ( )

dove, in questo caso, dato che la funzione non è espressa in forma analitica, si può approssimare la derivata con l’espressione f(xk)[f(xk) f(xk1)] (xk xk1).

I metodi alle differenze finite sono basati sull'idea di sostituire nelle equazioni le derivate con opportuni rapporti incrementali valutati su di una griglia di integrazione ottenuta discretizzando il dominio di integrazione. Passando subito ad un esempio, sia dato il problema di valori ai limiti:

− ′′ + =

= =

y q x y g x

y a y b

( ) ( )

( ) α , ( ) β

(4)

Se q e g sono continue su a b, la soluzione esiste ed è unica. Si esprima la derivata seconda come rapporto incrementale:

′′ =

+

+ +

y

y x x y x

x

y x y x x

x x

y x x y x y x x

x

x

lim

( ) ( ) ( ) ( )

( ) ( ) ( )

0 2

2

Se l'intervallo a b, viene suddiviso in N +1 sottointervalli di pari ampiezza ∆x= −(b a) (N+1 , sarà) possibile scrivere N equazioni alle differenze finite che, per il punto generico xi, assumono la seguente forma:

y y +y+ + =

x q y g

i i i

i i i

1 1

2

2

avendo denominato, per brevità, yi:= y x( i), qi:=q x( i) e gi:=g x( )i , dove xi = + ⋅∆a i x. Si noti nella figura la disposizione dei punti (nodi) discretizzati sull'intervallo di integrazione: i cerchi vuoti rappresentano i nodi incogniti, quelli pieni agli estremi rappresentano i nodi di contorno, in cui per la natura delle condizioni ai limiti la soluzione è nota. L'equazione di ogni nodo i coinvolge anche i due nodi adiacenti, come evidenziato in figura.

xi- xi xi+ xN

x1

x =a0 1 1 x =bN+1

L'insieme delle equazioni alle differenze finite costituisce, in questo esempio, un sistema di equazioni lineari algebriche nelle incognite y y1, 2, ...,yN. Le equazioni alle differenze scritte per il nodo 1e per il nodo N saranno diverse dalle altre, poiché in esse si imporranno le condizioni ai limiti per esprimere y0 ed yN+1 rispettivamente, ponendo y0= α ed yN+1=β:

nodo i=1

1 1 2 1

2

2 1

g y x q

y

y + =

+

α

nodo i= N

y y + + =

x q y g

N N

N N N

1 2

2 β

.

Il sistema lineare in notazione vettoriale si esprime come Ay= p

.

Se si ordinano le incognite secondo l'ordine lessicografico, la matrice A ha una forma particolare:

(5)

A

x q

x

x x q

x

x x q

x

x x q

x

x x q

i

N

N

+





+





+





+





+





2 1

0 0

1 2 1

0

1 2 1

0

1 2 1

0 0 1 2

2 1 2

2 2 2 2

2 2 2

2 2 1 2

2 2

L

O O O O M

M O O O O

L

essa è tridiagonale. Il sistema si presta pertanto ad essere risolto mediante un semplice algoritmo diretto, che viene illustrato in appendice.

(6)

2. Costruzione di formule alle differenze finite

Si debba costruire la approssimazione numerica della soluzione di un problema alle derivate parziali. A tale scopo, si rappresenti la funzione incognita, di due o più variabili, con l'insieme dei valori che essa assume in un opportuno insieme di punti del dominio di integrazione. Detti valori, opportunamente ordinati, saranno le incognite scalari del problema approssimante, non differenziale, che si vuole sostituire a quello differenziale dato. Il problema approssimante sarà perciò costituito da un sistema di equazioni non differenziali nelle incognite scalari, che si dovrà generare a partire dal problema differenziale di partenza, e quindi risolvere numericamente. Scopo di queste note è illustrare un semplice procedimento per generare il problema approssimante.

Le equazioni differenziali alle derivate parziali di partenza esprimono una relazione, valida in tutti i punti del dominio di integrazione, tra la funzione incognita e le sue derivate parziali. Essa sarà in particolare valida in ciascuno dei punti scelti opportunamente nel dominio di integrazione. Potrà quindi scriversi una equazione per ciascun punto, e quindi per ciascuna incognita scalare introdotta, purché si sappiano esprimere, in funzione delle incognite scalari, le derivate parziali che compaiono nelle equazioni di partenza.

La questione sembra ridursi quindi alla costruzione di formule approssimate per le derivate servendosi delle incognite scalari introdotte.

yi-2 y

x xi-2 x

i-1 x

i x

i + 1 x

i + 2

yi-1

yi y

i + 1 y

i + 2

Per semplicità si consideri la dipendenza della funzione incognita y dalla sola variabile x. Si suddivida il dominio di integrazione in tanti intervalli di ampiezza ∆x , per il momento uniforme, in modo che sia

xi+1= +xi x

Si applichi due volte lo sviluppo in serie di Taylor di punto iniziale xi alla variabile dipendente y , per esprimere rispettivamente yi+1 ed yi−1:

(7)

y y y

x x y

x x y

x x O x

y y y

x x y

x x y

x x O x

i i

i i i

i i

i i i

+

= + + + +

= + + + +

1

2 2

2

3 3

3 4

1

2 2

2

3 3

3 4

1 2

1 3 1

2

1 3

! ! ( )

( )

! ( )

! ( ) ( )

Con ciò si ottiene un sistema di equazioni algebriche lineari nelle incognite [∂ ∂y x]i,

[

2y x2

]

i e

[

3y x3

]

i. Sottraendo membro a membro le due equazioni, raggruppando i termini di ordine superiore al secondo (si noti che i termini di ordine pari si cancellano) e risolvendo per [∂ ∂y x]i si ottiene la seguente formula per la derivata prima:

y x

y y

x O x

i

i i

= +1 1 + 2

2∆ ( )

Sommando membro a membro i termini di ordine dispari si cancellano e, risolvendo per

[

2y x2

]

i si

ottiene la seguente formula per la derivata seconda:

2 2

1 1

2

2 2

y x

y y y

x O x

i

i i i

= + + +

( )

Entrambe le formule sono formalmente accurate al secondo ordine in x. La formula per la derivata seconda nasce però da una rappresentazione più fedele della funzione approssimata, in quanto il primo termine dell'errore di troncamento è moltiplicato per una derivata quarta, mentre nella formula per la derivata prima il coefficiente del termine dominante l'errore di troncamento è una derivata terza.

L'ordine di accuratezza formale delle formule alle differenze finite può essere scelto grande quanto si vuole considerando più punti. Si applichi ad esempio quattro volte lo sviluppo in serie di Taylor:

y y y

x x y

x x y

x x y

x x y

x x O x

y y y

x x y

x x y

x x y

x x y

x x O x

y y y

x x y

x

i i

i i i i i

i i

i i i i i

i i

i +

+

= + + + + + +

= − + + +

= + +

1

2 2

2

3 3

3

4 4

4

5 5

5 6

1

2 2

2

3 3

3

4 4

4

5 5

5 6

2

2

1 2

1 3

1 4

1 5 1

2

1 3

1 4

1 5

2 1

2

! ! ! ! ( )

! ! ! ! ( )

! ( )

( )

2

2

3 3

3

4 4

4

5 5

5 6

2

2 2

2

3 3

3

4 4

4

5 5

5 6

2 1

3 2 1

4 2 1

5 2

2 1

2 2 1

3 2 1

4 2 1

5 2

i i i i

i i

i i i i i

x y

x x y

x x y

x x O x

y y y

x x y

x x y

x x y

x x y

x x O x

( )

! ( )

! ( )

! ( )

! ( )

! ( )

! ( )

! ( )

+ + + +

= − + + +





Il sistema di sopra, risolto per le prime due derivate, fornisce le seguenti due formule:

(8)

y x

y y y y

x O x

y x

y y y y y

x O x

i

i i i i

i

i i i i i

= + +

= − + + +

+ +

+ +

1

12 2

2

3 1

2

3 1

1

12 2 4

2 2

1

12 2

4

3 1

5 2

4

3 1

1

12 2

2

4

( )

( ) .

Le formule viste finora si chiamano formule centrali dato che sono simmetriche (o antisimmetriche) rispet- to al punto i , e sono quelle che garantiscono la massima accuratezza formale possibile con il numero di punti rispettivamente impiegati. Tuttavia, si possono costruire, per esigenze speciali (ad esempio per approssimare le condizioni al contorno) formule alle differenze non centrate sul punto i . Un esempio è il seguente:

y y y

x x y

x x y

x x O x

y y y

x x y

x x y

x x O x

i i

i i i

i i

i i i

+

+

= + + + +

= + + + +

1

2 2

2

3 3

3 4

2

2 2

2

3 3

3 4

1 2

1 3

2 1

2 2 1

3 2

! ! ( )

( )

! ( )

! ( ) ( ) ,

da cui si ricavano le seguenti due formule forward:

y x

y y y

x O x

y x

y y y

x O x

i

i i i

i

i i i

= − + +

= + +

+ +

+ +

3

2 1

1

2 2 2

2 2

1 2

2

2

2

( )

( ) .

Si noti che la formula per la derivata seconda in questo caso è accurata solo al primo ordine.

Spesso è conveniente operare una discretizzazione non uniforme del dominio di integrazione. Ad esempio, quando si conosce in anticipo la posizione di una regione con valori elevati dei gradienti delle incognite, si può infittire la griglia localmente, senza aumentare il numero di punti in tutto il dominio. Ciò dà luogo ad una discretizzazione a passo variabile, per la quale vanno naturalmente scritte le formule, che si presentano un pò più complesse delle precedenti. Per illustrare la tecnica, si adotti la seguente notazione:

y

x xi - 1 x

i x

i + 1

yi - 1

yi yi + 1

x ( 1 + b ) x

(9)

Con lo stesso metodo usato sopra, e supponendo (1+b)=O( )1 , si perviene facilmente alle seguenti espressioni:

( )

y y y

x x y

x x y

x x O x

y y y

x b x y

x b x y

x b x O x

i i

i i i

i i

i i i

+

= + + + +

= + + + + + + +

1

2 2

2

3 3

3 4

1

2 2

2 2

3 3

3 3 4

1 2

1 3

1 1

2 1 1

3 1

( )

! ( )

! ( ) ( )

( )

! ( )

! ( )

da cui si trae:

2 2

1 1

1 2

2

2

3 3

1 2 1 2

3 y

x

b y b y y

x

y

x b x O x

i

i i i

b b

i

 = + − + +

+

+

+

+ +

( ) ( )

( )

( )( )

Si osservi innanzitutto che, per b=0, la formula restituisce ovviamente quella ricavata per passo costante.

Se b=O(x), allora b x =O(x2). Siccome di solito, per equazioni in forma adimensionale, la lunghezza del dominio è unitaria, si ha che 0<∆x<<1, e perciò dire che b=O(x) equivale a dire che le ampiezze di due celle contigue devono differire poco tra di loro, a pena di perdite di accuratezza inaccettabili. Si noti che ciò non costituisce un impedimento serio alla adozione di griglie a passo molto disuniforme se si guarda all'intero dominio: basta che le variazioni di ampiezza avvengano gradatamente.

Infine, va precisato che tutte queste analisi teoriche sugli ordini di accuratezza delle formule alle differenze finite si traducono in effetti pratici solo se vale il presupposto che le derivate che appaiono come coefficienti dei termini che si trascurano siano sempre, al più, di ordine di grandezza unitario. Possono darsi dei casi nella pratica (ad esempio onde d'urto, fronti di reazione) in cui in alcune regioni del dominio di integrazione ciò non si verifica: in alcuni di questi casi gli accorgimenti numerici visti (formule di ordine superiore, griglie non uniformi), nonché altri più sofisticati qui non illustrati, non sono sufficienti, e diviene quindi necessario riformulare il modello matematico rinunciando all'ipotesi del continuo.

(10)

3. Classificazione delle equazioni alle derivate parziali del secondo ordine

Si dice equazione differenziale alle derivate parziali del secondo ordine una relazione del tipo:

F x y u u x

u y

u x

u x y

u , , , , , , , y

∂ ∂

2 2

2 2

2 0

 =

Essa si dirà lineare rispetto alle derivate di ordine massimo se è esprimibile come:

a u

x a u

x y a u

y F x y u u x

u

11 y

2

2 12

2

22 2

2 1

2 0

∂ ∂

+ + + 

 = , , , ,

con aij =aij( , ) . Si dirà quasi lineare quando x y aij =aij(x y u, , ,∂ ∂ ∂ ∂u x, u y) . Si dirà lineare se della forma

a u

x a u

x y a u

y b u

x b u

y cu d

11 2

2 12

2

22 2

2 1 2

2 0

∂ ∂

+ + + + + + =

aij, bi e c sono funzioni delle sole variabili indipendenti x ed y . Si dirà lineare a coefficienti costanti se della forma di cui sopra, e se aij, bi e c sono costanti. Si dirà omogenea se d =0 .

Ciò premesso, si procede alla classificazione per le e.d.p. lineari nelle derivate di ordine massimo (secondo):

a u

x a u

x y a u

y F x y u u x

u

11 y

2

2 12

2

22 2

2 1

2 0

∂ ∂

+ + + 

 = , , , ,

.

Si operi la trasformazione di variabili:

ξ ξ η η

=

= ( , )

( , ) x y

x y

Esprimendo le derivate si ha:

(11)

∂ξ

∂ξ

∂η

∂η

∂ξ

∂ξ

∂η

∂η

∂ξ

∂ξ

∂ξ∂η

∂η

∂ξ

∂η

∂η

∂ξ

∂ ξ

∂η

∂ η

∂ ∂

∂ ∂

∂ξ

∂ξ

∂ξ

∂η∂ξ

∂ξ

∂η

∂ξ

∂η

∂η

∂η

∂η

∂ξ

∂ ξ

∂ ∂

∂η

∂ η

∂ ∂

u x

u x

u x u

y u

y u

y u

x u

x

u x x

u x

u x

u x u

x y u y x

u x y

u

y x x y

u x y

u x y

u x y u

y

= +

= +

= + + + +

= = + + + + +

=

2 2

2 2

2 2

2

2 2

2 2

2 2 2

2

2 2

2

2 2

2 2

2

∂ξ

∂ξ

∂ξ∂η

∂η

∂ξ

∂η

∂η

∂ξ

∂ ξ

∂η

∂ η

2 2

2 2

2

2 2

2

2 2

u y

u y y

u y

u y

u

+ + + + y

per cui l'equazione di partenza si trasforma in

a u

a u

a u

11 F

2

2 12

2 22

2

2 2 0

∂ξ

∂ξ∂η

+ + ∂η + =

dove

a a

x a

x y a

y

a a

x x a

x y x y a

y y

a a

x a

x y a

y

11 11

2

12 22

2

12 11 12 22

22 11

2

12 22

2

2

2

=



 + +

= + +

 +

=



 + +

∂ξ

∂ξ

∂ξ

∂ξ

∂ξ

∂η

∂ξ

∂η

∂η

∂ξ

∂ξ

∂η

∂η

∂η

∂η

∂η

.

La trasformazione di variabili conferisce la possibilità di scegliere arbitrariamente le due funzioni ξ ed η, fatti salvi i necessari requisiti di continuità. Perciò è naturale sceglierle in modo da annullare uno o più dei coefficienti delle derivate di ordine massimo. Ci si può attendere che sia possibile, con una coppia di fun- zioni, soddisfare al più una coppia di equazioni differenziali che si ottengono imponendo uguali a zero i primi membri delle equazioni di sopra. In effetti si trova che è sempre possibile soddisfarne almeno una. Si sa infatti che, se ϕ( , )x y è una soluzione della e.d.p.

a x a

x y a

11 y

2

12 22

2

2 0

∂ϕ

∂ϕ

∂ϕ

∂ϕ



 + +

 = ,

allora ϕ( , )x y +C è l'integrale generale della seguente e.d.o.:

( ) ( )

a11 dy2+2a dxdy12 +a22 dx 2=0 e viceversa. Quest'ultima si scinde nelle due equazioni

′ =

y a a a a

a

12 12

2

11 22 11

m

Esse avranno due integrali generali reali e distinti se a122 a a11 22>0, uno (doppio e reale) se a122 a a11 22=0, e due complessi coniugati per a122 a a11 22 <0. L'equazione alle derivate parziali si dice iperbolica nel primo caso, parabolica nel secondo, ellittica nel terzo. Si vede che

Riferimenti

Documenti correlati

Appare evidente come tale struttura dipende ovviamente dal modo con cui sono stati ordinati i nodi e che ci sono alcuni elementi che sono ottenuti dal contributo di una singola

[r]

— Metodi variazionali per le equazioni ellittiche, paraboliche ed iperboliche lineari del secondo ordine.. — Elementi di

In questo capitolo inoltre conveniamo che i domini delle funzioni sopra citate siano campi-T; per molte di queste funzioni si potrebbe adottare una scelta non molto differente

[r]

Utilizzare il triangolo

[r]

[r]