Vediamo ora come `e possibile approssimare una derivata parziale con il quo-ziente di una differenza algebrica, cio`e usando il metodo alle differenze finite.
Generalmente per fare ci`o si usa lo sviluppo in serie di Taylor della funzione considerata. Con riferimento alla figura 2.1 se supponiamo che u(i, j) sia il valore della funzione u nel punto P di coordinate (i, j), allora il valore di u nel punto (i + 1, j) pu`o essere scritto come
ui+1,j = ui,j+ µ∂u
∂x
¶
i,j
∆x + µ∂2u
∂x2
¶
i,j
(∆x)2 2! +
µ∂3u
∂x3
¶
i,j
(∆x)3
3! + . . . . (2.1) Naturalmente nel caso limite in cui i termini della sommatoria sono infiniti e l’intervallo ∆x tende a zero, l’equazione (2.1) fornisce il valore esatto della
funzione nel punto di coordinate (i+1, j). Risolvendo la precedente equazione in termini della pendenza della funzione u si ottiene
µ∂u Consideriamo ora i termini scritti sulla destra. Il primo di essi altro non `e che la rappresentazione alle differenze finite della derivata parziale scritta a sinistra nella (2.2), mentre i restanti termini corrispondono all’errore di tron-camento che si commette nell’approssimazione. Dal momento che il primo termine ivi presente `e dell’ordine di ∆x, allora possiamo dire che un’equa-zione alle differenze finite, come la seguente (2.3), `e approssimata al primo
ordine. µ
Pi`u propriamente possiamo scrivere il tutto come µ∂u
in cui il termine O(∆x) sta ad indicare l’accuratezza della rappresentazione.
Figura 2.2: Differenza al primo ordine avanti.
Inoltre, la (2.4) `e detta differenza al primo ordine avanti o first-order forward difference in quanto, con riferimento alla figura 2.2, per la sua risoluzione si fa riferimento solo ai valori della funzione a destra del punto di coordinate (i, j). Il disegno schematizza l’equazione di cui sopra illustrando quali punti sono coinvolti nella rappresentazione alle differenze finite appena illustrata, nonch´e il segno + o −, e l’eventuale peso, dei vari termini.
Se, al contrario, sviluppiamo in serie di Taylor la funzione u a partire dal
punto di coordinate (i, j) per ricavarne il valore immediatamente alla sua Quindi, risolvendo rispetto a (∂u/∂x)i,j
µ∂u
Figura 2.3: Differenza al primo ordine retro.
Con analogo ragionamento visto per la (2.4), facendo attenzione al fatto che ci spostiamo verso sinistra, possiamo dire che la precedente equazione costi-tuisce una differenza al primo ordine retro o first-order rearward difference.
Dalle rappresentazioni di cui sopra `e possibile ottenere facilmente un’appros-simazione con un’accuratezza del secondo ordine. Sottraendo la (2.5) dalla (2.1) si ha
Notiamo come in questo caso, a differenza della (2.4) e della (2.6), per calco-lare il valore approssimato della pendenza di u nel punto P si fa riferimento ai due punti ad esso adiacenti mentre l’errore di troncamento risulta essere
Figura 2.4: Differenza centrale al secondo ordine.
dell’ordine di (∆x)2. La (2.8) `e appunto detta differenza centrale al se-condo ordine o second-order central difference.
Espressioni analoghe alla (2.4), (2.6) e (2.8) si ottengono se invece di spo-starci lungo l’asse x nella figura 2.1, lo facciamo lungo l’asse y.
Talvolta per`o si ha a che fare con delle derivate parziali di ordini superiori al primo. Di seguito vediamo come possono essere rappresentate quelle del secondo ordine col metodo delle differenze finite.
Sommando la (2.1) e la (2.5) si ha ui+1,j + ui−1,j = 2ui,j +
µ∂2u
∂x2
¶
i,j
(∆x)2+ µ∂4u
∂x4
¶
i,j
(∆x)4
12 + . . . (2.9) e risolvendo rispetto alla derivata seconda di u rispetto a x
µ∂2u
∂x2
¶
i,j
= ui+1,j − 2ui,j+ ui−1,j
(∆x)2 + O(∆x)2. (2.10)
Figura 2.5: Differenza al secondo ordine centrale per la derivata seconda.
Quest’ultima `e detta differenza centrale al secondo ordine per la de-rivata seconda, o second-order central second difference, di u rispet-to a x. Il problema `e ora quello di trovare le rappresentazioni per le derivate miste del secondo ordine. Per far ci`o deriviamo rispetto alla variabile y la (2.1) e la (2.5) ottenendo
µ∂u Sottraendo quest’ultima alla (2.11) si ha
µ∂u ed infine, risolvendo rispetto alla derivata mista di secondo ordine
µ ∂2u Quest’ultima pu`o essere esplicitata tenendo conto delle formule di rappre-sentazione delle derivate parziali del primo ordine viste sopra. Utilizzando formule analoghe alla (2.10), scritte nella variabile y per i punti di coordinate (i + 1, j) e (i − 1, j), e sostituendole nella (2.14) risulta L’errore di troncamento `e del secondo ordine tanto rispetto a ∆x quanto a ∆y. Si parla allora di differenza centrale al secondo ordine per la derivata mista (∂2u/∂x∂y)i,j, o anche second-order central mixed difference.
E’ ovvio che le rappresentazioni viste sin ora non sono n´e le uniche n´e tan-to meno le pi`u accurate. Come dettan-to in precedenza, possiamo migliorare
Figura 2.6: Differenza centrale al secondo ordine per la derivata mista.
la precisione dell’approssimazione andando a considerare termini di ordine via via maggiore nello sviluppo di Taylor della funzione u. Ad esempio, la differenza finita centrale al quarto ordine, o fourth-order central difference, per ∂2u/∂x2 `e
µ∂2u
∂x2
¶
i,j
= −−ui+2,j + 16ui+1,j − 30ui,j+ 16ui−1,j− ui−2,j
12(∆x)2 + O(∆x)4.
(2.16) Vediamo come nella precedente, a differenza della (2.10), si fa riferimento a cinque punti del reticolo, e non a tre.
Un’approssimazione del comportamento della funzione sui punti che costi-tuiscono il contorno nel caso di un reticolo unidimensionale pu`o presentare dei problemi nel caso in cui ci sia un’unica direzione possibile e cio`e quella d’allontanamento dal contorno.
Con riferimento alla figura 2.7, l’approssimazione al primo ordine `e data semplicemente da µ
∂u
∂y
¶
1
= u2− u1
∆y + O(∆y). (2.17)
Per ottenere una rappresentazione della derivata del secondo ordine col me-todo del punto centrale dovremmo conoscere il valore della funzione in 2’, simmetrico rispetto a 2. Tuttavia nel caso considerato il punto 2’ `e al di fuo-ri del dominio della nostra funzione. Per bypassare tale problema si pu`o far ricorso alla condizione al contorno di riflessione secondo la quale la funzione assume gli stessi valori nei punti simmetrici rispetto al contorno considerato.
Ovviamente tale posizione pu`o risultare anche troppo azzardata.
Consideriamo quindi un nuovo approccio, detto approccio polinomiale.
Supponiamo quindi che la funzione u sul contorno possa essere espressa in forma polinomiale, cio`e
u = a + by + cy2. (2.18)
Figura 2.7: Esempio di reticolo unidimensionale in allontanamento dal bordo.
E’ facile dimostrare che al punto 1 y = 0. Allora
u1 = a . (2.19)
Al punto 2 y = ∆y quindi
u2 = a + b∆y + c(∆y)2 . (2.20)
Al punto 3 y = 2∆y e
u3 = a + b(2∆y) + c(2∆y)2. (2.21) Da queste ultime tre equazioni possiamo calcolare b come
b = −3u1+ 4u2− u3
2∆y . (2.22)
Deriviamo ora la (2.18) rispetto a y ottenendo
∂u
∂y = b + 2cy. (2.23)
Quindi nel punto 1, in cui y = 0, si otterr`a µ∂u
∂y
¶
1
= b (2.24)
e ricordando la (2.22) possiamo scrivere µ∂u
∂y
¶
1
= −3u1+ 4u2− u3
2∆y . (2.25)
Quest’espressione `e detta differenza finita lungo una direzione poich´e per la sua risoluzione si fa riferimento solo ai punti che si trovano da un lato del contorno. Concludiamo determinandone il grado di approssimazione.
Scriviamo lo sviluppo in serie di Taylor della (2.18) u(y) = u1+ i cui primi tre termini possono essere posti in corrispondenza proprio con quelli della (2.18). Di conseguenza quest’ultima (cos`ı come u1, u2, u3) `e un’approssimazione al terzo ordine. Tenendo per`o conto del ∆y presente al denominatore della (2.25) si conclude che questa rappresenta un’approssi-mazione del secondo ordine che pu`o essere messa, pi`u correttamente, nella seguente forma