A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano...

565

Transcript of A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano...

Page 1: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione
Page 2: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

A Fulvia, Silvia e Marzia

Page 3: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Modellistica numericaper problemi differenziali

4a edizione

Alfio Quarteroni

Page 4: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

ALFIO QUARTERONIMOX - Dipartimento di MatematicaPolitecnico di Milano eEcole Polytechnique Fédérale de Lausanne

In copertina è riprodotta una simulazione (effettuata da Nicola Parolini) del flusso incom-primibile attorno a 5 cilindri risolvendo le equazioni di Navier-Stokes con una discretizza-zione spaziale a volumi finiti

ISBN 978-88-470-0841-0 Springer Milan Berlin Heidelberg New Yorke-ISBN 978-88-470-0842-7 Springer Milan Berlin Heidelberg New York Springer-Verlag fa parte di Springer Science+Business Media

springer.com

© Springer-Verlag Italia, Milano 2008

nei limiti stabiliti dalla stessa. Le fotocopie per uso personale possono essere effettuate nei limiti del 15% di

e-mail [email protected] e sito web www.aidro.org.

Tutti i diritti, in particolare quelli relativi alla traduzione, alla ristampa, all’utilizzo di illustrazioni e tabelle, alla citazione orale, alla trasmissione radiofonica o televisiva, alla registrazione su microfilm o in database, o alla riproduzione in qualsiasi altra forma (stampata o elettronica) rimangono riservati anche nel caso di utilizzo parziale. La violazione delle norme comporta le sanzioni previste dalla legge. 9 7 8 6 5 4 3 2 1

Riprodotto da copia camera-ready fornita dagli AutoriProgetto grafico della copertina: Simona Colombo, Milano

Springer-Verlag Italia Srl, Via Decembrio 28, 20137 Milano

Stampato in Italia: grafiche porpora, Segrate, Milano

Via Corso di Porta Romana n. 108, Milano 20122,

ciascun volume dietro pagamento alla SIAE del compenso previsto. Le ripro d uzioni per uso non personale

Quest’opera è protetta dalla legge sul diritto d’autore e la sua riproduzione è ammessa solo ed esclusivamente

e/o oltre il limite del 15% potranno avvenire solo a seguito di specifica autorizzazione rilasciata da AIDRO,

Page 5: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Indice

Prefazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIII

1 Richiami sulle equazioni alle derivate parziali . . . . . . . . . . . . . . . . . . . . . . 11.1 Definizioni ed esempi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Necessità della risoluzione numerica . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Classificazione delle EDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3.1 Forma quadratica associata ad una EDP . . . . . . . . . . . . . . . . 81.4 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Equazioni di tipo ellittico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.1 Un esempio di problema ellittico: l’equazione di Poisson . . . . . . . . . 112.2 Il problema di Poisson nel caso monodimensionale . . . . . . . . . . . . . . 12

2.2.1 Problema di Dirichlet omogeneo . . . . . . . . . . . . . . . . . . . . . . 132.2.2 Problema di Dirichlet non omogeneo . . . . . . . . . . . . . . . . . . 192.2.3 Problema di Neumann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2.4 Problema misto omogeneo . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.2.5 Condizioni al bordo miste (o di Robin) . . . . . . . . . . . . . . . . . 20

2.3 Il problema di Poisson nel caso bidimensionale . . . . . . . . . . . . . . . . . 212.3.1 Il problema di Dirichlet omogeneo . . . . . . . . . . . . . . . . . . . . 212.3.2 Equivalenza, nel senso delle distribuzioni, tra la forma

debole e la forma forte del problema di Dirichlet . . . . . . . . 232.3.3 Il problema con condizioni miste non omogenee . . . . . . . . . 242.3.4 Equivalenza, nel senso delle distribuzioni, tra la forma

debole e la forma forte per il problema di Neumann . . . . . . 262.4 Problemi ellittici più generali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.4.1 Teorema di esistenza e unicità . . . . . . . . . . . . . . . . . . . . . . . 302.5 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3 Il metodo di Galerkin-elementi finiti per problemi ellittici . . . . . . . . . . . 353.1 Approssimazione con il metodo di Galerkin . . . . . . . . . . . . . . . . . . . . 35

Page 6: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

VI Indice

3.2 Analisi del metodo di Galerkin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.2.1 Esistenza e unicità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.2.2 Stabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.2.3 Convergenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.3 Il metodo degli elementi finiti nel caso monodimensionale . . . . . . . . 413.3.1 Una definizione di elemento finito nel caso Lagrangiano . . 453.3.2 L’approssimazione con elementi finiti lineari . . . . . . . . . . . . 473.3.3 Interpolazione e stima dell’errore di interpolazione . . . . . . 493.3.4 Stima dell’errore nella norma H1 . . . . . . . . . . . . . . . . . . . . . 50

3.4 Il metodo degli elementi finiti nel caso multidimensionale . . . . . . . . 523.4.1 Risoluzione del problema di Poisson con elementi finiti . . 543.4.2 Condizionamento della matrice di rigidezza . . . . . . . . . . . . 573.4.3 Stima dell’errore di approssimazione nella norma

dell’energia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.4.4 Stima dell’errore di approssimazione in norma L2 . . . . . . . 67

3.5 Il problema dell’adattività della griglia . . . . . . . . . . . . . . . . . . . . . . . . . 713.5.1 Adattività a priori basata sulla ricostruzione delle derivate . 713.5.2 Adattività a posteriori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.5.3 Esempi numerici di adattività . . . . . . . . . . . . . . . . . . . . . . . . . 783.5.4 Stime a posteriori dell’errore nella norma L2 . . . . . . . . . . . . 823.5.5 Stime a posteriori di un funzionale dell’errore . . . . . . . . . . . 84

3.6 Come si ottiene il problema aggiunto . . . . . . . . . . . . . . . . . . . . . . . . . . 853.6.1 Operatori aggiunti di un operatore lineare . . . . . . . . . . . . . . 863.6.2 Problema primale e problema aggiunto . . . . . . . . . . . . . . . . 873.6.3 Il caso non lineare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

3.7 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

4 I metodi spettrali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974.1 Il metodo di Galerkin spettrale per problemi ellittici . . . . . . . . . . . . . . 974.2 Polinomi ortogonali e integrazione numerica gaussiana . . . . . . . . . . . 101

4.2.1 Polinomi ortogonali di Legendre . . . . . . . . . . . . . . . . . . . . . . 1014.2.2 Integrazione gaussiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1044.2.3 Le formule di Gauss-Legendre-Lobatto . . . . . . . . . . . . . . . . 105

4.3 Metodi G-NI in una dimensione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1084.3.1 Interpretazione algebrica del metodo G-NI . . . . . . . . . . . . . 1094.3.2 Condizionamento della matrice di rigidezza del metodo

G-NI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114.3.3 Equivalenza tra il metodo G-NI e un metodo di

collocazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124.4 Generalizzazione al caso bidimensionale . . . . . . . . . . . . . . . . . . . . . . . 116

4.4.1 Convergenza del metodo G-NI . . . . . . . . . . . . . . . . . . . . . . . 1184.5 Metodo G-NI e MES-NI per un problema modello

monodimensionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1264.5.1 Il metodo G-NI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274.5.2 Il metodo MES-NI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

Page 7: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Indice VII

4.6 Metodi spettrali su triangoli e tetraedri . . . . . . . . . . . . . . . . . . . . . . . . . 1344.7 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

5 Equazioni di diffusione-trasporto-reazione . . . . . . . . . . . . . . . . . . . . . . . . . 1395.1 Formulazione debole del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1395.2 Analisi di un problema di diffusione-trasporto monodimensionale . . 1425.3 Analisi di un problema di diffusione-reazione monodimensionale . . 1475.4 Relazioni tra elementi finiti e differenze finite . . . . . . . . . . . . . . . . . . . 1485.5 La tecnica del mass-lumping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1505.6 Schemi decentrati e diffusione artificiale . . . . . . . . . . . . . . . . . . . . . . . 1525.7 Autovalori del problema di diffusione-trasporto . . . . . . . . . . . . . . . . . 1555.8 Metodi di stabilizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

5.8.1 Diffusione artificiale e schemi decentrati agli elementifiniti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

5.8.2 Il metodo di Petrov-Galerkin . . . . . . . . . . . . . . . . . . . . . . . . . 1615.8.3 Il metodo della diffusione artificiale e della

streamline-diffusion nel caso bidimensionale . . . . . . . . . . . . 1615.8.4 Consistenza ed errore di troncamento per i metodi di

Galerkin e di Galerkin generalizzato . . . . . . . . . . . . . . . . . . . 1635.8.5 Parte simmetrica e antisimmetrica di un operatore . . . . . . . 1635.8.6 Metodi fortemente consistenti (GLS, SUPG) . . . . . . . . . . . . 1655.8.7 Analisi del metodo GLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1675.8.8 Stabilizzazione tramite funzioni a bolla . . . . . . . . . . . . . . . . 173

5.9 Alcuni test numerici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1765.10 Un esempio di adattività goal-oriented . . . . . . . . . . . . . . . . . . . . . . . . . 1765.11 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

6 Equazioni paraboliche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1836.1 Formulazione debole e sua approssimazione . . . . . . . . . . . . . . . . . . . . 1846.2 Stime a priori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1876.3 Analisi di convergenza del problema semi-discreto . . . . . . . . . . . . . . 1906.4 Analisi di stabilità del θ-metodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1926.5 Analisi di convergenza del θ-metodo . . . . . . . . . . . . . . . . . . . . . . . . . . 1966.6 Il caso dell’approssimazione spettrale G-NI . . . . . . . . . . . . . . . . . . . . . 1996.7 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

7 Differenze finite per equazioni iperboliche . . . . . . . . . . . . . . . . . . . . . . . . . 2057.1 Un problema di trasporto scalare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

7.1.1 Una stima a priori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2077.2 Sistemi di equazioni iperboliche lineari . . . . . . . . . . . . . . . . . . . . . . . . 209

7.2.1 L’equazione delle onde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2117.3 Il metodo delle differenze finite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

7.3.1 Discretizzazione dell’equazione scalare . . . . . . . . . . . . . . . . 2147.3.2 Discretizzazione di sistemi iperbolici lineari . . . . . . . . . . . . 2157.3.3 Trattamento del bordo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

7.4 Analisi dei metodi alle differenze finite . . . . . . . . . . . . . . . . . . . . . . . . 217

Page 8: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

VIII Indice

7.4.1 Consistenza e convergenza . . . . . . . . . . . . . . . . . . . . . . . . . . . 2177.4.2 Stabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2177.4.3 Analisi di von Neumann e coefficienti di amplificazione . . 2227.4.4 Dissipazione e dispersione . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

7.5 Equazioni equivalenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287.5.1 Il caso dello schema upwind . . . . . . . . . . . . . . . . . . . . . . . . . 2287.5.2 Il caso dei metodi di Lax-Friedrichs e Lax-Wendroff . . . . . 2337.5.3 Sul significato dei coefficienti nelle equazioni equivalenti . 2347.5.4 Equazioni equivalenti e analisi dell’errore . . . . . . . . . . . . . . 235

7.6 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

8 Elementi finiti e metodi spettrali per equazioni iperboliche . . . . . . . . . . . 2398.1 Discretizzazione temporale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

8.1.1 Gli schemi di Eulero in avanti e all’indietro . . . . . . . . . . . . . 2398.1.2 Gli schemi upwind, di Lax-Friedrichs e Lax-Wendroff . . . . 241

8.2 Gli schemi Taylor-Galerkin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468.3 Il caso multidimensionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

8.3.1 Semi-discretizzazione: trattamento forte e trattamentodebole delle condizioni al bordo . . . . . . . . . . . . . . . . . . . . . . 250

8.3.2 Discretizzazione temporale . . . . . . . . . . . . . . . . . . . . . . . . . . 2548.4 Elementi finiti discontinui . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

8.4.1 Il caso unidimensionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578.4.2 Il caso multidimensionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

8.5 Approssimazione con metodi spettrali . . . . . . . . . . . . . . . . . . . . . . . . . 2658.5.1 Il metodo G-NI in un singolo intervallo . . . . . . . . . . . . . . . . 2658.5.2 Il metodo DG-SEM-NI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

8.6 Trattamento numerico delle condizioni al bordo per sistemiiperbolici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2718.6.1 Trattamento debole delle condizioni al bordo . . . . . . . . . . . 275

8.7 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278

9 Cenni a problemi iperbolici non lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2799.1 Equazioni scalari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2799.2 Approssimazione alle differenze finite . . . . . . . . . . . . . . . . . . . . . . . . . 2849.3 Approssimazione con elementi finiti discontinui . . . . . . . . . . . . . . . . . 2869.4 Sistemi iperbolici non-lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

10 Le equazioni di Navier-Stokes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29910.1 Formulazione debole delle equazioni di Navier-Stokes . . . . . . . . . . . 30110.2 Le equazioni di Stokes e la loro approssimazione . . . . . . . . . . . . . . . . 30610.3 Problemi di punto-sella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

10.3.1 Formulazione del problema . . . . . . . . . . . . . . . . . . . . . . . . . . 31010.3.2 Analisi del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31110.3.3 Approssimazione con il metodo di Galerkin ed analisi di

stabilità e convergenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31510.4 Formulazione algebrica del problema di Stokes . . . . . . . . . . . . . . . . . 318

Page 9: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Indice IX

10.5 Un esempio di problema stabilizzato . . . . . . . . . . . . . . . . . . . . . . . . . . 32210.6 Un esempio numerico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32410.7 Discretizzazione in tempo delle equazioni di Navier-Stokes . . . . . . . 325

10.7.1 Metodi alle differenze finite . . . . . . . . . . . . . . . . . . . . . . . . . . 32710.7.2 Metodi alle caratteristiche (o Lagrangiani) . . . . . . . . . . . . . . 32910.7.3 Metodi a passi frazionari . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

10.8 Risoluzione del sistema di Stokes e metodi di fattorizzazionealgebrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333

10.9 Problemi di fluidi a superficie libera . . . . . . . . . . . . . . . . . . . . . . . . . . . 33710.9.1 Equazioni di Navier-Stokes con densità e viscosità variabili 33710.9.2 Condizioni al contorno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33910.9.3 Applicazioni ai fluidi a superficie libera . . . . . . . . . . . . . . . . 34010.9.4 Modellistica dell’evoluzione dell’interfaccia . . . . . . . . . . . . 34110.9.5 I metodi Volume of Fluid . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34210.9.6 Metodi Level Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34210.9.7 Grandezze relative all’interfaccia . . . . . . . . . . . . . . . . . . . . . 34410.9.8 Esistenza e unicità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

10.10 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

11 Cenni di programmazione degli elementi finiti . . . . . . . . . . . . . . . . . . . . . . 35111.1 Fasi operative di un codice a elementi finiti . . . . . . . . . . . . . . . . . . . . . 351

11.1.1 Due parole sul codice utilizzato . . . . . . . . . . . . . . . . . . . . . . . 35411.2 Calcolo numerico degli integrali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

11.2.1 Le coordinate baricentriche . . . . . . . . . . . . . . . . . . . . . . . . . . 35811.2.2 Alcuni esempi di formule di quadratura . . . . . . . . . . . . . . . . 360

11.3 Memorizzazione di matrici sparse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36111.4 La fase di assemblaggio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366

11.4.1 Codifica delle informazioni geometriche . . . . . . . . . . . . . . . 36811.4.2 Codifica delle informazioni funzionali . . . . . . . . . . . . . . . . . 37211.4.3 Mappatura tra elemento di riferimento e elemento fisico . . 37311.4.4 La costruzione dei sistemi locali e di quello globale . . . . . . 37711.4.5 La prescrizione delle condizioni al bordo . . . . . . . . . . . . . . . 381

11.5 L’integrazione in tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38411.6 Ed ora consideriamo un esempio completo . . . . . . . . . . . . . . . . . . . . . 387

12 Generazione di griglie in 1D e 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39712.1 La generazione di griglia in 1D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39712.2 Reticolazione di un dominio poligonale . . . . . . . . . . . . . . . . . . . . . . . . 40012.3 Generazione di griglie strutturate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40212.4 Generazione di griglie non strutturate . . . . . . . . . . . . . . . . . . . . . . . . . . 405

12.4.1 Triangolazione di Delaunay . . . . . . . . . . . . . . . . . . . . . . . . . . 40512.4.2 Tecnica di avanzamento del fronte . . . . . . . . . . . . . . . . . . . . 410

12.5 Tecniche di regolarizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41212.5.1 Scambio delle diagonali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41212.5.2 Spostamento dei nodi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414

Page 10: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

X Indice

13 Il metodo dei volumi finiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41713.1 Alcuni principi elementari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41813.2 La costruzione dei volumi di controllo per schemi vertex-centered . . 42013.3 Discretizzazione di un problema di diffusione-trasporto-reazione . . . 42313.4 Analisi dell’approssimazione ai volumi finiti . . . . . . . . . . . . . . . . . . . . 42513.5 Implementazione delle condizioni al bordo . . . . . . . . . . . . . . . . . . . . . 42613.6 Cenni alla discretizzazione delle equazioni di Navier-Stokes . . . . . . 427

14 Il metodo di decomposizione dei domini . . . . . . . . . . . . . . . . . . . . . . . . . . . 43114.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43114.2 Tre classici metodi iterativi basati su DD . . . . . . . . . . . . . . . . . . . . . . . 432

14.2.1 Il metodo di Schwarz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43214.2.2 Il metodo di Dirichlet-Neumann . . . . . . . . . . . . . . . . . . . . . . 43414.2.3 Il metodo di Neumann-Neumann . . . . . . . . . . . . . . . . . . . . . 43614.2.4 Il metodo di Robin-Robin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437

14.3 Formulazione multi-dominio del problema di Poisson ed equazionidi interfaccia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43714.3.1 L’operatore di Steklov-Poincaré . . . . . . . . . . . . . . . . . . . . . . 43814.3.2 Equivalenza tra il metodo di Dirichlet-Neumann e il

metodo di Richardson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44014.4 Approssimazione con elementi finiti del problema di Poisson e

formulazione per sotto-domini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44214.4.1 Il complemento di Schur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44514.4.2 L’operatore di Steklov-Poincaré discreto . . . . . . . . . . . . . . . 44614.4.3 Equivalenza tra il metodo di Dirichlet-Neumann e il

metodo di Richardson precondizionato: il caso algebrico . . 44814.5 Generalizzazione al caso di più sotto-domini . . . . . . . . . . . . . . . . . . . . 450

14.5.1 Alcuni risultati numerici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45314.6 Precondizionatori nel caso di più sotto-domini . . . . . . . . . . . . . . . . . . 454

14.6.1 Il precondizionatore di Jacobi . . . . . . . . . . . . . . . . . . . . . . . . 45514.6.2 Il precondizionatore di Bramble-Pasciak-Schatz . . . . . . . . . 45714.6.3 Il precondizionatore di Neumann-Neumann . . . . . . . . . . . . . 458

14.7 I metodi iterativi di Schwarz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46214.7.1 Forma algebrica dei metodi di Schwarz per una

discretizzazione ad elementi finiti . . . . . . . . . . . . . . . . . . . . . 46314.7.2 Il metodo di Schwarz come precondizionatore . . . . . . . . . . 46514.7.3 Metodi di Schwarz a due livelli . . . . . . . . . . . . . . . . . . . . . . . 469

14.8 Condizioni all’interfaccia per altri problemi differenziali . . . . . . . . . . 472

15 Introduzione al controllo ottimale per equazioni a derivate parziali . . . 47715.1 Definizione del problema di controllo ottimale . . . . . . . . . . . . . . . . . . 47715.2 Un problema di controllo per sistemi lineari . . . . . . . . . . . . . . . . . . . . 47915.3 Alcuni esempi di problemi di controllo ottimale per problemi ellittici 48015.4 Alcuni risultati per minimi di funzionali . . . . . . . . . . . . . . . . . . . . . . . 48115.5 La teoria del controllo ottimale per problemi ellittici . . . . . . . . . . . . . 484

Page 11: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Indice XI

15.6 Alcuni esempi di problemi di controllo . . . . . . . . . . . . . . . . . . . . . . . . 48815.6.1 Un problema di Dirichlet con controllo distribuito . . . . . . . 48815.6.2 Un problema di Neumann con controllo distribuito . . . . . . 48915.6.3 Un problema di Neumann con controllo di frontiera . . . . . . 490

15.7 Risoluzione di problemi inversi come problemi di controllo ottimale 49115.7.1 La teoria del controllo ottimale per problemi inversi . . . . . . 49215.7.2 Risolubilità dell’equazione di stato e dell’equazione

aggiunta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49415.8 Formulazione di problemi di controllo mediante lagrangiana . . . . . . 495

15.8.1 Ottimizzazione vincolata per funzioni in Rn . . . . . . . . . . . . 49515.8.2 L’approccio mediante Lagrangiana . . . . . . . . . . . . . . . . . . . . 496

15.9 Risoluzione del problema di controllo: il metodo iterativo . . . . . . . . . 49915.10 Alcune considerazioni su osservabilità e controllabilità . . . . . . . . . . . 50415.11 Due paradigmi di risoluzione: “discretizzare–poi–ottimizzare”

oppure “ottimizzare–poi–discretizzare” . . . . . . . . . . . . . . . . . . . . . . . . 50515.12 Approssimazione numerica di un problema di controllo ottimale

per equazioni di diffusione–trasporto . . . . . . . . . . . . . . . . . . . . . . . . . . 50715.12.1 Gli approcci: “ottimizzare–poi–discretizzare” e

“discretizzare–poi–ottimizzare” . . . . . . . . . . . . . . . . . . . . . . . 50915.12.2 Stima a posteriori dell’errore . . . . . . . . . . . . . . . . . . . . . . . . . 51015.12.3 Un problema test: controllo delle emissioni di inquinanti . . 513

Appendice A: Richiami di analisi funzionale . . . . . . . . . . . . . . . . . . . . . . . . . . . 517A.1 Funzionali e forme bilineari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517A.2 Differenziazione in spazi lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519A.3 Richiami sulle distribuzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521

A.3.1 Le funzioni a quadrato sommabile . . . . . . . . . . . . . . . . . . . . 523A.3.2 Derivazione nel senso delle distribuzioni . . . . . . . . . . . . . . . 524

A.4 Gli spazi di Sobolev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526A.4.1 Regolarità degli spazi Hk(Ω) . . . . . . . . . . . . . . . . . . . . . . . . . 527A.4.2 Lo spazio H10(Ω) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527A.4.3 Gli operatori di traccia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529

A.5 LospazioL∞(Ω)egli spaziLp(Ω)con1 ≤ p <∞ . . . . . . . . . . . . . . . 530A.6 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531

Appendice B: Algoritmi di risoluzione di sistemi lineari . . . . . . . . . . . . . . . . . 533B.1 Metodi diretti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533B.2 Metodi iterativi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536

Riferimenti bibliografici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543

Indice analitico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551

Page 12: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Prefazione

Queste note sono tratte dalle lezioni di “Metodi Numerici per l’Ingegneria” tenu-te presso il Politecnico di Milano e da quelle di “Analyse Numérique des Équa-tions aux Dérivées Partielles” svolte presso l’EPFL (École Polytechnique Fédéralede Lausanne).

Esse costituiscono una introduzione elementare alla modellistica numerica di pro-blemi differenziali alle derivate parziali, sia stazionari che evolutivi. L’enfasi è postasoprattutto su problemi lineari, ellittici, parabolici e iperbolici. Tuttavia si considera-no anche alcuni problemi non lineari, quali le leggi di conservazione e le equazioni diNavier-Stokes per la meccanica dei fluidi. Numerosi esempi di interesse fisico moti-vano i modelli differenziali che vengono illustrati. Di ognuna delle classi di problemiconsiderati si illustrano le principali proprietà matematiche e se ne fornisce la cosid-detta formulazione debole, o integrale, che sta alla base del metodo di Galerkin. Indi,come caso notevole del metodo di Galerkin, si introduce il metodo degli elementi finiti,dapprima per problemi ai limiti monodimensionali, quindi nel caso multidimensiona-le. Se ne analizzano le proprietà di stabilità e di convergenza, si illustrano gli aspettialgoritmici e quelli relativi alla implementazione su calcolatore. Altri metodi, quali ledifferenze finite ed i metodi spettrali, vengono pure considerati, nell’ambito della riso-luzione numerica di problemi specifici. Numerosi esercizi corredano i diversi capitoliallo scopo di fornire al lettore la possibilità di acquisire maggiore consapevolezza suiprincipali argomenti trattati.

Il testo è diviso in Capitoli, Sezioni e Sottosezioni. Il Capitolo 1 è dedicato adun breve richiamo delle equazioni alle derivate parziali ed alla loro classificazione.Nel Capitolo 2 vengono introdotte le equazioni ellittiche (quali i problemi di Laplacee Poisson) e la loro formulazione integrale per condizioni al bordo di tipo generale,dapprima nel caso monodimensionale, poi in quello multidimensionale. Il Capitolo 3è dedicato al metodo di approssimazione di Galerkin in generale ed al metodo deglielementi finiti in particolare. Nel Capitolo 4 si illustrano i metodi spettrali, ovverometodi di Galerkin con sottospazi di polinomi globali, e la loro generalizzazione aimetodi pseudo-spettrali (o di collocazione) da un lato ed al metodo degli elementi-spettrali dall’altro. Durante la lettura di questi capitoli il lettore troverà numerosi rinviialle Appendici. In particolare, nell’Appendice A si introducono alcuni elementari con-

Page 13: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

XIV Indice

cetti di analisi funzionale, di teoria delle distribuzioni e di spazi di Sobolev, necessariper una corretta comprensione della formulazione debole (o integrale) dei problemiai limiti. Nell’Appendice B si richiamano invece alcuni fra gli algoritmi più frequen-temente utilizzati per la risoluzione di sistemi lineari generati dalla discretizzazionedi problemi alle derivate parziali. Nel Capitolo 5 si introducono i problemi di diffu-sione e trasporto, si illustrano le difficoltà che derivano dalla presenza di strati limitenella soluzione e si discutono metodi di stabilizzazione, basati su differenze finite edelementi finiti con opportuna viscosità numerica. Il Capitolo 6 è dedicato ai problemiparabolici, descriventi processi di diffusione, per i quali si usano metodi di discretiz-zazione spaziale con elementi finiti e temporale con differenze finite. I Capitoli 7, 8 e9 riguardano i problemi iperbolici, inerenti fenomeni di propagazione di onde. Ci con-centreremo soprattutto sul caso dei problemi monodimensionali, al fine di analizzarein dettaglio le proprietà di dissipazione e di dispersione dei diversi schemi numericiche vengono considerati. Il Capitolo 10 è dedicato all’approssimazione delle equa-zioni di Navier-Stokes e ad una breve analisi dei problemi inerenti il soddisfacimentodel vincolo di incomprimibilità. Infine nei Capitoli 11 e 12 (scritti in collaborazionecon F. Saleri e L. Formaggia) si illustrano gli aspetti relativi alla programmazione delmetodo degli elementi finiti.

Questo testo è stato scritto per gli studenti di discipline scientifiche, interessati allamodellistica per la risoluzione numerica di problemi differenziali, ma può essere utileanche a ricercatori e studiosi desiderosi di avvicinarsi a questo interessante ramo dellamatematica applicata.

Milano e Losanna, marzo 2000 Alfio Quarteroni

In questa terza edizione sono stati riveduti ed ampliati tutti i Capitoli, ed in modo par-ticolare il quarto dedicato ai metodi spettrali, il sesto per ciò che concerne l’analisi diproblemi parabolici, l’ottavo relativamente all’approssimazione spettrale di problemiiperbolici, ed infine i Capitoli 11 e 12 concernenti gli aspetti implementativi del meto-do agli elementi finiti. In particolare, il Capitolo 11 è scritto in collaborazione con A.Veneziani e L. Formaggia e riporta esempi di programmazione in C++ (un linguaggioorientato agli oggetti). Si è inoltre aggiunto un breve Capitolo, il 13, sull’introduzioneal metodo dei volumi finiti.

Negli ultimi due anni sono usciti in questa stessa serie due monografie che posso-no essere considerate un importante compendio a questo testo: “Equazioni a derivateparziali. Metodi, modelli e applicazioni” di S. Salsa, in cui si introducono ed analiz-zano i problemi differenziali che vengono qui trattati, e “Applicazioni ed esercizi dimodellistica numerica per problemi differenziali” di L. Formaggia, F. Saleri e A. Ve-neziani, che a tutti gli effetti può considerarsi di supporto a questo testo per ciò checoncerne la risoluzione di problemi ed esercizi nonché per l’approfondimento delle

Page 14: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Indice XV

tecniche qui presentate. Segnaliamo anche il testo “Elementi di fluidodinamica” di G.Riccardi e D. Durante che, illustrando i modelli differenziali basilari della dinamicadei fluidi, può essere considerato come complementare ai Capitoli 9 e 10 inerenti lafluidodinamica numerica.

Vorrei ringraziare in modo particolare Simona Perotto per il suo contributo dav-vero determinante, ma anche Alessandro Veneziani, Nicola Parolini e Paola Gervasio.Infine, ringrazio Francesca Bonadei di Springer per il costante aiuto e gli innumerevoliconsigli finalizzati a migliorare questa nuova edizione.

Milano e Losanna, 9 luglio 2006 Alfio Quarteroni

In questa quarta edizione sono stati aggiunti due nuovi capitoli, il Capitolo 14 sulmetodo di decomposizione dei domini e il Capitolo 15 sui problemi di controllo perequazioni alle derivate parziali.

Ringrazio Luca Dedé, Marco Discacciati, Nicola Parolini, Simona Perotto, Chri-stoph Winkelmann e, in modo particolare, Luca Paglieri e Francesca Bonadei.

Milano e Losanna, agosto 2008 Alfio Quarteroni

Page 15: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

1

Richiami sulle equazioni alle derivate parziali

Scopo di questo capitolo è quello di richiamare i concetti di base relativi alle equazionialle derivate parziali (in breve EDP). Per una più ampia trattazione si vedano [PS91],[RR04], [Pro94], [Col76], [Joh82], [Sal08].

1.1 Definizioni ed esempi

Le equazioni alle derivate parziali sono equazioni differenziali contenenti deriva-te della funzione incognita rispetto a più variabili (temporali o spaziali). In parti-colare, indicata con u la funzione incognita nelle d + 1 variabili indipendenti x =(x1, . . . , xd)

T e t, denoteremo con

P(u, g)=F

(x, t, u,

∂u

∂t,∂u

∂x1, . . . ,

∂u

∂xd, . . . ,

∂p1+···+pd+ptu

∂xp11 . . . ∂xpdd ∂tpt, g

)= 0 (1.1)

una generica EDP, essendo g l’insieme dei dati dai quali dipenderà la EDP, mentrep1, . . . , pd, pt ∈ N.

Diremo che la (1.1) è di ordine q, se q è l’ordine massimo delle derivate parzialiche vi compaiono, ovvero il massimo valore assunto da p1 + p2 + . . .+ pd + pt.Se la (1.1) dipende linearmente dall’incognitau e dalle sue derivate, l’equazione verràdetta lineare. Nel caso particolare in cui le derivate di ordine massimo compaiano sololinearmente (con coefficienti che possono dipendere da derivate di ordine inferiore),l’equazione si dirà quasi-lineare. Si dirà semi-lineare se è quasi-lineare ed i coefficien-ti delle derivate di ordine massimo dipendono solo da x e t, ma non dalla soluzione u.Infine se nell’equazione non compaiono termini indipendenti dalla funzione incognitau, la EDP si dice omogenea.

Elenchiamo nel seguito alcuni esempi di EDP che si incontrano frequentementenelle scienze applicate.

Esempio 1.1 Un’equazione lineare del prim’ordine è l’equazione di trasporto (o di convezione)

∂u

∂t+∇ · (βu) = 0, (1.2)

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 16: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

2 1 Richiami sulle equazioni alle derivate parziali

avendo indicato con

∇ · v= div(v) =d∑i=1

∂vi

∂xi, v = (v1, . . . , vd)

T ,

l’operatore divergenza. La (1.2), integrata su una regione Ω ⊂ Rd, esprime la conservazionedella massa di un sistema materiale che occupa la regione Ω. La variabile u è la densità delsistema, mentre β(x, t) è la velocità posseduta da una particella del sistema che all’istante toccupa la posizione x. �

Esempio 1.2 Equazioni lineari del second’ordine sono l’equazione del potenziale

−Δu = f, (1.3)

che descrive la diffusione di un fluido in una regione Ω ⊂ Rd omogenea ed isotropa, ma anchelo spostamento verticale di una membrana elastica, l’equazione del calore (o di diffusione)

∂u

∂t−Δu = f (1.4)

e l’equazione delle onde

∂2u

∂t2−Δu = 0. (1.5)

Abbiamo denotato con

Δu=

d∑i=1

∂2u

∂x2i(1.6)

l’operatore di Laplace (o laplaciano). �

Esempio 1.3 Un esempio di equazione quasi-lineare del prim’ordine è dato dall’equazione diBurgers

∂u

∂t+ u∂u

∂x1= 0,

mentre la sua variante ottenuta aggiungendo una perturbazione del second’ordine

∂u

∂t+ u∂u

∂x1= ε∂2u

∂x21, ε > 0,

fornisce un esempio di equazione semi-lineare.Un’equazione non lineare, sempre del second’ordine, è(

∂2u

∂x21

)2+

(∂2u

∂x22

)2= f.

Page 17: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

1.2 Necessità della risoluzione numerica 3

Una funzione u = u(x1, . . . , xd, t) è una soluzione od un integrale particolare della(1.1), se, sostituita nella (1.1) assieme con tutte le sue derivate, rende la (1.1) unaidentità. L’insieme di tutte le soluzioni della (1.1) si chiama l’integrale generale.

Esempio 1.4 L’equazione del trasporto nel caso monodimensionale,

∂u

∂t− ∂u∂x1

= 0, (1.7)

ammette un integrale generale della forma u = w(x1 + t), essendo w una funzione arbi-traria sufficientemente regolare (si veda l’Esercizio 2). Analogamente, l’equazione delle ondemonodimensionale

∂2u

∂t2− ∂

2u

∂x21= 0 (1.8)

ammette come integrale generale

u(x1, t) = w1(x1 + t) +w2(x1 − t),

essendow1 e w2 due funzioni arbitrarie, sufficientemente regolari (si veda l’Esercizio 3). �

Esempio 1.5 Consideriamo l’equazione del calore monodimensionale

∂u

∂t− ∂

2u

∂x21= 0,

per 0 < x < 1 e t > 0, con condizioni al contorno

u(0, t) = u(1, t) = 0, t > 0

e la condizione iniziale u|t=0 = u0. La soluzione è

u(x1, t) =∞∑j=1

u0,je−(jπ)2t sin(jπx1),

dove u0 = u|t=0 è il dato iniziale e

u0,j = 2

1∫0

u0(x1) sin(jπx1) dx1, j = 1, 2, . . .

�1.2 Necessità della risoluzione numerica

In generale, non è possibile ricavare per via analitica una soluzione della (1.1). Ineffetti, i metodi di integrazione analitica disponibili (come la tecnica di separazionedelle variabili) sono di limitata applicabilità. Peraltro, anche nel caso in cui si conoscaun integrale generale, non è poi detto che si riesca a determinare un integrale partico-lare. Per ottenere quest’ultimo bisognerà infatti assegnare opportune condizioni su u(e/o sulle sue derivate) alla frontiera del dominio Ω.

Page 18: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4 1 Richiami sulle equazioni alle derivate parziali

Dagli esempi forniti appare d’altra parte evidente che l’integrale generale dipendeda alcune funzioni arbitrarie (e non da costanti arbitrarie, come accade per le equa-zioni differenziali ordinarie), di modo che l’imposizione delle condizioni comporteràla risoluzione di problemi matematici, in generale, estremamente complicati. Di con-seguenza, da un punto di vista teorico, ci si deve spesso accontentare di studiare solol’esistenza e l’unicità della soluzione di una EDP.

Da ciò segue l’importanza di disporre di metodi numerici che permettano di co-struire un’approssimazione uN della soluzione esatta u e di stimare (in una qualchenorma) l’errore uN −u che si commette sostituendo alla soluzione esatta u la soluzio-ne approssimata uN . L’intero positivo N denota la dimensione (finita) del problemaapprossimato. Schematicamente, otterremo la situazione seguente:

P(u, g) = 0

PN (uN , gN) = 0

EDP esatta

[metodi numerici]

EDP approssimata

avendo indicato con gN una approssimazione dell’insieme dei dati g dai quali di-pende la EDP, e con PN la nuova relazione funzionale che caratterizza il problemaapprossimato. Per semplicità si può porre: u = u(g), uN = uN (gN).

Presenteremo diversi metodi numerici a partire dal Cap. 3. Ci limitiamo qui aricordarne le principali caratteristiche. Un metodo numerico è convergente se

‖u− uN‖ → 0 per N →∞in una norma opportuna. Più precisamente si ha convergenza se e solo se

∀ε > 0 ∃N0(ε) > 0, ∃δ(N0, ε) : ∀N > N0(ε), ∀gN t.c. ‖g − gN‖ < δ(N0, ε)

⇒ ‖u(g) − uN (gN)‖ ≤ ε.

(La norma usata per i dati non è necessariamente la stessa usata per le soluzioni.)Verificare direttamente la convergenza di un metodo numerico può non essere agevole.Conviene piuttosto passare ad una verifica delle proprietà di consistenza e di stabilità.

Un metodo numerico si dice consistente se

PN (u, g)→ 0 per N →∞, (1.9)

e fortemente consistente se

PN(u, g) = 0 ∀N. (1.10)

Si noti che (1.9) si può formulare in modo equivalente come

PN (u, g)−P(u, g)→ 0 per N →∞.

Ciò esprime la proprietà chePN (la EDP approssimata) “tende” aP (quella esatta) perN →∞. Diciamo invece che un metodo numerico è stabile se a piccole perturbazionisui dati corrispondono piccole perturbazioni sulla soluzione, ovvero

∀ε > 0 ∃δ = δ(ε) > 0 : ∀δgN : ‖δgN‖ < δ ⇒ ‖δuN‖ ≤ ε, ∀N,

Page 19: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

1.3 Classificazione delle EDP 5

essendo uN + δuN la soluzione del problema perturbato

PN(uN + δuN , gN + δgN) = 0.

(Si veda [QSS08, Cap. 2] per approfondimenti.)Il risultato fondamentale, noto come teorema di equivalenza, garantisce infine che

Teorema 1.1 Se un metodo è consistente, allora è convergente se e solo se èstabile.

Nella scelta di un metodo numerico interverranno ovviamente anche altre caratteristi-che, quali ad esempio la velocità di convergenza (ovvero l’ordine rispetto ad 1/N concui l’errore tende a zero) ed il costo computazionale, ovvero il tempo di calcolo e lamemoria richiesta per l’implementazione del metodo stesso su calcolatore.

1.3 Classificazione delle EDP

Le equazioni differenziali possono essere classificate in base alla loro formulazionematematica in tre famiglie diverse: equazioni ellittiche, paraboliche ed iperboliche,per ognuna delle quali si considerano metodi numerici specifici. Limitiamoci al casodi EDP del second’ordine lineari, a coefficienti costanti, della forma

Lu=A∂2u

∂x21+ B

∂2u

∂x1∂x2+C

∂2u

∂x22+D

∂u

∂x1+E

∂u

∂x2+ Fu = G, (1.11)

con G funzione assegnata e A,B, C,D, E, F ∈ R. (Si noti che una qualunque dellevariabili xi potrebbe rappresentare la variabile temporale.) In tal caso, la classifica-zione si effettua in base al segno del cosiddetto discriminante, �=B2 − 4AC . Inparticolare:

se� < 0 l’equazione si dice ellittica,se� = 0 l’equazione si dice parabolica,se� > 0 l’equazione si dice iperbolica.

Esempio 1.6 L’equazione delle onde (1.8) è iperbolica, mentre l’equazione del potenziale (1.3)è ellittica. Un esempio di problema parabolico è dato dall’equazione del calore (1.4), ma anchedalla seguente equazione di diffusione-trasporto

∂u

∂t− μΔu+∇ · (βu) = 0

in cui la costante μ > 0 e il campo vettoriale β sono assegnati. �

Il criterio introdotto fa dipendere la classificazione dai soli coefficienti delle deriva-te di ordine massimo e si giustifica con il seguente argomento. Come si ricorderà,l’equazione algebrica quadratica

Ax21 +Bx1x2 +Cx22 +Dx1 +Ex2 + F = G,

Page 20: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

6 1 Richiami sulle equazioni alle derivate parziali

rappresenta nel piano cartesiano (x1, x2) un’iperbole, una parabola od un’ellisse aseconda che � sia positivo, nullo o negativo. Questo parallelo con le coniche motivail nome attribuito alle tre classi di operatori alle derivate parziali.

Indaghiamo più attentamente le differenze tra le tre classi. Supponiamo, senza checiò sia restrittivo, che D, E, F e G siano nulli. Cerchiamo un cambio di variabili dellaforma

ξ = αx2 + βx1, η = γx2 + δx1, (1.12)

con α, β, γ e δ da scegliersi in modo che Lu diventi multiplo di ∂2u/∂ξ∂η. Essendo

Lu = (Aβ2 +Bαβ + Cα2)∂2u

∂ξ2

+(2Aβδ +B(αδ + βγ) + 2Cαγ)∂2u

∂ξ∂η+ (Aδ2 +Bγδ +Cγ2)

∂2u

∂η2,

(1.13)

si dovrà richiedere che

Aβ2 +Bαβ + Cα2 = 0, Aδ2 +Bγδ + Cγ2 = 0. (1.14)

Se A = C = 0, la trasformazione banale ξ = x2, η = x1 (ad esempio) fornisce Lunella forma desiderata.

Supponiamo allora che A o C siano non nulli. Non è restrittivo supporre A �= 0.Allora se α �= 0 e γ �= 0, possiamo dividere la prima equazione della (1.14) per α2 ela seconda per γ2. Troviamo due equazioni quadratiche identiche per le frazioni β/αe δ/γ. Risolvendole, si ha

β

α=1

2A

[−B ±

√�],

δ

γ=1

2A

[−B ±

√�].

Affinché la trasformazione (1.12) sia non singolare, i quozienti β/α e δ/γ devono es-sere diversi. Dobbiamo pertanto prendere il segno positivo in un caso, quello negativonell’altro. Inoltre dobbiamo assumere � > 0. Se � fosse nullo infatti le due frazionisarebbero ancora coincidenti, mentre se � fosse negativo nessuna delle due frazio-ni potrebbe essere reale. In conclusione, possiamo prendere come coefficienti dellatrasformazione (1.12) i valori seguenti:

α = γ = 2A, β = −B +√�, δ = −B −

√�.

Corrispondentemente, la (1.12) diventa

ξ = 2Ax2 +[−B +

√�]x1, η = 2Ax2 +

[−B −

√�]x1,

ed il problema differenziale originario Lu = 0 trasformato diventa

Lu= − 4A� ∂2u

∂ξ∂η= 0. (1.15)

Page 21: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

1.3 Classificazione delle EDP 7

Il caso A = 0 e C �= 0 può essere trattato in modo analogo prendendo ξ = x1,η = x2 − (C/B)x1.Concludendo, Lu può diventare un multiplo di ∂2u/∂ξ∂η secondo la trasformazione(1.12) se e solo se� > 0 ed in tal caso, come abbiamo anticipato, il problema è dettoiperbolico. È facile verificare che la soluzione generale del problema (1.15) è

u = p(ξ) + q(η),

essendo p e q funzioni differenziabili di una variabile, arbitrarie. Le linee ξ =costante e η = costante sono dette le caratteristiche di L e sono caratterizzate dalfatto che su di esse le funzioni p e q, rispettivamente, si mantengono costanti. In parti-colare, eventuali discontinuità della soluzione u si propagano lungo le caratteristiche(lo si vedrà più in dettaglio nel Cap. 7). In effetti, se A �= 0, identificando x1 con t ex2 con x, la trasformazione

x′ = x− B

2At, t′ = t,

trasforma l’operatore iperbolico

Lu = A∂2u

∂t2+B

∂2u

∂t∂x+ C

∂2u

∂x2

in un multiplo dell’operatore delle onde

Lu =∂2u

∂t2− c2

∂2u

∂x2, con c2 =�/4A2.

Dunque L è l’operatore delle onde in un sistema di coordinate che si muove con velo-cità−B/2A. Le caratteristiche dell’operatore delle onde sono le linee che verificano(

dt

dx

)2=1

c2,

ovvero

dt

dx=1

ce

dt

dx= −1

c.

Se invece � = 0, come detto, L è parabolico. In tal caso esiste un solo valoredi β/α in corrispondenza del quale il coefficiente di ∂2u/∂ξ2 in (1.13) si annul-la. Precisamente, β/α = −B/(2A). Peraltro, essendo B/(2A) = 2C/B, questascelta comporta anche che il coefficiente di ∂2u/∂ξ∂η si annulli. Di conseguenza, latrasformazione

ξ = 2Ax2 − Bx1, η = x1,

trasforma il problema originario Lu = 0 nel seguente

Lu =A∂2u

∂η2= 0,

Page 22: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8 1 Richiami sulle equazioni alle derivate parziali

la cui soluzione generale ha la forma

u = p(ξ) + ηq(ξ).

Un operatore parabolico ha dunque solo una famiglia di caratteristiche, precisa-mente ξ = costante. Le discontinuità nelle derivate di u si propagano lungo talicaratteristiche.Infine, se � < 0 (operatori ellittici) non esiste alcuna scelta di β/α o δ/γ che rendanulli i coefficienti ∂2u/∂ξ2 e ∂2u/∂η2. Tuttavia, la trasformazione

ξ =2Ax2 − Bx1√

−� , η = x1,

trasforma Lu= 0 in

Lu = A

(∂2u

∂ξ2+

∂2u

∂η2

)= 0,

ossia in un multiplo dell’equazione del potenziale. Essa non ha perciò alcuna famigliadi caratteristiche.

1.3.1 Forma quadratica associata ad una EDP

All’equazione (1.11) si può associare il cosiddetto simbolo principale Sp definito da

Sp(x,q)= − A(x)q21 − B(x)q1q2 −C(x)q22 .

Questa forma quadratica si può rappresentare in forma matriciale come segue:

Sp(x,q) = qT

⎡⎢⎣ −A(x) − 12B(x)

−12B(x) −C(x)

⎤⎥⎦q. (1.16)

Una forma quadratica è detta definita se la matrice associata ha autovalori tutti del-lo stesso segno (positivi o negativi); è indefinita se la matrice ha autovalori di entrambii segni; è degenere se la matrice è singolare.Si può allora dire che l’equazione (1.11) è ellittica se la forma quadratica (1.16) èdefinita (positiva o negativa), iperbolica se è indefinita, parabolica se è degenere.

Le matrici associate all’equazione del potenziale (1.3), del calore (1.4) (in unadimensione) e delle onde (1.5) sono date rispettivamente da[

1 00 1

],

[0 00 1

]e

[−1 00 1

]e sono definita positiva nel primo caso, singolare nel secondo, indefinita nel terzo.

Page 23: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

1.4 Esercizi 9

1.4 Esercizi

1. Si classifichino, in base all’ordine ed alla linearità, le seguenti equazioni:

(a)

[1 +

(∂u

∂x1

)2]∂2u

∂x22− 2 ∂u

∂x1

∂u

∂x2

∂2u

∂x1∂x2+

[1 +

(∂u

∂x2

)2]∂2u

∂x21= 0,

(b) ρ∂2u

∂t2+K

∂4u

∂x41= f,

(c)

(∂u

∂x1

)2+

(∂u

∂x2

)2= f.

[Soluzione: (a) quasi-lineare, del second’ordine; si tratta dell’equazione di Plateauche regola, sotto opportune ipotesi, il moto piano di un fluido. La u che compare èil cosiddetto potenziale cinetico; (b) lineare, del quart’ordine. È l’equazione dellaverga vibrante, ρ è la densità della verga, mentre K è una quantità positiva chedipende dalle caratteristiche geometriche della verga stessa; (c) non lineare, delprim’ordine.]

2. Si riduca l’equazione del trasporto monodimensionale (1.7) ad una equazione del-la forma ∂w/∂y = 0, avendo posto y = x1 − t e si ricavi che u = w(x1 + t) èsoluzione dell’equazione di partenza.[Soluzione: si effettui il cambio di variabili z = x1 + t, y = x1 − t, u(x1, t) =w(y, z). In tal modo ∂u/∂x1 = ∂w/∂z + ∂w/∂y, mentre ∂u/∂t = ∂w/∂z −∂w/∂y, e dunque,−2∂w/∂y = 0. Si osservi a questo punto che l’equazione cosìottenuta ammette una soluzione w(y, z) che non dipende da y e dunque, usandole variabili originarie, u = w(x1 + t).]

3. Si dimostri che l’equazione delle onde

∂2u

∂t2− c2

∂2u

∂x21= 0,

con c costante, ammette come soluzione u(x1, t) = w1(x1 + ct) + w2(x1 − ct),con w1, w2 due funzioni arbitrarie sufficientemente regolari.[Soluzione: si proceda come nell’Esercizio 2, impiegando il cambio di variabiliy = x1 + ct, z = x1 − ct e ponendo u(x1, t) = w(y, z).]

4. Si verifichi che l’equazione di Korteveg-de-Vries

∂u

∂t+ β

∂u

∂x1+ α

∂3u

∂x31= 0,

ammette l’integrale generale della forma u = a cos(kx1−ωt) con ω opportuno dadeterminarsi, a, β ed α costanti assegnate. Questa equazione descrive la posizioneu di un fluido rispetto ad una posizione di riferimento, in presenza di propagazionedi onde lunghe.[Soluzione: la u data soddisfa l’equazione solo se ω = kβ − αk3.]

Page 24: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10 1 Richiami sulle equazioni alle derivate parziali

5. Si consideri l’equazione

x21∂2u

∂x21− x22

∂2u

∂x22= 0

con x1x2 �= 0. La si classifichi e si determino le linee caratteristiche.6. Si consideri la generica equazione differenziale semi-lineare del second’ordine

a(x1, x2)∂2u

∂x21+ 2b(x1, x2)

∂2u

∂x1∂x2+ c(x1, x2)

∂2u

∂x22+ f(u,∇u) = 0,

essendo ∇u =( ∂u

∂x1,∂u

∂x2

)Til gradiente di u. Si scriva l’equazione delle li-

nee caratteristiche e si deduca da essa la classificazione dell’equazione proposta,commentando le varie situazioni.

7. Si ponga r(x) = |x| = (x21+x22)1/2 e si definisca u(x) = ln(r(x)), x ∈ R2\{0}.

Si verifichi che

Δu(x) = 0, x ∈ Ω,

dove Ω è un qualunque insieme aperto tale che Ω ⊂ R2\{0}.[Soluzione: si osservi che

∂2u

∂x2i=1

r2

(1− 2x

2i

r2

), i = 1, 2.]

Page 25: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

2

Equazioni di tipo ellittico

Questo capitolo è dedicato all’introduzione di problemi ellittici ed alla loro formula-zione debole. Pur essendo la nostra trattazione alquanto elementare, prima di affron-tarne la lettura, il lettore che fosse completamente a digiuno di conoscenze di AnalisiFunzionale è invitato a consultare l’Appendice A.

2.1 Un esempio di problema ellittico: l’equazione di Poisson

Si consideri un dominio (ovvero un insieme aperto) Ω ⊂ R2 limitato e connesso esia ∂Ω la sua frontiera. Denoteremo con x la coppia di variabili spaziali (x1, x2). Ilproblema oggetto del nostro esame è

−Δu = f in Ω, (2.1)

dove f = f(x) è una funzione assegnata e il simbolo Δ denota l’operatore laplaciano(1.6) in due dimensioni. La (2.1) è un’equazione ellittica del second’ordine, lineare,non omogenea (se f �= 0). Chiameremo la (2.1) la formulazione forte dell’equazionedi Poisson. Ricordiamo inoltre che, nel caso in cui f = 0, l’equazione (2.1) è notacome equazione di Laplace.

Fisicamente u può rappresentare lo spostamento verticale di una membrana elasti-ca dovuto all’applicazione di una forza di intensità pari ad f , oppure la distribuzionedi potenziale elettrico dovuta ad una densità di carica elettrica f .

Per avere un’unica soluzione, alla (2.1) vanno aggiunte delle opportune condizionial contorno, occorrono cioè delle informazioni relative al comportamento della solu-zione u sulla frontiera ∂Ω del dominio. Si può ad esempio assegnare il valore dellospostamento u sul bordo

u = g su ∂Ω, (2.2)

dove g è una funzione assegnata, ottenendo un problema di Dirichlet. Il caso in cuig = 0 si dice omogeneo.

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 26: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

12 2 Equazioni di tipo ellittico

In alternativa si può imporre il valore della derivata normale di u

∇u · n = ∂u

∂n= h su ∂Ω,

essendo n la normale uscente ad Ω e h una funzione assegnata. Il problema associatosi dice problema di Neumann e , nel caso del problema della membrana, corrispondead aver imposto la trazione al bordo della membrana stessa. Anche stavolta il casoh = 0 si dirà omogeneo.

Si possono infine assegnare su porzioni diverse del bordo del dominio computa-zionale Ω, condizioni di tipo diverso. Ad esempio, supponendo che ∂Ω = ΓD ∪ ΓN

con◦ΓD ∩

◦ΓN = ∅, si possono imporre le condizioni{

u = g su ΓD,∂u

∂n= h su ΓN .

Si è utilizzata la notazione◦Γ per indicare l’interno di Γ . Si dice in tal caso che il

problema associato è di tipo misto.Anche nel caso di Dirichlet omogeneo in cui f sia una funzione continua in Ω (la

chiusura di Ω), non è detto che il problema (2.1), (2.2) ammetta soluzione regolare.Ad esempio, se Ω = (0, 1) × (0, 1) e f = 1, u non potrebbe appartenere allo spazioC2(Ω). Infatti, se così fosse, avremmo

−Δu(0, 0) = −∂2u

∂x21(0, 0)− ∂2u

∂x22(0, 0) = 0

in quanto le condizioni al bordo imporrebbero u(x1, 0) = u(0, x2) = 0 per ognix1, x2 ∈ [0, 1]. Dunque u non potrebbe verificare l’equazione (2.1), ovvero

−Δu = 1 in (0, 1)× (0, 1).

In conclusione, anche se f ∈ C0(Ω), non ha senso in generale cercare una soluzioneu ∈ C2(Ω) del problema (2.1), (2.2), mentre si hanno maggiori probabilità di trovareuna soluzione u ∈ C2(Ω) ∩ C0(Ω) (uno spazio più grande di C2(Ω) !).

Siamo pertanto interessati a trovare una formulazione alternativa a quella forteanche perché, come vedremo nella prossima sezione, essa non consente di trattarealcuni casi fisicamente significativi. Ad esempio, non è detto che, in presenza di datipoco regolari, la soluzione fisica stia nello spazio C2(Ω) ∩ C0(Ω), e nemmeno inC1(Ω) ∩ C0(Ω).

2.2 Il problema di Poisson nel caso monodimensionale

Al fine di introdurre la forma debole di un problema differenziale, iniziamo adoccuparci di un problema ai limiti in una dimensione.

Page 27: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

2.2 Il problema di Poisson nel caso monodimensionale 13

2.2.1 Problema di Dirichlet omogeneo

Consideriamo il problema di Dirichlet omogeneo nel caso monodimensionale:

{−u′′(x) = f(x), 0 < x < 1,u(0) = 0, u(1) = 0.

(2.3)

In tal caso Ω è l’intervallo (0, 1). Questo problema governa, ad esempio, la configu-razione di equilibrio di un filo elastico con tensione pari ad uno, fissato agli estremi,in regime di piccoli spostamenti e soggetto ad una forza trasversale di intensità f . Laforza complessiva agente sul tratto (0, x) del filo è

F (x) =

∫ x0

f(t)dt.

La funzione u descrive lo spostamento verticale del filo rispetto alla posizione diriposo u = 0.

La formulazione forte (2.3) non è in generale adeguata. Se si considera, ad esem-pio, il caso in cui il filo elastico sia sottoposto ad un carico concentrato in uno o piùpunti (in tal caso f è rappresentabile attraverso delle “delta” di Dirac), la soluzionefisica esiste ed è continua, ma non derivabile. Si vedano i grafici di Fig. 2.1, dove è

u(x)

1

−1

0.5

0.25

10.5

0

0

x

x

−0.4

1

−1

1

0

0

x

x

u(x)

0.4 0.6

0.4 0.6

Figura 2.1. A sinistra viene riportata la configurazione di equilibrio del filo corrispondente alcarico unitario concentrato in x = 0.5, rappresentato nella parte superiore della figura. A destraquella relativa a due carichi unitari concentrati in x = 0.4 e x = 0.6, rappresentati sempre nellaparte superiore

Page 28: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14 2 Equazioni di tipo ellittico

0

f(x)

−1

10

x

x

u(x)

0.4 0.6

−0.01−0.02−0.03−0.04−0.05

0.4 0.6 1

Figura 2.2. Spostamento relativo al carico discontinuo rappresentato nella parte superiore dellafigura

considerato il caso di un carico unitario concentrato nel solo punto x = 0.5 (a sinistra)e nei due punti x = 0.4 e x = 0.6 (a destra). Queste funzioni non possono essere solu-zioni della (2.3), in quanto quest’ultima richiederebbe alla soluzione di essere dotatadi derivata seconda continua. Analoghe considerazioni valgono nel caso in cui f siauna funzione costante a tratti. Ad esempio, nel caso rappresentato in Fig. 2.2 di uncarico nullo fuorché nell’intervallo [0.4, 0.6] in cui esso vale−1, la soluzione esatta èsolo di classe C1([0, 1]), essendo data da

u(x) =

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩− 110

x per x ∈ [0, 0.4],1

2x2 − 1

2x+

2

25per x ∈ [0.4, 0.6],

− 110(1 − x) per x ∈ [0.6, 1].

Serve dunque una formulazione del problema alternativa a quella forte che consenta diridurre l’ordine di derivazione richiesto sulla soluzione incognita u. Passeremo da unproblema differenziale del secondo ordine ad uno in forma integrale del primo ordine,che sarà chiamato la formulazione debole del problema differenziale.

Operiamo a tale scopo alcuni passaggi formali nella (2.3), senza preoccuparcia questo stadio del fatto che tutte le operazioni che in essi compariranno siano le-cite. Moltiplichiamo innanzitutto l’equazione (2.3) per una funzione test v (per oraarbitraria) ed integriamo sull’intervallo (0, 1),

−u′′v = fv ⇒ −1∫0

u′′v dx =

1∫0

fv dx.

Page 29: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

2.2 Il problema di Poisson nel caso monodimensionale 15

Applichiamo la formula di integrazione per parti al primo integrale, con lo scopo dieliminare la derivata seconda, in modo da poter richiedere alla soluzione una minoreregolarità. Si trova

−1∫0

u′′v dx =

1∫0

u′v′ dx− [u′v]10.

Essendo u nota al bordo possiamo considerare solo funzioni test che si annullano agliestremi dell’intervallo, annullando così il contributo dei termini di bordo. In tal modol’equazione diviene

1∫0

u′v′ dx =

1∫0

fv dx. (2.4)

Lo spazio delle funzioni test V dovrà pertanto essere tale che

se v ∈ V allora v(0) = v(1) = 0.

Si osservi che la soluzione u, essendo nulla al bordo ed avendo gli stessi requisiti diregolarità delle funzioni test, verrà cercata anch’essa nello stesso spazio V .

Restano ora da precisare i requisiti di regolarità cui deve soddisfare lo spazio V , inmodo che tutte le operazioni introdotte abbiano senso. Evidentemente se u e v appar-tenessero a C1([0, 1]), avremmo u′, v′ ∈ C0([0, 1]) e quindi l’integrale che comparea primo membro della (2.4) avrebbe senso. Gli esempi di Fig. 2.1 ci dicono però chele soluzioni fisiche potrebbero non essere derivabili con continuità: dobbiamo quin-di richiedere una regolarità inferiore. Inoltre, anche quando f ∈ C0([0, 1]), non vi ècertezza che il problema ammetta soluzioni nello spazio

V = {v ∈ C1([0, 1]) : v(0) = v(1) = 0}. (2.5)

Ciò è imputabile al fatto che tale spazio vettoriale, quando lo si munisce del prodottoscalare

[u, v]1 =

1∫0

u′v′dx, (2.6)

non è uno spazio completo, ovvero non tutte le successioni di Cauchy a valori in Vconvergono ad un elemento di V . (Si verifichi per esercizio che (2.6) è effettivamenteun prodotto scalare.)

Procediamo allora come segue. Ricordiamo la definizione degli spazi Lp dellefunzioni a potenza p-esima integrabile secondo Lebesgue (si veda l’Appendice A).Per 1 ≤ p <∞

Lp(0, 1)={v : (0, 1) �→ R t.c. ‖v‖Lp(0,1)=(∫ 10

|v(x)|p dx

)1/p< +∞}.

Page 30: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

16 2 Equazioni di tipo ellittico

Dato che si vuole che l’integrale∫ 10 u′v′ dx sia ben definito, la richiesta minima su

u′ e v′ è che il prodotto u′v′ stia in L1(0, 1). A questo proposito, vale la seguenteproprietà:

Proprietà 2.1 Date due funzioni ϕ, ψ : (0, 1)→ R, se

ϕ2, ψ2 sono integrabili allora ϕψ è integrabile

ossia

ϕ, ψ ∈ L2(0, 1) =⇒ ϕψ ∈ L1(0, 1).

Questo risultato è conseguenza diretta della disuguaglianza di Cauchy-Schwarz:∣∣∣∣∣∣1∫0

ϕ(x)ψ(x) dx

∣∣∣∣∣∣ ≤ ‖ϕ‖L2(0,1)‖ψ‖L2(0,1), (2.7)

dove

‖ϕ‖L2(0,1) =√√√√∫Ω

|ϕ(x)|2dx (2.8)

è la norma di ϕ in L2(0, 1) . Poiché ‖ϕ‖L2(0,1), ‖ψ‖L2(0,1) <∞ per ipotesi, ciò provache esiste (finito) anche l’integrale di ϕψ.

Per dare un significato agli integrali che compaiono nella (2.4) bastano dunque fun-zioni a quadrato integrabile con derivate a quadrato integrabile. Definiamo pertanto lospazio di Sobolev

H1(0, 1)={v ∈ L2(0, 1) : v′ ∈ L2(0, 1)}.

La derivata è da intendere nel senso delle distribuzioni (si veda l’Appendice A).Scegliamo dunque come spazio V il seguente sottospazio di H1(0, 1),

H10(0, 1)={v ∈ H1(0, 1) : v(0) = v(1) = 0},

costituito dalle funzioni di H1(0, 1) che sono nulle agli estremi dell’intervallo. Sesupponiamo f ∈ L2(0, 1) anche l’integrale a secondo membro della (2.4) ha senso. Ilproblema (2.3) viene dunque ricondotto al seguente problema integrale,

trovare u ∈ V :

1∫0

u′v′ dx =

1∫0

fv dx ∀v ∈ V, (2.9)

con V = H10(0, 1).

Page 31: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

2.2 Il problema di Poisson nel caso monodimensionale 17

Osservazione 2.1 Lo spazio H10(0, 1) risulta essere la chiusura, rispetto al prodottoscalare (2.6), dello spazio definito nella (2.5).Le funzioni di H1(0, 1) non sono necessariamente derivabili in senso classico, cioèH1(0, 1) �⊂ C1([0, 1]). Ad esempio, funzioni continue a tratti con raccordi a spigoloappartengono ad H1(0, 1) ma non a C1([0, 1]). Sono dunque contemplate anche lesoluzioni continue, ma non derivabili, degli esempi precedenti. •

Il problema debole (2.9) risulta equivalente ad un problema variazionale, in virtùdel seguente risultato:

Teorema 2.1 Il problema:

trovare u ∈ V :

⎧⎪⎪⎪⎨⎪⎪⎪⎩J(u) = min

v∈VJ(v) con

J(v)=1

2

1∫0

(v′)2 dx−1∫0

fv dx,(2.10)

è equivalente al problema (2.9), nel senso che u è soluzione di (2.9) se e solo seu è soluzione di (2.10).

Dimostrazione. Si supponga che u sia soluzione del problema variazionale (2.10).Allora, ponendo v = u+ δw, con δ ∈ R, si ha che

J(u) ≤ J(u + δw) ∀w ∈ V.

La funzione ψ(δ) = J(u+ δw) è una funzione quadratica in δ con minimo raggiuntoper δ = 0. Pertanto

ψ′(δ)∣∣∣δ=0=

∂J(u+ δw)

∂δ

∣∣∣δ=0= 0.

Per definizione di derivata si ha

∂J(u + δw)

∂δ= limδ→0

J(u + δw)− J(u)

δ∀w ∈ V.

Consideriamo il termine J(u + δw):

J(u + δw) =1

2

1∫0

[(u+ δw)′]2 dx−1∫0

f(u + δw) dx

=1

2

1∫0

[u′2+ δ2w′

2+ 2δu′w′] dx−

1∫0

fu dx−1∫0

fδw dx

= J(u) +1

2

1∫0

[δ2w′2+ 2δu′w′] dx−

1∫0

fδw dx.

Page 32: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

18 2 Equazioni di tipo ellittico

Di conseguenza,

J(u+ δw)− J(u)

δ=1

2

1∫0

[δw′2+ 2u′w′] dx−

1∫0

fw dx.

Passando al limite per δ → 0 ed imponendo che esso si annulli, si ottiene

1∫0

u′w′ dx−1∫0

fw dx = 0 ∀w ∈ V,

ovvero u soddisfa il problema debole (2.9).Viceversa, se u è soluzione di (2.9), ponendo v = δw, si ha in particolare che

1∫0

u′δw′ dx−1∫0

fδw dx = 0,

e quindi

J(u+ δw) =1

2

1∫0

[(u+ δw)′]2 dx−1∫0

f(u + δw) dx

=1

2

1∫0

u′2dx−

1∫0

fu dx+

1∫0

u′δw′ dx−1∫0

fδw dx+1

2

1∫0

δ2w′2dx

= J(u) +1

2

1∫0

δ2w′2dx.

Poiché

1

2

1∫0

δ2w′2dx ≥ 0 ∀ w ∈ V, ∀δ ∈ R,

si deduce che

J(u) ≤ J(v) ∀v ∈ V,

ovvero la u soddisfa anche il problema variazionale (2.10). �

Osservazione 2.2 (Principio dei lavori virtuali) Consideriamo nuovamente il pro-blema di studiare la configurazione assunta da un filo di tensione unitaria, vincolatoagli estremi e soggetto ad un termine forzante f , descritta dalle equazioni (2.3). In-dichiamo con v uno spostamento ammissibile del filo dalla posizione di equilibrio

Page 33: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

2.2 Il problema di Poisson nel caso monodimensionale 19

u (cioè uno spostamento nullo agli estremi). L’equazione (2.9), esprimendo l’ugua-glianza del lavoro fatto dalle forze interne e dalle forze esterne in corrispondenza allospostamento v, traduce il principio dei lavori virtuali della Meccanica. Inoltre, poichénel nostro caso esiste un potenziale (J(w) definito in (2.10) esprime infatti l’energiapotenziale globale corrispondente alla configurazione w del sistema), il principio deilavori virtuali stabilisce che qualsiasi spostamento ammissibile dalla configurazionedi equilibrio causa un incremento dell’energia potenziale del sistema. In questo senso,il Teorema 2.1 afferma che la soluzione debole è anche quella che minimizza l’energiapotenziale. •

2.2.2 Problema di Dirichlet non omogeneo

Nel caso non omogeneo le condizioni al bordo in (2.3) sono sostituite da

u(0) = g0, u(1) = g1,

essendo g0 e g1 due valori assegnati.Ci si può ricondurre al caso omogeneo notando che se u è soluzione del problema

non omogeneo allora la funzione◦u= u − [(1 − x)g0 + xg1] è soluzione del corri-

spondente problema omogeneo (2.3). La funzione Rg = (1 − x)g0 + xg1 è dettarilevamento del dato di bordo.

2.2.3 Problema di Neumann

Consideriamo ora il seguente problema di Neumann{−u′′ + σu = f, 0 < x < 1,u′(0) = h0, u′(1) = h1,

essendo σ una funzione positiva e h0, h1 due numeri reali. Osserviamo che nel casoin cui σ = 0 l’eventuale soluzione di questo problema non sarebbe unica, essendodefinita a meno di una costante additiva. Applicando lo stesso procedimento seguitonel caso del problema di Dirichlet, ovvero moltiplicando l’equazione per una funzionetest v, integrando sull’intervallo (0, 1) ed applicando la formula di integrazione perparti si perviene all’equazione

1∫0

u′v′ dx+

1∫0

σuv dx− [u′v]10 =1∫0

fv dx.

Supponiamo f ∈ L2(0, 1) e σ ∈ L∞(0, 1) ossia che σ sia una funzione limitataquasi ovunque (q.o.) su (0, 1) (si veda la (A.14)). Il termine di bordo è noto grazie allecondizioni di Neumann. D’altra parte l’incognitau in questo caso non è nota al bordo,pertanto non si deve richiedere che v si annulli al bordo. La formulazione debole delproblema di Neumann è quindi: trovare u ∈ H1(0, 1) tale che

1∫0

u′v′ dx+

1∫0

σuv dx =

1∫0

fv dx+ h1v(1) − h0v(0) ∀v ∈ H1(0, 1). (2.11)

Page 34: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

20 2 Equazioni di tipo ellittico

Nel caso omogeneo h0 = h1 = 0 il problema debole è caratterizzato dalla stessaequazione del caso di Dirichlet, ma lo spazio V delle funzioni test è ora H1(0, 1)anziché H10(0, 1).

2.2.4 Problema misto omogeneo

Considerazioni analoghe valgono per il problema misto omogeneo, in cui cioè si abbiauna condizione di Dirichlet omogenea in un estremo ed una condizione di Neumannomogenea nell’altro, {

−u′′ + σu = f, 0 < x < 1,u(0) = 0, u′(1) = 0.

(2.12)

In tal caso si deve chiedere che le funzioni test siano nulle in x = 0. Ponendo ΓD ={0} e definendo

H1ΓD (0, 1)={v ∈ H1(0, 1) : v(0) = 0},la formulazione debole del problema (2.12) è: trovare u ∈ H1ΓD (0, 1) tale che

1∫0

u′v′ dx+

1∫0

σuv dx =

1∫0

fv dx ∀v ∈ H1ΓD (0, 1),

con f ∈ L2(0, 1) e σ ∈ L∞(0, 1). La formulazione è nuovamente la stessa delproblema di Dirichlet omogeneo, cambia però lo spazio in cui si cerca la soluzione.

2.2.5 Condizioni al bordo miste (o di Robin)

Si consideri infine il seguente problema{−u′′ + σu = f, 0 < x < 1,u(0) = 0, u′(1) + γu(1) = r,

dove γ > 0 e r sono valori assegnati.Anche in questo caso si utilizzeranno funzioni test nulle in x = 0, essendo ivi notoil valore di u. Il termine di bordo per x = 1, derivante dall’integrazione per parti,non fornisce più, a differenza del caso di Neumann, una quantità nota, ma un termineproporzionale all’incognita u. Infatti si ha

−[u′v]10 = −rv(1) + γu(1)v(1).

La formulazione debole è dunque: trovare u ∈ H1ΓD (0, 1) tale che

1∫0

u′v′ dx+

1∫0

σuv dx+ γu(1)v(1) =

1∫0

fv dx+ rv(1) ∀v ∈ H1ΓD (0, 1).

Una condizione al bordo che sia una combinazione lineare tra il valore di u equello della sua derivata prima è detta condizione di Robin (o di Newton, o del terzotipo).

Page 35: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

2.3 Il problema di Poisson nel caso bidimensionale 21

2.3 Il problema di Poisson nel caso bidimensionale

Consideriamo in questa sezione i problemi ai limiti associati all’equazione di Poissonnel caso bidimensionale.

2.3.1 Il problema di Dirichlet omogeneo

Il problema consiste nel trovare u tale che{−Δu = f in Ω,u = 0 su ∂Ω,

(2.13)

dove Ω ⊂ R2 è un dominio limitato con frontiera ∂Ω. Si procede in maniera analogaal caso monodimensionale. Moltiplicando l’equazione differenziale della (2.13) peruna funzione arbitraria v e integrando su Ω, troviamo

−∫Ω

Δuv dΩ =

∫Ω

fv dΩ.

A questo punto occorre applicare un analogo multidimensionale della formula di inte-grazione per parti monodimensionale. Essa può essere ottenuta impiegando il teoremadella divergenza secondo il quale∫

Ω

div(a) dΩ =

∫∂Ω

a · n dγ, (2.14)

essendo a(x) = (a1(x), a2(x))T una funzione vettoriale sufficientemente regolare,n(x) = (n1(x), n2(x))

T il versore normale uscente a Ω ed avendo denotato conx = (x1, x2)

T il vettore delle coordinate spaziali. Se si applica la (2.14) prima allafunzione a = (ϕψ, 0)T e successivamente ad a = (0, ϕψ)T , si perviene alle relazioni∫

Ω

∂ϕ

∂xiψ dΩ = −

∫Ω

ϕ∂ψ

∂xidΩ +

∫∂Ω

ϕψni dγ, i = 1, 2. (2.15)

Sfruttiamo le (2.15) tenendo conto del fatto che Δu = div∇u =∑2i=1

∂xi

( ∂u

∂xi

).

Supponendo che tutti gli integrali che compaiono abbiano senso, si trova

−∫Ω

Δuv dΩ = −2∑i=1

∫Ω

∂xi

(∂u

∂xi

)v dΩ

=

2∑i=1

∫Ω

∂u

∂xi

∂v

∂xidΩ −

2∑i=1

∫∂Ω

∂u

∂xivni dγ

=

∫Ω

2∑i=1

∂u

∂xi

∂v

∂xidΩ −

∫∂Ω

(2∑i=1

∂u

∂xini

)v dγ.

Page 36: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

22 2 Equazioni di tipo ellittico

Si perviene alla relazione seguente, detta formula di Green per il laplaciano

−∫Ω

Δuv dΩ =

∫Ω

∇u · ∇v dΩ −∫∂Ω

∂u

∂nv dγ. (2.16)

Analogamente al caso monodimensionale, il problema di Dirichlet omogeneo ci por-terà a scegliere funzioni test nulle al bordo e, conseguentemente, il termine al contornoche compare nella (2.16) sarà a sua volta nullo.

Tenendo conto di questo fatto, giungiamo alla seguente formulazione debole peril problema (2.13):

trovare u ∈ H10(Ω) :∫Ω

∇u · ∇v dΩ =

∫Ω

fv dΩ ∀v ∈ H10(Ω), (2.17)

essendo f ∈ L2(Ω) ed avendo posto

H1(Ω)= {v : Ω→R t.c. v ∈ L2(Ω), ∂v

∂xi∈ L2(Ω), i = 1, 2},

H10(Ω)= {v ∈ H1(Ω) : v = 0 su ∂Ω}.Le derivate vanno intese nel senso delle distribuzioni e la condizione v = 0 su ∂Ω nelsenso delle tracce (si veda l’Appendice A).In particolare, osserviamo che se u, v ∈ H10(Ω), allora ∇u,∇v ∈ [L2(Ω)]2 equindi ∇u · ∇v ∈ L1(Ω). Quest’ultima proprietà si ottiene applicando la seguentedisuguaglianza

|(∇u,∇v)| ≤ ‖∇u‖L2(Ω)‖∇v‖L2(Ω)conseguenza diretta della disuguaglianza di Cauchy-Schwarz (A.16).

Dunque l’integrale che compare a sinistra della (2.17) ha perfettamente senso cosìcome quello che compare a destra.

Analogamente al caso monodimensionale, anche nel caso bidimensionale si dimo-stra che il problema (2.17) è equivalente al seguente problema variazionale:

trovare u ∈ V :

⎧⎪⎪⎨⎪⎪⎩J(u) = inf

v∈VJ(v), essendo

J(v)=1

2

∫Ω

|∇v|2 dΩ −∫Ω

fv dΩ,

avendo posto V = H10(Ω).Possiamo riscrivere la formulazione debole (2.17) in un modo più compatto

introducendo la seguente forma

a : V × V → R, a(u, v)=

∫Ω

∇u · ∇v dΩ (2.18)

Page 37: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

2.3 Il problema di Poisson nel caso bidimensionale 23

ed il seguente funzionale

F : V → R, F (v)=

∫Ω

fv dΩ

(funzionali e forme sono introdotti nell’Appendice A).Il problema (2.17) diventa allora:

trovare u ∈ V : a(u, v) = F (v) ∀v ∈ V. (2.19)

Notiamo che a(·, ·) è una forma bilineare (ovvero lineare rispetto ad entrambi i suoiargomenti), mentre F è un funzionale lineare. Allora

|F (v)| ≤ ‖f‖L2(Ω)‖v‖L2(Ω) ≤ ‖f‖L2(Ω)‖v‖H1(Ω).

Di conseguenza, F è anche limitato. Grazie alla definizione (A.2) dell’Appendice Asi può concludere che ‖F ‖V ′ ≤ ‖f‖L2(Ω). Essendo F lineare e limitato, F appartienea V ′, lo spazio duale di V (si veda l’Appendice A.1).

2.3.2 Equivalenza, nel senso delle distribuzioni, tra la forma debole e la formaforte del problema di Dirichlet

Vogliamo dimostrare che le equazioni del problema (2.13) vengono realmente soddi-sfatte dalla soluzione debole, anche se solo nel senso delle distribuzioni.A tal fine riprendiamo la formulazione debole (2.17). Sia ora D(Ω) lo spazio dellefunzioni infinitamente derivabili ed a supporto compatto in Ω (si veda l’Appendice A).Ricordiamo che D(Ω) ⊂ H10(Ω). Scegliendo allora v = ϕ ∈ D(Ω) nella (2.17),avremo ∫

Ω

∇u · ∇ϕ dΩ =

∫Ω

fϕ dΩ ∀ϕ ∈ D(Ω). (2.20)

Applicando la formula di Green (2.16) al primo membro della (2.20), troviamo

−∫Ω

Δuϕ dΩ +

∫∂Ω

∂u

∂nϕ dγ =

∫Ω

fϕ dΩ ∀ϕ ∈ D(Ω),

dove gli integrali vanno intesi nel senso delle dualità, ovvero:

−∫Ω

Δuϕ dΩ = D′(Ω)〈−Δu, ϕ〉D(Ω),∫∂Ω

∂u

∂nϕ dγ = D′(∂Ω)〈

∂u

∂n, ϕ〉D(∂Ω).

Page 38: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

24 2 Equazioni di tipo ellittico

Essendo ϕ ∈ D(Ω), l’integrale di bordo è nullo, di modo che

D′(Ω)〈−Δu− f, ϕ〉D(Ω) = 0 ∀ϕ ∈ D(Ω),

il che corrisponde a dire che −Δu− f è la distribuzione nulla, ovvero

−Δu = f in D′(Ω).

L’equazione differenziale (2.13) è dunque verificata, pur di intendere le derivate nelsenso delle distribuzioni e di interpretare l’uguaglianza fra −Δu e f non in sen-so puntuale, ma nel senso delle distribuzioni (e quindi quasi ovunque in Ω). Infi-ne, l’annullamento di u sul bordo (nel senso delle tracce) è conseguenza immediatadell’appartenenza di u a H10(Ω).

2.3.3 Il problema con condizioni miste non omogenee

Il problema che vogliamo risolvere è ora il seguente:⎧⎪⎨⎪⎩−Δu = f in Ω,u = g su ΓD,∂u

∂n= φ su ΓN ,

(2.21)

dove ΓD e ΓN realizzano una partizione di ∂Ω, ovvero ΓD∪ΓN = ∂Ω,◦ΓD∩

◦ΓN = ∅

(si veda la Fig. 2.3).Nel caso del problema di Neumann, in cui ΓD = ∅, i dati f e φ dovranno verificare

la seguente condizione di compatibilità

−∫∂Ω

φ dγ =

∫Ω

f dΩ (2.22)

affinché il problema possa avere soluzione. La (2.22) si deduce integrando l’equazionedifferenziale in (2.21) ed applicando il teorema della divergenza (2.14)

−∫Ω

Δu dΩ = −∫Ω

div(∇u) dΩ = −∫∂Ω

∂u

∂ndγ.

Osserviamo inoltre che, sempre nel caso del problema di Neumann, la soluzione saràdefinita solo a meno di una costante additiva. Per avere unicità basterà, ad esempio,trovare una funzione che sia a media nulla in Ω.

Supponiamo ora che ΓD �= ∅ in modo da assicurare unicità della soluzione delproblema forte senza condizioni di compatibilità sui dati. Supponiamo inoltre che f ∈L2(Ω), g ∈ H1/2(ΓD) e φ ∈ L2(ΓN), avendo indicato con H1/2(ΓD) lo spazio dellefunzioni di L2(ΓD) che sono tracce di funzioni di H1(Ω) (si veda la Sez. A.4.3).

Page 39: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

2.3 Il problema di Poisson nel caso bidimensionale 25

Ω

ΓN

ΓD

n

Figura 2.3. Il dominio computazionaleΩ

Grazie alla formula di Green (2.16), dalla (2.21) otteniamo∫Ω

∇u · ∇v dΩ −∫∂Ω

∂u

∂nv dγ =

∫Ω

fv dΩ. (2.23)

Ricordando che ∂u/∂n = φ su ΓN e sfruttando l’additività degli integrali, la (2.23)diventa ∫

Ω

∇u · ∇v dΩ −∫ΓD

∂u

∂nv dγ −

∫ΓN

φ v dγ =

∫Ω

fv dΩ. (2.24)

Imponendo che la funzione test v sia nulla su ΓD, il primo integrale al bordoche compare nella (2.24) si annulla. Il problema misto ammette perciò la seguenteformulazione debole

trovare u ∈ Vg :

∫Ω

∇u · ∇v dΩ =

∫Ω

fv dΩ +

∫ΓN

φ v dγ ∀v ∈ V, (2.25)

avendo denotato con V lo spazio

V = H1ΓD (Ω)= {v ∈ H1(Ω) : v|ΓD = 0}, (2.26)

ed avendo posto

Vg = {v ∈ H1(Ω) : v|ΓD = g}.

La formulazione (2.25) non è soddisfacente, non solo perché la scelta degli spazi nonè “simmetrica” (v ∈ V , mentre u ∈ Vg), ma soprattutto perché Vg è una varietà affine,ma non è un sottospazio di H1(Ω) (infatti non è vero che combinazioni lineari dielementi di Vg siano ancora elementi di Vg).

Procediamo allora in modo analogo a quanto visto nella Sez. 2.2.2. Supponiamodi conoscere una funzione Rg, detta rilevamento del dato al bordo, tale che

Rg ∈ H1(Ω), Rg|ΓD = g.

Page 40: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

26 2 Equazioni di tipo ellittico

Supponiamo inoltre che tale rilevamento sia continuo, ovvero che

∃C > 0 : ‖Rg‖H1(Ω) ≤ C‖g‖H1/2(ΓD), ∀g ∈ H1/2(ΓD).

Poniamo◦u = u−Rg e iniziamo con l’osservare che

◦u|ΓD = u|ΓD −Rg|ΓD=0, cioè

◦u ∈ H1ΓD (Ω). Inoltre, essendo ∇u = ∇◦u+∇Rg, il problema (2.25) diventa

trovare◦u ∈ H1ΓD (Ω) : a(

◦u, v) = F (v) ∀v ∈ H1ΓD (Ω), (2.27)

avendo definito la forma bilineare a(·, ·) come nella (2.18), mentre il funzionalelineare F assume ora la forma

F (v) =

∫Ω

fv dΩ +

∫ΓN

φ v dγ −∫Ω

∇Rg · ∇v dΩ.

Il problema ora è simmetrico essendo lo spazio in cui si cerca la (nuova) soluzioneincognita coincidente con lo spazio delle funzioni test.

Le condizioni di Dirichlet sono dette essenziali in quanto vengono imposte inmaniera esplicita nella determinazione dello spazio funzionale in cui il problema èposto.

Le condizioni di Neumann, invece, sono dette naturali, in quanto vengono sod-disfatte implicitamente dalla soluzione del problema (si veda a questo proposito laSez. 2.3.4). Questa differenza di trattamento avrà importanti ripercussioni sui problemiapprossimati.

Osservazione 2.3 La riduzione del problema a forma “simmetrica” consentirà di ot-tenere in fase di risoluzione numerica (ad esempio con il metodo degli elementi finiti)un sistema lineare con matrice simmetrica. •

Osservazione 2.4 Costruire un rilevamento Rg di una funzione al bordo di formaarbitraria può risultare assai problematico. Tale compito è più agevole nell’ambi-to dell’approssimazione numerica, dove in genere viene costruito un rilevamento diun’approssimazione della funzione g (si veda il Cap. 3). •

2.3.4 Equivalenza, nel senso delle distribuzioni, tra la forma debole e la formaforte per il problema di Neumann

Consideriamo il problema di Neumann non omogeneo{ −Δu+ σu = f in Ω,∂u

∂n= φ su ∂Ω,

(2.28)

dove σ è una costante positiva o, più in generale, una funzione σ ∈ L∞(Ω) taleche σ(x) ≥ α0 q.o. in Ω, per un’opportuna costante α0 > 0. Supponiamo inoltre

Page 41: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

2.3 Il problema di Poisson nel caso bidimensionale 27

che f ∈ L2(Ω) e che φ ∈ L2(∂Ω). Procedendo come fatto nella Sez. 2.3.3, si puòderivare la seguente formulazione debole:

trovare u ∈ H1(Ω) :∫Ω

∇u·∇v dΩ +

∫Ω

σuv dΩ =

∫Ω

fv dΩ +

∫∂Ω

φv dγ ∀v ∈ H1(Ω). (2.29)

Prendendo v = ϕ ∈ D(Ω) e controintegrando per parti, si ottiene

D′(Ω)〈−Δu+ σu− f, ϕ〉D(Ω) = 0 ∀ϕ ∈ D(Ω).

Pertanto

−Δu+ σu = f inD′(Ω)ovvero

−Δu+ σu− f = 0 q. o. in Ω. (2.30)

Nel caso in cui u ∈ C2(Ω) l’applicazione della formula di Green (2.16) in (2.29)conduce a∫

Ω

(−Δu+ σu− f)v dΩ +

∫∂Ω

(∂u

∂n− φ)v = 0 ∀v ∈ H1(Ω),

e quindi, grazie a (2.30),

∂u

∂n= φ su ∂Ω.

Nel caso in cui la soluzione u di (2.29) sia solo in H1(Ω) si può utilizzare laformula di Green generalizzata che afferma che esiste un unico funzionale linearee continuo g ∈ (H1/2(∂Ω))′ (detto derivata normale generalizzata), operante sullospazio H1/2(∂Ω) che soddisfa∫

Ω

∇u·∇v dΩ = 〈−Δu, v〉+� g, v � ∀v ∈ H1(Ω).

Abbiamo indicato con < · , · > la dualità fra H1(Ω) e il suo duale, e con � · , · �quella fra H1/2(∂Ω) e il suo duale. Chiaramente g coincide con la classica derivatanormale di u se u ha sufficiente regolarità. Per semplicità useremo nel seguito la no-tazione ∂u/∂n nel senso di derivata normale generalizzata. Si ottiene dunque che perv ∈ H1(Ω)

〈−Δu+ σu− f, v〉 +� ∂u/∂n − φ, v � = 0;

grazie a (2.30), si conclude allora che

� ∂u/∂n − φ, v� = 0 ∀v ∈ H1(Ω)

e quindi che ∂u/∂n = φ q. o. su ∂Ω.

Page 42: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

28 2 Equazioni di tipo ellittico

2.4 Problemi ellittici più generali

Consideriamo ora il problema⎧⎪⎨⎪⎩−div(μ∇u) + σu = f in Ω,u = g su ΓD,

μ∂u

∂n= φ su ΓN ,

(2.31)

dove ΓD∪ΓN = ∂Ω con◦ΓD∩

◦ΓN = ∅. Supporremo che f ∈ L2(Ω), μ, σ ∈ L∞(Ω).

Supponiamo inoltre che ∃μ0 > 0 tale che μ(x) ≥ μ0 e σ(x) ≥ 0 q. o. in Ω. Nel solocaso in cui σ=0 richiederemo che ΓD sia non vuoto onde evitare che la soluzioneperda di unicità. Supporremo infine che g e φ siano funzioni sufficientemente regolarisu ∂Ω, ad esempio g ∈ H1/2(ΓD) e φ ∈ L2(ΓN).

Anche in questo caso procediamo moltiplicando l’equazione per una funzione testv ed integrando (ancora formalmente) sul dominio Ω:∫

Ω

[−div(μ∇u) + σu] v dΩ =

∫Ω

fv dΩ.

Applicando la formula di Green si ottiene∫Ω

μ∇u · ∇v dΩ +

∫Ω

σ u v dΩ −∫∂Ω

μ∂u

∂nv dγ =

∫Ω

fv dΩ,

che possiamo anche riscrivere come∫Ω

μ∇u · ∇v dΩ +

∫Ω

σ u v dΩ −∫ΓD

μ∂u

∂nv dγ =

∫Ω

fv dΩ +

∫ΓN

μ∂u

∂nv dγ.

La funzione μ∂u/∂n è detta derivata conormale di u associata all’operatore −div(μ∇u). Su ΓD imponiamo che la funzione test v sia nulla, mentre su ΓN imponiamoche la derivata conormale valga φ. Otteniamo∫

Ω

μ∇u · ∇v dΩ +

∫Ω

σ u v dΩ =

∫Ω

fv dΩ +

∫ΓN

φv dγ.

Indicato con Rg un rilevamento di g, poniamo◦u = u − Rg. La formulazione debole

del problema (2.31) è allora

trovare◦u ∈ H1ΓD (Ω) :∫

Ω

μ∇◦u · ∇v dΩ +

∫Ω

σ◦uv dΩ =

∫Ω

fv dΩ+

−∫Ω

μ∇Rg · ∇v dΩ −∫Ω

σRgv dΩ +

∫ΓN

φv dγ ∀v ∈ H1ΓD (Ω).

Page 43: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

2.4 Problemi ellittici più generali 29

Definiamo la forma bilineare

a : V × V → R, a(u, v)=

∫Ω

μ∇u · ∇v dΩ +

∫Ω

σ u v dΩ

ed il funzionale lineare e limitato

F : V → R, F (v)= − a(Rg, v) +

∫Ω

fv dΩ +

∫ΓN

φv dγ. (2.32)

Il problema precedente si può allora riscrivere come:

trovare◦u ∈ H1ΓD (Ω) : a(

◦u, v) = F (v) ∀v ∈ H1ΓD (Ω). (2.33)

Un problema ancora più generale di (2.31) è il seguente:⎧⎪⎨⎪⎩Lu = f in Ω,u = g su ΓD,∂u

∂nL= φ su ΓN ,

essendo Ω ⊂ R2, ΓD ∪ ΓN = ∂Ω con◦ΓD ∩

◦ΓN = ∅, ed avendo definito

Lu= −2∑

i,j=1

∂xi

(aij

∂u

∂xj

)+ σu,

dove i coefficienti aij sono in generale delle funzioni definite in Ω. La derivata

∂u

∂nL=

2∑i,j=1

aij∂u

∂xjni (2.34)

è detta derivata conormale di u associata all’operatore L (essa coincide con la derivatanormale quando Lu = −Δu).Supponiamo che σ(x) ∈ L∞(Ω) e che ∃α0 > 0 tale che σ(x) ≥ α0 q.o. in Ω. Inoltre,supponiamo che i coefficienti aij : Ω → R siano funzioni continue ∀i, j = 1, 2 e cheesista una costante α positiva tale che

∀ξ = (ξ1, ξ2)T ∈ R22∑

i,j=1

aij(x)ξiξj ≥ α

2∑i=1

ξ2i q.o. in Ω. (2.35)

In tal caso la formulazione debole è ancora la stessa di (2.33), il funzionale F è ancoraquello introdotto in (2.32), mentre

a(u, v)=

∫Ω

⎛⎝ 2∑i,j=1

aij∂u

∂xj

∂v

∂xi+ σuv

⎞⎠ dΩ. (2.36)

Page 44: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

30 2 Equazioni di tipo ellittico

Si può dimostrare (si veda l’Esercizio 2) che sotto l’ipotesi (2.35), detta ipotesi diellitticità dei coefficienti, questa nuova forma bilineare è continua e coerciva, nel sensodelle definizioni (A.6) e (A.9). Queste proprietà saranno sfruttate nell’analisi di buonaposizione del problema (2.33) (si veda la Sez. 2.4.1).Problemi ellittici per operatori del quarto ordine sono proposti negli Esercizi 4 e 6,mentre un problema ellittico derivante dalla teoria dell’elasticità lineare è affrontatonell’Esercizio 7.

2.4.1 Teorema di esistenza e unicità

Vale il seguente risultato fondamentale (per le definizioni si rimanda all’Appendi-ce A.1):

Lemma 2.1 (di Lax-Milgram) Sia V uno spazio di Hilbert, a(·, ·) : V ×V → R

una forma bilineare continua e coerciva, F (·) : V → R un funzionale lineare elimitato. Allora esiste unica la soluzione del problema:

trovare u ∈ V : a(u, v) = F (v) ∀v ∈ V. (2.37)

Dimostrazione. Si basa su due classici risultati di Analisi Funzionale: il teorema dirappresentazione di Riesz, ed il teorema dell’immagine chiusa di Banach. Il lettoreinteressato può consultare, ad esempio, [QV94, Cap. 5]. �

Il Lemma di Lax-Milgram assicura dunque che la formulazione debole di un pro-blema ellittico è ben posta, pur di verificare le ipotesi sulla forma a(·, ·) e sul funzio-nale F (·). Da questo Lemma discendono varie conseguenze. Riportiamo una della piùimportanti nel seguente Corollario.

Corollario 2.1 La soluzione di (2.37) è limitata in funzione dei dati, ovvero

‖u‖V ≤1

α‖F ‖V ′ ,

dove α è la costante di coercività associata alla forma bilineare a(·, ·), mentre‖F ‖V ′ è la norma del funzionale F .

Dimostrazione. È sufficiente scegliere v = u nella (2.37) ed usare quindi la coercivitàdella forma bilineare a(·, ·). Infatti, si ha che

α‖u‖2V ≤ a(u, u) = F (u).

D’altra parte

F (u) ≤ ‖F ‖V ′‖u‖Vdal che segue la tesi. �

Page 45: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

2.5 Esercizi 31

Osservazione 2.5 Se la forma bilineare a(·, ·) è anche simmetrica, ovvero se

a(u, v) = a(v, u) ∀u, v ∈ V,

allora il problema (2.37) è equivalente al seguente problema variazionale (si vedal’Esercizio 1), ⎧⎨⎩ trovare u ∈ V : J(u) = min

v∈VJ(v),

con J(v)=1

2a(v, v) − F (v).

(2.38)

2.5 Esercizi

1. Si dimostri che il problema debole (2.37) è equivalente al problema variazionale(2.38) se la forma bilineare è coerciva e simmetrica.[Soluzione: sia u ∈ V la soluzione del problema debole e sia w un genericoelemento di V . Grazie alla bilinearità ed alla simmetria della forma, si trova

J(u+w) =1

2[a(u, u)+ 2a(u, w) + a(w,w)]− [F (u) + F (w)]

= J(u) + [a(u, w)− F (w)] +1

2a(w,w) = J(u) +

1

2a(w,w).

Grazie alla coercività si ricava allora che J(u+w) ≥ J(u)+(α/2)‖w‖2V , ovveroche ∀v ∈ V con v �= u, J(v) > J(u). Viceversa, se u è punto di minimo per J ,allora scrivendo la condizione di estremalità limδ→0 (J(u + δv) − J(u)) /δ = 0si trova la (2.37). ]

2. Si dimostri che la forma bilineare (2.36) sotto le ipotesi indicate nel testo suicoefficienti, è continua e coerciva.[Soluzione: la forma bilineare è ovviamente continua. Grazie all’ipotesi (2.35) edal fatto che σ ∈ L∞(Ω) è positiva q.o. in Ω, è anche coerciva in quanto

a(v, v) ≥ α|v|2H1(Ω) + α0‖v‖2L2(Ω) ≥ min(α, α0)‖v‖2V ∀v ∈ V.

Facciamo notare che se V = H1(Ω) allora la condizione α0 > 0 è necessariaaffinché la forma bilineare sia coerciva. Nel caso in cui V = H10(Ω), è sufficienteche α0 > −α/C2Ω , essendo CΩ la costante che interviene nella disuguaglianza diPoincaré. In tal caso si può sfruttare infatti l’equivalenza fra ‖ · ‖H1(Ω) e | · |H1(Ω).Abbiamo indicato con |v|H1(Ω) = ‖∇v‖L2(Ω) la seminorma di v in H1(Ω) (siveda l’Esempio A.11 dell’Appendice A).]

3. Siano V = H10(0, 1), a : V × V → R e F : V → R definiti nel modo seguente:

F (v)=

1∫0

(−1− 4x)v(x) dx, a(u, v)=

1∫0

(1 + x)u′(x)v′(x) dx.

Page 46: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

32 2 Equazioni di tipo ellittico

Si dimostri che il problema: trovare u ∈ V t.c. a(u, v) = F (v) ∀v ∈ V , ammetteun’unica soluzione. Si verifichi inoltre che essa coincide con u(x) = x2 − x.[Soluzione: si dimostra facilmente che la forma bilineare è continua e coerciva inV . Allora, essendo F un funzionale lineare e limitato, grazie al Lemma di Lax-Milgram, si può concludere che la soluzione esiste unica in V . Verifichiamo cheè proprio u(x) = x2 − x. Quest’ultima funzione appartiene sicuramente a V(essendo continua e derivabile e tale che u(0) = u(1) = 0).Inoltre, dalla relazione

1∫0

(1 + x)u′(x)v′(x) dx = −1∫0

((1 + x)u′(x))′v(x) dx =

1∫0

(−1− 4x)v(x) dx,

∀v ∈ V , si deduce che affinché u sia soluzione si deve avere ((1 + x)u′(x))′ =1 + 4x quasi ovunque in (0, 1). Tale proprietà è vera per la u proposta.]

4. Si trovi la formulazione debole del problema⎧⎪⎨⎪⎩Δ2u = f in Ω,u = 0 su ∂Ω,∂u

∂n= 0 su ∂Ω,

essendo Ω ⊂ R2 un aperto limitato di frontiera ∂Ω regolare, Δ2· = ΔΔ·l’operatore bilaplaciano e f ∈ L2(Ω) una funzione assegnata.[Soluzione: la formulazione debole, ottenuta applicando due volte la formula diGreen all’operatore bilaplaciano, è

trovare u ∈ H20(Ω) :∫Ω

ΔuΔv dΩ =

∫Ω

fv dΩ ∀v ∈ H20(Ω), (2.39)

dove H20(Ω)= {v ∈ H2(Ω) : v = 0, ∂v/∂n = 0 su ∂Ω}.]5. Per ogni funzione v dello spazio di HilbertH20(Ω), definito nell’Esercizio 4, si può

dimostrare che la seminorma |·|H2(Ω) definita come |v|H2(Ω)=(∫Ω|Δv|2 dΩ)1/2,

è di fatto equivalente alla norma ‖ · ‖H2(Ω). Utilizzando tale proprietà, si dimostriche il problema (2.39) ammette un’unica soluzione.[Soluzione: poniamo V = H20(Ω). Allora,

a(u, v)=

∫Ω

ΔuΔv dΩ e F (v)=

∫Ω

fv dΩ,

sono rispettivamente una forma bilineare da V × V → R ed un funzionale li-neare e limitato. Per dimostrare esistenza ed unicità basta invocare il Lemma diLax-Milgram in quanto la forma bilineare è coerciva e continua. In effetti, grazieall’equivalenza tra norma e seminorma, esistono due costanti positive α e M taliche

a(u, u) = |u|2V ≥ α‖u‖2V , |a(u, v)| ≤M‖u‖V ‖v‖V .]

Page 47: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

2.5 Esercizi 33

6. Si scriva la formulazione debole del problema del quart’ordine⎧⎪⎪⎪⎨⎪⎪⎪⎩Δ2u−∇ · (μ∇u) + σu = 0 in Ω,

u = 0 su ∂Ω,

∂u

∂n= 0 su ∂Ω,

introducendo opportuni spazi funzionali, sapendo che Ω ⊂ R2 è un aperto li-mitato con bordo ∂Ω regolare e che μ(x) e σ(x) sono funzioni note definite suΩ.[Soluzione: si procede come nei due esercizi precedenti supponendo che i coeffi-cienti μ e σ stiano in L∞(Ω).]

7. Sia Ω ⊂ R2 con frontiera∂Ω = ΓD∪ΓN regolare e◦ΓD ∩

◦ΓN= ∅. Introducendo

opportuni spazi funzionali, si trovi la formulazione debole del seguente problemadell’elasticità lineare⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

−2∑j=1

∂xjσij(u) = fi in Ω, i = 1, 2,

ui = 0 su ΓD, i = 1, 2,2∑j=1

σij(u)nj = gi su ΓN , i = 1, 2,

(2.40)

avendo indicato come di consueto con n = (n1, n2)T il vettore normale uscentea Ω, u = (u1, u2)T il vettore delle incognite, f = (f1, f2)T e g = (g1, g2)T duefunzioni assegnate. Inoltre si è posto per i, j = 1, 2,

σij(u) = λdiv(u)δij + 2μεij(u), εij(u) =1

2

(∂ui

∂xj+

∂uj

∂xi

),

essendo λ e μ due costanti positive e δij il simbolo di Kronecker. Il sistema (2.40)consente di descrivere lo spostamento u di un corpo elastico, omogeneo ed isotro-po, che nella sua posizione di equilibrio occupa la regione Ω, sotto l’azione di unaforza esterna per unità di volume f e di un carico distribuito su ΓN di intensità g(si veda la Fig. 2.4).

ΩΓN

ΓDf

g

Figura 2.4. Un corpo elastico parzialmente vincolato e soggetto all’azione di un carico esterno

Page 48: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

34 2 Equazioni di tipo ellittico

[Soluzione: la formulazione debole di (2.40) si trova osservando che σij = σji eutilizzando la seguente formula di Green

2∑i,j=1

∫Ω

σij(u)εij(v) dΩ =

2∑i,j=1

∫∂Ω

σij(u)njvi dγ

−2∑

i,j=1

∫Ω

∂σij(u)

∂xjvi dΩ.

(2.41)

Assumendo v ∈ V =(H1ΓD (Ω))2 (lo spazio delle funzioni vettoriali che hanno

componenti vi ∈ H1ΓD (Ω) per i = 1, 2), si trova la seguente formulazione debole

trovare u ∈ V tale che a(u,v) = F (v) ∀v ∈ V ,

con

a(u,v)=

∫Ω

λdiv(u)div(v) dΩ + 2μ

2∑i,j=1

∫Ω

εij(u)εij(v) dΩ,

F (v)=

∫Ω

f · v dΩ +

∫ΓN

g · v dγ.

Sarà sufficiente supporre f ∈ (L2(Ω))2 e g ∈ (L2(ΓN))2.]8. Si dimostri, attraverso l’applicazione del Lemma di Lax-Milgram, che la soluzio-

ne della formulazione debole (2.41) esiste ed è unica sotto opportune condizionisulla regolarità dei dati e sapendo che vale la seguente disuguaglianza di Korn

∃C0 > 0 :

2∑i,j=1

∫Ω

εij(v)εij(v) dΩ ≥ C0‖v‖2V ∀v ∈ V.

[Soluzione: si consideri la formulazione debole introdotta nella soluzione dell’e-sercizio precedente. La forma bilineare definita nella (2.41) è continua ed è anchecoerciva grazie alla disuguaglianza di Korn. F è un funzionale lineare e limitatoe quindi, per il Lemma di Lax-Milgram, la soluzione esiste ed è unica.]

Page 49: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3

Il metodo di Galerkin-elementi finitiper problemi ellittici

Affrontiamo in questo capitolo la risoluzione numerica dei problemi ai limiti ellitticiconsiderati nel Cap. 2 introducendo il metodo di Galerkin. Illustreremo poi, comecaso particolare, il metodo degli elementi finiti. Esso verrà ulteriormente sviluppatonei capitoli seguenti.

3.1 Approssimazione con il metodo di Galerkin

Come visto nel Cap. 2 la formulazione debole di un generico problema ellittico postosu un dominio Ω ⊂ Rd si può scrivere nel modo seguente

trovare u ∈ V : a(u, v) = F (v) ∀v ∈ V, (3.1)

essendo V un opportuno spazio di Hilbert, sottospazio di H1(Ω), a(·, ·) una formabilineare continua e coerciva da V × V in R, F (·) un funzionale lineare e limitato daV in R. Sotto tali ipotesi il Lemma di Lax-Milgram assicura esistenza ed unicità dellasoluzione.

Sia Vh una famiglia di spazi dipendente da un parametro positivo h, tali che

Vh ⊂ V, dim Vh = Nh <∞ ∀h > 0.

Il problema approssimato assume allora la forma

trovare uh ∈ Vh : a(uh, vh) = F (vh) ∀vh ∈ Vh, (3.2)

e viene detto problema di Galerkin. Indicando con {ϕj, j = 1, 2, . . . , Nh} una basedi Vh, basta che la (3.2) sia verificata per ogni funzione della base, in quanto tutte lefunzioni dello spazio Vh sono una combinazione lineare delle ϕj . Richiederemo allorache

a(uh, ϕi) = F (ϕi), i = 1, 2, . . . , Nh. (3.3)

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 50: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

36 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

Naturalmente, poiché uh ∈ Vh,

uh(x) =

Nh∑j=1

uj ϕj(x),

dove gli uj, j = 1, . . . , Nh, sono dei coefficienti incogniti. Le equazioni (3.3)diventano allora

Nh∑j=1

uj a(ϕj , ϕi) = F (ϕi), i = 1, 2, . . . , Nh. (3.4)

Denotiamo con A la matrice (detta di rigidezza o di stiffness) con elementi

aij=a(ϕj , ϕi)

e con f il vettore di componenti fi=F (ϕi). Se si indica con u il vettore che ha comecomponenti i coefficienti incogniti uj , le (3.4) sono equivalenti al sistema lineare

Au = f . (3.5)

Evidenziamo alcune caratteristiche della matrice di rigidezza che sono indipendentidalla base scelta per Vh, ma che dipendono esclusivamente dalle caratteristiche delproblema debole che si sta approssimando. Altre, come il numero di condizionamen-to o la struttura di sparsità , dipenderanno invece dalla base considerata e verrannopertanto riportate nelle sezioni dedicate ai singoli metodi numerici. Ad esempio, basiformate da funzioni con supporto piccolo saranno preferibili in quanto tutti gli elemen-ti aij relativi a funzioni di base che hanno supporti con intersezione nulla risulterannonulli. Da un punto di vista computazionale verranno privilegiate quelle scelte di Vhche richiedono uno sforzo computazionale modesto per il calcolo degli elementi dellamatrice, nonché del termine noto f.

Teorema 3.1 La matrice A associata alla discretizzazione di un problemaellittico con il metodo di Galerkin è definita positiva.

Dimostrazione. Ricordiamo che una matrice B ∈ Rn×n si dice definita positiva se

vTBv ≥ 0 ∀v ∈ Rn ed inoltre vTBv = 0 ⇔ v = 0. (3.6)

La corrispondenza

v = (vi) ∈ RNh ↔ vh(x) =

Nh∑j=1

vjφj ∈ Vh (3.7)

Page 51: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.2 Analisi del metodo di Galerkin 37

definisce una biiettività fra gli spazi RNh e Vh . Per un generico vettore v = (vi) diRNh , grazie alla bilinearità ed alla coercività della forma a(·, ·), otteniamo

vTAv =

Nh∑j=1

Nh∑i=1

viaijvj =

Nh∑j=1

Nh∑i=1

via(ϕj, ϕi)vj

=

Nh∑j=1

Nh∑i=1

a(vjϕj , viϕi) = a

⎛⎝Nh∑j=1

vjϕj,

Nh∑i=1

viϕi

⎞⎠= a(vh, vh) ≥ α‖vh‖2V ≥ 0.

Inoltre, se vTAv = 0 allora, per quanto appena ricavato, anche ‖vh‖2V = 0 ovverovh = 0 e quindi v = 0. Di conseguenza la tesi è dimostrata essendo soddisfatte le duecondizioni (3.6). �

Si può inoltre dimostrare la seguente proprietà (si veda l’Esercizio 4):

Proprietà 3.1 La matrice A è simmetrica se e solo se la forma bilineare a(·, ·)è simmetrica.

Ad esempio, nel caso del problema di Poisson con condizioni al bordo di Dirichlet(2.17) o miste (2.27), la matrice A è simmetrica e definita positiva. La risoluzionenumerica di un sistema di questo tipo potrà essere effettuata in modo efficiente siausando metodi diretti, come la fattorizzazione di Cholesky, sia usando metodi itera-tivi come il metodo del gradiente coniugato (si veda l’Appendice B e, ad esempio,[QSS08, Cap. 4]).

3.2 Analisi del metodo di Galerkin

Ci proponiamo in questa sezione di studiare le caratteristiche del metodo di Galerkin,in particolare di verificarne tre fondamentali proprietà:

– esistenza ed unicità della soluzione discreta uh;– stabilità della soluzione discreta uh;– convergenza di uh alla soluzione esatta u del problema (3.1), per h→ 0.

3.2.1 Esistenza e unicità

Il Lemma di Lax-Milgram, enunciato nel Cap. 2, vale per ogni spazio di Hilbert equindi, in particolare, per lo spazio Vh, essendo quest’ultimo un sottospazio chiusodello spazio di Hilbert V .Inoltre la forma bilineare a(·, ·) e il funzionale F (·) sono i medesimi del problemavariazionale (3.1). Sono dunque soddisfatte le ipotesi richieste dal Lemma. Discendeallora il seguente risultato:

Page 52: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

38 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

Corollario 3.1 La soluzione del problema di Galerkin (3.2) esiste ed è unica.

È tuttavia istruttivo fornire di questo Corollario una dimostrazione costruttiva sen-za utilizzare il Lemma di Lax-Milgram. Come abbiamo visto, infatti, il problema diGalerkin (3.2) è equivalente al sistema lineare (3.5). Dimostrando l’esistenza e l’uni-cità per l’uno è automaticamente dimostrata anche l’esistenza e l’unicità per l’altro.Concentriamo dunque la nostra attenzione sul sistema lineare (3.5).

La matrice A è invertibile in quanto l’unica soluzione del sistema Au = 0 è lasoluzione identicamente nulla. Questo discende immediatamente dal fatto che A èdefinita positiva. Di conseguenza, il sistema lineare (3.5) ammette un’unica soluzio-ne e quindi, anche il problema di Galerkin, ad esso equivalente, ammette un’unicasoluzione.

3.2.2 Stabilità

Il Corollario 2.1 ci permette di fornire il seguente risultato di stabilità.

Corollario 3.2 Il metodo di Galerkin è stabile, uniformemente rispetto ad h, inquanto vale la seguente maggiorazione della soluzione

‖uh‖V ≤1

α‖F ‖V ′ .

La stabilità del metodo garantisce che la norma ‖uh‖V della soluzione discretarimane limitata al tendere di h a zero, uniformemente rispetto ad h. Equivalentemente,garantisce che ‖uh − wh‖V ≤ 1

α‖F − G‖V ′ , essendo uh e wh soluzioni numerichecorrispondenti a due dati diversi F e G.

3.2.3 Convergenza

Vogliamo ora dimostrare che la soluzione del problema di Galerkin converge alla so-luzione del problema debole (3.1) quando h tende a zero. Di conseguenza, a pattodi prendere h sufficientemente piccolo, si potrà approssimare bene quanto si vuole lasoluzione esatta u con la soluzione di Galerkin uh.

Dimostriamo innanzitutto la seguente proprietà di consistenza.

Lemma 3.1 (di Céa) Il metodo di Galerkin è fortemente consistente, ovvero

a(u− uh, vh) = 0 ∀vh ∈ Vh. (3.8)

Page 53: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.2 Analisi del metodo di Galerkin 39

Dimostrazione. Essendo Vh ⊂ V , la soluzione esatta u soddisfa il problema debole(3.1) per ogni elemento v=vh ∈ Vh, e quindi si ha

a(u, vh) = F (vh) ∀vh ∈ Vh. (3.9)

Sottraendo membro a membro la (3.2) dalla (3.9), si ottiene

a(u, vh) − a(uh, vh) = 0 ∀vh ∈ Vh,

dalla quale, grazie alla bilinearità della forma a(·, ·), segue la tesi. �

Facciamo notare che la (3.9) coincide con la definizione di consistenza forte datanella (1.10).

La proprietà (3.8), nota anche come ortogonalità di Galerkin, esprime il fatto cheil metodo di Galerkin è un metodo di proiezione ortogonale. Infatti, se a(·, ·) fosse ilprodotto scalare euclideo, u e uh dei vettori e Vh un sottospazio dello spazio euclideoV , la (3.8) esprimerebbe l’ortogonalità dell’errore u− uh rispetto al sottospazio Vh.

u

uh

u− uhVh

Figura 3.1. Interpretazione geometrica del Lemma di Céa

Se a(·, ·) è simmetrica, essa definisce un prodotto scalare in V . Allora la proprietàdi consistenza si interpreta come l’ortogonalità, rispetto al prodotto scalare a(·, ·), tral’errore di approssimazione, u−uh , e il sottospazio Vh. In questo senso, analogamenteal caso euclideo, si può dire che la soluzione uh del metodo di Galerkin è la proie-zione su Vh della soluzione esatta u e quindi è, tra tutti gli elementi di Vh, quella cheminimizza la distanza dalla soluzione esatta u nella norma dell’energia, vale a direnella seguente norma indotta dal prodotto scalare a(·, ·)

‖u− uh‖a =√

a(u− uh, u− uh).

Osservazione 3.1 L’interpretazione geometrica del metodo di Galerkin ha senso nelsolo caso in cui la forma a(·, ·) sia simmetrica. Tuttavia ciò non lede la generalità delmetodo o la sua proprietà di consistenza nel caso in cui la forma bilineare sia nonsimmetrica. •

Page 54: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

40 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

Consideriamo ora il valore che la forma bilineare assume quando entrambi i suoiargomenti sono pari a u− uh. Se vh è un arbitrario elemento di Vh si ottiene

a(u− uh, u− uh) = a(u− uh, u− vh) + a(u− uh, vh − uh).

L’ultimo termine è nullo grazie alla (3.8), essendo vh − uh ∈ Vh. Inoltre

|a(u− uh, u− vh)| ≤M‖u− uh‖V ‖u− vh‖V ,

avendo sfruttato la continuità della forma bilineare. D’altra parte, per la coercività dia(·, ·), deve essere

a(u − uh, u− uh) ≥ α‖u− uh‖2Vper cui si ha

‖u− uh‖V ≤M

α‖u− vh‖V ∀vh ∈ Vh.

Tale disuguaglianza vale per tutte le funzioni vh∈ Vh e dunque varrà anche prenden-done l’estremo inferiore. Si trova perciò

‖u− uh‖V ≤M

αinfwh∈Vh

‖u− wh‖V . (3.10)

È allora evidente che affinché il metodo converga basterà richiedere che, al tenderea zero di h, lo spazio Vh tenda ad “occupare” l’intero spazio V . Precisamente, deverisultare

limh→0

infvh∈Vh

‖v − vh‖V = 0 ∀v ∈ V. (3.11)

In tal caso, il metodo di Galerkin è convergente e si potrà scrivere

limh→0

‖u− uh‖V = 0.

Lo spazio Vh andrà quindi scelto opportunamente in modo da garantire la proprietà(3.11).

Una volta che questo requisito sia soddisfatto, la convergenza sarà comunque ve-rificata indipendentemente da come è fatta u; viceversa, dalla scelta di Vh e dallaregolarità di u, dipenderà, in generale, la velocità con cui la soluzione discreta con-verge alla soluzione esatta, ovvero l’ordine di infinitesimo dell’errore rispetto a h (siveda il Teorema 3.3).

Osservazione 3.2 Naturalmente, infvh∈Vh

‖u − vh‖V ≤ ‖u − uh‖V . Di conseguenza,

per la (3.10), se Mα

è dell’ordine dell’unità, l’errore dovuto al metodo di Galerkin èidentificabile con l’errore di migliore approssimazione per u in Vh. In ogni caso, i dueerrori hanno lo stesso ordine di infinitesimo rispetto ad h. •

Page 55: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.3 Il metodo degli elementi finiti nel caso monodimensionale 41

Osservazione 3.3 Nel caso in cui a(·, ·) sia una forma bilineare simmetrica, oltre checontinua e coerciva, allora la (3.10) si migliora come segue (si veda l’Esercizio 5)

‖u− uh‖V ≤√

M

αinfwh∈Vh

‖u−wh‖V . (3.12)

3.3 Il metodo degli elementi finiti nel caso monodimensionale

Supponiamo che Ω sia un intervallo (a, b) della retta reale. L’obiettivo di questa se-zione è costruire approssimazioni dello spazio H1(a, b), dipendenti da un parame-tro h. A tale scopo introduciamo una partizione Th di (a, b) in N + 1 sottointervalliKj=(xj−1, xj) di ampiezza hj = xj − xj−1 con

a = x0 < x1 < . . . < xN < xN+1 = b, (3.13)

e poniamo h = maxj hj .Poiché le funzioni di H1(a, b) sono funzioni continue su [a, b], possiamo costruire laseguente famiglia di spazi

Xrh={vh ∈ C0

(Ω): vh|Kj ∈ Pr , per ogni Kj ∈ Th

}, r = 1, 2, . . . (3.14)

avendo denotato con Pr lo spazio dei polinomi di grado minore od uguale a r nellavariabile x. Gli spazi Xrh sono tutti sottospazi di H1(a, b) in quanto sono costituitida funzioni derivabili tranne che al più in un numero finito di punti (i vertici xi dellatriangolazione Th). Essi forniscono scelte possibili dello spazio Vh, pur di incorporareopportunamente le condizioni al bordo. Il fatto che le funzioni di Xrh siano localmentedei polinomi renderà gli elementi della matrice di rigidezza facili da calcolare.

Dobbiamo a questo punto scegliere una base {ϕi} per lo spazio Xrh. Conviene, perquanto esposto nella Sez. 3.1, che il supporto della generica funzione di base ϕi abbiaintersezione non vuota con quello di un numero esiguo di altre funzioni della base.In tal modo, molti elementi della matrice di rigidezza saranno nulli. Conviene inoltreche la base sia lagrangiana: in tal caso i coefficienti dello sviluppo di una genericafunzione vh ∈ Xrh sulla base stessa saranno i valori assunti da vh in opportuni punti,che chiamiamo nodi e che, come vedremo, formano generalmente un sovrainsieme deivertici di Th. Ciò non impedisce l’uso di basi non lagrangiane, in special modo nellaloro versione gerarchica (come vedremo nel seguito).

Forniamo ora alcuni esempi di basi per gli spazi X1h e X2h.

Lo spazio X1h

È costituito dalle funzioni continue e lineari a pezzi su una partizione Th di (a, b)della forma (3.13). Poiché per due punti distinti passa un’unica retta ed essendo le

Page 56: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

42 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

funzioni di X1h continue, i gradi di libertà delle funzioni di questo spazio, ovvero ivalori che bisogna assegnare per individuare univocamente le stesse funzioni, sarannopari al numero N + 2 di vertici della partizione stessa. In questo caso, dunque, nodie vertici coincidono. Di conseguenza, una volta assegnate N + 2 funzioni di baseϕi, i = 0, . . . , N + 1, l’intero spazio X1h verrà completamente descritto. La baselagrangiana è caratterizzata dalla proprietà seguente:

ϕi ∈ X1h tale che ϕi(xj) = δij , i, j = 0, 1, . . . , N + 1,

essendo δij il delta di Kronecker. La funzione ϕi è dunque lineare a tratti e vale uno inxi e zero in tutti gli altri nodi della partizione (si veda la Fig. 3.2). La sua espressioneè data da

ϕi(x) =

⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

x− xi−1xi − xi−1

per xi−1 ≤ x ≤ xi,

xi+1 − x

xi+1 − xiper xi ≤ x ≤ xi+1,

0 altrimenti.

(3.15)

1

xixi−1 xi+1x0 = a xN+1 = b

ϕi

Figura 3.2. La funzione di base diX1h relativa al nodo xi

Evidentemente ϕi ha come supporto l’unione dei soli intervalli [xi−1, xi] e [xi, xi+1],se i �= 0 o i �= N + 1 (per i = 0 o i = N + 1 il supporto sarà limitato all’intervallo[x0, x1] o [xN , xN+1], rispettivamente). Di conseguenza, soltanto le funzioni di baseϕi−1 e ϕi+1 hanno supporto con intersezione non vuota con quello di ϕi e quindi lamatrice di rigidezza è tridiagonale in quanto aij = 0 se j �∈ {i− 1, i, i+ 1}.

Come si vede dall’espressione (3.15) le due funzioni di base ϕi e ϕi+1 definite suogni intervallo [xi, xi+1], si ripetono sostanzialmente immutate, a meno di un fattoredi scalatura legato alla lunghezza dell’intervallo stesso. Nella pratica si possono ot-tenere le due funzioni di base ϕi e ϕi+1 trasformando due funzioni di base ϕ0 e ϕ1costruite, una volta per tutte, su un intervallo di riferimento, tipicamente l’intervallo[0, 1].

A tal fine basta sfruttare il fatto che il generico intervallo (xi, xi+1) della de-composizione di (a, b) può essere ottenuto a partire dall’intervallo (0, 1) tramite la

Page 57: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.3 Il metodo degli elementi finiti nel caso monodimensionale 43

trasformazione lineare φ : [0, 1]→ [xi, xi+1] definita come

x = φ(ξ)=xi + ξ(xi+1 − xi). (3.16)

Se definiamo le due funzioni di base ϕ0 e ϕ1 su [0, 1] come

ϕ0(ξ) = 1− ξ, ϕ1(ξ) = ξ,

le funzioni di base ϕi e ϕi+1 su [xi, xi+1] saranno semplicemente date da

ϕi(x) = ϕ0(ξ(x)), ϕi+1(x) = ϕ1(ξ(x))

essendo ξ(x) = (x− xi)/(xi+1 − xi) (si vedano le Figure 3.3 e 3.4).

0 1

ϕ0

ξ

1

xi xi+1

ϕi

x

1φ−→

Figura 3.3. La funzione di base ϕi in [xi, xi+1] e la corrispondente funzione di base ϕ0sull’elemento di riferimento

0 1

ϕ1

ξ

1

xi xi+1

ϕi+1

x

1φ−→

Figura 3.4. La funzione base ϕi+1 in [xi, xi+1] e la corrispondente funzione di base ϕ1sull’elemento di riferimento

Questo modo di procedere (definire la base su un elemento di riferimento e poitrasformarla su uno specifico elemento) risulterà di fondamentale importanza quandosi considereranno problemi in più dimensioni.

Lo spazio X2h

Le funzioni di X2h sono polinomi compositi, di grado 2 su ciascun intervallo di The, di conseguenza, sono univocamente individuate quando siano assegnati i valori daesse assunti in tre punti distinti di ogni intervallo Kj . Per garantire la continuità dellefunzioni di X2h due di questi punti saranno gli estremi del generico intervallo di Th, il

Page 58: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

44 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

terzo sarà il punto medio dello stesso. I gradi di libertà dello spazio X2h sono perciò ivalori di vh assunti agli estremi degli intervalli componenti la partizione Th e nei puntimedi degli stessi. Ordiniamo i nodi a partire da x0 = a fino a x2N+2 = b; in tal modoi punti medi corrisponderanno ai nodi di indice dispari, gli estremi degli intervalli aquelli di indice pari (per altre numerazioni si veda l’Esercizio 6).

Esattamente come nel caso precedente la base lagrangiana per X2h è quella formatadalle funzioni

ϕi ∈ X2h tali che ϕi(xj) = δij, i, j = 0, 1, . . . , 2N + 2.

Sono quindi funzioni quadratiche a tratti che assumono valore 1 nel nodo a cui so-no associate e sono nulle nei restanti nodi. Riportiamo l’espressione esplicita dellagenerica funzione di base associata agli estremi degli intervalli della partizione

(i pari) ϕi(x) =

⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

(x− xi−1)(x− xi−2)

(xi − xi−1)(xi − xi−2)se xi−2 ≤ x ≤ xi,

(xi+1 − x)(xi+2 − x)

(xi+1 − xi)(xi+2 − xi)se xi ≤ x ≤ xi+2,

0 altrimenti.

Per i punti medi degli intervalli si ha invece

(i dispari) ϕi(x) =

⎧⎪⎨⎪⎩(xi+1 − x)(x− xi−1)

(xi+1 − xi)(xi − xi−1)se xi−1 ≤ x ≤ xi+1,

0 altrimenti.

Come nel caso degli elementi finiti lineari, per descrivere la base è sufficiente for-nire l’espressione delle funzioni di base sull’intervallo di riferimento [0, 1] e poitrasformare queste ultime tramite la (3.16). Abbiamo

ϕ0(ξ) = (1− ξ)(1− 2ξ), ϕ1(ξ) = 4(1− ξ)ξ, ϕ2(ξ) = ξ(2ξ − 1).

Di queste funzioni riportiamo una rappresentazione nella Fig. 3.5. Si noti come lagenerica funzione di base ϕ2i+1 relativa al nodo x2i+1 abbia un supporto che coincidecon l’elemento cui il punto medio appartiene. Per la sua forma particolare è nota comefunzione a bolla.Possiamo anche introdurre altre basi di tipo non lagrangiano. Una particolarmenteinteressante è quella costituita (localmente) dalle tre funzioni

ψ0(ξ) = 1− ξ, ψ1(ξ) = ξ, ψ2(ξ) = (1− ξ)ξ.

Una base di questo genere è detta gerarchica in quanto, per costruire la base per X2h,si sfruttano le funzioni di base dello spazio di dimensione immediatamente inferio-re, X1h. Essa è conveniente da un punto di vista computazionale se si decide, durantel’approssimazione di un problema, di aumentare solo localmente, cioè solo in alcu-ni elementi, il grado di interpolazione (ovvero se si intendesse effettuare quella chechiameremo adattività in grado od adattività di tipo p).

Page 59: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.3 Il metodo degli elementi finiti nel caso monodimensionale 45

ϕ2

ϕ1ϕ

0

ξ0 0.5 1

Figura 3.5. Le funzioni di base diX2h sull’intervallo di riferimento

I polinomi di Lagrange sono linearmente indipendenti per costruzione. In generaleperò tale proprietà andrà verificata per assicurarci che l’insieme dei polinomi scelti siaeffettivamente una base. Nel caso delle funzioni ψ0, ψ1 e ψ2 dobbiamo verificare che

se α0ψ0(ξ) + α1ψ1(ξ) + α2ψ2(ξ) = 0 ∀ξ, allora α0 = α1 = α2 = 0.

In effetti

α0ψ0(ξ) + α1ψ1(ξ) + α2ψ2(ξ) = α0 + ξ(α1 − α0 + α2)− α2ξ2 = 0

implica α0 = 0, α2 = 0 e quindi α1 = 0. Osserviamo che la matrice di rigidezza nelcaso di elementi finiti di grado 2 sarà pentadiagonale.

Procedendo nello stesso modo si potranno generare basi per Xrh con r arbitra-rio: facciamo però notare che al crescere del grado polinomiale aumenta il numerodi gradi di libertà e dunque il costo computazionale per risolvere il sistema linea-re (3.5). Inoltre, come ben noto dalla teoria dell’interpolazione polinomiale, l’uso digradi elevati combinato con distribuzioni equispaziate dei nodi, conduce ad appros-simazioni sempre meno stabili, a discapito dell’aumento teorico di accuratezza. Unrimedio brillante è fornito dall’approssimazione agli elementi spettrali che, facendouso di nodi opportuni (quelli delle formule di quadratura di Gauss), consente di ge-nerare approssimazioni di accuratezza arbitrariamente elevata. Si veda al proposito ilCap. 4.

3.3.1 Una definizione di elemento finito nel caso Lagrangiano

Possiamo a questo punto formalizzare che cosa si intende per elemento finito. Dagliesempi visti si può dedurre che tre sono gli ingredienti che consentono di caratterizzarein modo univoco un elemento finito nel caso generale, ovvero indipendentemente dalladimensione:

• il dominio di definizione K dell’elemento. Nel caso monodimensionale è un inter-vallo, nel caso bidimensionale può essere un triangolo o un quadrilatero; nel casotridimensionale può essere un tetraedro, un esaedro o un prisma;

• lo spazio dei polinomi Pr definito su di esso ed una base {ϕj}rj=0 di Pr ;

Page 60: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

46 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

• un insieme di funzionali su Pr, Σ = {γi : Pr → R}ri=0 che soddisfinoγi(ϕj) = δij , essendo δij il delta di Kronecker. Essi permettono di identificareunivocamente i coefficienti {αj}rj=0 dello sviluppo di un polinomiop ∈ Pr rispet-to alla base scelta, p(x) =

∑rj=0 αjϕj(x). Infatti si ha αi = γi(p), i = 0, . . . , r.

Tali coefficienti sono detti gradi di libertà dell’elemento finito.

Nel caso di elementi finiti di Lagrange la base scelta è fornita dai polinomi di Lagran-ge e il grado di libertà αi è eguale al valore assunto dal polinomio p in un punto aidi K, detto nodo, cioè si ha αi = p(ai), i = 0, . . . , r. Si può quindi porre, con unpiccolo abuso di notazione, Σ = {aj}rj=0, in quanto la conoscenza della posizionedei nodi ci permette di trovare i gradi di libertà (si noti tuttavia che questo non è veroin generale, si pensi solo al caso della base gerarchica precedentemente introdotta).Nel seguito faremo riferimento esclusivamente al caso di elementi finiti di Lagrange.

Nella costruzione di un elemento finito di Lagrange la scelta dei nodi non è arbi-traria. Infatti il problema dell’interpolazione su un certo insieme K può non essereben posto. Per questo motivo risulta utile la seguente definizione:

Definizione 3.1 Un insieme Σ = {aj}rj=0 di punti di K è detto unisolvente suPr se, dati r + 1 scalari arbitrari αj , j = 0, . . . , r, esiste un’unica funzionep ∈ Pr tale che

p(aj) = αj, j = 0, . . . , r.

In tal caso, la terna (K,Σ,Pr) viene chiamata elemento finito di Lagrange. Nel casodi elementi finiti lagrangiani si richiama solitamente l’elemento citando il solo spaziodei polinomi: così gli elementi finiti lineari introdotti in precedenza sono detti P1,quelli quadratici P2, e così via.

Come abbiamo visto, per gli elementi finiti P1 e P2 è conveniente definire l’e-lemento finito a partire da un elemento di riferimento K ; tipicamente si tratta del-l’intervallo (0, 1) nel caso monodimensionale, e del triangolo rettangolo di vertici(0, 0), (1, 0) e (0, 1) in quello bidimensionale (a elementi triangolari). Indi, tramiteuna trasformazione φ, si passa all’elemento finito definito su K. La trasformazioneriguarda perciò l’elemento finito nella sua interezza. Più precisamente, si osserva chese (K, Σ, Pr) è un elemento finito di Lagrange e se φ : K → Rd è una applicazionecontinua e iniettiva, allora (K,Σ, Pr) si dice ancora elemento finito di Lagrange con

K = φ(K), Pr = {p : K → R : p ◦ φ ∈ Pr}, Σ = φ(Σ).

La definizione dello spazio dei polinomi Pr definiti sui triangoli sarà introdotta nellaSez. 3.4.

Page 61: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.3 Il metodo degli elementi finiti nel caso monodimensionale 47

3.3.2 L’approssimazione con elementi finiti lineari

Vediamo ora come approssimare il seguente problema{−u′′ + σu = f, a < x < b,u(a) = 0, u(b) = 0,

la cui formulazione debole, come abbiamo visto nel capitolo precedente, è

trovare u ∈ H10(a, b) :b∫a

u′v′ dx+

b∫a

σuv dx =

b∫a

fv dx ∀v ∈ H10(a, b).

Come fatto in (3.13), introduciamo una decomposizione Th di (0, 1) in N + 1sottointervalliKj e di utilizzare elementi finiti lineari. Introduciamo dunque lo spazio

Vh = {vh ∈ X1h : vh(a) = vh(b) = 0} (3.17)

ossia lo spazio delle funzioni lineari a tratti, nulle al bordo (in Fig. 3.6 è statarappresentata una funzione di tale spazio). Esso è un sottospazio di H10(a, b).

xi xNxi−1

hi

xxN+1 = ba = x0

Figura 3.6. Esempio di una funzione di Vh

Il corrispondente problema ad elementi finiti è allora dato da

trovare uh ∈ Vh :

b∫a

u′hv′h dx+

b∫a

σuhvh dx =

b∫a

fvh dx ∀vh ∈ Vh. (3.18)

Utilizziamo come base di X1h l’insieme delle funzioni a capanna definite in (3.15)con l’accorgimento di considerare i soli indici 1 ≤ i ≤ N . Esprimendo uh comecombinazione lineare di tali funzioni uh(x) =

∑Ni=1 uiϕi(x), ed imponendo che la

(3.18) sia soddisfatta per ogni elemento della base di Vh, si ottiene un sistema di Nequazioni nelle N incognite ui

Au = f , (3.19)

Page 62: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

48 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

dove:

A = [aij], aij =

b∫a

ϕ′jϕ′i dx+

b∫a

σϕjϕi dx ;

u = [ui]; f = [fi], fi =

b∫a

fϕi dx.

Si osservi che ui = uh(xi), 1 ≤ i ≤ N , ovvero le incognite non sono altro che ivalori nodali della soluzione uh.Per trovare la soluzione numerica uh basta ora risolvere il sistema lineare (3.19).

Nel caso di elementi finiti lineari, la matrice di rigidezza A non è solo sparsa, marisulta essere anche tridiagonale. Per calcolarne gli elementi procediamo come segue.Come abbiamo visto non è necessario operare direttamente con le funzioni di base suisingoli intervalli, ma è sufficiente riferirsi a quelle definite sull’intervallo di riferimen-to: basterà poi trasformare opportunamente gli integrali che compaiono all’interno deicoefficienti di A. Un generico elemento non nullo della matrice di rigidezza è dato da

aij =

b∫a

(ϕ′iϕ′j + σϕiϕj)dx =

xi∫xi−1

(ϕ′iϕ′j + σϕiϕj)dx+

xi+1∫xi

(ϕ′iϕ′j + σϕiϕj)dx.

Consideriamo il primo addendo supponendo j = i − 1. Evidentemente, tramite latrasformazione di coordinate (3.16), possiamo riscriverlo come

xi∫xi−1

(ϕ′iϕ′i−1 + σϕiϕi−1)dx =

1∫0

[ϕ′i(x(ξ))ϕ′i−1(x(ξ)) + σ(x(ξ))ϕi(x(ξ))ϕi−1(x(ξ))]hi dξ,

avendo osservato che dx = d(xi−1 + ξhi) = hidξ. D’altra parte ϕi(x(ξ)) = ϕ1(ξ) eϕi−1(x(ξ)) = ϕ0(ξ). Osserviamo inoltre che

d

dxϕi(x(ξ)) =

dxϕ′1(ξ) =

1

hiϕ′1(ξ).

Analogamente si trova che ϕ′i−1(x(ξ)) = (1/hi)ϕ′0(ξ). Dunque, l’espressione dell’e-

lemento ai,i−1 diventa

ai,i−1 =

1∫0

(1

hiϕ′1(ξ)ϕ

′0(ξ) + σϕ1(ξ)ϕ0(ξ)hi

)dξ.

Il vantaggio sta nel fatto che nel caso di coefficienti costanti tutti gli integrali checompaiono all’interno della matrice A possono essere calcolati una volta per tutte.Vedremo nel caso multidimensionale come questo modo di procedere mantenga lasua importanza anche nel caso di coefficienti variabili.

Page 63: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.3 Il metodo degli elementi finiti nel caso monodimensionale 49

3.3.3 Interpolazione e stima dell’errore di interpolazione

Poniamo I = (a, b). Per ogni v ∈ C0(I), definiamo interpolante di v nello spazio diX1h, determinato dalla partizione Th, la funzione Π1hv tale che:

Π1hv(xi) = v(xi) ∀xi, nodo della partizione, i = 0, . . . , N + 1.

Utilizzando la base lagrangiana {ϕi} dello spazio X1h, l’interpolante può essereespressa nel seguente modo

Π1hv(x) =

N+1∑i=0

v(xi)ϕi(x).

Quindi, una volta nota v e una base di X1h , l’interpolante di v è facilmente calcolabile.L’operatore Π1h : C

0(I) �→ X1h che associa ad una funzione v la sua interpolante Π1hvè detto operatore di interpolazione.

Analogamente possiamo definire gli operatori Πrh : C0(I) �→ Xrh, per r ≥ 1.Indicato con ΠrKj l’operatore di interpolazione locale che associa ad una funzione v ilpolinomio ΠrKjv ∈ Pr(Kj), interpolante v negli r + 1 nodi dell’elemento Kj ∈ Th,definiamo Πrhv come

Πrhv ∈ Xrh : Πrhv∣∣Kj= ΠrK(v

∣∣Kj) ∀Kj ∈ Th. (3.20)

Teorema 3.2 Sia v ∈ Hr+1(I), per r ≥ 1, e sia Πrhv ∈ Xrh la sua funzioneinterpolante definita nella (3.20). Vale allora la seguente stima dell’errore diinterpolazione

|v −Πrhv|Hk(I) ≤ Ck,rhr+1−k|v|Hr+1(I) per k = 0, 1. (3.21)

Le costanti Ck,r sono indipendenti da v ed h. Ricordiamo che H0(I)=L2(I) eche | · |H0(I)=‖ · ‖L2(I).

Dimostrazione. Dimostriamo (3.21) per il caso r = 1, rimandando a [QV94, Cap. 3] oa [Cia78] per il caso più generale. Incominciamo con l’osservare che se v ∈ Hr+1(I)allora v ∈ Cr(I). In particolare, per r = 1, v ∈ C1(I). Poniamo e = v − Π1hv.Dato che e(xj) = 0 per ogni nodo xj , il teorema di Rolle permette di concludereche esistono degli ξj ∈ Kj = (xj−1, xj), con j = 1, . . . , N + 1, per i quali si hae′(ξj) = 0.

Essendo Π1hv una funzione lineare in ciascun intervallo Kj , otteniamo che perx ∈ Kj

e′(x) =

∫ xξj

e′′(s)ds =

∫ xξj

v′′(s)ds,

Page 64: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

50 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

da cui deduciamo che

|e′(x)| ≤∫ xjxj−1

|v′′(s)|ds per x ∈ Kj .

Utilizzando ora la disuguaglianza di Cauchy-Schwarz otteniamo

|e′(x)| ≤(∫ xjxj−112ds

)1/2(∫ xjxj−1

|v′′(s)|2ds)1/2

≤ h1/2

(∫ xjxj−1

|v′′(s)|2ds)1/2

.

(3.22)Pertanto, ∫ xj

xj−1|e′(x)|2dx ≤ h2

∫ xjxj−1

|v′′(s)|2ds. (3.23)

Per poter maggiorare e(x) basta notare che, per ogni x ∈ Kj , e(x) =∫ xxj−1

e′(s)ds, e

quindi, applicando la disuguaglianza (3.22), si ottiene

|e(x)| ≤∫ xjxj−1

|e′(s)|ds ≤ h3/2

(∫ xjxj−1

|v′′(s)|2ds)1/2

.

Dunque, ∫ xjxj−1

|e(x)|2dx ≤ h4∫ xjxj−1

|v′′(s)|2ds. (3.24)

Sommando sugli indici j da 1 a N +1 in (3.23) e (3.24) si ottengono, rispettivamentele disuguaglianze

⎛⎝ b∫a

|e′(x)|2dx

⎞⎠1/2 ≤ h

⎛⎝ b∫a

|v′′(x)|2dx

⎞⎠1/2 ,e ⎛⎝ b∫

a

|e(x)|2dx

⎞⎠1/2 ≤ h2

⎛⎝ b∫a

|v′′(x)|2dx

⎞⎠1/2

che corrispondono alla stima desiderata (3.21) per r = 1, con Ck,1 = 1 e k = 0, 1. �

3.3.4 Stima dell’errore nella normaH1

Grazie al risultato (3.21) possiamo ottenere una stima sull’errore di approssimazionedel metodo degli elementi finiti.

Page 65: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.3 Il metodo degli elementi finiti nel caso monodimensionale 51

Teorema 3.3 Sia u ∈ V la soluzione esatta del problema variazionale (3.1) (nelcaso in esame Ω = I = (a, b)) ed uh la sua soluzione approssimata con ilmetodo ad elementi finiti di grado r, ovvero la soluzione del problema (3.2) incui Vh = Xrh ∩ V . Sia inoltre u ∈ Hp+1(I), per un opportuno p tale che r ≤ p.Allora vale la seguente disuguaglianza, detta anche stima a priori dell’errore:

‖u− uh‖V ≤M

αChr|u|Hr+1(I), (3.25)

essendo C una costante indipendente da u e da h.

Dimostrazione. Dalla (3.10), ponendo wh = Πrhu, l’interpolante di grado r di u nellospazio Vh, si ottiene

‖u− uh‖V ≤M

α‖u−Πrhu‖V .

Ora il membro di destra può essere maggiorato con la stima dell’errore di interpo-lazione (3.21) per k = 1, da cui segue la tesi. �

Da quest’ultimo teorema segue che, per aumentare l’accuratezza, si possono se-guire due strategie differenti: diminuire h, ossia raffinare la griglia, oppure aumentarer, cioè utilizzare elementi finiti di grado più elevato. Quest’ultima strada ha senso peròsolo se la soluzione u è abbastanza regolare: infatti, dalla (3.25) si ricava immediata-mente che, se u ∈ V ∩Hp+1(I), il massimo valore di r che ha senso prendere è r = p.Valori maggiori di r non assicurano un miglioramento dell’approssimazione: dunquese la soluzione non è molto regolare non conviene usare elementi finiti di grado ele-vato, in quanto il maggior costo computazionale non è ripagato da un miglioramentodella convergenza. Un caso interessante è quello in cui la soluzione possiede solo laregolarità minima (p = 0). Dalle relazioni (3.10) e (3.11) si ricava che si ha comunqueconvergenza, ma la stima (3.25) non è più valida. Non si sa quindi dire come la nor-ma V dell’errore tenda a zero al decrescere di h. Nella Tabella 3.1 vengono riassuntequeste situazioni.

Tabella 3.1. Ordine di convergenza rispetto a h per il metodo degli elementi finiti al variaredella regolarità della soluzione e del grado r degli elementi finiti. Su ogni colonna abbiamoevidenziato il risultato corrispondente alla scelta “ottimale” del grado polinomiale

r u ∈ H1(I) u ∈ H2(I) u ∈ H3(I) u ∈ H4(I) u ∈ H5(I)1 converge h1 h1 h1 h1

2 converge h1 h2 h2 h2

3 converge h1 h2 h3 h3

4 converge h1 h2 h3 h4

Page 66: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

52 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

In generale, possiamo affermare che: se u ∈ Hp+1(I), per un p > 0, allora esiste unacostante C indipendente da u e da h, tale che

‖u− uh‖H1(I) ≤ Chs|u|Hs+1(I), s = min{r, p}. (3.26)

3.4 Il metodo degli elementi finiti nel caso multidimensionale

In questa sezione estendiamo al caso di problemi ai limiti in regioni bidimensionali ilmetodo degli elementi finiti introdotto precedentemente per problemi in una dimen-sione. Faremo inoltre specifico riferimento al caso di elementi finiti triangolari. Moltidei risultati presentati sono comunque immediatamente estendibili ad elementi finitipiù generali (si veda, per esempio, [QV94]).

Per semplicità di trattazione, considereremo solo domini Ω ⊂ R2 di forma po-ligonale e triangolazioni Th che ne rappresentino il ricoprimento con triangoli nonsovrapposti. Si rimanda al Cap. 12 per una descrizione più dettagliata delle caratteri-stiche essenziali di una generica triangolazione Th.In questo modo il dominio discretizzato

Ωh = int

( ⋃K∈Th

K

)rappresentato dalla parte interna dell’unione dei triangoli di Th coincide esattamentecon Ω. Ricordiamo che con int(A) indichiamo la parte interna dell’insieme A, ovverola regione che si ottiene privando A della sua frontiera. Non tratteremo quindi la pro-blematica relativa all’approssimazione di un dominio non poligonale con una triango-lazione ad elementi finiti (vedi Fig. 3.7). Pertanto, utilizzeremo nel seguito il simboloΩ per indicare indistintamente sia il dominio computazionale che la sua (eventuale)approssimazione.

Anche nel caso multidimensionale, il parametro h è legato alla spaziatura dellagriglia. Posto hK = diam(K), per ogni K ∈ Th, dove diam(K) = maxx,y∈K |x− y|è il diametro dell’elemento K, definiamo h = maxK∈Th hK . Inoltre, imporremo che

ΩhΩ

Figura 3.7. Esempio di triangolazione di un dominio non-poligonale. La triangolazione induceuna approssimazioneΩh del dominioΩ tale che limh→0mis(Ω−Ωh) = 0. Questa problema-tica non viene trattata in questo testo. Il lettore interessato può consultare, per esempio, [Cia78]o [SF73]

Page 67: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.4 Il metodo degli elementi finiti nel caso multidimensionale 53

la griglia soddisfi la seguente condizione di regolarità. Sia ρK il diametro del cerchioinscritto al triangolo K (detto anche sfericità di K); una famiglia di triangolazioni{Th, h > 0} è detta regolare se, per un opportuno δ > 0, è verificata la condizione

hK

ρK≤ δ ∀K ∈ Th. (3.27)

Osserviamo che la condizione (3.27) esclude automaticamente tutti i triangoli moltodeformati (cioè allungati), ovvero la possibilità di utilizzare griglie computazionalianisotrope. Peraltro, griglie anisotrope sono spesso usate nell’ambito di problemi difluidodinamica in presenza di strati limite. Si veda l’Osservazione 3.5, e, soprattutto,le referenze ([AFG+00, DV02, FMP04]).Maggiori dettagli sulla generazione di griglie su domini bidimensionali sono fornitinel Cap. 12.Indichiamo con Pr lo spazio dei polinomi di grado globale minore o uguale a r, perr = 1, 2, . . .

P1 = {p(x1, x2) = a+ bx1 + cx2, con a, b, c ∈ R},P2 = {p(x1, x2) = a+ bx1 + cx2 + dx1x2 + ex21 + fx22, con a, b, c, d, e, f ∈ R},

...

Pr = {p(x1, x2) =∑

i, j ≥ 0i + j ≤ r

aijxi1xj2, con aij ∈ R}.

Si verifica che gli spazi Pr hanno dimensione pari a

dim Pr =(r + 1)(r + 2)

2.

Ad esempio, risultadim P1 = 3, dim P2 = 6 e dim P3 = 10, quindi su ogni elementodella triangolazione Th la generica funzione vh è ben definita qualora se ne conosca ilvalore, rispettivamente, in 3, 6 e 10 nodi opportunamente scelti (si veda la Fig. 3.8).Introduciamo lo spazio degli elementi finiti

Xrh ={vh ∈ C0(Ω) : vh|K ∈ Pr , ∀K ∈ Th

}, r = 1, 2, . . . (3.28)

ossia lo spazio delle funzioni globalmente continue che sono polinomiali di grado rsui singoli triangoli (elementi) della reticolazione Th.

Figura 3.8. Nodi per polinomi lineari (r = 1, a sinistra), quadratici (r = 2, al centro) e cubici(r = 3, a destra). Tali insiemi di nodi sono unisolventi

Page 68: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

54 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

Definiamo inoltre◦X rh = {vh ∈ Xrh : vh|∂Ω = 0}. (3.29)

Gli spazi Xrh e◦X rh

sono idonei ad approssimare rispettivamente H1(Ω) e H10(Ω), invirtù della seguente proprietà:

Proprietà 3.2 Condizione sufficiente perché una funzione v appartenga aH1(Ω) è che v ∈ C0(Ω) ed inoltre v appartenga a H1(K), ∀K ∈ Th.

3.4.1 Risoluzione del problema di Poisson con elementi finiti

Posto Vh =◦Xrh , si può introdurre il seguente problema a elementi finiti per l’appros-

simazione del problema di Poisson (2.1) con dato al bordo di Dirichlet (2.2), nel casoomogeneo (cioè con g = 0)

trovare uh ∈ Vh :

∫Ω

∇uh·∇vh dΩ =

∫Ω

fvh dΩ ∀ vh ∈ Vh. (3.30)

Come nel caso monodimensionale, ogni funzione vh ∈ Vh è caratterizzata, in modounivoco, dai valori che essa assume nei nodi Ni, con i = 1, . . . , Nh, della triangola-zione Th (escludendo i nodi di bordo dove vh = 0); ne consegue che una base dellospazio Vh può essere l’insieme delle ϕj ∈ Vh, j = 1, . . . , Nh, tali che

ϕj(Ni) = δij =

{0 i �= j,1 i = j,

i, j = 1, . . . , Nh.

In particolare se r = 1, i nodi sono i vertici degli elementi, esclusi i vertici appartenential bordo di Ω, mentre la generica funzione ϕj è lineare su ogni triangolo ed assume ilvalore 1 nel nodoNj e 0 in tutti gli altri nodi della reticolazione (si veda la Fig. 3.9).

ϕj

Nj

Figura 3.9. La funzione di base ϕj dello spazioX1h ed il suo supporto

Page 69: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.4 Il metodo degli elementi finiti nel caso multidimensionale 55

Una generica funzione vh ∈ Vh può essere espressa attraverso una combinazionelineare delle funzioni della base di Vh nel seguente modo

vh(x) =

Nh∑i=1

viϕi(x) ∀ x ∈ Ω, con vi = vh(Ni). (3.31)

Esprimendo allora la soluzione discreta uh in termini della base {ϕj} tramite la (3.31),uh(x) =

∑Nhj=1 ujϕj(x), con uj = uh(Nj), ed imponendo che essa verifichi la (3.30)

per ogni funzione della base stessa, si trova il seguente sistema lineare di Nh equazioninelle Nh incognite uj , equivalente al problema (3.30),

Nh∑j=1

uj

∫Ω

∇ϕj · ∇ϕi dΩ =

∫Ω

fϕi dΩ, i = 1, . . . , Nh. (3.32)

La matrice di rigidezza ha dimensioni Nh ×Nh ed è definita come

A = [aij] con aij =

∫Ω

∇ϕj · ∇ϕi dΩ. (3.33)

Inoltre, introduciamo i vettori

u = [uj] con uj = uh(Nj), f = [fi] con fi =

∫Ω

fϕi dΩ. (3.34)

Il sistema lineare (3.32) si può allora scrivere come

Au = f . (3.35)

Come per il caso monodimensionale, le incognite sono ancora rappresentate dai valorinodali della soluzione uh.È evidente che, essendo il supporto della generica funzione di base ϕi formato dai solitriangoli aventi in comune il nodoNi, A è una matrice sparsa. In particolare il numerodegli elementi diA non nulli è dell’ordine di Nh in quanto aij è diverso da zero solo seNj eNi sono nodi dello stesso triangolo. Non è invece detto che A abbia una strutturadefinita (a banda, per esempio), dipenderà da come i nodi sono stati numerati.

Consideriamo ora il caso di un problema di Dirichlet non omogeneo rappresen-tato dalle equazioni (2.1)-(2.2). Abbiamo visto nel capitolo precedente che ci si puòcomunque ricondurre al caso omogeneo attraverso un rilevamento del dato di bordo.Nel corrispondente problema discreto si costruirà un rilevamento di una opportunaapprossimazione del dato di bordo, procedendo nel seguente modo.Indichiamo con Nh i nodi interni della triangolazione Th e con N th il numero totale,inclusi quindi i nodi di bordo, che, per comodità, supporremo numerati per ultimi.L’insieme dei nodi di bordo sarà dunque formato da {Ni, i = Nh + 1, . . . , N

th}. Una

possibile approssimazione gh del dato al bordo g può essere ottenuta interpolando g

Page 70: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

56 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

Figura 3.10. Esempio di rilevamento di un dato al bordo di Dirichlet non omogeneo u = g,con g variabile

sullo spazio formato dalle tracce su ∂Ω di funzioni di Xrh. Essa può essere scrittacome combinazione lineare delle tracce delle funzioni di base di Xrh associate ai nodidi bordo

gh(x) =∑Nthi=Nh+1

g(Ni)ϕi∣∣∂Ω(x) ∀x ∈ ∂Ω. (3.36)

Il suo rilevamento Rgh ∈ Xrh è costruito come segue

Rgh(x) =∑Nthi=Nh+1

g(Ni)ϕi(x) ∀x ∈ Ω. (3.37)

In Fig. 3.10 viene fornito un esempio di un possibile rilevamento del dato al bordo diDirichlet non omogeneo (2.2), nel caso in cui g abbia valore non costante.

La formulazione ad elementi finiti del problema di Poisson diventa quindi:

trovare◦uh∈ Vh t. c.∫

Ω

∇ ◦uh ·∇vh dΩ =

∫Ω

fvh dΩ −∫Ω

∇Rgh ·∇vh dΩ ∀ vh ∈ Vh. (3.38)

La soluzione approssimata sarà poi fornita da uh =◦uh +Rgh .

Si noti che, grazie al particolare rilevamento adottato, si può dare il seguente signifi-cato algebrico alla (3.38)

Au = f − Bgdove A e f sono definiti come in (3.33) e (3.34), essendo ora uj =

◦uh (Nj). Posto

N bh = N th − Nh (è il numero di nodi di bordo), il vettore g ∈ RNbh e la matrice

B ∈ RNh×Nbh hanno componenti, rispettivamente

gi = g(Ni+Nh), i = 1, . . . , N bh,

bij =

∫Ω

∇ϕj+Nh · ∇ϕi dΩ, i = 1, . . . , Nh, j = 1, . . . , Nbh.

Osservazione 3.4 Le matrici A e B sono entrambe sparse. Un efficace programmamemorizzerà esclusivamente gli elementi non nulli. (Si veda, per esempio, [Saa96] peruna descrizione di possibili formati di memorizzazione per matrici sparse, ed anche

Page 71: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.4 Il metodo degli elementi finiti nel caso multidimensionale 57

il Cap. 11). In particolare, grazie allo speciale rilevamento adottato, la matrice B avrànulle tutte le righe corrispondenti a nodi non adiacenti ad un nodo di bordo (si ricordache due nodi di griglia si dicono adiacenti se esiste un elemento K ∈ Th a cui entrambiappartengono). •

3.4.2 Condizionamento della matrice di rigidezza

Abbiamo visto che la matrice di rigidezza A = [a(ϕj, ϕi)] associata al problema diGalerkin e quindi, in particolare, al metodo degli elementi finiti, è definita positiva;inoltre A è simmetrica se la forma bilineare a(·, ·) è simmetrica.

Per una matrice simmetrica e definita positiva, il numero di condizionamentorispetto alla norma 2 è dato da

K2(A) =λmax(A)

λmin(A),

essendo λmax(A) e λmin(A) gli autovalori massimo e minimo, rispettivamente, di A.Si può dimostrare che, sia nel caso monodimensionale che in quello multidimensio-nale, per la matrice di rigidezza vale la seguente relazione

K2(A) = Ch−2, (3.39)

dove C è una costante indipendente dal parametro h, ma dipendente dal grado deglielementi finiti utilizzati.

Per dimostrare la (3.39), ricordiamo che gli autovalori della matrice A verificano larelazione

Av = λhv,

essendo v l’autovettore associato all’autovalore λh. Sia vh l’unico elemento dellospazio Vh i cui valori nodali sono le componenti vi di v, ovvero la formulazione datadalla (3.31). Supponiamo a(·, ·) simmetrica, dunqueA è simmetrica e i suoi autovalorisono reali e positivi. Abbiamo allora

λh =(Av,v)

|v|2 =a(vh, vh)

|v|2 (3.40)

essendo | · | la norma vettoriale euclidea. Supponiamo che la famiglia di triangola-zioni {Th, h > 0} sia regolare (ovvero soddisfi la (3.27)). Supporremo inoltre che letriangolazioni siano quasi-uniformi, ovvero tali per cui esiste una costante τ > 0 t.c.

minK∈Th

hK ≥ τ h ∀h > 0.

Osserviamo ora che, nelle ipotesi fatte su Th, vale la seguente disuguaglianza inversa(per la dimostrazione rimandiamo a [QV94])

∃CI > 0 : ∀vh ∈ Vh, ‖∇vh‖L2(Ω) ≤ CI h−1 ‖vh‖L2(Ω), (3.41)

la costante CI essendo indipendente da h.

Page 72: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

58 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

Possiamo ora dimostrare che esistono due costanti C1, C2 > 0 tali che, per ognivh ∈ Vh come in (3.7), si ha

C1 hd |v|2 ≤ ‖vh‖2L2(Ω) ≤ C2 h

d |v|2 (3.42)

essendo d la dimensione spaziale, con d = 1, 2, 3. Per la dimostrazione nel caso did generica rimandiamo a [QV94], Proposizione 6.3.1. Qui ci limitiamo a verificarela seconda disuguaglianza nel caso monodimensionale (d = 1) e per elementi finitilineari. In effetti, su ogni elemento Ki = [xi−1, xi], abbiamo:∫

Ki

v2h(x) dx =

∫Ki

(vi−1ϕi−1(x) + viϕi(x)

)2dx,

con ϕi−1 e ϕi definite secondo la (3.15). Allora, un calcolo diretto mostra che∫Ki

v2h(x) dx ≤ 2(v2i−1

∫Ki

ϕ2i−1(x) dx+ v2i

∫Ki

ϕ2i (x) dx)=2

3hi(v2i−1 + v2i

)con hi = xi − xi−1. La disuguaglianza

‖vh‖2L2(Ω) ≤ C h |v|2

con C = 4/3, si trova semplicemente sommando sugli intervalli K ed osservando cheogni contributo nodale vi è contato due volte.D’altro canto, dalla (3.40), otteniamo, grazie alla continuità e alla coercività dellaforma bilineare a(·, ·),

α‖vh‖2H1(Ω)|v|2 ≤ λh ≤M

‖vh‖2H1(Ω)|v|2 ,

essendo M ed α le costanti di continuità e di coercività, rispettivamente. Ora, ‖vh‖2H1(Ω)≥ ‖vh‖2L2(Ω) per definizione di norma in H1(Ω), mentre ‖vh‖H1(Ω) ≤ C3 h

−1

‖vh‖L2(Ω) (per un’opportuna costante C3 > 0) grazie alla (3.41). Usando allora ledisuguaglianze (3.42), otteniamo

αC1 hd ≤ λh ≤M C23 C2 h

−2 hd.

Abbiamo pertantoλmax(A)

λmin(A)≤ M C23 C2

αC1h−2

ovvero la (3.39).

La (3.39) mostra che al diminuire del passo h il numero di condizionamento dellamatrice di rigidezza aumenta e quindi il sistema ad essa associato diventa sempre piùmal condizionato.In particolare, se il dato f del sistema lineare (3.35) subisce una perturbazione δf(ovvero è affetto da errore), questa si ripercuote sulla soluzione con una perturbazioneδu per la quale vale la stima seguente

|δu ||u| ≤ K2(A)

|δf ||f | .

Page 73: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.4 Il metodo degli elementi finiti nel caso multidimensionale 59

È evidente che tanto più il numero di condizionamento è elevato tanto più la soluzionepuò risentire della perturbazione sui dati. (Del resto, si noti che si è sempre in presenzadi perturbazioni sui dati a causa degli inevitabili errori di arrotondamento introdotti dalcalcolatore.)

Come ulteriore esempio si può studiare come il condizionamento si ripercuota sulmetodo di risoluzione. Ad esempio, risolvendo il sistema lineare (3.35) con il metododel gradiente coniugato (si veda l’Appendice B). Viene costruita, in modo iterativo,una successione di soluzioni approssimate u(k) che converge alla soluzione esatta u.In particolare si ha

‖u(k) − u‖A ≤ 2(√

K2(A) − 1√K2(A) + 1

)k‖u(0) − u‖A,

avendo indicato con ‖v‖A =√vTAv la cosiddetta “norma A” di un generico vettore

v ∈ RNh . Se definiamo

ρ =

√K2(A) − 1√K2(A) + 1

,

tale quantità dà un’idea della velocità di convergenza del metodo: tanto più ρ è vi-cino a 0 tanto più velocemente il metodo converge, tanto più ρ è vicino ad 1 tantopiù lenta sarà la convergenza. Peraltro, per via della (3.39), tanto più si vuole essereaccurati, diminuendo h, tanto più il sistema sarà mal condizionato, e quindi tanto più“problematica” ne risulterà la sua risoluzione.

Nel caso si usi un metodo iterativo, il sistema andrà necessariamente precondi-zionato, ossia occorre trovare una matrice invertibile P, detta precondizionatore, taleche

K2(P−1A)� K2(A),

quindi applicare il metodo iterativo al sistema precondizionato con P (si veda l’Ap-pendice B).

3.4.3 Stima dell’errore di approssimazione nella norma dell’energia

Analogamente al caso monodimensionale, per ogni v ∈ C0(Ω) definiamo interpolan-te di v nello spazio di X1h determinato dalla triangolazione Th, la funzione Π1hv taleche

Π1hv(Ni) = v(Ni) per ogni nodoNi di Th, per i = 1, . . . , Nh.

È evidente che, se {ϕi} è la base lagrangiana dello spazio X1h, l’interpolante puòessere espressa nel seguente modo

Π1hv(x) =

Nh∑i=1

v(Ni)ϕi(x).

Page 74: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

60 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

KK

FK

Figura 3.11. Mappa FK tra il triangolo di riferimento K e il generico triangoloK

Quindi, una volta nota v e la base di X1h , l’interpolante di v è facilmente calcolabi-le. L’operatore Π1h : C

0(Ω) → X1h che associa ad una funzione continua v la suainterpolante Π1hv è detto operatore di interpolazione.

Analogamente possiamo definire un operatore Πrh : C0(Ω) → Xrh, per ogni in-

tero r ≥ 1. Indicato con ΠrK l’operatore di interpolazione locale che associa ad unafunzione continua v il polinomio ΠrKv ∈ Pr(K), interpolante v nei gradi di libertàdell’elemento K ∈ Th, definiamo

Πrhv ∈ Xrh : Πrhv∣∣K= ΠrK(v

∣∣K) ∀K ∈ Th. (3.43)

Si supporrà che Th appartenga ad una famiglia di triangolazioni regolari di Ω.

Per ricavare una stima per l’errore di approssimazione ‖u − uh‖V seguiamo unaprocedura analoga a quella utilizzata nel Teorema 3.3 per il caso monodimensionale.Il primo obiettivo è dunque quello di derivare una opportuna stima per l’errore di inter-polazione. A tal fine ricaveremo informazioni utili a partire dai parametri geometricidi ciascun triangolo K, ovvero dal diametro hK e dalla sfericità ρK di K. Sfrutte-remo inoltre la trasformazione affine ed invertibile FK : K → K tra il triangolo diriferimento K e il generico triangolo K (si veda la Fig. 3.11). Tale mappa è defini-ta da FK(x) = BK x + bK, con BK ∈ R2×2 e bK ∈ R2, e soddisfa la relazioneFK(K) = K. Si ricorda che la scelta del triangolo di riferimento K non è univoca.Avremo bisogno di alcuni risultati preliminari.

Lemma 3.2 (Trasformazione delle seminorme) Per ogni intero m ≥ 0 e ogniv ∈ Hm(K), sia v : K → R la funzione definita da v = v ◦ FK. Allorav ∈ Hm(K). Inoltre, esiste una costante C = C(m) > 0 tale che:

|v|Hm( K) ≤ C ‖BK‖m | detBK |−12 |v|Hm(K), (3.44)

|v|Hm(K) ≤ C ‖B−1K ‖m | detBK |12 |v|Hm( K), (3.45)

essendo ‖ · ‖ la norma matriciale associata alla norma vettoriale euclidea | · |,ovvero

‖BK‖ = supξ∈R2,ξ �=0

|BKξ||ξ| . (3.46)

Page 75: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.4 Il metodo degli elementi finiti nel caso multidimensionale 61

Dimostrazione. Dal momento che Cm(K) ⊂ Hm(K) con inclusione densa, per ognim ≥ 0, possiamo limitarci a dimostrare le due disuguaglianze precedenti per le fun-zioni di Cm(K), estendendo poi, per densità, il risultato alle funzioni di Hm(K). Lederivate nel seguito saranno dunque da intendersi in senso classico. Ricordiamo che

|v|Hm( K) =( ∑|α|=m

∫K

|Dαv|2 dx)1/2

,

rimandando all’Appendice A.3 per la definizione della derivata Dα. Utilizzando laregola di derivazione per una funzione composita, otteniamo

‖Dαv‖L2( K) ≤ C‖BK‖m∑|β|=m

‖(Dβv) ◦ FK‖L2( K).

Trasformando la norma ‖ · ‖L2( K) in ‖ · ‖L2(K) otteniamo

‖Dαv‖L2( K) ≤ C‖BK‖m| detBK |−12 ‖Dαv‖L2(K).

La disuguaglianza (3.44) segue dopo aver sommato sul multi-indiceα, per |α| = m.Il risultato (3.45) può essere dimostrato procedendo in modo del tutto analogo. �

Lemma 3.3 (Stime per le norme ‖BK‖ e ‖B−1K ‖) Si hanno le seguenti mag-giorazioni:

‖BK‖ ≤hKρ

, (3.47)

‖B−1K ‖ ≤h

ρK, (3.48)

essendo h e ρ il diametro e la sfericità del triangolo di riferimento K.

Dimostrazione. Grazie alla (3.46) abbiamo

‖BK‖ =1

ρsup

ξ∈R2,|ξ|=ρ|BKξ|.

Per ogni ξ, con |ξ| = ρ, possiamo trovare due punti x e y ∈ K tali che x − y = ξ.Poiché BKξ = FK(x)− FK(y), abbiamo che |BKξ| ≤ hK , ovvero la (3.47).Procedura del tutto analoga porta al risultato (3.48). �

Quello di cui abbiamo bisogno ora è una stima in Hm(K) della seminorma di(v−ΠrKv) ◦FK, per ogni funzione v di Hm(K). Denotiamo nel seguito l’interpolatoΠrKv ◦ FK con [ΠrKv]. I nodi di K sono NKi = FK(Ni), essendo Ni i nodi di K,

Page 76: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

62 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

e, analogamente, le funzioni di base ϕi definite su K sono identificate dalla relazioneϕi = ϕKi ◦FK, avendo indicato con ϕKi le funzioni di base associate all’elemento K.Pertanto

[ΠrKv] = ΠrKv ◦ FK =

MK∑i=1

v(NKi )ϕKi ◦ FK =

MK∑i=1

v(FK(Ni))ϕi = ΠrKv,

essendo MK il numero dei nodi su K individuati dalla scelta fatta per il grado r. Nesegue dunque che

|(v −ΠrKv) ◦ FK|Hm( K) = |v −ΠrKv|Hm( K). (3.49)

Al fine di stimare il secondo membro dell’uguaglianza precedente, iniziamo a dimo-strare il seguente risultato:

Lemma 3.4 (Lemma di Bramble-Hilbert) Sia L : Hr+1(K) → Hm(K), conm ≥ 0 e r ≥ 0, una trasformazione lineare e continua tale che

L(p) = 0 ∀p ∈ Pr(K). (3.50)

Allora, per ogni v ∈ Hr+1(K), si ha

|L(v)|Hm( K) ≤ ‖L‖L(Hr+1( K),Hm( K)) infp∈Pr( K)

‖v + p‖Hr+1( K), (3.51)

dove L(Hr+1(K),Hm(K)) indica lo spazio delle trasformazioni lineari econtinue l : Hr+1(K)→ Hm(K) la cui norma è

‖l‖L(Hr+1( K),Hm( K)) = supv∈Hr+1( K),v �=0

‖l(v)‖Hm( K))‖v‖Hr+1( K)

. (3.52)

Dimostrazione. Sia v ∈ Hr+1(K). Per ogni p ∈ Pr(K), grazie alla (3.50) e alladefinizione di norma (3.52), si ottiene

|L(v)|Hm( K) = |L(v + p)|Hm( K) ≤ ‖L‖L(Hr+1( K),Hm( K)) ‖v + p‖Hr+1( K).

Si deduce il risultato (3.51) grazie all’arbitrarietà di p. �

Il risultato seguente (per la cui dimostrazione rimandiamo a [QV94, Cap. 3]) for-nisce l’ultimo strumento necessario per ottenere la stima per l’errore di interpolazioneche stiamo cercando.

Page 77: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.4 Il metodo degli elementi finiti nel caso multidimensionale 63

Lemma 3.5 (Lemma di Deny-Lions) Per ogni r ≥ 0, esiste una costante C =C(r, K) tale che

infp∈Pr

‖v + p‖Hr+1( K) ≤ C |v|Hr+1( K) ∀v ∈ Hr+1(K). (3.53)

Come conseguenza dei due precedenti Lemmi, possiamo fornire il seguente

Corollario 3.3 Sia L : Hr+1(K) → Hm(K), con m ≥ 0 e r ≥ 0, una trasfor-mazione lineare e continua tale che L(p) = 0 per ogni p ∈ Pr(K). Allora esisteuna costante C = C(r, K) tale che, per ogni v ∈ Hr+1(K), si ha

|L(v)|Hm( K) ≤ C ‖L‖L(Hr+1( K),Hm( K)) |v|Hr+1( K). (3.54)

Siamo ora in grado di dimostrare la stima di interpolazione cercata.

Teorema 3.4 (Stima locale dell’errore d’interpolazione) Sia r ≥ 1 e 0 ≤m ≤ r + 1. Allora esiste una costante C = C(r,m, K) > 0 tale che

|v −ΠrKv|Hm(K) ≤ Chr+1KρmK

|v|Hr+1(K) ∀v ∈ Hr+1(K). (3.55)

Dimostrazione. Dalla Proprietà A.3 ricaviamo innanzitutto che Hr+1(K) ⊂ C0(K),per r ≥ 1. L’operatore d’interpolazione ΠrK risulta dunque ben definito in Hr+1(K).Utilizzando, nell’ordine, i risultati (3.45), (3.49), (3.48) e (3.54), abbiamo

|v −ΠrKv|Hm(K) ≤ C1‖B−1K ‖m| detBK |12 |v −Πr

Kv|Hm( K)

≤ C1hm

ρmK| detBK |

12 | v −Πr

Kv︸ ︷︷ ︸

L(v)

|Hm( K)

≤ C2hm

ρmK| detBK |

12 ‖L‖L(Hr+1( K),Hm( K))|v|Hr+1( K)

= C31

ρmK| detBK |

12 |v|Hr+1( K),

essendo C1 = C1(m), C2 = C2(r,m, K) e C3 = C3(r,m, K) costanti opportune.Osserviamo che il risultato (3.54) è stato applicato identificando L con l’operatoreI − Πr

K, essendo (I − Πr

K)p = 0, per ogni p ∈ Pr(K). Inoltre la quantità hm e la

norma dell’operatore L sono state incluse nella costante C3.

Page 78: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

64 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

Applicando a questo punto (3.44) e (3.47) otteniamo il risultato (3.55), ovvero

|v −ΠrKv|Hm(K) ≤ C41

ρmK‖BK‖r+1|v|Hr+1(K) ≤ C5

hr+1KρmK

|v|Hr+1(K), (3.56)

essendo C4 = C4(r,m, K) e C5 = C5(r,m, K) due opportune costanti. La quantitàρr+1 generata dalla (3.47) e legata alla sfericità dell’elemento di riferimento è statadirettamente inglobata nella costante C5. �

Possiamo infine dimostrare la stima globale per l’errore d’interpolazione:

Teorema 3.5 (Stima globale per l’errore d’interpolazione) Sia {Th}h>0 unafamiglia di triangolazioni regolari del dominio Ω e sia m = 0, 1 e r ≥ 1. Alloraesiste una costante C = C(r,m, K) > 0 tale che

|v −Πrhv|Hm(Ω) ≤ C( ∑K∈Th

h2(r+1−m)K |v|2Hr+1(K)

)1/2∀v ∈ Hr+1(Ω).

(3.57)In particolare otteniamo

|v −Πrhv|Hm(Ω) ≤ C hr+1−m|v|Hr+1(Ω) ∀v ∈ Hr+1(Ω). (3.58)

Dimostrazione. Grazie alla (3.55) e alla condizione di regolarità (3.27), abbiamo

|v −Πrhv|2Hm(Ω) =∑K∈Th

|v −ΠrKv|2Hm(K)

≤ C1∑K∈Th

(hr+1KρmK

)2|v|2Hr+1(K)

= C1∑K∈Th

(hKρK

)2mh2(r+1−m)K |v|2Hr+1(K)

≤ C1 δ2m∑K∈Th

h2(r+1−m)K |v|2Hr+1(K),

ovvero la (3.57), essendo C1 = C1(r,m, K) e C = C1 δ2m. La (3.58) segue grazie al

fatto che hK ≤ h, per ogni K ∈ Th, e che

|v|Hp(Ω) =( ∑K∈Th

|v|2Hp(K))1/2

,

per ogni intero p ≥ 0. �

Page 79: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.4 Il metodo degli elementi finiti nel caso multidimensionale 65

Nel caso m = 0 la regolarità della griglia non è necessaria per ottenere la stima(3.58). Ciò non è più vero per m = 1. Infatti, dato un triangolo K e una funzionev ∈ Hr+1(K), con r ≥ 1, si può dimostrare che vale la seguente disuguaglianza[QV94],

|v −Πrhv|Hm(K) ≤ Chr+1KρmK

|v|Hr+1(K), m = 0, 1,

con C indipendente da v e da Th. Quindi, nel caso m = 1 per una famiglia di griglieregolari otteniamo la (3.58) ponendo C = δC , essendo δ la costante che appare in(3.27). D’altra parte, la necessità della condizione di regolarità può essere dimostrataconsiderando un caso particolare per cui, per ogni C > 0, si può costruire una mesh(non regolare) per la quale la disuguaglianza (3.58) non è vera, come ci accingiamo adimostrare nel seguente esempio, relativo al caso r = 1.

Esempio 3.1 Si consideri il triangoloKl illustrato in Fig. 3.12, di vertici (0, 0), (1, 0), (0.5, l),con l ≤

√32 , e la funzione v(x1, x2) = x21. Chiaramente v ∈ H2(Kl) e la sua interpolante

lineare su Kl è data da Π1hv(x1, x2) = x1 − (4l)−1x2. Essendo in questo caso hKl = 1, ladisuguaglianza (3.58), applicata al singolo triangoloKl, fornirebbe

|v −Π1hv|H1(Kl) ≤ C|v|H2(Kl). (3.59)

Consideriamo ora il comportamento del rapporto

ηl =|v −Π1hv|H1(Kl)|v|H2(Kl)

quando l tende a zero, ovvero quando il triangolo si schiaccia. Osserviamo che consentirea l di tendere a zero equivale a violare la condizione di regolarità (3.27) in quanto, per lsufficientemente piccoli, hKl = 1, mentre, indicando con pKl il perimetro diKl,

ρKl =4|Kl|pKl

=2l

1 +√1 + 4l2

tende a zero, dove con |Kl| si è indicata l’area dell’elementoKl. Si ha

ηl ≥‖∂x2 (v −Π1hv)‖L2(Kl)

|v|H2(Kl)=

⎛⎝∫Kl ( 14l)2 dx2l

⎞⎠ 12

=1

8l.

Quindi liml→0 ηl = +∞ (si veda la Fig. 3.12). Di conseguenza, non può esistere una costanteC, indipendente da Th, per cui valga la (3.59).

Il teorema sulla stima dell’errore di interpolazione ci fornisce immediatamenteuna stima sull’errore di approssimazione del metodo di Galerkin. La dimostrazione èdel tutto analoga a quella del Teorema 3.3 per il caso monodimensionale. In effetti,basta applicare la (3.10) ed il Teorema 3.5 (per m = 1) per ottenere la seguente stimadell’errore:

Page 80: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

66 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

1

lKl

x1

x2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

10

20

30

40

50

60

70

80

90

100

l

Figura 3.12. Il triangolo Kl (a sinistra) e l’andamento, in funzione di l, del rapporto |v −Π1hv|H1(Kl)/|v|H2(Kl) (a destra)

Teorema 3.6 Sia u∈ V la soluzione esatta del problema variazionale (3.1) eduh la sua soluzione approssimata con il metodo agli elementi finiti di grado r.Se u ∈ Hr+1(Ω), allora valgono le seguenti stime a priori dell’errore:

‖u− uh‖H1(Ω) ≤M

αC( ∑K∈Th

h2rK |u|2Hr+1(K))1/2

, (3.60)

‖u− uh‖H1(Ω) ≤M

αChr|u|Hr+1(Ω), (3.61)

essendo C una costante indipendente da h e da u.

Anche nel caso multidimensionale per aumentare l’accuratezza si possono seguiredunque due strategie differenti:

1. diminuire h, ossia raffinare la griglia;2. aumentare r, cioè utilizzare elementi finiti di grado più elevato.

Quest’ultima strada è percorribile però solo se la soluzione u è abbastanza re-golare. In generale, possiamo affermare che, se u ∈ Hp+1(Ω) per qualche p > 0,allora

‖u− uh‖H1(Ω) ≤ Chs|u|Hs+1(Ω), s = min{r, p}, (3.62)

come già visto nel caso monodimensionale (si veda la (3.26)).

Osservazione 3.5 (Caso di griglie anisotrope) La stima dell’errore d’interpolazione(3.55) (e la conseguente stima dell’errore di discretizzazione) può essere generaliz-zata al caso di griglie anisotrope. In tal caso tuttavia il termine di destra della (3.55)assume un’espressione più complicata: queste stime, infatti, a causa della loro naturadirezionale, devono tener conto delle informazioni provenienti da direzioni caratteri-stiche associate ai singoli triangoli che rimpiazzano l’informazione “globale” concen-

Page 81: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.4 Il metodo degli elementi finiti nel caso multidimensionale 67

trata nella seminorma |v|Hr+1(K). Il lettore interessato può consultare [Ape99, FP01].Rimandiamo inoltre alle Figure 3.15 e 5.15 per alcuni esempi di griglie anisotrope. •

3.4.4 Stima dell’errore di approssimazione in norma L2

La (3.61) fornisce una stima dell’errore di approssimazione nella norma dell’ener-gia. Analogamente può essere ricavata una stima dell’errore nella norma L2. Essendoquest’ultima norma meno forte della precedente, ci si deve aspettare una più elevatavelocità di convergenza rispetto ad h.

Lemma 3.6 (Regolarità ellittica) Si consideri il problema di Dirichlet omoge-neo {

−Δw = g in Ω,w = 0 su ∂Ω,

con g ∈ L2(Ω). Se ∂Ω è sufficientemente regolare (ad esempio, è sufficiente che∂Ω sia una curva di classe C2, oppure che Ω sia un poligono convesso), alloraw ∈ H2(Ω) e inoltre esiste una costante C > 0 tale che

‖w‖H2(Ω) ≤ C‖g‖L2(Ω). (3.63)

Per la dimostrazione si veda, ad esempio, [Bre86, Gri76].

Teorema 3.7 Sia u ∈ V la soluzione esatta del problema variazionale (3.1)ed uh la sua soluzione approssimata ottenuta con il metodo agli elementi finitidi grado r. Sia inoltre u ∈ Hp+1(Ω) per un opportuno p > 0. Allora vale laseguente stima a priori dell’errore nella norma L2(Ω)

‖u− uh‖L2(Ω) ≤ Chs+1|u|Hs+1(Ω), s = min{r, p}, (3.64)

essendo C una costante indipendente da h e da u.

Dimostrazione. Ci limiteremo a dimostrare questo risultato per il problema di Poisson(2.13), la cui formulazione debole è data in (2.17). Sia eh = u−uh l’errore di appros-simazione e si consideri il seguente problema di Poisson ausiliario (detto problemaaggiunto) con termine noto pari all’errore eh:{

−Δφ = eh in Ω,φ = 0 su ∂Ω,

(3.65)

la cui formulazione debole è

trovare φ ∈ V : a(φ, v) =

∫Ω

ehv dΩ ∀ v ∈ V, (3.66)

Page 82: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

68 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

con V = H10(Ω). Prendendo v = eh ( ∈ V ), si ha

‖eh‖2L2(Ω) = a(φ, eh).

Essendo la forma bilineare simmetrica, per l’ortogonalità di Galerkin (3.8) si ha

a(eh, φh) = a(φh, eh) = 0 ∀ φh ∈ Vh.

Ne segue che

‖eh‖2L2(Ω) = a(φ, eh) = a(φ− φh, eh). (3.67)

Prendendo ora φh = Π1hφ, applicando la disuguaglianza di Cauchy-Schwarz allaforma bilineare a(·, ·) e la stima dell’errore di interpolazione (3.58) si ottiene

‖eh‖2L2(Ω) ≤ |eh|H1(Ω)|φ− φh|H1(Ω) ≤ |eh|H1(Ω)Ch|φ|H2(Ω). (3.68)

Si noti che si può applicare l’operatore di interpolazione Π1h a φ poiché, grazie alLemma 3.6, φ ∈ H2(Ω) e quindi, in particolare, φ ∈ C0(Ω), grazie alla proprietà A.3dell’Appendice A.Applicando il Lemma 3.6 al problema aggiunto (3.65) si ottiene la disuguaglianza

|φ|H2(Ω) ≤ C‖eh‖L2(Ω), (3.69)

che, applicata alla (3.68), fornisce infine

‖eh‖L2(Ω) ≤ Ch|eh|H1(Ω),

dove C ingloba tutte le costanti apparse fino ad ora. Sfruttando ora la stima dell’errorenella norma dell’energia (3.61) si ottiene la (3.64). �

Generalizziamo il risultato appena dimostrato per il problema di Poisson al casodi un generico problema ai limiti ellittico approssimato con elementi finiti e per ilquale valga una stima dell’errore di approssimazione nella norma dell’energia comela (3.61) ed una proprietà di regolarità ellittica analoga a quella enunciata nel Lemma3.6.In particolare, consideriamo il caso in cui la forma bilineare a(·, ·) non sia necessaria-mente simmetrica. Sia u la soluzione esatta del problema

trovare u ∈ V : a(u, v) = (f, v) ∀v ∈ V, (3.70)

e uh la soluzione del problema di Galerkin

trovare uh ∈ Vh : a(uh, vh) = (f, vh) ∀vh ∈ Vh.

Si supponga infine che valga la stima dell’errore (3.61) e consideriamo il seguen-te problema, che chiameremo problema aggiunto (o duale) di (3.70): per ogni g ∈L2(Ω),

trovare φ = φ(g) ∈ V : a∗(φ, v) = (g, v) ∀v ∈ V, (3.71)

Page 83: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.4 Il metodo degli elementi finiti nel caso multidimensionale 69

avendo definito la forma bilineare

a∗ : V × V → R , a∗(w, v) = a(v, w) ∀w, v ∈ V. (3.72)

Si noti che l’incognita è ora il secondo argomento di a(·, ·), mentre nel problemaprimale (3.70) l’incognita è il primo argomento di a(·, ·). Naturalmente se a(·, ·) èsimmetrica, allora le due forme bilineari coincidono, come peraltro si è visto nel casodel precedente problema (3.66).Supponiamo che per la soluzione u del problema primale (3.70) valga un risultatodi regolarità ellittica; si può verificare che allora lo stesso risultato è valido per ilproblema duale (o aggiunto) (3.71), ovvero che

∃ C > 0 : ‖φ(g)‖H2(Ω) ≤ C ‖g‖L2(Ω) ∀g ∈ L2(Ω).

In particolare, ciò è vero per un generico problema ellittico con dati di Dirichlet o diNeumann (ma non misti) su di un dominio Ω poligonale e convesso [Gri76]. Sceglia-mo ora g = eh ed indichiamo, per semplicità, φ = φ(eh). Scelto inoltre v = eh, si hadunque

‖eh‖2L2(Ω) = a(eh, φ).

Essendo, per la regolarità ellittica del problema aggiunto, φ ∈ H2(Ω) e ‖φ‖H2(Ω) ≤C‖eh‖L2(Ω) grazie alla ortogonalità di Galerkin, si ha che:

‖eh‖2L2(Ω) = a(eh, φ) = a(eh, φ−Π1hφ)

≤ C1‖eh‖H1(Ω) ‖φ−Π1hφ‖H1(Ω)≤ C2‖eh‖H1(Ω) h ‖φ‖H2(Ω)≤ C3‖eh‖H1(Ω) h ‖eh‖L2(Ω),

dove abbiamo sfruttato la continuità della forma a(·, ·) e la stima (3.61). Quindi

‖eh‖L2(Ω) ≤ C3h‖eh‖H1(Ω),

da cui segue la (3.64), utilizzando la stima (3.62) dell’errore inH1(Ω).

Osservazione 3.6 La tecnica sopra illustrata, basata sull’uso del problema aggiuntoper la stima della norma L2 dell’errore di discretizzazione, è nota in letteratura cometrucco di Aubin-Nitsche [Aub67, Nit68]. Diversi esempi di come costruire l’aggiuntodi un problema dato verranno presentati nella Sez. 3.6. •

Esempio 3.2 Consideriamo il problema modello −Δu + u = f in Ω = (0, 1)2 con u = gsu ∂Ω. Si supponga di scegliere il termine noto f e la funzione g in modo tale che la soluzioneesatta del problema sia u(x, y) = sin(2πx) cos(2πy). Risolviamo tale problema con il metodo

Page 84: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

70 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

di Galerkin-elementi finiti di grado 1 e 2 su una griglia uniforme di passo h. Nel grafico di Fig.3.13 viene mostrato l’andamento dell’errore al decrescere del passoh sia nella norma di L2(Ω),sia in quella di H1(Ω). Come si può osservare dalla pendenza delle rette in figura, l’erroresi riduce, rispetto alla norma L2 (linee con le crocette), in modo quadratico se si utilizzanoelementi finiti lineari (linea continua) e in modo cubico quando vengano utilizzati elementifiniti quadratici (linea tratteggiata). Rispetto alla norma H1 (linee senza le crocette) invece si hauna riduzione dell’errore lineare rispetto agli elementi finiti lineari (linea continua), quadraticaqualora vengano utilizzati elementi finiti quadratici (linea tratteggiata). Nella Fig. 3.14 vengonomostrate le soluzioni sulla griglia di passo 1/8 ottenute con elementi finiti lineari (a sinistra) equadratici (a destra). �

1e-05

1e-04

0.001

0.01

0.1

1

10

0.01 0.1 1

Err

ore

h

11

2

1

2

1

3

1

Figura 3.13. Andamento rispetto ad h dell’errore in norma H1(Ω) (linee senza crocette) edin norma L2(Ω) (linee con le crocette) per elementi finiti lineari (linee continue) e quadratici(linee tratteggiate) per la risoluzione del problema riportato nell’Esempio 3.2

0 0.2 0.4 0.6 0.8 1 0

0.5

1

−2

−1

0

1

2

0 0.2 0.4 0.6 0.8 1 0

0.5

1

−2

−1

0

1

2

Figura 3.14. Soluzioni calcolate con elementi finiti lineari (a sinistra) e quadratici (a destra) suuna griglia uniforme di passo 1/8

Page 85: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.5 Il problema dell’adattività della griglia 71

3.5 Il problema dell’adattività della griglia

Nella sezione precedente abbiamo derivato, grazie ai Teoremi 3.6 e 3.7, delle stime apriori dell’errore di approssimazione per il metodo degli elementi finiti.Essendo il parametro h la lunghezza massima dei lati della triangolazione, se facessi-mo riferimento alla (3.61) saremmo indotti a raffinare la reticolazione ovunque nellasperanza di ridurre l’errore ‖u − uh‖H1(Ω). Conviene piuttosto fare riferimento al-la (3.60) in cui la maggiorazione dell’errore tiene conto del comportamento localedella soluzione, attraverso la seminorma |u|Hr+1(K) su ogni elemento e il parametrogeometrico locale hK della triangolazione.

In effetti, al fine di avere una griglia efficiente, che ottimizzi il numero di elementinecessari per ottenere una accuratezza desiderata, si può cercare di equidistribuirel’errore su ogni elemento K ∈ Th. In particolare, vorremmo ottenere

hrK |u|Hr+1(K) � η ∀K ∈ Th,

dove η è un’opportuna costante che dipende solo dall’accuratezza richiesta all’ap-prossimazione uh e dal numero di elementi della griglia.È evidente che un maggior contributo di |u|Hr+1(K) (dovuto ad una più pronunciatavariabilità di u|K) dovrà essere controbilanciato o da un passo reticolare locale hKpiù piccolo o da un grado polinomiale r più elevato. Nel primo caso si parla di h-adattività della griglia, nel secondo caso di p-adattività (dove p sta per “polinomiale”).Nel seguito ci occuperemo solo della prima tecnica. Tuttavia facciamo riferimento alCap. 4 per l’analisi di stime dell’errore che risultano più convenienti da utilizzarsi invista di un’adattività di tipo polinomiale.

Le osservazioni fatte fino ad ora, seppur corrette, risultano in realtà poco utili datoche la soluzione u non è nota. Si può allora operare seguendo diverse strategie.Un primo modo è quello di utilizzare la stima a priori dell’errore (3.60) sostituendo lasoluzione esatta u con una sua approssimazione opportuna, facilmente calcolabile suogni singolo elemento. Si parla in tal caso di adattività a priori.

Un secondo approccio è invece basato sull’uso di una stima a posteriori dell’errorein grado di legare l’errore di approssimazione all’andamento della soluzione appros-simata uh, nota dopo aver risolto numericamente il problema. In tal caso la griglia ot-timale di calcolo verrà costruita tramite un processo iterativo in cui risoluzione, stimadell’errore e modifica della griglia di calcolo vengono ripetute fino al raggiungimentodell’accuratezza richiesta. Si parla in tal caso di adattività a posteriori.

Le strategie di adattività a priori e a posteriori non sono mutuamente esclusive,ma possono coesistere. Ad esempio, generata una griglia opportuna di partenza tra-mite un’adattività a priori, questa può essere ulteriormente raffinata tramite l’analisi aposteriori.

3.5.1 Adattività a priori basata sulla ricostruzione delle derivate

Una tecnica di adattività a priori si basa sulla stima (3.60) in cui si approssimano op-portunamente le derivate di u su ogni elemento, al fine di stimare le seminorme locali

Page 86: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

72 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

di u. Per far ciò si utilizza la soluzione approssimata uh∗ calcolata su una griglia ditentativo di passo h∗, con h∗ abbastanza grande in modo che il calcolo sia computa-zionalmente economico, ma non eccessivamente grande da generare un errore troppoelevato nell’approssimazione delle derivate, cosa che potrebbe compromettere l’effi-cacia dell’intera procedura.Esemplifichiamo l’algoritmo per elementi finiti lineari, nel qual caso la (3.60) assumela forma

‖u− uh‖H1(Ω) ≤ C

( ∑K∈Th

h2K |u|2H2(K)

) 12

(3.73)

(C tiene ora conto anche delle costanti di continuità e di coercività della forma bili-neare). Puntiamo a generare una triangolazione Th tale da garantirci che il termine didestra della (3.73) sia inferiore ad una tolleranza ε > 0 prestabilita. Supponiamo dun-que di aver calcolato uh∗ su una griglia triangolare Th∗ con N∗ triangoli. Utilizziamouh∗ per approssimare le derivate seconde di u che intervengono nella definizione dellaseminorma |u|2H2(K). Poiché uh∗ non possiede derivate seconde continue in Ω, occor-re procedere con un’adeguata tecnica di ricostruzione. Una possibile tecnica è basatasull’applicazione di una proiezione locale di tipo H1. Per ogni nodo Ni della grigliasi considera l’insieme (patch) KNi degli elementi che hanno Ni come nodo (ovverodegli elementi che formano il supporto di ϕi, si veda la Fig. 3.9). Si trovano quindi ipiani πji (x) = a

ji · x+ bji che minimizzano∫

KNi

∣∣∣πji (x) − ∂uh∗

∂xj(x)∣∣∣2dx, j = 1, 2, (3.74)

risolvendo un sistema a due equazioni per i coefficienti aji e bji . Questa è la fase diproiezione locale. Si costruisce così un’approssimazione lineare a tratti gh∗ ∈ (X1h∗)2del gradiente∇uh∗ definita come

[gh∗(x)]j =∑i

πji (xi)ϕi(x), j = 1, 2, (3.75)

dove la somma si estende su tutti i nodi Ni della griglia. Una volta ricostruito il gra-diente si può procedere in due modi differenti, a seconda del tipo di ricostruzioneche si vuole ottenere per le derivate seconde. Ricordiamo innanzitutto che la matriceHessiana associata ad u è definita daD2(u) = ∇(∇u), ovvero

[D2(u)

]i,j=

∂2u

∂xi∂xj, i, j = 1, 2 .

Una sua approssimazione, costante a tratti, si ottiene ponendo, per ogni K∗ ∈ Th∗ ,

D2h∣∣K∗ =

1

2

(∇gh∗ + (∇gh∗)T

) ∣∣K∗ . (3.76)

Si noti l’uso della forma simmetrica del gradiente, necessaria per avere la simmetriadell’Hessiano.

Page 87: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.5 Il problema dell’adattività della griglia 73

Come alternativa computazionalmente più onerosa, nel caso in cui si sia interessatiad una ricostruzione lineare a tratti dell’Hessiano, si può applicare la stessa tecnicadi proiezione locale individuata dalle (3.74) e (3.75) direttamente al ricostruito gh∗ ,simmetrizzando poi la matrice così ottenuta tramite la (3.76).In ogni caso, siamo ora in grado di calcolare una approssimazione di |u|H2(K) su ungenerico triangolo K∗ di Th∗ , approssimazione che sarà ovviamente legata al rico-struitoD2h. Dalla (3.73) si deduce che, per ottenere la soluzione approssimata uh conun errore inferiore o eguale ad una tolleranza prefissata ε, si deve costruire una nuovagriglia T newh tale per cui

∑K∈T newh

h2K |u|2H2(K) �∑

K∈T newh

h2K

2∑i,j=1

‖[D2h]ij‖2L2(K) ≤( ε

C

)2.

Idealmente, si desidera inoltre che l’errore sia equidistribuito, cioè che ogni elementodella sommatoria sia all’incirca lo stesso su ciascun elemento K della nuova griglia.

Una possibile procedura di adattazione consiste allora nel generare la nuova grigliasuddividendo opportunamente tutti gli N∗ triangoli K∗ di Th∗ per i quali si abbia

η2K∗ = h2K∗

2∑i,j=1

‖[D2h]ij‖2L2(K∗) >1

N∗

( ε

C

)2. (3.77)

Questo metodo è detto di raffinamento poiché prevede solo di creare una griglia più fi-ne rispetto a quella di partenza, ma chiaramente non permette di soddisfare pienamentela condizione di equidistribuzione.

Algoritmi più sofisticati permettono anche di deraffinare la griglia in corrispon-denza dei triangoli per cui la disuguaglianza (3.77) è verificata con segno � al postodi >. Le procedure di deraffinamento però sono di più difficile implementazione diquelle di raffinamento. Dunque, spesso si preferisce costruire la nuova griglia “da ze-ro” (procedura detta di remeshing). A tale scopo si introduce, sulla base della stimadell’errore, la seguente funzione di spaziatura H , costante in ogni elemento

H∣∣K∗ =

ε

C√N∗( 2∑i,j=1

‖[D2h]ij‖2L2(K))1/2

|uh∗ |H2(K∗)∀K∗ ∈ Th∗ (3.78)

e la si utilizza per costruire la griglia adattata applicando uno degli algoritmi di genera-zione illustrati nel Cap. 12. Spesso l’algoritmo di adattazione richiede che la funzioneH sia continua e lineare su ciascun triangolo. In tal caso possiamo di nuovo ricorreread una proiezione locale, usando la procedura già vista.L’adattazione può essere quindi ripetuta per la soluzione calcolata sulla nuova griglia,sino a che tutti gli elementi soddisfino la disuguaglianza inversa alla (3.77).

Osservazione 3.7 Per quanto concerne la costante C che compare nella disuguaglian-za (3.73) la si può stimare applicando la stessa disuguaglianza a funzioni note (e di

Page 88: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

74 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

−1

−0.5

0

0.5

1

−1−0.8−0.6−0.4−0.200.20.40.60.81−15

−10

−5

0

5

10

15

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Figura 3.15. Funzione u (a sinistra) e terza griglia adattata (a destra) per l’Esempio 3.3

cui quindi è possibile calcolare l’errore esatto). Un’alternativa che non richiede la co-noscenza esplicita di C consiste nel realizzare la griglia che equi-distribuisce l’erroreper un numero N∗ di elementi fissato a priori. In questo caso il valore di H calcolatoponendo ε e C pari a uno in (3.78) viene riscalato, moltiplicandolo per una costante,in modo che la nuova griglia abbia il numero di elementi prefissato. •

Esempio 3.3 Consideriamo la funzione u(x, y) = 10x3+y3+tan−1(10−4/(sin(5y)−2x))sul dominio Ω = (−1, 1)2. Tale funzione è caratterizzata da una brusca variazione di valoriin corrispondenza della curva x = 0.5 sin(5y), come si può osservare dalla Fig. 3.15 di si-nistra. Partendo da una griglia iniziale strutturata costituita da 50 triangoli ed utilizzando unaprocedura adattiva guidata dall’Hessiana di u, si ottiene, dopo 3 iterazioni, la griglia in Fig.3.15 (a destra), costituita da 3843 elementi. Come si può osservare la maggior parte dei trian-goli si concentra in corrispondenza del salto della funzione: se infatti pochi triangoli di areamedio-grande sono sufficienti per descrivere u in modo soddisfacente nelle regioni a monte ea valle del salto, la brusca variazione di u in corrispondenza della discontinuità richiede l’usodi piccoli triangoli, ovvero di un ridotto passo di discretizzazione. Osserviamo inoltre la naturaanisotropa della griglia in Fig. 3.15, testimoniata dalla presenza di elementi la cui forma è moltoallungata rispetto a quella di un triangolo equilatero (tipico di una griglia isotropa). Tale grigliaè stata infatti generata utilizzando la generalizzazione dello stimatore (3.77) al caso anisotropo.L’idea è essenzialmente quella di sfruttare separatamente le informazioni fornite dalle compo-nenti [D2h]ij anziché “mescolarle” attraverso la norma L2(K∗). Utilizzando la stessa proceduraadattiva nel caso isotropo (ovvero lo stimatore in (3.77)) si sarebbe ottenuta dopo 3 iterazioniuna griglia adattata costituita da 10535 elementi. �

3.5.2 Adattività a posteriori

Le procedure descritte nella sezione precedente possono risultare tuttavia insoddisfa-centi in quanto la ricostruzione delle derivate di u a partire da uh∗ è spesso soggettaad errori non facilmente quantificabili.

Page 89: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.5 Il problema dell’adattività della griglia 75

Un’alternativa radicale consiste nell’adottare stime a posteriori dell’errore. Que-ste ultime non utilizzano la stima a priori (3.60) (e conseguentemente approssimazionidelle derivate della soluzione incognita u), ma sono ottenute in funzione di quantitàcalcolabili, normalmente basate sul cosiddetto residuo della soluzione approssimata.Quest’ultimo fornisce una misura di quanto la soluzione discreta soddisfi il proble-ma differenziale su ogni elemento della triangolazione data. Consideriamo, a titolodi esempio, il problema di Poisson (2.13). La sua formulazione debole è data dalla(2.17), mentre la sua approssimazione agli elementi finiti è descritta dalla (3.30), dove

Vh è lo spazio◦Xr

h definito in (3.29). Per ogni v ∈ H10(Ω) e per ogni vh ∈ Vh, si ha,grazie alla proprietà di ortogonalità di Galerkin (3.8) e sfruttando la (2.17),∫Ω

∇(u− uh) · ∇v dΩ =

∫Ω

∇(u− uh) · ∇(v − vh) dΩ

=

∫Ω

f(v − vh) dΩ −∫Ω

∇uh · ∇(v − vh) dΩ

=

∫Ω

f(v − vh) dΩ +∑K∈Th

∫K

Δuh(v − vh) dΩ −∑K∈Th

∫∂K

∂uh

∂n(v − vh) dγ

=∑K∈Th

∫K

(f +Δuh)(v − vh) dΩ −∑K∈Th

∫∂K

∂uh

∂n(v − vh) dγ.

(3.79)

Osserviamo che gli integrali su Ω sono stati spezzati sui singoli triangoli al fine digarantire la buona definizione degli integrali stessi.Indicato con e un lato del generico triangoloK, definiamo salto della derivata normaledi uh attraverso il lato e la quantità[

∂uh

∂n

]e

= ∇uh∣∣K1· n1 +∇uh

∣∣K2· n2 =

(∇uh∣∣K1−∇uh

∣∣K2

)· n1, (3.80)

dove K1 e K2 sono i due triangoli che condividono il lato e, i cui versori normaliuscenti sono dati da n1 e n2 rispettivamente, con n1 = −n2 (si veda la Fig. 3.16). Ladefinizione (3.80) implicitamente sottointende che e non sia un lato di bordo. Al finedi estendere tale definizione anche ai lati di bordo, introduciamo il cosiddetto salto

K1

K2

n1

n2

e

Figura 3.16. Triangoli coinvolti nella definizione del salto della derivata normale di uhattraverso il lato e

Page 90: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

76 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

generalizzato, dato da

[∂uh∂n

]=

⎧⎪⎨⎪⎩[∂uh

∂n

]e

per e ∈ Eh,

0 per e ∈ ∂Ω,

(3.81)

dove Eh indica l’insieme dei lati interni della griglia. Notiamo che, nel caso di ele-menti finiti lineari, la (3.81) identifica una funzione costante a pezzi definita su tuttii lati della griglia Th. Inoltre la definizione (3.81) può essere opportunamente modi-ficata nel caso in cui il problema (2.13) sia completato con condizioni al bordo nonnecessariamente di Dirichlet.Grazie alla (3.81) possiamo dunque scrivere che

−∑K∈Th

∫∂K

∂uh

∂n(v − vh) dγ = −

∑K∈Th

∑e∈∂K

∫e

∂uh

∂n(v − vh) dγ

= −∑K∈Th

∑e∈∂K

1

2

∫e

[∂uh

∂n

](v − vh) dγ = −

1

2

∑K∈Th

∫∂K

[∂uh

∂n

](v − vh) dγ,

(3.82)dove il fattore 1/2 tiene conto del fatto che ogni lato interno e della triangolazione ècondiviso da due elementi. Inoltre, dal momento che v − vh = 0 sul bordo, in (3.81)si potrebbe assegnare un qualsiasi valore diverso da zero in corrispondenza di e ∈ ∂Ωin quanto i termini della (3.82) associati ai lati di bordo sarebbero comunque nulli.Inserendo ora la (3.82) nella (3.79) ed applicando la disuguaglianza di Cauchy-Schwarz, otteniamo∣∣∣∣∣∣

∫Ω

∇(u− uh) · ∇v dΩ

∣∣∣∣∣∣ ≤∑K∈Th

{‖f +Δuh‖L2(K)‖v − vh‖L2(K)

+1

2

∥∥∥∥[∂uh∂n

]∥∥∥∥L2(∂K)

‖v − vh‖L2(∂K)}

. (3.83)

Occorre ora trovare un particolare vh ∈ Vh che permetta di esprimere le norme div − vh in funzione di una norma opportuna di v. Si desidera inoltre che questa normasia “locale”, cioè calcolata su una regione K contenente K che sia la meno estesapossibile. Se v fosse continua si potrebbe prendere come vh l’interpolanteLagrangianadi v e utilizzare le già citate stime dell’errore di interpolazione su K. Purtroppo, nelnostro caso v ∈ H1(Ω) e quindi non è necessariamente continua. Tuttavia, se Th èuna griglia regolare, si può introdurre un opportuno operatore di interpolazioneRh :H1(Ω)→ Vh, detto di Clément, definito, nel caso di elementi finiti lineari, come

Rhv(x) =∑Nj

(Pjv)(Nj )ϕj(x) ∀v ∈ H1(Ω), (3.84)

Page 91: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.5 Il problema dell’adattività della griglia 77

dove Pjv denota il piano definito sul patch KNj degli elementi della griglia checondividono il nodoNj (si veda la Fig. 3.17), individuato dalle relazioni∫

KNj

(Pjv − v)ψ dx = 0 per ψ = 1, x, y

e dove le ϕj sono le funzioni base di Lagrange dello spazio ad elementi finiti consi-derato. Si può dimostrare che, per ogni v ∈ H1(Ω) e per ogni K ∈ Th, valgono leseguenti disuguaglianze:

‖v −Rhv‖L2(K) ≤ C1hK |v|H1( ˜K),

‖v −Rhv‖L2(∂K) ≤ C2h12

K ‖v‖H1( ˜K),

dove C1 e C2 sono due costanti positive che dipendono dal minimo angolo degli ele-menti della triangolazione, mentre K = {Kj ∈ Th : Kj ∩ K �= ∅} rappresental’unione di K con tutti i triangoli che con esso condividono o un lato o un verti-ce (si veda la Fig. 3.17). Il lettore interessato a maggiori dettagli può, per esempio,consultare [BG98, BS94, Clé75].

K

K

Nj

KNj

Figura 3.17. L’insieme K di elementi che hanno in comune conK almeno un nodo di griglia(a sinistra) e l’insiemeKNj degli elementi che condividono il nodoNj (a destra)

Scegliendo dunque in (3.83) vh = Rhv, ponendo C = max(C1, C2) ed utilizzan-do la disuguaglianza di Cauchy-Schwarz discreta, si ottiene∣∣∣∣∣∣∫Ω

∇(u− uh) · ∇v dΩ

∣∣∣∣∣∣ ≤ C∑K∈Th

ρK(uh)‖v‖H1( ˜K)

≤ C

( ∑K∈Th

[ρK(uh)]2

)12( ∑K∈Th

‖v‖2H1( ˜K)

) 12

.

Abbiamo indicato con

ρK(uh) = hK ‖f +Δuh‖L2(K) +1

2h12

K

∥∥∥∥[∂uh∂n

]∥∥∥∥L2(∂K)

(3.85)

Page 92: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

78 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

il cosiddetto residuo locale, costituito dal residuo interno ‖f +Δuh‖L2(K) e dal

residuo di bordo∥∥[∂uh∂n

]∥∥L2(∂K)

.

Osserviamo ora che, essendo Th regolare, il numero di elementi in K è necessa-riamente limitato da un intero positivo indipendente da h, che indichiamo con n.Pertanto ( ∑

K∈Th‖v‖2

H1( ˜K)

)12

≤√

n‖v‖H1(Ω).

Scelto infine v = u− uh e applicando la disuguaglianza di Poincaré, troviamo

‖u− uh‖H1(Ω) ≤ C√n

( ∑K∈Th

[ρK(uh)]2

) 12

, (3.86)

dove ora la costante C include anche il contributo della costante di Poincaré.Si noti che ρK(uh) è una quantità effettivamente calcolabile essendo funzione del datof , del parametro geometrico hK e della soluzione calcolata uh. Il punto più delicatodi questa analisi è la stima, non sempre immediata, delle costanti C ed n.

La stima a posteriori (3.86) può essere, ad esempio, usata al fine di garantire che

1

2ε ≤ ‖u− uh‖H1(Ω)

‖uh‖H1(Ω)≤ 32ε, (3.87)

essendo ε > 0 una tolleranza prestabilita. A tale scopo, mediante un’opportuna pro-cedura iterativa schematizzata in Fig. 3.18, si può raffinare e deraffinare localmentela griglia Th in modo tale che, per ogni K, siano soddisfatte le disuguaglianze localiseguenti

1

4

ε2

N‖uh‖2H1(Ω) ≤ [ρK(uh)]2 ≤

9

4

ε2

N‖uh‖2H1(Ω), (3.88)

avendo indicato con N il numero di elementi della griglia Th. Ciò assicura che sia-no soddisfatte le disuguaglianze globali (3.87), a meno del contributo della costanteC√n. Alternativamente, si può costruire una funzione di spaziatura di griglia H ap-

propriata, analogamente a quanto detto nel paragrafo 3.5.1. Naturalmente il diagram-ma di flusso riportato in Fig. 3.18 si può usare anche per problemi ai limiti diversida (3.30).

3.5.3 Esempi numerici di adattività

Illustriamo il concetto di adattazione della griglia computazionale su due sempliciproblemi differenziali. A tal fine adottiamo la procedura iterativa schematizzata inFig. 3.18, limitandoci però alla sola fase di raffinamento. Il procedimento di deraf-finamento risulta infatti di più difficile implementazione, tanto è vero che molti deisoftware di uso comune prevedono il solo raffinamento della griglia iniziale, che con-verrà dunque scegliere opportunamente lasca.

Page 93: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.5 Il problema dell’adattività della griglia 79

lettura della grigliainiziale

�discretizzazione e

risoluzione delproblema numerico

�si pone R = D = ∅

�ciclo sugli elementi

K

se ρK > 3ε

2√

N‖uh‖H1

se ρK < ε

2√

N‖uh‖H1

�K e marcato RR ← R ∪ {K}

K e marcato DD ← D ∪ {K}

�R ∪ D = ∅ ?

SI

��NO

costruzione dellanuova griglia

Fine

1

Figura 3.18. Esempio di procedura iterativa per l’adattazione della griglia

Infine, per entrambi gli esempi sotto riportati, lo stimatore di riferimento per l’erroredi discretizzazione è rappresentato dal termine di destra della (3.86).

Primo esempioConsideriamo il problema −Δu = f in Ω = (−1, 1)2, supponendo di assegnarecondizioni di Dirichlet omogenee su tutto il bordo ∂Ω. Scegliamo inoltre un termineforzante f tale che la soluzione esatta sia u = sin(πx) sin(πy) exp(10x). Avviamo laprocedura adattativa partendo da una griglia iniziale uniforme, costituita da 324 ele-menti, e da una tolleranza ε = 0.2. La procedura iterativa converge dopo 7 iterate.Riportiamo in Fig. 3.19 la griglia iniziale assieme a tre delle griglie adattate così otte-nute, mentre in Tabella 3.2 sono riassunti il numeroNh degli elementi della grigliaTh,l’errore relativo ‖u−uh‖H1(Ω)/‖uh‖H1(Ω) e lo stimatore normalizzato η/‖uh‖H1(Ω)sulla griglia iniziale e sulle prime sei griglie adattate.Le griglie in Fig. 3.19 forniscono un riscontro qualitativo per l’affidabilità della pro-cedura adattiva seguita: come ci si aspetta, i triangoli infatti si addensano in corrispon-

Page 94: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

80 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Figura 3.19. Griglia iniziale (in alto a sinistra) e tre griglie adattate seguendo la proceduraadattiva di Fig. 3.18, alla seconda iterazione (in alto a destra), alla terza (in basso a sinistra) ealla quinta (in basso a destra)

denza delle regioni di massimo e di minimo della funzione u. D’altro canto i valori inTabella 3.2 permettono anche di effettuare un’analisi di tipo quantitativo: sia l’erro-re relativo che lo stimatore normalizzato si riducono progressivamente, all’aumentaredelle iterate. Si può tuttavia notare una sovrastima media, rispetto alla tolleranza εfissata, di circa 10-11 volte. Questo fatto non è così inusuale e trova una sua giustifi-cazione, essenzialmente, nell’avere trascurato (ovvero posto uguale ad 1) la costanteC√n nelle disuguaglianze (3.87) e (3.88). È chiaro che tale negligenza porta a richie-

dere in realtà una tolleranza ε = ε/(C√n), che coinciderà dunque con l’originale

ε nel solo caso in cui si abbia effettivamente C√n ∼ 1. Procedure più precise, che

tengano conto della costante C√

n, sono comunque possibili partendo, ad esempio,dall’analisi (teorica e numerica) fornita in [BDR92, EJ88].

Tabella 3.2. Cardinalità, errore relativo e stimatore normalizzato associati alla griglia iniziale ealle prime sei griglie adattate

iterata Nh ‖u− uh‖H1(Ω)/‖uh‖H1(Ω) η/‖uh‖H1(Ω)0 324 0.7395 5.83331 645 0.3229 3.24672 1540 0.1538 1.80933 3228 0.0771 0.97824 7711 0.0400 0.51885 17753 0.0232 0.28886 35850 0.0163 0.1955

Page 95: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.5 Il problema dell’adattività della griglia 81

Secondo esempioConsideriamo il problema −Δu = 0 su Ω = {x = r(cos θ, sin θ)T , r ∈ (0, 1),θ ∈ (0, 34π)}, con u assegnata opportunamente sul bordo di Ω in modo che u(r, θ) =

r4/3 sin(43θ) sia la soluzione esatta. Tale funzione risulta poco regolare in un intornodell’origine. Supponiamo di approssimare tale problema con il metodo di Galerkina elementi finiti lineari sulla griglia quasi uniforme riportata in Fig. 3.20 a sinistra,costituita da 138 triangoli. Come si può notare dalla distorsione delle isolinee di uhnella Fig. 3.21 di sinistra, la soluzione così ottenuta risulta poco accurata in prossi-mità dell’origine. Utilizziamo ora lo stimatore (3.86) per generare una griglia adattatache meglio si presti all’approssimazione di u. Seguendo una procedura adattiva co-me quella schematizzata in Fig. 3.18 otteniamo dopo 20 passi la griglia riportata inFig. 3.20 a destra, costituita da 859 triangoli. Come si può osservare dalla Fig. 3.21di destra le isolinee associate alla corrispondente soluzione discreta presentano unamaggiore regolarità a testimonianza del miglioramento della qualità della soluzione.Per confronto, per ottenere una soluzione caratterizzata dalla stessa accuratezza ε ri-spetto alla norma H1 dell’errore (richiesta pari a 0.01) su di una griglia uniforme sononecessari 2208 triangoli.

−0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

0

0.2

0.4

0.6

0.8

1

−0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

0

0.2

0.4

0.6

0.8

1

Figura 3.20. Griglia iniziale (a sinistra) e ventesima griglia adattata (a destra)

−0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

0

0.2

0.4

0.6

0.8

1

−0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

0

0.2

0.4

0.6

0.8

1

Figura 3.21. Isolinee della soluzione ad elementi finiti lineari sulla griglia di partenza (asinistra), e sulla ventesima griglia adattata (a destra)

Page 96: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

82 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

3.5.4 Stime a posteriori dell’errore nella norma L2

Oltre alla (3.86) è possibile derivare una stima a posteriori dell’errore in norma L2.A tal fine ricorreremo nuovamente alla tecnica di dualità di Aubin-Nitsche usata nellaSez. 3.4.4, ed in particolare considereremo il problema aggiunto (3.65) associato alproblema di Poisson (2.13). Supporremo inoltre che il dominio Ω sia sufficientementeregolare (ad esempio sia un poligono convesso) in modo da garantire che il risultatodi regolarità ellittica (3.63) enunciato nel Lemma 3.6 sia vero.

Ci serviremo inoltre delle seguenti stime locali per l’errore d’interpolazione asso-ciato all’operatore Πrh applicato a funzioni v ∈ H2(Ω)

‖v −Πrhv‖L2(∂K) ≤ C1 h32

K |v|H2(K) (3.89)

(si veda [BS94] o [Cia78]), e

‖v −Πrhv‖L2(K) ≤ C2 h2K |v|H2(K). (3.90)

Quest’ultima disuguaglianza si ottiene dalla (3.56).Partendo dal problema aggiunto (3.65) e sfruttando l’ortogonalità di Galerkin (3.8),abbiamo, per ogni φh ∈ Vh,

‖eh‖2L2(Ω) =∑K∈Th

∫K

f (φ− φh) dΩ −∑K∈Th

∫K

∇uh · ∇(φ− φh) dΩ.

Controintegrando per parti si ottiene

‖eh‖2L2(Ω) =∑K∈Th

∫K

(f +Δuh) (φ− φh) dΩ −∑K∈Th

∫∂K

∂uh

∂n(φ− φh) dγ.

Utilizzando la definizione (3.81) di salto generalizzato della derivata normale di uhattraverso i lati dei triangoli e ponendo φh = Πrhφ, abbiamo

‖eh‖2L2(Ω) =∑K∈Th

[ ∫K

(f +Δuh) (φ−Πrhφ) dΩ

− 1

2

∫∂K

[∂uh

∂n

](φ−Πrhφ) dγ

]. (3.91)

Stimiamo separatamente i due termini a secondo membro. Utilizzando la disugua-glianza di Cauchy-Schwarz e la (3.90) segue che∣∣∣∣∫

K

(f +Δuh) (φ−Πrhφ) dΩ

∣∣∣∣ ≤ ‖f +Δuh‖L2(K)‖φ−Πrhφ‖L2(K)

≤ C2 h2K ‖f +Δuh‖L2(K)|φ|H2(K).

(3.92)

Page 97: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.5 Il problema dell’adattività della griglia 83

Inoltre, grazie alla (3.89) otteniamo∣∣∣∣∫∂K

[∂uh

∂n

](φ−Πrhφ) dγ

∣∣∣∣ ≤∥∥∥∥[∂uh∂n

]∥∥∥∥L2(∂K)

‖φ−Πrhφ‖L2(∂K)

≤ C1 h32

K

∥∥∥∥[∂uh∂n

]∥∥∥∥L2(∂K)

|φ|H2(K).(3.93)

Inserendo ora la (3.92) e la (3.93) in (3.91) ed applicando la disuguaglianza di Cauchy-Schwarz discreta abbiamo

‖eh‖2L2(Ω) ≤ C∑K∈Th

hKρK(uh)|φ|H2(K) ≤ C

√ ∑K∈Th

[hKρK (uh)]2|φ|H2(Ω)

≤ C

√ ∑K∈Th

[hKρK (uh)]2 ‖eh‖L2(Ω),

con C = max(C1, C2), avendo introdotto la notazione (3.85) ed avendo sfruttato,nell’ultimo passaggio, la disuguaglianza (3.69). Possiamo quindi concludere che

‖u− uh‖L2(Ω) ≤ C

( ∑K∈Th

h2K [ρK(uh)]2

) 12

, (3.94)

essendo C > 0 una costante indipendente dalla triangolazione.

Osservazione 3.8 Tra gli stimatori a posteriori più usati nell’ambito ingegneristi-co per la sua semplicità ed efficienza computazionale citiamo lo stimatore propostoda Zienkiewicz e Zhu in un lavoro del 1987 nel contesto di un’approssimazione adelementi finiti di problemi di elasticità lineare [CZ87]. L’idea alla base di questostimatore è molto semplice. Supponiamo di volere controllare la norma in energia( ∫Ω|∇u − ∇uh|2 dΩ

)1/2dell’errore di discretizzazione associato ad un’approssi-

mazione ad elementi finiti del problema modello (2.13). Questo stimatore rimpiazzain tale norma il gradiente esatto ∇u con una corrispondente ricostruzione ottenutatramite un opportuno post-processing della soluzione discreta uh. Nel corso degli an-ni sono state proposte in letteratura svariate ricette per la ricostruzione del gradien-te ∇u (si vedano, ad esempio, [ZZ92, Rod94, PWY90, LW94, NZ04, BMMP06]).La stessa procedura illustrata in Sez. 3.5.1 che porta al ricostruito gh∗ definito nel-la (3.75) può essere utilizzata a tale fine. Scelta dunque una ricostruzione, diciamoGR(uh), di ∇u, lo stimatore alla Zienkiewicz e Zhu è rappresentato dalla quan-

tità η =( ∫Ω|GR(uh) − ∇uh|2 dΩ

)1/2. Chiaramente ad ogni nuova definizione

di GR(uh) corrisponde un nuovo stimatore dell’errore. Per questo motivo stima-tori a posteriori dell’errore con tale struttura sono comunemente chiamati di tipo“recovery-based”. •

Page 98: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

84 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

3.5.5 Stime a posteriori di un funzionale dell’errore

Osserviamo che, nella sezione precedente, il problema aggiunto (3.65) è stato utiliz-zato in modo puramente formale, in quanto l’errore eh, che ne rappresenta il termineforzante, non è conosciuto.

Esiste un’altra famiglia di stimatori a posteriori dell’errore, ancora basati sul pro-blema aggiunto, che, al contrario, utilizzano esplicitamente le informazioni fornite daquest’ultimo (si veda, ad esempio, [Ran99]). In questo caso viene solitamente fornitauna stima per un opportuno funzionale J dell’errore eh, anziché per una opportunanorma di eh. Questa prerogativa si rivela particolarmente utile nel momento in cui sivogliano fornire stime dell’errore significative per quantità di interesse fisico quali, adesempio, resistenza o portanza nel caso di corpi immersi in un fluido, oppure valo-ri medi di concentrazioni, sforzi, deformazioni, flussi, valori puntuali, ecc. A tal finesarà sufficiente fare una scelta opportuna per il funzionale J . Questo tipo di adattivi-tà si dice di tipo goal-oriented. Illustriamo questo approccio riferendoci ancora, persemplicità, al problema di Poisson (2.13) e supponendo di voler controllare l’erroredi un certo funzionale J : H10(Ω) → R della soluzione u. Consideriamo la seguenteformulazione debole del corrispondente problema aggiunto

trovare φ ∈ V :

∫Ω

∇φ·∇w dΩ = J(w) ∀ w ∈ V, (3.95)

con V = H10(Ω). Utilizzando l’ortogonalità di Galerkin e procedendo come fatto nellasezione precedente, troviamo

J(eh) =

∫Ω

∇eh · ∇φ dΩ =∑K∈Th

[ ∫K

(f +Δuh) (φ− φh) dΩ

− 1

2

∫∂K

[∂uh∂n

](φ− φh) dγ

], (3.96)

dove φh ∈ Vh è solitamente un interpolante di φ da scegliersi opportunamente inbase alla regolarità di φ. Utilizzando la disuguaglianza di Cauchy-Schwarz su ognielemento K, otteniamo

|J(eh)| =∣∣∣∣∫Ω

∇eh · ∇φ dΩ

∣∣∣∣ ≤ ∑K∈Th

(‖f +Δuh‖L2(K) ‖φ− φh‖L2(K)

+1

2

∥∥∥∥[∂uh∂n

]∥∥∥∥L2(∂K)

‖φ− φh‖L2(∂K))

≤∑K∈Th

[ρK (uh)max

(1

hK‖φ− φh‖L2(K) ,

1

h1/2K

‖φ− φh‖L2(∂K))]

,

essendo ρK (uh) definito secondo la (3.85). Introduciamo ora i cosiddetti pesi locali

ωK(φ) = max

(1

hK‖φ− φh‖L2(K),

1

h1/2K

‖φ− φh‖L2(∂K)). (3.97)

Page 99: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.6 Come si ottiene il problema aggiunto 85

Pertanto

|J(eh)| ≤∑K∈Th

ρK(uh)ωK(φ). (3.98)

Possiamo osservare che, a differenza delle stime di tipo residuale introdotte nelleSez. 3.5.2 e 3.5.4, la stima (3.98) dipende non solo dalla soluzione discreta uh maanche dalla soluzione φ del problema duale. In particolare, considerato lo stimatorelocale ρK(uh)ωK(φ), possiamo affermare che, mentre il residuo ρK(uh) misura co-me la soluzione discreta approssima il problema differenziale in esame, il peso ωK(φ)tiene conto di come questa informazione si propaga nel dominio per effetto del funzio-nale scelto. Pertanto le griglie ottenute per scelte differenti del funzionale J , ovverodel termine forzante del problema aggiunto (3.95), saranno diverse pur partendo dallostesso problema differenziale (per maggiori dettagli, rimandiamo all’Esempio 5.10).Inoltre, per rendere efficace la stima (3.98), si procede sostituendo le norme ‖φ −φh‖L2(K) e ‖φ − φh‖L2(∂K) in (3.97) con opportune stime per l’errore di intepola-zione, dopo aver scelto φh come un opportuno interpolante della soluzione duale φ.Segnaliamo due casi particolari. Scegliendo J(w) =

∫Ω

w eh dΩ in (3.95) ritrove-remmo la stima (3.94) per la norma L2 dell’errore di discretizzazione, a patto ov-viamente di poter garantire che il risultato di regolarità ellittica (3.63), enunciato nelLemma 3.6, sia vero. Se invece siamo interessati a controllare eh in corrispondenzadi un punto x di Ω, sarà infatti sufficiente definire J come J(w) = W ′ 〈δx, w〉W ,essendo W = H10(Ω) ∩ C0(Ω) e δx la delta di Dirac relativa al punto x. (Si vedal’Appendice A.)

Osservazione 3.9 L’analisi a posteriori di questa sezione, così come quella delle se-zioni precedenti 3.5.2 and 3.5.4, può essere estesa al caso di problemi differenzialipiù complessi e più significativi, quali ad esempio i problemi di trasporto e diffusio-ne, del semplice problema di Poisson, e di condizioni al bordo più generali (si vedal’Esempio 5.10). La procedura rimane essenzialmente invariata. Ciò che cambia è ladefinizione del residuo locale (3.85) e del salto generalizzato (3.81). Mentre infattiρK(uh) dipende direttamente dalla formulazione differenziale del problema in esame,[∂uh/∂n

]dovrà tenere opportunamente conto delle condizioni assegnate al bordo. •

Per una descrizione più approfondita delle tecniche di adattività fin qui fornite eper una presentazione di altre possibili metodologie di adattazione rinviamo il lettorea [AO00, Ran99, Ver96].

3.6 Come si ottiene il problema aggiunto

Il problema duale (o aggiunto) di un dato problema differenziale gioca un ruolo fonda-mentale, ad esempio, nell’ambito della derivazione di stimatori dell’errore, sia a prioriche a posteriori (si vedano le Sez. 3.4.4 e 3.5.4-3.5.5, rispettivamente), ma anche nellarisoluzione di problemi di controllo ottimale, come vedremo nel Cap. 15.Obiettivo di questa sezione è quello di indicare un metodo per ricavare l’aggiunto di

Page 100: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

86 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

un dato operatore differenziale assieme alle condizioni al bordo del problema duale,note quelle primali.

3.6.1 Operatori aggiunti di un operatore lineare

Siano X e Y due spazi di Banach e L(X, Y ) lo spazio degli operatori lineari e limitatifra X e Y . Dato L ∈ L(X, Y ), l’operatore aggiunto (o coniugato) di L è un operatoreL′ : Y ′ → X′ definito attraverso la formula

X′ 〈L′f, x〉X = Y ′〈f, Lx〉Y ∀f ∈ Y ′, x ∈ X. (3.99)

Esso è un operatore lineare e limitato fra Y ′ e X′, ovvero L′ ∈ L(Y ′, X′), ed inoltre‖L′‖L(Y ′,X′) = ‖L‖L(X,Y ), dove abbiamo posto

‖L‖L(X,Y ) = supx ∈ Xx �= 0

‖Lx‖Y‖x‖X

. (3.100)

Nel caso in cui X e Y siano due spazi di Hilbert si può introdurre anche un altrooperatore aggiunto, L∗ : Y → X, definito dalla formula

(L∗y, x)X = (y, Lx)Y ∀x ∈ X, y ∈ Y. (3.101)

Si è indicato con (·, ·)X il prodotto scalare di X, con (·, ·)Y quello di Y . Que-sta definizione può essere spiegata come segue: per ogni arbitrario elemento y ∈ Y ,la funzione a valori reali x → (y, Lx)Y è lineare e continua, pertanto definisce unelemento di X′. Allora, grazie al teorema di Riesz (Teorema A.1 dell’Appendice A)esiste un elemento x di X che denotiamo L∗y soddisfacente la (3.101). Tale operatoreappartiene a L(Y,X) (ovvero è lineare e continuo da Y in X) ed inoltre

‖L∗‖L(Y,X) = ‖L‖L(X,Y ). (3.102)

Nel caso in cui X e Y siano due spazi di Hilbert si hanno pertanto due nozioni dioperatore aggiunto, L′ e L∗. La relazione fra le due definizioni è la seguente

ΛXL∗ = L′ΛY (3.103)

essendo ΛX e ΛY gli isomorfismi canonici di Riesz da X in X′ e da Y in Y ′,rispettivamente (si veda la (A.5) dell’Appendice A). Infatti,

X′〈ΛXL∗y, x〉X = (L∗y, x)X = (y, Lx)Y =

Y ′〈ΛY y, Lx〉Y = X′ 〈L′ΛY y, x〉X ∀x ∈ X, y ∈ Y.

L’identità (3.103) si esprime in termini equivalenti dicendo che il diagramma diFig. (3.22) è commutativo

Page 101: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.6 Come si ottiene il problema aggiunto 87

Y

T∗

X

ΛY ΛX

Y ′T ′

X ′

Figura 3.22. Gli operatori aggiunti T∗ e T ′

3.6.2 Problema primale e problema aggiunto

Sia V uno spazio di Hilbert con prodotto scalare (·, ·)V e norma ‖·‖V , V ′ il suo spazioduale. Sia a : V × V → R una forma bilineare, continua e coerciva e sia A : V → V ′

l’operatore ellittico ad essa associato, ovvero A ∈ L(V, V ′),

V ′〈Av, w〉V = a(v, w) ∀v, w ∈ V. (3.104)

Sia a∗ : V × V → R la forma bilineare definita da

a∗(w, v) = a(v, w) ∀v, w ∈ V. (3.105)

Definiamo operatore aggiunto di A l’operatore A∗ : V → V ′ associato alla formaa∗(·, ·), ovvero

V ′〈A∗w, v〉V = a∗(w, v) ∀v, w ∈ V. (3.106)

Grazie alla (3.105) abbiamo la seguente relazione, nota come identità di Lagrange

V ′ 〈A∗w, v〉V = V ′〈Av, w〉V ∀v, w ∈ V. (3.107)

Se a(·, ·) è una forma simmetrica, a∗(·, ·) coincide con a(·, ·) e A∗ con A. In tal casoA è detto autoaggiunto. A è invece detto normale se AA∗ = A∗A.Naturalmente l’operatore identità I è autoaggiunto (I = I∗), mentre se un operatoreè autoaggiunto, allora è anche normale.Qui di seguito sono elencate alcune proprietà dell’operatore aggiunto, che sonoconseguenza della definizione precedente:

• essendo A lineare e continuo, lo è anche A∗, ovvero A∗ ∈ L(V, V ′);• ‖A∗‖L(V,V′) = ‖A‖L(V,V′) (la norma duale è definita in (A.2), Appendice A);• (A+ B)∗ = A∗ + B∗;• (AB)∗ = B∗A∗;• (A∗)∗ = A;• (A−1)∗ = (A∗)−1;• (αA)∗ = αA∗ ∀α ∈ R.

Page 102: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

88 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

Quando dobbiamo trovare il problema aggiunto (o duale) di un problema (primale)dato, useremo l’identità di Lagrange per caratterizzare l’equazione differenziale delproblema duale ed anche le condizioni al bordo ad esso associate.

Forniamo un esempio di tale procedura, partendo da un semplice problema diffe-renziale di diffusione-trasporto monodimensionale, completato da condizioni al bordodi tipo Robin-Dirichlet omogenee{

Av = −v′′ + v′ = f, x ∈ I = (0, 1),

v′(0) + βv(0) = 0, v(1) = 0,(3.108)

essendo β una costante. Si osservi che la forma debole di questo problema è:trovare u ∈ V = {v ∈ H1(0, 1) : v(1) = 0} t.c.

a(u, v) =

1∫0

fvdx ∀v ∈ V, (3.109)

essendo

a : V × V → R, a(u, v) =

1∫0

(u′ − u)v′dx− (β + 1)u(0)v(0).

Grazie alla (3.105) otteniamo, ∀v, w ∈ V

a∗(w, v) = a(v, w) =

1∫0

(v′ − v)w′dx− (β + 1)v(0)w(0)

= −1∫0

v(w′′ +w′)dx+ [vw′]10 − (β + 1)v(0)w(0)

=

1∫0

(−w′′ −w′)vdx− [w′(0) + (β + 1)w(0)]v(0).

Dovendo valere la definizione (3.106), avremo

A∗w = −w′′ − w′ in D′(0, 1).

Inoltre, grazie all’arbitrarietà di v(0), w dovrà soddisfare le condizioni al contorno

[w′ + (β + 1)w](0) = 0, w(1) = 0.

Osserviamo che il campo di trasporto del problema duale ha direzione opposta rispet-to a quello del problema primale. Inoltre a condizioni al bordo di tipo Robin-Dirichletomogenee per il problema primale (3.108) corrispondono condizioni esattamente del-la stessa natura per il problema duale (o aggiunto).

Page 103: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.6 Come si ottiene il problema aggiunto 89

Tab

ella

3.3.

Ope

rato

ridi

ffer

enzi

alie

cond

izio

nial

bord

o(C

.B.)

peri

lpro

blem

apr

imal

ee

corr

ispo

nden

tiop

erat

ori

dual

i(co

nco

ndiz

ioni

albo

rdo

asso

ciat

e)

Ope

rato

repr

imal

eC

.B.p

rim

ali

Ope

rato

redu

ale

C.B

.dua

li

−Δu

u=0suΓ

∂u

∂n=0su∂Ω\Γ

−Δw

w=0suΓ,

∂w

∂n=0su∂Ω\Γ

−Δu+σu

u=0suΓ,

∂u

∂n+γu=0su∂Ω\Γ

−Δw+σw

w=0suΓ,

∂w

∂n+γw=0su∂Ω\Γ

−Δu+b·∇u+σu,

∇·b=0

u=0suΓ,

∂u

∂n+γu=0su∂Ω\Γ

−Δw−b·∇w+σw,

∇·b=0

w=0suΓ,

∂w

∂n+(b·n+γ)w=0su∂Ω\Γ

−Δu+b·∇u+σu,

∇·b=0

u=0suΓ,

∂u

∂n=0su∂Ω\Γ

−Δw−b·∇w+σw,

∇·b=0

w=0suΓ,

∂w

∂n+b·nw=0su∂Ω\Γ

−div(μ∇u)+div(bu)+σu

u=0suΓ,

μ∂u

∂n−b·nu=0su∂Ω\Γ

−div(μ∇w)−b·∇w+σw

w=0suΓ,

μ∂w

∂n=0su∂Ω\Γ

−div(μ∇u)+b·∇u+σu,

∇·b=0

u=0suΓ,

μ∂u

∂n=0su∂Ω\Γ

−div(μ∇w)−div(bw)+σw,

∇·b=0

w=0suΓ,

μ∂w

∂n+b·nw=0su∂Ω\Γ

Page 104: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

90 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

La procedura illustrata per il problema (3.108) può chiaramente essere estesa alcaso multidimensionale. In Tabella 3.3 forniamo un elenco di operatori differenzialicon relative condizioni al bordo e dei corrispondenti operatori aggiunti e condizioni albordo duali ad essi associate (sulle funzioni che compaiono in Tabella, si assuma tuttala regolarità che serve per la buona definizione degli operatori differenziali conside-rati). Osserviamo, in particolare, che non necessariamente a condizioni primali di uncerto tipo corrispondono condizioni duali dello stesso tipo e che ad una formulazio-ne conservativa (rispettivamente, non conservativa) del problema primale corrispondeuna formulazione non conservativa (rispettivamente, conservativa) di quello duale.

3.6.3 Il caso non lineare

L’estensione dell’analisi della sezione precedente al caso non lineare non è cosìimmediata. Per semplicità consideriamo il problema monodimensionale{

A(v)v = −v′′ + vv′ = f, x ∈ I = (0, 1),

v(0) = v(1) = 0,(3.110)

avendo denotato con A(v) l’operatore

A(v)· = − d2·dx2+ v

d·dx

. (3.111)

L’identità di Lagrange (3.6.2) viene ora così generalizzata

V ′ 〈A(v)u, w〉V = V 〈u, A∗(v)w〉V ′ , (3.112)

per ogni u ∈ D(A) e w ∈ D(A∗), essendo D(A) l’insieme delle funzioni continue,derivabili con continuità due volte e identicamente nulle in x = 0 e x = 1, e D(A∗)il dominio dell’operatore aggiunto (o duale) A∗ le cui proprietà verranno identificateimponendo il soddisfacimento della (3.112).

Partendo da tale identità, vediamo a quale operatore aggiunto A∗ e a quali condi-zioni al bordo duali si perviene per il problema (3.110). Integrando per parti due volteil termine diffusivo e una volta il termine di ordine uno, otteniamo

V ′〈A(v)u, w〉V = −1∫0

u′′w dx+

1∫0

vu′ wdx

=

1∫0

u′w′ dx− u′w∣∣∣10−

1∫0

(v w)′u dx+ v uw∣∣∣10

= −1∫0

uw′′ dx+ uw′∣∣∣10− u′ w

∣∣∣10−

1∫0

(v w)′u dx+ v uw∣∣∣10.

(3.113)

Page 105: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.7 Esercizi 91

Analizziamo a parte i termini di bordo, esplicitando i contributi ai due estremi. Pergarantire la (3.112), si dovrà avere

u(1)w′(1)− u(0)w′(0)− u′(1)w(1) + u′(0)w(0) + v(1)u(1)w(1)− v(0)u(0)w(0) = 0

per ogni u e v ∈ D(A). Osserviamo che l’appartenza di u a D(A) ci permette diannullare immediatamente i primi due e gli ultimi due termini, riducendoci così adavere

−u′(1)w(1) + u′(0)w(0) = 0.

Dovendo tale relazione valere per ogni u ∈ D(A), dobbiamo scegliere condizioni diDirichlet omogenee per l’operatore duale, ovvero

w(0) = w(1) = 0. (3.114)

Tornando alla (3.113), si ha quindi

V ′ 〈A(v)u, w〉V = −1∫0

u′′w dx+

1∫0

vu′ w dx

= −1∫0

uw′′ dx−1∫0

(v w)′u dx = V 〈u, A∗(v)w〉V ′ .

L’operatore duale o aggiunto A∗ dell’operatore primale A definito in (3.111) risultadunque

A∗(v)· = − d2·dx2+

d

dxv·

mentre le condizioni al bordo duali sono fornite dalla (3.114). Osserviamo infine cheil problema duale è sempre lineare, pur essendo partiti da un problema primale nonlineare.

Per maggiori dettagli sulla derivazione e sull’analisi dei problemi aggiunti riman-diamo il lettore, ad esempio, a [Mar95].

3.7 Esercizi

1. Trasferimento di calore in una verga sottile.Consideriamo una verga sottile di lunghezza L, posta all’estremo x = 0 allatemperatura t0 ed isolata al secondo estremo x = L. Supponiamo che la sezionetrasversale della verga abbia area costante pari ad A e che il perimetro di A sia p.La temperatura t della verga in un generico punto x ∈ (0, L) soddisfa allora alseguente problema misto:{ −kAt′′ + σpt = 0, x ∈ (0, L),

t(0) = t0, t′(L) = 0,(3.115)

Page 106: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

92 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

avendo indicato con k il coefficiente di conducibilità termica e con σ il coefficientedi trasferimento convettivo.Si verifichi che la soluzione esatta di questo problema è

t(x) = t0cosh[m(L − x)]

cosh(mL),

con m =√

σp/kA. Si scriva la formulazione debole di (3.115), indi la sua ap-prossimazione di Galerkin-elementi finiti. Si mostri come l’errore di approssima-zione nella norma H10(0, L) dipende dai parametri k, σ, p e t0.Infine, si risolva questo problema utilizzando elementi finiti lineari e quadratici sugriglie uniformi, valutando l’errore di approssimazione.

2. Temperatura di un fluido tra due piastre parallele.Consideriamo un fluido viscoso posto tra due piastre orizzontali, parallele e di-stanti 2H . Supponiamo che la piastra superiore, posta ad una temperatura tsup,scorra con velocità U rispetto alla piastra inferiore, posta ad una temperatura tinf .In tal caso la temperatura t : (0, 2H)→ R del fluido tra le due piastre soddisfa alproblema di Dirichlet seguente⎧⎨⎩ − d2t

dy2= α(H − y)2, y ∈(0, 2H),

t(0) = tinf , t(2H) = tsup,

dove α =4U2μ

H4k, essendo k il coefficiente di conducibilità termica e μ la viscosità

del fluido. Si trovi la soluzione esatta t(y), indi si scriva la formulazione debole ela formulazione Galerkin-elementi finiti.[Soluzione: la soluzione esatta è

t(y) = − α

12(H − y)4 +

tinf − tsup

2H(H − y) +

tinf + tsup

2+

αH4

12.]

3. Flessione di una fune.Consideriamo una fune di tensione T e di lunghezza unitaria, fissata agli estremi.La funzione u(x) che misura lo spostamento verticale del cavo quando soggettoad un carico trasversale di intensità w per unità di lunghezza, soddisfa al seguenteproblema di Dirichlet:{

−u′′ +k

Tu =

w

Tin (0, 1),

u(0) = 0, u(1) = 0,

avendo indicato con k il coefficiente di elasticità della fune. Si scriva la formula-zione debole e la formulazione Galerkin-elementi finiti.

4. Si dimostri la Proprietà 3.1.[Soluzione: basta osservare che aij = a(ϕj , ϕi) ∀i, j.]

5. Si dimostri la (3.12).

Page 107: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.7 Esercizi 93

[Soluzione: essendo la forma simmetrica si può ripetere il ragionamento con-tenuto nella osservazione 2.2, notando che la soluzione uh soddisfa il proble-ma a(uh, vh) = a(u, vh) per ogni vh ∈ Vh. Si deduce quindi che uh mi-nimizza J(vh) = a(vh, vh) − 2a(u, vh) e quindi minimizza anche J∗(vh) =J(vh) + a(u, u) = a(u − vh, u − vh) (l’ultimo passaggio è reso possibile dallasimmetria della forma bilineare). D’altra parte,

√α‖u− vh‖V ≤

√a(u − vh, u− vh) ≤

√M‖u− vh‖V ,

da cui il risultato cercato.]6. Data una partizione di un intervallo (a, b) in N + 1 intervalli, si supponga di nu-

merare prima gli estremi dei singoli intervalli e successivamente i punti medi diciascun intervallo. Questa numerazione è più o meno conveniente di quella intro-dotta nella Sez. 3.3 per la discretizzazione del problema di Poisson con elementifiniti in X2h? Si supponga di risolvere il sistema lineare di Galerkin con un metododi fattorizzazione.[Soluzione: la matrice che si ottiene ha ancora solo cinque diagonali diverse da ze-ro come quella ottenuta usando la numerazione proposta nella Sez. 3.3. Presentaperò una larghezza di banda maggiore. Di conseguenza, nel caso in cui venga fat-torizzata, è soggetta ad un riempimento maggiore come mostrato nella Fig. 3.23.]

0 5 10 15 20

0

2

4

6

8

10

12

14

16

18

20

0 5 10 15 20

0

2

4

6

8

10

12

14

16

18

20

Figura 3.23. A sinistra, la trama di sparsità della matrice di Galerkin associata ad una discre-tizzazione con 10 elementi del problema di Poisson mono-dimensionale con elementi finitiquadratici. La numerazione delle incognite è quella riportata nell’Esercizio 6. A destra, la tramadei fattori L ed U associati alla fattorizzazione di A. Si noti che, a causa del riempimento, ilnumero di elementi non nulli è passato da 81 nella matrice a 141 nei fattori

7. Si consideri il seguente problema ai limiti monodimensionale⎧⎪⎪⎪⎨⎪⎪⎪⎩−(αu′)′ + γu = f, 0 < x < 1,

u = 0 in x = 0,

αu′ + δu = 0 in x = 1,

Page 108: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

94 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

dove α = α(x), γ = γ(x), f = f(x) sono funzioni assegnate con 0 ≤ γ(x) ≤ γ1e 0 < α0 ≤ α(x) ≤ α1 ∀x ∈ [0, 1], mentre δ ∈ R. Si suppone inoltre chef ∈ L2(0, 1).Se ne scriva la formulazione debole precisando gli opportuni spazi funzionali e leipotesi sui dati che garantiscono esistenza ed unicità della soluzione. Si suppongadi trovare una soluzione approssimata uh utilizzando il metodo agli elementi finitilineari. Cosa si può dire sull’esistenza, la stabilità e l’accuratezza di uh?[Soluzione: cerchiamo u ∈ V ={v ∈ H1(0, 1) : v(0) = 0} tale che a(u, v) =F (v) ∀v ∈ V dove

a(u, v)=

1∫0

αu′v′ dx+

1∫0

γuv dx+ δu(1)v(1), F (v)=

1∫0

fv dx.

L’esistenza e l’unicità della soluzione del problema debole sono garantite se val-gono le ipotesi del Lemma di Lax-Milgram. La forma a(·, ·) è continua in quantosi ha

|a(u, v)| ≤ 2max(α1, γ1)‖u‖V ‖v‖V + |δ| |v(1)| |u(1)|,

da cui, tenendo conto che u(1) =

1∫0

u′ dx, si ricava

|a(u, v)| ≤M‖u‖V ‖v‖V con M = 3max(α1, γ1, |δ|).

La coercività si ha se δ≥0 in quanto si trova in tal caso

a(u, u) ≥ α0‖u′‖2L2(0,1) + u2(1)δ ≥ α0‖u′‖2L2(0,1).

Per trovare la disuguaglianza in ‖ · ‖V invocando la disuguaglianza di Poincaré(Proprietà A.4 dell’Appendice), basta dimostrare che

1

1 + C2Ω‖u‖2V ≤ ‖u′‖2L2(0,1),

e quindi concludere che

a(u, u) ≥ α∗‖u‖2V con α∗ =α0

1 + C2Ω.

Il fatto che F sia un funzionale lineare e continuo è di immediata verifica. Il meto-do agli elementi finiti è un metodo di Galerkin con Vh = {vh ∈ X1h : vh(0) = 0}.Di conseguenza, in virtù dei Corollari 3.1, 3.2 si deduce che la soluzione uh esisteed è unica. Dalla stima (3.61) si deduce inoltre che, essendo r = 1, l’errore innorma V tenderà a zero linearmente rispetto ad h.]

Page 109: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

3.7 Esercizi 95

8. Si consideri il seguente problema ai limiti bidimensionale⎧⎪⎪⎪⎨⎪⎪⎪⎩−div(α∇u) + γu = f in Ω ⊂ R2,

u = 0 su ΓD,

α∇u · n = 0 su ΓN ,

essendo Ω un dominio aperto limitato di bordo regolare ∂Ω = ΓD ∪ ΓN ,◦

ΓD ∩◦

ΓN= ∅ con normale uscente n, α ∈ L∞(Ω), γ ∈ L∞(Ω), f ∈ L2(Ω)funzioni assegnate con γ(x) ≥ 0 e 0 < α0 ≤ α(x) q.o. in Ω.Si studi l’esistenza e l’unicità della soluzione debole e la stabilità della soluzioneottenuta con il metodo di Galerkin. Si supponga che u ∈ H4(Ω). Fino a qualegrado polinomiale sarebbe conveniente arrivare utilizzando una approssimazionead elementi finiti?[Soluzione: il problema debole consiste nel trovare u ∈ V =H1ΓD tale che a(u, v) =F (v) ∀v ∈ V dove

a(u, v)=

∫Ω

α∇u∇v dΩ +

∫Ω

γuv dΩ, F (v)=

∫Ω

fv dΩ.

La forma bilineare è continua in quanto

|a(u, v)| ≤∫Ω

α|∇u||∇v| dΩ +∫Ω

|γ||u| |v| dΩ

≤ ‖α‖L∞(Ω)‖∇u‖L2(Ω)‖∇v‖L2(Ω) + ‖γ‖L∞(Ω)‖u‖L2(Ω)‖v‖L2(Ω)

≤ M‖u‖V ‖v‖V ,

avendo preso M = 2max{‖α‖L∞(Ω), ‖γ‖L∞(Ω)}. Inoltre è coerciva (si veda

la soluzione dell’Esercizio 7) con costante di coercività data da α∗ =α0

1 + C2Ω.

Essendo F un funzionale lineare e continuo, per il Lemma di Lax-Milgram lasoluzione debole esiste ed è unica. Per quanto riguarda l’approssimazione con ilmetodo di Galerkin, introduciamo uno spazio Vh di dimensione finita, sottospaziodi V . Allora esiste unica la soluzione uh del problema di Galerkin: trovare uh ∈Vh tale che a(uh, vh) = F (vh) ∀vh ∈ Vh. Inoltre, per il Corollario 3.2 si hala stabilità. Per quanto riguarda la scelta del grado polinomiale r ottimale, bastaosservare che l’esponente s che compare nella (3.26) è pari al minimo fra r ep = 3. Quindi, converrà utilizzare elementi di grado 3.]

9. I passi fondamentali di un codice ad elementi finiti possono essere così sintetiz-zati:(a) Input dei dati.(b) Costruzione della triangolazione Th = {K}.(c) Costruzione delle matrici locali AK e degli elementi fK del termine noto.(d) Assemblaggio della matrice globale A e del termine noto f .

Page 110: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

96 3 Il metodo di Galerkin-elementi finiti per problemi ellittici

K2

1

3

46

5

Figura 3.24. Patch di elementi per l’assemblaggio della matrice globale A

(e) Soluzione del sistema lineare Au = f .(f) Post-processing dei risultati.

Supponiamo di utilizzare elementi finiti lineari e si consideri il patch in Fig. 3.24.

a) Facendo riferimento ai punti (c) e (d) scrivere esplicitamente la matrice TKche permette di passare dalla matrice locale AK alla matrice globale A se-condo una trasformazione del tipo TTKAKTK . Quale dimensione ha questamatrice?

b) Quale pattern di sparsità caratterizza la matrice A associata al patch in Fig.3.24?

c) Scrivere esplicitamente gli elementi della matrice A in funzione degli elemen-ti delle matrici locali AK .

d) Nel caso di una griglia generale Th con NV vertici e NT triangoli, quale dimen-sione ha la matrice globale A nel caso di elementi finiti lineari e quadratici,rispettivamente?

Per una trattazione più esaustiva di questa tematica, rimandiamo al Cap. 11.10. Si dimostrino i risultati riassunti in Tabella 3.3 utilizzando l’identità di Lagrange

(3.6.2).

Page 111: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4

I metodi spettrali

Come abbiamo visto nel capitolo precedente, quando si approssimano problemi ailimiti con il metodo degli elementi finiti, l’ordine di convergenza è comunque limitatodal grado dei polinomi usati, anche nel caso in cui le soluzioni siano molto regolari. Inquesto capitolo introdurremo i metodi spettrali, per i quali la velocità di convergenzaè limitata dalla sola regolarità della soluzione del problema (ed è di tipo esponenzialeper soluzioni analitiche). Per un’analisi dettagliata rinviamo a [CHQZ06, CHQZ07,Fun92, BM92].

4.1 Il metodo di Galerkin spettrale per problemi ellittici

La principale caratteristica che differenzia gli elementi finiti dai metodi spettrali pro-priamente detti, nella loro versione classica “monodominio”, è che questi ultimi uti-lizzano polinomi globali sul dominio computazionale Ω, anziché polinomi a tratti.Questa differenza è tuttavia compensata nel caso degli elementi spettrali.

Per ogni intero positivo N , denotiamo conQN lo spazio dei polinomi a coefficientireali di grado minore o eguale ad N rispetto a ciascuna delle variabili. Così in unadimensione indicheremo con

QN (I)=

{v(x) =

N∑k=0

akxk, ak ∈ R

}(4.1)

lo spazio dei polinomi di grado≤ N sull’intervallo I ⊂ R, mentre, in due dimensioni,

QN (Ω)=

{v(x) =

N∑k,m=0

akm xk1xm2 , akm ∈ R

}(4.2)

denoterà il medesimo spazio, ma sull’insieme aperto Ω ⊂ R2. Notiamo che, men-tre in una dimensione QN =PN , in più dimensioni ciò non accade. In particolare,dim QN = (N + 1)

2, mentre, come già visto nel capitolo precedente, dim PN =(N + 1)(N + 2)/2.

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 112: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

98 4 I metodi spettrali

Supponiamo di voler approssimare la soluzione u di un problema ellittico che am-mette la formulazione variazionale (3.1). Con un metodo di Galerkin spettrale (MS),lo spazio V verrà approssimato con uno spazio VN ⊂ QN e la soluzione approssima-ta verrà conseguentemente indicata con uN . In particolare, se supponiamo che V lospazio H1ΓD (Ω) (lo spazio definito in (2.27)), VN denoterà l’insieme dei polinomi diQN che si annullano sulla porzione di frontiera ΓD su cui si ha una condizione di tipoDirichlet, ovvero

VN = {vN ∈ QN : vN |ΓD = 0}.

È evidente che VN ⊂ V . Il metodo di Galerkin MS verrà dunque formulato sul sot-tospazio VN . Nella definizione di VN è però insita una difficoltà: nel caso multidi-mensionale non è infatti possibile (in generale) richiedere che un polinomio vN siannulli soltanto su una parte arbitraria del bordo di Ω. Ad esempio, se Ω è il quadrato(−1, 1)2, non è possibile costruire un polinomio che sia nullo solo su una parte di unlato del quadrato senza che esso sia nullo su tutto quel lato (si veda la Fig. 4.1). Ciò nontoglie che un polinomio possa annullarsi su tutto un lato del quadrato o su tutti i latisenza essere necessariamente nullo in tutto Ω (ad esempio, v2(x) = (1−x21)(1−x22)è nullo solo sul bordo di Ω).

ΓD ΓD

Figura 4.1. Bordi di Dirichlet ammissibili (a sinistra) e non (a destra) per il metodo spettrale

Per questo motivo, nel caso bidimensionale restringiamo la nostra attenzione a do-mini quadrati (o riconducibili, tramite opportune trasformazioni, ad un quadrato diriferimento Ω =(−1, 1)2) e supponiamo che la porzione di frontiera ΓD sia formatadall’unione di uno o più lati del dominio.Il metodo spettrale può tuttavia essere esteso al caso di un dominio Ω costituito dal-l’unione di quadrilateri Ωk, ciascuno dei quali riconducibile al quadrato di riferimentoΩ mediante una trasformazione invertibileϕk : Ω → Ωk (si veda la Fig. 4.2).Parleremo in tal caso di metodo agli elementi spettrali (MES) [CHQZ07]. È evidenteche in tale ambito si potrà imporre che la soluzione si annulli su porzioni di frontieradate dall’unione di lati dei quadrilateri, ma naturalmente non da porzioni di lati (siveda la Fig. 4.2). Lo spazio discreto ha ora la forma seguente

V CN ={vN ∈ C0(Ω) : vN |Ωk ◦ϕk ∈ QN (Ω)}.

Esempio 4.1 Una mappa bidimensionale particolarmente importante è quella costituita dall’in-terpolazione transfinita (detta trasformazione di Gordon-Hall o anche Coons patch). La mappaϕk, in questo caso, viene espressa in funzione delle mappe invertibili π(i)k : (−1, 1)→ Γi (per

Page 113: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.1 Il metodo di Galerkin spettrale per problemi ellittici 99

ΓD Ωkϕk Ω

Figura 4.2. Scomposizione del dominio di risoluzione e condizioni al bordo ammissibili per ilMES

ϕk

Γ4

Γ3

Γ2

Γ1

ΩkΩ

ξ

η

Figura 4.3. La trasformazioneϕk nel caso dell’interpolazione transfinita

i = 1, . . . , 4) che definiscono i quattro lati del dominio computazionaleΩk (si veda la Fig. 4.3).La trasformazione assume la forma seguente

ϕk(ξ, η) =1− η2π1k(ξ) +

1 + η

2π3k(ξ)

+1− ξ2[π4k(η) −

1 + η

2π3k(−1)−

1− η2π1k(−1)]

+1 + ξ

2[π2k(η) −

1 + η

2π2k(1)−

1− η2π2k(−1)].

(4.3)

L’interpolazione transfinita consente dunque di passare a considerare domini computazionaliΩcaratterizzati da bordi curvi. Per altri esempi di trasformazioni si veda [CHQZ07]. �

L’approssimazione del problema (3.1) con il metodo spettrale di Galerkin (MS) èla seguente

trovare uN ∈ VN : a(uN , vN) = F (vN) ∀vN ∈ VN ,

mentre quella ad elementi spettrali (MES) sarà

trovare uN ∈ V CN : aC(uN , vN) = FC(vN ) ∀vN ∈ V CN , (4.4)

Page 114: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

100 4 I metodi spettrali

dove

aC(uN , vN) =∑k

aΩk(uN , vN), FC(vN) =∑k

FΩk(vN ),

essendo aΩk(·, ·) e FΩk(·) le restrizioni di a(·, ·) e di F (·) a Ωk.Poiché questi metodi rappresentano un caso particolare del metodo di Galerkin

(3.2), l’analisi fatta nella Sez. 3.2 continua a valere e quindi, in particolare, si possonoapplicare i risultati di esistenza, unicità, stabilità e convergenza.

Si può inoltre dimostrare che, per i metodi spettrali MS e MES, valgono le seguentistime a priori dell’errore.

Teorema 4.1 Sia u ∈ V la soluzione esatta del problema variazionale (3.1) esi supponga che u ∈ Hs+1(Ω), per qualche s ≥ 0. Se uN è la corrispondentesoluzione approssimata ottenuta con il metodo MS, vale la seguente stima

‖u− uN‖H1(Ω) ≤ CsN−s‖u‖Hs+1(Ω)

essendo N il grado dei polinomi approssimanti e Cs una costante che non di-pende da N , ma può dipendere da s. Se uN è invece la soluzione ottenuta con ilmetodo MES, allora si ha

‖u− uN‖H1(Ω) ≤ CsHmin(N,s)N−s‖u‖Hs+1(Ω),

essendo H la massima lunghezza dei lati dei macroelementi Ωk .

È pertanto evidente che, diversamente da quanto avviene nel metodo ad elementifiniti, una maggior regolarità della soluzione si ripercuote in un aumento della velocitàdi convergenza pur supponendo di aver fissato il grado polinomiale N . In particolare,se u è analitica l’ordine di convergenza del metodo spettrale diventa più che algebrico,ovvero esponenziale; più precisamente,

∃γ > 0 : ‖u− uN‖H1(Ω) ≤ C exp(−γN).

Anche nel caso in cui u abbia regolarità finita, si riesce comunque ad ottenere dalmetodo spettrale la massima velocità di convergenza consentita dalla regolarità dellasoluzione esatta: questo è un indiscutibile vantaggio dei metodi spettrali rispetto aglielementi finiti.Il limite principale dei metodi spettrali classici è che riescono a trattare solo geome-trie semplici: ad esempio, in due dimensioni, rettangoli o quadrilateri mappabili inun quadrato tramite una trasformazione invertibile. Tuttavia, come già accennato, sipossono estendere, attraverso il MES, al caso in cui il dominio sia dato dall’unione diquadrilateri, eventualmente anche con lati curvi.

Un ulteriore svantaggio dei metodi spettrali classici sta nel fatto che la matrice dirigidezza A ad essi associata è piena (nel caso monodimensionale) o comunque moltomeno sparsa di quella degli elementi finiti (in più dimensioni), a causa del fatto che

Page 115: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.2 Polinomi ortogonali e integrazione numerica gaussiana 101

le funzioni di base di tale metodo hanno supporto globale (e non locale). Il sistemadi equazioni ad essa associato risulta quindi in generale più difficile e più costoso darisolvere.

Non è infine da sottovalutare lo sforzo computazionale richiesto per calcolare glielementi della matrice di rigidezza e del termine noto, in quanto si ha a che fare conpolinomi di grado elevato. Quest’ultimo inconveniente viene superato grazie all’uso diopportune formule di integrazione numerica di tipo gaussiano, oggetto della prossimasezione.

Osservazione 4.1 Nel corso della Sez. 4.5 alla fine di questo capitolo verrà forni-ta la formulazione algebrica del metodo MES per un problema monodimensionale.In particolare verranno introdotte le funzioni di base per lo spazio V CN dei polinomicompositi. •

Osservazione 4.2 L’approccio MES ha una formulazione non molto diversa dalla ver-sione p del metodo degli elementi finiti. In entrambi i casi, il numero dei sottodominiΩk è fissato mentre il grado locale dei polinomi (N nel caso del MES, p per lo schemaad elementi finiti) viene aumentato localmente al fine di migliorare l’accuratezza del-l’approssimazione numerica. La differenza principale caratterizzante tali schemi staessenzialmente nella diversa scelta delle funzioni di base e, conseguentemente, nelladiversa struttura assunta dalla matrice di rigidezza. Per ulteriori dettagli rimandiamoil lettore interessato a [CHQZ07, Sch98]. •

4.2 Polinomi ortogonali e integrazione numerica gaussiana

In questa sezione introduciamo gli ingredienti matematici che consentono di costruireformule di integrazione numerica di tipo Gaussiano. Come anticipato, tali formule sa-ranno alla base dei metodi pseudo-spettrali, ma anche dei metodi agli elementi spettraliche facciano uso di formule di integrazione numerica.

4.2.1 Polinomi ortogonali di Legendre

Consideriamo una funzione f : (−1, 1) → R. Ricordiamo che lo spazio L2(−1, 1) èdefinito da (si veda l’Appendice A.3.1)

L2(−1, 1) ={f : (−1, 1)→ R : ‖f‖L2(−1,1) =

( 1∫−1

f2(x) dx

)1/2 <∞

}.

Il suo prodotto scalare è dato da

(f, g) =

1∫−1

f(x)g(x)dx,

Page 116: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

102 4 I metodi spettrali

e per esso vale la disuguaglianza di Cauchy-Schwarz (2.7). I polinomi ortogonalidi Legendre Lk ∈ Pk , per k = 0, 1, . . ., costituiscono una successione per cui èsoddisfatta la seguente relazione di ortogonalità

(Lk, Lm) =

{0 se m �= k,

(k + 12)−1 se m = k.

Essi sono linearmente indipendenti e formano una base per L2(−1, 1). Conseguente-mente ogni funzione f ∈ L2(−1, 1) può essere espressa tramite uno sviluppo in seriedella forma

f(x) =

∞∑k=0

fkLk(x) (4.5)

noto come serie di Legendre. I coefficienti di Legendre fk possono essere facilmentecalcolati sfruttando l’ortogonalità dei polinomi di Legendre. Infatti abbiamo

(f, Lk) =

1∫−1

f(x)Lk(x) dx =

1∫−1

( ∞∑i=0

fi Li(x)Lk(x)

)dx

=

∞∑i=0

( 1∫−1

Li(x)Lk(x) dx

)fi = fk ‖Lk‖2L2(−1,1).

Pertanto,

fk = (f, Lk)/‖Lk‖2L2(−1,1) = (k +1

2)

1∫−1

f(x)Lk(x)dx (4.6)

da cui discende immediatamente la cosiddetta identità di Parseval

‖f‖2L2(−1,1) =∞∑k=0

(fk)2‖Lk‖2L2(−1,1).

Osserviamo che lo sviluppo (4.5), le cui incognite coincidono con i coefficienti fkdefiniti nella (4.6), è detto modale.È possibile calcolare, in maniera ricorsiva, i polinomi di Legendre tramite la seguenterelazione a tre termini:

L0 = 1, L1 = x,

Lk+1 =2k + 1

k + 1xLk −

k

k + 1Lk−1, k = 1, 2, . . .

In Fig. 4.4 vengono riportati i grafici dei polinomi Lk, per k = 2, . . . , 5. Possiamodimostrare che, per ogni f ∈ L2(−1, 1), la sua serie di Legendre converge a f nellanorma di L2(−1, 1). Indicando con

fN(x) =

N∑k=0

fkLk(x)

Page 117: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.2 Polinomi ortogonali e integrazione numerica gaussiana 103

-1

-0.5

0

0.5

1

-1 -0.5 0 0.5 1

N=2N=3N=4N=5

Figura 4.4. I polinomi di Legendre di grado k = 2, 3, 4, 5

la troncata N-esima della serie di Legendre di f , ciò significa che

limN→∞

‖f − fN‖L2(−1,1) = 0, (4.7)

ovvero

limN→∞

∥∥∥ ∞∑k=N+1

fkLk

∥∥∥L2(−1,1)

= 0.

Grazie all’identità di Parseval si ha che

‖f − fN‖2L2(−1,1) =∞∑

k=N+1

(fk)2‖Lk‖2L2(−1,1) =

∞∑k=N+1

(fk)2

k + 12

,

e dunque la condizione (4.7) equivale a

limN→∞

∞∑k=N+1

(fk)2

k + 12= 0.

Inoltre si può dimostrare che, se f ∈ Hs(−1, 1), per qualche s ≥ 1, allora è possibiletrovare una opportuna costante Cs > 0, indipendente da N , tale che

‖f − fN‖L2(−1,1) ≤ Cs

(1

N

)s‖f(s)‖L2(−1,1),

ossia si ha convergenza di ordine s, per s ≥ 1, rispetto a 1/N .

Possiamo a questo punto dimostrare che fN è la proiezione ortogonale di f suQNrispetto al prodotto scalare di L2(−1, 1), ovvero che

(f − fN , p) = 0 ∀ p ∈ QN . (4.8)

Page 118: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

104 4 I metodi spettrali

Infatti

(f − fN , Lm) =

( ∞∑k=N+1

fkLk, Lm

)=

∞∑k=N+1

fk(Lk, Lm).

I polinomi Lk , con 0 ≤ k ≤ N , formano una base per lo spazio QN . Inoltre, perm ≤ N , (Lk, Lm) = 0 ∀k ≥ N + 1 per via dell’ortogonalità, da cui segue la (4.8).

In particolare dalla (4.8) discende anche che fN è la funzione che rende minima ladistanza di f daQN , ovvero

‖f − fN‖L2(−1,1) ≤ ‖f − p‖L2(−1,1) ∀ p ∈ QN . (4.9)

A tal fine cominciamo con l’osservare che

‖f − fN‖2L2(−1,1) = (f − fN , f − fN ) = (f − fN , f − p) + (f − fN , p− fN ),

per ogni p ∈ QN e che (f − fN , p − fN ) = 0 per la proprietà di ortogonalità (4.8).Di conseguenza

‖f − fN‖2L2(−1,1) = (f − fN , f − p) ∀ p ∈ QN ,

da cui, applicando la disuguaglianza di Cauchy-Schwarz, si ottiene

‖f − fN‖2L2(−1,1) ≤ ‖f − fN‖L2(−1,1) ‖f − p‖L2(−1,1) ∀ p ∈ QN ,

ossia la (4.9).

4.2.2 Integrazione gaussiana

Le formule di quadratura gaussiane sono quelle che, fissato il numero dei nodi diquadratura, consentono di ottenere grado di precisione massimo (si veda [QSS08]).Inizieremo con l’introdurre tali formule sull’intervallo (−1, 1) per poi estenderle alcaso di un intervallo generico.

Indichiamo con N il numero dei nodi. Chiamiamo nodi di quadratura di Gauss-Legendre gli zeri {x1, . . . , xN} del polinomio di Legendre LN . In corrisponden-za di tale insieme di nodi considereremo la seguente formula di quadratura (dettainterpolatoria, di Gauss-Legendre)

IGLN−1f=

1∫−1

ΠGLN−1f(x) dx, (4.10)

essendo ΠGLN−1f il polinomio di grado N − 1 interpolante f nei nodi x1, . . . , xN .Indichiamo con ψk ∈ QN−1, k = 1, ..., N , i polinomi caratteristici di Lagrangeassociati ai nodi di Gauss-Legendre, ovvero tali che

ψk(xj) = δkj, j = 1, .., N.

Page 119: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.2 Polinomi ortogonali e integrazione numerica gaussiana 105

La formula di quadratura (4.10) assume allora la seguente espressione

1∫−1

f(x) dx � IGLN−1f =N∑k=1

αkf(xk), con αk =

1∫−1

ψk(x)dx,

e viene detta formula di quadratura di Gauss-Legendre (GL).

Per trovare i nodi tk ed i pesi δk caratterizzanti tale formula su un generico intervallo[a, b], basterà ricorrere per i primi alla relazione

tk =b− a

2xk +

a+ b

2,

mentre, per i secondi, si verifica facilmente che

δk =b− a

2αk.

Il grado di esattezza di queste formule è pari a 2N − 1 (ed è il massimo possibile performule a N − 1 nodi). Ciò significa che

b∫a

f(x)dx =

N∑k=1

δkf(tk) ∀f ∈ Q2N−1.

4.2.3 Le formule di Gauss-Legendre-Lobatto

Una caratteristica delle formule di integrazione di Gauss-Legendre è di avere tutti inodi di quadratura interni all’intervallo di integrazione. Nel caso di problemi differen-ziali ciò rende problematica l’imposizione delle condizioni al bordo nei punti estremidell’intervallo.

Per superare tale difficoltà vengono introdotte le cosiddette formule di Gauss-Lo-batto, in particolare le formule di Gauss-Legendre-Lobatto (GLL) i cui nodi, relativa-mente all’intervallo (−1, 1), sono rappresentati dagli estremi stessi dell’intervallo, edai punti di massimo e di minimo del polinomio di Legendre di grado N , ossia daglizeri della derivata prima del polinomio LN .Denotiamo tali nodi con {x0 = −1, x1, . . . , xN−1, xN = 1}. Si ha pertanto

L′N (xi) = 0, per i = 1, . . . , N − 1. (4.11)

Siano ψi i corrispondenti polinomi caratteristici, ovvero

ψi ∈ QN : ψi(xj) = δij , 0 ≤ i, j ≤ N, (4.12)

la cui espressione analitica è data da

ψi(x) =−1

N(N + 1)

(1− x2)L′N (x)

(x− xi)LN (xi), i = 0, . . . , N (4.13)

Page 120: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

106 4 I metodi spettrali

-1

-0.5

0

0.5

1

-1 -0.5 0 0.5 1

i=0i=1i=2i=3i=4

Figura 4.5. I polinomi caratteristici ψi, i = 0, . . . , 4 di grado 4 relativi ai nodi di Gauss-Legendre-Lobatto

(si veda la Fig. 4.5 in cui vengono riportati i grafici dei polinomi caratteristici ψi,per i = 0, . . . , 4 nel caso in cui N = 4). Osserviamo che le funzioni ψi(x) sonola controparte delle funzioni di base lagrangiane {ϕi} degli elementi finiti introdottenella Sez. 3.3. Per ogni funzione f ∈ C0([−1, 1]), il suo polinomio d’interpolazioneΠGLLN f ∈ QN nei nodi GLL è identificato dalla relazione

ΠGLLN f(xi) = f(xi), 0 ≤ i ≤ N . (4.14)

Esso ha la seguente espressione

ΠGLLN f(x) =

N∑i=0

f(xi)ψi(x). (4.15)

Si può dimostrare che, grazie alla distribuzione non uniforme dei nodi {xi}, ΠGLLN fconverge verso f quando N → ∞. Inoltre è soddisfatta la seguente stima dell’errore:se f ∈ Hs(−1, 1), per qualche s ≥ 1,

‖f −ΠGLLN f‖L2(−1,1) ≤ Cs

(1

N

)s‖f(s)‖L2(−1,1), (4.16)

dove Cs è una costante dipendente da s ma non da N . Più in generale (si veda[CHQZ06]),

‖f −ΠGLLN f‖Hk(−1,1) ≤ Cs

(1

N

)s−k‖f(s)‖L2(−1,1), s ≥ 1, k = 0, 1.

(4.17)In Fig. 4.6 (a sinistra) riportiamo le curve di convergenza dell’errore d’interpolazioneper due diverse funzioni.

Page 121: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.2 Polinomi ortogonali e integrazione numerica gaussiana 107

0 10 20 30 40 50 60 7010

−15

10−10

10−5

100

105

N

erro

re in

terp

olaz

ione

0 10 20 30 40 5010

−16

10−12

10−8

10−4

100

N

erro

re q

uadr

atur

a

Figura 4.6. Comportamento dell’errore di interpolazione (a sinistra) e di integrazione (a destra)nei nodi GLL in funzione del grado N per le due funzioni f1(x) = cos(4πx) (•) e f2(x) =4 cos(4x) exp(sin(4x)) (�) sull’intervallo (−1, 1)

In alternativa alla (4.10) possiamo introdurre la seguente formula di quadratura diGauss-Legendre-Lobatto, GLL,

IGLLN f =

1∫−1

ΠGLLN f(x)dx =N∑k=0

αkf(xk) (4.18)

i cui pesi sono αi =

1∫−1

ψi(x) dx ed assumono la seguente espressione

αi =2

N(N + 1)

1

L2N (xi). (4.19)

La formula di quadratura GLL ha grado di esattezza pari a 2N − 1, ovvero integraesattamente tutti i polinomi di grado ≤ 2N − 1,

1∫−1

f(x)dx = IGLLN f ∀f ∈ Q2N−1. (4.20)

Questo è il massimo grado ottenibile quando si usano N +1 nodi, di cui 2 assegnati apriori. Si dimostra inoltre, usando la stima di interpolazione (4.16), la seguente stimaper l’errore di integrazione se f ∈ Hs(−1, 1), con s ≥ 1,

∣∣∣∣1∫

−1

f(x) dx− IGLLN f

∣∣∣∣ ≤ Cs

(1

N

)s‖f(s)‖L2(−1,1),

dove Cs è indipendente da N ma può dipendere, in generale, da s. Ciò significa chetanto più la funzione f è regolare, tanto più elevato è l’ordine di convergenza della

Page 122: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

108 4 I metodi spettrali

formula di quadratura. In Fig. 4.6 (a destra) riportiamo l’errore d’integrazione per duediverse funzioni (le stesse considerate nel grafico di sinistra).Se ora si considera, invece di (−1, 1), un generico intervallo (a, b), nodi e pesi in (a, b)assumono la seguente espressione

tk =b− a

2xk +

a + b

2, δk =

b− a

2αk.

La formula (4.19) si generalizza come segue

b∫a

f(x)dx �N∑k=0

δkf(tk). (4.21)

Le sue proprietà di precisione restano invariate.

4.3 Metodi G-NI in una dimensione

Consideriamo il seguente problema ellittico monodimensionale, con dati di Dirichletomogenei {

Lu= − (μu′)′ + σu = f, −1 < x < 1,u(−1) = 0, u(1) = 0,

(4.22)

con μ(x) ≥ μ0 > 0 e σ(x) ≥ 0, al fine di avere una forma bilineare associata che siacoerciva in H10(−1, 1).Il metodo di Galerkin spettrale si scrive

trovare uN ∈ VN :

1∫−1

μu′Nv′N dx+

1∫−1

σuNvN dx =

1∫−1

fvN dx ∀ vN ∈ VN ,

(4.23)con

VN = {vN ∈ QN : vN(−1) = vN (1) = 0}. (4.24)

Il metodo G-NI (Galerkin with Numerical Integration) si ottiene approssimando gliintegrali in (4.23) con le formule di integrazione GLL. Ciò equivale a sostituire alprodotto scalare (f, g) in L2(−1, 1) il prodotto scalare discreto di GLL (per funzionicontinue)

(f, g)N =

N∑i=0

αif(xi)g(xi), (4.25)

dove gli xi e gli αi sono definiti secondo la (4.11) e la (4.19). Dunque il metodo G-NIsi scrive

trovare u∗N ∈ VN : (μu∗N′, v′N)N +(σu

∗N , vN)N = (f, vN)N ∀ vN ∈ VN . (4.26)

A causa dell’integrazione numerica, in generale sarà u∗N �= uN , cioè le soluzioni delmetodo spettrale e di quello G-NI non coincidono.

Page 123: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.3 Metodi G-NI in una dimensione 109

Tuttavia, osserviamo che, grazie alla proprietà di esattezza (4.20), si avrà

(f, g)N = (f, g) purché fg ∈ Q2N−1. (4.27)

Se consideriamo il caso particolare in cui in (4.22) μ è costante e σ = 0, il problemaG-NI diviene

μ(u∗′N , v′N )N = (f, vN)N . (4.28)

In alcuni casi molto particolari si può riscontrare coincidenza tra il metodo spettralee quello G-NI. È questo ad esempio il caso della (4.28) in cui f sia un polinomio digrado al massimo uguale a N − 1. È semplice verificare che i due metodi coincidonograzie alla relazione di esattezza (4.27).

Generalizzando al caso di formulazioni differenziali più complesse e di condizionial bordo differenti (di Neumann, o miste), il problema G-NI si scrive

trovare u∗N ∈ VN : aN(u∗N , vN) = FN (vN) ∀ vN ∈ VN , (4.29)

dove aN(·, ·) e FN (·) si ottengono a partire dalla forma bilineare a(·, ·) e dal terminenoto F (·) del problema di Galerkin spettrale, sostituendo gli integrali esatti con leformule di quadratura GLL, essendo VN lo spazio dei polinomi di grado N che siannullano su quei tratti di bordo (ammesso che ve ne siano) su cui siano assegnatecondizioni di Dirichlet.

Si osservi che, a causa del fatto che la forma bilineare aN (·, ·) e il funzionaleFN(·) non sono più quelli associati al problema di partenza, quello che si ottiene nonè più un metodo di approssimazione di Galerkin e pertanto non sono più applicabili irisultati teorici ad esso relativi (in particolare, il Lemma di Céa).In generale, un metodo derivato da un metodo di Galerkin, di tipo spettrale o aglielementi finiti, previa sostituzione degli integrali esatti con quelli numerici verrà dettometodo di Galerkin generalizzato (GG). Per la corrispondente analisi si farà ricorso alLemma di Strang (si veda la Sez. 4.4.1 e anche ([Cia78, QV94]) .

4.3.1 Interpretazione algebrica del metodo G-NI

Le funzioni ψi, con i = 1, 2, . . . , N − 1, introdotte nella Sez. 4.2.3 costituiscono unabase per lo spazio VN , in quanto sono tutte nulle in corrispondenza di x0 = −1 e dixN = 1. Possiamo dunque fornire per la soluzione u∗N del problema G-NI (4.29) larappresentazione nodale

u∗N(x) =N−1∑i=1

u∗N(xi)ψi(x),

ovvero, in analogia con il metodo degli elementi finiti, identificare le incognite del no-stro problema con i valori assunti da u∗N in corrispondenza dei nodi xi (ora coincidenticon quelli di Gauss-Legendre-Lobatto). Inoltre, affinché il problema (4.29) risulti ve-rificato per ogni vN ∈ VN , basterà che lo sia per ogni funzione di base ψi. Avremo

Page 124: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

110 4 I metodi spettrali

perciòN−1∑j=1

u∗N(xj) aN(ψj , ψi) = FN(ψi), i = 1, 2, . . . , N − 1,

che possiamo riscrivere

N−1∑j=1

aiju∗N (xj) = fi, i = 1, 2, . . . , N − 1,

ovvero, in forma matricialeAu∗N = f (4.30)

dove

A = (aij) con aij = aN(ψj , ψi), f = (fi) con fi = FN(ψi),

e dove u∗N denota il vettore dei coefficienti incogniti u∗N(xj), per j = 1, . . . , N − 1.Nel caso particolare del problema (4.26), si otterrebbe

aij = (μψ′j, ψ

′i)N + αiσ(xi)δij , fi = (f, ψi)N = αif(xi),

per ogni i, j = 1, . . . , N − 1. La matrice in 1D è piena a causa della presenza deltermine diffusivo. Il termine reattivo dà invece un contributo solo alla diagonale. Inpiù dimensioni la matrice A ha una struttura a blocchi, e i blocchi diagonali sonopieni. Si veda la Fig. 4.7 in cui è riportato il pattern di sparsità relativo alla matri-ce A in 2D e 3D. Osserviamo infine che il numero di condizionamento della matricea cui si perverrebbe in assenza di integrazione numerica risulta, in generale, ancorapiù grande, essendo O(N4). La matrice A risulta inoltre mal condizionata, con unnumero di condizionamento che risulta dell’ordine di O(N3). Per la risoluzione delsistema (4.30) è dunque conveniente ricorrere, specialmente in 2D e 3D, ad un meto-do iterativo opportunamente precondizionato. Scegliendo come precondizionatore la

0 5 10 15 20 25 30 35 40 45 50

0

5

10

15

20

25

30

35

40

45

50

nz = 6370 100 200 300 400 500 600 700

0

100

200

300

400

500

600

700

nz = 18225

Figura 4.7. Pattern di sparsità della matrice A del metodo G-NI per il caso 2D (a sinistra) e 3D(a destra): nz indica il numero degli elementi non nulli della matrice

Page 125: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.3 Metodi G-NI in una dimensione 111

0 10 20 30 40 50 60 7010

0

101

102

103

104

105

106

N

cond

izio

nam

ento

non precondizionato

prec. diagonale

prec. Cholesky

prec. EF int. num.

prec. EF int. esatta

0 10 20 30 40 50 60 7010

0

101

102

103

104

N

itera

zion

i

non precondizionato

prec. diagonale

prec. Cholesky

prec. EF int. num.

prec. EF int. esatta

Figura 4.8. Numero di condizionamento (a sinistra) e numero di iterazioni (a destra), per diversitipi di precondizionamento

matrice degli elementi finiti lineari associati alla stessa forma bilineare a(·, ·) e ai nodiGLL, si ottiene una matrice precondizionata il cui condizionamento è indipendenteda N ([CHQZ06]). Nella Fig. 4.8, in alto, riportiamo il numero di condizionamento(in funzione di N ) della matrice A e della matrice ottenuta precondizionando A condiverse matrici di precondizionamento: la matrice diagonale di A, quella ottenuta daA attraverso la fattorizzazione incompleta di Cholesky, quella con elementi finiti li-neari approssimando gli integrali con la formula dei trapezi composita, e infine quellaesatta degli elementi finiti. Nella stessa figura, in basso, riportiamo invece il numero diiterazioni che servono nei vari casi a far convergere il metodo del gradiente coniugato.

4.3.2 Condizionamento della matrice di rigidezza del metodo G-NI

Cerchiamo delle stime per gli autovalori λN della matrice di rigidezza A del metodoG-NI

Au = λNu

nel caso del semplice operatore di derivata seconda. Ricordiamo che A = (aij),con aij = (ψ

′j, ψ

′i)N = (ψ

′j , ψ

′i), ψj essendo la j-esima funzione caratteristica di

Lagrange associata al nodo xj . Allora

λN =uTAu

uTu=‖uNx ‖2L2(−1,1)uTu

, (4.31)

essendo uN ∈ VN l’unico polinomio dello spazio VN definito in (4.24) soddisfacente

uN(xj) = uj , per j = 1, . . . , N − 1, dove u = (uj). Per ogni j, uj =

xj∫−1

uNx (s) ds,

dunque, grazie alla disuguaglianza di Cauchy-Schwarz,

|uj| ≤( xj∫−1

|uNx (s)|2 ds)1/2( xj∫

−1

ds

)1/2≤√2 ‖uNx ‖L2(−1,1).

Page 126: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

112 4 I metodi spettrali

Pertanto

uTu =

N−1∑j=1

u2j ≤ 2 (N − 1) ‖uNx ‖2L2(−1,1),

il che, grazie alla (4.31), fornisce la minorazione

λN ≥ 1

2(N − 1) . (4.32)

Una maggiorazione per λN si ottiene ricorrendo alla disuguaglianza inversa per ipolinomi algebrici, secondo la quale (si veda [CHQZ06], Sez. 5.4.1)

∃ C > 0 : ∀ p ∈ VN , ‖px‖L2(−1,1) ≤√2N

( 1∫−1

p2(x)

1− x2dx

)1/2. (4.33)

Allora

‖uNx ‖2L2(−1,1) ≤ 2N21∫

−1

[uN(x)]2

1− x2dx = 2N2

N−1∑j=1

[uN(xj)]2

1− x2jαj, (4.34)

dove si è usata l’esattezza della formula di quadratura GLL (si veda la (4.20)), es-sendo [uN ]2/(1 − x2) ∈ P2N−2. Poiché per il coefficiente αj vale la stima asinto-tica: αj/(1 − x2j) ≤ C , per un’opportuna costante C indipendente da N , possiamoconcludere, grazie alla (4.31) e alla (4.34), che

λN ≤ 2C N2. (4.35)

Si può infine dimostrare che entrambe le stime (4.32) e (4.35) sono ottimali per quantoattiene al comportamente asintotico rispetto a N .

4.3.3 Equivalenza tra il metodo G-NI e un metodo di collocazione

Vogliamo mostrare che esiste una relazione precisa fra il metodo G-NI e i metodi dicollocazione, quei metodi cioè che impongono il soddisfacimento dell’equazione dif-ferenziale solo in punti selezionati dell’intervallo di definizione. Consideriamo ancorail problema di Dirichlet omogeneo (4.22), il cui problema G-NI associato si scrivenella forma (4.26).Vorremmo controintegrare per parti l’equazione (4.26), ma, per poterlo fare, dobbia-mo prima riscrivere i prodotti scalari discreti sotto forma di integrali. Sia ΠGLLN :C0([−1, 1]) �→ QN l’operatore di interpolazione introdotto nella Sez. 4.2.3 che as-socia ad una funzione continua il corrispondente polinomio interpolante tale funzionenei nodi di Gauss-Legendre-Lobatto.Poiché la formula di quadratura GLL usa i valori della funzione nei soli nodi diquadratura e poiché ivi la funzione e il suo interpolato G-NI coincidono, si ha

N∑i=0

αif(xi) =

N∑i=0

αiΠGLLN f(xi) =

1∫−1

ΠGLLN f(x)dx,

Page 127: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.3 Metodi G-NI in una dimensione 113

dove l’ultima uguaglianza discende dalla (4.20) in quanto ΠGLLN f viene integratoesattamente, essendo un polinomio di grado N .Il prodotto scalare discreto può essere così ricondotto ad un prodotto scalare inL2(−1, 1), nel caso in cui una delle due funzioni sia un polinomio di grado stretta-mente minore di N , ovvero

(f, g)N = (ΠGLLN f, g)N = (Π

GLLN f, g) ∀ g ∈ QN−1 . (4.36)

In tal caso, infatti, (ΠGLLN f)g ∈ Q2N−1 e quindi l’integrale viene calcolato esatta-mente. Integrando per parti gli integrali esatti, si ottiene1

(μu′N , v′N)N = (ΠGLLN (μu′N), v′N)N = (Π

GLLN (μu′N), v

′N)

= −([ΠGLLN (μu′N)]′, vN)+[ΠGLLN (μu′N) vN ]

1−1

= −([ΠGLLN (μu′N)]′, vN)N ,

dove l’ultimo passaggio si giustifica poiché vN si annulla al bordo ed i termini nelprodotto scalare danno luogo ad un polinomio il cui grado totale è pari a 2N − 1. Aquesto punto possiamo riscrivere il problema G-NI come segue

trovare uN ∈ VN : (LNuN , vN)N = (f, vN)N ∀ vN ∈ VN , (4.37)

dove si è definitoLNuN = −[ΠGLLN (μu′N)]

′ + σuN . (4.38)

Imponendo ora che la (4.37) valga per ogni funzione di base ψi, si ottiene

(LNuN , ψi)N = (f, ψi)N , i = 1, 2, . . . , N − 1.

Esaminiamo ora come è fatta la i-esima equazione. Il primo termine, a meno del segno,vale

([ΠGLLN (μu′N)]′, ψi)N =

N∑j=0

αj[ΠGLLN (μu′N)]

′(xj)ψi(xj) = αi[ΠGLLN (μu′N)]

′(xi),

grazie al fatto che ψi(xj) = δij . Analogamente, per il secondo termine, si ha

(σuN , ψi)N =

N∑j=0

αjσ(xj)uN(xj)ψi(xj) = αiσ(xi)uN (xi).

Infine, il secondo membro diviene

(f, ψi)N =

N∑j=0

αjf(xj )ψi(xj) = αif(xi).

1 D’ora in poi, per semplicità di notazione, indicheremo la soluzione G-NI con uN (anzichéu∗N ), non essendoci più rischio di confusione con la soluzione spettrale.

Page 128: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

114 4 I metodi spettrali

Dividendo per αi l’equazione così trovata, si ottiene, in definitiva, il seguente proble-ma equivalente al problema G-NI{

LNuN(xi) = f(xi), i = 1, 2, . . . , N − 1,uN(x0) = 0, uN(xN ) = 0.

(4.39)

Questo problema si dice di collocazione perché equivale a collocare nei nodi internixi l’equazione differenziale assegnata (previa approssimazione dell’operatore diffe-renziale L con l’operatore LN ), nonché a soddisfare le condizioni al contorno neinodi di bordo.

Introduciamo ora il concetto di derivata di interpolazione, DN(Φ), di una fun-zione continua Φ, identificandola con la derivata del polinomio interpolatore ΠGLLN Φdefinito secondo la (4.14), ovvero

DN(Φ)=D[ΠGLLN Φ], (4.40)

essendo D il simbolo di derivazione esatta. Se ora consideriamo l’operatore diffe-renziale L e sostituiamo a tutte le derivate le corrispondenti derivate di interpolazio-ne, otteniamo un nuovo operatore, detto operatore pseudo-spettrale LN , che coincideesattamente con quello definito nella (4.38). Ne consegue che il metodo G-NI, qui in-trodotto come metodo di Galerkin generalizzato, può essere interpretato anche comeun metodo di collocazione che opera direttamente sulla forma forte del problema, inanalogia a quanto avviene, ad esempio, nel caso delle differenze finite. In questo sensole differenze finite possono essere considerate come una versione meno accurata delmetodo G-NI in quanto le derivate sono approssimate con formule che fanno uso diun numero ridotto di valori nodali.Se l’operatore di partenza fosse stato

Lu = (−μu′)′ + (bu)′ + σu

il corrispondente operatore pseudo-spettrale sarebbe stato

LNuN = −DN (μu′N) +DN (buN) + σuN . (4.41)

Nel caso le condizioni al contorno per il problema (4.22) fossero di tipo Neumann,(μu′)(−1) = g−,

(μu′)(1) = g+,

il metodo di Galerkin spettrale si formulerebbe come segue

trovare uN ∈ QN :

1∫−1

μu′Nv′N dx+

1∫−1

σuNvN dx =

1∫−1

fvN dx + μ(1) g+ vN(1) − μ(−1) g− vN(−1) ∀ vN ∈ QN ,

Page 129: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.3 Metodi G-NI in una dimensione 115

mentre il metodo G-NI diventerebbe

trovare uN ∈ QN : (μu′N , v′N)N + (σuN , vN)N =

(f, vN)N + μ(1) g+ vN(1) − μ(−1) g− vN(−1) ∀ vN ∈ QN .

La sua interpretazione come metodo di collocazione diventa: trovare uN ∈ QN t.c.

LNuN(xi) = f(xi), i = 1, . . . , N − 1(LNuN(x0) − f(x0)

)− 1

α0

((μu′N)(−1)− g−

)= 0,(

LNuN(xN) − f(xN ))+1

αN

((μu′N

)(1)− g+

)= 0,

dove LN è definito in (4.38). Si noti che nei nodi di bordo viene soddisfatta la condi-zione di Neumann a meno del residuo LNuN −f moltiplicato per il coefficiente dellaformula GLL che è un infinitesimo di ordine 2 rispetto a 1/N .

0 50 100 150 200 250 300 35010

−15

10−10

10−5

100

105

N

r = Nr = 1r = 2r = 3

0 50 100 150 200 250 300 35010

−15

10−10

10−5

100

105

N

r = N r = 1r = 2r = 3

Figura 4.9. Errore in H1(−1, 1) (a sinistra) ed errore sul dato di Neumann (a destra) al variarediN

In Fig. 4.9 riportiamo l’errore nella norma H1(−1, 1) (a sinistra) ed il valore assolutodella differenza

(μu′N)(±1)−g± (a destra) per diversi valori di N . Entrambi gli erro-

ri decadono esponenzialmente al crescere di N . Riportiamo inoltre gli errori ottenutiusando le approssimazioni di Galerkin ad elementi finiti di grado r = 1, 2, 3.Infine, è utile osservare che la derivata di interpolazione (4.40) si può rappresentareattraverso una matrice D ∈ R(N+1)×(N+1), detta matrice della derivata di interpola-zione, la quale associa ad un qualunque vettore v ∈ RN+1 di valori nodali vi = Φ(xi),i = 0, . . . , N , il vettorew = Dv le cui componenti sono i valori nodali del polinomioDN (Φ), ovvero wi = (DN(Φ))(xi), i = 0, . . . , N . La matrice D ha per elementi ivalori

Dij = ψ′j(xi), i, j = 0, . . . , N.

Page 130: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

116 4 I metodi spettrali

Tali valori sono dati da (si veda [CHQZ06])

Dij =

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

LN (xi)

LN (xj)

1

xi − xj, i �= j,

−(N + 1)N4

, i = j = 0,

(N + 1)N

4, i = j = N,

0 altrimenti,

dove d0 = dN = 2 e dj = 1 per j = 1, . . . , N − 1.

4.4 Generalizzazione al caso bidimensionale

Consideriamo come dominio il quadrato unitarioΩ = (−1, 1)2. Essendo Ω il prodottotensoriale dell’intervallo monodimensionale (−1, 1), è naturale scegliere come nodi ipunti xij le cui coordinate coincidono entrambe con i nodi GLL monodimensionalixi,

xij = (xi, xj), i, j = 0, . . . , N,

mentre come pesi prendiamo il prodotto dei corrispondenti pesi monodimensionali

αij = αiαj, i, j = 0, . . . , N.

La formula di quadratura di Gauss-Legendre-Lobatto (GLL) in due dimensioni èdunque definita da

∫Ω

f(x) dΩ �N∑i,j=0

αijf(xij ),

mentre il prodotto scalare discreto è dato da

(f, g)N =

N∑i,j=0

αijf(xij)g(xij). (4.42)

Analogamente al caso monodimesionale si dimostra che la formula di quadratura(4.42) è esatta ogniqualvolta la funzione integranda sia un polinomio di grado al più2N − 1. In particolare, ciò implica che

(f, g)N = (f, g) ∀ f, g t.c. fg ∈ Q2N−1.

In questa sezione, per ogni N , QN indica lo spazio dei polinomi di grado minore ouguale ad N rispetto ad ognuna delle variabili, introdotto in (4.2).

Page 131: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.4 Generalizzazione al caso bidimensionale 117

Consideriamo ora a titolo di esempio il problema{Lu=− div(μ∇u) + σu = f in Ω = (−1, 1)2,

u = 0 su ∂Ω.

Nell’ipotesi che μ(x) ≥ μ0 > 0 e σ(x) ≥ 0, la forma bilineare associata è coercivainH10(Ω).La sua approssimazione G-NI è data da

trovare uN ∈ VN : aN(uN , vN ) = FN(vN ) ∀ vN ∈ VN ,

doveVN = {v ∈ QN : v|∂Ω = 0},

aN (u, v) = (μ∇u,∇v)N + (σu, v)N

eFN(vN) = (f, vN )N .

Come mostrato nel caso monodimensionale, anche in più dimensioni si può verificareche la formulazione G-NI equivale ad un metodo di collocazione in cui l’operatore Lsia sostituito da LN , l’operatore pseudo-spettrale che si ottiene approssimando ogniderivata con una derivata di interpolazione (4.40).Nel caso di metodi ad elementi spettrali avremo bisogno di generalizzare la formuladi integrazione numerica GLL su ogni elemento Ωk. Questo si può fare grazie allatrasformazione ϕk : Ω → Ωk (si veda la Fig. 4.2). In effetti, possiamo innanzituttogenerare i nodi GLL sul generico elemento Ωk, ponendo

x(k)ij = ϕk(xij), i, j = 0, . . . , N,

quindi definendo i corrispondenti pesi

α(k)ij = αij| detJk| = αij

|Ωk|4

, i, j = 0, . . . , N,

avendo indicato con Jk lo Jacobiano della trasformazione ϕk e con |Ωk| la misura diΩk. La formula GLL su Ωk diventa dunque

∫Ωk

f(x) dx � IGLLN,k (f) =

N∑i,j=0

α(k)ij f(x

(k)ij ). (4.43)

La formulazione agli elementi spettrali con integrazione numerica gaussiana, cheindicheremo con l’acronimo MES-NI, diventa allora

trovare uN ∈ V CN : aC,N(uN , vN) = FC,N(vN ) ∀ vN ∈ V CN . (4.44)

Page 132: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

118 4 I metodi spettrali

Abbiamo posto

aC,N(uN , vN ) =∑k

aΩk,N(uN , vN)

dove aΩk,N(uN , vN) è l’approssimazione di aΩk(uN , vN) ottenuta approssimandoogni integrale su Ωk che compare nella forma bilineare attraverso la formula di in-tegrazione numerica GLL in Ωk (4.43). Il termine FC,N si definisce in modo simi-le, precisamente FC,N(vN ) =

∑k FΩk,N(vN ), dove FΩk,N è ottenuto, a sua volta,

sostituendo∫Ωk

fvN dx con la formula IGLLN,k (fvN ) per ogni k.

Osservazione 4.3 La Fig. 4.10 riassume in modo assai schematico la genesi dei di-versi schemi di approssimazione sino ad ora evocati. Nel caso delle differenze finite siè indicato con LΔ la discretizzazione dell’operatore attraverso schemi alle differenzefinite applicati alle derivate che appaiono nella definizione di L. •

4.4.1 Convergenza del metodo G-NI

Come osservato nel caso monodimensionale, il metodo G-NI si può considerare comeun metodo di Galerkin generalizzato. Per quest’ultimo, l’analisi di convergenza si basasul seguente risultato generale:

Lemma 4.1 (di Strang) Si consideri il problema

trovare u ∈ V : a(u, v) = F (v) ∀ v ∈ V, (4.45)

in cui V sia uno spazio di Hilbert con norma ‖·‖V , F ∈ V ′ un funzionale linearee limitato su V ed a(·, ·) : V × V→R una forma bilineare, continua e coerci-va su V (valgano, cioè, le ipotesi del Lemma di Lax-Milgram). Sia data, inol-tre, un’approssimazione di (4.45) formulabile attraverso il seguente problema diGalerkin generalizzato

trovare uh ∈ Vh : ah(uh, vh) = Fh(vh) ∀vh ∈ Vh, (4.46)

essendo {Vh, h > 0} una famiglia di sottospazi di dimensione finita di V .Supponiamo che la forma bilineare discreta ah(·, ·) sia continua su Vh × Vh, esia uniformemente coerciva su Vh, cioè

∃α∗ > 0 indipendente da h t.c. ah(vh, vh) ≥ α∗‖vh‖2V ∀ vh ∈ Vh.

Supponiamo inoltre che Fh sia un funzionale lineare e continuo su Vh. Allora:

Page 133: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.4 Generalizzazione al caso bidimensionale 119

1. esiste una ed una sola soluzione uh del problema (4.46);2. tale soluzione dipende con continuità dai dati, ovvero si ha

‖uh‖V ≤1

α∗sup

vh∈Vh\{0}

Fh(vh)

‖vh‖V;

3. vale infine la seguente stima a priori dell’errore

‖u− uh‖V ≤ infwh∈Vh

{(1 +

M

α∗

)‖u− wh‖V

+1

α∗sup

vh∈Vh\{0}

|a(wh, vh)− ah(wh, vh)|‖vh‖V

}

+1

α∗sup

vh∈Vh\{0}

|F (vh)− Fh(vh)|‖vh‖V

,

(4.47)

essendo M la costante di continuità della forma bilineare a(·, ·).

Dimostrazione. Essendo soddisfatte le ipotesi del Lemma di Lax-Milgram per ilproblema (4.46), la soluzione di tale problema esiste ed è unica. Inoltre

‖uh‖V ≤1

α∗‖Fh‖V ′

h,

essendo ‖Fh‖V ′h= supvh∈Vh\{0}

Fh(vh)

‖vh‖Vla norma nello spazio duale V ′h di Vh.

Accingiamoci ora a dimostrare la (4.47). Sia uh ∈ Vh la soluzione del problema (4.46)e sia wh una qualunque funzione del sottospazio Vh. Ponendo σh = uh − wh ∈ Vh,abbiamo

α∗‖σh‖2V ≤ ah(σh, σh) [per la coercività di ah]

= ah(uh, σh) − ah(wh, σh)

= Fh(σh) − ah(wh, σh) [grazie a (4.46)]

= Fh(σh) − F (σh) + F (σh)− ah(wh, σh)

= [Fh(σh)− F (σh)] + a(u, σh) − ah(wh, σh) [ grazie a (4.45)]

= [Fh(σh)− F (σh)] + a(u−wh, σh)

+[a(wh, σh) − ah(wh, σh)].

Page 134: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

120 4 I metodi spettrali

FORMA FORTE

Lu = fFORMA DEBOLE

u ∈ V : a(u, v) = F (v) ∀v ∈ V

FORMA INTEGRALE

Lu := div(F(u)) = f

Volumi Finiti∮∂ΩV

Fh(uh) · n =∫

ΩV

f

∀ΩV volume di controllo

Collocazionenei nodi interni

Galerkin

Galerkin-Elementi Finitiuh ∈ Vh : a(uh, vh) = F (vh) ∀vh ∈ Vh

Galerkin-spettraleuN ∈ VN : a(uN , vN ) = F (vN ) ∀vN ∈ VN

MESuN ∈ V C

N : aC(uN , vN ) = FC(vN ) ∀vN ∈ V CN

Galerkin generalizzato

Galerkin discontinuo (DG)

Differenze finiteLΔuΔ = fΔ

Collocazionespettrale

LNuN = fN

Elementi Finiti con integrazione numericauh ∈ Vh : ah(uh, vh) = Fh(vh) ∀vh ∈ Vh

G-NIuN ∈ VN : aN (uN , vN ) = FN (vN ) ∀vN ∈ VN

MES-NIuN ∈ V C

N : aC,N(uN , vN ) = FC,N (vN ) ∀vN ∈ V CN

��

Figura 4.10. Quadro di riferimento per i principali metodi numerici considerati in questo libro

Se σh �= 0 si può dividere la disequazione precedente per α∗‖σh‖V , ottenendo

‖σh‖V ≤ 1

α∗

{ |a(u− wh, σh)|‖σh‖V

+|a(wh, σh) − ah(wh, σh)|

‖σh‖V

+|Fh(σh)− F (σh)|

‖σh‖V

}

≤ 1

α∗

{M‖u− wh‖V + sup

vh∈Vh\{0}

|a(wh, vh)− ah(wh, vh)|‖vh‖V

Page 135: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.4 Generalizzazione al caso bidimensionale 121

+ supvh∈Vh\{0}

|Fh(vh)− F (vh)|‖vh‖V

}[per la continuità di a].

Osserviamo che se σh = 0 tale disuguaglianza è ancora valida (in quanto affermache 0 è minore di una somma di termini positivi), pur non essendo più valido ilprocedimento con cui essa è stata ricavata.

Possiamo ora stimare l’errore fra la soluzione u di (4.45) e la soluzione uh di(4.46). Essendo

u− uh = (u− wh)− σh,

otteniamo

‖u− uh‖V ≤ ‖u−wh‖V + ‖σh‖V ≤ ‖u−wh‖V

+1

α∗

{M‖u−wh‖V + sup

vh∈Vh\{0}

|a(wh, vh) − ah(wh, vh)|‖vh‖V

+ supvh∈Vh\{0}

|Fh(vh)− F (vh)|‖vh‖V

}

=

(1 +

M

α∗

)‖u− wh‖V +

1

α∗sup

vh∈Vh\{0}

|a(wh, vh)− ah(wh, vh)|‖vh‖V

+1

α∗sup

vh∈Vh\{0}

|Fh(vh) − F (vh)|‖vh‖V

.

Se la disuguaglianza precedente vale ∀wh ∈ Vh, essa vale anche per l’estremoinferiore al variare di wh in Vh. Pertanto si ottiene la (4.47). �

Osservando il termine di destra della disuguaglianza (4.47), possiamo riconosceretre diversi contributi all’errore d’approssimazione u−uh: l’errore di miglior approssi-mazione inf

wh∈Vh‖u−wh‖V , l’errore |a(wh, vh)−ah(wh, vh)| derivante dall’approssi-

mazione della forma bilineare a(·, ·) con la forma bilineare discreta ah(·, ·), e l’errore|F (vh) − Fh(vh)| derivante dall’approssimazione del funzionale lineare F (·) con ilfunzionale lineare discreto Fh(·).

Osservazione 4.4 Si noti che se si sceglie in (4.4.1) wh = u∗h, essendo u∗h la soluzionedel problema di Galerkin

u∗h ∈ Vh : a(u∗h, vh) = F (vh) ∀ vh ∈ Vh,

Page 136: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

122 4 I metodi spettrali

allora il termine a(u−wh, σh) nella (4.4.1) è nullo grazie alla (4.45). Si può pertantoottenere la seguente stima, alternativa alla (4.47):

‖u− uh‖V ≤ ‖u− u∗h‖V

+1

α∗sup

vh∈Vh\{0}

|a(u∗h, vh)− ah(u∗h, vh)|

‖vh‖V

+1

α∗sup

vh∈Vh\{0}

|F (vh)− Fh(vh)|‖vh‖V

.

Essa ben mette in evidenza che l’errore dovuto al metodo di Galerkin generalizza-to è maggiorabile con quello del metodo di Galerkin più gli errori indotti dall’usodell’integrazione numerica per il calcolo di a(·, ·) e di F (·). •

Vogliamo ora applicare il Lemma di Strang al metodo G-NI, per verificarne laconvergenza, limitandoci, per semplicità, al caso monodimensionale. NaturalmenteVh sarà sostituito da VN , uh da uN , vh da vN e wh da wN .Cominciamo, innanzitutto, col calcolare l’errore di quadratura GLL

E(g, vN) = (g, vN) − (g, vN )N ,

essendo g e vN , rispettivamente, una generica funzione continua ed un generico po-linomio di QN . Introducendo il polinomio d’interpolazione ΠGLLN g definito secondola (4.14), otteniamo

E(g, vN ) = (g, vN ) − (ΠGLLN g, vN)N

= (g, vN ) − (ΠGLLN−1g, vN) + (

∈QN−1︷ ︸︸ ︷ΠGLLN−1g,

∈QN︷︸︸︷vN )︸ ︷︷ ︸

∈Q2N−1

−(ΠGLLN g, vN )N

= (g, vN ) − (ΠGLLN−1g, vN)

+(ΠGLLN−1g, vN)N − (ΠGLLN g, vN)N [ per la (4.27)]

= (g −ΠGLLN−1g, vN) + (ΠGLLN−1g −ΠGLLN g, vN)N .

(4.48)Il primo addendo del termine di destra si può maggiorare usando la disuguaglianza diCauchy-Schwarz

|(g −ΠGLLN−1g, vN )| ≤ ‖g −ΠGLLN−1g‖L2(−1,1)‖vN‖L2(−1,1). (4.49)

Per maggiorare il secondo addendo dobbiamo innanzitutto introdurre i due seguentilemmi, per la cui dimostrazione rinviamo a [CHQZ06]:

Page 137: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.4 Generalizzazione al caso bidimensionale 123

Lemma 4.2 Il prodotto scalare discreto (·, ·)N definito in (4.25) è un prodottoscalare su QN e, come tale, soddisfa la disuguaglianza di Cauchy-Schwarz

|(ϕ, ψ)N | ≤ ‖ϕ‖N‖ψ‖N , (4.50)

dove la norma discreta ‖ · ‖N è data da

‖ϕ‖N =√(ϕ, ϕ)N ∀ ϕ ∈ QN . (4.51)

Lemma 4.3 La norma “continua” di L2(−1, 1) e la norma “discreta” ‖ · ‖Ndefinita in (4.51) verificano le disuguaglianze

‖vN‖L2(−1,1) ≤ ‖vN‖N ≤√3‖vN‖L2(−1,1) ∀ vN ∈ QN , (4.52)

pertanto esse sono uniformemente equivalenti su QN .

In base a tali lemmi, possiamo procedere alla maggiorazione del termine (ΠGLLN−1g −ΠGLLN g, vN)N , come segue

|(ΠGLLN−1g −ΠGLLN g, vN)N |

≤ ‖ΠGLLN−1g −ΠGLLN g‖N ‖vN‖N [ grazie al Lemma 4.2]

≤ 3[‖ΠGLLN−1g − g‖L2(−1,1) + ‖ΠGLLN g − g‖L2(−1,1)

]‖vN‖L2(−1,1)

[grazie al Lemma 4.3].

Usando tale disuguaglianza e la (4.49), dalla (4.48) si può ottenere la seguentemaggiorazione

|E(g, vN)| ≤[4‖ΠGLLN−1g − g‖L2(−1,1) + 3‖ΠGLLN g − g‖L2(−1,1)

]‖vN‖L2(−1,1).

Usando la stima d’interpolazione (4.17), se g ∈ Hs(−1, 1), per qualche s ≥ 1,abbiamo

|E(g, vN)| ≤ C

[(1

N − 1

)s+

(1

N

)s ]‖g‖Hs(−1,1) ‖vN‖L2(−1,1).

In definitiva, essendo, per ogni N ≥ 2, 1/(N − 1) ≤ 2/N , l’errore di quadratura diGauss-Legendre-Lobatto risulta maggiorabile come

|E(g, vN)| ≤ C

(1

N

)s‖g‖Hs(−1,1)‖vN‖L2(−1,1), (4.53)

per ogni g ∈ Hs(−1, 1) e per ogni polinomio vN ∈ QN .

Page 138: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

124 4 I metodi spettrali

A questo punto siamo pronti a valutare i vari contributi che intervengono nel-la (4.47). Anticipiamo che quest’analisi verrà fatta nel caso in cui siano introdotteopportune ipotesi semplificatrici sul problema differenziale in esame. Iniziamo daltermine più semplice, ovvero quello associato al funzionale F , supponendo di consi-derare un problema con condizioni al bordo di Dirichlet omogenee, in modo che risultiF (vN) = (f, vN ) e FN(vN ) = (f, vN )N . Si ha allora, purché f ∈ Hs(−1, 1), per unopportuno s ≥ 1,

supvN∈VN\{0}

|F (vN) − FN(vN )|‖vN‖V

= supvN∈VN\{0}

|(f, vN) − (f, vN)N |‖vN‖V

= supvN∈VN\{0}

|E(f, vN)|‖vN‖V

≤ supvN∈VN\{0}

C

(1

N

)s‖f‖Hs(−1,1)‖vN‖L2(−1,1)

‖vN‖V

≤ C

(1

N

)s‖f‖Hs(−1,1),

(4.54)

essendosi sfruttata la relazione (4.53) ed avendo maggiorato la norma in L2(−1, 1)con quella inHs(−1, 1).

Per quanto riguarda il contributo

supvN∈VN\{0}

|a(wN , vN)− aN(wN , vN)|‖vN‖V

dovuto alla forma bilineare, non possiamo valutarlo esplicitamente senza riferirci adun particolare problema differenziale. Scegliamo quindi, a titolo d’esempio, il pro-blema di diffusione-reazione monodimensionale (4.22), supponendo inoltre μ e σ co-stanti. Per inciso tale problema soddisfa condizioni al bordo di Dirichlet omogenee, inaccordo con quanto richiesto per la derivazione della stima (4.54). In tal caso la formabilineare associata è

a(u, v) = (μu′, v′) + (σu, v),

mentre la sua approssimazione G-NI è data da

aN (u, v) = (μu′, v′)N + (σu, v)N .

Dobbiamo quindi valutare

a(wN , vN)−aN (wN , vN) = (μw′N , v′N)−(μw′N , v′N)N+(σwN , vN)−(σwN , vN)N .

Trattandosi di polinomi algebrici monodimensionali, wN , vN ∈ QN , quindi w′Nv′N ∈Q2N−2. Se supponiamo che μ sia costante, il prodotto w′Nv′N viene integrato esatta-mente dalla formula di quadratura GLL. In particolare si deduce che (μw′N , v′N) −(μw′N , v′N)N = 0. Resta quindi da valutare il contributo

(σwN , vN) − (σwN , vN)N .

Page 139: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.4 Generalizzazione al caso bidimensionale 125

Osserviamo che

(σwN , vN) − (σwN , vN)N =E(σwN , vN) = E(σ(wN − u), vN) +E(σu, vN),

e quindi, usando la (4.53), si ottiene

|E(σ(wN − u), vN)| ≤ C

(1

N

)‖σ(wN − u)‖H1(−1,1)‖vN‖L2(−1,1),

|E(σu, vN)| ≤ C

(1

N

)s‖σu‖Hs(−1,1)‖vN‖L2(−1,1).

D’altra parte, essendo anche σ costante, posto wN = ΠGLLN u ed utilizzando la (4.17),si ottiene

‖σ(wN − u)‖H1(−1,1) ≤ C‖u−ΠGLLN u‖H1(−1,1) ≤ C

(1

N

)s−1‖u‖Hs(−1,1).

Pertanto

supvN∈VN\{0}

|a(wN , vN)− aN (wN , vN)|‖vN‖V

≤ C∗(1

N

)s‖u‖Hs(−1,1). (4.55)

Resta ancora da stimare il primo addendo della (4.47). Avendo scelto wN = ΠGLLN ue sfruttando ancora la (4.17), otteniamo che

‖u− wN‖V =‖u−ΠGLLN u‖H1(−1,1) ≤ C

(1

N

)s‖u‖Hs+1(−1,1) (4.56)

purché u ∈ Hs+1(−1, 1), per un opportuno s ≥ 1. In conclusione, grazie alle (4.54),(4.55) e (4.56), dalla (4.47) applicata all’approssimazione G-NI del problema (4.22),sotto le ipotesi precedentemente fatte, troviamo la seguente stima dell’errore

‖u− uN‖H1(−1,1) ≤ C

(1

N

)s (‖f‖Hs(−1,1) + ‖u‖Hs+1(−1,1)

).

L’analisi di convergenza appena fatta per il problema modello (4.22) può esseregeneralizzata (con qualche piccola difficoltà tecnica) al caso di problemi differenzialipiù complessi e di condizioni al bordo differenti.

Esempio 4.2 (Problema con regolarità dipendente da un parametro) Consideriamo il se-guente problema (banale ma istruttivo)⎧⎨⎩

−u′′ = 0, x ∈ (0, 1],−u′′ = −α(α− 1)(x− 1)α−2, x ∈ (1, 2),u(0) = 0, u(2) = 1,

conα ∈ N. La soluzione esatta è nulla su (0, 1) e vale (x− 1)α per x ∈ (1, 2). Essa appartienea Hα(0, 2), ma non a Hα+1(0, 2). Riportiamo in Tabella 4.1 l’andamento dell’errore in norma

Page 140: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

126 4 I metodi spettrali

−0.7071 0 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

−0.7071 0 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Figura 4.11. La griglia (a sinistra) e le isolinee della soluzione ottenuta (a destra) con il metododegli elementi spettrali per il problema dell’Esempio 4.3

H1(0, 2) rispetto a N utilizzando un metodo G-NI per tre diversi valori di α. Come si vede,all’aumentare della regolarità, cresce anche l’ordine di convergenza del metodo spettrale rispet-to a N , come previsto dalla teoria. Nella stessa Tabella si riportano i risultati ottenuti usandoelementi finiti lineari (questa volta N indica il numero di elementi). L’ordine di convergenzadel metodo degli elementi finiti si mantiene lineare in ogni caso. �

Esempio 4.3 Riprendiamo il secondo esempio della Sez. 3.5.3 utilizzando, questa volta, il me-todo degli elementi spettrali. Consideriamo una partizione del dominio in 4 elementi spettralidi grado 8 come mostrato in Fig. 4.11, a sinistra. La soluzione ottenuta (Fig. 4.11, a destra) nonpresenta alcuna inaccuratezza in prossimità dell’origine, contrariamente alla soluzione ottenutacon gli elementi finiti in assenza di adattività di griglia (si confronti con la Fig. 3.21, a sinistra).

4.5 Metodo G-NI e MES-NI per un problema modellomonodimensionale

Consideriamo il problema di diffusione-reazione monodimensionale

−[(1 + x2)u′(x)]′ + cos(x2)u(x) = f(x), x ∈ (−1, 1), (4.57)

completato con condizioni al bordo di tipo misto

u(−1) = 0, u′(1) = 1.

Tabella 4.1. Andamento dell’errore del metodo spettrale G-NI al variare del grado polinomialeN e dell’indice di regolarità della soluzione (a sinistra). Andamento dell’errore del metododegli elementi finiti lineari al variare del numero di intervalli N e dell’indice di regolarità dellasoluzione (a destra)

N α = 2 α = 3 α = 4

4 0.5931 0.2502 0.20418 0.3064 0.0609 0.009016 0.1566 0.0154 7.5529 ·10−432 0.0792 0.0039 6.7934 ·10−5

N α = 2 α = 3

4 0.4673 0.57688 0.2456 0.302316 0.1312 0.146732 0.0745 0.0801

Page 141: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.5 Metodo G-NI e MES-NI per un problema modello monodimensionale 127

Obiettivo di questa sezione è di discutere in dettaglio come formulare le approssima-zioni G-NI e MES-NI. Per la prima forniremo anche la corrispondente formulazionematriciale ed un’analisi di stabilità.

4.5.1 Il metodo G-NI

La formulazione debole del problema (4.57) è

trovare u ∈ V : a(u, v) = F (v) ∀v ∈ V

essendo V = {v ∈ H1(−1, 1) : v(−1) = 0}, a : V × V −→ R e F : V −→ R laforma bilineare e il funzionale lineare definiti, rispettivamente, da

a(u, v) =

1∫−1

(1 + x2)u′(x) v′(x) dx+

1∫−1

cos(x2)u(x) v(x) dx,

F (v) =

1∫−1

f(x) v(x) dx + 2 v(1).

La formulazione Galerkin-spettrale (MS) assume la seguente forma

trovare uN ∈ VN t.c. a(uN , vN) = F (vN) ∀vN ∈ VN , (4.58)

essendoVN = {vN ∈ QN : vN (−1) = 0} ⊂ V. (4.59)

Per ottenere la corrispondente formulazione G-NI è sufficiente approssimare in (4.58)tutti i prodotti scalari su L2(−1, 1) con il prodotto scalare discreto GLL definito in(4.25). Abbiamo dunque

trovare u∗N ∈ VN : aN(u∗N , vN) = FN(vN ) ∀vN ∈ VN , (4.60)

avendo posto

aN(u, v) =((1 + x2)u′, v′

)N+(cos(x2)u, v

)N

=

N∑i=0

(1 + x2i )u′(xi) v

′(xi)αi +N∑i=1

cos(x2i )u(xi) v(xi)αi

(4.61)e

FN(v) = (f, v)N + 2 v(1) =

N∑i=1

f(xi) v(xi)αi + 2 v(1). (4.62)

Osserviamo che l’indice dell’ultima sommatoria in (4.61) e della sommatoria in (4.62)parte da 1, anziché da 0, essendo v(x0) = v(−1) = 0.Inoltre, le formulazioni MS (4.58) e G-NI (4.60) non coincidono mai. Si consideri, ad

Page 142: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

128 4 I metodi spettrali

esempio, il termine diffusivo (1 + x2) (u∗N)′ v′N : esso è un polinomio di grado 2N .

Poiché la formula di quadratura GLL ha grado di esattezza 2N −1, il prodotto scalarediscreto (4.25) non restituirà il valore esatto del corrispondente prodotto scalare con-tinuo

((1 + x2) (u∗N )

′, v′N).

Per ottenere la formulazione matriciale dell’approssimazione G-NI, indichiamo conψi, per i = 1, . . . , N , i polinomi caratteristici associati a tutti i nodi GLL tranne aquello, x0 = −1, in cui è assegnata una condizione al bordo di Dirichlet. Tali polino-mi costituiscono una base per lo spazio VN introdotto in (4.59). Questo ci permette,in primo luogo, di scrivere la soluzione u∗N della formulazione G-NI come

u∗N(x) =N∑j=1

u∗N(xj)ψj(x).

In secondo luogo possiamo scegliere nella (4.60) vN = ψi, i = 1, . . . , N , ottenendo

aN(u∗N , ψi) = FN (ψi), i = 1, . . . , N,

ovveroN∑j=1

u∗N (xj) aN(ψj , ψi) = FN(ψi), i = 1, . . . , N.

In forma matriciale,Au∗N = f ,

essendo u∗N = (u∗N(xi)), A = (aij), con

aij = aN(ψj , ψi) =

N∑k=0

(1 + x2k)ψ′j(xk)ψ

′i(xk)αk

+

N∑k=1

cos(x2k)ψj(xk)ψi(xk)αk

=

N∑k=0

(1 + x2k)ψ′j(xk)ψ

′i(xk)αk + cos(x

2i )αi δij ,

e

f = (fi), con fi = FN (ψi) = (f, ψi)N + 2ψi(1)

=

N∑k=1

f(xk)ψi(xk)αk + 2ψi(1)

=

⎧⎨⎩ αi f(xi) per i = 1, . . . , N − 1,

αN f(1) + 2 per i = N.

Page 143: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.5 Metodo G-NI e MES-NI per un problema modello monodimensionale 129

Ricordiamo che la matrice A è, oltre che mal condizionata, piena per via della presen-za del termine diffusivo.Possiamo da ultimo verificare che il metodo G-NI (4.60) può essere riformulato comeun opportuno metodo di collocazione. A tal fine, si vorrebbe riscrivere la formulazionediscreta (4.60) in forma continua in modo da poter controintegrare per parti, ovveroricondursi all’operatore differenziale di partenza. Per poter far ciò ricorreremo all’o-peratore d’interpolazione ΠGLLN definito in (4.15), ricordando inoltre che il prodottoscalare discreto (4.25) coincide con quello continuo su L2(−1, 1) se il prodotto delledue funzioni integrande è un polinomio di grado ≤ 2N − 1 (si veda la (4.36)).Riscriviamo dunque opportunamente il primo addendo di aN(u∗N , vN), tralasciando,per semplificare le notazioni, l’apice ∗. Grazie alla (4.36) ed integrando per parti,abbiamo (

(1 + x2)u′N , v′N)N

=(ΠGLLN

((1 + x2)u′N

), v′N)N=(ΠGLLN

((1 + x2)u′N

), v′N)

= −([

ΠGLLN

((1 + x2)u′N

)]′, vN

)+ΠGLLN

((1 + x2)u′N

)(1) vN(1)

= −([

ΠGLLN

((1 + x2)u′N

)]′, vN

)N+ΠGLLN

((1 + x2)u′N

)(1) vN (1).

Possiamo così riformulare la (4.60) come

trovare uN ∈ VN :(LNuN , vN

)N= (f, vN )N

+(2−ΠGLLN

((1 + x2)u′N

)(1))vN(1) ∀vN ∈ VN ,

(4.63)con

LNuN = −[ΠGLLN

((1+x2)u′N

)]′+cos(x2)uN = −DN

((1+x2)u′N

)+cos(x2)uN ,

essendo DN la derivata d’interpolazione introdotta in (4.40). Scegliamo ora in (4.63)vN = ψi. Per i = 1, . . . , N − 1, abbiamo(

LNuN , ψi)N=(−[ΠGLLN

((1 + x2)u′N

)]′, ψi)N+(cos(x2)uN , ψi

)N

= −N−1∑j=1

αj[ΠGLLN

((1 + x2)u′N

)]′(xj)ψi(xj) +

N−1∑j=1

αj cos(x2j )uN(xj)ψi(xj)

= −αi[ΠGLLN

((1 + x2)u′N

)]′(xi) + αi cos(x

2i )uN(xi) = (f, ψi)N

=

N−1∑j=1

αj f(xj)ψi(xj) = αi f(xi),

ovvero, sfruttando la definizione dell’operatore LN e dividendo tutto per αi,

LNuN(xi) = f(xi), i = 1, . . . , N − 1. (4.64)

Page 144: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

130 4 I metodi spettrali

Posto vN = ψN in (4.63), otteniamo invece(LNuN , ψN

)N= −αN

[ΠGLLN

((1 + x2)u′N

)]′(xN) + αN cos(x

2N )uN(xN)

= (f, ψN)N + 2−ΠGLLN

((1 + x2)u′N

)(1)

= αN f(xN ) + 2−ΠGLLN

((1 + x2)u′N

)(1),

ovvero, dividendo tutto per αN ,

LNuN(xN ) = f(xN ) +1

αN

(2−ΠGLLN

((1 + x2)u′N

)(1)). (4.65)

Le equazioni (4.64) e (4.65) forniscono dunque la collocazione in tutti i nodi (trannequelli eventuali di bordo in cui siano assegnate condizioni di Dirichlet) del problemadifferenziale assegnato, previa l’approssimazione dell’operatore differenziale L conl’operatore LN .

Studiamo, da ultimo, la stabilità della formulazione (4.60). Trattandosi di un ap-proccio di tipo Galerkin generalizzato, dovremo ricorrere al Lemma 4.1 di Strang ilquale ci garantisce che, per la soluzione u∗N di (4.60), vale la stima

‖u∗N‖V ≤1

α∗sup

vN∈VN\{0}

|FN(vN )|‖vN‖V

, (4.66)

essendo α∗ la costante di coercività (uniforme) associata alla forma bilineare discre-ta aN (·, ·). Particolarizziamo tale risultato al problema (4.57), calcolando innanzitut-to α∗. Sfruttando la definizione (4.51) della norma discreta ‖ · ‖N e la relazione diequivalenza (4.52), si ha

aN(uN , uN) =((1 + x2)u′N , u′N

)N+(cos(x2)uN , uN

)N

≥(u′N , u′N

)N+ cos(1)

(uN , uN

)N= ‖u′N‖2N + cos(1) ‖uN‖2N

≥ ‖u′N‖2L2(−1,1) + cos(1) ‖uN‖2L2(−1,1) ≥ cos(1) ‖uN‖2V ,

avendo inoltre sfruttato le relazioni

minj(1 + x2j) ≥ min

x∈[−1,1](1 + x2) = 1,

minjcos(x2j) ≥ min

x∈[−1,1]cos(x2) = cos(1).

Questo ci permette di identificare α∗ con il valore cos(1). Possiamo a questo puntovalutare il quoziente |FN(vN)|/‖vN‖V in (4.66). Abbiamo infatti

|FN(vN )| = |(f, vN

)N+ 2 vN(1)| ≤ ‖f‖N ‖vN‖N + 2 |vN(1)|

≤√3 ‖f‖N ‖vN‖V + 2

∣∣∣ 1∫−1

v′N(x) dx∣∣∣ ≤ √3 ‖f‖N ‖vN‖V + 2√2 ‖vN‖V ,

Page 145: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.5 Metodo G-NI e MES-NI per un problema modello monodimensionale 131

avendo ancora utilizzato la proprietà di equivalenza (4.52) unitamente alla disu-guaglianza di Cauchy-Schwarz nella sua versione discreta (4.50) e continua (2.7).Possiamo così concludere che

|FN(vN )|‖vN‖V

≤√3 ‖f‖N + 2

√2 ≤ 3 ‖f‖L2(−1,1) + 2

√2,

ovvero, ritornando alla stima di stabilità (4.66),

‖u∗N‖V ≤1

cos(1)

[3 ‖f‖L2(−1,1) + 2

√2].

4.5.2 Il metodo MES-NI

Partendo dal problema (4.57) vogliamo ora considerarne la formulazione MES-NI,ovvero una formulazione agli elementi spettrali con l’uso delle formule di integrazio-ne di tipo GLL in ogni elemento. Ci proponiamo inoltre di fornire una base per lospazio in cui verrà ambientata tale formulazione.Introduciamo, innanzitutto, una partizione dell’intervallo (−1, 1) in M (≥ 2) sotto-intervalli disgiunti Ωm = (xm−1, xm), con m = 1, . . . ,M , indicando con hm =xm − xm−1 l’ampiezza dell’m-esimo intervallo, e ponendo h = maxm hm. Laformulazione MES del problema (4.57) assume la forma

trovare uN ∈ V CN : a(uN , vN) = F (vN) ∀vN ∈ V CN , (4.67)

essendo

V CN = {vN ∈ C0([−1, 1]) : vN∣∣Ωm

∈ QN , ∀m = 1, . . . ,M, vN (−1) = 0}.

Notiamo che lo spazio funzionale V CN dell’approccio MES perde la natura “globale”propria invece di una formulazione MS. Analogamente a quanto avviene nel caso diapprossimazioni agli elementi finiti, si hanno ora nuovamente delle funzioni di tipo po-linomiale a tratti. Sfruttando la partizione {Ωm} possiamo riscrivere la formulazione(4.67) nel seguente modo

trovare uN ∈ V CN :M∑m=1

aΩm(uN , vN) =M∑m=1

FΩm(vN ) ∀vN ∈ V CN , (4.68)

dove

aΩm(uN , vN) = a(uN , vN)∣∣Ωm

=

∫ xmxm−1

(1 + x2)u′N(x) v′N (x) dx+

∫ xmxm−1

cos(x2)uN(x) vN (x) dx,

mentre

FΩm(vN ) = F (vN )∣∣Ωm=

∫ xmxm−1

f(x)vN (x) dx+ 2vN(1)δmM .

Page 146: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

132 4 I metodi spettrali

La formulazione MES-NI a questo punto si ottiene rimpiazzando nella (4.68) i prodottiscalari continui con il prodotto scalare discreto GLL (4.25)

trovare u∗N ∈ V CN :

M∑m=1

aN,Ωm(u∗N , vN) =

M∑m=1

FN,Ωm(vN ) ∀vN ∈ V CN ,

doveaN,Ωm(u, v) =

((1 + x2)u′, v′

)N,Ωm

+(cos(x2)u, v

)N,Ωm

,

FN,Ωm(v) =(f, v)N,Ωm

+ 2v(1)δmM ,

(u, v)N,Ωm

=

N∑i=0

u(x(m)i ) v(x

(m)i )α

(m)i ,

essendo x(m)i l’i-esimo nodo GLL del sotto-intervallo Ωm e α

(m)i il corrispondente

peso di quadratura.

Partendo dall’elemento di riferimento Ω = (−1, 1), (che, nel caso in esame,coincide con il dominio Ω del problema (4.57)) e indicata con

ϕm(ξ) =hm2

ξ +xm + xm−1

2, ξ ∈ [−1, 1],

la trasformazione affine che mappa Ω in Ωm, per m = 1, . . . ,M , avremo

x(m)i = ϕm(xi) = α

(m)i =

hm

2αi , i = 0, ...N (4.69)

ovvero x(m)i è l’immagine, attraverso la mappa ϕm, dell’i-esimo nodo GLL di Ω.

Introduciamo, su ogni Ωm, l’insieme {ψ(m)i }Ni=0 delle funzioni di base, tali che

ψ(m)i (x) = ψi(ϕ

−1m (x)) ∀x ∈ Ωm,

essendo ψi il polinomio caratteristico introdotto in (4.12) e (4.13) associato al nodoxi di GLL in Ω. Avendo ora una base per ogni sotto-intervalloΩm, possiamo scriverela soluzione uN del MES su ogni Ωm come

uN(x) =

N∑i=0

u(m)i ψ

(m)i (x) ∀x ∈ Ωm, (4.70)

essendo u(m)i = uN(x

(m)i ).

Volendo definire una base globale per lo spazio V CN , iniziamo a definire le funzioni dibase associate ai nodi interni di Ωm, per m = 1, . . . ,M . Per questo sarà sufficienteestendere a zero, fuori da Ωm, ogni funzione di base ψ

(m)i :

ψ(m)i (x) =

⎧⎨⎩ ψ(m)i (x), x ∈ Ωm

0, altrimenti.

Page 147: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.5 Metodo G-NI e MES-NI per un problema modello monodimensionale 133

1

x x xx x0 Mm−1 mi(m)

ψi

~(m)

Figura 4.12. Funzione di base ψ(m)i associata al nodo interno x(m)i

Queste funzioni sono in totale (N − 1)M e assumono andamento analogo a quello inFig. 4.12. Per ogni nodo estremo xm dei sottodomini Ωm , con m = 1, . . . ,M − 1,definiamo invece la funzione di base

ψ∗m(x) =

⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩ψ(m)N (x), x ∈ Ωm

ψ(m+1)0 (x), x ∈ Ωm+1

0, altrimenti,

ottenuta “incollando” le funzioni ψ(m)N e ψ(m+1)0 (si veda la Fig. 4.13). In particolare,

osserviamo che la funzione ψ∗0 non è definita essendo assegnata in x0 = −1 unacondizione di Dirichlet omogenea. Esiste invece la funzione ψ∗M che coincide con

ψ(M)N . Per la scelta fatta delle condizioni al bordo, esistono dunque M funzioni di base

associate ai nodi estremi dei sotto-intervalliΩm. (Se fossero state assegnate condizionidi Dirichlet in corrispondenza di entrambi gli estremi di Ω avremmo avuto le (M −1)funzioni ψ∗m, m = 1, ...,M − 1.)In tutto dunque abbiamo n = (N − 1)M +M funzioni di base per lo spazio V CN .Ogni funzione uN ∈ V CN può dunque essere espressa nel seguente modo

uN(x) =

M∑m=1

uΓm ψ∗m(x) +M∑m=1

N−1∑i=1

u(m)i ψ

(m)i (x),

essendo uΓm = uN (xm) e u(m)i definito come nella (4.70). La condizione al bordo di

Dirichlet è in tal modo rispettata.

1

xMxm−1x0 xm xm+1

ψm*

Figura 4.13. Funzione di base ψ∗m associata al nodo estremo xm

Page 148: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

134 4 I metodi spettrali

T

-1

-1 1

1

x1

x2

Q

-1

-1

1

1ξ1

ξ2

Figura 4.14. Trasformazione del triangolo di riferimento T sul quadrato di riferimento Q. Isegmenti obliqui sono trasformati in segmenti verticali

4.6 Metodi spettrali su triangoli e tetraedri

Come abbiamo visto, l’uso di metodi spettrali su quadrilateri in due dimensioni (oparallelepipedi in tre dimensioni) è reso possibile attraverso prodotti tensoriali di fun-zioni di base monodimensionali (sull’intervallo di riferimento [−1, 1]) e delle formuledi integrazione numerica Gaussiane monodimensionali. Da alcuni anni, tuttavia, siassiste ad una crescita di interesse verso l’uso di metodi di tipo spettrale anche su geo-metrie che non abbiano struttura di prodotto tensoriale, come, ad esempio, triangoli in2D e tetraedri, prismi o piramidi in 3D.

Descriviamo brevemente l’idea (pionieristica) di Dubiner [Dub91] di introdurre basipolinomiali di grado elevato su triangoli, estesa in seguito in [KS05] al caso tridimen-sionale.Consideriamo il triangolo di riferimento

T = {(x1, x2) ∈ R2 : −1 < x1, x2 ; x1 + x2 < 0}

ed il quadrato di riferimento

Q = {(ξ1, ξ2) ∈ R2 : −1 < ξ1, ξ2 < 1}.

La trasformazione

(x1, x2)→ (ξ1, ξ2), ξ1 = 21 + x11− x2

− 1, ξ2 = x2 (4.71)

è una biezione tra T e Q. La sua inversa è data da

(ξ1, ξ2)→ (x1, x2), x1 =1

2(1 + ξ1)(1− ξ2)− 1, x2 = ξ2.

Come evidenziato in Fig. 4.14, la mappa (x1, x2) → (ξ1, ξ2) invia il raggio in Tuscente dal vertice (−1, 1) e passante per il punto (x1,−1) nel segmento verticale di

Page 149: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.6 Metodi spettrali su triangoli e tetraedri 135

Q di equazione ξ1 = x1. Essa diventa pertanto singolare in (−1, 1). Per tale ragio-ne chiamiamo (ξ1, ξ2) le coordinate cartesiane collassate del punto del triangolo dicoordinate (x1, x2).

Indichiamo con {J (α,β)k (ξ), k ≥ 0} la famiglia dei polinomi di Jacobi ortogonalirispetto al peso w(ξ) = (1− ξ)α(1 + ξ)β , per α, β ≥ 0. Pertanto,

∀k ≥ 0, J(α,β)k ∈ Pk e

1∫−1

J(α,β)k (ξ)J (α,β)m (ξ)w(ξ) dξ = 0 ∀m �= k. (4.72)

Osserviamo che per α = β = 0, J (0,0)k coincide con il k-esimo polinomio di Legen-dre Lk. Per ogni coppia di interi k = (k1, k2) definiamo la cosiddetta base prodottotensoriale warped su Q

Φk(ξ1, ξ2) = Ψk1 (ξ1)Ψk1,k2(ξ2), (4.73)

essendo Ψk1(ξ1) = J(0,0)k1(ξ1) e Ψk1,k2(ξ2) = (1−ξ2)

k1J(2k1+1,0)k2

(ξ2). Si osservi cheΦk è un polinomio di grado k1 in ξ1 e k1 + k2 in ξ2.Applicando ora la mappa (4.71) troviamo la seguente funzione definita su T

ϕk(x1, x2) = Φk(ξ1, ξ2) = J(0,0)k1

(21 + x1

1− x2− 1)(1− x2)

k1J(2k1+1,0)k2

(x2). (4.74)

Essa è un polinomio di grado totale k1 + k2 nelle variabili x1, x2, ovvero ϕk ∈Pk1+k2(T ). Si può inoltre dimostrare che grazie all’ortogonalitàdei polinomi di Jacobi(4.72), per ogni m �= k,

∫T

ϕk(x1, x2)ϕm(x1, x2) dx1 dx2 =1

2

( 1∫−1

J(0,0)k1(ξ1)J

(0,0)m1(ξ1) dξ1

( 1∫−1

J(2k1+1,0)k2

(ξ2)J(2m1+1,0)m2 (ξ2) (1− ξ2)

k1+m1+1 dξ2

)= 0.

(4.75)

Pertanto, {ϕk : 0 ≤ k1, k2, k1+ k2 ≤ N} costituisce una base (modale) ortogonaledello spazio di polinomi PN (T ), di dimensione 1

2(N + 1)(N + 2).

La proprietà di ortogonalità indubbiamente è conveniente in quanto consente di dia-gonalizzare la matrice di massa, si veda il Cap. 6. Tuttavia, con la base modale sopradescritta non risulta agevole l’imposizione delle condizioni al bordo (nel caso si consi-deri il dominio computazionale triangolare T ) né il soddisfacimento delle condizionidi continuità agli interelementi nel caso si usino metodi agli elementi spettrali conelementi triangolari. Un possibile rimedio consiste nell’adattare questa base, gene-randone una nuova, che indicheremo con {ϕbak }; ba sta per boundary adapted. Per

ottenerla iniziamo con il sostituire la base uni-dimensionale di Jacobi J (α,0)k (ξ) (conα = 0 o 2k + 1) con la base adattata costituita da:

Page 150: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

136 4 I metodi spettrali

– due funzioni di bordo : 1+ξ2 e 1−ξ2 ;

– (N − 1) funzioni bolla :(1+ξ2

)(1−ξ2

)J(α,β)k−2 (ξ), k = 2, . . . , N , per opportuni

α, β ≥ 1, fissati.

Queste basi mono-dimensionali vengono poi usate come fatto in (4.73) al posto deipolinomi di Jacobi non adattati. In questo modo si trovano funzioni di tipo-vertice, ditipo-lato, e di tipo bolla. Precisamente:

• funzioni tipo-vertice:

ΦV1(ξ1, ξ2) =(1− ξ1

2

)(1− ξ2

2

)(vertice V1 = (−1,−1)),

ΦV2(ξ1, ξ2) =(1 + ξ12

)(1− ξ22

)(vertice V2 = (1,−1)),

ΦV3(ξ1, ξ2) =1 + ξ22

(vertice V3 = (−1, 1));

• funzioni tipo-lato:

ΦV1V2K1(ξ1, ξ2) =

(1− ξ1

2

)(1 + ξ1

2

)J(β,β)k1−2 (ξ1)

(1− ξ2

2

)k1, 2 ≤ k1 ≤ N,

ΦV1V3K2(ξ1, ξ2) =

(1− ξ1

2

)(1− ξ2

2

)(1 + ξ2

2

)J(β,β)k2−2 (ξ2), 2 ≤ k2 ≤ N,

ΦV2V3K2(ξ1, ξ2) =

(1 + ξ1

2

)(1− ξ2

2

)(1 + ξ2

2

)J(β,β)k2−2 (ξ2), 2 ≤ k2 ≤ N ;

• funzioni tipo-bolla:

Φβk1,k2(ξ1, ξ2) =(1− ξ1

2

)(1 + ξ1

2

)J(β,β)k1−2 (ξ1)·(1− ξ2

2

)k1(1 + ξ2

2

)J(2k1−1+δ,β)k2−2 (ξ2),

2 ≤ k1, k2, k1 + k2 ≤ N .

Nonostante la scelta β = δ = 2 assicuri l’ortogonalità delle funzioni-bolla, in generesi preferisce la scelta β = 1, δ = 0 in quanto garantisce una buona sparsità delle ma-trici di massa e di rigidezza e un numero di condizionamento accettabile per la matricedi rigidezza per operatori differenziali del secondo ordine.In Fig. 4.15 riportiamo alcuni esempi di basi su triangoli corrispondenti a diverse scel-te di β e δ e per diversi valori del grado N .Con queste basi modali si può ora impostare un’approssimazione di Galerkin spettraleper un problema ai limiti posto sul triangolo T , oppure un metodo di tipo MES suun dominio Ω partizionato in elementi triangolari. Rinviamo il lettore interessato a[CHQZ06], [CHQZ07], [KS05].

Page 151: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

4.6 Metodi spettrali su triangoli e tetraedri 137

Figura 4.15. Funzioni di base di grado N = 5: basi boundary-adapted sul quadrato (primadall’alto) e sul triangolo (seconda dall’alto) associate ai valori β = 1 e δ = 0; base di JacobiJ(α,β)k sul quadrato (seconda dal basso) corrispondente ai valori α = β = 0 (caso di Legendre);

funzioni di base di Dubiner {Φk} sul triangolo (prima dal basso)

Page 152: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

138 4 I metodi spettrali

4.7 Esercizi

1. Si dimostri la disuguaglianza (4.50).2. Si dimostri la proprietà (4.52).3. Si scriva la formulazione debole del problema{ − ((1 + x)u′(x))′ + u(x) = f(x), 0 < x < 1,

u(0) = α, u(1) = β,

ed il sistema lineare risultante dalla sua discretizzazione con il metodo G-NI.4. Si approssimi il problema{ −u′′(x) + u′(x) = x2, −1 < x < 1,

u(−1) = 1, u′(1) = 0,

con il metodo G-NI e se ne studi la stabilità e la convergenza.5. Si scriva l’approssimazione G-NI del problema{

Lu(x) = −(μ(x)u′(x))′ + (b(x)u(x))′ + σ(x)u(x) = f(x), −1 < x < 1,

μ(±1)u′(±1) = 0.

Si dimostri sotto quali condizioni sui dati l’approssimazione pseudo-spettrale èstabile. Si verifichi inoltre che valgono le seguenti relazioni:

LNuN(xj) = f(xj), j = 1, . . . , N − 1,

μ(1)u′N (1) = αN(f − LNuN)(1),

μ(−1)u′N (−1) = −α0(f − LNuN )(−1),

essendo LN l’operatore pseudo-spettrale definito nella (4.41).6. Si consideri il problema⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

−μΔu+ b · ∇u− σu = f in Ω = (−1, 1)2,u(x) = u0 per x1 = −1,u(x) = u1 per x1 = 1,

∇u(x) · n(x) = 0 per x2 = −1 e x2 = 1,

dove x = (x1, x2)T , n è la normale uscente ad Ω, μ = μ(x), b = b(x), σ =σ(x), f = f(x) sono funzioni assegnate, e u0 ed u1 sono delle costanti assegnate.Si forniscano condizioni sui dati sufficienti a garantire l’esistenza e l’unicità dellasoluzione debole, e si dia una stima a priori. Si approssimi poi il problema debolecon il metodo G-NI, fornendone un’analisi di stabilità e convergenza.

Page 153: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5

Equazioni di diffusione-trasporto-reazione

In questo capitolo consideriamo problemi della forma seguente{−div(μ∇u) + b · ∇u+ σu = f in Ω,u = 0 su ∂Ω,

(5.1)

dove μ, σ, f e b sono funzioni (o costanti) assegnate. Nel caso più generale suppor-remo che μ ∈ L∞(Ω), con μ(x) ≥ μ0 > 0, σ ∈ L2(Ω) con σ(x) ≥ 0 q.o. in Ω,b ∈ [L∞(Ω)]2, con div(b) ∈ L2(Ω), e f ∈ L2(Ω). Problemi come (5.1) modellanoi processi fisici di diffusione, trasporto e reazione.Per una derivazione di questi modelli, e per cogliere l’analogia con processi di cam-minata aleatoria (random walk), si veda [Sal08], Cap. 2.In molte applicazioni pratiche il termine di diffusione−div(μ∇u) è dominato dal ter-mine convettivo b ·∇u (detto anche di trasporto) o da quello reattivo σu (detto anchedi assorbimento quando si faccia l’ipotesi di non negatività di σ). In questi casi, comevedremo, la soluzione può dar luogo a strati limite, ovvero a regioni, generalmente inprossimità della frontiera di Ω, in cui la soluzione è caratterizzata da forti gradienti.

In questo capitolo ci proponiamo di analizzare le condizioni che assicurano l’esi-stenza e l’unicità della soluzione del problema (5.1). Considereremo poi il metodo diGalerkin, ne illustreremo le difficoltà a fornire soluzioni stabili in presenza di strati li-mite, quindi proporremo metodi di discretizzazione alternativi per l’approssimazionedi (5.1).

5.1 Formulazione debole del problema

Sia V=H10(Ω). Introducendo la forma bilineare a : V × V �→ R,

a(u, v)=

∫Ω

μ∇u · ∇v dΩ +

∫Ω

vb · ∇u dΩ +

∫Ω

σuv dΩ ∀u, v ∈ V , (5.2)

la formulazione debole del problema (5.1) diviene

trovare u ∈ V : a(u, v) = (f, v) ∀v ∈ V. (5.3)

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 154: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

140 5 Equazioni di diffusione-trasporto-reazione

Al fine di dimostrare l’esistenza e l’unicità della soluzione di (5.3) vogliamo porcinelle condizioni di applicare il Lemma di Lax-Milgram.

Per verificare la coercività della forma bilineare a(·, ·), operiamo separatamentesui singoli termini che compongono la (5.2).Per il primo termine abbiamo∫

Ω

μ∇v · ∇v dΩ ≥ μ0‖∇v‖2L2(Ω). (5.4)

Poiché v ∈ H10(Ω), vale la disuguaglianza di Poincaré (si veda l’Appendice A.4)

‖v‖L2(Ω) ≤ CΩ‖∇v‖L2(Ω). (5.5)

Pertanto

‖v‖2H1(Ω) = ‖v‖2L2(Ω) + ‖∇v‖2L2(Ω) ≤ (1 + C2Ω)‖∇v‖2L2(Ω)

e, quindi, dalla (5.4), segue∫Ω

μ∇v · ∇v dΩ ≥ μ0

1 +C2Ω‖v‖2H1(Ω).

Passiamo ora a considerare il termine convettivo∫Ω

vb · ∇v dΩ =1

2

∫Ω

b · ∇(v2) dΩ = −12

∫Ω

v2div(b) dΩ +1

2

∫∂Ω

b · nv2 dγ

= −12

∫Ω

v2div(b) dΩ,

essendo v = 0 su ∂Ω. Se ora sommiamo a questo termine quello relativo al terminedi ordine zero, otteniamo∫

Ω

vb · ∇v dΩ +

∫Ω

σv2 dΩ =

∫Ω

v2(−12div(b) + σ) dΩ,

e tale integrale è sicuramente positivo se si suppone che

−12div(b) + σ ≥ 0 q.o. in Ω. (5.6)

In definitiva, se vale la (5.6), la forma bilineare a(·, ·) risulta coerciva essendo

a(v, v) ≥ α‖v‖2H1(Ω) ∀v ∈ V, con α =μ0

1 +C2Ω. (5.7)

Page 155: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.1 Formulazione debole del problema 141

Affinché la forma bilineare a(·, ·) sia continua deve, invece, esistere una costantepositiva M tale che

|a(u, v)| ≤M‖u‖H1(Ω)‖v‖H1(Ω) ∀u, v ∈ V. (5.8)

Il primo termine al secondo membro della (5.2) può essere maggiorato come segue∣∣∣∣∣∣∫Ω

μ∇u · ∇v dΩ

∣∣∣∣∣∣ ≤ ‖μ‖L∞(Ω)‖∇u‖L2(Ω)‖∇v‖L2(Ω)

≤ ‖μ‖L∞(Ω)‖u‖H1(Ω)‖v‖H1(Ω),(5.9)

dove sono state usate le disuguaglianze di Hölder (si veda l’Appendice A.5) e diCauchy-Schwarz e si è tenuto conto del fatto che ‖∇w‖L2(Ω) ≤ ‖w‖H1(Ω) per ogniw ∈ H1(Ω). Per il secondo termine, procedendo in modo analogo si trova∣∣∣∣∣∣

∫Ω

vb · ∇u dΩ

∣∣∣∣∣∣ ≤ ‖b‖L∞(Ω)‖v‖L2(Ω)‖∇u‖L2(Ω)

≤ ‖b‖L∞(Ω)‖v‖H1(Ω)‖u‖H1(Ω).(5.10)

Infine, per il terzo termine abbiamo, grazie alla disuguaglianza di Cauchy-Schwarz,∣∣∣∣∣∣∫Ω

σuv dΩ

∣∣∣∣∣∣ ≤ ‖σ‖L2(Ω)‖uv‖L2(Ω).Peraltro, ‖uv‖L2(Ω) ≤ ‖u‖L4(Ω)‖v‖L4(Ω) ≤ ‖u‖H1(Ω)‖v‖H1(Ω), avendo applicato ladisuguaglianza (A.17) e sfruttato le immersioni (A.18). Dunque∣∣∣∣∣∣

∫Ω

σuv dΩ

∣∣∣∣∣∣ ≤ ‖σ‖L2(Ω)‖u‖H1(Ω)‖v‖H1(Ω). (5.11)

Sommando membro a membro la (5.9), la (5.10) e la (5.11), si dimostra così lacontinuità della forma bilineare a(·, ·), ovvero la (5.8), pur di prendere

M = ‖μ‖L∞(Ω) + ‖b‖L∞(Ω) + ‖σ‖L2(Ω). (5.12)

Peraltro il termine di destra della (5.3) definisce un funzionale lineare e limitato graziealla disuguaglianza di Cauchy-Schwarz e alla (5.5).Essendo verificate le ipotesi del Lemma di Lax-Milgram segue che la soluzione delproblema debole (5.3) esiste ed è unica. Valgono inoltre le seguenti stime a priori:

‖u‖H1(Ω) ≤1

α‖f‖L2(Ω), ‖∇u‖L2(Ω) ≤

CΩμ0‖f‖L2(Ω),

conseguenze di (5.4), (5.7) e (5.5) La prima è una conseguenza immediata del Lem-ma di Lax-Milgram, la seconda si può facilmente dimostrare partendo dall’equazione

Page 156: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

142 5 Equazioni di diffusione-trasporto-reazione

a(u, u) = (f, u) ed utilizzando le disuguaglianze di Cauchy-Schwarz, di Poincaré ele disuguaglianze (5.4) e (5.6).

L’approssimazione di Galerkin del problema (5.3) è

trovare uh ∈ Vh : a(uh, vh) = (f, vh) ∀vh ∈ Vh,

dove {Vh, h > 0} è una famiglia opportuna di sottospazi di dimensione finita diH10(Ω). Replicando la dimostrazione a cui si è accennato poco sopra nel caso delproblema continuo, si possono dimostrare le seguenti stime:

‖uh‖H1(Ω) ≤1

α‖f‖L2(Ω), ‖∇uh‖L2(Ω) ≤

CΩμ0‖f‖L2(Ω).

Esse mostrano, in particolare, che il gradiente della soluzione discreta (così comequello della soluzione debole u) potrebbe essere tanto più grande quanto più μ0 èpiccola.Inoltre, grazie al Lemma di Céa, si ottiene la seguente stima dell’errore

‖u− uh‖V ≤M

αinfvh∈Vh

‖u− vh‖V . (5.13)

In virtù delle definizioni di α e M (si vedano (5.7) e (5.12)), la costante di mag-giorazione M/α diventa tanto più grande (ovvero la stima (5.13) tanto meno si-gnificativa) quanto più cresce il rapporto ‖b‖L∞(Ω)/‖μ‖L∞(Ω) (ovvero il rapporto‖σ‖L∞(Ω)/‖μ‖L∞(Ω)), ossia quando il termine convettivo (ovvero reattivo) dominasu quello diffusivo.

In tali casi il metodo di Galerkin può dar luogo a soluzioni poco accurate, a menodi non usare, come vedremo, un passo di discretizzazione h estremamente piccolo.

Al fine di valutare più precisamente il comportamento della soluzione numericafornita dal metodo di Galerkin analizziamo un problema monodimensionale.

5.2 Analisi di un problema di diffusione-trasportomonodimensionale

Consideriamo il seguente problema di diffusione-trasporto unidimensionale{−μu′′ + bu′ = 0, 0 < x < 1,u(0) = 0, u(1) = 1,

(5.14)

con μ e b costanti positive.La sua formulazione debole è

trovare u ∈ H1(0, 1) : a(u, v) = 0 ∀v ∈ H10(0, 1), (5.15)

Page 157: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.2 Analisi di un problema di diffusione-trasporto monodimensionale 143

con u(0) = 0 e u(1) = 1, essendo a(u, v) =

∫ 10

(μu′v′ + bu′v)dx. Seguendo quan-

to indicato nella Sez. 2.2.2, possiamo riformulare (5.15) introducendo un opportunorilevamento dei dati al bordo. In questo caso particolare, possiamo scegliere Rg = x.

Posto allora◦u= u−Rg = u− x, possiamo riformulare (5.15) nel modo seguente

trovare◦u∈ H10(0, 1) : a(

◦u, v) = F (v) ∀v ∈ H10(0, 1), (5.16)

essendo F (v) = −a(x, v) = −∫ 10 bv dx il contributo dovuto al rilevamento dei dati.

Definiamo numero di Péclet globale il rapporto

Peg =|b|L2μ

,

essendo L la dimensione lineare del dominio (1 nel nostro caso). Esso fornisce unamisura di quanto il termine convettivo domini quello diffusivo, ed ha pertanto lo stessoruolo del numero di Reynolds nelle equazioni di Navier-Stokes che vedremo nel Cap.10.

Calcoliamo, innanzitutto, la soluzione esatta di tale problema. L’equazione carat-teristica ad esso associata è

−μλ2 + bλ = 0

ed ha, come radici, i valori λ1 = 0 e λ2 = b/μ. La soluzione generale è quindi

u(x) = C1eλ1x + C2e

λ2x = C1 +C2ebμx.

Imponendo le condizioni al bordo si trovano le costanti C1 e C2, e, di conseguenza, lasoluzione

u(x) =exp( b

μx)− 1

exp( bμ)− 1

.

Se b/μ � 1, possiamo sviluppare in serie gli esponenziali ed arrestarci al secondotermine ottenendo così

u(x) =1 + b

μx+ · · · − 11 + b

μ + · · · − 1�bμx

= x.

Pertanto la soluzione è prossima alla retta interpolante i dati al bordo (che è lasoluzione corrispondente al caso b = 0).Se, viceversa, b/μ� 1, gli esponenziali sono molto grandi, per cui

u(x) �exp( bμx)

exp( bμ)= exp

(− b

μ(1 − x)

).

Pertanto la soluzione è prossima a zero in quasi tutto l’intervallo, tranne che in unintorno del punto x = 1, dove si raccorda ad 1 con un andamento esponenziale. Tale

Page 158: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

144 5 Equazioni di diffusione-trasporto-reazione

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

b/μ=−10

b/μ=−100

b/μ=10

b/μ=100

b/μ=0

Figura 5.1. Andamento della soluzione del problema (5.14) al variare del rapporto b/μ. Percompletezza sono evidenziate anche le soluzioni relative al caso in cui b sia negativo

intorno ha un’ampiezza dell’ordine di μ/b ed è quindi molto piccolo: la soluzionepresenta uno strato limite di bordo (boundary layer in inglese) di ampiezza O(μb ) incorrispondenza di x = 1 (si veda la Fig. 5.1), in cui la derivata si comporta come b/μ,ed è pertanto illimitata se μ→ 0.

Supponiamo ora di usare il metodo di Galerkin con elementi finiti lineari perapprossimare (5.15)

trovare uh ∈ X1h :

{a(uh, vh) = 0 ∀vh ∈

◦X1

h,uh(0) = 0, uh(1) = 1,

(5.17)

dove, indicando con xi, per i = 0, . . .M , i vertici della partizione introdotta su (0, 1),abbiamo posto, coerentemente con (3.14),

Xrh = {vh ∈ C0([0, 1]) : vh

∣∣∣[xi−1,xi]

∈ Pr , i = 1, . . . ,M},

◦X rh= {vh ∈ Xrh : vh(0) = vh(1) = 0},

per r ≥ 1. Scelto, per ogni i = 1, . . . ,M − 1, vh = ϕi (l’i-esima funzione di base diX1h), si ha ∫ 1

0

μu′hϕ′i dx+

∫ 10

bu′hϕi dx = 0,

ovvero, essendo supp (ϕi) = [xi−1, xi+1] e potendo scrivere uh =M−1∑j=1

ujϕj(x),

μ

⎡⎣ui−1 xi∫xi−1

ϕ′i−1ϕ′i dx+ ui

xi+1∫xi−1

(ϕ′i)2 dx+ ui+1

xi+1∫xi

ϕ′i+1ϕ′i dx

⎤⎦+b

⎡⎣ui−1 xi∫xi−1

ϕ′i−1ϕi dx+ ui

xi+1∫xi−1

ϕ′iϕi dx+ ui+1

xi+1∫xi

ϕ′i+1ϕi dx

⎤⎦ = 0,

Page 159: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.2 Analisi di un problema di diffusione-trasporto monodimensionale 145

∀i = 1, . . . ,M − 1. Se la partizione è uniforme, ovvero se xi = xi−1 + h, con i =

1, . . . ,M , osservando che ϕi′(x) =

1

hse xi−1 < x < xi, ϕi′(x) = −

1

hse xi < x <

xi+1, per i = 1, . . . ,M − 1, si ottiene

μ

(−ui−1

1

h+ ui

2

h− ui+1

1

h

)+ b

(−ui−1

1

h

h

2+ ui+1

1

h

h

2

)= 0,

cioè

μ

h(−ui−1 + 2ui − ui+1) +

1

2b(ui+1 − ui−1) = 0, i = 1, . . . ,M − 1. (5.18)

Riordinando i termini troviamo(b

2− μ

h

)ui+1 +

hui−(

b

2+

μ

h

)ui−1 = 0, i = 1, . . . ,M − 1.

Dividendo per μ/h e definendo il numero di Péclet locale (o “di griglia”)

Pe=|b|h2μ

, (5.19)

si ha infine

(Pe − 1)ui+1 + 2ui − (Pe+ 1)ui−1 = 0, i = 1, . . . ,M − 1. (5.20)

Questa è un’equazione alle differenze di tipo lineare che ammette soluzioni di ti-po esponenziale, ovvero della forma ui = ρi (si veda [QSS08]). Sostituendo taleespressione nella (5.20), otteniamo

(Pe− 1)ρ2 + 2ρ− (Pe+ 1) = 0, i = 1, . . . ,M − 1,

dalla quale ricaviamo le due radici

ρ1,2 =−1±

√1 + Pe2 − 1Pe − 1 =

{(1 + Pe)/(1− Pe),1.

Grazie alla linearità della (5.20), la soluzione generale di tale equazione assume laforma

ui = A1ρi1 + A2ρ

i2 ,

essendo A1 e A2 costanti arbitrarie. Imponendo le condizioni al bordo u0 = 0 euM = 1 si trova

A2 = −A1 e A1 =

(1−(1 + Pe

1− Pe

)M )−1.

Page 160: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

146 5 Equazioni di diffusione-trasporto-reazione

In conclusione, la soluzione del problema (5.17) ha i seguenti valori nodali

ui =

1−(1 + Pe

1− Pe

)i1−(1 + Pe

1− Pe

)M , per i = 0, . . . ,M.

Osserviamo che, se Pe > 1, al numeratore compare una potenza con base negativa equindi la soluzione approssimata diviene oscillante, al contrario della soluzione esattache è monotona! Questo fenomeno è esemplificato in Fig. 5.2 dove la soluzione della(5.20) per valori differenti del numero di Péclet locale è confrontata con la soluzioneesatta per un caso in cui il numero di Péclet globale è pari a 50. Come si può osservare,più il numero di Péclet locale aumenta, più l’andamento della soluzione approssimatasi discosta da quello della soluzione esatta, presentando oscillazioni che diventanosempre più marcate in corrispondenza dello strato limite.

0.75 0.8 0.85 0.9 0.95 1

−0.5

0

0.5

1

esattaPe locale= 2.63Pe locale= 1.28Pe locale= 0.63

Figura 5.2. Soluzione agli elementi finiti del problema di diffusione trasporto (5.14) con Peg =50 per diversi valori del numero di Péclet locale

Il rimedio più ovvio è quello di scegliere il passo h della mesh sufficientemente picco-lo, in modo da garantire Pe < 1. Tuttavia questa soluzione non è sempre conveniente:ad esempio, se b = 1 e μ = 1/5000, bisognerebbe prendere h < 10−4, ossia intro-durre sull’intervallo (0, 1) almeno 10000 intervalli! In particolare, tale strategia puòrivelarsi assolutamente impraticabile per problemi ai limiti in più dimensioni. Una ra-gionevole soluzione alternativa è rappresentata da una strategia di raffinamento adatta-tivo che infittisca la griglia solo in corrispondenza dello strato limite. Diverse strategiesi possono seguire a questo scopo. Fra le più note citiamo le cosiddette griglie di tipoB (da Bakhvâlov) o di tipo S (da Shishkin). Si veda ad esempio [GRS07].

Page 161: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.3 Analisi di un problema di diffusione-reazione monodimensionale 147

5.3 Analisi di un problema di diffusione-reazionemonodimensionale

Consideriamo ora un problema monodimensionale di diffusione-reazione{−μu′′ + σu = 0, 0 < x < 1,u(0) = 0, u(1) = 1,

(5.21)

con μ e σ costanti positive, la cui soluzione è

u(x) =sinh(αx)

sinh(α)=

eαx − e−αx

eα − e−α, con α =

√σ/μ.

Anche in questo caso, se σ/μ � 1, vi è uno strato limite per x → 1 con unospessore dell’ordine di

√μ/σ in cui la derivata prima diventa illimitata per μ→ 0 (si

osservi, ad esempio, la soluzione esatta per il caso riportato in Fig. 5.3). È interessantedefinire anche in questo caso un numero di Péclet globale, che prende la forma

Peg =σL2

6μ,

essendo ancora L la dimensione lineare del dominio (1 nel nostro caso).Applichiamo ora il metodo di Galerkin con elementi finiti lineari su di una meshuniforme. L’equazione relativa alla generica funzione di base ϕi, i = 1, . . . ,M −1, è

1∫0

μu′hϕ′i dx+

1∫0

σuhϕi dx = 0.

Sviluppando i calcoli in maniera analoga a quanto fatto nel paragrafo precedente, edosservando che∫ xixi−1

ϕi−1 ϕi dx =h

6,

∫ xi+1xi−1

ϕ2i dx =2

3h,

∫ xi+1xi

ϕi ϕi+1 dx =h

6,

0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1−0.5

0

0.5

1

EsattaPe locale= 5.56Pe locale = 1.18Pe locale= 0.27

Figura 5.3. Confronto tra soluzione numerica e soluzione esatta del problema di diffusione-reazione (5.21) con Peg = 200. La soluzione numerica è stata ottenuta utilizzando il metodo diGalerkin-elementi finiti lineari su griglie uniformi

Page 162: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

148 5 Equazioni di diffusione-trasporto-reazione

si ottiene

μ

(−ui−1

1

h+ ui

2

h− ui+1

1

h

)+ σ

(ui−1

h

6+ ui

2

3h+ ui+1

h

6

)= 0, (5.22)

ossia (h

6σ − μ

h

)ui+1 +

(2

3h+σ

h

)ui +

(h

6σ − μ

h

)ui−1 = 0.

Dividendo per μ/h e definendo il seguente numero di Péclet locale

Pe=σh2

6μ, (5.23)

si ha infine

(Pe − 1)ui+1 + 2(1 + 2Pe)ui + (Pe − 1)ui−1 = 0, i = 1, . . . ,M − 1.

Tale equazione alle differenze ammette come soluzione, per ogni i = 0, . . . ,M

ui =

[1 + 2Pe +

√3Pe(Pe + 2)

1− Pe

]i−[1 + 2Pe −

√3Pe(Pe + 2)

1− Pe

]i[1 + 2Pe +

√3Pe(Pe + 2)

1− Pe

]M−[1 + 2Pe −

√3Pe(Pe + 2)

1− Pe

]M ,

che, ancora una volta, risulta oscillante quando Pe > 1.Il problema è dunque critico quando σμ�1, ovvero quando il coefficiente di diffusioneè molto piccolo rispetto a quello di reazione e lo diventa sempre più all’aumentare delrapporto σμ (si veda l’esempio riportato in Fig. 5.3).

5.4 Relazioni tra elementi finiti e differenze finite

Vogliamo analizzare il comportamento del metodo delle Differenze Finite (DF, perbrevità) applicato alla risoluzione di problemi di diffusione-trasporto e di diffusione-reazione, ed evidenziarne analogie e differenze con il metodo agli Elementi Finiti(EF, per brevità). Ci limiteremo al caso monodimensionale e considereremo una meshuniforme.

Consideriamo ancora il problema (5.14) e approssimiamolo mediante differenzefinite. Allo scopo di avere un errore di discretizzazione locale dello stesso ordine digrandezza per entrambi i termini, si approssimeranno le derivate utilizzando i rapportiincrementali centrati seguenti:

u′(xi) =u(xi+1) − u(xi−1)

2h+O(h2), i = 1, . . . ,M − 1, (5.24)

Page 163: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.4 Relazioni tra elementi finiti e differenze finite 149

u′′(xi) =u(xi+1)− 2u(xi) + u(xi−1)

h2+O(h2), i = 1, . . . ,M − 1. (5.25)

In entrambi i casi, come evidenziato, il resto è un infinitesimo rispetto al passo re-ticolare h, come si può facilmente provare invocando gli sviluppi troncati di Taylor(si veda, ad esempio, [QSS08]). Sostituendo in (5.14) le derivate esatte con i rapportiincrementali (trascurando dunque l’errore infinitesimo), troviamo lo schema seguente⎧⎨⎩ −μ

ui+1 − 2ui + ui−1h2

+ bui+1 − ui−12h

= 0, i = 1, . . . ,M − 1,

u0 = 0, uM = 1.

(5.26)

Per ogni i, l’incognitaui fornisce un’approssimazione per il valore nodale u(xi). Mol-tiplicando per h otteniamo la stessa equazione (5.18) ottenuta usando elementi finitilineari sulla stessa griglia uniforme.

Consideriamo ora il problema di diffusione e reazione (5.21). Procedendo in modoanalogo, la sua approssimazione con le differenze finite fornisce⎧⎨⎩ −μ

ui+1 − 2ui + ui−1h2

+ σui = 0, i = 1, . . . ,M − 1,

u0 = 0, uM = 1.

(5.27)

Tale equazione risulta diversa dalla (5.22), che si è ottenuta con elementi finiti lineari,in quanto il termine di reazione, che in (5.27) compare con il contributo diagonaleσui, nella (5.22) dà luogo alla somma di tre contributi differenti

σ

(ui−1

h

6+ ui

2

3h + ui+1

h

6

).

Dunque i due metodi EF e DF non sono in questo caso equivalenti. Osserviamo che lasoluzione ottenuta con lo schema alle DF (5.27) non presenta oscillazioni, qualunquesia il valore scelto per il passo h di discretizzazione. Infatti la soluzione di (5.27) è

ui = (ρM1 − ρM2 )

−1(ρi1 − ρi2),

con

ρ1,2 =γ

2±(

γ2

4− 1) 12

e γ = 2 +σh2

μ.

Le potenze i-esime ora hanno una base positiva, garantendo un andamento monotonodella successione {ui}. Ciò differisce da quanto visto in Sez 5.3 per gli EF, per iquali occorre garantire che il numero di Péclet locale (5.23) sia minore di 1, ovvero

scegliere h ≤√6μσ . Si veda l’esempio riportato in Fig. 5.4 per avere un confronto tra

un’approssimazione ad elementi finiti ed una alle differenze finite.

Page 164: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

150 5 Equazioni di diffusione-trasporto-reazione

0.8 0.82 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98 1

−0.2

0

0.2

0.4

0.6

0.8

1

1.2EsattaPe=10.20 (FEM)Pe=10.20 (FD)Pe= 0.57 (FEM)Pe= 0.57 (FD)

Figura 5.4. Confronto tra soluzioni numeriche dell’equazione di diffusione-reazione monodi-mensionale (5.21) con Peg = 2000 ottenute utilizzando il metodo di Galerkin-elementi finitilineari (FEM) ed il metodo alle differenze finite (FD), per diversi valori del numero di Pécletlocale

5.5 La tecnica del mass-lumping

Nel caso del problema di reazione-diffusione, si può ottenere usando elementi finitilineari lo stesso risultato delle differenze finite, pur di far ricorso alla cosiddetta tecnicadel mass-lumping grazie alla quale la matrice di massa

M = (mij), mij =

1∫0

ϕjϕi dx,

che è tridiagonale, viene approssimata con una matrice diagonale ML, detta matricecondensata, o lumped.

A tale scopo si utilizza la seguente formula di quadratura dei trapezi su ciascunintervallo (xi, xi+1), per ogni i = 0, . . . ,M − 1

xi+1∫xi

f(x) dx � h

2(f(xi) + f(xi+1)).

Grazie alle proprietà delle funzioni di base degli elementi finiti lineari, si trova allora:∫ xixi−1

ϕi−1ϕi dx � h2 [ϕi−1(xi−1)ϕi(xi−1) + ϕi−1(xi)ϕi(xi)] = 0,∫ xi+1

xi−1ϕ2i dx = 2

∫ xixi−1

ϕ2i dx � 2h2

[ϕ2i(xi−1) + ϕ2i(xi)

]= h,∫ xi+1

xi

ϕiϕi+1 dx � h2[ϕi(xi)ϕi+1(xi) + ϕi(xi+1)ϕi+1(xi+1)] = 0.

Usando le formule precedenti per calcolare in modo approssimato gli elementi dellamatrice di massa, si perviene alla seguente matrice diagonale ML avente per elementi

Page 165: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.5 La tecnica del mass-lumping 151

le somme degli elementi di ogni riga della matrice M , ovvero

ML = diag(mii), con mii =

i+1∑j=i−1

mij. (5.28)

Si noti che, grazie alla seguente proprietà di partizione dell’unità delle funzioni dibase

M∑j=0

ϕj(x) = 1 ∀x ∈[0, 1], (5.29)

gli elementi della matrice ML assumono la seguente espressione sull’intervallo [0, 1]

mii =

1∫0

ϕi dx, i = 0, . . . ,M.

I loro valori sono riportati nell’Esercizio 3 per elementi finiti di grado 1, 2, 3.Il problema agli elementi finiti in cui si sostituiscano i termini di ordine zero nelseguente modo

∫ 10

σ uh ϕi dx = σ

M−1∑j=1

uj

∫ 10

ϕj ϕi dx = σ

M−1∑j=1

mij uj � σ mii ui,

produce soluzioni coincidenti con quelle delle differenze finite, dunque monotoneper ogni valore di h. Inoltre, la sostituzione di M con ML non riduce l’ordine diaccuratezza del metodo.

Il procedimento di mass-lumping (5.28) è generalizzabile al caso bidimensionalenel caso si usino elementi lineari. Per elementi finiti quadratici, invece, la proceduradi somma per righe precedentemente descritta genererebbe una matrice di massa MLsingolare (si veda l’Esempio 5.1). Una strategia di diagonalizzazione alternativa allaprecedente consiste nell’utilizzare la matrice M = diag(mii) con elementi dati da

mii =mii∑jmjj

.

Nel caso monodimensionale, per elementi finiti lineari e quadratici, le matrici M eMLcoincidono, mentre differiscono per elementi cubici (si veda l’Esercizio 3). La matriceM è non singolare anche per elementi finiti lagrangiani di ordine elevato, mentre puòrisultare singolare se si utilizzano elementi finiti non lagrangiani, per esempio se siusano basi gerarchiche. In quest’ultimo caso, si ricorre a procedure di mass-lumpingpiù sofisticate. Recentemente sono state infatti elaborate diverse nuove tecniche didiagonalizzazione anche per elementi finiti di grado elevato, e in grado di generarematrici non-singolari. Si veda ad esempio [CJRT01].

Page 166: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

152 5 Equazioni di diffusione-trasporto-reazione

Esempio 5.1 La matrice di massa per i P2, sull’elemento di riferimento di vertici (0, 0), (1, 0)e (0, 1), è data da

M =1

180

⎡⎢⎢⎢⎢⎢⎢⎣

6 −1 −1 0 −4 0−1 6 −1 0 0 −4−1 −1 6 −4 0 00 0 −4 32 16 16−4 0 0 16 32 160 −4 0 16 16 32

⎤⎥⎥⎥⎥⎥⎥⎦ ,

mentre le matrici di massa condensate sono date da

ML =1

180diag(0 0 0 60 60 60),

M =1

114diag(6 6 6 32 32 32).

Come si vede la matriceML è singolare. �

La tecnica del mass-lumping verrà utilizzata anche in altri contesti, ad esempionella risoluzione di problemi parabolici (si veda il Cap. 6) quando si utilizzano di-scretizzazioni spaziali agli elementi finiti e discretizzazioni temporali esplicite alledifferenze finite (come il metodo di Eulero in avanti). In tal caso, ricorrendo al lum-ping della matrice di massa derivante dalla discretizzazione della derivata temporale,ci si riconduce alla soluzione di un sistema diagonale con conseguente riduzione delcorrispondente costo computazionale.

5.6 Schemi decentrati e diffusione artificiale

Il confronto con le differenze finite ci ha permesso di trovare una strada per risol-vere i problemi degli schemi ad elementi finiti nel caso di un problema di diffusione-reazione. Vogliamo ora trovare un rimedio anche per il caso del problema di diffusione-trasporto (5.14).

Mettiamoci nell’ambito delle differenze finite. Le oscillazioni nella soluzione nu-merica nascono dal fatto che si è utilizzato uno schema alle differenze finite centrate(DFC) per la discretizzazione del termine di trasporto. Un’idea che deriva dal signi-ficato fisico del termine di trasporto suggerisce di discretizzare la derivata prima inun punto xi con un rapporto incrementale decentrato nel quale intervenga il valore inxi−1 se il campo è positivo, e in xi+1 in caso contrario.

Questa tecnica è detta di upwinding e lo schema risultante, denominato schemaupwind (in breve DFUP) si scrive, nel caso b > 0, come

−μui+1 − 2ui + ui−1

h2+ b

ui − ui−1h

= 0, i = 1, . . . ,M − 1 . (5.30)

(Si veda la Fig. 5.5 per un esempio di applicazione dello schema upwind). Il prezzo dapagare è una riduzione dell’ordine di convergenza in quanto il rapporto incrementaledecentrato introduce un errore di discretizzazione locale che è O(h) (si veda (5.25)) enonO(h2) come nel caso delle DFC.

Page 167: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.6 Schemi decentrati e diffusione artificiale 153

0.7 0.75 0.8 0.85 0.9 0.95 1

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2EsattaFDC Pe= 2.94FDUP Pe= 2.94FDC Pe= 0.70FDUP Pe= 0.70

Figura 5.5. Soluzione ottenuta utilizzando lo schema delle differenze finite centrate (FDC) edupwind (FDUP) per l’equazione di diffusione-trasporto monodimensionale (5.14) con Peg =50. Anche ad alti numeri di Péclet locale si può notare l’effetto stabilizzante della diffusioneartificiale introdotta dallo schema upwind, accompagnata, inevitabilmente, da una perdita diaccuratezza

Osserviamo ora che

ui − ui−1h

=ui+1 − ui−12h

− h

2

ui+1 − 2ui + ui−1h2

,

ovvero il rapporto incrementale decentrato si può scrivere come la somma di un rap-porto incrementale centrato per approssimare la derivata prima e di un termine pro-porzionale alla discretizzazione della derivata seconda ancora con un rapporto incre-mentale centrato. Pertanto, lo schema upwind si può reinterpretare come uno schemaalle differenze finite centrate in cui è stato aggiunto un termine di diffusione artificialeproporzionale ad h. In effetti, la (5.30) è equivalente a

−μhui+1 − 2ui + ui−1

h2+ b

ui+1 − ui−12h

= 0, i = 1, . . . ,M − 1, (5.31)

dove μh = μ(1 + Pe), essendo Pe il numero di Péclet locale introdotto in (5.19). Loschema (5.31) corrisponde alla discretizzazione con uno schema DFC del problemaperturbato

−μhu′′ + bu′ = 0. (5.32)

La “correzione” della viscosità μh − μ = μPe =bh

2è detta viscosità numerica o

anche viscosità artificiale. Il nuovo numero di Péclet locale, associato allo schema(5.31), è

Pe∗ =bh

2μh=

Pe

(1 + Pe),

e pertanto esso verifica Pe∗ < 1 per ogni valore possibile di h > 0. Come vedremonella prossima sezione, questa interpretazione consente di estendere la tecnica upwind

Page 168: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

154 5 Equazioni di diffusione-trasporto-reazione

agli elementi finiti ed anche al caso bidimensionale, dove il concetto di decentramentodella derivata non è peraltro così ovvio.Più in generale, possiamo utilizzare in uno schema DFC della forma (5.31) il seguentecoefficiente di viscosità numerica

μh = μ(1 + φ(Pe)), (5.33)

dove φ è una funzione opportuna del numero di Péclet locale che deve soddisfare laproprietà lim

t→0+φ(t) = 0. È facile osservare che se φ = 0 si ottiene il metodo DFC

(5.26), mentre se φ(t) = t, si ottiene il metodo DFUP (o upwind) (5.30) (o (5.31)).Altre scelte di φ danno luogo a schemi diversi. Ad esempio, ponendo

φ(t) = t− 1 +B(2t),

dove B è la cosiddetta funzione di Bernoulli definita come

B(t) =t

et − 1 se t > 0, e B(0) = 1,

si ottiene lo schema comunemente chiamato di Scharfetter e Gummel, detto anche diIljin o del fitting esponenziale (in realtà tale schema è stato originariamente introdottoda Allen e Southwell [AS55]).

Indicati con φU e φSG rispettivamente le due funzioni individuate dalle scelteφ(t) = t e φ(t) = t − 1 − B(2t), si osserva che φSG � φU se Pe → +∞, mentreφSG = O(Pe2) e φU = O(Pe) se Pe→ 0+ (si veda la Fig. 5.6).

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Figura 5.6. Le funzioniφU (in linea continua) e φSG (in linea tratteggiata) al variare del numerodi Péclet

Page 169: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.7 Autovalori del problema di diffusione-trasporto 155

0.8 0.82 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98 1

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

EsattaFDUP Pe= 2.94FDSG Pe= 2.94FDUP Pe= 0.70FDSG Pe= 0.70

Figura 5.7. Confronto fra la soluzione con viscosità numerica upwind (FDUP) e quella diScharfetter e Gummel (FDSG) nel caso in cui Peg = 50

Si può verificare che per ogni μ e b fissati, lo schema di Scharfetter e Gummel è delsecondo ordine (rispetto ad h) e, per tale ragione, è anche detto schema upwind conviscosità ottimale. In realtà, si può verificare anche che, nel caso in cui f sia costante(o, più in generale, è sufficiente che sia costante in ogni intervallo [xi, xi+1]), la so-luzione numerica prodotta da questo schema coincide esattamente con la soluzione unei nodi di discretizzazione xi interni all’intervallo (0, 1), ovvero si ha che

ui = u(xi) per i = 1, . . . ,M − 1,

indipendentemente dalla scelta fatta per h (si veda la Fig. 5.7).Osserviamo che il numero di Péclet locale corrispondente al coefficiente della forma(5.33) è

Pe∗ =bh

2μh=

Pe

(1 + φ(Pe)),

pertanto esso è sempre minore di 1, per ogni valore di h.

Osservazione 5.1 La matrice associata agli schemi upwind e del fitting esponenzialeè una M-matrice indipendentemente dal valore di h; pertanto la soluzione numericaha un andamento monotono (si veda [QSS08, Cap. 1]). •

5.7 Autovalori del problema di diffusione-trasporto

Consideriamo l’operatoreLu = −μu′′+bu′ associato al problema (5.14) in un generi-co intervallo (α, β), e studiamo il comportamento degli autovalori λ ad esso associati.

Page 170: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

156 5 Equazioni di diffusione-trasporto-reazione

Essi verificano il problema Lu = λu, α < x < β, u(α) = u(β) = 0, u essendoun’autofunzione. Tali autovalori saranno, in generale, complessi per via della presen-za del termine bu′ di ordine 1. Supponendo μ > 0 costante (e b a priori variabile),abbiamo

Re(λ) =

β∫α

Luu dx

β∫α

|u|2 dx

=

μ

β∫α

|u′|2 dx− 12

β∫α

b′|u|2 dx

β∫α

|u|2 dx

. (5.34)

Si evince che se μ è piccolo e b′ è strettamente positivo la parte reale di λ non ènecessariamente positiva. Grazie alla disuguaglianza di Poincaré

β∫α

|u′|2 dx ≥ Cα,β

β∫α

|u|2 dx, (5.35)

essendo Cα,β una costante positiva che dipende da β − α, deduciamo da (5.34) che

Re(λ) ≥ Cα,β μ−1

2b′max

essendo b′max = maxα≤s≤β

b′(s). Pertanto solo un numero finito di autovalori possono

avere parte reale negativa. In particolare, osserviamo che

Re(λ) > 0 se b è costante o b′(x) ≤ 0 ∀x ∈ [α, β].

Lo stesso tipo di limitazione inferiore si ottiene per gli autovalori associati al-l’approssimazione di Galerkin-elementi finiti. Questi ultimi sono la soluzione delproblema

trovare λh ∈ C, uh ∈ Vh :

β∫α

μu′hv′h dx+

β∫α

bu′hvh dx = λh

β∫α

uhvh dx ∀vh ∈ Vh,

(5.36)dove Vh = {vh ∈ Xrh : vh(α) = vh(β) = 0}. Per dimostrarlo basta prendere ancoravh = uh in (5.36) ed operare come in precedenza.Possiamo invece ottenere una limitazione dall’alto scegliendo ancora vh = uh in(5.36) e prendendo il modulo in entrambi i membri:

|λh| ≤μ‖u′h‖2L2(α,β) + ‖b‖L∞(α,β) ‖u′h‖L2(α,β) ‖uh‖L2(α,β)

‖uh‖2L2(α,β).

Usando ora la disuguaglianza inversa (3.41) nel caso monodimensionale

∃ CI = CI(r) > 0 : ∀vh ∈ Xrh, ‖v′h‖L2(α,β) ≤ CI h−1 ‖vh‖L2(α,β), (5.37)

Page 171: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.8 Metodi di stabilizzazione 157

troviamo facilmente che

|λh| ≤ μC2I h−2 + ‖b‖L∞(α,β) CI h−1.

Nel caso di un’approssimazione spettrale di Legendre G-NI sul consueto intervallodi riferimento (−1, 1), il problema agli autovalori assumerebbe la forma seguente

trovare λN ∈ C, uN ∈ P0N :(μu′N , v′N

)N+(bu′N , vN

)N= λN

(uN , vN

)N∀vN ∈ P0N ,

(5.38)

essendo ora P0N lo spazio dei polinomi algebrici di grado N che si annullano in x =±1 e (·, ·)N il prodotto scalare discreto di GLL definito in (4.25). Supporremo, persemplicità, che anche b sia costante. Prendendo vN = uN , otteniamo

Re(λN) =μ‖u′N‖2L2(−1,1)‖uN‖2N

,

pertanto Re(λN ) > 0. Grazie alla disuguaglianza di Poincaré (5.35) (che nell’inter-vallo (−1, 1) vale con costante Cα,β = π2/4), otteniamo la stima dal basso

Re(λN ) > μπ2

4

‖uN‖2L2(−1,1)‖uN‖2N

.

Essendo uN un polinomio di grado al più N , grazie alla (4.52) otteniamo

Re(λN ) > μπ2

12.

Usando invece la seguente disuguaglianza inversa per i polinomi algebrici

∃ C > 0 : ∀vN ∈ PN , ‖v′N‖L2(−1,1) ≤ C N2 ‖vN‖L2(−1,1) (5.39)

(si veda [CHQZ06]) e ancora una volta la (4.52), si trova

Re(λN ) < C μN4.

In realtà, se N > 1/μ, si può provare che i moduli degli autovalori del problema didiffusione-trasporto (5.38) si comportano come quelli del problema di pura diffusione,ovvero

C1N−1 ≤ |λN | ≤ C2N

−2.

Per le dimostrazioni e per maggiori dettagli si veda [CHQZ06, Sezione 4.3.3].

5.8 Metodi di stabilizzazione

Il metodo di Galerkin introdotto nelle sezioni precedenti fornisce un’approssimazionecentrata del termine di trasporto. Un modo possibile per decentrare o dissimmetrizzare

Page 172: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

158 5 Equazioni di diffusione-trasporto-reazione

tale approssimazione, consiste nello scegliere le funzioni test vh in uno spazio diversoda quello a cui appartiene uh: si ottiene così un metodo detto di Petrov-Galerkin, per ilquale non vale più l’analisi basata sul Lemma di Céa. Analizzeremo più nel dettaglioquesto approccio nella Sez. 5.8.2. In questa sezione ci occuperemo invece di un altrometodo, detto degli elementi finiti stabilizzati. Peraltro, come vedremo, gli schemi cosìprodotti si possono reinterpretare come particolari metodi di Petrov-Galerkin.L’approssimazione del problema (5.16) con il metodo di Galerkin è

trovare uh ∈ Vh : a(uh, vh) = F (vh) ∀vh ∈ Vh, (5.40)

essendo Vh =◦Xr

h, r ≥ 1. Consideriamo invece il metodo di Galerkin generalizzato

trovare uh ∈ Vh : ah(uh, vh) = Fh(vh) ∀vh ∈ Vh, (5.41)

in cui

ah(uh, vh) = a(uh, vh) + bh(uh, vh) e Fh(vh) = F (vh) +Gh(vh).

I termini aggiuntivi bh(uh, vh) e Gh(vh) hanno lo scopo di eliminare (o quanto menodi ridurre) le oscillazioni numeriche prodotte dal metodo di Galerkin e sono pertantodenominati termini di stabilizzazione. Essi dipendono parametricamente da h.

Osservazione 5.2 Si vuole far notare che il termine “stabilizzazione” è in realtà im-proprio. Il metodo di Galerkin è infatti già stabile, nel senso della continuità dellasoluzione rispetto ai dati del problema (si veda quanto dimostrato, ad esempio, nellaSez. 5.1 per il problema (5.1)). Stabilizzazione va intesa, in questo caso, nel sensodi ridurre (idealmente di eliminare) le oscillazioni presenti nella soluzione numericaquando Pe > 1. •

Vediamo ora vari modi con cui scegliere i termini di stabilizzazione.

5.8.1 Diffusione artificiale e schemi decentrati agli elementi finiti

Basandoci su quanto visto per le differenze finite e riferendoci, per semplicità, al casomonodimensionale, applichiamo il metodo di Galerkin al problema (5.14) sostituendoal coefficiente di viscosità μ un coefficiente μh = μ(1+φ(Pe)). In tal modo si aggiun-ge di fatto al termine originale di viscosità μ una viscosità artificiale pari a μφ(Pe),dipendente dal passo di discretizzazione h attraverso il numero di Péclet locale Pe.Si ottiene dunque la seguente approssimazione di (5.16)

trovare◦uh∈ Vh : ah(

◦uh, vh) = F (vh) ∀vh ∈ Vh, (5.42)

essendoah(

◦uh, vh) = a(

◦uh, vh) + bh(

◦uh, vh). (5.43)

Il termine aggiuntivo di stabilizzazione è dato da

bh(◦uh, vh) = μφ(Pe)

1∫0

◦u′h v′h dx. (5.44)

Page 173: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.8 Metodi di stabilizzazione 159

Essendo

ah(◦uh,

◦uh) ≥ μh|

◦uh |2H1(Ω)

e μh ≥ μ, possiamo affermare che il problema (5.43) è “più coercivo” (ovvero hauna costante di coercività più grande) del problema discreto ottenuto con il metodo diGalerkin standard, che ritroviamo prendendo ah = a in (5.42).

Il seguente risultato fornisce una stima a priori dell’errore commesso approssi-

mando la soluzione del problema (5.16) con◦uh.

Teorema 5.1 Nell’ipotesi che u ∈ Hr+1(Ω), l’errore fra la soluzione del pro-blema (5.16) e quella del problema approssimato (5.42) si può maggiorare comesegue

‖ ◦u − ◦uh ‖H1(Ω) ≤

Chr

μ(1 + φ(Pe))‖ ◦u ‖Hr+1(Ω) +

φ(Pe)

1 + φ(Pe)‖ ◦u ‖H1(Ω),

(5.45)

essendo C un’opportuna costante positiva indipendente da h e da μ.

Dimostrazione. Ci possiamo avvalere del Lemma di Strang, già illustrato nella Sez.4.4.1, grazie al quale otteniamo

‖ ◦u − ◦uh ‖H1(Ω) ≤ inf

wh∈Vh

{(1 +

M

μh

)‖ ◦u −wh‖H1(Ω)

+1

μhsup

vh∈Vh,vh �=0

|a(wh, vh)− ah(wh, vh)|‖vh‖H1(Ω)

}.

(5.46)

Scegliamo wh = P rh◦u; quest’ultima è la proiezione ortogonale di

◦u su Vh rispetto al

prodotto scalare

1∫0

u′v′ dx di H10(Ω), ovvero

P rh◦u∈ Vh :

1∫0

(P rh◦u − ◦

u)′v′hdx = 0 ∀vh ∈ Vh.

Si può dimostrare che (si veda [QV94, Cap. 3])

‖(P rh◦u)′‖L2(Ω) ≤ ‖(

◦u)′‖L2(Ω) e ‖P rh

◦u − ◦

u ‖H1(Ω) ≤ Chr‖ ◦u ‖Hr+1(Ω),

essendo C una costante indipendente da h. Possiamo così maggiorare il primo adden-

do del termine di destra nella (5.46) con la quantità (C/μh)hr‖ ◦u ‖Hr+1(Ω).

Page 174: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

160 5 Equazioni di diffusione-trasporto-reazione

Ora, grazie alla (5.43), otteniamo

1

μh

|a(wh, vh)− ah(wh, vh)|‖vh‖H1(Ω)

≤ μ

μhφ(Pe)

1

‖vh‖H1(Ω)

∣∣∣ 1∫0

w′hv′h dx∣∣∣.

Usando la disuguaglianza di Cauchy-Schwarz, ed osservando che

‖v′h‖L2(Ω) ≤ ‖vh‖H1(Ω) e che ‖(P rh◦u)′‖L2(Ω) ≤ ‖P rh

◦u ‖H1(Ω) ≤ ‖

◦u ‖H1(Ω),

otteniamo

1

μhsup

vh∈Vh,vh �=0

∣∣∣a(P rh ◦u, vh) − ah(Prh

◦u, vh)

∣∣∣‖vh‖H1(Ω)

≤ φ(Pe)

1 + φ(Pe)‖ ◦u ‖H1(Ω).

La disuguaglianza (5.45) è pertanto dimostrata. �

Corollario 5.1 Per μ fissato e h tendente a 0, si ha

‖ ◦u − ◦uh ‖H1(Ω) ≤ C1

[hr‖ ◦u ‖Hr+1(Ω) + φ(Pe)‖ ◦u ‖H1(Ω)

], (5.47)

dove C1 è una costante positiva, indipendente da h, mentre, per h fissato e μ chetende a 0, si ha

‖ ◦u − ◦uh ‖H1(Ω) ≤ C2

[hr−1‖ ◦u ‖Hr+1(Ω) + ‖

◦u ‖H1(Ω)

], (5.48)

dove C2 è una costante positiva indipendente da h e da μ.

Dimostrazione. La (5.47) si ottiene dalla (5.45) ricordando che φ(Pe) → 0 per μfissato e h → 0. Per ottenere la (5.48) basta ora osservare che, nel caso dell’upwind,φU(Pe) = Pe, pertanto

μ(1 + φ(Pe)) = μ +b

2h e

φ(Pe)

1 + φ(Pe)=

h

h + 2μ/b

e che, nel caso dello schema di Scharfetter-Gummel, φSG(Pe) � φU(Pe) per h fissatoe μ tendente a 0. �

In particolare, per μ fissato, il metodo stabilizzato genera un errore lineare rispet-to ad h (indipendentemente dal grado r) se si usa la viscosità upwind, mentre conviscosità artificiale di tipo Scharfetter e Gummel la convergenza diviene quadraticase r ≥ 2. Questo risultato segue dalla stima (5.47) ricordando che φU(Pe) = O(h)mentre φSG(Pe) = O(h2) per μ fissato e h→ 0.

Page 175: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.8 Metodi di stabilizzazione 161

-1

-0.5

0

0.5

1

-3 -2 -1 0 1 2 3

x0 xi−1 xi xi+1 xN. . . . . .

Bi

x0 xi−1 xi xi+1 xN. . . . . .

ψi

ϕi

Figura 5.8. Esempio di funzione bolla Bi e di una funzione di base ψi dello spazioWh

5.8.2 Il metodo di Petrov-Galerkin

Un modo equivalente di scrivere il problema di Galerkin generalizzato (5.42) conviscosità numerica è di riformularlo come metodo di Petrov-Galerkin, ovvero un me-todo in cui lo spazio delle funzioni test è diverso da quello in cui si cerca la soluzione.Precisamente, l’approssimazione assume la forma seguente

trovare◦uh∈ Vh : a(

◦uh, vh) = F (vh) ∀vh ∈Wh, (5.49)

dove Wh �= Vh, mentre la forma bilineare a(·, ·) è la stessa del problema di partenza.Si può verificare che, nel caso di elementi finiti lineari, ovvero per r = 1, il problema(5.42)-(5.44) si può riscrivere nella forma (5.49) in cui Wh è lo spazio generato dallefunzioni ψi(x) = ϕi(x) + Bi

α (si veda la Fig. 5.8, a destra), dove le Bαi = αBi(x)sono le cosiddette funzioni a bolla, con

Bi(x) =

⎧⎪⎪⎪⎨⎪⎪⎪⎩g(1− x−xi−1

h

), xi−1 ≤ x ≤ xi,

−g(x−xih

), xi ≤ x ≤ xi+1,

0 altrimenti,

e g(ξ) = 3ξ(1 − ξ), con 0 ≤ ξ ≤ 1 (si veda la Fig. 5.8, a sinistra) [ZT00]. Nelcaso delle differenze finite upwind si ha α = 1, mentre nel caso dello schema diScharfetter e Gummel si ha α = coth(Pe) − 1/Pe. Si noti che le funzioni test sidissimmetrizzano (rispetto alle usuali funzioni di base lineari a tratti) sotto l’azionedel campo convettivo.

5.8.3 Il metodo della diffusione artificiale e della streamline-diffusion nel casobidimensionale

Il metodo della viscosità artificiale upwind si può generalizzare al caso in cui si con-sideri un problema bidimensionale del tipo (5.1). In tal caso basterà aggiungere alla

Page 176: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

162 5 Equazioni di diffusione-trasporto-reazione

forma bilineare (5.3) un termine di tipo

Qh

∫Ω

∇uh · ∇vh dΩ per un opportuno Q > 0, (5.50)

corrispondente ad aggiungere il termine di diffusione artificiale−QhΔu al problemadi partenza (5.1). Il metodo corrispondente si chiama metodo della diffusione arti-ficiale upwind. In tal modo si introduce una diffusione addizionale, non solo nelladirezione del campo b, come è giusto che sia se l’obiettivo è quello di stabilizzare leoscillazioni generate dal metodo di Galerkin, ma anche in quella ad esso ortogonale ilche, invece, non è affatto necessario. Se, ad esempio, considerassimo il problema

−μΔu+∂u

∂x= f in Ω, u = 0 su ∂Ω,

in cui il campo di trasporto è dato dal vettore b = [1, 0]T , il termine di diffusioneartificiale che vorremmo aggiungere sarebbe

−Qh∂2u

∂x2e non −QhΔu = −Qh

(∂2u

∂x2+

∂2u

∂y2

).

Più in generale, si può aggiungere il seguente termine di stabilizzazione

−Qhdiv [(b · ∇u)b] = −Qhdiv

(∂u

∂bb

), con Q = |b|−1.

Nel problema di Galerkin esso dà luogo al seguente termine

bh(uh, vh) = Qh(b · ∇uh,b · ∇vh) = Qh

(∂uh

∂b,∂vh

∂b

). (5.51)

Il problema discreto che si ottiene, detto streamline-diffusion, diventa

trovare uh ∈ Vh : ah(uh, vh) = (f, vh) ∀vh ∈ Vh,

dove

ah(uh, vh) = a(uh, vh) + bh(uh, vh).

In sostanza, stiamo aggiungendo un termine proporzionale alla derivata seconda nelladirezione del campo b (in inglese streamline). Si noti che, in questo caso, il coeffi-ciente di viscosità artificiale è un tensore. Infatti il termine di stabilizzazione bh(·, ·)può essere pensato come la forma bilineare associata all’operatore −div(μa∇u) con[μa]ij = Qhbibj , essendo bi la i-esima componente di b.

Nonostante il termine (5.51) sia meno diffusivo di (5.50), anche per il metododella streamline-diffusion si riscontra che l’accuratezza è solamente O(h). Metodidi stabilizzazione più accurati sono descritti nelle sezioni (5.8.6),(5.8.7) e (5.8.8). Perintrodurli abbiamo bisogno di alcune definizioni che anticiperemo nelle sezioni (5.8.4)e (5.8.5).

Page 177: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.8 Metodi di stabilizzazione 163

5.8.4 Consistenza ed errore di troncamento per i metodi di Galerkin e diGalerkin generalizzato

Per il problema di Galerkin generalizzato (5.41) si consideri la differenza tra il primoed il secondo membro quando si sostituisca la soluzione esatta u a quella approssimatauh, ovvero

τh(u; vh) = ah(u, vh) − Fh(vh). (5.52)

Esso è un funzionale della variabile vh.La sua norma

τh(u) = supvh∈Vh,vh �=0

|τh(u; vh)|‖vh‖V

(5.53)

definisce l’errore di troncamento associato al metodo (5.41).Coerentemente con le definizioni date nella Sez. 1.2, diremo che il metodo di Galerkingeneralizzato in esame è consistente se lim

h→0τh(u) = 0.

Diremo inoltre che è fortemente (o completamente) consistente se l’errore di tronca-mento (5.53) risulta nullo per ogni valore di h. Il metodo standard di Galerkin, adesempio, è fortemente consistente, come visto nel Cap. 3, in quanto, ∀vh ∈ Vh, si ha

τh(u; vh) = a(u, vh)− F (vh) = 0.

Il metodo di Galerkin generalizzato, invece, è in generale solo consistente, come di-scende dal Lemma di Strang, purché ah − a e Fh − F “tendano a zero” quando htende a zero.Per quanto riguarda i metodi di diffusione artificiale di tipo upwind e streamline-diffusion si ha

τh(u; vh) = ah(u, vh)− F (vh)

= ah(u, vh)− a(u, vh) =

{Qh(∇u,∇vh) (Upwind),

Qh( ∂u∂b

, ∂vh∂b) (Streamline-Diff.).

Pertanto sono metodi consistenti, ma non fortemente consistenti.

5.8.5 Parte simmetrica e antisimmetrica di un operatore

Sia V uno spazio di Hilbert e V ′ il suo duale. Diremo che un operatore L : V → V ′

è simmetrico (o autoaggiunto) se (si veda (3.106))

V ′〈Lu, v〉V = V 〈u, Lv〉V ′ ∀u, v ∈ V,

ovvero se L coincide con il suo operatore aggiunto/duale L∗. Avremo invece che L èantisimmetrico quando

V ′〈Lu, v〉V = − V 〈u, Lv〉V ′ ∀u, v ∈ V.

Page 178: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

164 5 Equazioni di diffusione-trasporto-reazione

Un operatore può sempre essere scomposto nella somma di una parte simmetrica LSe di una parte antisimmetrica LSS , ovvero

Lu = LSu+ LSSu.

Consideriamo, ad esempio, il seguente operatore di diffusione-trasporto-reazione

Lu = −μΔu+ div(bu) + σu, x ∈ Ω ⊂ Rd, d ≥ 2, (5.54)

operante sullo spazio V = H10 (Ω). Poiché

div(bu) = 12div(bu) +

12div(bu)

= 12div(bu) +

12udiv(b) +

12b · ∇u,

possiamo scomporlo nel modo seguente

Lu = −μΔu+

[σ +1

2div(b)

]u︸ ︷︷ ︸

LSu

+1

2[div(bu) + b · ∇u]︸ ︷︷ ︸

LSSu

.

Si noti che il coefficiente di reazione è diventato σ∗ = σ + 12div(b). Verifichiamo

che le due parti in cui è stato diviso l’operatore sono rispettivamente simmetrica eantisimmetrica. In effetti, integrando due volte per parti, ∀u, v ∈ V , si ottiene

V ′〈LSu, v〉V = μ(∇u,∇v) + (σ∗u, v)

= −μ V 〈u,Δv〉V ′ + (u, σ∗v)

= V 〈u, LSv〉V ′ ,

V ′〈LSSu, v〉V =1

2(div(bu), v) +

1

2(b · ∇u, v)

= −12(bu,∇v) +

1

2(∇u,bv)

= −12(u,b · ∇v)− 1

2(u, div(bv))

= − V 〈u, LSSv〉V ′ .

Osservazione 5.3 Ricordiamo che ogni matrice A si può scomporre nella somma

A = AS +ASS ,

dove

AS =1

2(A +AT )

è una matrice simmetrica, detta parte simmetrica di A e

ASS =1

2(A −AT )

è una matrice antisimmetrica, detta parte antisimmetrica di A. •

Page 179: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.8 Metodi di stabilizzazione 165

5.8.6 Metodi fortemente consistenti (GLS, SUPG)

Consideriamo un problema di diffusione-trasporto-reazione che scriviamo nella for-ma astratta Lu = f in Ω, con u = 0 su ∂Ω. Consideriamo la corrispondenteformulazione debole data da

trovare u ∈ V =H10(Ω) : a(u, v) = (f, v) ∀v ∈ V ,

essendo a(·, ·) la forma bilineare associata ad L. Un metodo stabilizzato e fortementeconsistente si può ottenere aggiungendo alla sua approssimazione di Galerkin (5.40)un ulteriore termine, ovvero considerando il problema

trovare uh ∈ Vh : a(uh, vh) + Lh(uh, f ; vh) = (f, vh) ∀vh ∈ Vh, (5.55)

per un’opportuna forma Lh soddisfacente

Lh(u, f ; vh) = 0 ∀vh ∈ Vh. (5.56)

Osserviamo che la forma Lh dipende sia dalla soluzione approssimata uh che daltermine forzante f . Una scelta possibile che verifichi la (5.56) è la seguente

Lh(uh, f ; vh) =L(ρ)h (uh, f ; vh) =∑K∈Th

δ(Luh − f,S(ρ)K (vh))L2(K),

dove si è usata la notazione (u, v)L2(K) =∫K

uv dK, ρ e δ sono parametri da

assegnare e si è posto

S(ρ)K (vh) =hK

|b| [LSSvh + ρLSvh],

essendo b il campo di moto, LS e LSS rispettivamente la parte simmetrica e an-tisimmetrica dell’operatore L considerato e hK il diametro del generico elementoK.Per verificare la consistenza di (5.55) poniamo

ah(uh, vh) = a(uh, vv) + L(ρ)h (uh, f ; vh).

Grazie alla definizione (5.52) otteniamo

τh(u; vh) = ah(u, vh)− (f, vh) = a(u, vh) + L(ρ)h (u, f ; vh)− (f, vh)= L(ρ)h (u, f ; vh) = 0.

L’ultima uguaglianza discende dal fatto che Lu−f = 0. Pertanto τh(u) = 0 e dunquela proprietà (5.56) assicura che il metodo (5.55) è fortemente consistente. Vediamo oraalcuni casi particolari associati a diverse possibili scelte del parametro ρ:

Page 180: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

166 5 Equazioni di diffusione-trasporto-reazione

– se ρ = 1 si ottiene il metodo detto Galerkin Least-Squares (GLS) nel quale

S(1)K (vh) =hK|b|Lvh.

Se prendiamo vh = uh si vede che, su ogni triangolo, è stato aggiunto un termine

proporzionale a∫K

(Luh)2 dK;

– se ρ = 0 si ottiene il metodo denominato Streamline Upwind Petrov-Galerkin(SUPG) in cui

S(0)K (vh) =hK

|b|LSSvh;

– se ρ = −1 si ottiene il metodo detto di Douglas-Wang (DW) nel quale:

S(−1)K (vh) =hK|b| (LSS − LS)vh.

Notiamo, tra l’altro, che nel caso in cui σ∗ = 0 e si usino elementi finiti P1, i tremetodi precedenti sono tutti coincidenti, in quanto −Δuh|K = 0 ∀K ∈ Th.

Limitiamoci ora ai due casi più classici, GLS (ρ = 1) e SUPG (ρ = 0). Definiamola “norma ρ”

‖v‖(ρ)= {μ‖∇v‖2L2(Ω) + ‖√γv‖2L2(Ω) +

∑K∈Th

δ((LSS + ρLS)v,S(ρ)K (v)

)L2(K)}

12 ,

dove γ è una costante positiva tale che −12divb + σ ≥ γ > 0. Vale la seguentedisuguaglianza (di stabilità):∃α∗, dipendente da γ e dalla costante α di coercività di a(·, ·), tale che

‖uh‖(ρ) ≤C

α∗‖f‖L2(Ω), (5.57)

essendo C una opportuna costante (per un esempio si veda la (5.69)). Vale inoltre laseguente stima dell’errore

‖u− uh‖(ρ) ≤ Chr+1/2|u|Hr+1(Ω), (5.58)

pertanto l’ordine di accuratezza del metodo cresce all’aumentare del grado r dei poli-nomi usati, come succede nel metodo standard di Galerkin. Le dimostrazioni di (5.57)e (5.58) verranno fornite nella Sez. 5.8.7.

Di fondamentale importanza pratica è poi la scelta del parametro di stabilizzazio-ne δ, che misura quanta viscosità artificiale si sta introducendo. A questo proposito siriportano in Tabella 5.1 gli intervalli dei valori ammissibili per tale parametro in fun-zione dello schema stabilizzato scelto. In tale tabella C0 è la costante della seguentedisuguaglianza inversa∑

K∈Thh2K

∫K

|Δvh|2dK ≤ C0‖∇vh‖2L2(Ω) ∀vh ∈ Xrh. (5.59)

Per un’analisi più approfondita di questi metodi e per le dimostrazioni dei casiqui menzionati rinviamo a [QV94], Cap. 8, ed a [RST96]. Segnaliamo anche [Fun97]relativamente al caso di un’approssimazione con elementi spettrali.

Page 181: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.8 Metodi di stabilizzazione 167

Tabella 5.1. Valori ammissibili per il parametro di stabilizzazione δ

SUPG 0 < δ < 1/C0GLS 0 < δDW 0 < δ < 1/(2C0)

5.8.7 Analisi del metodo GLS

In questa sezione vogliamo dimostrare le proprietà di stabilità (5.57) e convergenza(5.58) nel caso del metodo GLS (dunque per ρ = 1).

Supponiamo che l’operatore differenziale L abbia la forma (5.54), con μ > 0e σ ≥ 0 costanti, essendo assegnate condizioni al bordo di Dirichlet omogenee. Laforma bilineare a(·, ·) : V × V → R associata all’operatore L è dunque

a(u, v) = μ

∫Ω

∇u · ∇v dΩ +

∫Ω

div(bu) v dΩ +

∫Ω

σu v dΩ,

essendo V = H10(Ω). Per semplicità supponiamo nel seguito che esistano duecostanti γ0 e γ1 tali che

0 < γ0 ≤ γ(x) =1

2div(b(x)) + σ ≤ γ1 ∀ x ∈ Ω. (5.60)

Seguendo quanto fatto nella Sez. 5.8.5, possiamo scrivere la parte simmetrica eantisimmetrica associate a L, rispettivamente, come

LSu = −μΔu+ γu, LSSu =1

2

(div(bu) + b · ∇u

).

Riscriviamo inoltre la formulazione stabilizzata (5.55) scomponendo Lh(uh, f ; vh) indue termini, uno contenente uh, l’altro f

trovare uh ∈ Vh : a(1)h (uh, vh) = f

(1)h (vh) ∀vh ∈ Vh, (5.61)

essendo

a(1)h (uh, vh) = a(uh, vh) +

∑K∈Th

δ

(Luh,

hK|b|Lvh

)K

(5.62)

e

f(1)h (vh) = (f, vh) +

∑K∈Th

δ

(f,

hK

|b|Lvh

)K

. (5.63)

Osserviamo che, utilizzando queste nuove notazioni, la proprietà di consistenzaforte (5.56) si esprime attraverso l’uguaglianza

a(1)h (u, vh) = f

(1)h (vh) ∀vh ∈ Vh. (5.64)

Possiamo a questo punto dimostrare il seguente risultato preliminare.

Page 182: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

168 5 Equazioni di diffusione-trasporto-reazione

Lemma 5.1 Per ogni δ > 0, la forma bilineare a(1)h (·, ·) definita in (5.62)

soddisfa la seguente relazione

a(1)h (vh, vh) = μ||∇vh||2L2(Ω) + ||

√γ vh||2L2(Ω)

+∑K∈Th

δ

(hK

|b|Lvh, Lvh

)K

∀ vh ∈ Vh.(5.65)

Il risultato precedente segue dalla definizione (5.62) (scelto vh = uh) e dall’ipotesi(5.60). Nel caso in esame la norma ‖ · ‖(1), che qui indicheremo per convenienza conil simbolo ‖ · ‖GLS, diventa

‖vh‖2GLS = μ||∇vh||2L2(Ω) + ||√γ vh||2L2(Ω) +

∑K∈Th

δ

(hK

|b|Lvh, Lvh

)K

. (5.66)

Possiamo dimostrare il seguente risultato di stabilità.

Lemma 5.2 Sia uh la soluzione fornita dallo schema GLS. Allora esiste unacostante C > 0, indipendente da h, tale che

‖uh‖GLS ≤ C ‖f‖L2(Ω).

Dimostrazione. Scegliamo vh = uh in (5.61). Sfruttando il Lemma 5.1 e la definizio-ne (5.66), possiamo innanzitutto scrivere che

‖uh‖2GLS = a(1)h (uh, uh) = f

(1)h (uh) = (f, uh) +

∑K∈Th

δ

(f,

hK

|b|Luh

)K

. (5.67)

Nel seguito useremo spesso la seguente disuguaglianza di Young

∀a, b ∈ R, ab ≤ εa2 +1

4εb2 ∀ε > 0, (5.68)

la quale discende dalla disuguaglianza elementare(√ε a − 1

2√εb

)2≥ 0.

Maggioriamo separatamente i due termini di destra della (5.67), utilizzando opportu-namente le disuguaglianze di Cauchy-Schwarz e di Young. Otteniamo così

(f, uh) =

(1√γ

f,√γ uh

)≤∥∥∥ 1√

γf∥∥∥L2(Ω)

‖√γ uh‖L2(Ω)

≤ 14‖√γ uh‖2L2(Ω) +

∥∥∥ 1√γ

f∥∥∥2L2(Ω)

,

Page 183: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.8 Metodi di stabilizzazione 169

∑K∈Th

δ

(f,

hK

|b|Luh

)K

=∑K∈Th

(√δhK

|b| f,√

δhK

|b| Luh

)K

≤∑K∈Th

∥∥∥√δhK

|b| f∥∥∥L2(K)

∥∥∥√δhK

|b| Luh

∥∥∥L2(K)

≤∑K∈Th

δ

(hK

|b| f, f)K

+1

4

∑K∈Th

δ

(hK

|b|Luh, Luh

)K

.

Sommando le due precedenti maggiorazioni e sfruttando ancora la definizione (5.66),abbiamo

‖uh‖2GLS ≤∥∥∥ 1√

γf∥∥∥2L2(Ω)

+∑K∈Th

δ

(hK|b| f, f

)K

+1

4‖uh‖2GLS,

ovvero, ricordando che hK ≤ h,

‖uh‖2GLS ≤ 43

[∥∥∥ 1√γ

f∥∥∥2L2(Ω)

+∑K∈Th

δ

(hK|b| f, f

)K

]≤ C2 ‖f‖2L2(Ω) ,

avendo posto

C =(43maxx∈Ω

(1γ+ δ

h

|b|))1/2

. (5.69)

Osserviamo che il risultato precedente è valido con la sola restrizione che il parametrodi stabilizzazione δ sia positivo. Peraltro tale parametro potrebbe anche variare suogni elemento K. In tal caso avremmo δK invece di δ nelle (5.62) e (5.63), mentre lacostante δ in (5.69) avrebbe il significato di max

K∈ThδK .

Procediamo ora all’analisi di convergenza del metodo GLS.

Teorema 5.2 Supponiamo innanzitutto che lo spazio Vh soddisfi la seguente pro-prietà d’approssimazione locale: per ogni v ∈ V ∩Hr+1(Ω), esiste una funzionevh ∈ Vh tale che

‖v − vh‖L2(K) + hK |v − vh|H1(K) + h2K |v − vh|H2(K) ≤ Chr+1K |v|Hr+1(K)(5.70)

per ogni K ∈ Th. Supponiamo inoltre che per il numero di Péclet locale su Kvalga la seguente disuguaglianza

PeK(x) =|b(x)| hK2μ

> 1 ∀x ∈ K. (5.71)

Page 184: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

170 5 Equazioni di diffusione-trasporto-reazione

Infine supponiamo che valga la disuguaglianza inversa (5.59) e che il parame-tro di stabilizzazione soddisfi la relazione 0 < δ ≤ 2C−10 . Allora per l’erroreassociato allo schema GLS vale la seguente stima

‖uh − u‖GLS ≤ Chr+1/2|u|Hr+1(Ω), (5.72)

a patto che u ∈ Hr+1(Ω).

Dimostrazione. Innanzitutto riscriviamo l’errore

eh = uh − u = σh − η, (5.73)

con σh = uh− uh, η = u− uh, dove uh ∈ Vh è una funzione che dipende da u e chesoddisfa la proprietà (5.70). Se, ad esempio, Vh = Xrh ∩H10(Ω), possiamo scegliereuh = Πrhu, ovvero l’interpolata ad elementi finiti di u.

Incominciamo a stimare la norma ‖σh‖GLS. Sfruttando la consistenza forte delloschema GLS data dalla (5.64), grazie alla (5.61) otteniamo

||σh||2GLS = a(1)h (σh, σh) = a

(1)h (uh − u+ η, σh) = a

(1)h (η, σh).

Ora dalla definizione (5.62) segue che

a(1)h (η, σh) = μ

∫Ω

∇η · ∇σh dΩ −∫Ω

η b · ∇σh dΩ +

∫Ω

σ η σh dΩ

+∑K∈Th

δ(Lη,

hK

|b|Lσh

)K= μ(∇η,∇σh)︸ ︷︷ ︸

(I)

−∑K∈Th

(η, Lσh)K︸ ︷︷ ︸(II)

+2(γ η, σh)︸ ︷︷ ︸(III)

+∑K∈Th

(η,−μΔσh)K︸ ︷︷ ︸(IV)

+∑K∈Th

δ

(Lη,

hK|b|Lσh

)K︸ ︷︷ ︸

(V)

.

Maggioriamo ora separatamente i termini (I)-(V). Utilizzando opportunamente ledisuguaglianze di Cauchy-Schwarz e di Young, otteniamo

(I) = μ(∇η,∇σh) ≤μ

4||∇σh||2L2(Ω) + μ‖∇η‖2L2(Ω),

(II) = −∑K∈Th

(η, Lσh)K = −∑K∈Th

(√ |b|δ hK

η,

√δ hK|b| Lσh

)K

≤ 1

4

∑K∈Th

δ(hK|b|Lσh, Lσh

)K+∑K∈Th

( |b|δ hK

η, η)K,

(III) = 2(γ η, σh) = 2(√γ η,

√γ σh) ≤

1

2‖√γ σh‖2L2(Ω) + 2 ‖

√γ η‖2L2(Ω).

Page 185: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.8 Metodi di stabilizzazione 171

Per il termine (IV), grazie ancora alle disuguaglianze di Cauchy-Schwarz e di Younge in virtù dell’ipotesi (5.71) e della disuguaglianza inversa (5.59), otteniamo

(IV) =∑K∈Th

(η,−μΔσh)K

≤ 1

4

∑K∈Th

δ μ2(hK|b| Δσh, Δσh

)K+∑K∈Th

( |b|δ hK

η, η)K

≤ 1

8δ μ∑K∈Th

h2K (Δσh, Δσh)K +∑K∈Th

( |b|δ hK

η, η)K

≤ δ C0 μ

8‖∇σh‖2L2(Ω) +

∑K∈Th

( |b|δ hK

η, η)K.

Il termine (V) può infine essere maggiorato ancora grazie alle due disuguaglianze diCauchy-Schwarz e Young come segue

(V) =∑K∈Th

δ(Lη,

hK|b|Lσh

)K

≤ 1

4

∑K∈Th

δ(hK|b| Lσh, Lσh

)K+∑K∈Th

δ(hK|b| Lη, Lη

)K.

Grazie a queste maggiorazioni e sfruttando ancora la definizione (5.66) di norma GLS,otteniamo la seguente stima

‖σh‖2GLS = a(1)h (η, σh) ≤

1

4‖σh‖2GLS

+1

4

(‖√γ σh‖2L2(Ω) +

∑K∈Th

δ(hK|b| Lσh, Lσh

)K

)+

δ C0 μ

8‖∇σh‖2L2(Ω)

+ μ ‖∇η‖2L2(Ω) + 2∑K∈Th

( |b|δ hK

η, η)K+ 2 ‖√γ η‖2L2(Ω) +

∑K∈Th

δ(hK|b| Lη, Lη

)K︸ ︷︷ ︸

E(η)

≤ 12‖σh‖2GLS + E(η),

avendo sfruttato, nell’ultimo passaggio, l’ipotesi che δ ≤ 2C−10 . Possiamo quindi, peril momento, affermare che

‖σh‖2GLS ≤ 2 E(η).

Stimiamo ora il termine E(η), maggiorando separatamente ciascuno dei suoi addendi.A tal fine utilizzeremo essenzialmente la proprietà d’approssimazione locale (5.70) ela richiesta fatta in (5.71) sul numero di Péclet locale PeK . Osserviamo inoltre chele costanti C , introdotte nel seguito, non dipendono né da h né da PeK , ma possono

Page 186: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

172 5 Equazioni di diffusione-trasporto-reazione

dipendere da altre quantità, come la costante γ1 in (5.60), la costante di reazione σ, lanorma ||b||L∞(Ω), il parametro di stabilizzazione δ. Abbiamo quindi

μ ‖∇η‖2L2(Ω) ≤ C μh2r |u|2Hr+1(Ω)

≤ C||b||L∞(Ω) h

2h2r |u|2Hr+1(Ω) ≤ C h2r+1 |u|2Hr+1(Ω),

(5.74)

2∑K∈Th

( |b|δ hK

η, η)K

≤ C||b||L∞(Ω)

δ

∑K∈Th

1

hKh2(r+1)K |u|2Hr+1(K)

≤ C h2r+1 |u|2Hr+1(Ω),

2 ‖√γ η‖2L2(Ω) ≤ 2 γ1 ‖η‖2L2(Ω) ≤ C h2(r+1) |u|2Hr+1(Ω), (5.75)

avendo sfruttato, per il controllo del terzo addendo, l’ipotesi (5.60). La maggiorazionedel quarto addendo di E(η) risulta un po’ più laboriosa: esplicitando intanto il termineLη, abbiamo

∑K∈Th

δ(hK|b| Lη, Lη

)K=∑K∈Th

δ∥∥∥√hK

|b| Lη∥∥∥2L2(K)

=∑K∈Th

δ∥∥∥− μ

√hK

|b| Δη +

√hK

|b| div(bη) + σ

√hK

|b| η∥∥∥2L2(K)

≤ C∑K∈Th

δ( ∥∥∥μ√hK

|b| Δη∥∥∥2L2(K)

+∥∥∥√hK

|b| div(bη)∥∥∥2L2(K)

+∥∥∥σ√hK

|b| η∥∥∥2L2(K)

).

(5.76)Ora, con conti analoghi a quelli seguiti per ottenere le stime (5.74) e (5.75), è faciledimostrare che il secondo e il terzo addendo del termine di destra della (5.76) sonomaggiorabili con un termine della forma C h2r+1 |u|2Hr+1(Ω), per un’opportuna sceltadella costante C . Per il primo addendo invece si ha

∑K∈Th

δ∥∥∥μ√hK

|b| Δη∥∥∥2L2(K)

≤∑K∈Th

δh2K μ

2‖Δη‖2L2(K)

≤ C δ ||b||L∞(Ω)∑K∈Th

h3K ‖Δη‖2L2(K) ≤ C h2r+1 |u|2Hr+1(Ω),

avendo ancora sfruttato le condizioni (5.70) e (5.71). Quest’ultima maggiorazione cipermette di concludere che

E(η) ≤ C h2r+1 |u|2Hr+1(Ω),

ovvero che‖σh‖GLS ≤ C hr+1/2 |u|Hr+1(Ω). (5.77)

Page 187: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.8 Metodi di stabilizzazione 173

Ritornando alla (5.73), per ottenere la stima desiderata per la norma ‖uh−u‖GLS, do-vremmo ancora stimare ‖η‖GLS . Questo porta nuovamente alla stima di tre contributicome in (5.74), (5.75) e (5.76), rispettivamente, ovvero alla stima

‖η‖GLS ≤ C hr+1/2 |u|Hr+1(Ω).

Combinando questo risultato con la (5.77), ne segue la stima desiderata (5.72). �

5.8.8 Stabilizzazione tramite funzioni a bolla

Al fine di ottenere una soluzione numerica stabile in alternativa all’arricchimento dellaforma bilineare a(·, ·) proposto dal metodo di Galerkin generalizzato e illustrato nelleprecedenti sezioni, si può anche utilizzare un sottospazio più ricco dello spazio Vhstandard. L’idea poi è quella di scegliere sia la soluzione approssimata che la funzionetest nello spazio arricchito, ovvero di rimanere nell’ambito di un metodo classico allaGalerkin.Facendo riferimento al consueto problema di diffusione-trasporto-reazione della for-ma 5.1, introduciamo lo spazio finito dimensionale

V bh = Vh ⊕ B,

dove Vh = Xrh ∩ H10(Ω) è il solito spazio e B è uno spazio finito dimensionale difunzioni a bolla, ovvero

B = {vB ∈ H10(Ω) : vB |K = cK bK, bK |∂K = 0, e cK ∈ R}.

Su ogni elemento K viene quindi aggiunto il termine correttivo bK per il quale so-no possibili scelte differenti. Volendo lavorare solamente sulla griglia Th di partenzaassociata allo spazio Vh, una scelta standard porta a definire bK = λ1 λ2 λ3 dove leλi, per i = 1, . . . , 3, sono le coordinate baricentriche, ovvero polinomi lineari, definitisu K, ciascuno dei quali si annulla su uno dei lati del triangolo e assume il valore 1in corrispondenza del vertice opposto a tale lato. La funzione bK coincide in questocaso con la cosiddetta bolla cubica che vale 0 sul bordo di K e assume valori positivial suo interno (si veda la Fig. 5.10 (a sinistra)). La costante c risulta essere così ilsolo grado di libertà associato al triangolo K (coinciderà, ad esempio, con il massimovalore assunto da bK su K o con il valore da essa assunto nel baricentro). Esse si pos-sono ottenere per trasformazione delle coordinate baricentriche definite sul triangolodi riferimento K , λi = FK(λi) (si veda la Fig. 5.9).

Osservazione 5.4 Allo scopo di introdurre sul dominio Ω una sottogriglia di calcolo(ottenuta come raffinamento opportuno della mesh Th), si possono adottare definizionipiù complesse per la funzione bolla bK. Ad esempio, bK potrebbe essere una funzionelineare a pezzi definita sempre sull’elemento K e che assume ancora valore 0 sulbordo del triangolo (come la funzione di base degli elementi finiti lineari, associata adun qualche punto interno a K) (si veda la Fig. 5.10 (a destra)) [EG04]. •

Page 188: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

174 5 Equazioni di diffusione-trasporto-reazione

1 2

3

x

y

K

λ1 = x,

λ2 = 1− (x+ y),λ3 = y

Figura 5.9. Coordinate baricentriche sul triangolo di riferimento

Possiamo a questo punto introdurre l’approssimazione di Galerkin sullo spazio V bhdel problema in esame, che assumerà la forma

trovare ubh ∈ V bh : a(uh + ub, vbh) = (f, v

bh) ∀vbh ∈ V bh , (5.78)

essendo a(·, ·) la forma bilineare associata all’operatore differenziale L.Ci proponiamo di riscrivere la (5.78) come uno schema di Galerkin stabilizzato in Vh,eliminando la funzione ub. Per il momento possiamo solo dire che, in ogni elementoK, ub

∣∣K= cb,KbK, per una opportuna costante (incognita) cb,K , essendo ub ∈ B.

Scomponiamo sia ubh sia vbh come somma di una funzione di Vh e di una di B, ovvero

ubh = uh + ub, vbh = vh + vb.

Scegliamo dapprima come funzione test vbh in (5.78) quella identificata da vh = 0 evb ∈ B tale che

vb =

{bK in K,

0 altrove.

Abbiamo quindia(uh + ub, vb) = aK(uh + cb,KbK , bK),

Figura 5.10. Un esempio di bolla cubica (a sinistra) e lineare (a destra)

Page 189: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.8 Metodi di stabilizzazione 175

avendo indicato con aK(·, ·) la restrizione della forma bilineare a(·, ·) all’elementoK. La (5.78) può dunque essere riscritta come

aK(uh, bK) + cb,KaK(bK , bK) = (f, bK)K . (5.79)

Sfruttando il fatto che bK si annulla sul bordo di K, possiamo integrare per parti ilprimo termine della (5.79), ottenendo aK(uh, bK) = (Luh, bK)K , ovvero ricavare ilvalore incognito della costante cb,K ,

cb,K =(f − Luh, bK)K

aK(bK , bK).

Scegliamo ora come funzione test vbh in (5.78) quella identificata da una arbitrariafunzione vh ∈ Vh e da vb = 0, ottenendo così

a(uh, vh) +∑K∈Th

cb,KaK(bK , vh) = (f, vh). (5.80)

Riscriviamo opportunamente il termine aK(bK , vh). Integrando per parti e sfruttandole definizioni di parte simmetrica e antisimmetrica dell’operatore differenziale L (siveda la Sez. 5.8.5), abbiamo

aK(bK , vh) =

∫K

μ∇bK · ∇vh dK +

∫K

b · ∇bK vh dK +

∫K

σ bKvh dK

= −∫K

μ bKΔvh dK +

∫∂K

μ bK∇vh · n dγ −∫K

bK ∇vh · b dK

+

∫∂K

b · n vh bK dγ +

∫K

σ bKvh dK = (bK , (LS − LSS)vh)K .

Abbiamo sfruttato la proprietà che la funzione a bolla bK si annulla sul bordo dell’ele-mento K ed inoltre che div(b) = 0. In maniera del tutto analoga possiamo riscrivereil denominatore della costante cb,K nel modo seguente

aK(bK , bK) = (LSbK , bK)K .

Tornando alla (5.80), abbiamo dunque

a(uh, vh) + aB(uh, f ; vh) = (f, vh) ∀ vh ∈ Vh,

dove

aB(uh, f ; vh) =∑K∈Th

(Luh − f, bK)K (LSSvh − LSvh, bK)K(LSbK, bK)K

.

Abbiamo pertanto trovato uno schema di Galerkin stabilizzato, che si può porre nellaforma fortemente consistente (5.55). Nel caso in cui b sia costante, possiamo identifi-carlo con una sorta di metodo di Douglas-Wang generalizzato.Scegliendo opportunamente la bolla bK e seguendo una procedura analoga a quellasopra descritta è possibile definire anche dei metodi SUPG e GLS generalizzati (siveda [BFHR97]).

Page 190: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

176 5 Equazioni di diffusione-trasporto-reazione

5.9 Alcuni test numerici

Mostriamo ora delle soluzioni numeriche ottenute con il metodo degli elementi finitiper il seguente problema di diffusione-trasporto bidimensionale{

−μΔu+ b · ∇u = 1 in Ω = (0, 1)× (0, 1),u = 0 su ∂Ω,

(5.81)

dove b = (1, 1)T . Osserviamo che la soluzione è caratterizzata da uno strato limite incorrispondenza dei lati x = 1 e y = 1. Sono stati considerati due diversi valori per laviscosità: μ = 10−3 e μ = 10−5. Confrontiamo le soluzioni ottenute rispettivamentecon il metodo standard di Galerkin e con il metodo GLS per entrambi i problemi,facendo due scelte differenti per il passo uniforme di discretizzazione h: 1/20 e 1/80,rispettivamente. Le combinazioni incrociate dei 2 valori di μ ed h danno luogo a 4valori distinti per il numero di Péclet locale Pe. Come si può osservare percorrendo leFig. 5.11–5.14 (si faccia attenzione alle diverse scale verticali), per numeri di Pécletcrescenti la soluzione fornita dal metodo di Galerkin standard manifesta oscillazionisempre più marcate che arrivano a dominare completamente la soluzione numerica (siveda la Fig. 5.14). Il metodo GLS è invece in grado di fornire una soluzione numericaaccettabile anche per valori estremamente elevati di Pe (pur in presenza di un over-shoot in corrispondenza del punto (1, 1)).

5.10 Un esempio di adattività goal-oriented

Come anticipato nell’Osservazione 3.9, l’analisi a posteriori della Sez. 3.5.5 per il con-trollo di un opportuno funzionale dell’errore può essere estesa a problemi differenzialidi varia natura previa un’opportuna ridefinizione del residuo locale (3.85) e del salto

Figura 5.11. Approssimazione del problema (5.81) per μ = 10−3, h = 1/80, con il metododi Galerkin standard (a sinistra) e GLS (a destra). Il numero di Péclet locale corrispondente èPe = 8.84

Page 191: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.10 Un esempio di adattività goal-oriented 177

Figura 5.12. Approssimazione del problema (5.81) per μ = 10−3, h = 1/20, con il metododi Galerkin standard (a sinistra) e GLS (a destra). Il numero di Péclet locale corrispondente èPe = 35.35

Figura 5.13. Approssimazione del problema (5.81) per μ = 10−5, h = 1/80, con il metododi Galerkin standard (a sinistra) e GLS (a destra). Il numero di Péclet locale corrispondente èPe = 883.88

generalizzato (3.81). L’adattazione di griglia risulta infatti particolarmente utile in pre-senza di problemi di diffusione-trasporto a trasporto dominante, quando un’accuratadisposizione dei triangoli della mesh in corrispondenza, ad esempio, degli eventualistrati limite (interni o di bordo) può ridurre sensibilmente il costo computazionale.Consideriamo il problema (5.1) con μ = 10−3, b = (y,−x)T , σ ed f identicamentenulli, e Ω coincidente con il dominio a forma di L dato da (0, 4)2\(0, 2)2 (riportato inFig. 5.15). Supponiamo di assegnare una condizione di Neumann omogenea sui lati{x = 4} e {y = 0}, una condizione di Dirichlet non omogenea (u = 1) su {x = 0} euna condizione di Dirichlet omogenea sulle restanti parti del bordo. La soluzione u di(5.1) risulta così caratterizzata da due strati limite interni di forma circolare. Al fine divalidare la sensibilità della griglia adattata rispetto alla scelta fatta per il funzionale J ,

Page 192: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

178 5 Equazioni di diffusione-trasporto-reazione

Figura 5.14. Approssimazione del problema (5.81) per μ = 10−5, h = 1/20, con il metododi Galerkin standard (a sinistra) e GLS (a destra). Il numero di Péclet locale corrispondente èPe = 3535.5

consideriamo le due seguenti scelte:

J(v) = J1(v) =

∫Γ1

b · n v ds, con Γ1 = {x = 4} ∪ {y = 0},

per il controllo del flusso normale uscente attraverso i lati {x = 4} e {y = 0}, e

J(v) = J2(v) =

∫Γ2

b · n v ds, con Γ2 = {x = 4},

nel caso in cui si sia interessati a controllare ancora il flusso ma attraverso il sololato {x = 4}. Partendo da una comune griglia iniziale quasi uniforme di 1024 ele-menti, mostriamo in Fig. 5.15 le griglie (anisotrope) ottenute per la scelta J = J1(a sinistra) e J = J2 (a destra), rispettivamente alla quarta e alla seconda iterazionedel procedimento adattivo. Come si può osservare, mentre entrambi gli strati limitesono responsabili del flusso attraverso Γ1, con conseguente infittimento della grigliain corrispondenza dei due strati limite, il solo strato limite superiore è “riconosciuto”come portatore di informazioni al flusso lungo Γ2. Si noti infine la natura fortementeanisotropa delle mesh in figura, ovvero non solo l’infittimento bensì anche la correttaorientazione dei triangoli della griglia in modo da seguire le caratteristiche direzionali(gli strati limite) della soluzione (per ulteriori dettagli si rimanda a [FMP04]).

Page 193: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.11 Esercizi 179

Figura 5.15. Quarta griglia adattata per il funzionale J1 (a sinistra); seconda griglia adattataper il funzionale J2 (a destra)

5.11 Esercizi

1. Si scomponga nelle sue parti simmetrica e non simmetrica l’operatore di diffusione-trasporto-reazione monodimensionale

Lu = −μu′′ + bu′ + σu.

2. Si scomponga nelle sue parti simmetrica e antisimmetrica l’operatore di diffusione-trasporto scritto in forma non di divergenza

Lu = −μΔu+ b · ∇u.

3. Si dimostri che gli elementi finiti lineari, quadratici e cubici monodimensionaliconducono, sull’intervallo di riferimento [0, 1], alle seguenti matrici condensate,ottenute tramite la tecnica del mass-lumping:

r = 1 ML = M =1

2diag(1 1),

r = 2 ML = M =1

6diag(1 4 1),

r = 3

⎧⎪⎨⎪⎩ML =

1

8diag(1 3 3 1),

M =1

1552diag(128 648 648 128)= diag

( 897

,81

194,81

194,8

97

).

4. Si consideri il problema{−εu′′(x) + bu′(x) = 1, 0 < x < 1,u(0) = α, u(1) = β,

Page 194: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

180 5 Equazioni di diffusione-trasporto-reazione

dove ε > 0 e α, β, b ∈ R sono dati. Si trovi la sua formulazione ad elementifiniti con viscosità artificiale upwind. Si discutano le proprietà di stabilità e diconvergenza e le si confrontino con quella della formulazione Galerkin-elementifiniti lineari.

5. Si consideri il problema{−εu′′(x) + u′(x) = 1, 0 < x < 1,u(0) = 0, u′(1) = 1,

con ε > 0 dato. Se ne scriva la formulazione debole e la sua approssimazione ditipo Galerkin con elementi finiti. Si verifichi che lo schema è stabile e si giustifichitale risultato.

6. Si consideri il problema⎧⎪⎪⎪⎨⎪⎪⎪⎩−div(μ∇u) + div(βu) + σu = f in Ω,

−γ · n+ μ∇u · n = 0 su ΓN ,

u = 0 su ΓD,

dove Ω è un aperto diR2 di frontiera Γ = ΓD∪ΓN , ΓD∩ΓN = ∅, n è la normaleuscente a Γ , μ = μ(x) > μ0 > 0, σ = σ(x) > 0, f = f(x) sono funzioni date,β = β(x), γ = γ(x) sono funzioni vettoriali assegnate.Lo si approssimi con il metodo di Galerkin-elementi finiti lineari. Si dica sottoquali ipotesi sui coefficienti μ, σ e β il metodo risulta inaccurato e si proponganonei vari casi gli opportuni rimedi.

7. Si consideri il problema di diffusione-trasporto monodimensionale{ −(μu′ − ψ′u)′ = 1, 0 < x < 1,

u(0) = u(1) = 0,(5.82)

dove μ è una costante positiva e ψ una funzione assegnata.a) Si studino esistenza ed unicità della soluzione debole del problema (5.82)

introducendo opportune ipotesi sulla funzione ψ e se ne proponga un’appros-simazione numerica stabile agli elementi finiti.

b) Si consideri il cambio di variabile u = ρeψ/μ, essendo ρ una funzione in-cognita ausiliaria. Si studino esistenza ed unicità della soluzione debole delproblema (5.82) nella nuova incognita ρ e se ne fornisca l’approssimazionenumerica con il metodo degli elementi finiti.

c) Si confrontino i due approcci seguiti in (a) e (b), sia dal punto di vista astrattoche da quello numerico.

8. Si consideri il problema di diffusione-trasporto-reazione⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩−Δu+ div(bu) + u = 0 in Ω ⊂ R2,

u = ϕ su ΓD,

∂u

∂n= 0 su ΓN ,

Page 195: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

5.11 Esercizi 181

dove Ω è un aperto limitato, ∂Ω = ΓD ∪ ΓN , ΓD �= ∅.Si provino esistenza ed unicità della soluzione facendo opportune ipotesi diregolarità sui dati b = (b1(x), b2(x))T (x ∈ Ω) e ϕ = ϕ(x) (x ∈ ΓD).Nel caso in cui |b| � 1, si approssimi lo stesso problema con il metododi diffusione artificiale-elementi finiti e con il metodo SUPG-elementi finiti,discutendone vantaggi e svantaggi rispetto al metodo di Galerkin-elementi finiti.

9. Si consideri il problema⎧⎪⎪⎪⎨⎪⎪⎪⎩−

2∑i,j=1

∂2u

∂xi∂xj+ β

∂2u

∂x21+ γ

∂2u

∂x1∂x2+ δ

∂2u

∂x22+ η

∂u

∂x1= f in Ω,

u = 0 su ∂Ω,

dove β, γ, δ, η sono coefficienti assegnati e f è una funzione assegnata di x =(x1, x2) ∈ Ω.

a) Si trovino le condizioni sui dati che assicurano l’esistenza e l’unicità di unasoluzione debole.

b) Si indichi un’approssimazione con il metodo di Galerkin-elementi finiti e sene analizzi la convergenza.

c) Sotto quali condizioni sui dati il problema di Galerkin è simmetrico?In questo caso, si indichino metodi opportuni per la risoluzione del problemaalgebrico associato.

Page 196: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

6

Equazioni paraboliche

In questo capitolo consideriamo equazioni della forma

∂u

∂t+ Lu = f, x ∈ Ω, t > 0, (6.1)

dove Ω è un dominio di Rd, d = 1, 2, 3, f = f(x, t) è una funzione assegnata, L =L(x) è un generico operatore ellittico agente sull’incognita u = u(x, t); sotto questeipotesi la (6.1) è un’equazione parabolica. In molti casi si è interessati a risolverlasolo per un intervallo temporale finito, diciamo per 0 < t < T . In tal caso la regioneQT = Ω× (0, T ) è detta cilindro nello spazio Rd×R+ (si veda la Fig. 6.1). Nel casoin cui T = +∞, Q = {(x, t) : x ∈ Ω, t > 0} sarà un cilindro infinito.L’equazione (6.1) va completata assegnando una condizione iniziale

u(x, 0) = u0(x), x ∈ Ω, (6.2)

t

x1

x2T

Ω∂Ω

Figura 6.1. Il cilindro QT = Ω × (0, T ), Ω ⊂ R2

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 197: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

184 6 Equazioni paraboliche

unitamente a condizioni al contorno, che possono assumere la forma seguente

u(x, t) = ϕ(x, t), x ∈ ΓD e t > 0,

∂u(x, t)

∂n= ψ(x, t), x ∈ ΓN e t > 0,

(6.3)

dove u0, ϕ e ψ sono funzioni assegnate e ΓD ∪ΓN = ∂Ω,◦ΓD ∩

◦ΓN = ∅. Con ovvio

significato ΓD è detta frontiera di Dirichlet e ΓN frontiera di Neumann.Nel caso monodimensionale, il problema:

∂u

∂t− ν

∂2u

∂x2= f, 0 < x < d, t > 0,

u(x, 0) = u0(x), 0 < x < d,

u(0, t) = u(d, t) = 0, t > 0,

(6.4)

descrive ad esempio l’evoluzione della temperatura u(x, t) nel puntox ed al tempo t diuna barra metallica di lunghezza d che occupa l’intervallo [0, d], la cui conducibilitàtermica è ν e i cui estremi sono tenuti ad una temperatura costante di zero gradi.La funzione u0 descrive la temperatura iniziale, mentre f rappresenta la produzionecalorica (per unità di lunghezza) fornita alla barra. Per tale ragione la (6.4) è chiamataequazione del calore. Per un caso particolare, si veda l’Esempio 1.5 del Cap. 1.

6.1 Formulazione debole e sua approssimazione

Per risolvere numericamente il problema (6.1)-(6.3) ripartiremo da quanto fatto per latrattazione dei problemi ellittici.Procediamo in modo formale, moltiplicando l’equazione differenziale per ogni t > 0per una funzione test v = v(x) ed integrando su Ω. Poniamo V = H1ΓD (Ω) e per ognit > 0 cerchiamo u(t) ∈ V t.c.∫

Ω

∂u(t)

∂tv dΩ + a(u(t), v) = F (v) ∀v ∈ V, (6.5)

con u(0) = u0, dove a(·, ·) e F (·) sono la forma bilineare e il funzionale associatirispettivamente all’operatore ellittico L e al termine noto f , e dove si è supposto persemplicità ϕ = 0 e ψ = 0. La modifica di (6.5) nel caso in cui ϕ �= 0 e ψ �= 0 èlasciata al lettore.Una condizione sufficiente per l’esistenza e unicità della soluzione per il problema(6.5) è che valgano le seguenti ipotesi:la forma bilineare a(·, ·) è continua e debolmente coerciva, ovvero

∃λ≥0, ∃α > 0 : a(v, v) + λ‖v‖2L2(Ω) ≥ α‖v‖2V ∀v ∈ V ,

Page 198: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

6.1 Formulazione debole e sua approssimazione 185

ritrovando per λ = 0 la definizione standard di coercività; inoltre, chiediamo u0 ∈L2(Ω) e f ∈ L2(Q). Allora il problema (6.5) ammette un’unica soluzione u ∈L2(R+; V ) ∩ C0(R+; L2(Ω)), e ∂u/∂t ∈ L2(R+; V ′), essendo V ′ il duale di V(ricordiamo che V ′ = H−1(Ω) se V = H10(Ω)).Per ogni spazio di Hilbert W con norma ‖ · ‖W abbiamo definito

L2(R+;W ) = {v : R+ →W : t→ v(t) è misurabile e

+∞∫0

‖v(t)‖2W < +∞},

mentre

C0(R+;W ) = {v : R+ →W : t→ v(t) è continua e ∀t ≥ 0 ‖v(t)‖W < +∞}.Valgono inoltre delle stime a priori della soluzione u, che verranno fornite nellaprossima sezione.

Consideriamo ora l’approssimazione di Galerkin del problema (6.5):per ogni t > 0, trovare uh(t) ∈ Vh t.c.∫

Ω

∂uh(t)

∂tvh dΩ + a(uh(t), vh) = F (vh) ∀vh ∈ Vh (6.6)

con uh(0) = u0h, dove Vh ⊂ V è un opportuno spazio a dimensione finita e u0h èuna conveniente approssimazione di u0 nello spazio Vh. Tale problema è detto semi-discretizzazione di (6.5), in quanto rappresenta una discretizzazione nelle sole variabilispaziali.Per fornire un’interpretazione algebrica di (6.6) introduciamo una base {ϕj} per Vh(come fatto nei capitoli precedenti), e osserviamo che basta che la (6.6) sia verificataper le funzioni della base affinché risulti soddisfatta da tutte le funzioni del sottospazio.Inoltre, poiché per ogni t > 0 anche la soluzione del problema di Galerkin appartieneal sottospazio, avremo

uh(x, t) =

Nh∑j=1

uj(t)ϕj(x),

dove i coefficienti {uj(t)} rappresentano le incognite del problema (6.6).

Indicando con.uj(t) la derivata della funzione uj(t) rispetto al tempo, la (6.6)

diviene∫Ω

Nh∑j=1

.uj(t)ϕjϕi dΩ + a

⎛⎝Nh∑j=1

uj(t)ϕj , ϕi

⎞⎠ = F (ϕi), i = 1, 2, . . . , Nh,

ossiaNh∑j=1

.uj(t)

∫Ω

ϕjϕi dΩ

︸ ︷︷ ︸mij

+

Nh∑j=1

uj(t) a(ϕj , ϕi)︸ ︷︷ ︸aij

= F (ϕi)︸ ︷︷ ︸fi(t)

, i = 1, 2, . . . , Nh. (6.7)

Page 199: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

186 6 Equazioni paraboliche

Definendo il vettore delle incognite u = (u1(t), u2(t), . . . , uNh(t))T , la matrice

di massa M = [mij], la matrice di rigidezza A = [aij] ed il vettore dei termininoti f = (f1(t), f2(t), . . . , fNh(t))

T , il sistema (6.7) può essere riscritto in formamatriciale

M.u(t) + Au(t) = f (t).

Per risolverlo si può usare, ad esempio, il θ-metodo, che discretizza la derivata tem-porale con un semplice rapporto incrementale e sostituisce gli altri termini con unacombinazione lineare, dipendente dal parametro reale θ (0 ≤ θ ≤ 1), del valore altempo tk e di quello al tempo tk+1

Muk+1 − uk

Δt+A[θuk+1 + (1− θ)uk] = θf k+1 + (1− θ)f k. (6.8)

Come d’abitudine, il parametro reale positivo Δt = tk+1 − tk, k = 0, 1, ..., indica ilpasso di discretizzazione temporale (qui supposto costante), mentre il sopraindice ksta a significare che la quantità in questione è riferita al tempo tk. Vediamo alcuni casiparticolari della (6.8):

- per θ = 0 si ottiene il metodo di Eulero in avanti (o Eulero esplicito):

Muk+1 − uk

Δt+Auk = f k

che è accurato al primo ordine rispetto a Δt;- per θ = 1 si ha il metodo di Eulero all’indietro (o Eulero implicito)

Muk+1 − uk

Δt+Auk+1 = f k+1

che è anch’esso del prim’ordine rispetto a Δt;- per θ = 1/2 si ha il metodo di Crank-Nicolson (o dei trapezi)

Muk+1 − uk

Δt+1

2A(uk+1 + uk

)=1

2

(f k+1 + f k

)che è accurato al second’ordine rispetto a Δt. (Più precisamente, θ = 1/2 èl’unico valore per cui si ottiene un metodo del second’ordine).

Consideriamo i due casi estremi θ = 0 e θ = 1. Per entrambi si ottiene un sistemadi equazioni lineari: se θ = 0 il sistema da risolvere ha matrice M

Δt, nel secondo caso

ha matrice MΔt+A. Osserviamo che la matrice M è invertibile, essendo definita positiva(si veda l’Esercizio 1).

Nel caso θ = 0 se si rende diagonale la matrice M in realtà si disaccoppiano leequazioni del sistema. Questa operazione viene fatta eseguendo il cosiddetto lumpingdella matrice di massa (si veda la Sez. 5.5). Per contro lo schema esplicito non èincondizionatamente stabile (si veda la Sez. 6.4) e, nel caso in cui Vh sia un sottospaziodi elementi finiti, si ha una condizione di stabilità del tipo

∃c > 0 : Δt ≤ ch2 ∀h > 0,

Page 200: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

6.2 Stime a priori 187

−1.5 −1 −0.5 0 0.5 1 1.5−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

−1

−0.5

0

0.5

1

−0.5

0

0.5

0

0.5

1

Figura 6.2. Soluzione dell’equazione del calore per il problema dell’Esempio 6.1

la quale non permette una scelta arbitraria di Δt rispetto ad h.Nel caso θ > 0, il sistema avrà la forma Kuk+1 = g, dove g è il termine noto

e K = MΔt + θA. Tale matrice è però invariante nel tempo (essendo l’operatore L, e

quindi la matrice A, indipendente dal tempo); se la reticolazione spaziale non cambia,può essere quindi fattorizzata una volta per tutte all’inizio del processo. Dato che M èsimmetrica, se A è simmetrica anche la matrice K associata al sistema sarà simmetrica.Può essere quindi usata, ad esempio, la fattorizzazione di Cholesky, K=H HT conH triangolare inferiore. Ad ogni passo temporale andranno quindi risolti due sistemitriangolari sparsi in Nh incognite:

Hy = g,HTuk+1 = y,

che richiedono circa N2h operazioni (si veda l’Appendice B ed anche [QSS08, Cap. 3]).

Esempio 6.1 Supponiamo di risolvere l’equazione del calore ∂u∂t − 0.1Δu = 0 sul dominioΩ ⊂ R2 di Fig. 6.2, a sinistra (che è l’unione di due cerchi di raggio 0.5 e centro (−0.5, 0)e (0.5, 0), rispettivamente). Assegnamo condizioni di Dirichlet su tutto il contorno prendendou(x, t) = 1 per i punti in ∂Ω per cui x1 ≥ 0 e u(x, t) = 0 se x1 < 0. La condizione iniziale èu(x, 0) = 1 per x1 ≥ 0 e nulla altrove. In Fig. 6.2 viene riportata la soluzione ottenuta al tempot = 1. Sono stati usati elementi finiti lineari in spazio ed il metodo di Eulero implicito in tempocon Δt = 0.01. Come si vede la discontinuità iniziale è stata regolarizzata, compatibilmentecon le condizioni al contorno. �

6.2 Stime a priori

Consideriamo il problema (6.5); dato che le equazioni corrispondenti devono valereper ogni v ∈ V , sarà lecito porre v = u(t) (per t fissato), soluzione del problema

Page 201: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

188 6 Equazioni paraboliche

stesso: ∫Ω

∂u(t)

∂tu(t) dΩ + a(u(t), u(t)) = F (u(t)) ∀t > 0. (6.9)

Considerando i singoli termini, si ha∫Ω

∂u(t)

∂tu(t) dΩ =

1

2

∂t

∫Ω

|u(t)|2dΩ;

per la coercività della forma bilineare otteniamo

a(u(t), u(t)) ≥ α‖u(t)‖2V ,mentre grazie alle disuguaglianze di Cauchy-Schwarz e di Young si trova

F (u(t)) = (f(t), u(t)) ≤ ‖f(t)‖L2(Ω)‖u(t)‖L2(Ω) ≤1

2‖f(t)‖2L2(Ω) +

1

2‖u(t)‖2L2(Ω).

Supponiamo per ora f=0. Utilizzando allora le prime due relazioni e il fatto cheF (v)=0, si ottiene

∂t‖u(t)‖2L2(Ω) + 2α‖u(t)‖2V ≤ 0 ∀t > 0.

Dato che quest’ultima equazione vale per ogni t > 0 possiamo integrarla rispetto altempo sull’intervallo (0, t), ottenendo

‖u(t)‖2L2(Ω) + 2αt∫0

‖u(s)‖2V ds ≤ ‖u0‖2L2(Ω) ∀t > 0;

in particolare si ha

‖u(t)‖2L2(Ω) < ‖u0‖2L2(Ω) ∀t > 0.

Quest’ultima relazione assicura che l’energia cinetica del sistema si riduce nel tem-po. Questo è logico e plausibile per un’equazione parabolica del tipo (6.1) la qualerappresenta un sistema dissipativo, essendo l’operatore L ellittico.Nel caso si abbia un termine di sorgente f quanto detto non sarà più vero. Ci si aspettatuttavia una disuguaglianza analoga che tenga conto del termine di sorgente.In effetti, dalle tre relazioni sui singoli addendi e dalla (6.9) si ottiene

1

2

∂t

∫Ω

|u(t)|2dΩ + α‖u(t)‖2V ≤1

2‖f(t)‖2L2(Ω) +

1

2‖u(t)‖2L2(Ω) ∀t > 0,

da cui, integrando in tempo fra 0 e t si ottiene

‖u(t)‖2L2(Ω) + 2α

t∫0

‖u(s)‖2V ds

≤ ‖u0‖2L2(Ω) +t∫0

‖f(s)‖2L2(Ω)ds+t∫0

‖u(s)‖2L2(Ω)ds.(6.10)

Page 202: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

6.2 Stime a priori 189

Per avere ragione del termine∫ t0‖u(s)‖2L2(Ω)ds a secondo membro (termine che

dipende dalla storia passata del sistema evolutivo) utilizziamo il seguente risultato:

Lemma 6.1 (di Gronwall) Sia A ∈ L1(t0, T ) una funzione non negativa, g e ϕdelle funzioni continue su [t0, T ]. Se ϕ è tale che

ϕ(t) ≤ g(t) +

∫ tt0

A(τ )ϕ(τ )dτ ∀t ∈ [to, T ], (6.11)

allora, se g è non-decrescente,

ϕ(t) ≤ g(t)exp

⎛⎝ t∫t0

A(τ )dτ

⎞⎠ ∀t ∈ [to, T ]. (6.12)

La funzione

g(t)= ‖u0‖2L2(Ω) +∫ t0

‖f(s)‖2L2(Ω)ds

è ovviamente non decrescente. Applicando allora il Lemma di Gronwall a (6.10), conA(τ ) = 1 e g(t) definita come sopra, si trova la seguente stima a priori

‖u(t)‖2L2(Ω) + 2α

t∫0

‖u(s)‖2V ds

≤ et

⎡⎣‖u0‖2L2(Ω) +t∫0

‖f(s)‖2L2(Ω)ds

⎤⎦ ∀t > 0.

Questo in particolare assicura che u appartiene allo spazio

L2(R+; V ) ∩ C0(R+; L2(Ω)). (6.13)

Abbiamo visto che possiamo formulare il problema di Galerkin (6.6) per il proble-ma (6.5) e che esso, sotto opportune ipotesi, ammette soluzione unica. Analogamentea quanto fatto per il problema (6.5) possiamo dimostrare la seguente stima a priori (distabilità) per la soluzione del problema (6.6)

‖uh(t)‖2L2(Ω) + 2α

t∫0

‖uh(s)‖2V ds

≤ et

⎡⎣‖u0h‖2L2(Ω) +t∫0

‖f(s)‖2L2(Ω)ds

⎤⎦ ∀t > 0.

(6.14)

Page 203: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

190 6 Equazioni paraboliche

6.3 Analisi di convergenza del problema semi-discreto

Consideriamo il problema (6.5) e la sua approssimazione (6.6). Vogliamo dimostrarela convergenza di uh a u in norme opportune.Per l’ipotesi di coercività possiamo scrivere

α‖u− uh‖2H1(Ω) ≤ a(u− uh, u− uh)

= a(u− uh, u− vh) + a(u− uh, vh − uh) ∀vh ∈ Vh.

Sottraendo l’equazione (6.6) dall’equazione (6.5) e ponendo wh = vh − uh si ha(∂(u − uh)

∂t, wh

)+ a(u− uh, wh) = 0

e quindi

α‖u− uh‖2H1(Ω) ≤ a(u− uh, u− vh)−(

∂(u− uh)

∂t, wh

). (6.15)

Analizziamo separatamente i due termini a secondo membro:

- usando la continuità della forma a(·, ·) e la disuguaglianza di Young si ottiene

a(u− uh, u− vh) ≤M‖u− uh‖H1(Ω)‖u− vh‖H1(Ω)

≤ α

2‖u− uh‖2H1(Ω) +

M2

2α‖u− vh‖2H1(Ω);

- scrivendo wh nella forma wh = (vh − u) + (u− uh) si ottiene

−(

∂(u− uh)

∂t, wh

)=

(∂(u − uh)

∂t, u− vh

)− 12

d

dt‖u− uh‖2L2(Ω). (6.16)

Sostituendo questi due risultati nella (6.15) otteniamo

1

2

d

dt‖u− uh‖2L2(Ω) +

α

2‖u− uh‖2H1(Ω)

≤ M2

2α‖u− vh‖2H1(Ω) + (

∂(u − uh)

∂t, u− vh).

Moltiplicando per 2 ambo i membri ed integrando in tempo tra 0 e t troviamo

‖(u− uh)(t)‖2L2(Ω) + α

t∫0

‖(u− uh)(s)‖2H1(Ω) ds ≤ ‖(u− uh)(0)‖2L2(Ω)

+M2

α

t∫0

‖u(s)− vh‖2H1(Ω) ds+ 2t∫0

(∂

∂t(u− uh)(s), u(s) − vh

)ds.

(6.17)

Page 204: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

6.3 Analisi di convergenza del problema semi-discreto 191

Integriamo per parti l’ultimo termine rispetto alla variabile temporale. Utilizzando ladisuguaglianza di Young si ottiene

t∫0

(∂

∂t(u− uh)(s), u(s) − vh

)ds = −

t∫0

((u− uh)(s),

∂t(u(s) − vh)

)ds

+((u − uh)(t), (u− vh)(t)) − ((u− uh)(0), (u− vh)(0))

≤ 14

t∫0

‖(u− uh)(s)‖2L2(Ω) ds+t∫0

‖∂(u(s) − vh)

∂t‖2L2(Ω) ds+

1

4‖(u− uh)(t)‖2L2(Ω)

+‖(u− vh)(t)‖2L2(Ω) + ‖(u− uh)(0)‖L2(Ω)‖(u− vh)(0)‖L2(Ω).

Dalla (6.17) otteniamo pertanto

1

2‖(u− uh)(t)‖2L2(Ω) + α

t∫0

‖(u− uh)(s)‖2H1(Ω) ds

≤ M2

α

t∫0

‖u(s)− vh‖2H1(Ω) ds+ 2t∫0

‖∂(u(s) − vh)

∂t‖2L2(Ω) ds

+2‖(u− vh)(t)‖2L2(Ω) + ‖(u− uh)(0)‖2L2(Ω)

+2‖(u− uh)(0)‖L2(Ω)‖(u− vh)(0)‖L2(Ω) +1

2

t∫0

‖(u− uh)(s)‖2L2(Ω) ds.

(6.18)

Supponiamo ora che Vh sia lo spazio degli elementi finiti di grado r, più precisamenteVh = {vh ∈ Xrh : vh|ΓD = 0}, e scegliamo, ad ogni t, vh = Πrhu(t), l’interpolantedi u(t) in Vh (si veda la (3.20)). Grazie alla (3.58) abbiamo, nell’ipotesi che u siasufficientemente regolare,

h‖u−Πrhu‖H1(Ω) + ‖u−Πrhu‖L2(Ω) ≤ C2hr+1 |u|Hr+1(Ω).

Pertanto i vari addendi del termine di destra della disuguaglianza (6.18) si maggioranocome segue:

E1 =M2

α

t∫0

‖u(s) − vh‖2H1(Ω) ds ≤ C1h2r

t∫0

|u(s)|2Hr+1(Ω) ds,

E2 = 2

t∫0

∥∥∥∂(u− vh)

∂t(s)∥∥∥2L2(Ω)

ds ≤ C2h2r

t∫0

∣∣∣∂u∂t(s)∣∣∣2Hr(Ω)

ds,

E3 = 2‖(u− vh)(t)‖2L2(Ω) ≤ C3h2r|u|2Hr(Ω),

E4 = ‖(u− uh)(0)‖2L2(Ω) + 2‖(u− uh)(0)‖L2(Ω)‖(u− vh)(0)‖L2(Ω)≤ C4h

2r|u(0)|2Hr(Ω).

Page 205: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

192 6 Equazioni paraboliche

Di conseguenzaE1 +E2 +E3 +E4 ≤ Ch2rN(u),

dove N(u) è una funzione opportuna dipendente da u e da∂u

∂t. In questo modo si

ottiene la disuguaglianza

1

2‖(u− uh)(t)‖2L2(Ω) + α

t∫0

‖(u− uh)(s)‖2H1(Ω) ds

≤ Ch2rN(u) +1

2

t∫0

‖(u− uh)(s)‖2L2(Ω)

e, infine, applicando il Lemma di Gronwall, otteniamo la stima a priori dell’errore

∀t > 0, ‖(u− uh)(t)‖2L2(Ω) + 2α∫ t0

‖u− uh‖2H1(Ω) ≤ Ch2rN(u) et.

Abbiamo dunque dimostrato che uh converge a u con ordine r rispetto ad h nellanorma dello spazio (6.13).

6.4 Analisi di stabilità del θ-metodo

Analizziamo ora la stabilità del problema totalmente discretizzato.Applicando il θ-metodo al problema di Galerkin (6.6) si ottiene(

uk+1h − ukhΔt

, vh

)+ a(θuk+1h + (1− θ)ukh, vh

)= θF k+1(vh) + (1− θ)F k(vh) ∀vh ∈ Vh,

(6.19)

per ogni k ≥ 0, con u0h = u0h; F k indica che il funzionale è valutato al tempo tk .Ci limiteremo al caso in cui F = 0 ed inizieremo a considerare il caso del metodo diEulero implicito in cui θ = 1, ovvero(

uk+1h − ukhΔt

, vh

)+ a(uk+1h , vh

)= 0 ∀vh ∈ Vh.

Scelto vh = uk+1h , si ottiene

(uk+1h , uk+1h ) +Δt a(uk+1h , uk+1h

)= (ukh, u

k+1h ).

Sfruttando ora le seguenti disuguaglianze

a(uk+1h , uk+1h ) ≥ α‖uk+1h ‖2V , (ukh, uk+1h ) ≤ 1

2‖ukh‖2L2(Ω) +

1

2‖uk+1h ‖2L2(Ω),

Page 206: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

6.4 Analisi di stabilità del θ-metodo 193

derivanti la prima dalla coercività della forma bilineare a(·, ·) e la seconda dalledisuguaglianze di Cauchy-Schwarz e di Young, otteniamo

‖uk+1h ‖2L2(Ω) + 2αΔt‖uk+1h ‖2V ≤ ‖ukh‖2L2(Ω). (6.20)

Sommando sull’indice k da 0 a n − 1 deduciamo che

‖unh‖2L2(Ω) + 2αΔt

n−1∑k=0

‖uk+1h ‖2V ≤ ‖u0h‖2L2(Ω).

Nel caso in cui f �= 0, utilizzando una versione discreta del Lemma di Gronwall[QV94] si può dimostrare in maniera analoga che

‖unh‖2L2(Ω)+2αΔt

n∑k=1

‖ukh‖2V ≤ C(tn)

(‖u0h‖2L2(Ω) +

n∑k=1

Δt‖fk‖2L2(Ω)

). (6.21)

Questa relazione è molto simile alla (6.14), pur di sostituire gli integrali∫ t0· ds con

una formula di integrazione numerica composita con passo Δt.Infine, osservando che ‖uk+1h ‖V ≥ ‖uk+1h ‖L2(Ω), si deduce dalla (6.20) che, per

ogni Δt > 0 fissato,

limk→∞

‖ukh‖L2(Ω) = 0,

ovvero il metodo di Eulero all’indietro è assolutamente stabile senza che si debba farealcuna ipotesi limitativa sul passo Δt.

Prima di analizzare il caso generale in cui θ è un parametro arbitrario compresotra 0 e 1, introduciamo la seguente definizione.Diremo che il numero λ è un autovalore della forma bilineare a(·, ·) : V × V �→ R eche w ∈ V ne è l’autofunzione associata se risulta

a(w, v) = λ(w, v) ∀v ∈ V.

Se la forma bilineare a(·, ·) è simmetrica e coerciva essa ha infiniti autovalori rea-li positivi i quali formano una successione non limitata; inoltre le sue autofunzioniformano una base dello spazio V .

Nel discreto gli autovalori e le autofunzioni di a(·, ·) possono essere approssimatecercando le coppie λh ∈ R e wh ∈ Vh legate dalla relazione

a(wh, vh) = λh(wh, vh) ∀vh ∈ Vh. (6.22)

Dal punto di vista algebrico il problema (6.22) si formula nel modo seguente

Aw = λhMw,

in cui A è la matrice di rigidezza e M la matrice di massa. Trattasi pertanto di unproblema generalizzato agli autovalori.

Page 207: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

194 6 Equazioni paraboliche

Tali autovalori sono tutti positivi ed in numero pari ad Nh (essendo, al solito, Nhla dimensione del sottospazio Vh); il piu grande, λNhh , verifica

λNhh →∞ per Nh →∞.

Inoltre le corrispondenti autofunzioni formano una base per il sottospazio Vh e posso-no essere scelte in modo da essere ortonormali rispetto al prodotto scalare di L2(Ω).Ciò significa che, indicando con wih l’autofunzione corrispondente all’autovalore λih,si ha (wih, w

jh) = δij ∀i, j = 1, . . . , Nh. Pertanto ogni funzione vh ∈ Vh può essere

rappresentata nel modo seguente

vh(x) =

Nh∑j=1

vjwjh(x)

e, grazie all’ortonormalità delle autofunzioni,

‖vh‖2L2(Ω) =Nh∑j=1

v2j . (6.23)

Consideriamo ora θ ∈ [0, 1] arbitrario e limitiamoci al caso in cui la forma bi-lineare a(·, ·) sia simmetrica (in realtà il risultato finale di stabilità vale in generale,ma la dimostrazione che segue non sarebbe applicabile, in quanto le autofunzioni nonformerebbero necessariamente una base). Siano {wih} le autofunzioni (ortonormali)di a(·, ·). Poiché ukh ∈ Vh, possiamo scrivere

ukh(x) =

Nh∑j=1

ukjwjh(x).

Osserviamo che in questo sviluppo di tipo modale gli ukj non rappresentano più i valorinodali di ukh. Se ora nella (6.19) poniamo F = 0 e prendiamo vh = wih, troviamo

1

Δt

Nh∑j=1

[uk+1j − ukj ](wjh, w

ih

)+

Nh∑j=1

[θuk+1j + (1− θ)ukj ]a(wjh, w

ih) = 0,

per ogni i = 1, . . . , Nh. Per ogni coppia i, j = 1, . . . , Nh si ha

a(wjh, wih) = λjh(w

jh, w

ih) = λjhδij = λih,

e quindi, per ogni i = 1, . . . , Nh,

uk+1i − ukiΔt

+ [θuk+1i + (1 − θ)uki ]λih = 0.

Risolvendo ora rispetto a uk+1i si trova

uk+1i = uki1− (1− θ)λihΔt

1 + θλihΔt.

Page 208: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

6.4 Analisi di stabilità del θ-metodo 195

Ricordando la (6.23) possiamo concludere che affinché il metodo sia assolutamentestabile deve essere soddisfatta la disuguaglianza∣∣∣∣1− (1− θ)λihΔt

1 + θλihΔt

∣∣∣∣ < 1,ovvero

−1 − θλihΔt < 1− (1− θ)λihΔt < 1 + θλihΔt.

Pertanto,

− 2

λihΔt− θ < θ − 1 < θ.

La seconda disuguaglianza è sempre verificata, mentre la prima si può riscrivere come

2θ − 1 > − 2

λihΔt.

Se θ ≥ 1/2, il primo membro è non negativo, mentre il secondo membro è nega-tivo, per cui la disuguaglianza risulta verificata per ogni Δt. Se invece θ < 1/2, ladisuguaglianza è soddisfatta e dunque il metodo è stabile solo se

Δt <2

(1− 2θ)λih.

Poiché tale relazione deve valere per tutti gli autovalori λih della forma bilineare, ba-sterà chiedere che valga per il massimo di essi, che abbiamo supposto essere λNhh . Indefinitiva si ha:

- se θ ≥ 1/2, il θ-metodo è incondizionatamente stabile, ovvero è stabile per ogniΔt;

- se θ < 1/2, il θ-metodo è stabile solo per Δt ≤ 2

(1− 2θ)λNhh.

Grazie alla definizione di autovalore (6.22) e alla proprietà di continuità di a(·, ·), sideduce

λNhh =a(wNh , wNh)

‖wNh‖2L2(Ω)≤ M‖wNh‖2V‖wNh‖2L2(Ω)

≤M(1 +C2h−2).

La costante C > 0 che appare nell’ultimo passaggio deriva dalla seguente disugua-glianza inversa:

∃C > 0 : ‖∇vh‖L2(Ω) ≤ Ch−1‖vh‖L2(Ω) ∀vh ∈ Vh,

per la cui dimostrazione si rinvia a [QV94, Cap. 3].

Page 209: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

196 6 Equazioni paraboliche

Pertanto, per h sufficientemente piccolo, λNhh ≤ Ch−2. In realtà si può mostrare cheλNhh è effettivamente dell’ordine di h−2, ovvero

λNhh = maxiλih � ch−2.

Tenendo conto di questo fatto si ottiene che per θ < 1/2 il metodo è assolutamentestabile solo se

Δt ≤ C(θ)h2, (6.24)

dove C(θ) indica una costante positiva dipendente da θ. Quest’ultima relazione im-plica che, per θ < 1/2, Δt non può essere scelto arbitrariamente ma è limitato dallascelta di h.

6.5 Analisi di convergenza del θ-metodo

Per confronto fra la soluzione del problema totalmente discretizzato (6.19) e quelladel problema semidiscreto, utilizzando opportunamente il risultato di stabilità (6.21),nonché l’errore di troncamento della discretizzazione in tempo, si può dimostrare ilseguente teorema.

Teorema 6.1 Nell’ipotesi che u0, f e la soluzione esatta siano sufficientementeregolari, vale la seguente stima a priori dell’errore: ∀n ≥ 1,

‖u(tn) − unh‖2L2(Ω) + 2αΔt

n∑k=1

‖u(tk) − ukh‖2V ≤ C(u0, f, u)(Δtp(θ) + h2r),

dove p(θ) = 2 se θ �= 1/2, p(1/2) = 4 e C è una costante che dipendeopportunamente dai suoi argomenti.

Dimostrazione. Per semplicità, ci limiteremo a considerare il metodo di Eulero all’in-dietro (corrispondente a θ = 1)

1

Δt(uk+1h − ukh, vh) + a(uk+1h , vh) = (f

k+1, vh) ∀vh ∈ Vh. (6.25)

Rimandiamo il lettore a [QV94], Sez. 11.3.1, per la dimostrazione nel caso generale.Supponiamo inoltre, per semplicità, che a(·, ·) sia simmetrica, e definiamo l’operatoredi proiezione ortogonale

Πr1,h : V → Vh : ∀w ∈ V, a(Πr1,hw − w, vh) = 0 ∀vh ∈ Vh. (6.26)

Utilizzando i risultati visti nel Cap. 3, si può facilmente dimostrare che esiste unacostante C > 0 t.c., ∀w ∈ V ∩Hr+1(Ω),

‖Πr1,hw −w‖H1(Ω) + h−1‖Πr1,hw − w‖L2(Ω) ≤ Chr|w|Hr+1(Ω). (6.27)

Page 210: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

6.5 Analisi di convergenza del θ-metodo 197

Osserviamo che

‖u(tk)−ukh‖L2(Ω) ≤ ‖u(tk)−Πr1,hu(tk)‖L2(Ω)+ ‖Πr1,hu(tk)− ukh‖L2(Ω). (6.28)

Il primo termine può essere stimato ricorrendo alla (6.27). Per analizzare il secondotermine, posto εkh = ukh −Πr1,hu(t

k), otteniamo

1

Δt(εk+1h − εkh, vh) + a(εk+1h , vh) = (δ

k+1, vh) ∀vh ∈ Vh, (6.29)

avendo posto, ∀vh ∈ Vh,

(δk+1, vh) = (fk+1 , vh)−

1

Δt(Πr1,h(u(t

k+1)−u(tk)), vh)−a(u(tk+1), vh) (6.30)

ed avendo sfruttato sull’ultimo addendo l’ortogonalità (6.26) dell’operatore Πr1,h. Lasuccessione {εkh, k = 0, 1 . . .} soddisfa il problema (6.29) che è del tutto simile a(6.25) (pur di prendere δk+1 al posto di fk+1). Adattando la stima di stabilità (6.21),si ottiene, per ogni n ≥ 1,

‖εnh‖2L2(Ω) + 2αΔt

n∑k=1

‖εkh‖2V ≤ C(tn)

(‖ε0h‖2L2(Ω) +

n∑k=1

Δt‖δk‖2L2(Ω)

). (6.31)

La norma associata all’istante iniziale può essere facilmente stimata; se, ad esempio,u0h = Πrhu0 è l’interpolato ad elementi finiti di u0, utilizzando opportunamente lestime (3.58) e (6.27) otteniamo

‖ε0h‖L2(Ω) = ‖u0h −Πr1,hu0‖L2(Ω)

≤ ‖Πrhu0 − u0‖L2(Ω) + ‖u0 −Πr1,hu0‖L2(Ω) ≤ C hr |u0|Hr(Ω).(6.32)

Concentriamoci ora sulla stima della norma ‖δk‖L2(Ω). Osserviamo che, grazie alla(6.5),

(fk+1 , vh)− a(u(tk+1), vh) =

(∂u(tk+1)

∂t, vh

).

Questo ci permette di riscrivere la (6.30) come

(δk+1, vh) =

(∂u(tk+1)

∂t, vh

)− 1

Δt(Πr1,h(u(t

k+1)− u(tk)), vh)

=

(∂u(tk+1)

∂t− u(tk+1)− u(tk)

Δt, vh

)+

((I −Πr1,h

)(u(tk+1) − u(tk)

Δt

), vh

).

(6.33)Usando la formula di Taylor con resto in forma integrale, otteniamo

∂u(tk+1)

∂t− u(tk+1)− u(tk)

Δt=1

Δt

tk+1∫tk

(s− tk)∂2u

∂t2(s) ds, (6.34)

Page 211: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

198 6 Equazioni paraboliche

fatte le opportune richieste di regolarità sulla funzione u rispetto alla variabile tem-porale. Usando ora il teorema fondamentale del calcolo integrale e sfruttando lacommutatività tra l’operatore di proiezione Πr1,h e la derivata temporale, otteniamo

(I −Πr1,h

)(u(tk+1) − u(tk)

)=

tk+1∫tk

(I −Πr1,h

)(∂u∂t

)(s) ds. (6.35)

Scelto ora vh = δk+1 in (6.33), grazie alle relazioni (6.34) e (6.35), possiamo dedurrela seguente maggiorazione

‖δk+1‖L2(Ω)

≤∥∥∥ 1Δt

tk+1∫tk

(s− tk)∂2u

∂t2(s) ds

∥∥∥L2(Ω)

+∥∥∥ 1Δt

tk+1∫tk

(I −Πr1,h

)(∂u∂t

)(s) ds

∥∥∥L2(Ω)

≤tk+1∫tk

∥∥∥∂2u∂t2(s)∥∥∥L2(Ω)

ds+1

Δt

tk+1∫tk

∥∥∥(I −Πr1,h

)(∂u∂t

)(s)∥∥∥L2(Ω)

ds.

(6.36)Ritornando alla stima di stabilità (6.31) e sfruttando la (6.32) e la stima (6.36) con gliindici opportunamente scalati, si ha

‖εnh‖2L2(Ω) ≤ C(tn)

(h2r |u0|2Hr(Ω) +

n∑k=1

Δt

[( tk∫tk−1

∥∥∥∂2u∂t2(s)∥∥∥L2(Ω)

ds

)2

+1

Δt2

( tk∫tk−1

∥∥∥(I −Πr1,h

)(∂u∂t

)(s)∥∥∥L2(Ω)

ds

)2 ]),

ovvero, utilizzando la disuguaglianza di Cauchy-Schwarz e la stima (6.27) per l’ope-ratore di proiezione Πr1,h,

‖εnh‖2L2(Ω) ≤ C(tn)

(h2r |u0|2Hr(Ω) +

n∑k=1

Δt

[Δt

tk∫tk−1

∥∥∥∂2u∂t2(s)∥∥∥2L2(Ω)

ds

+1

Δt2

( tk∫tk−1

hr∣∣∣∂u∂t(s)∣∣∣Hr(Ω)

ds

)2 ])

≤ C(tn)

(h2r |u0|2Hr(Ω) +Δt2

n∑k=1

tk∫tk−1

∥∥∥∂2u∂t2(s)∥∥∥2L2(Ω)

ds

+1

Δth2r

n∑k=1

Δt

tk∫tk−1

∣∣∣∂u∂t(s)∣∣∣2Hr(Ω)

ds

).

Page 212: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

6.6 Il caso dell’approssimazione spettrale G-NI 199

Questo permette di maggiorare il secondo termine in (6.28) nel seguente modo

‖εnh‖L2(Ω) ≤ C∗(tn)

(hr |u0|Hr(Ω) + Δt

∥∥∥∂2u∂t2

∥∥∥L2(0,tn;L2(Ω))

+ hr∥∥∥∂u∂t

∥∥∥L2(0,tn;Hr(Ω))

).

Combinando tale risultato con la stima (6.27) per la maggiorazione del primo terminein (6.28), otteniamo, per ogni n ≥ 0,

‖u(tn)− unh‖L2(Ω) ≤ C(tn)[hr(|u0|Hr(Ω) +

∥∥∥∂u∂t

∥∥∥L2(0,tn;Hr(Ω))

+ |u(tn)|Hr(Ω))+Δt

∥∥∥∂2u∂t2

∥∥∥L2(0,tn;L2(Ω))

].

6.6 Il caso dell’approssimazione spettrale G-NI

Consideriamo ora un’approssimazione spaziale basata sul metodo spettrale G-NIdiscusso nelle Sez. 4.3 e 4.4. Il θ-metodo applicato alla discretizzazione spazia-le G-NI del problema di Dirichlet omogeneo (6.4), definito sull’intervallo spaziale−1 < x < 1, si formula come segue:per ogni k ≥ 0, trovare ukN ∈ VN = {vN ∈ QN : vN (−1) = vN(1) = 0} t.c.(

uk+1N − ukNΔt

, vN

)N

+ aN (θuk+1N + (1− θ)ukN , vN)

= θ (fk+1, vN)N + (1− θ) (fk , vN )N ∀vN ∈ VN ,

essendo u0N = u0,N ∈ VN una conveniente approssimazione di u0 (ad esempiol’interpolante ΠGLLN u0 introdotto in (4.14)). Ricordiamo che (·, ·)N denota il pro-dotto scalare discreto ottenuto usando la formula di integrazione numerica di Gauss-Legendre-Lobatto (GLL), mentre aN(·, ·) è l’approssimazione della forma bilinearea(·, ·) ottenuta sostituendo gli integrali esatti con la suddetta formula di integrazionenumerica.Si può dimostrare che il θ−metodo è anche in questo caso incondizionatamente

assolutamente stabile se θ ≥ 12 , mentre per θ < 1

2 si ha la assoluta stabilità se

Δt ≤ C(θ)N−4. (6.37)

In effetti, la dimostrazione si può fare ripetendo le stesse tappe percorse in prece-denza nel caso dell’approssimazione agli elementi finiti. In particolare, definiamole coppie autovalore-autofunzione (λj , w

jN) della forma bilineare aN(·, ·), per ogni

j = 1, . . . , N − 1, attraverso la relazione

wjN ∈ VN : aN(wjN , vN) = λj (w

jN , vN) ∀vN ∈ VN .

Page 213: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

200 6 Equazioni paraboliche

Pertanto

λj =aN(w

jN , wjN)

‖wjN‖2N.

Usando la continuità della forma bilineare aN(·, ·), troviamo

λj ≤M ‖wjN‖2H1(−1,1)

‖wjN‖2N.

Ricordiamo ora la seguente disuguaglianza inversa per polinomi algebrici ([CHQZ06])

∃ CI > 0 : ‖v′N‖2L2(−1,1) ≤ CI ‖vN‖2L2(−1,1) ∀vN ∈ QN .

Allora

λj ≤C2IMN4 ‖wjN‖2L2(−1,1)

‖wjN‖2N.

Ricordando la proprietà di equivalenza (4.52), concludiamo che

λj ≤ 3C2IMN4 ∀j = 1, . . . , N − 1.

Si ha inoltre la seguente stima di convergenza

‖u(tn)− unN‖L2(Ω) ≤ C(tn)[N−r(|u0|Hr(Ω) +

tn∫0

∣∣∣∂u∂t(s)∣∣∣Hr(Ω)

ds

+ |u(tn)|Hr(Ω))+Δt

tn∫0

∥∥∥∂2u∂t2(s)∥∥∥L2(Ω)

ds].

Per la dimostrazione si veda [CHQZ06], Cap. 7.

6.7 Esercizi

1. Si verifichi che la matrice di massa M introdotta nella (6.7) è definita positiva.2. Si dimostri la condizione di stabilità (6.37) nel caso dell’approssimazione pseudo-

spettrale dell’equazione (6.4) (sostituendo l’intervallo (0, 1) con (−1, 1)).[Soluzione: si proceda in modo analogo a quanto fatto nella Sez. 6.4 per la so-luzione ad elementi finiti e si invochino le proprietà riportate nei Lemmi 4.2 e4.3.]

Page 214: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

6.7 Esercizi 201

3. Si consideri il problema:⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

∂u

∂t− ∂

∂x

(α∂u

∂x

)− βu = 0 in QT = (0, 1)× (0,∞),

u = u0 per x ∈ (0, 1), t = 0,

u = η per x = 0, t > 0,

α∂u

∂x+ γu = 0 per x = 1, t > 0,

dove α = α(x), u0 = u0(x) sono funzioni assegnate e β, γ, η ∈ R (con βpositivo).a) Si provino esistenza ed unicità della soluzione debole al variare di γ, fornendo

opportune limitazioni sui coefficienti ed opportune ipotesi di regolarità sullefunzioni α e u0.

b) Si introduca la semidiscretizzazione spaziale del problema con il metodo diGalerkin-elementi finiti, e se ne faccia l’analisi di stabilità e di convergenza.

c) Nel caso in cui γ = 0, si approssimi lo stesso problema con il metodo diEulero esplicito in tempo e se ne faccia l’analisi di stabilità.

4. Si consideri il problema seguente: trovare u(x, t), 0 ≤ x ≤ 1, t ≥ 0, tale che⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

∂u

∂t+

∂v

∂x= 0, 0 < x < 1, t > 0,

v + α(x)∂u

∂x− γ(x)u = 0, 0 < x < 1, t > 0,

v(1, t) = β(t), u(0, t) = 0, t > 0,

u(x, 0) = u0(x), 0 < x < 1,

dove α, γ, β, u0 sono funzioni assegnate.a) Se ne faccia una approssimazione basata su elementi finiti di grado due nella

x ed il metodo di Eulero implicito nel tempo e se ne provi la stabilità.b) Come si comporterà l’errore in funzione dei parametri h e Δt?c) Si indichi un modo per fornire una approssimazione per v a partire da quella

di u e se ne indichi l’errore di approssimazione.5. Si consideri il seguente problema (di diffusione-trasporto-reazione) ai valori

iniziali e al contorno:trovare u : (0, 1)× (0, T )→ R tale che⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

∂u

∂t− ∂

∂x

(α∂u

∂x

)+

∂x(βu) + γu = 0, 0 < x < 1, 0 < t < T,

u = 0 per x = 0, 0 < t < T,

α∂u

∂x+ δu = 0 per x = 1, 0 < t < T,

u(x, 0) = u0(x), 0 < x < 1, t = 0,

Page 215: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

202 6 Equazioni paraboliche

ove α = α(x), β = β(x), γ = γ(x), δ = δ(x), u0 = u0(x), x ∈ [0, 1] sonofunzioni assegnate.a) Se ne scriva la formulazione debole.b) Nelle ipotesi in cui

a. ∃β0, α0, α1 > 0 : ∀x ∈ (0, 1) α1 ≥ α(x) ≥ α0; β(x) ≤ β0;

b. 12β′(x) + γ(x) ≥ 0 ∀x ∈ (0, 1),

si forniscano eventuali ulteriori ipotesi sui dati affinché il problema sia benposto. Si dia inoltre una stima a priori della soluzione. Si tratti lo stessoproblema con u = g per x = 0 e 0 < t < T .

c) Si consideri una semidiscretizzazione basata sul metodo degli elementi finitilineari e se ne provi la stabilità.

d) Infine, si fornisca una discretizzazione globale in cui la derivata temporale èapprossimata con lo schema di Eulero implicito e se ne provi la stabilità.

6. Considerata l’equazione parabolica del calore⎧⎪⎪⎨⎪⎪⎩∂u

∂t− ∂2u

∂x2= 0, −1 < x < 1, t > 0,

u(x, 0) = u0(x), −1 < x < 1,u(−1, t) = u(1, t) = 0, t > 0,

la si approssimi con il metodo G-NI in spazio e con il metodo di Eulero implicitoin tempo e se ne faccia l’analisi di stabilità.

7. Si consideri il seguente problema ai valori iniziali e al contorno del quart’ordine:trovare u : Ω × (0, T )→ R tale che⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

∂u

∂t− div(μ∇u) +Δ2u+ σu = 0 in Ω × (0, T ),

u(x, 0) = u0 in Ω,

∂u

∂n= u = 0 su ΣT = ∂Ω × (0, T ),

dove Ω ⊂ R2 è un aperto limitato con bordo ∂Ω regolare, Δ2 = ΔΔ è l’operatorebiarmonico, μ(x), σ(x) e u0(x) sono funzioni note definite in Ω. È noto che√√√√∫

Ω

|Δu|2dΩ � ‖u‖H2(Ω) ∀ u ∈ H20(Ω) ,

ovvero le due norme sono equivalenti, ove

H20(Ω) = {u ∈ H2(Ω) : u = ∂u/∂n = 0 su ∂Ω}. (6.38)

a) Se ne scriva la formulazione debole e si verifichi che la soluzione esiste ed èunica, facendo opportune ipotesi di regolarità sui dati.

Page 216: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

6.7 Esercizi 203

b) Si consideri una semidiscretizzazione basata sul metodo degli elementi fini-ti triangolari e si indichi il minimo grado che tali elementi devono avere perrisolvere adeguatamente il problema dato. (Osserviamo che, se Th è una trian-golazione di Ω e vh|K è un polinomio per ogni K ∈ Th, allora vh ∈ H2(Ω)se e solo se vh ∈ C1(Ω), ovvero vh e le sue derivate prime sono continueattraverso le interfacce degli elementi di Th .)

Page 217: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7

Differenze finite per equazioni iperboliche

In questo capitolo ci occuperemo di problemi evolutivi di tipo iperbolico. Per la loroderivazione e per un’analisi approfondita si veda, ad esempio, [Sal08], Cap. 4. Noi cilimiteremo a considerarne l’approssimazione numerica con il metodo delle differen-ze finite, storicamente il primo ad essere utilizzato per questo tipo di equazioni. Perintrodurre in modo semplice i concetti di base della teoria, buona parte della nostrapresentazione riguarderà problemi dipendenti da una sola variabile spaziale.

7.1 Un problema di trasporto scalare

Consideriamo il seguente problema iperbolico scalare⎧⎨⎩∂u

∂t+ a

∂u

∂x= 0, x ∈ R, t > 0,

u(x, 0) = u0(x), x ∈ R,

(7.1)

dove a ∈ R \ {0}. La soluzione di tale problema è un’onda viaggiante con velocità adata da

u(x, t) = u0(x − at), t ≥ 0.Consideriamo le curve x(t) nel piano (x, t), soluzioni delle seguenti equazioni diffe-renziali ordinarie ⎧⎨⎩

dx

dt= a, t > 0,

x(0) = x0,

al variare di x0 ∈ R.Tali curve sono dette linee caratteristiche (o spesso semplicemente caratteristiche) elungo di esse la soluzione rimane costante in quanto

du

dt=

∂u

∂t+

∂u

∂x

dx

dt= 0.

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 218: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

206 7 Differenze finite per equazioni iperboliche

Nel caso del problema più generale⎧⎨⎩∂u

∂t+ a

∂u

∂x+ a0u = f, x ∈ R, t > 0,

u(x, 0) = u0(x), x ∈ R,

(7.2)

dove a, a0, f sono funzioni assegnate delle variabili (x, t), le linee caratteristiche x(t)sono le soluzioni del problema di Cauchy⎧⎨⎩

dx

dt= a(x, t), t > 0,

x(0) = x0.

In tal caso, le soluzioni di (7.2) soddisfano la seguente relazione

d

dtu(x(t), t) = f(x(t), t) − a0(x(t), t)u(x(t), t).

È quindi possibile ricavare la soluzione u risolvendo un’equazione differenziale ordi-naria su ogni curva caratteristica (questo approccio porta al cosiddetto metodo dellecaratteristiche).

P

Q

P0x

t

0 1

t

Figura 7.1. Esempi di linee caratteristiche (delle rette in questo caso) uscenti dai punti P e Q.

Consideriamo ora il problema (7.1) in un intervallo limitato. Ad esempio supponiamox ∈ [0, 1] e a > 0. Poiché u è costante sulle caratteristiche, dalla Fig. 7.1 si deduceche il valore della soluzione nel punto P coincide con il valore di u0 nel piede P0 dellacaratteristica uscente da P. La caratteristica uscente dal punto Q, invece, interseca laretta x = 0 per t > 0. Il punto x = 0 è, quindi, di inflow ed in esso è necessarioassegnare il valore di u. Si noti che se fosse a < 0, il punto di inflow sarebbe x = 1.

Facendo riferimento al problema (7.1) è opportuno osservare che se u0 fosse unafunzione discontinua nel punto x0, allora tale discontinuità si propagherebbe lungola caratteristica uscente da x0 (questo processo può essere formalizzato rigorosamen-te dal punto di vista matematico, introducendo il concetto di soluzione debole per iproblemi iperbolici).

Page 219: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7.1 Un problema di trasporto scalare 207

Per regolarizzare le discontinuità si potrebbe approssimare il dato iniziale u0 con unasuccessione di funzioni regolari uε0(x), ε > 0. Questo procedimento è efficace, però,solo se il problema iperbolico è lineare. Le soluzioni di problemi iperbolici non lineari,possono infatti sviluppare discontinuità anche per dati iniziali regolari (come si vedrànel Cap. 9). In questo caso, la strategia (cui si ispirano anche i metodi numerici) èquella di regolarizzare l’equazione differenziale stessa piuttosto che il dato iniziale. Intale prospettiva, si può considerare la seguente equazione parabolica di diffusione etrasporto

∂uε

∂t+ a

∂uε

∂x= ε

∂2uε

∂x2, x ∈ R, t > 0,

per piccoli valori di ε > 0.Essa è la regolarizzata parabolica dell’equazione (7.1). Se si pone uε(x, 0) = u0(x),si può dimostrare che

limε→0+

uε(x, t) = u0(x− at), t > 0, x ∈ R.

7.1.1 Una stima a priori

Ritorniamo ora a considerare il problema di trasporto-reazione (7.2) su un intervallolimitato ⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂u

∂t+ a

∂u

∂x+ a0u = f, x ∈ (α, β), t > 0,

u(x, 0) = u0(x), x ∈ [α, β],

u(α, t) = ϕ(t), t > 0,

(7.3)

dove a(x), f(x, t) e ϕ(t) sono funzioni assegnate; si è fatta l’ipotesi che a(x) > 0,così che x = α è il punto di inflow (ove imporre la condizione al contorno), mentrex = β è quello di outflow.

Moltiplicando la prima equazione di (7.3) per u, integrando rispetto a x e usandola formula di integrazione per parti, per ogni t > 0 si ottiene

1

2

d

dt

β∫α

u2 dx+

β∫α

(a0 −1

2ax)u

2 dx+1

2(au2)(β) − 1

2(au2)(α) =

β∫α

fu dx.

Supponendo che esista μ0 ≥ 0 t.c.

a0 − 12ax ≥ μ0 ∀x ∈ [α, β],

si trova

1

2

d

dt‖u(t)‖2L2(α,β) + μ0‖u(t)‖2L2(α,β) +

1

2(au2)(β) ≤

β∫α

fu dx+1

2a(α)ϕ2(t).

Page 220: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

208 7 Differenze finite per equazioni iperboliche

Se f e ϕ sono identicamente nulle, allora

‖u(t)‖L2(α,β) ≤ ‖u0‖L2(α,β) ∀t > 0.

Nel caso del problema più generale (7.2), se supponiamo μ0 > 0, grazie alledisuguaglianze di Cauchy-Schwarz e di Young si ha

β∫α

fu dx ≤ ‖f‖L2(α,β)‖u‖L2(α,β) ≤μ02‖u‖2L2(α,β) +

1

2μ0‖f‖2L2(α,β).

Integrando rispetto al tempo, si perviene alla seguente stima a priori

‖u(t)‖2L2(α,β) + μ0

t∫0

‖u(s)‖2L2(α,β) ds+ a(β)

t∫0

u2(β, s) ds

≤ ‖u0‖2L2(α,β) + a(α)

t∫0

ϕ2(s) ds+1

μ0

t∫0

‖f‖2L2(α,β) ds.

Una stima alternativa che non richiede la differenziabilità di a(x) ma usa l’ipotesiche a0 ≤ a(x) ≤ a1 per due opportune costanti positive a0 e a1 può essere ottenutamoltiplicando l’equazione per a−1,

a−1∂u

∂t+

∂u

∂x= a−1f.

Moltiplicando ora per u e integrando tra α e β si ottiene, dopo semplici passaggi,

1

2

d

dt

β∫α

a−1(x)u2(x, t) dx+1

2u2(β, t) =

β∫α

a−1(x)f(x, t)u(x, t)dx+1

2ϕ2(t).

Se f = 0 si ottiene immediatamente

‖u(t)‖2a +t∫0

u2(β, s)ds = ‖u0‖2a +t∫0

ϕ2(s)ds, t > 0.

Abbiamo definito

‖v‖a =

⎛⎝ β∫α

a−1(x)v2(x)dx

⎞⎠12

.

Grazie alla limitatezza inferiore e superiore di a−1, quest’ultima è una norma equiva-lente a quella di L2(α, β). Se invece f �= 0 si può procedere come segue

‖u(t)‖2a +t∫0

u2(β, s) ds ≤ ‖u0‖2a +t∫0

ϕ2(s) ds+

t∫0

‖f‖2a ds+

t∫0

‖u(s)‖2ads,

Page 221: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7.2 Sistemi di equazioni iperboliche lineari 209

avendo usato la disuguaglianza di Cauchy-Schwarz. Applicando ora il Lemma diGronwall si ottiene, per ogni t > 0,

‖u(t)‖2a +t∫0

u2(β, s) ds ≤ et

⎛⎝‖u0‖2a + t∫0

ϕ2(s)ds+

t∫0

‖f‖2a ds

⎞⎠ . (7.4)

7.2 Sistemi di equazioni iperboliche lineari

Consideriamo un sistema lineare della forma

∂u

∂t+A

∂u

∂x= 0, x ∈ R, t > 0,

u(0, x) = u0(x), x ∈ R,

(7.5)

dove u : [0,∞)×R → Rp, A : R → Rp×p è una matrice assegnata, e u0 : R → Rp

è il dato iniziale.Consideriamo dapprima il caso in cui i coefficienti di A siano costanti (ovvero in-

dipendenti sia da x sia da t). Il sistema (7.5) è detto iperbolico se A è diagonalizzabileed ha autovalori reali. In tal caso esiste T : R→ Rp×p non singolare tale che

A = TΛT−1,

essendo Λ = diag(λ1, ..., λp), con λi ∈ R per i = 1, . . . , p, la matrice diagonale degliautovalori di A mentre T = (ω1,ω2, . . . ,ωp) è la matrice i cui vettori colonna sonogli autovettori destri di A, cioè

Aωk = λkωk, k = 1, . . . , p.

Tramite questa trasformazione di similitudine, è possibile riscrivere il sistema (7.5)nella forma

∂w

∂t+ Λ

∂w

∂x= 0, (7.6)

dove w = T−1u sono dette variabili caratteristiche. In questo modo, si ottengono pequazioni indipendenti della forma

∂wk

∂t+ λk

∂wk

∂x= 0, k = 1, . . . , p,

del tutto analoghe a quella del problema (7.1) (pur di supporre a0 e f nulle). La solu-zione wk è dunque costante lungo ogni curva caratteristica, soluzione del problemadi Cauchy ⎧⎨⎩

dx

dt= λk, t > 0,

x(0) = x0.

(7.7)

Page 222: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

210 7 Differenze finite per equazioni iperboliche

Essendo i λk costanti, le curve caratteristiche sono le rette x(t) = x0 + λkt e lesoluzioni sono nella forma wk(x, t) = ψk(x − λkt), dove ψk è una funzione di unasola variabile. Il suo valore è determinato dalle condizioni iniziali e dalle eventualicondizioni al bordo. Nel caso del problema (7.5), si ha che ψk(x) = wk(x, 0), quindi,la soluzione u = Tw sarà della forma

u(x, t) =

p∑k=1

wk(x− λkt, 0)ωk.

Come si vede, essa è composta da p onde viaggianti non interagenti.Poiché in un sistema strettamente iperbolico p linee caratteristiche distinte escono daogni punto (x, t) del piano (x, t), u(x, t) dipenderà solo dal dato iniziale nei puntix − λkt, per k = 1, . . . , p. Per questa ragione, l’insieme dei p punti che formano ipiedi delle caratteristiche uscenti dal punto (x, t), cioè

D(x, t)={x ∈ R | x = x− λkt , k = 1, ..., p}, (7.8)

viene chiamato dominio di dipendenza della soluzione u nel punto (x, t).Nel caso si consideri un intervallo limitato (α, β) anziché l’intera retta reale, il

segno di λk, k = 1, . . . , p, individua il punto di inflow per ognuna delle variabilicaratteristiche. La funzione ψk nel caso di un problema posto su un intervallo limitatosarà determinata non solo dalle condizioni iniziali, ma anche dalle condizioni al bordofornite all’inflow di ciascuna variabile caratteristica. Considerato un punto (x, t) conx ∈ (α, β) e t > 0, se x−λkt ∈ (α, β) allora wk(x, t) è determinato dalla condizioneiniziale, in particolare si ha wk(x, t) = wk(x − λkt, 0). Se invece x − λkt /∈ (α, β)allora il valore di wk(x, t) dipenderà dalla condizione al bordo (si veda la Fig. 7.2):

se λk > 0 , wk(x, t) = wk(α,x− α

λk),

se λk < 0 , wk(x, t) = wk(β,x− β

λk).

Conseguentemente, il numero di autovalori positivi determina il numero di condizionial bordo da assegnare in x = α, mentre in x = β andranno assegnate tante condizioniquanti sono gli autovalori negativi.

Nel caso in cui i coefficienti della matrice A in (7.5) siano funzioni di x e t,indichiamo rispettivamente con

L =

⎡⎢⎣ lT1...

lTp

⎤⎥⎦ e R = [r1 . . .rp] ,

le matrici degli autovettori sinistri e destri di A, i cui elementi soddisfano le relazioni

Ark = λkrk, lTkA = λklTk ,

Page 223: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7.2 Sistemi di equazioni iperboliche lineari 211

(x − )/ 1 α λ k

(x ,t )11

(x ,t )2 2

λkx− t2 2α

t

kλ1 βt=(x − )/

kλx− t2 2

2(x ,t )2

1 1(x ,t )

t

αx

0 0 β

t=

Figura 7.2. Il valore di wk in un punto del piano (x, t) dipende o dalla condizione al bor-do o dalla condizione iniziale, a seconda del valore di x − λkt. A sinistra e a destra vienerispettivamente riportato il caso di λk positivo o negativo

ovveroAR = RΛ, LA = ΛL.

Senza perdita di generalità possiamo supporre che LR = I. Supponiamo ora che esistauna funzione vettorialew soddisfacente le relazioni

∂w

∂u= R−1, ovvero

∂uk∂w= rk, k = 1, . . . , p.

Procedendo come fatto in precedenza, otteniamo

R−1∂u

∂t+ ΛR−1

∂u

∂x= 0

e dunque di nuovo il sistema diagonale (7.6). Introducendo di nuovo le curve carat-teristiche (7.7) (ora non saranno più delle rette in quanto gli autovalori λk varianoal variare di x e t), w è costante lungo di esse. Le componenti di w si chiamerannopertanto di nuovo variabili caratteristiche. Essendo R−1 = L (grazie alla relazione dinormalizzazione) otteniamo

∂wk

∂u· rm = lk · rm = δkm, k,m = 1, . . . , p.

Le funzioni wk, k = 1, . . . , p sono dette invarianti di Riemann del sistema iperbolico.

7.2.1 L’equazione delle onde

Consideriamo la seguente equazione iperbolica del secondo ordine

∂2u

∂t2− γ2

∂2u

∂x2= f, x ∈ (α, β), t > 0. (7.9)

Siano

u(x, 0) = u0(x) e∂u

∂t(x, 0) = v0(x), x ∈ (α, β),

Page 224: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

212 7 Differenze finite per equazioni iperboliche

i dati iniziali e supponiamo, inoltre, che u sia identicamente nulla al bordo

u(α, t) = 0 e u(β, t) = 0, t > 0. (7.10)

In questo caso, u può rappresentare lo spostamento verticale di una corda elasticavibrante di lunghezza pari a β−α, fissata agli estremi, e γ è un coefficiente dipendentedalla massa specifica della corda e dalla sua tensione. La corda è sottoposta ad unadensità di forza verticale f .

Le funzioni u0(x) e v0(x) descrivono, rispettivamente, lo spostamento iniziale ela velocità iniziale della corda.

Come già notato nel Cap. 1, se si sostituisce ∂2u∂t2 con t2, ∂

2u∂x2 con x2 e f con k

(costante), l’equazione delle onde diventa

t2 − γ2x2 = k

che rappresenta un’iperbole nel piano (x, t).

Indichiamo per semplicità di notazioni con ut la derivata ∂u∂t , ux la derivata ∂u∂x eusiamo notazioni analoghe per le derivate seconde.

Supponiamo ora che f sia nulla. Dall’equazione (7.9) si può dedurre che in questocaso l’energia cinetica del sistema si conserva, cioè (si veda l’Esercizio 1)

‖ut(t)‖2L2(α,β) + γ2 ‖ux(t)‖2L2(α,β) = ‖v0‖2L2(α,β) + γ2 ‖u0x‖2L2(α,β). (7.11)

Con il cambio di variabili

ω1=ux, ω2=ut,

l’equazione delle onde (7.9) si trasforma nel seguente sistema del prim’ordine

∂ω

∂t+A

∂ω

∂x= f , x ∈ (α, β), t > 0, (7.12)

dove

ω =

[ω1ω2

], A =

[0 −1−γ2 0

], f =

[0f

],

le cui condizioni iniziali sono ω1(x, 0) = u′0(x) e ω2(x, 0) = v0(x).Poiché gli autovalori di A sono i due numeri reali distinti±γ (le velocità di propaga-zione dell’onda), il sistema (7.12) è iperbolico.Si noti che, anche in questo caso, a dati iniziali regolari corrispondono soluzio-ni regolari, mentre discontinuità nei dati iniziali si propagheranno lungo le linee

caratteristichedx

dt= ±γ.

7.3 Il metodo delle differenze finite

Considereremo ora per semplicità il caso del problema (7.1). Per risolverlo numerica-mente si possono utilizzare discretizzazioni spazio-temporali basate sul metodo delle

Page 225: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7.3 Il metodo delle differenze finite 213

differenze finite. In tal caso il semipiano {t > 0} viene discretizzato scegliendo unpasso temporale Δt, un passo di discretizzazione spaziale h e definendo i punti digriglia (xj , tn) nel seguente modo

xj=jh, j ∈ Z, tn=nΔt, n ∈ N.

Sia

λ=Δt/h,

e definiamo

xj+1/2=xj + h/2.

Cerchiamo soluzioni discrete unj che approssimano u(xj, tn) per ogni j e n.

I problemi ai valori iniziali iperbolici sono spesso discretizzati in tempo con me-todi espliciti. Questo, naturalmente, impone delle restrizioni sui valori di λ, restrizio-ni che i metodi impliciti di solito non hanno. Consideriamo, ad esempio, il problema(7.1). Un qualsiasi metodo esplicito alle differenze finite può essere scritto nella forma

un+1j = unj − λ(Hnj+1/2 −Hnj−1/2), (7.13)

dove Hnj+1/2 = H(unj , unj+1) per un’opportuna funzione H(·, ·) detta flusso numeri-

co.Lo schema numerico (7.13) nasce, essenzialmente, dalla seguente considerazione.

Supponiamo che a sia costante e scriviamo l’equazione (7.1) in forma conservativa

∂u

∂t+

∂(au)

∂x= 0,

essendo au il flusso associato all’equazione. Integrando in spazio si ottiene

xj+1/2∫xj−1/2

∂u

∂tdx+ [au]

xj+1/2xj−1/2 = 0, j ∈ Z

ovvero

∂tUj +

(au)(xj+ 12 )− (au)(xj−12 )h

= 0, dove Uj = h−1

xj+ 12∫

xj− 12

u(x) dx.

La (7.13) può ora interpretarsi come un’approssimazione in cui si discretizzi la de-rivata temporale con la differenza finita di Eulero in avanti, Uj sia sostituita da uj eHj+1/2 sia una opportuna approssimazione di (au)(xj+ 12 ).

Page 226: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

214 7 Differenze finite per equazioni iperboliche

7.3.1 Discretizzazione dell’equazione scalare

Nell’ambito dei metodi espliciti, i metodi numerici si differenziano a seconda di comeviene scelto il flusso numerico H . In particolare, citiamo i metodi seguenti:

- Eulero in avanti/centrato (EA/C)

un+1j = unj −λ

2a(unj+1 − unj−1), (7.14)

che è della forma (7.13) con

Hj+1/2 =1

2a(uj+1 + uj). (7.15)

- Lax-Friedrichs (LF)

un+1j =1

2(unj+1 + unj−1) −

λ

2a(unj+1 − unj−1), (7.16)

anch’esso della forma (7.13) con

Hj+1/2 =1

2[a(uj+1 + uj)− λ−1(uj+1 − uj)]. (7.17)

- Lax-Wendroff (LW)

un+1j = unj −λ

2a(unj+1 − unj−1) +

λ2

2a2(unj+1 − 2unj + unj−1), (7.18)

che si può riscrivere nella forma (7.13) pur di prendere

Hj+1/2 =1

2[a(uj+1 + uj)− λa2(uj+1 − uj)]. (7.19)

- Upwind (o Eulero in avanti/ decentrato) (U)

un+1j = unj −λ

2a(unj+1 − unj−1) +

λ

2|a|(unj+1 − 2unj + unj−1), (7.20)

corrispondente alla forma (7.13) pur di scegliere

Hj+1/2 =1

2[a(uj+1 + uj) − |a|(uj+1 − uj)]. (7.21)

Il metodo LF rappresenta una modifica del metodo EA/C consistente nel sostituire ilvalore nodale unj in (7.14) con la media dei valori nodali precedente unj−1 e successivounj+1.Il metodo LW si può derivare applicando dapprima lo sviluppo di Taylor rispetto allavariabile temporale

un+1 = un + (∂tu)nΔt+ (∂ttu)

nΔt2

2+O(Δt3),

Page 227: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7.3 Il metodo delle differenze finite 215

ove (∂tu)n indica la derivata parziale di u al tempo tn. Indi, usando l’equazione (7.1),si sostituisce ∂tu con −a∂xu, e ∂ttu con a2∂xxu. Trascurando il resto O(Δt3) ed ap-prossimando le derivate spaziali con differenze finite centrate, si perviene alla (7.18).Infine il metodo U si ottiene discretizzando il termine convettivo a∂xu dell’equazionecon la differenza finita upwind, come visto nel Cap. 5, Sez. 5.6.

Tutti gli schemi precedentemente introdotti sono espliciti. Un esempio di metodoimplicito è il seguente:

- Eulero all’indietro/centrato (EI/C)

un+1j +λ

2a(un+1j+1 − un+1j−1 ) = unj . (7.22)

Naturalmente, anche gli schemi impliciti si possono scrivere in una forma genera-le simile alla (7.13) in cui Hn sia sostituito da Hn+1. Nel caso specifico, il flussonumerico sarà ancora definito dalla (7.15).

Il vantaggio della formulazione (7.13) è che essa può essere estesa facilmente alcaso di problemi iperbolici più generali.Esamineremo, in particolare, il caso dei sistemi lineari nel Cap. 7.3.2. L’estensione alcaso di equazioni iperboliche non lineari verrà invece considerato nella Sez. 9.2.Infine, indichiamo i seguenti schemi per l’approssimazione dell’equazione delle onde(7.9), sempre nel caso f = 0:

- Leap-Frog

un+1j − 2unj + un−1j = (γλ)2(unj+1 − 2unj + unj−1). (7.23)

- Newmark

un+1j − 2unj + un−1j =(γλ)2

4

(wn−1j + 2wnj + wn+1j

), (7.24)

dove wnj = unj+1 − 2unj + unj−1.

7.3.2 Discretizzazione di sistemi iperbolici lineari

Consideriamo il sistema lineare (7.5). Generalizzando la (7.13), uno schema numericodi approssimazione alle differenze finite può essere scritto nella forma

un+1j = unj − λ(Hnj+1/2 −Hnj−1/2),

dove unj è il vettore approssimante u(xj, tn) e Hj+1/2 è, ora, un flusso numericovettoriale. La sua espressione formale si può derivare facilmente, generalizzando ilcaso scalare e sostituendo, a, a2, |a| rispettivamente con A, A2, |A|, nelle (7.15),(7.17), (7.19), (7.21), essendo

|A|=T|Λ|T−1,

Page 228: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

216 7 Differenze finite per equazioni iperboliche

dove |Λ|=diag(|λ1|, ..., |λp|) e T è la matrice degli autovettori di A.Ad esempio, trasformando il sistema (7.5) in p equazioni di trasporto indipendenti

e approssimando ognuna di esse con uno schema upwind per equazioni scalari, siottiene il seguente schema numerico upwind per il sistema di partenza

un+1j = unj −λ

2A(unj+1 − unj−1) +

λ

2|A|(unj+1− 2unj + unj−1).

Il flusso numerico di tale schema è

Hj+ 12=1

2[A(uj+1 + uj)− |A|(uj+1 − uj)].

Il metodo di Lax-Wendroff diventa

un+1j = unj −1

2λA(unj+1 − unj−1) +

1

2λ2A2(unj+1 − 2unj + unj−1)

ed il suo flusso numerico è

Hj+ 12 =1

2[A(uj+1 − uj) − λA2(uj+1 − uj)].

7.3.3 Trattamento del bordo

Nel caso si voglia discretizzare l’equazione iperbolica (7.3) su un intervallo limitato,si dovrà ovviamente utilizzare il nodo di inflow x = α per imporre la condizioneal bordo, diciamo un+10 = ϕ(tn+1), mentre in tutti gli altri nodi xj, 1 ≤ j ≤ m(compreso quello di outflow xm = β) si scriverà lo schema alle differenze finite.

Va tuttavia osservato che gli schemi che fanno uso di una discretizzazione centratadella derivata spaziale richiedono un particolare trattamento in xm. In effetti essi ri-chiederebbero l’uso del valore um+1, che non è disponibile essendo relativo al puntodi coordinate β + h che giace al di fuori dell’intervallo di integrazione. Il problemapuò essere risolto in vari modi. Una possibilità è utilizzare unicamente per l’ultimonodo una discretizzazione decentrata di tipo upwind, che non richiede la conoscenzadel dato in xm+1 , che tuttavia è solo del primo ordine. Alternativamente, il valoreun+1m può essere ottenuto tramite estrapolazione dai valori disponibili nei nodi interni.Per esempio, una estrapolazione lungo le linee caratteristiche applicata ad uno schemaper cui λa ≤ 1 fornisce un+1m = unm−1λa + unm(1 − λa).

Un’ulteriore possibilità consiste nell’applicare anche al nodo di outflow xm loschema alle differenze finite centrate ed utilizzare, ove compaia unm+1 , una sua ap-prossimazione basata sulla estrapolazione costante (unm+1 = unm), o lineare (unm+1 =2unm − unm−1).

La questione diviene più problematica nel caso dei sistemi iperbolici, ove si devericorrere al concetto di equazioni di compatibilità. Per approfondire questi aspetti edanalizzare le possibili instabilità derivanti dal trattamento numerico al bordo, il lettorepuò riferirsi a [Str89], [QV94, Cap. 14] e [LeV07].

Page 229: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7.4 Analisi dei metodi alle differenze finite 217

7.4 Analisi dei metodi alle differenze finite

Analizziamo le proprietà di consistenza, stabilità, convergenza e accuratezza deimetodi alle differenze finite precedentemente introdotti.

7.4.1 Consistenza e convergenza

Per un dato schema numerico, l’errore di troncamento locale è l’errore che si generapretendendo che la soluzione esatta verifichi lo schema numerico stesso.

Ad esempio, nel caso dello schema (7.14), indicata con u la soluzione del pro-blema esatto (7.1), possiamo definire l’errore di troncamento nel punto (xj, tn) comesegue

τnj =u(xj, t

n+1)− u(xj, tn)

Δt+ a

u(xj+1, tn)− u(xj−1, tn)

2h.

Se l’errore di troncamento

τ (Δt, h)=maxj,n|τnj |

tende a zero quando Δt e h tendono a zero, indipendentemente, allora lo schemanumerico si dirà consistente.

Si dirà inoltre che uno schema numerico è accurato all’ordine p in tempo e al-l’ordine q in spazio (per opportuni interi p e q), se per una soluzione sufficientementeregolare del problema esatto, si ha

τ (Δt, h) = O(Δtp + hq).

Utilizzando gli sviluppi di Taylor in modo opportuno, si può allora vedere che l’erroredi troncamento dei metodi precedentemente introdotti si comporta come segue:

- Eulero (in avanti o all’indietro ) /centrato: O(Δt + h2);- Upwind: O(Δt+ h) ;- Lax-Friedrichs : O( h2Δt +Δt+ h2) ;- Lax-Wendroff : O(Δt2 + h2 + h2Δt).

Diremo infine che uno schema è convergente (nella norma del massimo) se

limΔt,h→0

(maxj,n|u(xj, tn)− unj |) = 0.

Naturalmente si possono anche considerare norme più deboli, come quelle ‖ · ‖Δ,1 e‖ · ‖Δ,2 che introdurremo in (7.26).

7.4.2 Stabilità

Diremo che un metodo numerico per un problema iperbolico lineare è stabile se perogni tempo T esiste una costante CT > 0 (eventualmente dipendente da T ) tale che

Page 230: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

218 7 Differenze finite per equazioni iperboliche

per ogni h>0, esiste δ0 > 0 possibilmente dipendente da h t.c. per ogni 0 < Δt < δ0si abbia

‖un‖Δ ≤ CT ‖u0‖Δ, (7.25)

per ogni n tale che nΔt ≤ T , e per ogni dato iniziale u0. Si noti che CT non devedipendere da Δt e h. Spesso (sempre nel caso di metodi espliciti) la stabilità si avràsolo se il passo temporale è sufficientemente piccolo rispetto a quello spaziale, ovveroper δ0 = δ0(h).

La notazione ‖ · ‖Δ indica una norma discreta opportuna, ad esempio

‖v‖Δ,p=

⎛⎝h

∞∑j=−∞

|vj|p⎞⎠

1p

per p = 1, 2, ‖v‖Δ,∞=supj|vj|. (7.26)

Si noti come ‖v‖Δ,p rappresenti un’approssimazione della norma Lp(R), per p = 1, 2o +∞.

Lo schema implicito di Eulero all’indietro/centrato (7.22) è stabile nella norma‖ · ‖Δ,2 per una qualunque scelta dei parametri Δt e h (si veda l’Esercizio 2).

Uno schema è detto fortemente stabile rispetto alla norma ‖ · ‖Δ se

‖un‖Δ ≤ ‖un−1‖Δ, n ≥ 1, (7.27)

il che implica che la (7.25) sia verificata con CT = 1).

Osservazione 7.1 Molto spesso nel contesto di problemi iperbolici si cercano solu-zioni per tempi lunghi (cioè per T � 1). In questi casi è normalmente richiesta laforte stabilità dello schema, in quanto essa garantisce che la soluzione numerica sialimitata per ogni valore di T . •

Come vedremo, condizione necessaria affinché uno schema numerico esplicitodella forma (7.13) sia stabile, è che il passo di discretizzazione temporale e quellospaziale siano legati tra loro dalla seguente relazione

|aλ| ≤ 1, ovvero Δt ≤ h

|a| (7.28)

che viene detta condizione CFL (da Courant, Friedrichs e Lewy). Il numero aλ vie-ne comunemente chiamato numero di CFL.; si tratta di una quantità adimensionale(essendo a una velocità).

L’interpretazione geometrica della condizione di stabilità CFL è la seguente. Inuno schema alle differenze finite, il valore di un+1j dipende, in generale, dai valoriunj+i di un nei tre punti xj+i, i = −1, 0, 1. Procedendo all’indietro si desume chela soluzione un+1j dipenderà solo dai dati iniziali nei punti xj+i, per i = −(n +1), ..., (n+ 1) (si veda la Fig. 7.3).

Indicando con dominio di dipendenza numerico DΔt(xj, tn) il dominio di indi-

pendenza di unj , che verrà pertanto chiamato dominio di dipendenza numerico di unj ,

Page 231: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7.4 Analisi dei metodi alle differenze finite 219

x+Δx

t

(x, t)

x−Δx x x+Δx

(x, t)

r1 r2r2r1

t

t−Δtx−Δx x

Figura 7.3. Interpretazione geometrica della condizione CFL per un sistema con p = 2, doveri = x− λi(t − t) i = 1, 2. La condizione CFL è soddisfatta nel caso di sinistra, è violata nelcaso di destra

esso verificherà, quindi

DΔt(xj , tn) ⊂ {x ∈ R : |x− xj | ≤ nh =

tn

λ}.

Conseguentemente, per ogni punto fissato (x, t) si ha

DΔt(x, t) ⊂ {x ∈ R : |x− x| ≤ t

λ}.

In particolare, prendendo il limite per Δt→ 0, e fissando λ, il dominio di dipendenzanumerico diventa

D0(x, t) = {x ∈ R : |x− x| ≤ t

λ}.

La condizione (7.28) è allora equivalente all’inclusione

D(x, t) ⊂ D0(x, t), (7.29)

dove D(x, t) è il dominio di dipendenza della soluzione esatta definito nella (7.8). Sinoti che nel caso scalare, p = 1 e λ1 = a.

Osservazione 7.2 La condizione CFL stabilisce, in particolare, che non esistonoschemi alle differenze finite espliciti, incondizionatamente stabili e consistenti perproblemi ai valori iniziali iperbolici. Infatti, se fosse violata la condizione CFL, esi-sterebbe almeno un punto x∗ nel dominio di dipendenza non appartenente al dominiodi dipendenza numerico. Cambiando il dato iniziale in x∗ muterà allora solo la solu-zione esatta e non quella numerica. Questo implica una non-convergenza del metodo equindi anche la sua instabilità dato che, per un metodo consistente, il Teorema di equi-valenza di Lax-Richtmyer afferma che la stabilità è condizione necessaria e sufficienteper la sua convergenza. •

Osservazione 7.3 Nel caso in cui a = a(x, t) non sia più costante nella (7.1), lacondizione CFL diventa

Δt ≤ h

supx∈R, t>0

|a(x, t)|,

Page 232: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

220 7 Differenze finite per equazioni iperboliche

e se anche il passo di discretizzazione spaziale viene fatto variare si ha

Δt ≤ mink

hksup

x∈(xk,xk+1), t>0|a(x, t)|,

essendo hk = xk+1 − xk. •

Facendo riferimento al sistema iperbolico (7.5), la condizione di stabilità CFL, deltutto analoga alla (7.28), sarà∣∣∣∣λkΔt

h

∣∣∣∣ ≤ 1, k = 1, . . . , p, o, equivalentemente, Δt ≤ h

maxk |λk|,

dove {λk, k = 1 . . . , p} sono gli autovalori di A.Anche questa condizione può scriversi nella forma (7.29). Essa esprime la richiesta

che ogni retta della forma x = x − λk(t − t), k = 1, . . . , p, deve intersecare la rettaorizzontale t = t−Δt in punti x(k) che stanno all’interno del dominio di dipendenzanumerico.

Teorema 7.1 Se la condizione CFL (7.28) è soddisfatta, gli schemi upwind, diLax-Friedrichs e Lax-Wendroff sono fortemente stabili nella norma ‖ · ‖Δ,1.

Dimostrazione. Per dimostrare la stabilità dello schema upwind (7.20) lo riscriviamonella forma seguente (avendo supposto a > 0)

un+1j = unj − λa(unj − unj−1).

Allora

‖un+1‖Δ,1 ≤ h∑j

|(1− λa)unj |+ h∑j

|λaunj−1|.

Nell’ipotesi (7.28) entrambi i valori λa e 1− λa sono non negativi. Pertanto

‖un+1‖Δ,1 ≤ h(1− λa)∑j

|unj |+ hλa∑j

|unj−1| = ‖un‖Δ,1,

ovvero vale la disuguaglianza (7.25) con CT = 1. Lo schema è dunque fortementestabile rispetto alla norma ‖ · ‖Δ = ‖ · ‖Δ,1.

Per lo schema di Lax-Friedrichs, sempre nell’ipotesi (7.28), dalla (7.16) discende

un+1j =1

2(1− λa)unj+1 +

1

2(1 + λa)unj−1,

Page 233: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7.4 Analisi dei metodi alle differenze finite 221

dunque

‖un+1‖Δ,1 ≤ 1

2h

⎡⎣∑j

∣∣(1− λa)unj+1∣∣+∑

j

∣∣(1 + λa)unj−1∣∣⎤⎦

≤ 1

2(1− λa)‖un‖Δ,1 +

1

2(1 + λa)‖un‖Δ,1 = ‖un‖Δ,1.

Per lo schema di Lax-Wendroff la dimostrazione è analoga (si veda ad esempio [QV94,Cap. 14] o [Str89]). �

Si può infine dimostrare che, se la condizione CFL è verificata, lo schema upwindsoddisfa

‖un‖Δ,∞ ≤ ‖u0‖Δ,∞ ∀n ≥ 0, (7.30)

ovvero è fortemente stabile nella norma ‖ · ‖Δ,∞. La relazione (7.30) è detta principiodi massimo discreto (si veda l’Esercizio 4).

Teorema 7.2 Lo schema di Eulero all’indietro EI/C è fortemente stabile nellanorma || · ||Δ,2, senza alcuna restrizione su Δt. Quello di Eulero in avanti EA/C,invece, non è mai fortemente stabile. Tuttavia esso è stabile con costante CT =eT/2 pur di assumere che Δt soddisfi la seguente condizione (più restrittiva dellacondizione CFL)

Δt ≤(

h

a

)2. (7.31)

Dimostrazione. Osserviamo che

(B − A)B =1

2(B2 − A2 + (B − A)2) ∀A,B ∈ R. (7.32)

Infatti

(B − A)B = (B −A)2 + (B −A)A =1

2((B −A)2 + (B −A)(B +A)).

Moltiplicando la (7.22) per un+1j si trova

(un+1j )2 + (un+1j − unj )2 = (unj )

2 − λa(un+1j+1 − un+1j−1 )un+1j .

Osservando che ∑j∈Z(un+1j+1 − un+1j−1 )u

n+1j = 0 (7.33)

(essendo una somma telescopica), si ottiene subito che ||un+1||2Δ,2 ≤ ||un||2Δ,2, che èil risultato cercato per lo schema EI/C.

Passiamo ora allo schema EA/C e moltiplichiamo la (7.14) per unj . Osservandoche

(B −A)A =1

2(B2 − A2 − (B − A)2) ∀A,B ∈ R, (7.34)

Page 234: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

222 7 Differenze finite per equazioni iperboliche

troviamo

(un+1j )2 = (unj )2 + (un+1j − unj )

2 − λa(unj+1 − unj−1)unj .

D’altro canto sempre dalla (7.14) otteniamo che

un+1j − unj = −λa

2(unj+1 − unj−1)

e dunque

(un+1j )2 = (unj )2 +

(λa

2

)2(unj+1 − unj−1)

2 − λa(unj+1 − unj−1)unj .

Sommando ora su j ed osservando che l’ultimo addendo dà luogo ad una sommatelescopica (e pertanto non fornisce alcun contributo) si ottiene, dopo aver moltiplicatoper h,

‖un+1‖2Δ,2 = ‖un‖2Δ,2 +(

λa

2

)2h∑j∈Z(unj+1 − unj−1)

2,

da cui si evince che per nessun valore di Δt il metodo è fortemente stabile. Tuttavia,essendo

(unj+1 − unj−1)2 ≤ 2

[(unj+1)

2 + (unj−1)2],

troviamo che, sotto l’ipotesi (7.31),

‖un+1‖2Δ,2 ≤ (1 + λ2a2)‖un‖2Δ,2 ≤ (1 +Δt)‖un‖2Δ,2.Procedendo ricorsivamente si trova

‖un‖2Δ,2 ≤ (1 +Δt)n‖u0‖2Δ,2 ≤ eT ‖u0‖2Δ,2,dove si è utilizzata la disuguaglianza

(1 +Δt)n ≤ enΔt ≤ eT ∀n t.c. tn ≤ T.

Si conclude che

‖un‖Δ,2 ≤ eT/2‖u0‖Δ,2,che è il risultato di stabilità cercato per lo schema EA/C. �

7.4.3 Analisi di von Neumann e coefficienti di amplificazione

La stabilità di uno schema nella norma || · ||Δ,2 si può studiare anche con l’analisi divon Neumann. A tal fine, facciamo l’ipotesi che la funzione u0(x) sia 2π-periodica edunque si possa scrivere in serie di Fourier come segue

u0(x) =∞∑

k=−∞αke

ikx, (7.35)

Page 235: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7.4 Analisi dei metodi alle differenze finite 223

dove

αk =1

2π∫0

u0(x) e−ikx dx

è il k-esimo coefficiente di Fourier. Pertanto,

u0j = u0(xj) =

∞∑k=−∞

αkeikjh, j = 0, ±1, ±2, · · ·

Si può verificare che applicando uno qualunque degli schemi alle differenze visti nellaSez. 7.3.1 si perviene alla seguente relazione

unj =

∞∑k=−∞

αkeikjhγnk , j = 0,±1,±2, . . . , n ≥ 1. (7.36)

Il numero γk ∈ C è detto coefficiente d’amplificazione della k-esima frequenza (oarmonica), e caratterizza lo schema in esame. Ad esempio, nel caso del metodo diEulero in avanti centrato (EA/C) si trova

u1j =

∞∑k=−∞

αkeikjh

(1− aΔt

2h(eikh − e−ikh)

)

=

∞∑k=−∞

αkeikjh

(1− aΔt

hi sin(kh)

).

Pertanto,

γk = 1−aΔt

hi sin(kh) e dunque |γk| =

{1 +

(aΔt

hsin(kh)

)2} 12

.

Poiché esistono valori di k per i quali |γk| > 1, per nessun valore di Δt e h lo schemaè fortemente stabile.

Procedendo in modo analogo per gli altri schemi si trovano i coefficienti riportatinella Tabella 7.1.

Vedremo ora come l’analisi di von Neumann può applicarsi per studiare la stabilitàdi uno schema numerico rispetto alla norma ‖ · ‖Δ,2 e per accertarne le caratteristichedi dissipazione e di dispersione.

Dimostriamo a tal fine il seguente risultato:

Teorema 7.3 Se esiste un numero β ≥ 0, e un intero positivo m tale per cui,per scelte opportune di Δt e h, si abbia |γk| ≤ (1 + βΔt)

1m per ogni k, allora

lo schema è stabile rispetto alla norma ‖ · ‖Δ,2 con costante di stabilità CT =eβT/m. In particolare, se si può prendere β = 0 (e quindi |γk| ≤ 1 ∀k) allora loschema è fortemente stabile rispetto alla stessa norma.

Page 236: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

224 7 Differenze finite per equazioni iperboliche

Tabella 7.1. Coefficiente d’amplificazione per i differenti schemi numerici presentati nella Sez.7.3.1. Si ricorda che λ = Δt/h

Schema γkEulero in avanti/Centrato 1− iaλ sin(kh)Eulero all’indietro/Centrato (1 + iaλ sin(kh))−1

Upwind 1− |a|λ(1− e−ikh)Lax-Friedrichs cos kh− iaλ sin(kh)Lax-Wendroff 1− iaλ sin(kh) − a2λ2(1− cos(kh))

Dimostrazione. Supporremo che il problema (7.1) sia posto sull’intervallo [0, 2π]. Intale intervallo, consideriamo N + 1 nodi equidistanziati,

xj = jh j = 0, . . . , N, con h =2π

N,

(con N un intero positivo pari) in cui soddisfare lo schema numerico (7.13). Suppor-remo inoltre per semplicità che il dato iniziale u0 sia periodico. Poiché lo schemanumerico dipende solo dai valori di u0 nei nodi xj , possiamo sostituire u0 con ilpolinomio di Fourier di ordine N/2,

u0(x) =

N2 −1∑k=−N2

αkeikx (7.37)

che lo interpola nei nodi. Si noti che u0 è una funzione periodica di periodicità 2π. Siavrà, grazie alla (7.36),

u0j = u0(xj) =

N2 −1∑k=−N2

αkeikjh, unj =

N2 −1∑k=−N2

αkγnk eikjh.

Osserviamo che

‖un‖2Δ,2 = h

N−1∑j=0

N2 −1∑

k,m=−N2

αkαm(γkγm)nei(k−m)jh.

Essendo

h

N−1∑j=0

ei(k−m)jh = 2πδkm, −N

2≤ k,m ≤ N

2− 1,

(si veda, per esempio, [QSS08]) si trova

‖un‖2Δ,2 = 2πN2 −1∑k=−N2

|αk|2|γk|2n.

Page 237: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7.4 Analisi dei metodi alle differenze finite 225

Grazie all’ipotesi abbiamo

‖un‖2Δ,2 ≤ (1 + βΔt)2nm 2π

N2 −1∑k=−N2

|αk|2 = (1 + βΔt)2nm ‖u0‖2Δ,2 ∀n ≥ 0.

Poiché 1 + βΔt ≤ eβΔt, si deduce che

‖un‖Δ,2 ≤ eβΔtnm ‖u0‖Δ,2 = e

βTm ‖u0‖Δ,2 ∀n t.c. nΔt ≤ T.

Ciò prova il Teorema. �

Osservazione 7.4 Nel caso si richieda la stabilità forte, la condizione |γk| ≤ 1indicata nel Teorema 7.3 è anche necessaria. •

Nel caso dello schema upwind (7.20), essendo

|γk|2 = [1− |a|λ(1− cos kh)]2 + a2λ2 sin2 kh, k ∈ Z,

si ottiene

∀k, |γk| ≤ 1 se Δt ≤ h

|a| , (7.38)

cioè si trova che la condizione CFL garantisce la stabilità forte in norma || · ||Δ,2.Procedendo in modo analogo, si può verificare che anche per lo schema di Lax-

Friedrichs vale la (7.38).Lo schema di Eulero all’indietro centrato EI/C è invece incondizionatamente for-

temente stabile nella norma ‖ · ‖Δ,2, essendo |γk| ≤ 1 per ogni k e per ogni possibilescelta di Δt e h, come già ottenuto per altra via nel Teorema 7.2.

Nel caso del metodo di Eulero in avanti centrato EA/C si ha

|γk|2 = 1 +a2Δt2

h2sin2(kh) ≤ 1 + a2Δt2

h2, k ∈ Z.

Se β > 0 è una costante tale che

Δt ≤ βh2

a2(7.39)

allora |γk| ≤ (1 + βΔt)1/2. Pertanto applicando il Teorema 7.3 (con m = 2) sideduce che il metodo EA/C è stabile, seppure con una condizione più restrittiva dellacondizione CFL, come già ottenuto per altra via nel Teorema 7.2.

Si può trovare una condizione di stabilità forte per il metodo di Eulero in avanticentrato nel caso si consideri l’equazione di trasporto e reazione

∂u

∂t+ a

∂u

∂x+ a0u = 0, (7.40)

Page 238: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

226 7 Differenze finite per equazioni iperboliche

u 02

0 1/3 2/3 x1 0 0.5 1 1.5 2 2.50

0.2

0.4

0.6

0.8

1

1.2

Δ t = 2 t*ΔΔΔ t = 0.98 t*

Figura 7.4. La figura a destra mostra l’andamento di ‖un‖Δ,2, dove un è la soluzione dell’e-quazione (7.40) (con a = a0 = 1) ottenuta con il metodo EA/C, per due valori di Δt, unoinferiore e l’altro superiore al valore critico Δt∗. A sinistra, il dato iniziale utilizzato

con a0 > 0. In tal caso si ha infatti per ogni k ∈ Z

|γk|2 = 1− 2a0Δt+Δt2a20 + λ2 sin2(kh) ≤ 1− 2a0Δt+Δt2a20 +

(aΔt

h

)2e quindi lo schema risulta essere fortemente stabile sotto la condizione

Δt <2a0

a20 + h−2a2. (7.41)

Esempio 7.1 Al fine di verificare numericamente la condizione di stabilità (7.41), abbiamoconsiderato l’equazione (7.40) nell’intervallo (0, 1) con condizioni al bordo periodiche. Si èscelto a = a0 = 1 e il dato iniziale u0 uguale a 2 nell’intervallo (1/3, 2/3) e 0 altrove.Essendo il dato iniziale un’onda quadra, il suo sviluppo di Fourier presenta tutti i coefficientiαk non nulli. In Fig. 7.4 a destra si riporta ‖un‖Δ,2 nell’intervallo di tempo (0, 2.5) per duevalori diΔt, uno superiore e l’altro inferiore al valore criticoΔt∗ = 2/(1+h−2), fornito dalla(7.41). Si noti che perΔt < Δt∗ la norma è decrescente, mentre, in caso contrario, dopo unadecrescita iniziale essa cresce in modo esponenziale. La Fig. 7.5 mostra invece il risultato pera0 = 0 ottenuto con EA/C utilizzando lo stesso dato iniziale. Nella figura a sinistra si mostral’andamento di ‖un‖Δ,2 per diversi valori di h e utilizzandoΔt = 10h2, cioè variando il passotemporale seguendo la restrizione fornita dalla disuguaglianza (7.39), prendendoβ = 0. Si puònotare come la norma della soluzione rimanga limitata per valori di h decrescenti. A destra nellastessa figura si illustra il risultato ottenuto per gli stessi valori di h prendendo come condizioneΔt = 0.1h, che corrisponde a un numero di CFL costante e pari a 0.1. In questo caso la normadiscreta della soluzione numerica “esplode” al decrescere di h, come atteso. �

7.4.4 Dissipazione e dispersione

L’analisi dei coefficienti di amplificazione, oltre a consentirci di indagare la stabili-tà di uno schema numerico, è utile anche a studiarne le proprietà di dissipazione edispersione.

Page 239: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7.4 Analisi dei metodi alle differenze finite 227

0 0.5 1 1.50

50

100

150

h=0.01h=0.02h=5x10−3

h=2.5x10−3

0 0.5 1 1.50

50

100

150

h=0.01h=0.02h=5x10−3

h=2.5x10−3

Figura 7.5. Andamento di ‖un‖Δ,2 dove un è la soluzione ottenuta con il metodo EA/C, nelcaso a0 = 0 e per diversi valori di h. A sinistra il caso in cui Δt soddisfa la condizione distabilità (7.39). A destra i risultati ottenuti mantenendo il numero di CFL costante e pari a 0.1,violando la condizione (7.39)

Per capire di cosa si tratti, consideriamo la soluzione esatta del problema (7.1); peressa abbiamo la seguente relazione

u(x, tn) = u0(x− anΔt), n ≥ 0, x ∈ R,

essendo tn = nΔt. In particolare, utilizzando la (7.35) otteniamo

u(xj, tn) =

∞∑k=−∞

αkeikjh(gk)

n con gk = e−iakΔt. (7.42)

Confrontando la (7.42) con la (7.36) si può notare come il coefficiente di am-plificazione γk (generato dallo specifico schema numerico) sia il corrispondente digk.

Osserviamo che |gk| = 1 per ogni k ∈ Z, mentre deve essere |γk| ≤ 1 al finedi garantire la stabilità forte dello schema. Pertanto, γk è un coefficiente dissipativo.Più piccolo sarà |γk|, maggiore sarà la riduzione dell’ampiezza αk, e, di conseguenza,maggiore sarà la dissipazione dello schema numerico.Il rapporto εa(k) =

|γk||gk| è chiamato errore di amplificazione (o di dissipazione) della

k-esima armonica associato allo schema numerico (e nel nostro caso esso coincidecon il coefficiente d’amplificazione).Posto

φk = kh,

essendo kΔt = λφk si ottienegk = e−iaλφk . (7.43)

Il numero reale φk, qui espresso in radianti, è detto angolo di fase relativo alla k-esimaarmonica.

Riscrivendo γk nel modo seguente

γk = |γk|e−iωΔt = |γk|e−i

ω

kλφk

,

Page 240: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

228 7 Differenze finite per equazioni iperboliche

e confrontando tale relazione con (7.43), possiamo dedurre che il rapporto ωk rappre-senta la velocità di propagazione della soluzione numerica, relativamente alla k-esimaarmonica. Il rapporto

εd(k) =ω

ka=

ωh

φka

tra tale velocità e la velocità di propagazione a della soluzione esatta è detto errore didispersione εd relativamente alla k-esima armonica.

L’errore di amplificazione (o dissipazione) e quello di dispersione per gli scheminumerici fin qui analizzati variano in funzione dell’angolo di fase φk e del numerodi CFL aλ, come riportato nella Fig. 7.6. Per ragioni di simmetria si è consideratol’intervallo 0 ≤ φk ≤ π e si sono usati in ascissa i gradi al posto dei radianti perindicare φk. Si noti come lo schema di Eulero in avanti/centrato presenti, per tutti iCFL considerati, una curva del fattore di amplificazione con valori eccedenti l’unità,in accordo con il fatto che tale schema non è mai fortemente stabile.

Esempio 7.2 Nella Fig. 7.7 si confrontano i risultati numerici ottenuti risolvendo l’equazione(7.1) con a = 1 e dato iniziale u0 costituito da un pacchetto di due onde sinusoidali di egualelunghezza d’onda l centrate nell’origine (x = 0). Nelle immagini a sinistra l = 10h, mentre

in quelle di destra abbiamo l = 4h. Essendo k =2π

l, si ha φk =

lh e dunque i valori

dell’angolo di fase del pacchetto d’onde sono a sinistra φk = π/10 ed a destra φk = π/4. Lasoluzione numerica è stata calcolata per il valore 0.75 del numero di CFL, utilizzando i diversischemi (stabili) precedentemente illustrati. Si può notare come l’effetto dissipativo sia moltoforte alle alte frequenze (φk = π/4) ed in particolare per i metodi del prim’ordine (upwind,Eulero all’indietro/centrato e Lax-Friedrichs).

Per poter apprezzare gli effetti di dispersione, la soluzione per φk = π/4 dopo 8 passitemporali è riportata in Fig. 7.8. Si può notare come il metodo di Lax-Wendroff sia il menodissipativo. Inoltre, osservando attentamente la posizione delle creste d’onda numeriche rispettoa quelle della soluzione esatta, si può verificare che il metodo di Lax-Friedrichs presenta unerrore di dispersione positivo, infatti l’onda numerica risulta anticipare quella esatta. Ancheil metodo upwind è poco dispersivo per un numero di CFL pari a 0.75, mentre è evidentela dispersione dei metodi di Lax-Friedrichs e di Eulero all’indietro (anche dopo solo 8 passitemporali!). �

7.5 Equazioni equivalenti

Ad ogni schema numerico possiamo associare una famiglia di equazioni differenziali,dette equazioni equivalenti.

7.5.1 Il caso dello schema upwind

Concentriamoci dapprima sullo schema upwind. Supponiamo esista una funzione re-golare v(x, t) che soddisfi l’equazione alle differenze (7.20) in ogni punto (x, t) ∈

Page 241: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7.5 Equazioni equivalenti 229

0 20 40 60 80 100 120 140 160 1800

0.2

0.4

0.6

0.8

1

1.2Fattore di amplificazione Eulero esplicito

ε a

0 20 40 60 80 100 120 140 160 180

0

0.2

0.4

0.6

0.8

1

Fattore di dispersione Eulero esplicito

κ Δ x

ε φ

0 20 40 60 80 100 120 140 160 1800

0.2

0.4

0.6

0.8

1

1.2Fattore di amplificazione Eulero implicito

ε a

0 20 40 60 80 100 120 140 160 180

0

0.2

0.4

0.6

0.8

1

Fattore di dispersione Eulero implicito

κ Δ x

ε φ

0 20 40 60 80 100 120 140 160 1800

0.2

0.4

0.6

0.8

1

1.2Fattore di amplificazione Lax−Friedrichs

ε a

0 20 40 60 80 100 120 140 160 180

1

2

3

4

5

Fattore di dispersione Lax−Friedrichs

κ Δ x

ε φ

0 20 40 60 80 100 120 140 160 1800

0.2

0.4

0.6

0.8

1

1.2Fattore di amplificazione Upwind

ε a

0 20 40 60 80 100 120 140 160 180

0

0.5

1

Fattore di dispersione Upwind

κ Δ x

ε φ

0 20 40 60 80 100 120 140 160 1800

0.2

0.4

0.6

0.8

1

1.2Fattore di amplificazione Lax−Wendroff

ε a

0 20 40 60 80 100 120 140 160 180

0

0.5

1

Fattore di dispersione Lax−Wendroff

κ Δ x

ε φ

CFL = 0.25CFL = 0.50CFL = 0.75CFL = 1.00

Figura 7.6. Errori di amplificazione e dispersione per differenti schemi numerici in funzionedell’angolo di fase φk = kh e per diversi valori del numero di CFL

Page 242: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

230 7 Differenze finite per equazioni iperboliche

−1 −0.5 0 0.5 1 1.5 2 2.5 3

−1

−0.5

0

0.5

1

x

u

Lax−Wendroff CFL= 0.75, φk=π/10,t= 1.0

−1 −0.5 0 0.5 1 1.5 2 2.5 3

−1

−0.5

0

0.5

1

x

u

Lax−Wendroff CFL= 0.75, φk=π/4,t= 1.0

−1 −0.5 0 0.5 1 1.5 2 2.5 3

−1

−0.5

0

0.5

1

x

u

Lax−Friedrichs CFL= 0.75, φk=π/10,t= 1.0

−1 −0.5 0 0.5 1 1.5 2 2.5 3

−1

−0.5

0

0.5

1

x

u

Lax−Friedrichs CFL= 0.75, φk=π/4,t= 1.0

−1 −0.5 0 0.5 1 1.5 2 2.5 3

−1

−0.5

0

0.5

1

x

u

Upwind CFL= 0.75, φk=π/10,t= 1.0

−1 −0.5 0 0.5 1 1.5 2 2.5 3

−1

−0.5

0

0.5

1

x

u

Upwind CFL= 0.75, φk=π/4,t= 1.0

−1 −0.5 0 0.5 1 1.5 2 2.5 3

−1

−0.5

0

0.5

1

x

u

Backward Euler CFL= 0.75, φk=π/10,t= 1.0

−1 −0.5 0 0.5 1 1.5 2 2.5 3

−1

−0.5

0

0.5

1

x

u

Backward Euler CFL= 0.75, φk=π/4,t= 1.0

Figura 7.7. Soluzione numerica del trasporto convettivo di un pacchetto d’onde sinusoidali didiversa lunghezza d’onda (l = 10h a sinistra, l = 4h a destra) ottenuta con differenti scheminumerici (la dicitura ‘Backward Euler’ sta per ‘Eulero all’indietro/centrato’). In linea continuala soluzione numerica per t = 1, in linea tratteggiata la soluzione esatta allo stesso istantetemporale

Page 243: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7.5 Equazioni equivalenti 231

−0.5 0 0.5 1 1.5

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

u

Lax−Wendroff CFL= 0.75, φk x=π/4

−0.5 0 0.5 1 1.5

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

u

Lax−Friedrichs CFL= 0.75, φk=π/4

−0.5 0 0.5 1 1.5

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

u

Upwind CFL= 0.75, φk=π/4

−0.5 0 0.5 1 1.5

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

u

Backward Euler CFL= 0.75, φk=π/4

Figura 7.8. Soluzione numerica del trasporto convettivo di un pacchetto d’onde sinu-soidali. In linea continua è riportata la soluzione dopo 8 passi temporali. In linea trat-teggiata la corrispondente soluzione esatta (la dicitura ‘Backward Euler’ sta per ‘Euleroall’indietro/centrato’)

R × R+ (e non solo nei nodi di griglia (xj, tn)!). Possiamo allora scrivere (nel casoin cui a > 0)

v(x, t+Δt)− v(x, t)

Δt+ a

v(x, t)− v(x − h, t)

h= 0. (7.44)

Usando gli sviluppi di Taylor rispetto a x e rispetto a t relativamente al punto (x, t)possiamo scrivere, nell’ipotesi che v sia di classe C4 rispetto a x e a t,

v(x, t+Δt)− v(x, t)

Δt= vt +

Δt

2vtt +

Δt2

6vttt +O(Δt3),

av(x, t)− v(x − h, t)

h= avx −

ah

2vxx +

ah2

6vxxx +O(h3),

Page 244: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

232 7 Differenze finite per equazioni iperboliche

dove le derivate a secondo membro sono tutte valutate nel punto (x, t). Grazie alla(7.44) deduciamo che, in ogni punto (x, t), la funzione v soddisfa la relazione

vt + avx = RU +O(Δt3 + h3), (7.45)

con

RU =1

2(ah vxx −Δt vtt)−

1

6(ah2vxxx +Δt2vttt).

Derivando formalmente tale equazione rispetto a t, troviamo

vtt + avxt = RUt +O(Δt3 + h3).

Derivandola invece rispetto a x, abbiamo

vxt + avxx = RUx +O(Δt3 + h3). (7.46)

Pertanto,vtt = a2vxx + RUt − aRUx +O(Δt3 + h3) (7.47)

il che ci consente di ottenere dalla (7.45)

vt+avx = μvxx−1

6(ah2vxxx+Δt2vttt)−

Δt

2(RUt −aRUx )+O(Δt3+h3), (7.48)

avendo posto

μ =1

2ah(1− (aλ)) (7.49)

e, al solito, λ = Δt/h. Derivando ora formalmente la (7.47) rispetto a t, quindi la(7.46) rispetto a x, troviamo

vttt = a2vxxt +RUtt − aRUxt +O(Δt3 + h3)

= −a3vxxx + a2RUxx +RUtt − aRUxt +O(Δt3 + h3).(7.50)

Abbiamo inoltre che

RUt =1

2ah vxxt −

Δt

2vttt −

ah2

6vxxxt −

Δt2

6vtttt,

RUx =1

2ah vxxx −

Δt

2vttx −

ah2

6vxxxx −

Δt2

6vtttx.

(7.51)

Usando le relazioni (7.50) e (7.51) nella (7.48) otteniamo

vt + avx = μvxx −ah2

6

(1− a2Δt2

h2− 3aΔt

2h

)vxxx

+Δt

4

(Δt vttt − ah vxxt − aΔt vttx

)︸ ︷︷ ︸

(A)

+Δt

12(Δt2vtttt − aΔt2vtttx + ah2vxxxt − a2h2vxxxx)

− a2Δt2

6RUxx −

Δt2

6RUtt + a

Δt2

6RUxt +O(Δt3 + h3).

(7.52)

Page 245: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7.5 Equazioni equivalenti 233

Interessiamoci ora delle derivate terze di v contenute nel termine (A). Grazie alla(7.50), alla (7.46) e alla (7.47), troviamo, rispettivamente:

vttt = −a3vxxx + r1,

vxxt = −a vxxx + r2,

vttx = a2vxxx + r3,

essendo r1, r2 ed r3 termini che contengono derivate di v di ordine non inferiore alquarto, nonché termini di ordine O(Δt3 + h3). (Si osservi che dalla definizione diRU discende che le sue derivate di ordine due si esprimono attraverso derivate di vdi ordine non inferiore al quarto.) Raccogliendo i coefficienti che moltiplicano vxxx,deduciamo pertanto dalla (7.52) che

vt + avx = μvxx + νvxxx + R4(v) +O(Δt3 + h3), (7.53)

essendo

ν = −ah2

6(1 − 3aλ+ 2(aλ)2), (7.54)

ed avendo indicato con R4(v) l’insieme dei termini contenenti le derivate di v diordine non inferiore al quarto.Possiamo concludere che la funzione v soddisfa l’equazione

vt + avx = 0 (7.55)

se si trascurano i termini contenenti derivate di ordine superiore al primo, l’equazione

vt + avx = μvxx (7.56)

se si trascurano i termini contenenti derivate di ordine superiore al secondo, e l’equa-zione

vt + avx = μvxx + νvxxx (7.57)

se si trascurano le derivate di ordine superiore al terzo, essendo μ e ν definiti in (7.49)e (7.54). Le (7.55), (7.56) e (7.57) si chiamano equazioni equivalenti (al primo, secon-do e terz’ordine, rispettivamente) relative allo schema upwind.

7.5.2 Il caso dei metodi di Lax-Friedrichs e Lax-Wendroff

Procedendo in modo analogo si possono derivare le equazioni equivalenti di un qua-lunque schema numerico. Ad esempio, nel caso dello schema di Lax-Friedrichs, indi-cata con v un’ipotetica funzione che verifichi l’equazione (7.16) in ogni punto (x, t),osservato che

1

2

(v(x + h, t) + v(x− h, t)

)= v +

h2

2vxx +O(h4),

1

2

(v(x + h, t)− v(x− h, t)

)= h vx +

h3

6vxxx +O(h4),

Page 246: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

234 7 Differenze finite per equazioni iperboliche

otteniamo

vt + avx = RLF +O( h4

Δt+Δt3

), (7.58)

questa volta essendo

RLF =h2

2Δt(vxx − λ2vtt) −

a h2

6(vxxx +

λ2

avttt).

Procedendo come fatto in precedenza, calcoli tediosi consentono di dedurre dalla(7.58) le equazioni equivalenti (7.55)-(7.57), in questo caso essendo

μ =h2

2Δt(1− (aλ)2), ν =

ah2

3(1 − (aλ)2).

Nel caso dello schema di Lax-Wendroff le equazioni equivalenti sono caratterizzate daiseguenti parametri

μ = 0, ν =ah2

6((aλ)2 − 1).

7.5.3 Sul significato dei coefficienti nelle equazioni equivalenti

In generale, nelle equazioni equivalenti, il termine μvxx rappresenta una dissipa-zione, mentre νvxxx una dispersione. Possiamo darne una dimostrazione euristicaesaminando la soluzione del problema{

vt + avx = μvxx + νvxxx, x ∈ R, t > 0,

v(x, 0) = eikx, k ∈ Z.(7.59)

Applicando la trasformata di Fourier si trova, se μ = ν = 0,

v(x, t) = eik(x−at),

mentre per μ e ν numeri reali arbitrari (con μ > 0) si ha

v(x, t) = e−μk2teik[x−(a+νk

2)t].

Confrontando queste due relazioni si vede che il modulo della soluzione viene ab-battuto tanto maggiormente quanto più μ è grande. Tale effetto è tanto più rilevantequanto più la frequenza k è grande (fenomeno già rilevato, con argomentazioni inparte differenti, nella precedente sezione).

Il termine μvxx nella (7.59) ha pertanto un effetto dissipativo sulla soluzione. Con-frontando ancora fra loro le due espressioni precedenti, si vede che la presenza del ter-mine ν modifica la velocità di propagazione della soluzione, aumentandola nel casoν > 0, diminuendola se ν < 0. Anche in questo caso l’effetto è più rilevante ad altefrequenze. Quindi, il termine di derivata terza νvxxx introduce un effetto dispersivo.

Page 247: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7.5 Equazioni equivalenti 235

In generale, nell’equazione equivalente, derivate spaziali di ordine pari rappresen-tano termini diffusivi, mentre derivate di ordine dispari rappresentano termini disper-sivi. Per gli schemi del prim’ordine (come l’upwind) l’effetto dispersivo è spesso pocovisibile, in quanto mascherato da quello dissipativo. Prendendo Δt e h dello stesso or-dine, dalla (7.56) e (7.57) si evince che ν << μ per h → 0, essendo ν = O(h2)e μ = O(h). In particolare, se il numero di CFL vale 1

2l’equazione equivalente al

terzo ordine del metodo upwind presenta dispersione nulla, in accordo con i risultatinumerici visti nella sezione precedente.

L’effetto dispersivo è invece evidente per lo schema di Lax-Friedrichs, così co-me per lo schema di Lax-Wendroff che, essendo del second’ordine, non presenta untermine dissipativo del tipo μvxx. Tuttavia, essendo stabile, esso non può non es-sere dissipativo. In effetti l’equazione equivalente del quart’ordine per lo schema diLax-Wendroff è

vt + avx =ah2

6[(aλ)2 − 1]vxxx −

ah3

6aλ[1− (aλ)2]vxxxx,

dove l’ultimo termine è dissipativo se |aλ| < 1, come si può facilmente verificareapplicando la trasformata di Fourier. Si ritrova dunque, anche per il metodo di Lax-Wendroff, la condizione CFL.

7.5.4 Equazioni equivalenti e analisi dell’errore

La tecnica utilizzata per ottenere le equazioni equivalenti presenta una stretta analo-gia con la cosiddetta analisi all’indietro che si incontra nella risoluzione numerica disistemi lineari, dove la soluzione calcolata (non esatta) viene interpretata come solu-zione esatta di un sistema lineare perturbato (si veda [QSS08, Cap. 3]). In effetti, ilsistema perturbato gioca un ruolo analogo a quello dell’equazione equivalente.

Osserviamo inoltre che l’analisi dell’errore di una schema numerico si può dedurredalla conoscenza dell’equazione equivalente ad esso associata. In effetti, indicandogenericamente con r = μvxx+ νvxxx il termine a destra della equazione equivalente,per confronto con la (7.1) otteniamo l’equazione dell’errore

et + aex = r,

dove e = v − u. Moltiplicando tale equazione per e e integrando in spazio e in tempo(fra 0 e t) otteniamo

‖e(t)‖L2(R) ≤ C(t)

⎛⎝‖e(0)‖L2(R) +√∫ t

0

‖r(s)‖2L2(R)ds

⎞⎠ , t > 0

avendo usato la stima a priori (7.4). Possiamo supporre e(0) = 0 ed osservare quindiche ‖e(t)‖L2(R) tende a zero (per h e Δt tendenti a zero) all’ordine 1 per lo schemaupwind o di Lax-Friedrichs, e all’ordine 2 per Lax-Wendroff (avendo supposto v re-golare quanto basta).

Page 248: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

236 7 Differenze finite per equazioni iperboliche

7.6 Esercizi

1. Si verifichi che la soluzione del problema (7.9)-(7.10) (con f = 0) soddisfal’identità (7.11).[Soluzione: Moltiplicando la (7.9) per ut ed integrando in spazio si ottiene

0 =

β∫α

uttut dx−β∫α

γ2uxxut dx =1

2

β∫α

[(ut)2]t dx+

β∫α

γ2uxuxt dx−[γ2uxut]βα.

(7.60)Essendo

β∫α

uttut dx =1

2

β∫α

[(ut)2]t dx e

β∫α

γ2uxuxt dx =1

2

β∫α

γ2[(ux)2]t dx,

integrando in tempo la (7.60), si ha

β∫α

u2t (t) dx+

β∫α

γ2u2x(t) dx−β∫α

v20 dx−β∫α

u20x dx = 0. (7.61)

Da quest’ultima relazione segue subito (7.11).]2. Verificare che la soluzione fornita dallo schema (7.22) di Eulero all’indietro/centrato

è incondizionatamente stabile; più precisamente

‖u‖Δ,2 ≤ ‖u0‖Δ,2 ∀Δt, h> 0.

[Soluzione: Si noti che, grazie alla (7.32),

(un+1j − unj )un+1j ≥ 1

2

(|un+1j |2 − |unj |2

)∀j, n.

Allora, moltiplicando la (7.22) per un+1j , sommando sull’indice j e usando la(7.33) si trova ∑

j

|un+1j |2 ≤∑j

|un|2 ∀n ≥ 0,

da cui segue il risultato.]3. Si dimostri la (7.30)

[Soluzione: Osserviamo che, nel caso in cui a > 0, lo schema upwind si puòriscrivere nella forma

un+1j = (1− aλ)unj + aλunj−1.

Nell’ipotesi (7.28) entrambi i coefficienti aλ e 1− aλ sono non negativi, pertanto

min(unj , unj−1) ≤ un+1j ≤ max(unj , unj−1).

Page 249: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

7.6 Esercizi 237

Allora

infl∈Z{u0l } ≤ unj ≤ sup

l∈Z{u0l } ∀j ∈ Z, ∀n ≥ 0,

da cui segue la (7.30).]4. Si studi l’accuratezza dello schema di Lax-Friedrichs (7.16) per la soluzione del

problema (7.1).5. Si studi l’accuratezza dello schema di Lax-Wendroff (7.18) per la soluzione del

problema (7.1).

Page 250: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8

Elementi finiti e metodi spettrali perequazioni iperboliche

In questo capitolo illustreremo come applicare metodi di tipo Galerkin, in particolareil metodo degli elementi finiti e i metodi spettrali, per la discretizzazione spaziale e/otemporale di equazioni iperboliche scalari. Tratteremo sia il caso di elementi continuisia quello di elementi discontinui.

Consideriamo il problema di trasporto (7.3) e per semplicità poniamo (α, β) =(0, 1), ϕ = 0 e supponiamo che a sia una costante positiva ed a0 una costante nonnegativa.

Procediamo con una discretizzazione spaziale con elementi finiti continui. Cer-chiamo pertanto una semidiscretizzazione della seguente forma:∀t > 0, trovare uh = uh(t) ∈ Vh t.c.(

∂uh

∂t, vh

)+ a

(∂uh

∂x, vh

)+ a0 (uh, vh) = (f, vh) ∀vh ∈ Vh, (8.1)

essendo u0h l’approssimazione del dato iniziale. Come d’abitudine, indicheremo poicon unh , n ≥ 0, l’approssimazione al tempo tn = nΔt. Abbiamo posto

Vh = {vh ∈ Xrh : vh(0) = 0}, r ≥ 1.Lo spazio Xrh è definito come in (3.14), pur di sostituire (a, b) con (0, 1).

8.1 Discretizzazione temporale

Per la discretizzazione temporale del problema (8.1) useremo schemi alle differenzefinite come quelli introdotti nel capitolo precedente.

8.1.1 Gli schemi di Eulero in avanti e all’indietro

Nel caso si utilizzi lo schema di Eulero in avanti il problema discreto diventa:∀n ≥ 0, trovare un+1h ∈ Vh tale che

1

Δt

(un+1h − unh, vh

)+ a

(∂unh∂x

, vh

)+ a0 (u

nh , vh) = (f

n , vh) ∀vh ∈ Vh, (8.2)

dove (u, v) =∫ 10u(x)v(x)dx denota come di consueto il prodotto scalare di L2(0, 1).

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 251: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

240 8 Elementi finiti e metodi spettrali per equazioni iperboliche

Nel caso del metodo di Eulero all’indietro, anziché (8.2) avremo

1

Δt

(un+1h − unh, vh

)+ a

(∂un+1h

∂x, vh

)+ a0

(un+1h , vh

)=(fn+1, vh

)∀vh ∈ Vh.

(8.3)

Teorema 8.1 Lo schema di Eulero all’indietro è fortemente stabile senza alcunarestrizione su Δt. Quello di Eulero in avanti, invece, lo è solo per a0 > 0, pur disupporre che

Δt ≤ 2a0(aCh−1 + a0)2

(8.4)

per una opportuna costante C = C(r).

Dimostrazione. Scegliendo vh = unh in (8.2), si ottiene (nel caso in cui f = 0)

(un+1h − unh, u

nh

)+Δta

(∂unh∂x

, unh

)+Δta0‖unh‖2L2(0,1) = 0.

Per il primo addendo usiamo l’identità

(v − w,w) =1

2

(‖v‖2L2(0,1) − ‖w‖2L2(0,1) − ‖v −w‖2L2(0,1)

)∀v, w ∈ L2(0, 1) (8.5)

che generalizza la (7.34). Per il secondo addendo integrando per parti ed utilizzandole condizioni al bordo si trova(

∂unh∂x

, unh

)=1

2(unh(1))

2.

Si ottiene quindi

‖un+1h ‖2L2(0,1) + aΔt(unh(1))2 + 2a0Δt‖unh‖2L2(0,1)

= ‖unh‖2L2(0,1) + ‖un+1h − unh‖2L2(0,1). (8.6)

Cerchiamo ora una stima per il termine ‖un+1h − unh‖2L2(0,1). A tale scopo, ponendo

nella (8.2) vh = un+1h − unh, otteniamo

‖un+1h − unh‖2L2(0,1) ≤ Δta∣∣∣(∂unh∂x , un+1h − unh

)∣∣∣+Δta0∣∣(unh , un+1h − unh

)∣∣≤ Δt

[a‖∂u

nh

∂x‖L2(0,1) + a0‖unh‖L2(0,1)

]‖un+1h − unh‖L2(0,1).

Page 252: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.1 Discretizzazione temporale 241

Utilizzando ora la disuguaglianza inversa (5.37) (particolarizzata all’intervallo (0, 1),otteniamo

‖un+1h − unh‖L2(0,1) ≤ Δt(aCIh

−1 + a0)‖unh‖L2(0,1).

In definitiva, (8.6) diviene

‖un+1h ‖2L2(0,1) + aΔt(unh(1))2

+Δt[2a0 −Δt(aCIh

−1 + a0)2]‖unh‖2L2(0,1) ≤ ‖unh‖2L2(0,1).

(8.7)

Se la (8.4) è soddisfatta, allora ‖un+1h ‖L2(0,1) ≤ ‖unh‖L2(0,1) e si ha dunque unastabilità forte in norma L2(0, 1).

Nel caso in cui a0 = 0 la condizione di stabilità ricavata perde di significato.Tuttavia se supponiamo che

Δt ≤ Kh2

a2C2I,

per una qualche costante K > 0, allora si può applicare il Lemma di Gronwall (nellasua forma discreta) alla (8.7) e si trova che il metodo è stabile con una costante distabilità che in questo caso dipende dal tempo finale T . Precisamente,

‖unh‖L2(0,1) ≤ exp (Ktn)‖u0h‖L2(0,1) ≤ exp (KT )‖u0h‖L2(0,1).

Nel caso del metodo di Eulero all’indietro (8.3), scegliamo invece vh = un+1h .Usando ora la relazione

(v − w, v) =1

2

(‖v‖2L2(0,1) − ‖w‖2L2(0,1) + ‖v −w‖2L2(0,1)

)∀v, w ∈ L2(0, 1) (8.8)

che generalizza la (7.32), si trova,

(1 + 2a0Δt)‖un+1h ‖2L2(0,1) + aΔt(un+1h (1))2 ≤ ‖unh‖2L2(0,1). (8.9)

Pertanto si ha stabilità forte in L2(0, 1), incondizionata (ovvero per ogni Δt) e perogni a0 ≥ 0. �

8.1.2 Gli schemi upwind, di Lax-Friedrichs e Lax-Wendroff

La generalizzazione al caso degli elementi finiti degli schemi alle differenze finite diLax-Friedrichs (LF), di Lax-Wendroff (LW) e upwind (U) si può fare in diversi modi.

Iniziamo con l’osservare che le (7.16), (7.18) e (7.20) si possono riscrivere nellaseguente forma comune

un+1j − unj

Δt+ a

unj+1 − unj−12h

− μunj+1 − 2unj + unj−1

h2= 0, (8.10)

dove il secondo termine è la discretizzazione con differenze finite centrate del termineconvettivo aux(t

n), mentre il terzo è un termine di diffusione numerica e corrisponde

Page 253: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

242 8 Elementi finiti e metodi spettrali per equazioni iperboliche

alla discretizzazione con differenze finite di −μuxx(tn)). Il coefficiente μ di viscosità

numerica è dato da

μ =

⎧⎪⎨⎪⎩h2/2Δt (LF),

a2Δt/2 (LW),

ah/2 (U).

(8.11)

La (8.10) suggerisce la seguente versione agli elementi finiti per l’approssimazionedel problema (7.3): ∀n ≥ 0, trovare un+1h ∈ Vh tale che

1

Δt

(un+1h − unh, vh

)+ a

(∂unh∂x

, vh

)+ a0 (u

nh , vh)

(∂unh∂x

,∂vh

∂x

)− μγ

∂unh∂x(1)vh(1) = (f

n , vh) ∀vh ∈ Vh,

(8.12)

dove γ = 1, 0 a seconda che si voglia o meno tener conto del contributo di bordonell’integrazione per parti effettuata nel termine di viscosità numerica.

Per l’analisi di stabilità, nel caso γ = 0, a0 = 0, a > 0, si ponga vh = un+1h −unh,in modo da ottenere, grazie alla disuguaglianza (3.41)

‖un+1h − unh‖L2(0,1) ≤ Δt(a+ μCIh−1)‖∂u

nh

∂x‖L2(0,1).

Posto ora vh = unh si ottiene, grazie alla (8.5)

‖un+1h ‖2L2(0,1) − ‖unh‖2L2(0,1) + aΔt(unh(1))2 + 2Δtμ‖∂u

nh

∂x‖2L2(0,1)

= ‖un+1h − unh‖2L2(0,1) ≤ Δt2(a+ μCIh−1)2‖∂u

nh

∂x‖2L2(0,1).

Una condizione sufficiente per la stabilità forte (ovvero per ottenere una stima come(7.27), rispetto alla norma ‖ · ‖L2(0,1)) è pertanto

Δt ≤ 2μ

(a + μCIh−1)2.

Grazie alla (8.11), nel caso del metodo upwind ciò equivale a

Δt ≤ h

a

(1

1 +CI/2

)2.

Essendo CI ≤ 2√3, nel caso di elementi finiti lineari, si desume che

aΔt

h≤(

1

1 +√3

)2.

L’analisi di stabilità appena sviluppata è basata sul metodo dell’energia e, in que-sto caso, conduce a risultati non ottimali. Una migliore indicazione si può ottenere

Page 254: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.1 Discretizzazione temporale 243

ricorrendo all’analisi di von Neumann. A tale fine osserviamo che, nel caso di ele-menti finiti lineari e spaziatura h costante, la (8.12) con f = 0 si può riscrivere, perogni nodo interno xj , nel modo seguente

1

6(un+1j+1 + 4u

n+1j + un+1j−1 ) +

λa

2(unj+1 − unj−1) +

a06(unj+1 + 4u

nj + unj−1)

−μΔtunj+1 − 2unj + unj−1

h2=1

6(unj+1 + 4u

nj + unj−1).

(8.13)

Confrontando tale relazione con la (8.10), si può notare come la differenza risiedasolo nel termine che proviene dalla derivata temporale e dal termine di ordine zero,ed è dovuto alla presenza della matrice di massa nel caso degli elementi finiti. D’altraparte si è già visto nella Sez. 5.5 che si può applicare la tecnica del mass-lumping perapprossimare la matrice di massa con una matrice diagonale. Così facendo lo schema(8.13) si riduce effettivamente a (8.10) (si veda l’Esercizio 1).

Osservazione 8.1 Si noti che le relazioni fornite si riferiscono ai nodi interni. Il mododi trattare le condizioni di bordo con il metodo agli elementi finiti dà in generale luogoa relazioni diverse da quelle che si ottengono con il metodo alle differenze finite. •

Queste considerazioni ci permettono di estendere tutti gli schemi visti nella Sez. 7.3.1a schemi analoghi, generati da discretizzazioni in spazio con elementi finiti linearicontinui. A tale scopo, basterà infatti sostituire il termine un+1j − unj con

1

6[(un+1j−1 − unj−1) + 4(u

n+1j − unj ) + (u

n+1j+1 − unj+1)].

Così facendo, lo schema generale (7.13) viene sostituito da

1

6(un+1j−1 +4u

n+1j +un+1j−1 ) =

1

6(unj−1+4u

nj +unj−1)−λ(Hn∗j+1/2−Hn∗j−1/2), (8.14)

dove

Hn∗j+1/2 =

⎧⎨⎩ Hnj+1/2 per un avanzamento temporale esplicito,

Hn+1j+1/2 per un avanzamento temporale implicito.

Si noti che, anche se si adottasse un flusso numerico corrispondente ad un avanza-mento temporale esplicito, lo schema risultante darebbe luogo ad un sistema non piùdiagonale (in effetti diventa un sistema tridiagonale) a causa della presenza del terminedi massa. Potrebbe quindi sembrare che l’uso di uno schema esplicito agli elementi fi-niti sia non conveniente rispetto ad uno schema analogo alle differenze finite. Tuttavia,tali schemi hanno delle caratteristiche interessanti.In particolare, consideriamone i coefficienti d’amplificazione e di dispersione, utiliz-zando l’analisi di von Neumann illustrata nella Sez. 7.4.3. A tale scopo supponiamoche l’equazione differenziale sia definita su tutto R, o, alternativamente, consideria-mo un intervallo limitato, ma imponiamo condizioni al contorno periodiche, in modo

Page 255: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

244 8 Elementi finiti e metodi spettrali per equazioni iperboliche

da poter assumere che la relazione (8.14) sia valida per tutti i valori dell’indice j.Semplici calcoli ci portano a scrivere la seguente relazione tra il coefficiente d’am-plificazione γk di uno schema alle differenze finite (vedi Tabella 7.1) e il coefficiented’amplificazione γFEMk del corrispondente schema ad elementi finiti

γFEMk =3γk − 1 + cos (φk)2 + cos (φk)

, (8.15)

dove con φk si è ancora indicato l’angolo di fase relativo alla k-esima armonica (siveda la Sez. 7.4.3).

Possiamo quindi calcolare gli errori di amplificazione e di dispersione, che sonostati riportati in Fig. 8.1. Confrontandoli con gli analoghi errori relativi ai corrispon-denti schemi alle differenze finite (riportati in Fig. 7.6) si possono fare le seguentiosservazioni. Lo schema di Eulero in avanti è ancora incondizionatamente instabile(nel senso della stabilità forte). Lo schema upwind (FEM) è fortemente stabile se ilnumero di CFL è inferiore a 13 (dunque un risultato meno restrittivo di quanto trovatocon il metodo dell’energia), mentre il metodo di Lax-Friedrichs (FEM) non soddisfamai la condizione γFEMk ≤ 1 (in questo caso in accordo con il risultato che si trove-rebbe utilizzando il metodo dell’energia).Più in generale, si può affermare che nel caso di schemi con trattamento temporaleesplicito la versione “agli elementi finiti” richiede condizioni di stabilità più restrit-tive di quella corrispondente alle differenze finite. In particolare per lo schema Lax-Wendroff ad elementi finiti, che indicheremo con LW (FEM), il numero di CFL deveessere ora inferiore a 1√

3, anziché a 1 come nel caso delle differenze finite. Tuttavia,

lo schema LW (FEM) (per i valori di CFL per cui è stabile), risulta essere legger-mente meno diffusivo e dispersivo dell’equivalente schema alle differenze finite perun ampio spettro di valori dell’angolo di fase φk = kh. Lo schema di Eulero impli-cito resta incondizionatamente stabile anche nella versione FEM (coerentemente conquanto ottenuto usando il metodo dell’energia nella Sez. 8.1.1).

Esempio 8.1 Le precedenti conclusioni sono state verificate sperimentalmente nell’esempioche segue. Abbiamo ripetuto il caso della Fig. 7.7 a destra, dove ora abbiamo considerato unvalore di CFL pari a 0.5. Le soluzioni numeriche ottenute con il metodo di Lax-Wendroff clas-sico (LW) e con LW (FEM) per t = 2 sono riportate in Fig. 8.2. Si può notare come lo schemaLW (FEM) fornisca una soluzione più accurata e soprattutto più in fase con la soluzione esatta.Questo dato è confermato dal valore della norma ‖ · ‖Δ,2 dell’errore nei due casi. Si ha infatti,indicando con u la soluzione esatta e con uLW e uLW (FEM) quella ottenuta con i due scheminumerici,

‖uLW − u‖Δ,2 = 0.78, ‖uLW (FEM) − u‖Δ,2 = 0.49.

Altri test eseguiti utilizzando condizioni al contorno non periodiche evidenziano come i risultatidi stabilità rimangano validi. �

Page 256: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.1 Discretizzazione temporale 245

0 20 40 60 80 100 120 140 160 1800

0.2

0.4

0.6

0.8

1

1.2Fattore di Amplificazione Eulero Esplicito (FEM)

ε a

0 20 40 60 80 100 120 140 160 180

0

0.2

0.4

0.6

0.8

1

Fattore di Dispersione per Eulero Esplicito (FEM)

κ Δ x

ε φ

0 20 40 60 80 100 120 140 160 1800

0.2

0.4

0.6

0.8

1

1.2Fattore di Amplificazione Eulero Implicito (FEM)

ε a

0 20 40 60 80 100 120 140 160 180

0

0.2

0.4

0.6

0.8

1

Fattore di Dispersione per Eulero Implicito (FEM)

κ Δ x

ε φ

0 20 40 60 80 100 120 140 160 1800

0.2

0.4

0.6

0.8

1

1.2Fattore di amplificazione Lax−Friedrichs (FEM)

ε a

0 20 40 60 80 100 120 140 160 180

1

2

3

4

5

6

Fattore di dispersione Lax−Friedrichs (FEM)

κ Δ x

ε φ

0 20 40 60 80 100 120 140 160 1800

0.2

0.4

0.6

0.8

1

1.2Fattore di amplificazione Upwind (FEM)

ε a

0 20 40 60 80 100 120 140 160 180

1

1.5

2

2.5

3

3.5

4

Fattore di dispersione Upwind (FEM)

κ Δ x

ε φ

0 20 40 60 80 100 120 140 160 1800

0.2

0.4

0.6

0.8

1

1.2Fattore di amplificazione Lax−Wendroff (FEM)

ε a

0 20 40 60 80 100 120 140 160 180

0

0.5

1

1.5

2

Fattore di dispersione Lax−Wendroff (FEM)

κ Δ x

ε φ

CFL = 0.25CFL = 0.50CFL = 0.75CFL = 1.00

Figura 8.1. Errori di amplificazione e dispersione per differenti schemi numerici agli elementifiniti ottenuti dallo schema generale (8.14)

Page 257: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

246 8 Elementi finiti e metodi spettrali per equazioni iperboliche

0.5 1 1.5 2 2.5 3

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

u

LWLW(FEM)Esatta

Figura 8.2. Confronto della soluzione ottenuta con lo schema Lax-Wendroff alle differenzefinite (LW) e la versione agli elementi finiti (LW (FEM)) (φk = π/4, t = 2)

8.2 Gli schemi Taylor-Galerkin

Illustriamo ora una classe di schemi agli elementi finiti che prendono il nome dischemi “Taylor-Galerkin”. Essi sono derivati in maniera analoga allo schema diLax-Wendroff, ed infatti vedremo che la versione LW (FEM) fa parte di tale classe.

Per semplicità ci riferiremo al problema di puro trasporto (7.1). Il metodo Taylor-Galerkin consiste nel combinare la formula di Taylor troncata al prim’ordine

u(x, tn+1) = u(x, tn) +Δt∂u

∂t(x, tn) +

∫ tn+1tn

(s− tn)∂2u

∂t2(x, s) ds (8.16)

con l’equazione (7.1), grazie alla quale otteniamo

∂u

∂t= −a

∂u

∂x

e, per derivazione formale,

∂2u

∂t2=

∂t(−a

∂u

∂x) = −a

∂x

∂u

∂t= a2

∂2u

∂x2.

Dalla (8.16) si ottiene allora

u(x, tn+1) = u(x, tn)− aΔt∂u

∂x(x, tn) + a2

∫ tn+1tn

(s− tn)∂2u

∂x2(x, s) ds. (8.17)

Approssimiamo l’integrale nel modo seguente∫ tn+1tn

(s−tn)∂2u

∂x2(x, s) ds ≈ Δt2

2

[θ∂2u

∂x2(x, tn) + (1− θ)

∂2u

∂x2(x, tn+1)

], (8.18)

ottenuto valutando il primo fattore in s = tn + Δt2 e il secondo attraverso una com-

binazione lineare con parametro θ ∈ [0, 1] dei suoi valori in s = tn e s = tn+1.Indichiamo con un(x) la funzione approssimante u(x, tn).

Page 258: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.2 Gli schemi Taylor-Galerkin 247

Consideriamo due situazioni notevoli. Se θ = 1, lo schema semi-discretizzatorisultante è esplicito in tempo e si scrive

un+1 = un − aΔt∂un

∂x+

a2Δt2

2

∂2un

∂x2.

Se si ora discretizza in spazio con differenze finite o elementi finiti si ritrovano glischemi LW e LW (FEM) precedentemente esaminati.Se invece si prende θ = 2

3 , l’errore di approssimazione in (8.18) diventa O(Δt4) (sup-ponendo che u abbia la regolarità richiesta). Di fatto tale scelta corrisponde ad appros-simare ∂

2u∂x2

tra tn e tn+1 con la sua interpolante lineare. Lo schema semidiscretizzatorisultante si scrive[

1− a2Δt2

6

∂2

∂x2

]un+1 = un − aΔt

∂un

∂x+

a2Δt2

3

∂2un

∂x2(8.19)

e l’errore di troncamento dello schema semi-discretizzato in tempo (8.19) è O(Δt3).A questo punto una discretizzazione in spazio usando il metodo agli elementi finiti

conduce al seguente schema, detto di Taylor-Galerkin (TG):

per n = 0, 1, . . . trovare un+1h ∈ Vh tale per cui

A(un+1h , vh) = (unh , vh)− aΔt

(∂unh∂x

, vh

)− a2Δt2

3

(∂unh∂x

,∂vh∂x

)+γ

a2Δt2

3

∂unh∂x(1)vh(1) ∀vh ∈ Vh, (8.20)

dove

A(un+1h , vh) =(un+1h , vh

)+

a2Δt2

6

(∂un+1h

∂x,∂vh∂x

)− γ

a2Δt2

6

∂un+1h

∂x(1)vh(1),

e γ = 1, 0 a seconda che si voglia o meno tenere conto del contributo di bordonell’integrazione per parti del termine di derivata seconda.

Esso dà luogo ad un sistema lineare la cui matrice è

A = M+a2(Δt)2

6K,

essendo M la matrice di massa e K la matrice di rigidezza (stiffness), che tieneeventualmente conto anche del contributo di bordo (se γ = 1).

Nel caso di elementi finiti lineari, l’analisi di von Neumann porta al seguentefattore di amplificazione per lo schema (8.20)

γk =2 + cos(kh)− 2a2λ2(1− cos(kh)) + 3iaλ sin(kh)

2 + cos(kh) + a2λ2(1− cos(kh)) . (8.21)

Si può mostrare che lo schema è fortemente stabile in norma ‖ ·‖Δ,2 sotto la condizio-ne CFL aΔt

h≤ 1. Ha quindi una condizione di stabilità meno restrittiva dello schema

Page 259: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

248 8 Elementi finiti e metodi spettrali per equazioni iperboliche

0 20 40 60 80 100 120 140 160 1800

0.2

0.4

0.6

0.8

1

1.2Fattore di Amplificazione Taylor−Galerkin

ε a

CFL= 0.25CFL= 0.50CFL= 0.75CFL= 1.00

0 20 40 60 80 100 120 140 160 180

0

0.5

1

Fattore di dispersione Taylor−Galerkin

κ Δ x

ε φ

CFL= 0.25CFL= 0.50CFL= 0.75CFL= 1.00

Figura 8.3. Errore di amplificazione (sopra) e dispersione (sotto) dello schema Taylor-Galerkin(8.20), in funzione dell’angolo di fase φk = kh e per diversi valori del numero di CFL

Lax-Wendroff (FEM).La Fig. 8.3 mostra l’andamento dell’errore di amplificazione e dispersione per loschema (8.20), in funzione dell’angolo di fase, analogamente a quanto visto per altrischemi nella Sez. 7.4.4.

Nel caso di elementi finiti lineari l’errore di troncamento dello schema TG risultaessere O(Δt3) +O(h2) +O(h2Δt).

Esempio 8.2 Per confrontare l’accuratezza degli schemi presentati nelle ultime due sezioniabbiamo considerato il problema

⎧⎨⎩∂u

∂t+∂u

∂x= 0, x ∈ (0, 0.5), t > 0,

u(x, 0) = u0(x), x ∈ (0, 0.5),

con condizioni al contorno periodiche, u(0, t) = u(0.5, t), per t > 0. Il dato iniziale è u0(x) =2 cos(4πx) + sin(20πx), ed è illustrato in Fig. 8.4, a sinistra. Esso sovrappone due armoniche,una a bassa frequenza e l’altra ad alta frequenza.

Si sono considerati gli schemi Taylor-Galerkin, Lax-Wendroff (FEM), Lax-Wendroff (al-le differenze finite) ed upwind. In Fig. 8.4 (a destra) si mostra l’errore in norma discreta‖u − uh‖Δ,2 ottenuto al tempo t = 1 per differenti valori di Δt ed a numero di CFL fis-sato ed eguale a 0.55. Si può notare la migliore convergenza dello schema Taylor-Galerkin,mentre le due versioni dello schema Lax-Wendroff mostrano lo stesso ordine di convergenza,ma con un errore inferiore per la versione ad elementi finiti rispetto a quella alle differenzefinite. Lo schema upwind è meno accurato sia in termini assoluti che in relazione all’ordine diconvergenza. Inoltre, si può verificare che a CFL fissato l’errore dello schema upwind èO(Δt),quello di entrambi le varianti dello schema Lax-WendroffO(Δt2), mentre quello dello schemaTaylor-Galerkin è O(Δt3). �

Page 260: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.2 Gli schemi Taylor-Galerkin 249

0 0.1 0.2 0.3 0.4 0.5−3

−2

−1

0

1

2

3

x

u(x,

0)Soluzione iniziale

10−4

10−3

10−6

10−5

10−4

10−3

10−2

10−1

100

CFL=0.55

Δ t

||u−

u h|| Δ 2 p

er t=

1

LWLW(FEM)TGUpwind

Figura 8.4. Condizione iniziale u0 per la simulazione dell’Esempio 8.2 (a sinistra) ed errore‖u− uh‖Δ,2 per t = 1 al variare diΔt a CFL fissato per diversi schemi numerici (a destra)

Nelle Figure 8.5 e 8.6 riportiamo le approssimazioni numeriche ed i relativi errorinella norma del massimo per il problema di trasporto

⎧⎨⎩∂u

∂t− ∂u

∂x= 0 , x ∈ (0, 2π), t > 0

u(x, 0) = sin(π cos(x)

), x ∈ (0, 2π)

e condizioni al bordo periodiche. Tali approssimazioni sono ottenute con differenzefinite di ordine 2 e 4 (ufd2, ufd4), differenze finite compatte di ordine 4 e 6 (ucp4,ucp6) e con il metodo spettrale di Fourier (ugal). Per confronto si riporta anche lasoluzione esatta u(x, t) = sin

(π cos(x+ t)

)(uex).

0 0.5 1 1.5 2−1.5

−1

−0.5

0

0.5

1

1.5

xpi

uexufd2ufd4ucp4

0 0.5 1 1.5 2−1.5

−1

−0.5

0

0.5

1

1.5

xpi

uexugalucp6

Figura 8.5. Approssimazione della soluzione di un problema di propagazione di onde con di-versi metodi alle differenze finite (di ordine 2, 4), compatte (di ordine 4 e 6) e con il metodospettrale di Fourier (da [CHQZ06])

Page 261: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

250 8 Elementi finiti e metodi spettrali per equazioni iperboliche

100

101

102

103

10−14

10−12

10−10

10−8

10−6

10−4

10−2

100

102

N

ugalufd2ufd4ucp4ucp6

Figura 8.6. Andamento dell’errore nella norma del massimo per i diversi metodi numericiriportati in Fig. 8.5 (da [CHQZ06])

8.3 Il caso multidimensionale

Passiamo ora al caso multidimensionale e consideriamo il seguente problema iperbo-lico di trasporto-reazione del primo ordine, lineare, scalare, nel dominio Ω ⊂ Rd cond = 2, 3 ⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

∂u

∂t+ a · ∇u+ a0u = f, x ∈ Ω, t > 0

u = ϕ, x ∈ ∂Ωin, t > 0,

u|t=0 = u0, x ∈ Ω,

(8.22)

dove a = a(x), a0 = a0(x, t) (eventualmente nullo), f = f(x, t), ϕ = ϕ(x, t) eu0 = u0(x) sono funzioni assegnate. La frontiera di inflow ∂Ωin è definita da

∂Ωin={x ∈ ∂Ω : a(x) · n(x) < 0}, (8.23)

essendo n la normale esterna a ∂Ω.Per semplicità, abbiamo supposto che a non dipenda da t; in questo modo la

frontiera di inflow ∂Ωin non cambia al variare del tempo.

8.3.1 Semi-discretizzazione: trattamento forte e trattamento debole dellecondizioni al bordo

Per ottenere un’approssimazione semi-discreta del problema (8.22), analoga a quella(8.1) nel caso monodimensionale, definiamo gli spazi

Vh = Xrh, V inh ={vh ∈ Vh : vh|∂Ωin = 0},

dove r è un intero ≥ 1 e Xrh è stato introdotto in (3.28).

Page 262: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.3 Il caso multidimensionale 251

Indichiamo con u0,h e ϕh due opportune approssimazioni agli elementi finiti di u0e ϕ, e consideriamo il problema: per ogni t > 0 trovare uh(t) ∈ Vh tale che∫

Ω

∂uh(t)

∂tvh dΩ +

∫Ω

a · ∇uh(t)vh dΩ +

∫Ω

a0(t)uh(t)vh dΩ

=

∫Ω

f(t)vh dΩ ∀ vh ∈ V inh ,

uh(t) = ϕh(t) su ∂Ωin,

(8.24)

con uh(0) = u0,h ∈ Vh.Per ottenere una stima di stabilità, assumiamo per semplicità che ϕ, e quindi ϕh,

sia identicamente nulla. In questo caso uh(t) ∈ V inh , e prendendo, per ogni t, vh =uh(t), si ottiene la seguente disuguaglianza

‖uh(t)‖2L2(Ω) +t∫0

μ0‖uh(τ )‖2L2(Ω) dτ +t∫0

∫∂Ω\∂Ωin

a · n u2h(τ ) dγ dτ

≤ ‖u0,h‖2L2(Ω) +t∫0

1

μ0‖f(τ )‖2L2(Ω)dτ ,

(8.25)

dove si è supposto che, per t > 0 e per ogni x in Ω,

0 < μ0 ≤ μ(x, t) = a0(x, t)−1

2diva(x). (8.26)

Nel caso in cui non sia verificata questa ipotesi (ad esempio se a è un campo costantee a0 = 0), allora utilizzando il Lemma 6.1 (di Gronwall) si ottiene

‖uh(t)‖2L2(Ω) +t∫0

∫∂Ω\∂Ωin

a · n u2h(τ )dγ dτ

⎛⎝‖u0,h‖2L2(Ω) +t∫0

‖f(τ )‖2L2(Ω) dτ

⎞⎠ exp t∫0

[1 + 2μ∗(τ )] dτ,

(8.27)

dove μ∗(t) = maxx∈Ω

|μ(x, t)|.Per quanto riguarda l’analisi della convergenza, supponendo per semplicità che

f = 0 e ϕ = 0, se u0 ∈ Hr+1(Ω) abbiamo

maxt∈[0,T ]

‖u(t) − uh(t)‖L2(Ω) +

⎛⎝ T∫0

∫∂Ω

|a · n| |u(t)− uh(t)|2 dγ dt

⎞⎠1/2≤ Chr‖u0‖Hr+1(Ω).

Page 263: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

252 8 Elementi finiti e metodi spettrali per equazioni iperboliche

Per le dimostrazioni rinviamo a [QV94, Cap. 14], a [Joh87] ed alle referenze ivi citate.Nel problema (8.24) la condizione al contorno è stata imposta in modo forte (o essen-ziale). Una possibilità alternativa è invece il trattamento debole (o naturale) che derivadalla integrazione per parti del termine di trasporto nella prima equazione in (8.24),dove ora si consideri vh ∈ Vh (cioè non si richieda più che la funzione test si annullisul bordo di inflow). Si ottiene

∫Ω

∂uh(t)

∂tvh dΩ −

∫Ω

div(a vh))uh(t) dΩ +

∫Ω

a0uh(t)vh dΩ+

∫∂Ω

a · n uh(t)vh dγ =

∫Ω

f(t)vh dΩ.

La condizione al bordo viene imposta sostituendo ϕh a uh nella parte di bordo diinflow, ottenendo

∫Ω

∂uh(t)

∂tvh dΩ −

∫Ω

div(avh)uh(t) dΩ+∫Ω

a0uh(t)vh dΩ+

∫∂Ω\∂Ωin

a · n uh(t)vh dγ

=

∫Ω

f(t)vh dΩ −∫∂Ωin

a · nϕh(t)vh dγ ∀vh ∈ Vh .

(8.28)

Chiaramente, la soluzione uh così trovata soddisfa la condizione al bordo solo in modoapprossimato.

Un’ulteriore possibilità consiste nel controintegrare per parti la (8.28), pervenendocosì alla seguente formulazione: per ogni t > 0, trovare uh(t) ∈ Vh tale che

∫Ω

∂uh(t)

∂tvh dΩ +

∫Ω

a · ∇uh(t)vh dΩ +

∫∂Ωin

vh(ϕh(t) − uh(t))a · n dγ

=

∫Ω

f(t)vh dΩ ∀vh ∈ Vh .

(8.29)

Osserviamo che le formulazioni (8.28) e (8.29) sono equivalenti: cambia solo il modoin cui vengono messi in evidenza i termini di bordo. In particolare, l’integrale di bordonella formulazione (8.29) può essere interpretato come un termine di penalizzazionecon cui valutiamo quanto uh differisce dal dato ϕh sul bordo. Supponendo ancora veral’ipotesi (8.26), scelto vh = uh(t) in (8.29), integrando per parti il termine convetti-vo ed utilizzando le disuguaglianze di Cauchy-Schwarz e di Young si perviene alla

Page 264: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.3 Il caso multidimensionale 253

seguente stima di stabilità

‖uh(t)‖2L2(Ω) +t∫0

μ0‖uh(τ )‖2L2(Ω) dτ +t∫0

∫∂Ω\∂Ωin

a · n u2h(τ ) dγ dτ

≤ ‖u0,h‖2L2(Ω) +t∫0

∫∂Ωin

|a · n|ϕ2h(τ )dγ dτ +

t∫0

1

μ0‖f(τ )‖2L2(Ω)dτ.

(8.30)

In assenza dell’ipotesi (8.26), la disuguaglianza (8.30) si modificherebbe in modoanalogo a quanto visto in precedenza, grazie al Lemma di Gronwall.

Osservazione 8.2 Nel caso in cui il problema (8.22) sia completato da una condizioneal bordo del tipo a·n u = ψ, si potrebbe utilizzare ancora un’imposizione debole dellecondizioni al bordo mediante l’aggiunta di un opportuno termine di penalizzazioneche, in tale caso, assumerebbe la forma

∫∂Ωin

(ψh(t) − a · n uh(t))vh dγ,

essendo ψh un’opportuna approssimazione agli elementi finiti del dato ψ. •

In alternativa all’imposizione forte e debole delle condizioni al bordo, ovvero alleformulazioni (8.24) e (8.29), si potrebbe adottare un approccio alla Petrov-Galerkinimponendo in modo forte la condizione uh(t) = ϕh(t) sul bordo di inflow ∂Ωin echiedendo vh = 0 su quello di outflow∂Ωout . La formulazione discreta a cui si perver-rebbe in questo caso risulta essere la seguente. Posto V outh ={vh ∈ Vh : vh|∂Ωout =0}, per ogni t > 0, trovare uh(t) ∈ Vh = Xrh tale che

⎧⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎩

∫Ω

∂uh(t)

∂tvh dΩ +

∫Ω

(a · ∇uh(t)) vh dΩ +

∫Ω

a0(t)uh(t) vh dΩ

=

∫Ω

f(t) vh dΩ ∀vh ∈ V outh ,

uh(t) = ϕh(t) su ∂Ωin.

Ricordiamo che per una formulazione alla Petrov-Galerkin l’analisi di buona posizio-ne basata sul Lemma di Lax-Milgram non risulta più valida, come già visto nel casodi un’approssimazione di tipo spettrale.

Se invece la condizione di inflow venisse imposta in modo debole avremmo laseguente formulazione:per ogni t > 0, trovare uh(t) ∈ Vh = Xrh tale che, per ogni vh ∈ V outh ,

Page 265: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

254 8 Elementi finiti e metodi spettrali per equazioni iperboliche∫Ω

∂uh(t)

∂tvh dΩ −

∫Ω

div(a vh)uh(t) dΩ +

∫Ω

a0(t)uh(t) vh dΩ

=

∫Ω

f(t) vh dΩ −∫∂Ωin

a · nϕh(t) vh dγ.

Per ulteriori dettagli, il lettore può consultare [QV94, Cap. 14].

8.3.2 Discretizzazione temporale

A titolo di esempio limitiamoci a considerare lo schema (8.24). Utilizzando lo sche-ma di Eulero all’indietro per la discretizzazione temporale, si perviene al problemaseguente:∀n ≥ 0 trovare unh ∈ Vh t.c.

1Δt

∫Ω

(un+1h − unh)vh dΩ +

∫Ω

a · ∇un+1h vh dΩ +

∫Ω

an+10 un+1h vh dΩ

=

∫Ω

fn+1vh dΩ ∀vh ∈ V inh ,

un+1h = ϕn+1h su ∂Ωin,

con u0h = u0,h, essendo u0,h ∈ Vh un’opportuna approssimazione del dato iniziale u0in Vh.

Limitiamoci al caso omogeneo, in cui f = 0 e ϕh = 0 (in tal caso unh ∈ V inh pertutti gli n ≥ 0). Posto vh = un+1h ed usando l’identità (8.8) e la (8.26), si ottiene, perogni n ≥ 0

1

2Δt

(‖un+1h ‖2L2(Ω) − ‖unh‖2L2(Ω)

)+1

2

∫∂Ω\∂Ωin

a · n(un+1h )2 dγ

+μ0‖un+1h ‖2L2(Ω) ≤ 0.

Per ogni m ≥ 1, sommando su n da 0 a m− 1 si ottiene

‖umh ‖2L2(Ω) + 2Δt

(μ0∑mn=0 ‖unh‖2L2(Ω) + 1

2

∑mn=0

∫∂Ω\∂Ωin

a · n(unh)2 dγ

)≤ ‖u0,h‖2L2(Ω).

In particolare, essendo a · n ≥ 0 su ∂Ω \ ∂Ωin si conclude che

‖umh ‖L2(Ω) ≤ ‖u0,h‖L2(Ω) ∀m ≥ 0.

Page 266: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.3 Il caso multidimensionale 255

Come ci si aspettava, questo metodo è fortemente stabile, senza alcuna condizionesu Δt e h. Consideriamo adesso la discretizzazione in tempo con il metodo di Euleroin avanti

1Δt

∫Ω

(un+1h − unh)vh dΩ +

∫Ω

a · ∇unhvh dΩ +

∫Ω

an0unhvh dΩ =

=

∫Ω

fnvh dΩ ∀vh ∈ Vh,

un+1h = ϕn+1h su ∂Ωin.

(8.31)

Supponiamo nuovamente che f = 0, ϕ = 0 e che sia soddisfatta la condizione (8.26).Si suppone inoltre che ‖a‖L∞(Ω) <∞ e che, per ogni t > 0, ‖a0‖L∞(Ω) <∞.Ponendo vh = unh, sfruttando l’identità (8.5) ed integrando per parti il termineconvettivo, si ottiene

1

2Δt

(‖un+1h ‖2L2(Ω) − ‖unh‖2L2(Ω) − ‖un+1h − unh‖2L2(Ω)

)+∫

∂Ω\∂Ωina · n(unh)2 dγ + (−1

2div(a) + an0 , (u

nh)2) = 0,

e dunque, dopo alcuni passaggi

‖un+1h ‖2L2(Ω) + 2Δt

∫∂Ω\∂Ωin

a · n(unh)2 dγ + 2Δtμ0‖unh‖2L2(Ω)

≤ ‖unh‖2L2(Ω) + ‖un+1h − unh‖2L2(Ω). (8.32)

Occorre ora controllare il termine ‖un+1h − unh‖2L2(Ω). A tale scopo poniamo vh =

un+1h − unh in (8.31). Si ottiene

‖un+1h − unh‖2L2(Ω) = −Δt(a∇unh, un+1h − unh)−Δt(an0u

nh, u

n+1h − unh)

≤ Δt‖a‖L∞(Ω)|(∇unh, un+1h − unh)|+Δt‖an0‖L∞(Ω)|(unh, un+1h − unh)|

≤ Δt‖a‖L∞(Ω)‖∇unh‖L2(Ω)‖un+1h − unh‖L2(Ω)

+Δt‖an0‖L∞(Ω)‖unh‖L2(Ω)‖un+1h − unh‖L2(Ω).

Utilizzando la disuguaglianza inversa (3.41), si ottiene

‖un+1h − unh‖2L2(Ω) ≤ Δt(CIh−1‖a‖L∞(Ω)

+‖an0 ‖L∞(Ω))‖unh‖L2(Ω)‖un+1h − unh‖L2(Ω),

Page 267: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

256 8 Elementi finiti e metodi spettrali per equazioni iperboliche

quindi

‖un+1h − unh‖L2(Ω) ≤ Δt(CIh

−1‖a‖L∞(Ω) + ‖an0‖L∞(Ω))‖unh‖L2(Ω).

Utilizzando tale risultato per maggiorare l’ultimo termine in (8.32), si ha

‖un+1h ‖2L2(Ω) + 2Δt∫∂Ω\∂Ωin a · n(unh)2 dΩ

+Δt[2μ0 −Δt

(CIh

−1‖a‖L∞(Ω) + ‖an0‖L∞(Ω))2] ‖unh‖2L2(Ω)

≤ ‖unh‖2L2(Ω).

L’integrale su ∂Ω \ ∂Ωin è positivo per le ipotesi fatte sulle condizioni al contorno,quindi, se

Δt ≤ 2μ0(CIh−1‖a‖L∞(Ω) + ‖an0‖L∞(Ω)

)2 (8.33)

si ha ‖un+1h ‖L2(Ω) ≤ ‖unh‖L2(Ω), ovvero lo schema è fortemente stabile. Si ha quindiuna stabilità condizionata, la condizione (8.33) essendo di tipo parabolico, in analogiaa quella (7.31) trovata per il caso di discretizzazioni alle differenze finite.

Osservazione 8.3 Si osservi che nel caso in cui a sia costante e a0 = 0 si ha che μ0 =0 e la condizione di stabilità (8.33) non può essere soddisfatta da nessun Δt positivo.Il risultato (8.33) non è dunque in contraddizione con quanto già precedentementetrovato per lo schema di Eulero in avanti. •

8.4 Elementi finiti discontinui

Un approccio alternativo a quello adottato sino ad ora è basato sull’utilizzo di elementifiniti discontinui. Il metodo che ne deriva è noto con il nome di metodo di Galerkindiscontinuo (con acronimo DG, Discontinuous Galerkin, in inglese). Questa scelta èmotivata dal fatto che, come abbiamo già osservato, le soluzioni di problemi iperbolici(anche lineari) possono presentare delle discontinuità.

Per una data triangolazione Th di Ω, lo spazio degli elementi finiti discontinui è

Wh = Y rh = {vh ∈ L2(Ω) | vh|K ∈ Pr , ∀ K ∈ Th}, (8.34)

ovvero lo spazio delle funzioni polinomiali a tratti di grado minore o uguale a r, conr ≥ 0, non necessariamente continue alle interfacce degli elementi.

Page 268: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.4 Elementi finiti discontinui 257

8.4.1 Il caso unidimensionale

Nel caso del problema monodimensionale (7.3), il problema di Galerkin discontinuoassume la forma seguente: ∀t > 0, trovare una funzione uh = uh(t) ∈ Wh tale che

β∫α

∂uh(t)

∂tvh dx + (8.35)

m−1∑i=0

[ xi+1∫xi

(a∂uh(t)

∂x+ a0uh(t)

)vh dx + a(xi)(u

+h (t) − U−h (t))(xi)v

+h (xi)

]

=

β∫α

f(t)vh dx ∀vh ∈Wh,

ove si è supposto che a(x) sia una funzione continua. Abbiamo posto, per ogni t > 0,

U−h (t)(xi) =

{u−h (t)(xi), i = 1, . . . , m− 1,ϕh(t)(x0),

(8.36)

dove {xi, i = 0, · · · , m} sono i nodi, x0 = α, xm = β, h è la massima distanza fradue nodi consecutivi, v+h (xi) denota il limite destro di vh in xi, v

−h (xi) il limite sini-

stro. Per semplicità di notazione la dipendenza di uh e f da t sarà spesso sottointesaquando ciò non si presterà ad ambiguità.

Deriviamo ora una stima di stabilità per la soluzione uh della formulazione (8.35),supponendo, per semplicità, che il termine forzante f sia identicamente nullo. Sceltadunque vh = uh in (8.35), abbiamo (posto Ω = (α, β))

1

2

d

dt‖uh‖2L2(Ω) +

m−1∑i=0

[ xi+1∫xi

(a2

∂x

(uh)2+ a0u

2h

)dx

+ a(xi)(u+h − U−h )(xi)u

+h (xi)

]= 0.

Ora, integrando per parti il termine convettivo, abbiamo

1

2

d

dt‖uh‖2L2(Ω) +

m−1∑i=0

xi+1∫xi

(a0 −

∂x

(a2

))u2h dx

+

m−1∑i=0

[a2(xi+1) (u

−h (xi+1))

2 +a

2(xi) (u

+h (xi))

2 − a(xi)U−h (xi)u

+h (xi)

]= 0.

(8.37)

Page 269: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

258 8 Elementi finiti e metodi spettrali per equazioni iperboliche

Isolando il contributo associato al nodo x0 e sfruttando la definizione (8.36), possiamoriscrivere la seconda sommatoria dell’equazione precedente come

m−1∑i=0

[a2(xi+1) (u

−h (xi+1))

2 +a

2(xi) (u

+h (xi))

2 − a(xi)U−h (xi)u

+h (xi)

]=

a

2(x0) (u

+h (x0))

2 − a(x0)ϕh(x0)u+h (x0) +

a

2(xm) (u

−h (xm))

2

+

m−1∑i=1

[a2(xi)((u−h (xi))

2 + (u+h (xi))2)− a(xi)u

−h (xi)u

+h (xi)

]=

a

2(x0) (u

+h (x0))

2 − a(x0)ϕh(x0)u+h (α)

+a

2(xm) (u

−h (xm))

2 +

m−1∑i=1

a

2(xi)[uh(xi)

]2,

(8.38)avendo indicato con

[uh(xi)

]= u+h (xi) − u−h (xi) il salto della funzione uh in

corrispondenza del nodo xi. Supponiamo ora, in analogia a quanto fatto nel casomultidimensionale (si veda (8.26)),

∃γ ≥ 0 t.c. a0 −∂

∂x

(a2

)≥ γ. (8.39)

Tornando alla (8.37) ed utilizzando la relazione (8.38) e le disuguaglianze di Cauchy-Schwarz e di Young, abbiamo

1

2

d

dt‖uh‖2L2(Ω) + γ‖uh‖2L2(Ω) +

m−1∑i=1

a

2(xi)[uh(xi)

]2+

a

2(x0) (u

+h (x0))

2+

a

2(xm) (u

−h (xm))

2 = a(x0)ϕh(x0)u+h (x0) ≤

a

2(x0)ϕ

2h(x0) +

a

2(x0) (u

+h (x0))

2,

ovvero, integrando anche rispetto al tempo, ∀t > 0,

‖uh(t)‖2L2(Ω) + 2 γt∫0

‖uh(t)‖2L2(Ω) dt+m−1∑i=1

a(xi)

t∫0

[uh(xi, t)

]2dt

+ a(xm) (u−h (xm))

2 ≤ ‖u0,h‖2L2(Ω) + a(x0)

t∫0

ϕ2h(x0, t) dt.

(8.40)Tale stima rappresenta dunque il risultato di stabilità desiderato.Osserviamo che, nel caso in cui venga rimossa la richiesta di avere un termine for-zante identicamente nullo, si può replicare l’analisi precedente servendosi opportuna-mente del lemma di Gronwall per trattare il contributo di f . Ciò condurrebbe ad una

Page 270: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.4 Elementi finiti discontinui 259

stima analoga alla (8.40), tuttavia stavolta il termine di destra della disuguaglianzadiventerebbe

et(‖u0,h‖2L2(Ω) + a(x0)

t∫0

ϕ2h(x0, t) dt+

t∫0

(f(τ ))2 dτ). (8.41)

Nel caso poi in cui la costante γ nella disuguaglianza (8.39) sia strettamente positiva,si potrebbe evitare l’uso del lemma di Gronwall, pervenendo ad una stima come la(8.40) in cui a primo membro 2 γ viene sostituito da γ, mentre il secondo membroassume la forma (8.41) senza tuttavia la presenza dell’esponenziale et.

Per quanto riguarda gli aspetti algoritmici, si osservi che, per via della disconti-nuità delle funzioni test, la (8.35) si può riscrivere in modo equivalente come segue,∀i = 0, . . . , m− 1,

xi+1∫xi

(∂uh

∂t+ a

∂uh

∂x+ a0uh

)vhdx+ a(u+h − U−h )(xi)v

+h (xi)

=

β∫α

fvhdx ∀vh ∈ Pr(Ii),

(8.42)

essendo Ii = [xi, xi+1]. In altri termini, l’approssimazione con elementi finiti di-scontinui dà luogo a relazioni “indipendenti” elemento per elemento; l’unico punto dicollegamento fra un elemento e i suoi vicini è espresso dal termine di salto (u+h −U−h )che può anche essere interpretato come l’attribuzione del dato al bordo sulla frontieradi inflow dell’elemento in esame.

Abbiamo dunque un insieme di problemi di dimensione ridotta da risolvere in ognielemento, precisamente r + 1 equazioni per ogni intervallino [xi, xi+1]. Scriviamolenella forma compatta

Mhuh(t) + Lhuh(t) = fh(t) ∀t > 0, uh(0) = u0,h, (8.43)

essendo Mh la matrice di massa, Lh la matrice associata alla forma bilineare e allarelazione di salto, fh il termine noto:

(Mh)pq =

xi+1∫xi

ϕpϕq dx, (Lh)pq =

xi+1∫xi

(aϕq,x + a0ϕq)ϕp dx+ (aϕqϕp)(xi),

(fh)p =

xi+1∫xi

fϕp dx+ aU−h (xi)ϕp(xi), q, p = 0, . . . , r .

Abbiamo indicato con {ϕq , q = 0, . . . , r} una base per Pr([xi, xi+1]) e con uh(t) icoefficienti di uh(x, t)|[xi,xi+1] nello sviluppo rispetto alla base {ϕq}. Se si prende la

Page 271: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

260 8 Elementi finiti e metodi spettrali per equazioni iperboliche

xi xi+1 xi xixi+1 xi+1

ϕ0ϕ1 ϕ2

ϕ0 ϕ1ϕ0

xi+1/2 xi+1/2

r=0 r=2r=1

Figura 8.7. Le basi di Lagrange per r = 0, r = 1 e r = 2

base di Lagrange si avranno, ad esempio, le funzioni indicate in Fig. 8.7 (per il casor = 0, r = 1 e r = 2) e i valori di {uh(t)} sono i valori assunti da uh(t) nei nodi(xi+1/2 per r = 0, xi e xi+1 per r = 1, xi, xi+1/2 e xi+1 per r = 2). Si osser-vi che tutte le funzioni precedenti sono identicamente nulle al di fuori dell’intervallo[xi, xi+1]. Si noti che nel caso di elementi finiti discontinui è perfettamente lecito usa-

re polinomi di grado r = 0, in tal caso il termine di trasporto a∂uh

∂xfornirà contributo

nullo su ciascun elemento.Può essere interessante, al fine di diagonalizzare la matrice di massa, utilizzare

come base per Pr([xi, xi+1]) i polinomi di Legendre ϕq(x) = Lq(2(x − xi)/hi),essendo hi = xi+1−xi e {Lq, q = 0, 1, . . .} i polinomi ortogonali di Legendre definitisull’intervallo [−1, 1], che abbiamo introdotto nella Sez. 4.2.2. In tal modo si ottiene

infatti (Mh)pq =hi

2p+ 1δpq. Ovviamente in tal caso i valori incogniti {uh(t)} non si

potranno più interpretare come valori nodali di uh(t), ma piuttosto come i coefficientidi Legendre dello sviluppo di uh(t) rispetto alla nuova base.

La diagonalizzazione della matrice di massa risulta particolarmente interessantequando si usino schemi di avanzamento in tempo espliciti (quali ad esempio gli schemidi Runge-Kutta del secondo e terzo ordine, che verranno introdotti nel Cap. 9). Intal caso, infatti, su ogni intervallino avremo un problema completamente esplicito darisolvere.A titolo di esempio, nel seguito vengono presentati dei risultati numerici ottenuti peril problema {

∂u

∂t+

∂u

∂x= 0, x ∈ (−5, 5), t > 0,

u(−5, t) = 0, t > 0,(8.44)

con la condizione iniziale seguente

u(x, 0) =

{sin(πx) per x ∈ (−2, 2),0 altrimenti.

(8.45)

Il problema è stato discretizzato utilizzando elementi finiti lineari in spazio, sia con-tinui che discontinui. Per la discretizzazione temporale è stato utilizzato lo schemadi Eulero all’indietro in entrambi i casi. È stato scelto h = 0.25 ed un passo tempo-rale Δt = h; per tale valore di h il numero di fase associato all’onda sinusoidale èφk = π/2.

In Fig. 8.8 è riportata la soluzione numerica al tempo t = 1 insieme alla relativasoluzione esatta. Si può notare la forte diffusione numerica dello schema che tuttavia

Page 272: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.4 Elementi finiti discontinui 261

−5 −4 −3 −2 −1 0 1 2 3 4 5−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Soluzione calcolataSoluzione esatta

−5 −4 −3 −2 −1 0 1 2 3 4 5−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Soluzione calcolataSoluzione esatta

Figura 8.8. Soluzione al tempo t = 1 del problema (8.44) con φk = π/2, h = 0.25, otte-nuta con elementi finiti lineari continui (a sinistra) e discontinui (a destra) e discretizzazionetemporale di Eulero all’indietro

presenta delle piccole oscillazioni nella parte posteriore nel caso di elementi continui.Si può altresì osservare che la soluzione numerica ottenuta con elementi discontinuipresenta effettivamente delle discontinuità mentre non ha più l’andamento oscillantenella parte posteriore.

Consideriamo ora il seguente problema

⎧⎪⎨⎪⎩∂u

∂t+

∂u

∂x= 0, x ∈ (0, 1), t > 0,

u(0, t) = 1, t > 0,u(x, 0) = 0, x ∈ [0, 1].

(8.46)

che rappresenta il trasporto di una discontinuità entrante nel dominio. Abbiamo con-siderato elementi finiti lineari continui, con trattamento sia forte sia debole della con-dizione al contorno, ed elementi finiti lineari discontinui. Anche questa volta è statoutilizzato il metodo di Eulero all’indietro per la discretizzazione temporale. Il passodella griglia è h = 0.025 ed è stato scelto Δt = h.

I risultati al tempo t = 0.5 sono rappresentati in Fig. 8.9. Si può notare come ildato di Dirichlet sia ben rappresentato anche dagli schemi con trattamento debole albordo. A tal proposito, per il caso di elementi finiti continui con trattamento debole albordo, abbiamo calcolato l’andamento di |uh(0)− u(0)| per t = 0.1 per vari valori dih, essendo Δt costante. Si può notare una riduzione di tipo lineare rispetto ad h.

8.4.2 Il caso multidimensionale

Consideriamo ora il caso del problema multidimensionale (8.22). Sia Wh lo spazio deipolinomi di grado 2 su ogni elemento K ∈ Th, discontinui fra un elemento e l’altro,introdotto in (8.34). La semi-discretizzazione del problema (8.22) con elementi finiti

Page 273: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

262 8 Elementi finiti e metodi spettrali per equazioni iperboliche

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1

1.2

1.4

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1

1.2

1.4

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1

1.2

1.4

0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.110.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

0.55

Figura 8.9. Soluzione del problema (8.46) per t = 0.5 con h = 0.025 ottenuta con elementifiniti lineari continui e trattamento forte (in alto a sinistra) e debole (in alto a destra) dellacondizione al bordo di Dirichlet, mentre nel caso in basso a sinistra si sono utilizzati elementidiscontinui in spazio. Infine, in basso a destra si mostra l’andamento di |uh(0) − u(0)| infunzione di h per t = 0.1, nel caso di trattamento debole della condizione di Dirichlet

discontinui diventa: per ogni t > 0 trovare uh(t) ∈Wh tale che

∫Ω

∂uh(t)

∂tvhdΩ +

∑K∈Th

⎡⎣aK(uh(t), vh)− ∫∂Kin

a · nK [uh(t)]v+h dγ

⎤⎦ =∫Ω

f(t)vhdΩ ∀vh ∈Wh,

(8.47)

con uh(0) = u0,h, dove nK indica la normale esterna a ∂K, e

∂Kin={x ∈ ∂K : a(x) · nK(x) < 0}.

La forma bilineare aK è definita nel modo seguente

aK(u, v) =

∫K

(a · ∇u v + a0u v

)dx,

mentre

[uh(x)]=

{u+h (x) − u−h (x), x /∈ ∂Ωin,

u+h (x) − ϕh(x), x ∈ ∂Ωin,

Page 274: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.4 Elementi finiti discontinui 263

con

u±h (x)= lims→0±

uh(x+ sa), x ∈ ∂K.

Per ogni t > 0, la stima di stabilità che si ottiene per il problema (8.47) è (grazieall’ipotesi (8.26))

‖uh(t)‖2L2(Ω) +t∫0

⎛⎝μ0‖uh(τ )‖2L2(Ω) +∑K∈Th

∫∂Kin

|a · nK| [uh(τ )]2⎞⎠ dτ

≤ C

⎡⎣‖u0,h‖2L2(Ω) +t∫0

(‖f(τ )‖2L2(Ω) + |ϕh|2a,∂Ωin

)dτ

⎤⎦ ,

essendo ∂Ωin la frontiera di inflow (8.23) e avendo introdotto, per ogni sottoinsiemeΓ di ∂Ω di misura non nulla, la seminorma

|v|a,Γ=

⎛⎝∫Γ

|a · n|v2 dγ

⎞⎠1/2 .Supponendo per semplicità che f = 0, ϕ = 0, e che u0 ∈ Hr+1(Ω), si può

dimostrare la seguente stima a priori dell’errore

maxt∈[0,T ]

‖u(t)− uh(t)‖L2(Ω) +

⎛⎝ T∫0

∑K∈Th

∫∂Kin

|a · nK | [u(t)− uh(t)]2 dt

⎞⎠12

≤ Chr+1/2‖u0‖Hr+1(Ω).

(8.48)

Per le dimostrazioni rinviamo a [QV94, Cap. 14], a [Joh87] ed alle referenze ivi citate.

Altre formulazioni sono possibili, basate su varie forme di stabilizzazione. Con-sideriamo un problema di trasporto e reazione come (8.22) ma scritto in formaconservativa

∂u

∂t+ div(au) + a0u = f, x ∈ Ω, t > 0. (8.49)

Posto ora

aK(uh, vh) =

∫K

(− uh(a · ∇vh) + a0uh vh

)dx,

Page 275: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

264 8 Elementi finiti e metodi spettrali per equazioni iperboliche

consideriamo la seguente approssimazione: per ogni t > 0, trovare uh(t) ∈ Wh taleche, ∀vh ∈Wh,∫

Ω

∂uh(t)

∂tvh dΩ +

∑K∈Th

aK(uh(t), vh) +∑

e �⊂∂Ωin

∫e

{auh(t)}�vh� dγ

+∑e �⊂∂Ω

∫e

ce(γ) �uh(t)� �vh� dγ =∫Ω

f(t)vh dΩ −∑

e⊂∂Ωin

∫e

(a · n)ϕ(t) vh dγ .

(8.50)

Le notazioni sono le seguenti: con e si denota un qualunque lato degli elementi dellatriangolazione Th condiviso da due triangoli, diciamo K1 e K2. Per ogni funzionescalare ψ, regolare a pezzi sulla triangolazione, con ψi = ψ

∣∣Ki

, si sono definiti lemedie e i salti su e come segue:

{ψ} = 12(ψ1 + ψ2), �ψ� = ψ1n1 + ψ2n2, (8.51)

essendo ni la normale esterna all’elemento Ki. Se invece σ è una funzione vettoriale,allora

{σ} = 12(σ1 + σ2), �σ� = σ1 · n1 + σ2 · n2,

su e. Si noti che il salto �ψ� di una funzione scalare ψ attraverso e è un vettore paralleloalla normale a e, mentre il salto �σ� di una funzione vettorialeσ è una quantità scalare.Queste definizioni non dipendono dall’ordinamento degli elementi.Se e è un lato appartenente alla frontiera ∂Ω, allora

�ψ� = ψ n, {σ} = σ.

Le quantità {ψ} e �σ� non sono invece richieste sui lati di frontiera.Per quanto riguarda ce(γ), si tratta di una funzione non negativa che, tipicamente,verrà scelta come costante su ogni lato. Scegliendo, ad esempio, ce = |a ·n|/2 su ognilato interno, ce = −a · n/2 su ∂Ωin, ce = a · n/2 su ∂Ωout, la formulazione (8.50)si riduce alla formulazione upwind standard∫Ω

∂uh(t)

∂tvh dΩ +

∑K∈Th

aK(uh(t), vh) +∑

e �⊂∂Ωin

∫e

{auh(t)}up�vh� dγ

=

∫Ω

f(t)vh dΩ −∑

e⊂∂Ωin

∫e

(a · n)ϕ(t) vh dγ ∀vh ∈ Wh.

(8.52)

Ora {auh}up denota il valore upwind di auh, ovvero coincide con au1h se a ·n1 > 0,con au2h se a · n1 < 0, ed infine con a{uh} se a · n1 = 0. Infine, se a è costante (o adivergenza nulla), div(auh) = a · ∇uh e (8.52) coincide con (8.47). La formulazione(8.50) è detta di Galerkin discontinuo con stabilizzazione di salto. Essa è stabile se

Page 276: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.5 Approssimazione con metodi spettrali 265

ce ≥ θ0 |a · ne| per ogni lato interno e, ed inoltre convergente con ordine ottimale. Ineffetti, nel caso del problema stazionario si dimostra che

‖u− uh‖2L2(Ω) +∑e∈Th

‖√ce �u− uh�‖2L2(e) ≤ C h2r+1 ‖u‖2Hr+1(Ω).

Per la dimostrazione e per altre formulazioni con stabilizzazione di salto, anche perproblemi di diffusione e trasporto, rinviamo il lettore a [BMS04].

8.5 Approssimazione con metodi spettrali

In questa sezione faremo un breve cenno all’approssimazione di problemi iperbolicicon metodi spettrali. Ci limiteremo per semplicità al caso di problemi monodimen-sionali. Tratteremo dapprima l’approssimazione G-NI in un singolo intervallo, poil’approssimazione SEM relativa ad una decomposizione in sotto-intervalli in cui siusino polinomi discontinui quando si passi da un intervallo ai suoi vicini. Ciò fornisceuna generalizzazione degli elementi finiti discontinui, nel caso in cui si considerinopolinomi di grado “elevato” in ogni elemento, e gli integrali su ogni elemento sianoapprossimati con la formula di integrazione numerica GLL (4.18).

8.5.1 Il metodo G-NI in un singolo intervallo

Consideriamo il problema iperbolico di trasporto-reazione del primo ordine (7.3) esupponiamo che (α, β) = (−1, 1). Approssimiamo in spazio con un metodo spettra-le di collocazione, con imposizione forte delle condizioni al contorno. Indicati con{x0 = −1, x1, . . . , xN = 1} i nodi GLL introdotti nella Sez. 4.2.3, il problemasemi-discretizzato è:per ogni t > 0, trovare uN(t) ∈ QN (lo spazio dei polinomi (4.1)) tale che⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

(∂uN∂t+ a

∂uN

∂x+ a0 uN

)(xj , t) = f(xj , t), j = 1, . . . , N,

uN(−1, t) = ϕ(t),

uN(xj, 0) = u0(xj), j = 0, . . . , N.

(8.53)

Servendosi opportunamente del prodotto scalare discreto GLL definito in (4.25), l’ap-prossimazione G-NI del problema (8.53), diventa: per ogni t > 0, trovare uN(t) ∈QN tale che⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

(∂uN(t)∂t

, vN

)N+(a∂uN (t)

∂x, vN

)N+(a0 uN(t), vN

)N=(f(t), vN

)N

∀vN ∈ Q−N ,uN(−1, t) = ϕ(t),

uN(x, 0) = u0,N ,(8.54)

Page 277: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

266 8 Elementi finiti e metodi spettrali per equazioni iperboliche

dove u0,N ∈ QN , ed avendo posto Q−N = {vN ∈ QN : vN (−1) = 0}. Dunque,all’inflow, la soluzione uN soddisfa la condizione imposta, per ogni tempo t > 0,mentre le funzioni test si annullano.Le soluzioni dei problemi (8.53) e (8.54) in realtà coincidono se u0,N in (8.54) èscelto come l’interpolato ΠGLLN u0. Per dimostrarlo, è sufficiente scegliere in (8.54)vN coincidente con il polinomio caratteristico ψj (definito in (4.12), (4.13)) associatoal nodo GLL xj , per ogni j = 1, . . . , N .

Deriviamo ora una stima di stabilità per la formulazione (8.54) nella norma(4.51) indotta dal prodotto scalare discreto (4.25). Scegliamo, per semplicità, un datoall’inflow omogeneo, ovvero ϕ(t) = 0, per ogni t, ed a e a0 costanti. Scelto, per ognit > 0, vN = uN (t), abbiamo

1

2

∂t‖uN(t)‖2N +

a

2

1∫−1

∂u2N(t)

∂xdx + a0‖uN(t)‖2N =

(f(t), uN(t)

)N.

Riscrivendo opportunamente il termine convettivo, integrando rispetto al tempo edutilizzando la disuguaglianza di Young, abbiamo

‖uN(t)‖2N + a

t∫0

(uN (1, τ)

)2dτ + 2 a0

t∫0

‖uN(τ )‖2N dτ

= ‖u0,N‖2N + 2t∫0

(f(τ ), uN (τ )

)N

≤ ‖u0,N‖2N + a0

t∫0

‖uN(τ )‖2N dτ +1

a0

t∫0

‖f(τ )‖2N dτ,

ovvero

‖uN(t)‖2N + a

t∫0

(uN(1, τ)

)2dτ + a0

t∫0

‖uN(τ )‖2N dτ

≤ ‖u0,N‖2N +1

a0

t∫0

‖f(τ )‖2N dτ.

(8.55)

Ora, per la norma ‖u0,N‖2N vale la maggiorazione

‖u0,N‖2N ≤ ‖u0,N‖2L∞(−1,1)( N∑i=0

αi

)= 2 ‖u0,N‖2L∞(−1,1),

e maggiorazione analoga vale per ‖f(τ )‖2N purché f sia una funzione continua. Dun-que, tornando alla (8.55) ed utilizzando per norme a primo membro la disuguaglianza

Page 278: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.5 Approssimazione con metodi spettrali 267

(4.52), si ha

‖uN(t)‖2L2(−1,1) + a

t∫0

(uN(1, τ)

)2dτ + a0

t∫0

‖uN(τ )‖2L2(−1,1) dτ

≤ 2 ‖u0,N‖2L∞(−1,1) +2

a0

t∫0

‖f(τ )‖2L2(−1,1) dτ.

La reinterpretazione del metodo G-NI come metodo di collocazione risulta menoimmediata nel caso in cui il campo convettivo a non sia costante e si parta da unaformulazione conservativa dell’equazione differenziale in (8.53), ovvero il secondotermine sia sostituito da ∂(au)/∂x. In tal caso si può ancora mostrare che l’approssi-mazione G-NI equivale all’approssimazione di collocazione in cui il termine convet-tivo sia approssimato da ∂

(ΠGLLN (auN )

)/∂x, ovvero dalla derivata di interpolazione

(4.40).

Anche nel caso di un’approssimazione G-NI si può ricorrere ad un’imposizio-ne debole delle condizioni al bordo. Tale approccio risulta più flessibile rispetto aquello sopra considerato e più adatto in vista di un’applicazione del metodo spettra-le a problemi multidimensionali o a sistemi di equazioni. Come visto nella sezioneprecedente, punto di partenza per l’imposizione debole delle condizioni al bordo èun’opportuna integrazione per parti del termine di trasporto. Riferendoci al problemamonodimensionale (8.53), si ha infatti (se a è costante)

1∫−1

a∂u(t)

∂xv dx = −

1∫−1

a u(t)∂v

∂xdx+

[a u(t) v

]1−1

= −1∫

−1

a u(t)∂v

∂xdx+ a u(1, t) v(1)− aϕ(t) v(−1).

In virtù di tale uguaglianza, è immediato formulare l’approssimazione G-NI con im-posizione debole delle condizioni al bordo per il problema (8.53):per ogni t > 0, trovare uN(t) ∈ QN tale che

(∂uN(t)∂t

, vN

)N−(a uN (t),

∂vN

∂x

)N+(a0 uN(t), vN

)N

+ a uN(1, t) vN(1) =(f(t), vN

)N+ aϕ(t) vN (−1) ∀vN ∈ QN ,

(8.56)

con uN(x, 0) = u0,N(x). Osserviamo che sia la soluzione uN che la funzione test vNsono libere al bordo.Una formulazione equivalente alla (8.56) si ottiene contro-integrando opportunamenteper parti il termine convettivo:

Page 279: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

268 8 Elementi finiti e metodi spettrali per equazioni iperboliche

per ogni t > 0, trovare uN(t) ∈ QN tale che

(∂uN(t)∂t

, vN

)N+(a∂uN (t)

∂x, vN

)N+(a0 uN(t), vN

)N

+ a(uN(−1, t) − ϕ(t)

)vN (−1) =

(f, vN

)N∀vN ∈ QN .

(8.57)

È ora possibile reinterpretare tale formulazione debole come un opportuno metodo dicollocazione. A tal fine è sufficiente scegliere in (8.57) la funzione test vN coinci-dente con i polinomi caratteristici (4.12), (4.13) associati ai nodi GLL. Considerandodapprima i nodi interni e di outflow, ovvero scelta vN = ψi, con i = 1, . . . , N ,abbiamo (∂uN

∂t+ a

∂uN

∂x+ a0 uN

)(xi, t) = f(xi, t), (8.58)

avendo già semplificato il peso αi comune a tutti i termini dell’uguaglianza. D’altrocanto, scelta vN = ψ0, otteniamo, in corrispondenza del nodo di inflow, la relazione

(∂uN∂t

+ a∂uN

∂x+ a0 uN

)(−1, t)

+1

α0a(uN(−1, t) − ϕ(t)

)= f(−1, t),

(8.59)

essendo α0 = 2/(N2+N) il peso GLL associato al nodo−1. Dalle equazioni (8.58)

e (8.59) segue dunque che una riscrittura in termini di collocazione è possibile incorrispondenza di tutti i nodi GLL tranne che per quello di inflow, per il quale invecesi trova la relazione

a(uN(−1, t) − ϕ(t)

)= α0

(f − ∂uN

∂t− a

∂uN

∂x− a0 uN

)(−1, t), (8.60)

ovvero la condizione al bordo del problema differenziale (8.53) a meno del residuoassociato all’approssimazione uN . Tale condizione è dunque soddisfatta esattamentesolo al limite, per N −→∞, ovvero in modo naturale o debole.

In accordo con quanto notato precedentemente, la formulazione (8.57) si compli-cherebbe inevitabilmente nel caso, ad esempio, di un campo convettivo a non costante.Infatti, non si potrebbe concludere direttamente che

−(a uN (t),

∂vN∂x

)N=(a∂uN (t)

∂x, vN

)N− a uN (1, t) vN(1) + aϕ(t) vN (−1),

poiché, in questo caso, il prodotto a uN(t)∂vN

∂xnon identifica più necessariamente

un polinomio di grado 2N − 1. Si rende dunque necessario passare attraverso l’o-peratore d’interpolazione ΠGLLN , introdotto nella Sez. 4.2.3, prima di effettuare la

Page 280: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.5 Approssimazione con metodi spettrali 269

contro-integrazione per parti. Limitandoci al termine di trasporto si ha dunque

−(a uN(t),

∂vN

∂x

)N= −(ΠGLLN

(a uN (t)

),∂vN

∂x

)N=

−(ΠGLLN

(a uN(t)

),∂vN∂x

)=(∂ΠGLLN

(a uN(t)

)∂x

, vN

)−[(

a uN(t))vN]1−1.

La formulazione debole (8.57) dunque diventa:per ogni t > 0, trovare uN(t) ∈ QN tale che(∂uN (t)

∂t, vN

)N+(∂ΠGLLN

(a uN (t)

)∂x

, vN

)+(a0 uN(t), vN

)N

+ a(−1)(uN(−1, t) − ϕ(t)

)vN(−1) =

(f(t), vN

)N∀vN ∈ QN ,

(8.61)

con uN(x, 0) = u0,N(x). Anche la reinterpretazione, in termini di collocazione,della formulazione (8.57), rappresentata dalle relazioni (8.58) e (8.60), andrà de-bitamente modificata con l’introduzione dell’operatore d’interpolazione ΠGLLN (ov-vero sostituendo la derivata esatta con la derivata di interpolazione). Precisamenteotteniamo (∂uN

∂t+

∂ΠGLLN

(a uN)

∂x+ a0 uN

)(xi, t) = f(xi, t),

per i = 1, . . . , N , e

a(−1)(uN(−1, t) − ϕ(t)

)= α0

(f − ∂uN

∂t− ∂ΠGLLN

(a uN)

∂x− a0 uN

)(−1, t),

in corrispondenza del nodo di inflow x = −1.

8.5.2 Il metodo DG-SEM-NI

Come anticipato, in questa sezione introdurremo un’approssimazione basata su unapartizione in sotto-intervalli, in ognuno dei quali si usi il metodo G-NI. I polino-mi saranno inoltre discontinui tra un intervallo e l’altro. Questo spiega l’acroni-mo DG (discontinuous Galerkin), SEM (spectral element method), NI (numericalintegration).

Riconsideriamo il problema (8.53) sul generico intervallo (α, β). Su quest’ulti-mo introduciamo una partizione in M sottointervalli Ωm = (xm−1, xm) con m =1, . . . ,M . Sia

WN,M = {v ∈ L2(α, β) : v∣∣Ωm

∈ QN , ∀m = 1, . . . ,M}

lo spazio dei polinomi definiti a pezzi di grado N(≥ 1) su ogni sotto-intervallo. Osser-viamo che la continuità non è necessariamente garantita in corrispondenza dei punti

Page 281: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

270 8 Elementi finiti e metodi spettrali per equazioni iperboliche

{xi}. Possiamo così formulare la seguente approssimazione del problema (8.53):per ogni t > 0, trovare uN,M (t) ∈WN,M tale che

M∑m=1

[(∂uN,M∂t

, vN,M

)N,Ωm

+(a∂uN,M

∂x, vN,M

)N,Ωm

+(a0 uN,M , vN,M

)N,Ωm

+ a(xm−1)(u+N,M − U−N,M

)(xm−1) v

+N,M (xm−1)

]=

M∑m=1

(f, vN,M

)N,Ωm

(8.62)per ogni vN,M ∈WN,M , essendo

U−N,M (xi) =

{u−N,M (xi), i = 1, . . . ,M − 1,

ϕ(x0), per i = 0,(8.63)

e dove (·, ·)N,Ωm denota l’approssimazione tramite la formula GLL (4.25) del prodot-to scalare L2 ristretto all’elemento Ωm. Per semplificare le notazioni abbiamo sottin-teso la dipendenza da t di uN,M e f . Data la natura discontinua della formulazione,possiamo rileggere l’equazione (8.62) su ognuno degli M sotto-intervalli, scegliendola funzione test vN,M tale che vN,M

∣∣[α,β]\Ωm = 0. Così facendo otteniamo infatti

(∂uN,M∂t

, vN,M

)N,Ωm

+(a∂uN,M

∂x, vN,M

)N,Ωm

+(a0 uN,M , vN,M

)N,Ωm

+ a(xm−1)(u+N,M − U−N,M

)(xm−1) v

+N,M (xm−1) =

(f, vN,M

)N,Ωm

,

con m = 1, . . . ,M , e dove la quantità U−N,M (xi) risulta definita ancora secondo la(8.63). Osserviamo che, per m = 1, il termine

a(x0)(u+N,M − ϕ

)(x0) v

+N,M (x0)

fornisce l’imposizione in forma debole della condizione al bordo di inflow. D’altrocanto il termine

a(xm−1)(u+N,M − U−N,M

)(xm−1) v

+N,M (xm−1),

per m = 2, . . . ,M , può essere interpretato come un termine di penalizzazione chefornisce un’imposizione debole della continuità della soluzione uN,M in corrispon-denza degli estremi xi, i = 1, . . . ,M − 1. Tali termini sarebbero ovviamente assentise si utilizzassero polinomi a tratti continui negli estremi xi.

Vogliamo ora interpretare la formulazione (8.62) come un opportuno metodo di collo-cazione. A tal fine, introduciamo, su ciascun sotto-intervalloΩm, gli N +1 nodi GLLx(m)j , con j = 0, . . . , N , e indichiamo con α

(m)j i corrispondenti pesi (si veda (4.69)).

Identifichiamo ora la funzione test vN,M in (8.62) con il polinomio caratteristico di

Lagrange ψ(m)j ∈ PN (Ωm) associato al nodo x

(m)j ed esteso a zero fuori dal domi-

nio Ωm. Data la presenza del termine di salto, avremo una riscrittura non univoca per

Page 282: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.6 Trattamento numerico delle condizioni al bordo per sistemi iperbolici 271

l’equazione (8.62). Incominciamo a considerare i polinomi caratteristici associati ainodi x(m)j , con j = 1, . . . , N −1, e m = 1, . . . ,M . In tal caso non avremo contributoalcuno del termine di penalizzazione[∂uN,M

∂t+ a

∂uN,M

∂x+ a0 uN,M

](x(m)j ) = f(x

(m)j ).

Per questa scelta di nodi ritroviamo così esattamente la collocazione del problemadifferenziale (8.53). Nel caso invece in cui la funzione ψ

(m)j sia associata ad un nodo

della partizione {xi}, ovvero j = 0, con m = 1, . . . ,M abbiamo

α(m)0

[∂uN,M∂t

+ a∂uN,M

∂x+ a0 uN,M

](x(m)0 )

+ a(x(m)0 )(u+N,M − U−N,M

)(x(m)0 ) = α

(m)0 f(x

(m)0 ),

(8.64)

ricordando che U−N,M (x(1)0 ) = ϕ(x0). Implicitamente abbiamo adottato la conven-

zione che il sotto-intervallo Ωm non includa xm, in quanto la natura discontinua delmetodo adottato ci porterebbe a processare ogni nodo xi, con i = 1, . . . ,M − 1, duevolte. L’equazione (8.64) può essere riscritta come[∂uN,M

∂t+ a

∂uN,M∂x

+ a0 uN,M − f](x(m)0 ) = −

a(x(m)0 )

α(m)0

(u+N,M −U−N,M

)(x(m)0 ).

Osserviamo che mentre il termine di sinistra rappresenta il residuo dell’equazione incorrispondenza del nodo x

(m)0 , quello di destra coincide con il residuo dell’imposizio-

ne debole della continuità di uN,M in x(m)0 .

8.6 Trattamento numerico delle condizioni al bordo per sistemiiperbolici

Abbiamo visto diverse strategie per imporre le condizioni al bordo di inflow per l’e-quazione di trasporto scalare. Quando si considerano sistemi iperbolici, il trattamentonumerico delle condizioni al bordo richiede un po’ più di attenzione. Illustreremoquesto problema su un sistema lineare a coefficienti costanti in una dimensione,⎧⎪⎨⎪⎩

∂u

∂t+A

∂u

∂x= 0, −1 < x < 1, t > 0,

u(x, 0) = u0(x), −1 < x < 1,

(8.65)

completato con opportune condizioni al bordo, preso da [CHQZ07]. Scegliamo, nelseguito, il caso di un sistema costituito da due equazioni iperboliche, identificando in(8.65) u con il vettore (u, v)T e A con la matrice

A =

[−1/2 −1−1 −1/2

],

Page 283: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

272 8 Elementi finiti e metodi spettrali per equazioni iperboliche

i cui autovalori sono−3/2 e 1/2. Fatta la scelta

u(x, 0) = sin(2x) + cos(2x), v(x, 0) = sin(2x)− cos(2x)

per le condizioni iniziali e

u(−1, t) = sin(−2 + 3t) + cos(−2 − t) = ϕ(t),

v(1, t) = sin(2 + 3t) + cos(2− t) = ψ(t)(8.66)

per le condizioni al bordo, otteniamo un problema (8.65) ben posto.Consideriamo ora la matrice degli autovettori (destri)

W =

[1/2 1/2

1/2 −1/2

],

la cui inversa risulta essere

W−1 =

[1 1

1 −1

].

Sfruttando la relazione

Λ =W−1AW =

[−3/2 0

0 1/2

],

possiamo riscrivere l’equazione differenziale in (8.65) in termini delle variabili carat-teristiche

z =W−1u =

[u+ v

u− v

]=

[z1

z2

], (8.67)

come∂z

∂t+ Λ

∂z

∂x= 0. (8.68)

La variabile caratteristica z1 si propaga verso sinistra con velocità 3/2, mentre z2 sipropaga verso destra con velocità 1/2. Questo suggerisce di assegnare una condizioneper z1 in x = 1 e una per z2 in corrispondenza di x = −1. Teoricamente possiamoricostruire i valori al bordo di z1 e z2 utilizzando le condizioni al bordo per u e v.Dalla relazione (8.67), si ha infatti

u =Wz =

[1/2 1/2

1/2 −1/2

] [z1

z2

]=

[1/2 (z1 + z2)

1/2 (z1 − z2)

],

ovvero, sfruttando i valori al bordo (8.66) assegnati per u e v,

1

2(z1 + z2)(−1, t) = ϕ(t),

1

2(z1 − z2)(1, t) = ψ(t). (8.69)

Page 284: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.6 Trattamento numerico delle condizioni al bordo per sistemi iperbolici 273

Il sistema (8.68) risulta dunque solo apparentemente disaccoppiato in quanto, in real-tà, le variabili z1 e z2 vengono accoppiate dalle condizioni al bordo (8.69).

Si delinea dunque il problema di come trattare, da un punto di vista numerico, lecondizioni al contorno per il problema (8.65). Può risultare infatti già difficoltosa ladiscretizzazione del corrispondente problema scalare (per a costante > 0)⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

∂z

∂t+ a

∂z

∂x= 0, −1 < x < 1, t > 0,

z(−1, t) = φ(t), t > 0,

z(x, 0) = z0(x), −1 < x < 1,

(8.70)

se non si utilizza uno schema di discretizzazione appropriato. Illustreremo il procedi-mento per un metodo di approssimazione spettrale. In effetti per metodi ad alta accu-ratezza è ancora più fondamentale di quanto non lo sia per un metodo agli elementifiniti o alle differenze finite trattare correttamente le condizioni al bordo, in quantoerrori al bordo verrebbero propagati all’interno con velocità infinita. Introdotta la par-tizione x0 = −1 < x1 < . . . < xN−1 < xN = 1 dell’intervallo [−1, 1], se si decidedi utilizzare, ad esempio, uno schema a differenze finite si incontrano problemi es-senzialmente nel derivare il valore di z in corrispondenza del nodo xN . Infatti, se daun lato lo schema upwind ci fornisce un’approssimazione per tale valore ma è affet-to da una stabilità condizionata, d’altro canto uno schema con ordine di convergenzapiù elevato, come quello a differenze finite centrate, non è in grado di fornirci taleapprossimazione a meno di introdurre un nodo supplementare fuori dall’intervallo didefinizione (−1, 1).Al contrario, una discretizzazione spettrale non comporta alcun problema al bordo.Per esempio, lo schema di collocazione corrispondente al problema (8.70) può esserescritto anche sul bordo di outflow:∀n ≥ 0, trovare znN ∈ QN tale che⎧⎪⎨⎪⎩

zn+1N (xi)− znN(xi)

Δt+ a

∂znN∂x(xi) = 0, i = 1, . . . , N,

zn+1N (x0) = φ(tn+1).

Ad ogni nodo, sia esso interno o di bordo, risulta associata un’equazione. Possiamodunque affermare di essere in presenza di un problema che ammette soluzione univo-ca.L’univocità della soluzione risulta invece problematica passando al sistema (8.65). Intal caso infatti, mentre ad ogni nodo interno xi, con i = 1, . . . , N−1, son associate dueincognite e due equazioni, in corrispondenza dei nodi di bordo x0 e xN abbiamo an-cora due incognite ma una sola equazione. Dovranno essere dunque fornite condizioniaggiuntive per tali punti: in generale, andranno aggiunte in corrispondenza dell’estre-mo x = −1 tante condizioni quanti sono gli autovalori positivi, mentre per x = 1andranno fornite tante condizioni addizionali quanti sono gli autovalori negativi.

Page 285: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

274 8 Elementi finiti e metodi spettrali per equazioni iperboliche

Cerchiamo una soluzione a tale problema ispirandoci al metodo di Galerkin spettra-le. Supponiamo di applicare al sistema (8.65) un metodo di collocazione: vogliamodunque trovare uN = (uN,1, uN,2)T ∈ (QN )2 tale che

∂uN∂t(xi) +A

∂uN∂x(xi) = 0, i = 1, . . . , N − 1, (8.71)

e conuN,1(x0, t) = ϕ(t), uN,2(xN , t) = ψ(t). (8.72)

L’idea più semplice per ricavare le due equazioni mancanti per uN,1 e uN,2 in cor-rispondenza di xN e x0, rispettivamente, è quella di sfruttare l’equazione vettoriale(8.71) assieme ai valori noti ϕ(t) e ψ(t) in (8.72). La soluzione calcolata in tal modorisulta tuttavia fortemente instabile.Cerchiamo dunque un approccio alternativo. L’idea è quella di aggiungere alle 2(N −1) relazioni di collocazione (8.71) e alle condizioni al bordo “fisiche” (8.72), le equa-zioni delle caratteristiche uscenti in corrispondenza dei punti x0 e xN . Più nel det-taglio, la caratteristica uscente dal dominio nel punto x0 = −1 è quella associataall’autovalore negativo della matrice A, e ha equazione

∂z1∂t(x0)−

3

2

∂z1∂x(x0) = 0, (8.73)

mentre quella associata al punto xN = 1 è individuata dall’autovalore positivo 1/2 edè data da

∂z2

∂t(xN) +

1

2

∂z2

∂x(xN) = 0. (8.74)

La scelta della caratteristica uscente è motivata dal fatto che questa è portatrice di in-formazioni dall’interno del dominio al corrispondente punto di outflow, punto in cuiha senso dunque imporre l’equazione differenziale.Le equazioni (8.73) e (8.74) ci permettono di avere un sistema chiuso di 2N +2 equa-zioni nelle 2N + 2 incognite uN,1(xi, t) = uN(xi, t), uN,2(xi, t) = vN(xi, t), coni = 0, . . . , N .Per completezza, possiamo riscrivere le equazioni caratteristiche (8.73) e (8.74) intermini delle incognite uN e vN , come

∂(uN + vN)

∂t(x0)−

3

2

∂(uN + vN)

∂x(x0) = 0

e∂(uN − vN )

∂t(xN) +

1

2

∂(uN − vN )

∂x(xN) = 0,

rispettivamente, ovvero in termini matriciali come[W−111 W−1

12

] [∂uN∂t(x0) +A

∂uN∂x(x0)]= 0,

[W−121 W−1

22

] [∂uN∂t(xN) +A

∂uN∂x(xN)]= 0.

(8.75)

Page 286: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.6 Trattamento numerico delle condizioni al bordo per sistemi iperbolici 275

Tali equazioni aggiuntive sono dette di compatibilità: esse rappresentano una combi-nazione lineare delle equazioni differenziali del problema in corrispondenza dei puntidi bordo con coefficienti dati dalle componenti della matrice W−1.

Osservazione 8.4 Come osservato in precedenza i metodi spettrali (di collocazione,di Galerkin, o G-NI) rappresentano un “buon terreno” su cui testare possibili soluzionia problemi numerici quali appunto l’assegnazione di condizioni supplementari persistemi iperbolici. Questo è dovuto alla natura globale di tali metodi che propaganoimmediatamente e su tutto il dominio ogni possibile perturbazione numerica che vengaintrodotta al bordo. •

8.6.1 Trattamento debole delle condizioni al bordo

Vogliamo generalizzare ora l’approccio basato sulle equazioni di compatibilità pas-sando da relazioni puntuali, quali appunto le (8.75), a relazioni integrali, in linea conun’approssimazione numerica di tipo, ad esempio, elementi finiti o G-NI.Consideriamo di nuovo il sistema a coefficienti costanti (8.65) e le notazioni usatenella Sez. 8.6. Sia A una matrice reale, simmetrica e non singolare di ordine d, Λla matrice diagonale reale degli autovalori di A e W la matrice quadrata le cui co-lonne sono gli autovettori (destri) di A. Supponiamo che W sia ortogonale il che cigarantisce che Λ = WTAW . Le variabili caratteristiche, definite come z = WTu,soddisfano il sistema diagonale (8.68). Introduciamo lo splitting Λ = diag(Λ+, Λ−)della matrice degli autovalori raggruppando, rispettivamente, gli autovalori positivi(Λ+) e quelli negativi (Λ−). Tali sottomatrici risultano entrambe diagonali, Λ+ defi-nita positiva di ordine p, Λ− definita negativa di ordine n = d− p.Analogamente possiamo riscrivere z come z = (z+, z−)T , avendo indicato con z+

(z−, rispettivamente) le variabili caratteristiche costanti lungo le caratteristiche conpendenza positiva (negativa), ovvero che si muovono verso destra (sinistra). In corri-spondenza dell’estremo di destra x = 1, z+ è associato alle variabili caratteristicheuscenti mentre z− a quelle entranti. Chiaramente i ruoli si scambiano in corrisponden-za dell’estremo di sinistra x = −1.Un caso semplice si presenta se assegnamo i valori delle caratteristiche entranti incorrispondenza di entrambi gli estremi del dominio, ovvero p condizioni in x = −1ed n condizioni in corrispondenza di x = 1. In questo caso (8.68) rappresenta, a tuttigli effetti, un sistema disaccoppiato. Solitamente, tuttavia, vengono assegnate, in cor-rispondenza di entrambi i punti di bordo, combinazioni lineari Bu = g delle variabilifisiche, ovvero, rileggendole in termini delle variabili z, combinazioni lineari Cz = gdelle variabili caratteristiche, con C = BW . Nessuna delle caratteristiche uscentiverrà, in linea di massima, individuata da queste combinazioni in quanto i valori ri-sultanti saranno in generale incompatibili con quelli propagati dal sistema iperbolicoall’interno del dominio. Al contrario, le condizioni al bordo dovrebbero permettere dideterminare le variabili caratteristiche entranti in funzione di quelle uscenti e dei dati.Per la precisione, supponiamo che siano assegnate le condizioni al bordo

BLu(−1, t) = gL(t), BRu(1, t) = gR(t), t > 0, (8.76)

Page 287: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

276 8 Elementi finiti e metodi spettrali per equazioni iperboliche

dove gL e gR sono vettori assegnati e BL, BR opportune matrici. Concentriamocisull’estremo di sinistra, x = −1. Poiché, in corrispondenza di tale punto, si hannop caratteristiche entranti, BL avrà dimensione p × d. Ponendo CL = BLW ed uti-lizzando lo splitting z = (z+, z−)T introdotto per z ed il corrispondente splittingW = (W+,W−)T per la matrice degli autovettori, si ha

CLz(−1, t) = C+L z+(−1, t) + C−L z

−(−1, t) = gL(t),

dove C+L = BLW+ è una matrice p× p mentre C−L = BLW

− ha dimensione p× n.Facciamo la richiesta che la matrice C+L sia non singolare. La caratteristica entrantein corrispondenza dell’estremo x = −1 è data da

z+(−1, t) = SLz−(−1, t) + zL(t), (8.77)

essendo SL = −(C+L )−1C−L una matrice p× n e zL(t) = (C+L )−1gL(t). In maniera

del tutto analoga possiamo assegnare, in corrispondenza dell’estremo di destra x = 1,la variabile caratteristica entrante come

z−(1, t) = SRz+(1, t) + zR(t), (8.78)

essendo SR una matrice n× p.Le matrici SL ed SR sono dette matrici di riflessione.Il sistema iperbolico (8.65) verrà dunque completato dalle condizioni al bordo (8.76)o, equivalentemente, dalle condizioni (8.77)-(8.78), oltre che, ovviamente, da un’op-portuna condizione iniziale u(x, 0) = u0(x), per −1 ≤ x ≤ 1.

Cerchiamo di capire a quali vantaggi può portare una tale scelta per le condizionial bordo. Partiamo dalla formulazione debole del problema (8.65), integrando per partiil termine contenente la derivata spaziale

1∫−1

vT∂u

∂tdx −

1∫−1

(∂v∂x

)TAu dx +

[vTAu

]1−1 = 0,

per ogni t > 0, essendo v una funzione test arbitraria, differenziabile. Vorremmocercare di riscrivere il termine di bordo

[vTAu

]1−1 con una formulazione equivalente

alla forma (8.76). Introducendo la variabile caratteristica WTv = y = (y+,y−)T

associata alla funzione test v, avremo

vTAu = yTΛz = (y+)TΛ+z+ + (y−)TΛ−z−.

Page 288: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

8.6 Trattamento numerico delle condizioni al bordo per sistemi iperbolici 277

Utilizzando le relazioni (8.77)-(8.78), ne segue dunque che

1∫−1

vT∂u

∂tdx −

1∫−1

(∂v∂x

)TAu dx

− (y+)T (−1, t)Λ+SLz−(−1, t)− (y−)T (−1, t)Λ−z−(−1, t)

+ (y+)T (1, t)Λ+z+(1, t) + (y−)T (1, t)Λ−SR z+(1, t)

= (y+)T (−1, t)Λ+zL(t)− (y−)T (1, t)Λ−zR(t).

(8.79)

Osserviamo che nel termine noto di tale formulazione intervengono le condizioni albordo (8.77)-(8.78), che vengono così incorporate dal sistema senza che vi sia bisognodi pretendere nulla sul comportamento al bordo delle funzioniu e v. Inoltre, integran-do ancora per parti, è possibile ottenere una formulazione equivalente alla (8.79) incui le condizioni al bordo vengono imposte in modo debole

1∫−1

vT∂u

∂tdx +

1∫−1

vT A∂u

∂xdx

+ (y+)T (−1, t)Λ+(z+(−1, t)− SLz

−(−1, t))

− (y−)T (1, t)Λ−(z−(1, t)− SRz

+(1, t))

= (y+)T (−1, t)Λ+zL(t) − (y−)T (1, t)Λ−zR(t).

(8.80)

Infine ricordiamo che solitamente sulle matrici di riflessione SL e SR viene fatta laseguente ipotesi, detta di dissipazione

‖SL‖ ‖SR‖ < 1, (8.81)

sufficiente a garantire la stabilità dello schema precedente rispetto alla norma L2. Lanorma di matrice in (8.81) va intesa come la norma euclidea di una matrice rettango-lare, ovvero la radice quadrata del massimo autovalore di STS.La formulazione (8.79) (o (8.80)) si presta ad essere approssimata con una delle tec-niche “alla Galerkin” viste sino ad ora: con il metodo di Galerkin-elementi finiti, conil metodo di Galerkin spettrale, con il metodo spettrale con integrazione numericaGaussiana in un singolo dominio (G-NI) o in versione spectral element, nel caso dielementi spettrali continui (SEM-NI) o discontinui (DG-SEM-NI).

Page 289: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

278 8 Elementi finiti e metodi spettrali per equazioni iperboliche

8.7 Esercizi

1. Verificare che la discretizzazione con elementi finiti lineari continui (8.13) coin-cide con quella alle differenze finite (7.22) nel caso in cui si renda diagonale lamatrice di massa con la tecnica del mass-lumping.[Soluzione: si usi la proprietà (5.29) di partizione dell’unità come fatto nella Sez.5.5.]

2. Si dimostrino le disuguaglianze di stabilità fornite nella Sez. (8.4) per la semi-discretizzazione basata su elementi finiti discontinui.

3. Si verifichi la relazione (8.13).4. Si discretizzi con il metodo degli elementi spettrali continui, SEM-NI, e disconti-

nui, DG-SEM-NI, il sistema (8.79).

Page 290: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

9

Cenni a problemi iperbolici non lineari

In questo capitolo introduciamo alcuni esempi di problemi iperbolici non lineari. Ac-cenneremo ad alcune proprietà caratteristiche di tali problemi, la più rilevante essendoquella di poter generare soluzioni discontinue anche nel caso di dati iniziali e al con-torno continui. L’approssimazione numerica di questi problemi è un compito tutt’altroche facile. In questo Capitolo ci limiteremo semplicemente ad accennare a come sipossono applicare gli schemi alle differenze finite e agli elementi finiti discontinui nelcaso di equazioni monodimensionali.

Per una trattazione più esauriente consigliamo di riferirsi a [LeV07], [GR96],[Bre00], [Tor99], [Kro97].

9.1 Equazioni scalari

Consideriamo la seguente equazione

∂u

∂t+

∂xF (u) = 0, x ∈ R, t > 0, (9.1)

dove F è una funzione non lineare di u detta flusso di u in quanto su ogni intervallo(α, β) di R essa soddisfa la seguente relazione

d

dt

∫ βα

u(x, t)dx = F (u(t, α))− F (u(t, β)).

Per tale ragione la (9.1) esprime una legge di conservazione. Un esempio classi-co è costituito dall’equazione di Burgers, già considerata nell’esempio 1.3, in cuiF (u) = u2/2. Tale equazione in forma non conservativa si può scrivere (fintantoche la soluzione rimane regolare)

∂u

∂t+ u

∂u

∂x= 0. (9.2)

L’equazione delle linee caratteristiche per la (9.2) è x′(t) = u, ma essendo u costan-te sulle caratteristiche, si ottiene x′(t) = costante, cioè le caratteristiche sono delle

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 291: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

280 9 Cenni a problemi iperbolici non lineari

rette. Esse sono definite nel piano (x, t) dalla mappa t → (x + tu0(x), t), e la solu-zione è definita implicitamente da u(x + tu0(x)) = u0(x), ∀t < tc, essendo tc unvalore critico del tempo in cui per la prima volta tali caratteristiche si intersecano. Adesempio, se u0 = (1 + x2)−1, tc = 8/

√27.

In effetti, se u′0(x) è negativa in qualche punto, posto

tc = −1

min u′0(x)

per t > tc non può esistere alcuna soluzione classica (ovvero di classe C1), in quanto

limt→t−c

(infx∈R

∂u

∂x(x, t)

)= −∞

Consideriamo la Fig. 9.1: si nota come per t = tc la soluzione presenti una disconti-nuità.

x

t

0

t1

t2

tc

Figura 9.1. Sviluppo della singolarità

Per ovviare a questa perdita di unicità si introduce il concetto di soluzione debole perle equazioni iperboliche: diciamo che u è una soluzione debole di (9.1) se soddisfala relazione differenziale (9.1) in tutti i punti x ∈ R ad eccezione di quelli in cui èdiscontinua. In questi ultimi non si pretende più che valga la (9.1) (non avrebbe alcunsenso derivare una funzione discontinua), ma si esige che sia verificata la seguentecondizione di Rankine-Hugoniot

F (ur)− F (ul) = σ(ur − ul), (9.3)

ove ur e ul indicano, rispettivamente, il limite destro e sinistro di u nel punto didiscontinuità, e σ è la velocità di propagazione della discontinuità. La condizione (9.3)esprime dunque il fatto che il salto dei flussi è proporzionale al salto della soluzione.

Le soluzioni deboli non sono necessariamente uniche: tra di esse quella fisicamen-te corretta è la cosiddetta soluzione entropica.Come vedremo alla fine di questa sezione, nel caso dell’equazione di Burgers lasoluzione entropica si ottiene come limite, per ε → 0, della soluzione uε(x, t)

Page 292: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

9.1 Equazioni scalari 281

dell’equazione avente un termine di perturbazione viscoso

∂uε

∂t+

∂xF (uε) = ε

∂2uε

∂x2, x ∈ R, t > 0,

con uε(x, 0) = u0(x).In generale, possiamo dire che:

- se F (u) è differenziabile, una discontinuità che si propaga con velocità σ datadalla (9.3), soddisfa la condizione di entropia se

F ′(ul) ≥ σ ≥ F ′(ur);

- se F (u) non è differenziabile, una discontinuità che si propaga con velocità σ datadalla (9.3) soddisfa la condizione di entropia se

F (u)− F (ul)

u− ul≥ σ ≥ F (u)− F (ur)

u− ur,

per ogni u compresa tra ul e ur.

Esempio 9.1 Consideriamo l’equazione di Burgers con la condizione iniziale seguente

u0(x) =

{ul se x < 0,ur se x > 0,

dove ur ed ul sono due costanti. Se ul > ur , allora esiste una sola soluzione debole (che èanche entropica)

u(x, t) =

{ul, x < σt,ur, x > σt,

(9.4)

dove σ = (ul + ur)/2 è la velocità di propagazione della discontinuità (detta anche shock). Inquesto caso le caratteristiche “entrano” nello shock (si veda la Fig. 9.2).Nel caso ul < ur ci sono infinite soluzioni deboli: una ha ancora la forma (9.4), ma in questocaso le caratteristiche escono dalla discontinuità (si veda la Fig. 9.3). Tale soluzione è instabile,ovvero piccole perturbazioni sui dati cambiano in modo sostanziale la soluzione stessa. Un’altra

xx

t

0

ul

ur

x = σt

σt

Figura 9.2. Soluzione entropica per l’equazione di Burgers

Page 293: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

282 9 Cenni a problemi iperbolici non lineari

xx

t

0

ul

ur

x = σt

σt

Figura 9.3. Soluzione non entropica per l’equazione di Burgers

xx

t

0

ul

ur

x = σt

tul tur

Figura 9.4. Onda di rarefazione

soluzione debole è

u(x, t) =

⎧⎪⎨⎪⎩ul se x < ult,x

tse ult ≤ x ≤ urt,

ur se x > urt.

Tale soluzione, che descrive un’onda di rarefazione, a differenza della precedente, è entropica(si veda la Fig. 9.4). �

Si dice che un problema iperbolico (9.1) possiede una funzione entropia se esi-stono una funzione strettamente convessa η = η(u) ed una funzione Ψ = Ψ(u) taliche

Ψ ′(u) = η′(u)F ′(u), (9.5)

dove l’apice indica la derivata rispetto all’argomento u. La funzione η è detta entropiae Ψ è detta flusso d’entropia. Si ricorda che una funzione η si dice convessa se perogni u e w distinti e θ ∈ (0, 1) si ha

η(u+ θ(w − u)) < (1− θ)η(u) + θη(w).

Se η possiede derivata seconda continua, ciò è equivalente a richiedere che η′′ > 0.

Osservazione 9.1 Quella qui presentata è una definizione “matematica” di entropia.Nel caso in cui (9.1) governi un fenomeno fisico, è spesso possibile definire una“entropia termodinamica”. Essa risulta essere effettivamente anche una entropia delproblema differenziale nel senso precedentemente descritto. •

Page 294: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

9.1 Equazioni scalari 283

La forma quasi-lineare di (9.1) è data da

∂u

∂t+ F ′(u)

∂u

∂x= 0. (9.6)

Se u è sufficientemente regolare, moltiplicando (9.6) per η′(u) si verifica facilmenteche η e Ψ soddisfano una legge di conservazione del tipo

∂η

∂t(u) +

∂Ψ

∂x(u) = 0. (9.7)

Per una equazione scalare è in genere possibile trovare diverse coppie di funzioni η eΨ che soddisfino le condizioni date.

Le operazioni effettuate per derivare (9.7) sono valide solo se u è regolare, inparticolare se non vi sono discontinuità nella soluzione. Si possono però trovare lecondizioni che la variabile entropia deve soddisfare in corrispondenza di una discon-tinuità nella soluzione di (9.1) quando tale equazione rappresenti il limite per ε→ 0+della seguente equazione modificata (detta equazione di viscosità)

∂u

∂t+

∂F

∂x(u) = ε

∂2u

∂x2. (9.8)

La soluzione di (9.8) è regolare per ogni ε > 0, ed effettuando le stesse manipolazioniusate precedentemente si può scrivere

∂η

∂t(u) +

∂Ψ

∂x(u) = εη′(u)

∂2u

∂x2= ε

∂x

[η′(u)

∂u

∂x

]− εη′′(u)

(∂u

∂x

)2.

Integrando ora su un generico rettangolo [x1, x2]× [t1, t2] si ottiene∫ t2t1

∫ x2x1

[∂η

∂t(u) +

∂Ψ(u)

∂x

]dxdt = ε

∫ t2t1

[η′(u(x2, t))

∂u

∂x(x2, t)

− η′(u(x1, t))∂u

∂x(x1, t)

]dt− ε

∫ t2t1

∫ x2x1

η′′(u)

(∂u

∂x

)2dxdt = R1(ε) +R2(ε),

dove abbiamo posto

R1(ε) = ε

∫ t2t1

[η′(u(x2, t))

∂u

∂x(x2, t)− η′(u(x1, t))

∂u

∂x(x1, t)

]dt,

R2(ε) = −ε

∫ t2t1

∫ x2x1

η′′(u)

(∂u

∂x

)2dxdt .

Abbiamolimε→0+

R1(ε) = 0,

mentre se la soluzione per ε→ 0+ del problema modificato presenta una discontinuitàlungo una curva nel piano (x, t) si ha

limε→0+

R2(ε) �= 0,

Page 295: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

284 9 Cenni a problemi iperbolici non lineari

dato che l’integrale contenente il termine(∂u∂x

)2è, in generale, illimitato.

D’altra parte R2(ε) ≤ 0 per ogni ε > 0, essendo ∂2η/∂u2 > 0, dunque la soluzionedebole al limite per ε→ 0+ soddisfa∫ t2

t1

∫ x2x1

[∂η

∂t(u) +

∂Ψ

∂x(u)

]dxdt ≤ 0 ∀x1, x2, t1, t2. (9.9)

In altre parole∂η

∂t(u) +

∂Ψ

∂x(u) ≤ 0, x ∈ R, t > 0

in senso debole.Vi è ovviamente una relazione tra quanto appena visto e la nozione di soluzione

entropica. Se l’equazione differenziale ammette una funzione entropia η, allora unasoluzione debole è una soluzione entropica se e solo se η soddisfa (9.9). In altre parole,le soluzioni entropiche sono soluzioni-limite del problema modificato (9.8) per ε →0+.

9.2 Approssimazione alle differenze finite

Ritorniamo a considerare l’equazione iperbolica non lineare (9.1), con la condizioneiniziale

u(x, 0) = u0(x), x ∈ R .

Indichiamo con a(u) = F ′(u) la velocità caratteristica.Anche per questo problema possiamo usare uno schema esplicito alle differenze fi-nite della forma (7.13). L’interpretazione funzionale di Hnj+1/2 = H(unj , u

nj+1) è la

seguente

Hnj+1/2 �1

Δt

∫ tn+1tn

F (u(xj+1/2, t))dt,

ovvero Hnj+1/2 approssima il flusso medio attraverso xj+1/2 nell’intervallo di tempo

[tn, tn+1]. Per avere consistenza, il flusso numerico H(·, ·) deve verificare

H(u, u) = F (u), (9.10)

nel caso in cui u sia una costante. Sotto l’ipotesi (9.10), grazie ad un classico risultatodi Lax e Wendroff, le funzioni u tali che

u(xj, tn) = lim

Δt,h→0unj ,

sono soluzioni deboli del problema di partenza.Sfortunatamente, però, non è assicurato che le soluzioni ottenute in questa manierasoddisfino la condizione d’entropia (ovvero non è detto che le soluzioni deboli siano

Page 296: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

9.2 Approssimazione alle differenze finite 285

anche soluzioni entropiche).Al fine di “recuperare” le soluzioni entropiche, gli schemi numerici devono intro-durre un’adeguata diffusione numerica, come suggerito dall’analisi della Sez. 9.1.Riscriviamo a tal fine (7.13) nella forma

un+1j = G(unj−1, unj , u

nj+1) (9.11)

e introduciamo alcune definizioni. Lo schema numerico (9.11) è detto:

- monotono se G è una funzione monotona crescente di ognuno dei suoi argomenti;- limitato se esiste C > 0 tale che supj,n |unj | ≤ C;- stabile se ∀ h > 0, ∃ δ0 > 0 (possibilmente dipendente da h) t.c., per ogni0 < Δt < δ0, se un e vn sono le soluzioni alle differenze finite, ottenute a partireda due dati iniziali u0 e v0, allora

‖un − vn‖Δ ≤ CT ‖u0 − v0‖Δ , (9.12)

per ogni n ≥ 0 t.c. nΔt ≤ T e per ogni scelta dei dati iniziali u0 e v0. La costanteCT > 0 è indipendente da Δt e h, e ‖ · ‖Δ è una opportuna norma discreta, comequelle introdotte in (7.26). Si noti che per problemi lineari questa definizione èequivalente alla (7.25). Si parlerà di stabilità forte quando in (9.12) si può prendereCT = 1 per ogni T > 0.

A titolo di esempio, ponendo per semplicità di notazione Fj = F (uj), lo schema diLax-Friedrichs per il problema (9.1) si realizza attraverso lo schema generale (7.13)in cui si prenda

Hj+1/2 =1

2

[Fj+1 + Fj −

1

λ(uj+1 − uj)

].

Questo metodo è consistente, stabile e monotono purché valga la seguente condizione(analoga alla condizione CFL già vista nel caso lineare)∣∣F ′(unj )∣∣ Δt

h≤ 1 ∀j ∈ Z , ∀n ∈ N. (9.13)

Un classico risultato di N.N. Kuznetsov stabilisce che schemi monotoni del tipo(9.11) sono limitati, stabili, convergenti alla soluzione entropica ed hanno un’accura-tezza al massimo del primo ordine sia rispetto al tempo che allo spazio, ovvero esisteuna costante C > 0 t.c.

maxj,n

|unj − u(xj, tn)| ≤ C(Δt+ h).

Essi sono in genere troppo dissipativi e non generano soluzioni accurate a meno chenon si usino griglie molto raffinate.

Schemi di ordine più elevato (i cosiddetti high order shock capturing schemes)sono stati sviluppati usando tecniche che permettono di calibrare la dissipazione nu-merica in funzione della regolarità locale della soluzione, al fine di risolvere corretta-mente le discontinuità (assicurando la convergenza a soluzioni entropiche ed evitandooscillazioni spurie) utilizzando globalmente una dissipazione numerica minima. Que-sta problematica è complessa e non può essere affrontata con eccessivo desiderio disintesi. Per approfondimenti rinviamo ai testi [LeV02b], [LeV07], [GR96] e [Hir88].

Page 297: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

286 9 Cenni a problemi iperbolici non lineari

9.3 Approssimazione con elementi finiti discontinui

Per la discretizzazione del problema (9.1) consideriamo ora l’approssimazione spa-ziale basata su elementi finiti discontinui. Usando le stesse notazioni introdotte nellaSez. 8.4, cerchiamo per ogni t > 0 uh(t) ∈Wh tale che si abbia ∀j = 0, . . . , m− 1 e∀vh ∈ Pr(Ij),∫Ij

∂uh∂t

vh dx−∫Ij

F (uh)∂vh∂x

dx+Hj+1(uh)v−h (xj+1)−Hj(uh)v

+h (xj) = 0, (9.14)

essendo Ij = [xj, xj+1]. Il dato iniziale u0h è fornito dalle relazioni∫Ij

u0hvhdx =

∫Ij

u0vhdx, j = 0, . . . , m− 1.

La funzione Hj denota ora il flusso non lineare nel nodo xj e dipende dai valoridi uh in xj , ovvero

Hj(uh(t)) = H(u−h (xj, t), u+h (xj , t)), (9.15)

per un opportuno flusso numerico H(·, ·). Se j = 0 si dovrà porre u−h (x0, t) = φ(t),che è il dato al bordo nell’estremo di sinistra (ammesso naturalmente che questo sia ilpunto di inflow).

Osserviamo che esistono varie possibilità di scelta per la funzione H . Vogliamotuttavia che tali scelte diano luogo in (9.14) a schemi che siano perturbazioni di schemimonotoni. Questi ultimi, infatti, come già accennato nella sezione precedente, puressendo solo del primo ordine, sono stabili e convergono alla soluzione entropica.Precisamente, pretendiamo che (9.14) sia uno schema monotono quando r = 0. In talcaso detto u

(j)h il valore costante di uh su Ij , la (9.14) diventa

hj∂

∂tu(j)h (t) +H(u

(j)h (t), u

(j+1)h (t)) −H(u

(j−1)h (t), u

(j)h (t)) = 0, (9.16)

con dato iniziale u0,(j)h = h−1j

∫ xj+1xj

u0 dx nell’intervallo Ij , j = 0, . . . , m − 1,avendo indicato con hj = xj+1 − xj l’ampiezza di Ij .

Affinché lo schema (9.16) sia monotono, il flusso H deve essere monotono, il cheequivale a dire che H(v, w) è:

- una funzione Lipschitziana dei suoi due argomenti;- una funzione non decrescente in v e non crescente in w. Simbolicamente, H(↑, ↓);- consistente con il flusso F , ovvero H(u, u) = F (u), per ogni costante u.

Alcuni celebri esempi di flusso monotono sono i seguenti:

1. Flusso di Godunov

H(v, w) =

⎧⎨⎩minv≤u≤w

F (u) se v ≤ w,

maxw≤u≤v

F (u) se v > w;

Page 298: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

9.3 Approssimazione con elementi finiti discontinui 287

2. Flusso di Engquist-Osher

H(v, w) =

v∫0

max(F ′(u), 0)du+

w∫0

min(F ′(u), 0)du+ F (0);

3. Flusso di Lax-Friedrichs

H(v, w) =1

2[F (v) + F (w)− δ(w − v)], δ = max

infx u0(x)≤u≤supx u0(x)|F ′(u)|.

Il flusso di Godunov è quello che dà luogo alla minor quantità di dissipazionenumerica, quello di Lax-Friedrichs è il meno costoso da valutare. Tuttavia l’espe-rienza numerica suggerisce che se il grado r aumenta, la scelta del flusso H non haconseguenze significative sulla qualità dell’approssimazione.

Nel caso lineare, in cui F (u) = au, tutti i flussi precedenti coincidono e sonouguali al flusso upwind

H(v, w) = av + w

2− |a|2(w − v). (9.17)

In tal caso osserviamo che lo schema (9.14) coincide esattamente con quello in-trodotto in (8.42) allorché a > 0. Infatti, posto a0 = 0 e f = 0 in (8.42) e integrandoper parti si ottiene, per ogni j = 1, . . . , m− 1∫

Ij

∂uh

∂tvh dx−

∫Ij

(auh)∂vh

∂xdx

+(auh)−(xj+1)v

−h (xj+1)− (auh)−(xj)v+h (xj) = 0,

(9.18)

ovvero la (9.14), tenendo conto che nel caso in esame auh = F (uh) e ∀j =1, . . . , m− 1

(auh)−(xj) = a

u−h (xj) + u+h (xj)

2− a

2(u+h (xj)− u−h (xj)) = Hj(uh).

La verifica nel caso j = 0 è ovvia.In tal caso, indicato con [uh]j = u+h (xj) − u−h (xj), si ha il seguente risultato di

stabilità

‖uh(t)‖2L2(α,β) + θ(uh(t)) ≤ ‖u0h‖2L2(α,β)avendo posto

θ(uh(t)) = |a|t∫0

m−1∑j=1

[uh(t)]2jdt.

Si noti come anche i salti siano controllati dal dato iniziale. L’analisi di conver-genza fornisce il seguente risultato (nell’ipotesi che u0 ∈ Hr+1(α, β))

‖u(t)− uh(t)‖L2(α,β) ≤ Chr+1/2|u0|Hr+1(α,β), (9.19)

Page 299: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

288 9 Cenni a problemi iperbolici non lineari

dunque un ordine di convergenza (= r + 1/2) più grande di quello (= r) che siavrebbe usando elementi finiti continui, come già riscontrato nel caso lineare (si vedala (8.48)). Nel caso non lineare e per r = 0, definendo la seminorma

|v|TV (α,β) =m−1∑j=0

|vj+1 − vj|, v ∈Wh,

e prendendo il flusso numerico di Engquist-Osher nella (9.16), si ha il seguenterisultato (dovuto a N.N. Kuznestov)

‖u(t)− uh(t)‖L1(α,β) ≤ ‖u0 − u0h‖L1(α,β) +C|u0|TV (α,β)√

th.

Inoltre, |uh(t)|TV (α,β) ≤ |u0h|TV (α,β) ≤ |u0|TV (α,β).Per la discretizzazione temporale, scriviamo dapprima lo schema (9.14) nella

forma algebrica

Mhd

dtuh(t) = Lh(uh(t), t), t ∈ (0, T ),

uh(0) = u0h,

essendo uh(t) il vettore dei gradi di libertà, Lh(uh(t), t) il vettore risultante della di-scretizzazione del termine di flusso −∂F∂x eMh la matrice di massa. Mh è una matricediagonale a blocchi il cui j-esimo blocco è la matrice di massa relativa all’elementoIj (come già osservato quest’ultima è diagonale se si ricorre ad una base di polinomidi Legendre).

Per la discretizzazione temporale, oltre agli schemi di Eulero precedentementeconsiderati possiamo ricorrere al seguente metodo di Runge-Kutta del 2o ordine:

Mh(u∗h − unh) = ΔtLh(u

nh, tn),

Mh(u∗∗h − u∗h) = ΔtLh(u

∗h, tn+1),

un+1h = 12 (u

nh + u

∗∗h ).

Nel caso del problema lineare (in cui F (u) = au), usando r = 1 questo schema èstabile nella norma ‖ · ‖L2(α,β) purché sia soddisfatta la condizione

Δt ≤ 13

h

|a| .

Per r arbitrario, l’evidenza numerica mostra che bisogna utilizzare uno schema diordine 2r + 1, in tal caso si ha stabilità sotto la condizione

Δt ≤ 1

2r + 1

h

|a| .

Riportiamo lo schema di Runge-Kutta del 3o ordine, da usare preferibilmente quandor = 1

Mh(u∗h − unh) = ΔtLh(u

nh, tn),

Mh(u∗∗h − (34unh + 1

4u∗h)) =

14ΔtLh(u

∗h, tn+1),

Mh(un+1h − (1

3unh +

23u∗∗h )) =

23ΔtLh(u

∗∗h , tn+1/2).

(9.20)

Page 300: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

9.3 Approssimazione con elementi finiti discontinui 289

10−3

10−2

10−6

10−5

10−4

10−3

10−2

10−1

h

r=1

r=2

r=3

r=0

Figura 9.5. Errore ‖u − uh‖L2(0,1) ottenuto risolvendo un problema di trasporto lineare condato iniziale regolare usando elementi finiti discontinui di grado r rispettivamente pari a 0, 1, 2e 3. L’errore è stato calcolato al tempo t = 0.01. Lo schema di avanzamento in tempo è quellodi Runge-Kutta del terz’ordine conΔt = 5× 10−4

Esempio 9.2 Consideriamo ancora il problema dell’Esempio 8.2, che risolviamo con il meto-do degli elementi finiti discontinui, utilizzando lo schema di Runge-Kutta del terz’ordine perl’avanzamento temporale. L’obiettivo è di verificare sperimentalmente la (9.19). A tal scopo ab-biamo usato un passo temporale molto piccolo,Δt = 5×10−4, e 5 valori decrescenti del passoh ottenuti dividendo ripetutamente per 2 il valore iniziale h = 12.5 × 10−3. Si è confrontatol’errore in norma L2(0, 1) al tempo t = 0.01 per elementi di grado r pari a 0, 1, 2 e 3. Il risul-tato è riportato in scala logaritmica in Fig. 9.5. Esso è in buon accordo con la teoria secondola quale l’errore tende a zero come hr+1/2. In effetti, per r = 1 in questo caso particolare laconvergenza è più rapida di quanto predetto dalla teoria: i dati numerici forniscono un ordine diconvergenzamolto vicino a 2. Nel caso di r > 1 non sono stati riportati i risultati per i valori piùpiccoli di h in quanto per tali valori (e per ilΔt scelto) il problema è numericamente instabile.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0

0.5

1

1.5

2

x

u

10−3

10−2

0.01

0.1

0.5

r=1r=2

r=3

r=0

Figura 9.6. Errore ‖u − uh‖L2(0,1) ottenuto risolvendo un problema di trasporto lineare condato iniziale illustrato nella figura a sinistra. Si sono usati elementi finiti discontinui di grado rrispettivamente pari a 0, 1, 2 e 3. L’errore è stato calcolato al tempo t = 0.01. Lo schema diavanzamento in tempo è quello di Runge-Kutta del terz’ordine conΔt = 5× 10−4

Page 301: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

290 9 Cenni a problemi iperbolici non lineari

Esempio 9.3 Consideriamo lo stesso problema di trasporto lineare dell’esempio precedente,usando ora come dato iniziale l’onda quadra illustrata a sinistra nella Fig. 9.6. Essendo il datoiniziale discontinuo l’utilizzo di elementi di grado elevato non migliora l’ordine di convergenza,che risulta essere, per tutti i valori di r considerati, molto vicino al valore teorico di 1/2. In Fig.9.7 si mostrano le oscillazioni nella vicinanza della discontinuità della soluzione caso r = 2,responsabili del degrado della convergenza, mentre la soluzione per r = 0 non mostra alcunaoscillazione. �

Nel caso del problema non lineare utilizzando lo schema di Runge-Kutta del 2o ordinecon r = 0 sotto la condizione (9.13) si ottiene

|unh|TV (α,β) ≤ |u0|TV (α,β),

ovvero la stabilità forte nella norma | · |TV (α,β).Quando non si faccia ricorso a schemi monotoni, è molto più difficile ottenere la

stabilità forte. In questo caso ci si può limitare a garantire che la variazione totale dellemedie locali sia uniformemente limitata. (Si veda [Coc98].)

Esempio 9.4 Questo esempio vuole illustrare una caratteristica tipica dei problemi non lineari,cioè come si possano sviluppare discontinuità nella soluzione anche a partire da un dato inizialeregolare. A tale scopo consideriamo l’equazione di Burgers (9.2) nell’intervallo (0, 1), con datoiniziale (si veda la Figura 9.8)

u0(x) =

⎧⎨⎩1, 0 ≤ x ≤ 5

12,

54(2x− 56)3 − 27(2x − 5

6)2 + 1, 5

12< x < 7

12,

0, 712 ≤ x ≤ 1.

Si può verificare facilmente che u0, illustrata in Fig. 9.8, è di classeC1(0, 1).Si è quindi considerata la soluzione numerica ottenuta con il metodo Galerkin discontinuo,

utilizzando lo schema di Runge-Kutta del terz’ordine con un passo temporale Δt = 10−3 eh = 0.01, per r = 0, r = 1 e r = 2. La Fig. 9.9 mostra la soluzione al tempo t = 0.5

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.5

0

0.5

1

1.5

2

2.5

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.5

0

0.5

1

1.5

2

2.5

Figura 9.7. Soluzione al tempo t = 0.01 e per h = 3.125 × 10−3 per il caso test di Fig. 9.6.A sinistra il caso r = 3: si noti la presenza di oscillazioni nelle vicinanze delle discontinuità,mentre altrove la soluzione è accurata. A destra si mostra la soluzione ottenuta usando la stessadiscretizzazione spaziale e temporale per r = 0

Page 302: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

9.3 Approssimazione con elementi finiti discontinui 291

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

Figura 9.8. Soluzione iniziale u0 per il primo caso test del problema di Burgers

ottenuta con tali schemi. Si può notare come si sia sviluppata una discontinuità che lo schemanumerico risolve senza oscillazioni nel caso r = 0, mentre per ordini più elevati si hanno delleoscillazioni nelle vicinanze della discontinuità stessa. �

Per eliminare le oscillazioni nelle vicinanze della discontinuità della soluzione sipuò usare la tecnica dei limitatori di flusso (flux limiters), la cui descrizione esula dagliscopi di questo libro. Rimandiamo al proposito il lettore alla bibliografia già citata. Cilimitiamo a dire che lo schema di Runge-Kutta del terz’ordine (9.20) si modifica comesegue:

u∗h = Λh(unh +ΔtM−1h Lh(u

nh , tn)),

u∗∗h = Λh(34unh +

14u∗h +

14ΔtM−1h Lh(u

∗h, tn+1)),

un+1h = Λh(13unh +

23u∗∗h +

23ΔtM−1h Lh(u

∗∗h , tn+1/2)

),

essendo Λh il limitatore di flusso, che è funzione anche delle variazioni della solu-zione calcolata, cioè della differenza di valori tra due nodi adiacenti. Esso è pari al-l’operatore identità laddove la soluzione è regolare, mentre ne limita le variazioni sequeste provocano l’insorgenza di oscillazioni ad alta frequenza nella soluzione nume-rica. Chiaramente Λh va costruito in modo opportuno, in particolare deve mantenerele proprietà di consistenza e conservazione dello schema e scostarsi il meno possibiledall’operatore identità per non far degradare l’accuratezza.

A titolo esemplificativo riportiamo in Fig. 9.10 il risultato ottenuto con elementifiniti discontinui lineari (r = 1) per lo stesso caso test di Fig. 9.9 applicando la tecnicadei limitatori di flusso. La soluzione numerica ottenuta risulta più regolare, anche seleggermente più diffusiva di quella di Fig. 9.9.

Esempio 9.5 Consideriamo ora un secondo problema, dove il dato iniziale è quello di Fig. 9.11,ottenuto riflettendo specularmente rispetto alla retta x = 0.5 il dato del caso test precedente.Mantenendo invariati tutti gli altri parametri della simulazione numerica esaminiamo di nuovo

Page 303: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

292 9 Cenni a problemi iperbolici non lineari

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

x

u h

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

x

u h

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

x

u h

Figura 9.9. Soluzione al tempo t = 0.5 per il primo caso test del problema di Burgers. Con-fronto tra la soluzione numerica per r = 0 (in alto a sinistra), r = 1 (in alto a destra) e r = 2 (inbasso). Per il caso r = 0 la soluzione discreta, costante a tratti, è stata evidenziata collegandocon una linea punteggiata i valori in corrispondenza al punto medio di ogni elemento

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

x

u h

Figura 9.10. Soluzione al tempo t = 0.5 per il primo caso test del problema di Burgers. So-luzione ottenuta per r = 1 applicando la tecnica dei limitatori di flusso per regolarizzare lasoluzione numerica nelle vicinanze della discontinuità

la soluzione a t = 0.5. Essa è illustrata in Fig. 9.12. In questo caso la soluzione rimane continua,in quanto per questa condizione iniziale, le linee caratteristiche (che nel caso della equazionedi Burgers sono delle rette nel piano (x, t) di pendenza pari a arctanu−1) non si incrocianomai. L’ingrandimento permette di apprezzare in modo qualitativo la migliore accuratezza dellasoluzione ottenuta per r = 2 rispetto a quella ottenuta per r = 1. �

Page 304: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

9.4 Sistemi iperbolici non-lineari 293

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

u 0

Figura 9.11. Soluzione iniziale u0 per il secondo caso test del problema di Burgers

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.2

0

0.2

0.4

0.6

0.8

1

u

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.2

0

0.2

0.4

0.6

0.8

1

u

Figura 9.12. Soluzione al tempo t = 0.5 per il secondo caso test del problema di Burgers.Confronto tra la soluzione ottenuta per r = 1 (a sinistra) e quella per r = 2 (a destra). Nelriquadro è illustrato un ingrandimento della soluzione numerica che permette di apprezzarequalitativamente la migliore accuratezza ottenuta per r = 2

9.4 Sistemi iperbolici non-lineari

Accenniamo infine al caso dei sistemi di equazioni iperboliche non lineari. Un esem-pio classico è fornito dalle equazioni di Eulero che si ottengono dalle seguentiequazioni di Navier-Stokes (per fluidi comprimibili) in Rd, d = 1, 2, 3,

∂ρ

∂t+

d∑j=1

∂(ρuj )

∂xj= 0,

∂(ρui)

∂t+

d∑j=1

[∂(ρuiuj + δijp)

∂xj− ∂τij

∂xj

]= 0, i = 1, . . . , d

∂ρe

∂t+

d∑j=1

[∂(ρhuj)

∂xj− ∂(∑di=1 uiτij + qj)

∂xj

]= 0.

(9.21)

Le variabili hanno il seguente significato: u = (u1, . . . , ud)T è il vettore delle veloci-tà, ρ la densità, p la pressione, ei + 1

2|u|2 l’energia totale per unità di massa, pari alla

Page 305: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

294 9 Cenni a problemi iperbolici non lineari

somma dell’energia interna ei e dell’energia cinetica del fluido, h = e+p/ρ l’entalpiatotale per unità di massa, q il flusso termico e infine

τij = μ

[(∂uj∂xi+

∂ui∂xj

)− 23δijdivu

]il tensore degli sforzi (essendo μ la viscosità molecolare del fluido).Le equazioni del sistema precedente descrivono la conservazione della massa, del mo-mento e dell’energia, rispettivamente.Per completare il sistema è necessario assegnare una legge che leghi e alle variabiliρ, p,u, del tipo

e = Φ(ρ, p,u).

Tale legge viene normalmente derivata dalle equazioni di stato del fluido in esame. Inparticolare le equazioni di stato del gas ideale

p = ρRT, ei = CvT,

dove R = Cp −Cv è la costante del gas e T la temperatura, forniscono

e =p

ρ(γ − 1) +1

2|u|2,

dove γ = Cp/Cv è il rapporto tra i calori specifici a pressione ed a volume costante, ri-spettivamente. Il flusso termico q viene usualmente legato al gradiente di temperaturatramite la legge di Fick

q = −κ∇T = − κ

Cv∇(e− 1

2|u|2),

essendo κ la conducibilità termica del fluido in esame.Se μ = 0 e κ = 0, si ottengono le equazioni di Eulero per fluidi non viscosi.

Il lettore interessato può trovarle in testi specializzati di fluidodinamica oppure nellateoria dei sistemi iperbolici non lineari, quali per esempio [Hir88] o [GR96]. Taliequazioni possono essere scritte in forma compatta nel seguente modo

∂w

∂t+DivF (w) = 0, (9.22)

essendo w = (ρ, ρu, ρe)T il vettore delle cosiddette variabili conservate. La matricedei flussi F (w), funzione non lineare di w, si può ottenere dalle (9.21). Ad esempio,se d = 2, abbiamo

F (w) =

⎡⎢⎢⎣ρu1 ρu2

ρu21 + p ρu1u2ρu1u2 ρu22 + pρhu1 ρhu2

⎤⎥⎥⎦ .

Page 306: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

9.4 Sistemi iperbolici non-lineari 295

Infine si è indicato con Div l’operatore di divergenza di un tensore: se τ è un tensoredi componenti (τij), la sua divergenza è un vettore di componenti

(Div(τ ))k =d∑j=1

∂xj(τkj) , k = 1, ..., d. (9.23)

La (9.22) è detta forma conservativa delle equazioni di Eulero. Infatti integrandola suuna qualsiasi regione Ω ⊂ Rd ed usando il teorema di Gauss si ottiene

d

dt

∫Ω

w dΩ +

∫∂Ω

F (w) · n dγ = 0.

Ciò si interpreta dicendo che la variazione nel tempo di w in Ω è bilanciata dallavariazione dei flussi attraverso la frontiera di Ω. La (9.22) è pertanto una legge diconservazione.

Le equazioni di Navier-Stokes possono essere scritte anch’esse in forma conser-vativa come segue

∂w

∂t+ DivF (w) = DivG(w),

dove G(w) sono i cosiddetti flussi viscosi. Sempre nel caso d = 2 essi sono dati da

G(w) =

⎡⎢⎢⎣0 0τ11 τ12τ21 τ22

ρhu1 + u · τ1 + q1 ρhu2 + u · τ2 + q2

⎤⎥⎥⎦dove τ1 = (τ11, τ21)T e τ2 = (τ12, τ22)T .

Riscriviamo ora il sistema (9.22) nella forma

∂w

∂t+

d∑i=1

∂Fi(w)

∂w

∂w

∂xi= 0. (9.24)

Essa è un caso particolare di problema della forma seguente

∂w

∂t+

d∑i=1

Ai(w)∂w

∂xi= 0, (9.25)

detta forma quasi-lineare. Se la matrice Aα(w) =∑di=1 αiAi(w) è diagonalizzabile

per tutti i valori reali di {α1, . . . , αd} ed i suoi autovalori sono reali e distinti, allora ilsistema (9.25) è strettamente iperbolico.

Esempio 9.6 Un semplice esempio di problema strettamente iperbolico è fornito dal cosiddettosistema p:

∂v

∂t− ∂u∂x= 0 ,

∂u

∂t+∂

∂xp(v) = 0 .

Page 307: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

296 9 Cenni a problemi iperbolici non lineari

Se p′(v) < 0, i due autovalori della matrice jacobiana

A(w) =

(0 −1p′(v) 0

)sono

λ1(v) = −√−p′(v) < 0 < λ2(v) = +

√−p′(v) .

Esempio 9.7 Per il sistema di Eulero monodimensionale (ovvero con d = 1) si ha: w =(ρ, ρu, e)T e F (w) = (ρu, ρu2 + p, u(e + p))T . Gli autovalori della matrice A1(w) del

sistema sono u − c,u, u + c dove c =√γp

ρè la velocità del suono. Essendo u, c ∈ R, gli

autovalori sono reali e distinti e quindi il sistema di Eulero monodimensionale è strettamenteiperbolico. �

Si possono estendere al caso dei sistemi le considerazioni fatte sulle discontinuitàdella soluzione nel caso scalare, introducendo anche qui il concetto di soluzione debo-le. In particolare, anche in questo caso, si ha un’unica soluzione debole entropica. Lacondizione di entropia può essere estesa nel caso di sistemi, usando per esempio quel-la proposta da Lax. Osserviamo che nel caso del sistema monodimensionale (9.22) lecondizioni di salto di Rankine-Hugoniot si scrivono nella forma

F (w+)− F (w−) = σ(w+ −w−),

essendo w± i due stati costanti che rappresentano i valori delle incognite attraversola discontinuità e σ rappresenta ancora la velocità con cui si propaga la discontinuità.Usando il teorema fondamentale del calcolo, tale relazione si scrive nella forma

σ(w+ −w−) =∫ 10

DF (θw+ + (1− θ)w−) · (w+ −w−)dθ

= A(w−,w+) · (w+ −w−), (9.26)

dove la matrice

A(w−,w+) =

∫ 10

DF (θw+ + (1− θ)w−) dθ

rappresenta il valor medio dello Jacobiano di F (indicato con DF ) lungo il segmentoche congiunge w− con w+. La relazione (9.26) mostra che, in ogni punto di salto,la differenza tra gli stati destro e sinistro w+ − w− è un autovettore della matriceA(w−,w+), mentre la velocità del salto σ coincide con il corrispondente autovaloreλ = λ(w−,w+). Chiamando λi(w) l’i−esimo autovalore della matrice

A(w) = DF (w),

la condizione di ammissibilità di Lax richiede che

λi(w+) ≤ σ ≤ λi(w−) per ogni i.

Page 308: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

9.4 Sistemi iperbolici non-lineari 297

Intuitivamente, ciò significa che per uno shock della i−esima famiglia, la velocità a cuiesso viaggia deve essere maggiore della velocità λi(w+) delle onde immediatamentedi fronte allo shock e minore della velocità λi(w−) delle onde dietro lo shock.

Nel caso di sistemi iperbolici di m equazioni (m > 1), l’entropia η e il flussoassociato Ψ sono ancora delle funzioni scalari e la relazione (9.5) diventa

∇Ψ(u) =dF

du(u) · ∇η(u), (9.27)

che rappresenta un sistema di m equazioni e 2 incognite (η e Ψ ). Se m > 2 talesistema può non avere soluzioni.

Osservazione 9.2 Nel caso delle equazioni di Eulero, la funzione entropia esisteanche nel caso m = 3. •

Page 309: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10

Le equazioni di Navier-Stokes

Le equazioni di Navier-Stokes descrivono il moto di un fluido con densità ρ costantein un dominio Ω ⊂ Rd (con d = 2, 3). Esse si scrivono nella seguente forma⎧⎨⎩

∂u

∂t− div

[ν(∇u+∇uT

)]+ (u · ∇)u+∇p = f , x ∈ Ω, t > 0,

divu = 0, x ∈ Ω, t > 0,

(10.1)

essendo u la velocità del fluido, ρ la densità, p la pressione divisa per la densità (che inquesto capitolo chiameremo semplicemente “pressione”), ν = μ

ρla viscosità cinema-

tica, μ la viscosità dinamica e f è un termine forzante per unità di massa che si supponeappartenere allo spazio L2(R+; [L2(Ω)]d) (si veda la Sez. 6.2). La prima equazionedel sistema è l’equazione di bilancio della quantità di moto, la seconda è l’equazionedi conservazione della massa, detta anche equazione di continuità. Il termine (u ·∇)udescrive il processo di trasporto convettivo, mentre −div

[ν(∇u+∇uT )

]descrive il

processo di diffusione molecolare. Il sistema (10.1) può essere ottenuto dalle analo-ghe equazioni per fluidi comprimibili introdotte nel Cap. 9 supponendo ρ costante,utilizzando l’equazione di continuità (che ora è divenuta semplicemente divu = 0)per semplificare i vari termini e quindi dividendo le equazioni per ρ. Si noti come, adifferenza del caso comprimibile, non appaia in (10.2) una equazione per l’energia.Infatti, anche se in principio è possibile scrivere una tale equazione anche per i fluidiincomprimibili, essa può essere completamente risolta una volta calcolato il campo divelocità tramite il sistema (10.1).

Nel caso in cui ν è costante, usando l’equazione di continuità, otteniamo

div[ν(∇u+∇uT )

]= ν (Δu+∇divu) = νΔu

e il sistema (10.1) si può scrivere nella forma più compatta⎧⎨⎩∂u

∂t− νΔu+ (u · ∇)u+∇p = f , x ∈ Ω, t > 0,

divu = 0, x ∈ Ω, t > 0,

(10.2)

che è quella che considereremo nel resto del capitolo.

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 310: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

300 10 Le equazioni di Navier-Stokes

Le equazioni (10.2) sono spesso chiamate equazioni di Navier-Stokes incomprimi-bili. Più in generale, sono detti fluidi incomprimibili quelli che soddisfano la condizio-ne di incomprimibilità divu = 0. Il moto di fluidi a densità costante soddisfa neces-sariamente tale condizione, tuttavia si possono avere flussi incomprimibili a densitàvariabile (per esempio i cosiddetti flussi stratificati), che sono governati da un diversosistema di equazioni, dove la densità ρ appare esplicitamente. Affronteremo questocaso nella Sez. 10.9

Affinché il problema (10.2) sia ben posto è necessario assegnare delle condizioniiniziali

u(x, 0) = u0(x) ∀x ∈ Ω, (10.3)

unitamente a delle condizioni al contorno, per esempio, ∀t > 0,⎧⎪⎪⎨⎪⎪⎩u(x, t) = ϕ(x, t) ∀x ∈ ΓD,(ν∂u

∂n− pn

)(x, t) = ψ(x, t) ∀x ∈ ΓN ,

(10.4)

dove u0, ϕ e ψ sono funzioni vettoriali assegnate, mentre ΓD e ΓN sono porzioni

della frontiera ∂Ω di Ω tali che ΓD ∪ ΓN = ∂Ω,◦

ΓD ∩◦

ΓN= ∅ e n è il versore nor-male uscente a ∂Ω. Nel caso si utilizzino le equazioni nella forma (10.1), la secondaequazione in (10.4) deve essere sostituita da[

1

2ν(∇u+∇uT

)· n− pn

](x, t) = ψ(x, t) ∀x ∈ ΓN .

Se indichiamo con ui, i = 1, . . . , d le componenti del vettore u rispetto ad unsistema di riferimento cartesiano e con fi quelle del vettore f, il sistema (10.2) puòessere riscritto in funzione delle singole componenti come⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

∂ui

∂t− νΔui+

d∑j=1

uj∂ui

∂xj+

∂p

∂xi= fi, i = 1, . . . , d,

d∑j=1

∂uj

∂xj= 0.

Nel caso bidimensionale, le equazioni di Navier-Stokes con le condizioni al contornoindicate danno luogo a problemi ben posti in senso classico, ovvero hanno soluzionidotate di derivate continue, e non sviluppano singolarità in tempo se il dato inizialeè regolare. Le cose cambiano nel caso tridimensionale, in cui esistenza ed unicità disoluzioni in senso classico sono state dimostrate solo per tempi piccoli. Nella sezio-ne seguente introdurremo la formulazione debole del problema di Navier-Stokes: inquesto caso è possibile dimostrare un risultato di esistenza globale (per ogni intervallotemporale). Resta tuttavia aperto il problema dell’unicità (legato peraltro al problemadella regolarità), indubbiamente il problema centrale della teoria delle equazioni diNavier-Stokes.

Page 311: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.1 Formulazione debole delle equazioni di Navier-Stokes 301

Osservazione 10.1 Abbiamo scritto le equazioni di Navier-Stokes in termini dellecosiddette variabili primitive u e p. Altre variabili possono tuttavia essere utilizzate.Per esempio nel caso bidimensionale si adottano spesso la vorticità ω e la funzionecorrente ψ, che sono legate alla velocità dalle relazioni

ω = rotu =∂u2

∂x1− ∂u1

∂x2, u =

⎡⎢⎢⎣∂ψ

∂x2

− ∂ψ

∂x1

⎤⎥⎥⎦ .

Le diverse formulazioni sono equivalenti dal punto di vista matematico, pur dandoorigine a metodi di approssimazione fra loro differenti. Per ulteriori dettagli si veda adesempio [Qua93]. •

10.1 Formulazione debole delle equazioni di Navier-Stokes

Al fine di ottenere una formulazione debole del problema (10.2)-(10.4), procedia-mo formalmente e moltiplichiamo la prima delle (10.2) per una funzione test v,appartenente ad un opportuno spazio V che poi specificheremo, ed integriamola suΩ:∫Ω

∂u

∂t· v dΩ −

∫Ω

νΔu · v dΩ +

∫Ω

[(u · ∇)u] · v dΩ +

∫Ω

∇p · vdΩ =∫Ω

f · vdΩ.

Utilizzando la formula di Green si trova

−∫Ω

νΔu · v dΩ =

∫Ω

ν∇u · ∇v dΩ −∫∂Ω

ν∂u

∂n· v dγ,

∫Ω

∇p · v dΩ = −∫Ω

pdivv dΩ +

∫∂Ω

pv · n dγ.

Sostituendo queste relazioni nella prima delle (10.2), si trova∫Ω

∂u

∂t· v dΩ +

∫Ω

ν∇u · ∇v dΩ +

∫Ω

[(u · ∇)u] · v dΩ −∫Ω

pdivv dΩ

=

∫Ω

f · v dΩ +

∫∂Ω

(ν∂u

∂n− pn

)· v dγ ∀v ∈ V.

(10.5)

Analogamente possiamo moltiplicare la seconda delle (10.2) per una funzione testq, appartenente allo spazio Q (da specificare) a cui appartiene anche l’incognita p;integrando su Ω si ottiene∫

Ω

qdivu dΩ = 0 ∀q ∈ Q. (10.6)

Page 312: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

302 10 Le equazioni di Navier-Stokes

Come d’abitudine sceglieremo V in modo che le funzioni test si annullino sullaporzione del bordo dove la soluzione è nota

V = [H1ΓD (Ω)]d = {v ∈ [H1(Ω)]d : v|ΓD = 0}. (10.7)

Esso coinciderà con [H10(Ω)]d se ΓD = ∂Ω. Supponiamo che ΓN �= ∅. Allora possia-

mo scegliere Q = L2(Ω). Cercheremo inoltre, per ogni t > 0, u(t) ∈ [H1(Ω)]d, conu(t) = ϕ(t) su ΓD, u(0) = u0 e p(t) ∈ Q.

Con tale scelta di spazi si osservi innanzitutto che∫∂Ω

(ν∂u

∂n− pn) · vdγ =

∫ΓN

ψ · vdγ ∀v ∈ V .

Inoltre, tutti i termini lineari sono ben definiti. Precisamente, usando la notazionevettorialeHk(Ω) = [Hk(Ω)]d, Lp(Ω) = [Lp(Ω)]d, k ≥ 1, 1 ≤ p <∞, abbiamo:∣∣∣ν∫

Ω

∇u · ∇v∣∣∣ ≤ ν |u|H1(Ω)|v|H1(Ω),

∣∣∣∫Ω

pdivvdΩ∣∣∣ ≤ ‖p‖L2(Ω)|v|H1(Ω),

∣∣∣∫Ω

q∇udΩ∣∣∣ ≤ ‖q‖L2(Ω)|u|H1(Ω).

Per ogni funzione v ∈ H1(Ω), indichiamo con

‖v‖H1(Ω) = (d∑k=1

‖vk‖2H1(Ω))1/2

la sua norma e con

|v|H1(Ω) =( d∑k=1

|vk|2H1(Ω))1/2

la sua seminorma. Grazie alla disuguaglianza di Poincaré, |v|H1(Ω) è equivalente allanorma ‖v‖H1(Ω) per ogni funzione di V .Significato analogo avrà la notazione ‖v‖Lp(Ω), 1 ≤ p < ∞. Useremo gli stessisimboli anche nel caso di funzioni tensoriali.

Per quanto concerne il termine non lineare, iniziamo con l’osservare che vale ilseguente risultato (si veda la sez. A.5 e [Ada75]): se d ≤ 3, ∃C > 0 t.c.

∀v ∈ H1(Ω) allora v ∈ L4(Ω) ed inoltre ‖v‖L4(Ω) ≤ C‖v‖H1(Ω).

Usando inoltre la seguente disuguaglianza di Hölder a tre fattori∣∣∣∫Ω

fgh dΩ∣∣∣ ≤ ‖f‖Lp(Ω)‖g‖Lq(Ω)‖h‖Lr(Ω),

Page 313: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.1 Formulazione debole delle equazioni di Navier-Stokes 303

valida per p, q, r > 1 tali che p−1 + q−1 + r−1 = 1, troviamo

∣∣∣∫Ω

[(u · ∇)u] · v dΩ∣∣∣≤ ‖∇u‖L2(Ω)‖u‖L4(Ω)‖v‖L4(Ω) ≤ C2‖u‖2H1(Ω)‖v‖H1(Ω).

Dunque l’integrale esiste finito dato che le singole norme sono limitate.

Per quanto riguarda l’unicità della soluzione, torniamo a considerare le equazionidi Navier-Stokes nella forma forte (10.2) (analoghe considerazioni varrebbero ancheper le equazioni scritte nella forma (10.5), (10.6)). Se ΓD = ∂Ω, ovvero se si con-siderano solo condizioni di Dirichlet, si può notare che la pressione compare sempresotto segno di derivata; questo vuol dire che se (u, p) è soluzione delle (10.2), lo èanche (u, p+ c), dove c è una qualsiasi costante, dato che∇(p+ c) = ∇p. Per evitaretale indeterminazione possiamo fissare il valore di p in un punto x0 del dominio dirisoluzione, ossia porre

p(x0) = p0,

oppure, alternativamente, imporre che il valore medio della pressione sia nullo

(p, 1) =

∫Ω

p dΩ = 0.

La prima condizione è in generale non consistente con il problema: infatti, se p ∈L2(Ω) essa non è necessariamente continua e non ha quindi senso riferirsi a valoripuntuali di p. (Sarà però possibile farlo per la formulazione numerica.) La seconda èinvece consistente con la formulazione; prenderemo perciò

Q = L20(Ω) = {p ∈ L2(Ω) : (p, 1) = 0}.

Vogliamo anche osservare che nel caso in cui ΓD = ∂Ω, il dato al bordoϕ dovràessere compatibile con il vincolo di incomprimibilità, ovvero∫

∂Ω

ϕ · n dγ =

∫Ω

divu dΩ = 0.

Nel caso invece in cui la frontiera ΓN non sia vuota, ovvero si considerino anchecondizioni al bordo di tipo Neumann (o miste), non si avranno, a priori, problemi diindeterminazione della pressione, per via della condizione su ΓN in cui p non comparepiù sotto il segno di derivata. In tal caso si prenderà Q = L2(Ω). In definitiva, da orain poi sarà sottointeso che

Q = L2(Ω) se ΓN �= ∅, Q = L20(Ω) se ΓN = ∅. (10.8)

Page 314: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

304 10 Le equazioni di Navier-Stokes

La formulazione debole delle equazioni (10.2), (10.3), (10.4) è pertanto:

trovare u ∈ L2(R+; [H1(Ω)]d) ∩ C0(R+; [L2(Ω)]d), p ∈ L2(R+;Q) tale che⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

∫Ω

∂u

∂t· v dΩ + ν

∫Ω

∇u · ∇v dΩ +

∫Ω

[(u · ∇)u] · v dΩ −∫Ω

p divv dΩ

=

∫Ω

f · v dΩ +

∫ΓN

ψ · vdγ ∀v ∈ V,

∫Ω

q divudΩ = 0 ∀q ∈ Q,

(10.9)con u|ΓD = ϕD e u|t=0 = u0. Si è scelto V come in (10.7) e Q = L2(Ω) se ΓN �= ∅,Q = L20(Ω) se ΓN = ∅.Come già osservato tale problema ha esistenza di soluzioni sia per d = 2 che perd = 3, mentre l’unicità si dimostra solo per d = 2, nell’ipotesi di dati sufficientementepiccoli. Per un’approfondita analisi matematica di questi aspetti il lettore può fareriferimento a [Sal08].

Definiamo ora il numero di Reynolds come

Re =|U|Lν

,

dove L è una lunghezza caratteristica del dominio Ω (ad esempio la lunghezza delcanale entro cui si studia il moto di un fluido) ed U una velocità caratteristica delfluido.Il numero di Reynolds è una misura di quanto il trasporto domina sulla componentediffusiva del fenomeno. Se Re << 1 il termine convettivo (u · ∇)u può essere omes-so e le equazioni di Navier-Stokes si riducono alle equazioni di Stokes, che verrannoanalizzate nel seguito di questo capitolo. Quando Re è invece elevato si possono porreproblemi relativamente all’esistenza e alla stabilità di soluzioni stazionarie, l’esistenzadi attrattori strani, la transizione verso il moto turbolento. Quando si sviluppano oscil-lazioni della velocità su scale temporali e spaziali molto piccole, difficilmente pos-sono essere risolte numericamente. Si ricorre quindi sovente a modelli di turbolenza,che permettono di descrivere in modo approssimato tale fenomeno tramite relazionialgebriche o differenziali. Tale argomento esula dallo scopo di queste note. Il letto-re interessato può consultare [Wil98] per una descrizione fisica del fenomeno dellaturbolenza, [MP94] per una analisi di uno dei modelli di turbolenza più utilizzati (ilcosiddetto modello κ − ε), mentre [Sag06] e [BIL06] forniscono un’analisi di alcunimodelli avanzati di tipo Large Eddy, più costosi computazionalmente, ma in principiocapaci di fornire una descrizione più fedele del fenomeno fisico della turbolenza. Vo-gliamo, infine, accennare alle equazioni di Eulero, introdotte in (9.21), che vengonoutilizzate (sia per fluidi comprimibili che per fluidi incomprimibili) quando il fluidopuò essere modellato come non viscoso; formalmente, il corrispondente numero diReynolds è infinito.

Page 315: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.1 Formulazione debole delle equazioni di Navier-Stokes 305

Le equazioni di Navier-Stokes possono essere riscritte in forma ridotta eliminandola pressione e riconducendosi ad un’equazione nella sola incognita u. Per far questooccorre riscrivere la formulazione debole (10.9). Introduciamo i seguenti sottospazi di[H1(Ω)]d,

Vdiv = {v ∈[H1(Ω)

]d: divv = 0}, V0div = {v ∈ Vdiv : v = 0 su ΓD} .

Se richiediamo che la funzione test v appartenga allo spazio Vdiv , nell’equazionedel momento in (10.9) il termine contenente la pressione si annulla, ottenendo cosìun’equazione per la sola velocità. Sostituiamo dunque a (10.9) il seguente problemaridotto:

trovare u ∈ L2(R+; Vdiv) ∩ C0(R+; [L2(Ω)]d) tale che

∫Ω

∂u

∂t· v dΩ +ν

∫Ω

∇u · ∇v dΩ +

∫Ω

[(u · ∇)u] · v dΩ

=

∫Ω

f · v dΩ +

∫ΓN

ψ · v dγ ∀v ∈ V 0div ,

(10.10)

con u|ΓD = ϕD e u|t=0 = u0.Se u è soluzione di (10.9) allora lo è anche di (10.10). Inoltre, vale il seguente Teoremaper la cui dimostrazione si rimanda ad esempio a [QV94]:

Teorema 10.1 Sia Ω ⊂ Rd con frontiera ∂Ω lipschitziana. Sia u la soluzionedel problema (10.10). Allora esiste un’unica funzione p ∈ Q tale che (u, p) èsoluzione di (10.9).

Questo significa che se si è in grado di risolvere il problema ridotto nella sola inco-gnita u, c’è poi un unico modo per ricostruire la pressione p soluzione del problemacompleto di Navier-Stokes (10.9). Facciamo notare come la (10.10) abbia una naturaparabolica, contenendo un termine di diffusione ed uno, non lineare, di trasporto. Lasua analisi, pertanto, si può condurre utilizzando tecniche simili a quelle riportate nelCap. 6. (Si veda [Sal08].)

In pratica tale approccio può non essere del tutto conveniente dal punto di vistanumerico, in quanto, usando il metodo di Galerkin, occorrerebbe costruire uno spazioVdiv,h a dimensione finita di funzioni a divergenza nulla, operazione in generale nonagevole. A tale riguardo si veda [BF91] e [CHQZ06]. Inoltre, il risultato del Teorema10.1 non è costruttivo in quanto non indica un procedimento per ricostruire p. Per taleragione si preferisce di solito approssimare direttamente il problema completo (10.9).

Page 316: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

306 10 Le equazioni di Navier-Stokes

10.2 Le equazioni di Stokes e la loro approssimazione

Ci occuperemo in questa sezione della risoluzione numerica del seguente problema diStokes generalizzato, con condizione al bordo di Dirichlet omogenea⎧⎪⎪⎪⎨⎪⎪⎪⎩

αu− νΔu+∇p = f in Ω,

divu = 0 in Ω,

u = 0 su ∂Ω,

(10.11)

dove α ≥ 0. Esso descrive il moto di un fluido incomprimibile, viscoso, dove il ter-mine quadratico di trasporto è stato trascurato. Si è visto che questa approssimazionerisulta valida quando Re�1. Tuttavia ci si può imbattere nel problema (10.11) anchenella fase di discretizzazione temporale con metodi impliciti delle equazioni comple-te di Navier-Stokes, come vedremo nella Sez. 10.7. Dal punto di vista matematico leequazioni di Navier-Stokes si possono considerare una perturbazione compatta delsistema di Stokes, differendo da quest’ultimo “solo” per la presenza del termine con-vettivo che è di ordine inferiore a quello diffusivo (tale termine peraltro assume un’im-portanza determinante per quanto attiene al comportamento fisico del sistema quandoRe è grande, come già osservato in precedenza).La formulazione debole di (10.11) assume la forma seguente:trovare u ∈ V e p ∈ Q tali che⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

∫Ω

(αu · v + ν∇u · ∇v) dΩ −∫Ω

pdivv dΩ =

∫Ω

f · v dΩ ∀v ∈ V,

∫Ω

q divu dΩ = 0 ∀q ∈ Q,

(10.12)

dove V = [H10(Ω)]d e Q = L20(Ω). (Ricordiamo che stiamo risolvendo un problema

di Dirichlet omogeneo per u e che il pedice zero di L20(Ω) si riferisce al fatto che tratutte le possibili pressioni cerchiamo quella a media nulla.)

Definiamo ora le forme bilineari a : V × V �→ R e b : V ×Q �→ R come segue:

a(u,v) =

∫Ω

(αu · v + ν∇u · ∇v) dΩ,

b(u, q) = −∫Ω

qdivu dΩ.

(10.13)

Con tali notazioni il problema (10.12) diventa:

trovare (u, p) ∈ V ×Q tali che{a(u,v) + b(v, p) = (f ,v) ∀v ∈ V,

b(u, q) = 0 ∀q ∈ Q,(10.14)

Page 317: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.2 Le equazioni di Stokes e la loro approssimazione 307

dove (f ,v) =∑di=1

∫Ω

fivi dΩ.

Nel caso si considerino condizioni al bordo non omogenee, come indicato in(10.4), la formulazione debole del problema di Stokes diviene:

trovare (◦u, p) ∈ V ×Q tali che⎧⎨⎩ a(

◦u,v) + b(v, p) = F(v) ∀v ∈ V,

b(◦u, q) = G(q) ∀q ∈ Q,

(10.15)

dove V e Q sono gli spazi introdotti in (10.7) e (10.8), rispettivamente. Indicato con

Rϕ ∈ [H1(Ω)]d un rilevamento del dato ϕ, abbiamo posto◦u= u − Rϕ, mentre i

nuovi termini noti hanno la seguente espressione:

F(v) = (f ,v) +

∫ΓN

ψv dγ − a(Rϕ,v), G(q) = −b(Rϕ, q). (10.16)

Vale il seguente risultato:

Teorema 10.2 La coppia (u, p) è soluzione del problema di Stokes (10.14) se, esolo se, essa è un punto-sella per il funzionale lagrangiano

L(v, q) = 12a(v,v) + b(v, q)− (f ,v),

ovvero se

L(u, p) = minv∈Vmaxq∈Q

L(v, q).

La pressione q assume dunque il ruolo di moltiplicatore di Lagrange associato al vin-colo di solenoidalità. Il problema di Stokes (10.11) è ancora un problema nelle dueincognite u e p. È possibile però, analogamente a quanto già visto nella Sez. 10.1 perle equazioni di Navier-Stokes, eliminare l’incognita scalare p. Si trova così la seguenteformulazione debole:

trovare u ∈ V 0div t.c. a(u,v) = (f ,v) ∀v ∈ V 0div . (10.17)

In tal modo, il problema diviene un problema ellittico nella sola incognita u. Per di-mostrarne esistenza ed unicità di soluzione, basta applicare il Lemma 2.1 di Lax-Milgram. In effetti, V 0div è uno spazio di Hilbert rispetto alla norma ‖∇v‖L2(Ω) (ciòdiscende dal fatto che l’operatore di divergenza è continuo da V in L2(Ω), dunqueV 0div è un sottospazio chiuso dello spazio V ). Inoltre, a(·, ·) è continua e coerciva inV 0div, e f ∈ V ′div . Usando le disuguaglianze di Cauchy-Schwarz e Poincaré possiamo

Page 318: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

308 10 Le equazioni di Navier-Stokes

derivare le seguenti stime (ponendo v = u in (10.17)):

α

2‖u‖2L2(Ω) + ν‖∇u‖2L2(Ω) ≤

1

2α‖f‖2L2(Ω), se α �= 0,

‖∇u‖L2(Ω) ≤CΩ

ν‖f‖L2(Ω), se α = 0,

essendo CΩ la costante della disuguaglianza di Poincaré (A.13). Il problema, tuttavia,è che dalla (10.17) è “sparita” la pressione. Osserviamo però che dalla stessa (10.17)deduciamo che il vettorew = αu−νΔu−f , considerato come elemento diH−1(Ω),si annulla su V 0div , ovvero H−1(Ω)〈w,v〉H1(Ω) = 0 per ogni v ∈ V 0div . In tale circo-stanza si può dimostrare (si veda, ad esempio, [QV94]) che esiste un’unica funzionep ∈ Q tale che w = ∇p, ovvero p soddisfa la prima equazione di (10.11) nel sensodelle distribuzioni. La coppia (u, p) è dunque l’unica soluzione del problema debole(10.14).

L’approssimazione di Galerkin del problema (10.14) ha la forma seguente:trovare (uh, ph) ∈ Vh ×Qh tali che

{a(uh,vh) + b(vh, ph) = (f ,vh) ∀vh ∈ Vh,

b(uh, qh) = 0 ∀qh ∈ Qh,(10.18)

ove {Vh ⊂ V } e {Qh ⊂ Q} rappresentano due famiglie di sottospazi di dimensionefinita dipendenti dal parametro di discretizzazione h. Nel caso si consideri invece ilproblema (10.15)-(10.16) corrispondente ai dati non omogenei (10.4), la formulazioneprecedente deve essere modificata prendendo al secondo membro della prima equa-zione F(vh) e della seconda equazione G(qh), ottenibili da (10.16) pur di sostituireRϕ con l’interpolante di ϕ nei nodi di ΓD (e che vale zero negli altri nodi), e ψ conil suo interpolante nei nodi di ΓN . La formulazione algebrica del problema (10.18)verrà discussa nella Sez. 10.4.

Il seguente teorema, dovuto a F. Brezzi [Bre74], garantisce l’esistenza e l’unicitàdella soluzione per il problema (10.18):

Teorema 10.3 Il problema (10.18) ammette una e una sola soluzione se valgonole seguenti condizioni:

1. La forma bilineare a(·, ·) è:a) coerciva, ossia ∃α > 0 (eventualmente dipendente da h) tale che

a(vh,vh) ≥ α‖vh‖2V ∀vh ∈ V ∗h ,

ove V ∗h = {vh ∈ Vh : b(vh, qh) = 0 ∀qh ∈ Qh};

Page 319: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.2 Le equazioni di Stokes e la loro approssimazione 309

b) continua, ossia ∃γ > 0 tale che

|a(vh,uh)| ≤ γ‖vh‖V ‖uh‖V ∀vh,uh ∈ Vh.

2. La forma bilineare b(·, ·) è continua, ossia ∃δ > 0 tale che

|b(vh, qh)| ≤ δ‖vh‖V ‖qh‖Q ∀vh ∈ Vh, qh ∈ Qh.

3. Infine, esiste una costante positiva β (eventualmente dipendente da h) taleche

∀qh ∈ Qh, ∃vh ∈ Vh : b(vh, qh) ≥ β‖vh‖H1(Ω)‖qh‖L2(Ω). (10.19)

Sotto le ipotesi precedenti valgono inoltre le seguenti stime a priori sullasoluzione numerica:

‖uh‖V ≤1

α‖f‖V ′ ,

‖ph‖Q ≤1

β

(1 +

γ

α

)‖f‖V ′ ,

dove V ′ denota al solito lo spazio duale di V . Inoltre, valgono i seguenti risultatidi convergenza:

‖u− uh‖V ≤(1 +

γ

β

)(1 +

γ

α

)infvh∈Vh

‖u− vh‖V +δ

αinfqh∈Qh

‖p− qh‖Q,

‖p− ph‖Q ≤ γ

β

(1 +

γ

α

)infvh∈Vh

‖u− vh‖V

+

(1 +

δ

β+

δγ

αβ

)infqh∈Qh

‖p− qh‖Q.

Osserviamo che la condizione (10.19) equivale ad assumere che esiste una costantepositiva β tale che

infqh∈Qh,qh �=0

supvh∈Vh,vh �=0

b(vh, qh)

‖vh‖H1(Ω)‖qh‖L2(Ω)≥ β, (10.20)

ed è per questo nota anche come condizione inf-sup.La dimostrazione di questo teorema richiede l’uso di risultati non elementari di anali-si funzionale. La presenteremo nella Sez. 10.3 per un problema di punto-sella che siriscontra in ambiti assai più generali delle equazioni di Stokes. In questa prospettivail Teorema 10.3 può essere considerato come un caso particolare dei Teoremi 10.5 e10.6. Il lettore non interessato (o meno sensibile) agli aspetti teorici può saltare senzadanni apparenti direttamente alla Sez. 10.4.

Page 320: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

310 10 Le equazioni di Navier-Stokes

10.3 Problemi di punto-sella

Obiettivo di questa sezione è lo studio dei problemi (10.14) e (10.18) e la dimostra-zione di un risultato di convergenza della soluzione del problema (10.18) a quella delproblema (10.14). A tal fine, caleremo tali formulazioni in una cornice più astratta checi permetterà così di applicare la teoria proposta in [Bre74], [Bab71].

10.3.1 Formulazione del problema

Siano X ed M due spazi di Hilbert muniti, rispettivamente, delle norme ‖·‖X e ‖·‖M .Indicati con X′ ed M ′ i corrispondenti spazi duali (ovvero gli spazi dei funzionali li-neari e continui definiti, rispettivamente, su X ed M ), introduciamo le forme bilinearia(·, ·) : X ×X −→ R e b(·, ·) : X ×M −→ R che supponiamo continue, ovvero taliche esistano γ, δ > 0:

|a(w, v)| ≤ γ ‖w‖X ‖v‖X , |b(w, μ)| ≤ δ ‖w‖X ‖μ‖M , (10.21)

per ogni w, v ∈ X e μ ∈M .Consideriamo ora il seguente problema vincolato:trovare (u, η) ∈ X ×M tali che{

a(u, v) + b(v, η) = 〈l, v〉 ∀v ∈ X,

b(u, μ) = 〈σ, μ〉 ∀μ ∈M,(10.22)

essendo l ∈ X′ e σ ∈ M ′ due funzionali assegnati, mentre 〈·, ·〉 denota la dualità traX e X′ o quella tra M e M ′.La formulazione (10.22) è sufficientemente generale da includere la formulazione(10.14) del problema di Stokes, quella di un generico problema vincolato rispettoalla forma bilineare a(·, ·) (η rappresenta il vincolo), o ancora la formulazione a cui siperviene quando si vogliano usare elementi finiti di tipo misto per problemi ai valorial bordo di diversa natura, come, ad esempio, quelli dell’elasticità lineare (si veda, adesempio, [BF91], [QV94]).

È utile riscrivere il problema (10.22) in forma operatoriale. A tal fine, associamoalle forme bilineari a(·, ·) e b(·, ·) gli operatori A ∈ L(X,X′) e B ∈ L(X,M ′)definiti rispettivamente attraverso le relazioni

〈Aw, v〉 = a(w, v) ∀w, v ∈ X,

〈Bv, μ〉 = b(v, μ) ∀ v ∈ X, μ ∈M,

dove la dualità è fra X′ e X nella prima relazione, fra M ′ e M nella seconda; inaccordo con le notazioni usate nella Sez. 3.4.3, con L(V,W ) indichiamo lo spazio deifunzionali lineari e continui da V a W .Sia ora BT ∈ L(M,X′) l’operatore aggiunto di B definito come

〈BTμ, v〉 = 〈Bv, μ〉 = b(v, μ) ∀ v ∈ X, μ ∈M. (10.23)

Page 321: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.3 Problemi di punto-sella 311

La prima dualità è fra X′ e X, la seconda fra M ′ e M . (Questo operatore, indicato conil simbolo B′ nella Sez. 3.6.1, si veda la definizione generale (3.99), viene qui denotatoBT per uniformarci alla notazione usata classicamente nell’ambito dei problemi dipunto-sella.) Possiamo allora riscrivere il problema (10.22) come:trovare (u, η) ∈ X ×M tali che{

Au+BT η = l in X′,

Bu = σ in M ′.(10.24)

10.3.2 Analisi del problema

Al fine di analizzare il problema (10.24), definiamo la varietà affine

Xσ = {v ∈ X : b(v, μ) = 〈σ, μ〉 ∀μ ∈M}. (10.25)

Osserviamo che lo spazio X0 identifica il nucleo di B, ovvero

X0 = {v ∈ X : b(v, μ) = 0 ∀μ ∈M} = ker(B),

e che questo spazio è un sottospazio chiuso di X. Possiamo così associare al problema(10.22) il seguente problema ridotto

trovare u ∈ Xσ t.c. a(u, v) = 〈l, v〉 ∀ v ∈ X0. (10.26)

È evidente che, se (u, η) è una soluzione di (10.22), allora u è soluzione anche di(10.26). Introdurremo nel seguito delle condizioni opportune in grado di garantireanche l’implicazione inversa e che la soluzione di (10.26) esista unica, costruendo, intal modo, una soluzione per (10.22).Avremo bisogno di un risultato di equivalenza che coinvolge la forma bilineare b(·, ·)e l’operatore B.Indichiamo con X0polar l’insieme polare di X0 , cioè

X0polar = {g ∈ X′ : 〈g, v〉 = 0 ∀v ∈ X0}.

Poiché X0 = ker(B), possiamo anche scrivere che X0polar = (ker(B))polar . Lospazio X è somma diretta di X0 e del suo ortogonale (X0)⊥,

X = X0 ⊕ (X0)⊥.

Una rappresentazione pittorica di questi spazi è data in Fig. 10.1. Dal momento che,in generale, ker(B) non è vuoto, non possiamo dire che B sia un isomorfismo tra Xe M ′. Si vuol dunque introdurre una condizione che è equivalente ad affermare che Bè un isomorfismo tra (X0)⊥ ed M ′ (e, analogamente, BT è un isomorfismo tra M eX0polar).

Page 322: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

312 10 Le equazioni di Navier-Stokes

X X ′

MM ′

AB B BTBT

X0 = KerB

X0polar(X0)⊥

Figura 10.1. Gli spazi X ed M , i duali X ′ ed M ′ , i sottospazi X0, (X0)⊥ e X0polar , glioperatoriA,B e BT . Le linee tratteggiate indicano isomorfismi

Lemma 10.1 Le seguenti proprietà sono fra loro equivalenti:

a. esiste una costante β∗ > 0 tale che valga la seguente condizione dicompatibilità

∀ μ ∈M ∃v ∈ X, con v �= 0, : b(v, μ) ≥ β∗‖v‖X‖μ‖M ; (10.27)

b. l’operatore BT è un isomorfismo tra M e X0polar e vale la proprietà

‖BTμ‖X′ = supv∈V, v �=0

〈BTμ, v〉‖v‖X

≥ β∗‖μ‖M ∀μ ∈M ; (10.28)

c. l’operatore B è un isomorfismo tra (X0)⊥ ed M ′ e vale la proprietà

‖Bv‖M ′ = supμ∈M,μ�=0

〈Bv, μ〉‖μ‖M

≥ β∗‖v‖X ∀v ∈ (X0)⊥. (10.29)

Dimostrazione. Dimostriamo innanzitutto che a. e b. sono equivalenti. Dalla defini-zione (10.23) di BT è evidente che le disuguaglianze (10.27) e (10.28) coincidono.Resta quindi da verificare che BT è un isomorfismo tra M e X0polar . Dalla relazione(10.28) segue che BT è un operatore iniettivo da M nella sua immagine R(BT ), coninverso continuo. Ne segue dunque cheR(BT ) è un sottospazio chiuso di X′ .Rimane da verificare che R(BT ) = X0polar . Utilizzando il seguente risultato, notocome teorema dell’immagine chiusa (si veda, ad esempio, [Yos74]),

R(BT ) = (ker(B))polar ,

otteniamo che R(BT ) = X0polar , che è quanto desiderato.

Page 323: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.3 Problemi di punto-sella 313

Proviamo ora che b. e c. sono equivalenti. Verifichiamo innanzitutto che X0polarpuò essere identificato con il duale dello spazio (X0)⊥. Infatti, ad ogni g ∈ ((X0)⊥)′,possiamo associare un funzionale g ∈ X′ che soddisfa la relazione

〈g, v〉 = 〈g, P⊥v〉 ∀v ∈ X,

dove P⊥ denota la proiezione ortogonale di X sullo spazio (X0)⊥, ovvero

∀v ∈ X, P⊥v ∈ (X0)⊥ : (P⊥v − v, w)X = 0 ∀w ∈ (X0)⊥.

Chiaramente g ∈ X0polar e si può verificare che g −→ g è un’isometria tra ((X0)⊥)′

e X0polar . Di conseguenza, BT è un isomorfismo tra M e ((X0)⊥)′ soddisfacente larelazione

‖(BT )−1‖L(X0polar,M) ≤1

β∗

se e solo se B è un isomorfismo tra (X0)⊥ e M ′ che soddisfa la relazione

‖B−1‖L(M ′,(X0)⊥) ≤1

β∗.

Questo completa la dimostrazione. �

Possiamo a questo punto fornire un risultato di esistenza, unicità e dipendenzacontinua dai dati per la soluzione del problema (10.22).

Teorema 10.4 Supponiamo che la forma bilineare a(·, ·) soddisfi la (10.21) eche sia coerciva sullo spazio X0, cioè esista una costante α > 0 tale che

a(v, v) ≥ α‖v‖2X ∀v ∈ X0. (10.30)

Supponiamo inoltre che la forma bilineare b(·, ·) soddisfi la (10.21) e la condi-zione di compatibilità (10.27).Allora, per ogni l ∈ X′ e σ ∈ M ′, esiste un’unica soluzione u del problema(10.26) ed un’unica funzione η ∈ M tale che (u, η) sia l’unica soluzione delproblema (10.22).Inoltre la mappa (l, σ) −→ (u, η) è un isomorfismo fra X′ ×M ′ e X ×M evalgono le seguenti stime a priori:

‖u‖X ≤1

α

[‖l‖X′ +

α+ γ

β∗‖σ‖M ′

], (10.31)

‖η‖M ≤ 1

β∗

[(1 +

γ

α

)‖l‖X′ +

γ(α + γ)

αβ∗‖σ‖M ′

], (10.32)

essendo α, β∗ e γ definite, rispettivamente, dalla (10.30), (10.27) e (10.21) e dove‖ · ‖X′ e ‖ · ‖M ′ denotano le norme degli spazi duali definite come in (10.28) e(10.29).

Page 324: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

314 10 Le equazioni di Navier-Stokes

Dimostrazione. L’unicità della soluzione del problema (10.26) è una diretta conse-guenza dell’ipotesi di coercività (10.30). Dimostriamone ora l’esistenza. Avendo sup-posto soddisfatta la relazione (10.27), possiamo affermare, in virtù dell’equivalenzadimostrata nel Lemma 10.1, ed in particolare di quanto affermato al punto c., cheesiste un’unica funzione uσ ∈ (X0)⊥ tale che Buσ = σ, ed inoltre

‖uσ‖X ≤1

β∗‖σ‖M ′ . (10.33)

Il problema (10.26) può così esser riformulato:

trovare u ∈ X0 t.c. a(u, v) = 〈l, v〉 − a(uσ, v) ∀ v ∈ X0, (10.34)

essendo la soluzione u del problema (10.26) identificata dalla relazione u = u +uσ. L’esistenza e l’unicità della soluzione u del problema (10.34) è a questo puntoassicurata dal Lemma di Lax-Milgram, insieme alla stima a priori

‖u‖X ≤1

α

(‖l‖X′ + γ‖uσ‖X

),

ovvero, grazie alla (10.33),

‖u‖X ≤1

α

(‖l‖X′ +

γ

β∗‖σ‖M ′

). (10.35)

L’unicità della soluzione u del problema (10.22) è dunque una diretta conseguenzadell’unicità delle funzioni u ∈ X0 ed uσ ∈ (X0)⊥, mentre la stima di stabilità (10.31)segue dalla (10.35) combinata ancora con la (10.33).Occupiamoci ora della componente η della soluzione. Torniamo dunque al problema(10.22). Poiché la formulazione (10.34) può essere riscritta nella forma

〈Au− l, v〉 = 0 ∀v ∈ X0,

ne segue che (Au − l) ∈ X0polar . Possiamo così sfruttare il punto b. del Lemma 10.1ed affermare che esiste un’unica funzione η ∈ M tale che Au− l = −BT η, cioè taleche (u, η) sia una soluzione del problema (10.22) soddisfacente la stima

‖η‖M ≤ 1

β∗‖Au− l‖X′ . (10.36)

Abbiamo inoltre già osservato che ogni soluzione (u, η) di (10.22) fornisce una so-luzione u del problema (10.26): da ciò segue immediatamente l’unicità della solu-zione per il problema (10.22). Infine la stima a priori (10.32) discende dalla (10.36),osservando che

‖η‖M ≤ 1

β∗

[‖A‖L(X,X′)‖u‖X + ‖l‖X′

]ed utilizzando la stima a priori (10.31) già dimostrata per la funzione u. �

Page 325: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.3 Problemi di punto-sella 315

10.3.3 Approssimazione con il metodo di Galerkin ed analisi di stabilità econvergenza

Introduciamo ora l’approssimazione di Galerkin del problema astratto (10.22).Indichiamo con Xh ed Mh due sottospazi di dimensione finita degli spazi X ed M ,rispettivamente. Essi possono essere spazi di elementi finiti, oppure spazi polinomiali(su un singolo dominio o su partizioni in sotto-elementi) quali quelli che si usano neimetodi spettrali o in quelli agli elementi spettrali.Siamo interessati a trovare una soluzione per il seguente problema:dati l ∈ X′ e σ ∈ M ′, trovare (uh, ηh) ∈ Xh ×Mh tali che

{a(uh, vh) + b(vh, ηh) = 〈l, vh〉 ∀vh ∈ Xh,

b(uh, μh) = 〈σ, μh〉 ∀μh ∈Mh.(10.37)

Analogamente a quanto fatto nel caso del problema continuo, possiamo definire lospazio

Xσh = {vh ∈ Xh : b(vh, μh) = 〈σ, μh〉 ∀μh ∈ Mh} (10.38)

che ci permette di introdurre la seguente versione finito-dimensionale della formula-zione ridotta (10.26)

trovare uh ∈ Xσh t.c. a(uh, vh) = 〈l, vh〉 ∀ vh ∈ X0h. (10.39)

Lo spazio (10.38) non è necessariamente un sottospazio di Xσ essendo, in generale,Mh un sottospazio proprio di M . Inoltre è evidente che ogni soluzione (uh, ηh) delproblema (10.37) fornisce una soluzione uh del problema ridotto (10.39). Quello checi proponiamo di fare nel seguito di questa sezione è di fornire condizioni opportunein grado di garantire l’implicazione inversa insieme ad un risultato di stabilità e diconvergenza per la soluzione (uh, ηh) del problema (10.37).

Partiamo dal risultato di stabilità, fornendo la controparte discreta del Teorema10.4.

Teorema 10.5 (Esistenza, unicità, stabilità) Supponiamo che la forma bilinea-re a(·, ·) soddisfi la (10.21) e che sia coerciva sullo spazio X0h, cioè esista unacostante αh > 0 tale che

a(vh, vh) ≥ αh‖vh‖2X ∀vh ∈ X0h. (10.40)

Supponiamo inoltre che la forma bilineare b(·, ·) soddisfi la (10.21) e la seguentecondizione di compatibilità nel discreto: esiste una costante βh > 0 tale che

∀ μh ∈Mh ∃vh ∈ Xh, vh �= 0 : b(vh, μh) ≥ βh‖vh‖X‖μh‖M . (10.41)

Page 326: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

316 10 Le equazioni di Navier-Stokes

Allora, per ogni l ∈ X′ e σ ∈ M ′, esiste un’unica soluzione (uh, ηh) delproblema (10.37) che soddisfa le seguenti stime di stabilità:

‖uh‖X ≤1

αh

[‖l‖X′ +

αh + γ

βh‖σ‖M ′

], (10.42)

‖ηh‖M ≤ 1

βh

[(1 +

γ

αh

)‖l‖X′ +

γ(αh + γ)

αh βh‖σ‖M ′

]. (10.43)

Dimostrazione. Si ottiene ripercorrendo la dimostrazione del Teorema 10.4 con-siderando Xh al posto di X, Mh al posto di M ed osservando semplicementeche

‖l‖X′h ≤ ‖l‖X′ , ‖σ‖M ′h≤ ‖σ‖M ′.

�Osserviamo che la relazione di coercività (10.30) non necessariamente garantisce

la (10.40) in quanto X0h �⊂ X0, così come la condizione di compatibilità (10.27) nonimplica, in generale, la (10.41), essendo Xh un sottospazio proprio di X. Inoltre, nelcaso in cui entrambe le costanti αh e βh in (10.40) e (10.41) risultino indipendenti dah, le disuguaglianze (10.42) e (10.43) ci forniscono il risultato di stabilità desiderato.La condizione (10.41) è la ben nota condizione inf-sup o condizione LBB (si veda[BF91]). Ricordiamo che la (10.19) (o (10.20)) ne costituisce un caso particolare.

Passiamo ora all’analisi di convergenza formulata nel seguente

Teorema 10.6 (Convergenza) Supponiamo siano verificate le ipotesi dei Teo-remi 10.4 e 10.5. Allora le soluzioni (u, η) e (uh, ηh) dei problemi (10.22) e(10.37), rispettivamente, soddisfano le seguenti stime dell’errore:

‖u−uh‖X ≤(1+

γ

αh

)infv∗h∈Xσh

‖u−v∗h‖X +δ

αhinf

μh∈Mh‖η−μh‖M , (10.44)

‖η − ηh‖M ≤ γ

βh

(1 +

γ

αh

)infv∗h∈Xσh

‖u− v∗h‖X

+(1 +

δ

βh+

γδ

αhβh

)inf

μh∈Mh‖η − μh‖M ,

(10.45)

essendo γ, δ, αh e βh definite, rispettivamente, dalle relazioni (10.21), (10.40) e(10.41). Inoltre vale la seguente stima

infv∗h∈Xσh

‖u− v∗h‖X ≤(1 +

δ

βh

)infvh∈Xh

‖u− vh‖X . (10.46)

Dimostrazione. Consideriamo vh ∈ Xh, v∗h ∈ Xσh e μh ∈ Mh. Sottraendo (10.37)1da (10.22)1 ed aggiungendo e togliendo le quantità a(v∗h, vh) e b(vh, μh) abbiamo

a(uh − v∗h, vh) + b(vh, ηh− μh) = a(u− v∗h, vh) + b(vh, η− μh).

Page 327: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.3 Problemi di punto-sella 317

Scegliamo ora vh = uh − v∗h ∈ X0h. Grazie alla definizione dello spazio X0h esfruttando la coercività (10.40) e le relazioni di continuità (10.21), arriviamo allamaggiorazione

‖uh − v∗h‖X ≤1

αh

(γ ‖u− v∗h‖X + δ ‖η − μh‖M

)da cui segue immediatamente la stima (10.44), grazie al fatto che

‖u− uh‖X ≤ ‖u− v∗h‖X + ‖uh − v∗h‖X .

Proviamo ora la stima (10.45). Grazie alla condizione di compatibilità (10.41), perogni μh ∈Mh, possiamo scrivere che

‖ηh − μh‖M ≤ 1

βhsup

vh∈Xh, vh �=0

b(vh, ηh − μh)

‖vh‖X. (10.47)

D’altro canto, sottraendo, membro a membro, la (10.37)2 dalla (10.22)2, ed aggiun-gendo e togliendo la quantità b(vh, μh), ricaviamo che

b(vh, ηh − μh) = a(u− uh, vh) + b(vh, η − μh).

Utilizzando tale uguaglianza in (10.47) e le relazioni di continuità (10.21), ne segue

‖ηh − μh‖M ≤ 1

βh

(γ ‖u− uh‖X + δ‖η − μh‖M

),

ovvero il risultato desiderato, sfruttata opportunamente la stima dell’errore (10.44)precedentemente derivata per la variabile u.Dimostriamo infine la (10.46). Per ogni vh ∈ Xh, grazie alla (10.41) e al Lemma10.1 (applicato ora nei sottospazi di dimensione finita), esiste un’unica funzione zh ∈(X0h)

⊥ tale cheb(zh, μh) = b(u− vh, μh) ∀μh ∈Mh

e inoltre

‖zh‖X ≤δ

βh‖u− vh‖X .

Posto v∗h = zh + vh, ne segue che v∗h ∈ Xσh , essendo b(u, μh) = 〈σ, μh〉 per ogniμh ∈Mh. Inoltre

‖u− v∗h‖X ≤ ‖u− vh‖X + ‖zh‖X ≤(1 +

δ

βh

)‖u− vh‖X ,

da cui segue la stima (10.46). �

Osserviamo che le stime (10.44) e (10.45) garantiscono la convergenza ottimalea patto che le relazioni (10.40) e (10.41) valgano con costanti αh e βh limitate infe-riormente da due costanti α e β indipendenti da h. Osserviamo inoltre che la stimadell’errore (10.44) vale anche se le condizioni di compatibilità (10.27) e (10.41) nonson soddisfatte.

Page 328: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

318 10 Le equazioni di Navier-Stokes

Osservazione 10.2 (Modi spuri di pressione) La condizione di compatibilità (10.41)è fondamentale per garantire l’unicità della soluzione ηh. Per verificarlo, osserviamoinnanzitutto che da tale relazione segue che

se ∃ μh ∈Mh t.c. b(vh, μh) = 0 ∀vh ∈ Xh, allora μh = 0.

Supponiamo dunque che la condizione (10.41) non sia soddisfatta: allora esiste unafunzione μ∗h ∈Mh, μ∗h �= 0, tale che

b(vh, μ∗h) = 0 ∀vh ∈ Xh.

Di conseguenza, se (uh, ηh) è una soluzione del problema (10.37), allora anche(uh, ηh + τμ∗h), per ogni τ ∈ R, è una soluzione dello stesso problema.L’elemento μ∗h è detto modo spurio e, più in particolare, modo spurio di pressionequando ci si riferisca al problema di Stokes (10.18) in cui le funzioni μh rappresenta-no delle pressioni discrete.Poiché il problema discreto (10.37) non è in grado di tenerne conto, ciò porta allagenerazione di instabilità numeriche. •

10.4 Formulazione algebrica del problema di Stokes

Vediamo ora la struttura del sistema lineare associato all’approssimazione di Galer-kin (10.18) del problema di Stokes (o, più in generale, di un problema di punto-selladiscreto della forma (10.37)). Indichiamo con

{ϕj ∈ Vh}, {φk ∈ Qh},

le funzioni di base per gli spazi Vh e Qh, rispettivamente. Sviluppiamo le incogniteuh e ph rispetto a tali basi ottenendo

uh(x) =

N∑j=1

ujϕj(x), ph(x) =

M∑k=1

pkφk(x), (10.48)

dove N = dimVh, M = dimQh. Scegliendo come funzioni test nelle (10.18) le stessefunzioni di base, si ottiene il seguente sistema lineare a blocchi{

AU+ BTP = F,

BU = 0,(10.49)

dove A ∈ RN×N e B ∈ RM×N sono le matrici relative rispettivamente alle formebilineari a(·, ·) e b(·, ·), con elementi dati da

A = [aij] = [a(ϕj,ϕi)], B = [bkm] = [b(ϕm, φk)],

mentreU e P sono i vettori delle incognite,

U = [uj], P = [pj].

Page 329: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.4 Formulazione algebrica del problema di Stokes 319

Poniamo

S =

[A BT

B 0

]. (10.50)

Questa matrice (N+M)×(N+M) è simmetrica a blocchi (essendo A simmetrica) enon definita, in quanto si può verificare che ha autovalori reali, ma di segno variabile,alcuni positivi altri negativi. Naturalmente, condizione necessaria e sufficiente affinchéil problema algebrico (10.49) ammetta un’unica soluzione è che non ve ne siano dinulli, ovvero che il determinante di S sia diverso da 0. Vediamo come questa proprietàdiscenda dalla condizione inf-sup (10.20).

La matrice A è invertibile perché associata alla forma bilineare coerciva a(·, ·).Quindi, dalla prima delle (10.49), si può formalmente ricavare U come

U = A−1(F− BTP). (10.51)

Sostituendo la (10.51) nella seconda equazione delle (10.49) si ottiene

RP = BA−1F, ove R = BA−1BT . (10.52)

Abbiamo, di fatto, eseguito una eliminazione gaussiana a blocchi sul sistema (10.50).Si ottiene così un sistema nella sola incognita P (la pressione), il quale ammette

una ed una sola soluzione nel caso in cui la matrice R sia non singolare. Si può facil-mente dimostrare che, essendo A non singolare e definita positiva, chiedere che R sianon singolare corrisponde a chiedere che il nucleo della matrice BT sia composto dalsolo vettore nullo.

A questo punto, se esiste unico il vettore P, per la non singolarità della matrice Aesiste unico il vettore U soddisfacente la (10.51).

Concludendo, il sistema algebrico (10.49) ammette un’unica soluzione (U,P) se,e solo se,

kerBT = {0}. (10.53)

Questa condizione algebrica è peraltro equivalente alla condizione inf-sup (10.20)(si veda l’Esercizio 1).

Riprendiamo l’Osservazione 10.2 fatta per il problema generale di punto-sella, esupponiamo che la condizione inf-sup (10.20) non sia soddisfatta. In tal caso è facilevedere che

∃q∗h ∈ Qh : b(vh, q∗h) = 0 ∀vh ∈ Vh. (10.54)

Di conseguenza, se (uh, ph) è una soluzione del problema di Stokes (10.18), anche(uh, ph + q∗h) lo sarà, in quanto

a(uh,vh) + b(vh, ph + q∗h) = a(uh,vh) + b(vh, ph) + b(vh, q∗h)

= a(uh,vh) + b(vh, ph) = (f ,vh) ∀vh ∈ Vh.

Page 330: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

320 10 Le equazioni di Navier-Stokes

Le funzioni q∗h che non verificano la condizione inf-sup sono “trasparenti” allo schemadi Galerkin (10.18) e per questo, come già osservato in precedenza, vengono dette mo-di spuri di pressione o pressioni parassite. La loro presenza impedisce alla pressionedi essere unica. Per questa ragione, gli spazi di elementi finiti che non soddisfano la(10.20) vengono detti instabili.

Due sono le strategie generalmente seguite per ottenere elementi stabili, spessoanche detti elementi compatibili:

- scegliere gli spazi Vh e Qh in modo che sia verificata la condizione inf-sup;- stabilizzare il problema (a priori o a posteriori), eliminando i modi spuri.

Analizziamo il primo tipo di strategia e consideriamo dapprima il caso di appros-simazioni agli elementi finiti.Per caratterizzare gli spazi Qh e Vh è sufficiente indicare i gradi di libertà per la

velocità e per la pressione sui singoli elementi della triangolazione. Cominciamocon l’osservare che la formulazione debole considerata non richiede che la pressio-ne sia necessariamente continua. Consideriamo dunque dapprima il caso di pressionidiscontinue.

Essendo le equazioni di Stokes del prim’ordine in p e del secondo ordine in u, ingenerale è sensato utilizzare polinomi di grado k ≥ 1 per lo spazio Vh e di grado k−1per lo spazio Qh.

In particolare, supponiamo di impiegare elementi finiti P1 per le componenti dellavelocità e di tipo P0 per la pressione (si veda la Fig. 10.2 nella quale, ed in quelle cheseguiranno, con il simbolo2 si sono indicati i gradi di libertà per la pressione e con ilsimbolo • quelli per la velocità). Si può verificare che tale scelta, pur apparendo assainaturale, non soddisfa la condizione inf-sup (10.20) (si vedano gli Esercizi 3 e 5).

Figura 10.2. Caso di pressione discontinua: scelte non soddisfacenti la condizione inf-sup

Al fine di trovare una coppia che soddisfi la condizione inf-sup osserviamo che piùampio sarà lo spazio Vh, più alta sarà la “probabilità” che la condizione (10.20) siasoddisfatta. In altri termini lo spazio Vh deve essere sufficientemente “ricco” rispettoallo spazio Qh.

In Fig. 10.3 sono rappresentate scelte di spazi soddisfacenti la condizione inf-sup,sempre nel caso di pressione discontinua e velocità continua. Quella in (a) è compostadagli elementi P2 − P0, quella in (b) da Q2 − P0, quella in (c), detta di Crouzeix-Raviart, dagli elementi discontinui di grado 1 per la pressione e di grado 2 più unabolla cubica per la velocità.

In Fig. 10.4(a), (b) sono rappresentate scelte non soddisfacenti la condizione inf-sup per il caso di pressioni continue. Si tratta di elementi finiti di grado 1 sia per

Page 331: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.4 Formulazione algebrica del problema di Stokes 321

(a) (b) (c)

Figura 10.3. Caso di pressione discontinua: scelte soddisfacenti la condizione inf-sup con ele-menti triangolari, (a), e quadrilateri, (b). Anche la coppia (c), detta di Crouzeix-Raviart, soddisfala condizione inf-sup

(a) (b)

(c) (d)

Figura 10.4. Caso di pressione continua: le coppie (a) e (b) non soddisfano la condizione inf-sup. Gli elementi usati per la velocità nella coppia (c) sono noti come elementi finiti P1-isoP2,mentre quelli usati nella coppia (d) sono conosciuti come mini-element

le velocità che per le pressioni. Più in generale, elementi finiti continui dello stessogrado k ≥ 1 per velocità e pressioni sono instabili. In (c) e (d) sono rappresentatiinvece elementi stabili. In particolare, le pressioni sono continue e di grado 1. Nelcaso (c) le velocità sono continue e di grado 1 su ciascuno dei 4 sottotriangoli indicatiin figura. Nel caso (d) invece, le velocità sono la somma di polinomi di grado 1 e diuna funzione di tipo bolla. Rinviamo a [BF91] per la dimostrazione dei risultati quimenzionati nonché per l’analisi della stima di convergenza.

Nel caso si usino approssimazioni con metodi spettrali, è possibile vedere chel’uso dello stesso grado polinomiale per velocità e pressione viola la condizione inf-sup. Una scelta di sottospazi compatibili è quella dei polinomi di grado N (≥ 2) perle componenti della velocità e di grado N − 2 per la pressione. Ciò dà luogo allacosiddetta approssimazione QN − QN−2. I gradi di libertà per le componenti dellavelocità sono rappresentati dai valori negli (N + 1)2 nodi GLL (si veda la Fig. 10.5).Per quanto riguarda la pressione, due sono le scelte possibili: usare il sotto-insieme

degli (N − 1)2 nodi interni di Gauss-Lobatto (Fig. 10.6, a sinistra), oppure usare gli(N − 1)2 nodi di Gauss (Fig. 10.6, a destra). Naturalmente, con queste scelte si puòrealizzare un metodo spettrale di Galerkin, di collocazione G-NI, o infine ad elementispettrali SEM-NI con integrazione numerica (si veda [CHQZ07]).

Page 332: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

322 10 Le equazioni di Navier-Stokes

−1 1−1

1

Figura 10.5. Gli (N + 1)2 nodi di Gauss-Lobatto, gradi di libertà per le componenti dellavelocità (quiN = 6)

−1 1−1

1

−1 1−1

1

Figura 10.6. Gli (N − 1)2 nodi interni di Gauss-Legendre-Lobatto (a sinistra) e gli (N − 1)2nodi di Gauss-Legendre (a destra), nel casoN = 6

10.5 Un esempio di problema stabilizzato

Come abbiamo visto, elementi finiti (o metodi spettrali) che utilizzino lo stesso gradopolinomiale per la pressione e per la velocità non verificano la condizione inf-supe sono, pertanto, “instabili”. È tuttavia possibile stabilizzarli, ricorrendo a tecnicheche si ispirano a quelle di tipo SUPG o GLS, già incontrate nel Cap. 5 nell’ambitodell’approssimazione numerica di problemi di diffusione-trasporto.

Per una descrizione più completa rinviamo il lettore a [BF91] e a [QV94]. Cilimitiamo qui a mostrare come applicare una tecnica di stabilizzazione di tipo GLSalle equazioni (10.18) nel caso in cui si usino elementi finiti lineari sia per la pressioneche per le componenti della velocità, ovvero

Vh = [◦X1

h]2, Qh = {qh ∈ X1h :

∫Ω

qh dΩ = 0}.

Page 333: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.5 Un esempio di problema stabilizzato 323

Questa scelta è motivata dall’esigenza di ridurre al massimo il numero globale di inco-gnite, esigenza che diventa stringente nel caso di problemi tridimensionali. Poniamodunque Wh = Vh × Qh e consideriamo anziché (10.18), il seguente problema (cilimiteremo al caso α = 0):

trovare (uh, ph) ∈Wh : Ah(uh, ph;vh, qh) = (fh,vh) ∀(vh, qh) ∈Wh,(10.55)

avendo posto

Ah :Wh ×Wh → R,

Ah(uh, ph;vh, qh) = a(uh,vh) + b(vh, ph)−b(uh, qh)

+δ∑K∈Th

h2K

∫K

(−νΔuh+∇ph − f )(−νΔvh+∇qh) dK,

ed essendo δ un parametro positivo da scegliere opportunamente.Si tratta di un’approssimazione fortemente consistente del problema (10.11), es-

sendo il termine aggiuntivo nullo quando calcolato sulla soluzione esatta, in quanto,per la (10.12),−νΔu+∇p− f = 0.Osserviamo inoltre che, in questo caso specifico, trattandosi di elementi finiti lineari,Δuh|K = Δvh|K = 0 ∀K ∈ Th.

Quanto alla stabilità, osserviamo che

Ah(uh, ph;uh, ph) = ν‖∇uh‖2L2(Ω) + δ∑k∈Th

h2K‖∇ph‖2L2(K). (10.56)

Pertanto, il nucleo della forma Ah si riduce al solo vettore nullo ed il problema (10.55)ammette una ed una sola soluzione. Quest’ultima verifica la disuguaglianza

ν‖∇uh‖2L2(Ω) + δ∑K∈Th

h2K‖∇ph‖2L2(K) ≤ C‖f‖2L2(Ω), (10.57)

essendo C una costante positiva che dipende da ν ma non da h (si veda l’Esercizio 8).Applicando il Lemma di Strang si può ora verificare che il problema di Galer-

kin generalizzato (10.55) fornisce la seguente approssimazione per la soluzione delproblema (10.11)

‖u− uh‖H1(Ω) +(δ∑K∈Th

h2K‖∇p−∇ph‖2L2(K)

)1/2≤ Ch.

Utilizzando nuovamente le notazioni della Sez. 10.2, si può verificare che il problema(10.55) ammette la seguente forma matriciale[

A BT

B −C

] [U

P

]=

[F

G

]. (10.58)

Page 334: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

324 10 Le equazioni di Navier-Stokes

Tale sistema differisce da quello non stabilizzato (10.49) per la presenza del blocconon nullo di posizione (2,2), proveniente dal termine di stabilizzazione. Precisamente,

C = (ckm) , ckm = δ∑K∈Th

h2K

∫K

∇φm · ∇φk dK, k,m = 1, . . . ,M,

mentre il termine noto G ha componenti

gk = −δ∑K∈Th

h2K

∫K

f · ∇φk dK, k = 1, . . . ,M.

Il sistema ridotto alla sola incognita di pressione diventa

RP = BA−1F−G,

dove ora, a differenza della (10.52), si ha R = BA−1BT +C. Essendo C una matricedefinita positiva, la matrice R è non singolare.

10.6 Un esempio numerico

Risolviamo le equazioni di Navier-Stokes nel caso stazionario sul dominio Ω =(0, 1)× (0, 1) con le seguenti condizioni al contorno di tipo Dirichlet:

u = 0 per x ∈ ∂Ω\Γ,

u = (1, 0)T per x ∈ Γ,(10.59)

dove Γ = {x = (x1, x2)T ∈ ∂Ω : x2 = 1}. Questo problema è noto come flus-so in cavità con parete superiore scorrevole. Utilizziamo elementi finiti su griglie direttangoli di tipoQ1 − Q1 non stabilizzati, oppure stabilizzati con il metodo GLS. InFig. 10.7, a sinistra, vengono riportati i soli modi spuri di pressione che si generanoqualora si usino gli elementi Q1 − Q1 non stabilizzati. Nella stessa figura a destrariportiamo invece le isolinee della pressione ottenuta con la stessa coppia stabilizza-ta; come si vede non c’è più traccia di oscillazioni spurie. Infine, nei disegni di Fig.10.8 riportiamo le linee di flusso (le cosiddette streamlines) ottenute per Re = 1000e Re = 5000. Grazie alla stabilizzazione si ottengono soluzioni accurate anche alcrescere del numero di Reynolds, essendo rimosse sia l’instabilità legata alle soluzio-ni parassite, sia l’inaccuratezza del metodo di Galerkin quando i termini di trasportodominano su quelli di diffusione.

Per lo stesso problema consideriamo il metodo spettrale G-NI in cui sia la pressio-ne sia le due componenti della velocità sono cercate nello spazio QN (con N = 32).Tale approssimazione non è stabile in quanto la condizione inf-sup non è verificata.Nella Fig. 10.9 si riportano a sinistra le isolinee dei modi spuri di pressione, a destra leisolinee della pressione ottenuta per il metodo G-NI, stabilizzato con la tecnica GLS.

Page 335: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.7 Discretizzazione in tempo delle equazioni di Navier-Stokes 325

0 10

1

0 10

1

Figura 10.7. A destra, isolinee di pressione per il caso test del flusso in cavità risolto conelementi finiti stabilizzati. Quella verticale è associata al valore nullo della pressione. A sinistrasi riportano invece le isolinee della pressione parassita calcolata sullo stesso caso test senzaricorrere alla stabilizzazione

0 10

1

0 10

1

Figura 10.8. Le streamlines ottenute nel caso del problema del flusso in cavità perRe = 1000a sinistra, Re = 5000 a destra

10.7 Discretizzazione in tempo delle equazioni di Navier-Stokes

Torniamo ora ad occuparci delle equazioni di Navier-Stokes (10.2) ed analizziamoalcuni possibili schemi di discretizzazione temporale.Supporremo d’ora in avanti, per comodità di notazione, che ΓD = ∂Ω e ϕ = 0in (10.3), cosicché V = [H10(Ω)]

d. La discretizzazione in spazio delle equazioni diNavier-Stokes dà allora luogo al seguente problema:

Page 336: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

326 10 Le equazioni di Navier-Stokes

Figura 10.9. Isolinee di pressione ottenute con un’approssimazione spettrale, a sinistra, e con ilmetodo G-NI stabilizzato con stabilizzazione GLS, a destra. In entrambi i casi si usano polinomidi grado N = 32 per la pressione e per le due componenti della velocità. L’isolinea verticaleè associata al valore nullo della pressione. Il problema è quello del flusso in cavità risolto inprecedenza con il metodo degli elementi finiti

per ogni t > 0, trovare (uh(t), ph(t)) ∈ Vh ×Qh tali che⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

(∂uh(t)

∂t,vh

)+ a(uh(t),vh) + c(uh(t),uh(t),vh) + b(vh, ph(t)) =

(fh(t),vh) ∀vh ∈ Vh,

b(uh(t), qh) = 0 ∀qh ∈ Qh,(10.60)

dove {Vh ⊂ V } e {Qh ⊂ Q} sono, come di consueto, due famiglie di sottospazi didimensione finita. La forma trilineare c(·, ·, ·), definita da

c(w, z,v) =

∫Ω

[(w · ∇)z] · v dΩ ∀w, z,v ∈ V,

è associata al termine convettivo non lineare, mentre a(·, ·) e b(·, ·) sono le stesse chein (10.13) (ponendo tuttavia α = 0).

Il problema (10.60) è un sistema di equazioni differenziali algebriche. Utilizzandonotazioni già impiegate nelle precedenti sezioni, esso ha la forma⎧⎨⎩ M

du(t)

dt+Au(t) + C(u(t))u(t) + BTp(t) = f (t),

Bu(t) = 0,

(10.61)

con u(0) = u0. C(u(t)) è una matrice dipendente da u(t), il cui elemento generico ècmi(t) = c(u(t),ϕi,ϕm). Per discretizzare in tempo tale sistema utilizziamo a titolo

Page 337: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.7 Discretizzazione in tempo delle equazioni di Navier-Stokes 327

di esempio il θ-metodo, presentato nella Sez. 6.1. Se si pone

un+1θ = θun+1 + (1− θ)un,

pn+1θ = θpn+1 + (1− θ)pn,

fn+1θ = f (θtn+1 + (1 − θ)tn),

si perviene al seguente sistema di equazioni algebriche⎧⎨⎩ Mun+1 − un

Δt+ Aun+1θ + C(un+1θ )un+1θ + BTpn+1θ = fn+1θ ,

Bun+1 = 0.

(10.62)

La sua risoluzione risulta in generale molto costosa (salvo nel caso in cui θ = 0,corrispondente al metodo di Eulero in avanti). Una possibile alternativa è quella diutilizzare uno schema nel quale la parte lineare del problema viene trattata in manieraimplicita, mentre quella non lineare in maniera esplicita (giungendo così ad un proble-ma semi-implicito). Se θ ≥ 1/2, lo schema risulta incondizionatamente stabile, mentreva soggetto a condizioni su Δt (in funzione di h e di ν) negli altri casi. Commentiamoin dettaglio le varie opzioni qui di seguito. Nelle Sez. 10.7.2 e 10.7.3 considereremoinvece alcuni schemi di discretizzazione temporale alternativi ai precedenti.

10.7.1 Metodi alle differenze finite

Consideriamo dapprima una discretizzazione temporale esplicita per la prima equa-zione delle (10.61), ad esempio quella corrispondente a θ = 0 in (10.62). Supponendonote le quantità al tempo tn, si otterrà{

Mun+1 = H(un,pn, fn),

Bun+1 = 0,

essendo M la matrice di massa di elementi

mij =

∫Ω

ϕiϕj dΩ.

Tale sistema è sovradeterminato nella velocità un+1, mentre non consente di otte-nere la pressione pn+1. Sostituendo pn con pn+1 nella equazione del momento siotterrebbe il sistema lineare⎧⎨⎩

1

ΔtMun+1 + BTpn+1 = G,

Bun+1 = 0,

(10.63)

dove G è un vettore opportuno. Esso corrisponde a una discretizzazione semi-esplicitadi (10.60). Essendo M definita positiva e simmetrica, il sistema ridottoBM−1BTpn+1 =

Page 338: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

328 10 Le equazioni di Navier-Stokes

BM−1G è non singolare se la condizione (10.53) è soddisfatta. La velocità un+1 siricava poi dalla prima delle (10.63). Tale metodo risulta stabile se è soddisfatta unacondizione del tipo

Δt ≤ Cmin(h2/ν, h/(maxx∈Ω

|un|)).

Consideriamo ora una discretizzazione temporale implicita del problema (10.60)(ad esempio basata sul metodo di Eulero all’indietro, corrispondente alla scelta θ = 1in (10.62)). Come precedentemente osservato tale metodo è incondizionatamentestabile. In tal caso si trova un sistema algebrico non lineare, corrispondente alladiscretizzazione ad elementi finiti del problema di Navier-Stokes stazionario⎧⎨⎩ −νΔz+ (z · ∇)z+∇p+

z

Δt= f ,

divz = 0.

Un tale sistema non lineare di equazioni può essere risolto ad esempio con una tecni-ca di tipo Newton accoppiata ad un metodo di Krylov (come il GMRES o il metodoBiCGStab) per la risoluzione del sistema lineare che si ottiene ad ogni passo di itera-zione di Newton (si veda ad esempio [Saa96] o [QV94, Cap. 2]). In questo modo sihanno globalmente tre cicli iterativi annidati:

- iterazione temporale: tn → tn+1,- iterazione di Newton: xn+1k → xn+1k+1 ,- iterazione di Krylov: [xn+1k ]j → [xn+1k ]j+1,

avendo indicato per semplicità con xn la coppia (un,pn). Si ottiene così una succes-sione [xn+1k ]j per la quale

limk→∞

limj→∞[xn+1k ]j =

[un+1

pn+1

].

Operiamo ora la discretizzazione temporale utilizzando un metodo semi-implicito,ossia trattiamo in implicito la parte lineare e in esplicito il termine convettivo nonlineare. Otteniamo pertanto il sistema lineare⎧⎨⎩

1

ΔtMun+1 +Aun+1 +BTpn+1 =G,

Bun+1 = 0,

(10.64)

dove G è un vettore opportuno, ovvero un sistema del tipo (10.49). La condizione distabilità in questo caso è del tipo

Δt ≤ Ch

maxx∈Ω

|un| . (10.65)

Page 339: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.7 Discretizzazione in tempo delle equazioni di Navier-Stokes 329

10.7.2 Metodi alle caratteristiche (o Lagrangiani)

Per questi metodi si definisce innanzitutto la cosiddetta derivata materiale

Du

Dt=

∂u

∂t+ (u · ∇)u,

indi la si approssima, ad esempio, con la formula di Eulero all’indietro:

Du

Dt(x) ≈ u

n+1(x) − un(xp)Δt

,

essendo xp il piede (al tempo tn) della caratteristica uscente da x al tempo tn+1.Si deve quindi risolvere un sistema di equazioni differenziali ordinarie per seguire aritroso la linea caratteristicaX spiccata dal punto x stesso⎧⎪⎨⎪⎩

dX

dt(t; s,x) = u(t,X(t; s,x)), t ∈ (tn, tn+1),

X(s; s,x) = x,

con s = tn+1.La difficoltà si è dunque trasferita nella ricostruzione delle linee caratteristiche. Laprima esigenza è quella di approssimare adeguatamente il campo di velocità u per t ∈(tn, tn+1), in quanto un+1 è ancora incognita. A tale scopo, il metodo più sempliceconsiste nell’utilizzare uno schema di Eulero in avanti per la discretizzazione delladerivata materiale.

La seconda difficoltà è legata al fatto che la caratteristica può attraversare piùelementi della griglia di calcolo. Occorre quindi avere un algoritmo efficiente per in-dividuare l’elemento di griglia dove cade il piede della caratteristica e che sappia dun-que tenere conto della possibilità che la caratteristica termini sul bordo del dominiocomputazionale. Per ogni tn+1 l’equazione del momento si riscrive

un+1(x) − un(xp)Δt

− νΔun+1(x) +∇pn+1(x) = fn+1(x),

dove x è un generico punto di Ω e xp il piede della caratteristica uscente da x al tempotn+1.

10.7.3 Metodi a passi frazionari

Incominciamo facendo una digressione per un generico problema evolutivo dellaforma

∂w

∂t+ Lw = f,

dove L è un operatore differenziabile che supponiamo possa essere scomposto nellasomma di due operatori L1 e L2, ovvero

Lv = L1v + L2v.

Page 340: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

330 10 Le equazioni di Navier-Stokes

I metodi a passi frazionari realizzano l’avanzamento temporale da tn a tn+1 in due (opiù) passi: dapprima viene risolto il problema considerando solo L1, quindi si correggela soluzione ottenuta considerando solo l’operatore L2. Per tale ragione questi metodisi chiamano anche operator splitting.

Separando i due operatori L1 e L2 si spera di ridurre un problema complesso adue problemi più semplici, confinando in ognuno di essi gli effetti e le problematichead essi associati (non linearità, diffusione, trasporto, . . .). In tal senso, gli operato-ri L1 e L2 possono essere scelti in base a considerazioni fisiche operate sulla basedel problema che si sta risolvendo. In effetti, anche la risoluzione delle equazioni diNavier-Stokes con il metodo alle caratteristiche potrebbe essere interpretata come unmetodo a passi frazionari nel quale il primo passo è proprio quello lagrangiano.

Uno schema possibile, semplice, ma non ottimale, può essere il seguente, dettosplitting di Yanenko:

1. si calcola w soluzione di

w − wn

Δt+ L1w = 0;

2. si calcola wn+1 come

wn+1 − w

Δt+ L2w

n+1 = fn .

Eliminando w, otteniamo il seguente problema per la variabile wn+1

wn+1 − wn

Δt+ Lwn+1 = fn +ΔtL1(f

n − L2wn+1).

Se L1 e L2 sono entrambi operatori ellittici, allora questo schema è incondizionata-mente stabile rispetto a Δt.

Applichiamo questa strategia alle equazioni di Navier-Stokes (10.2), scegliendocome L1 l’operatore L1(w) = −νΔw + (w · ∇)w ed essendo L2 la parte che re-sta per completare il sistema di Navier-Stokes. In tal modo abbiamo separato le dueprincipali difficoltà derivanti rispettivamente dalla non-linearità e dalla richiesta diincomprimibilità. Lo schema a passi frazionari che si ottiene è il seguente:

1. si risolve la seguente equazione di diffusione(-trasporto) per la velocità un+1⎧⎨⎩un+1 − un

Δt− νΔun+1 + (u∗ · ∇)u∗∗ = fn+1 in Ω,

un+1 = 0 su ∂Ω;

(10.66)

2. si risolve in seguito il problema accoppiato nelle incognite un+1 e pn+1⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩un+1 − un+1

Δt+∇pn+1 = 0 in Ω,

divun+1 = 0 in Ω,

un+1 · n = 0 su ∂Ω,

(10.67)

Page 341: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.7 Discretizzazione in tempo delle equazioni di Navier-Stokes 331

dove u∗ e u∗∗ possono essere un+1 o un a seconda che il primo passo tratti i termi-ni convettivi in modo esplicito, implicito o semi-implicito. In questo modo si calcolaal primo passo una velocità intermedia un+1 che poi si corregge al secondo passodello schema in modo da soddisfare il vincolo di incomprimibilità. Se la risoluzionedel primo passo può essere condotta con successo con le tecniche presentate per pro-blemi di diffusione-trasporto, più difficoltosa appare la risoluzione del secondo passo.Nel tentativo di semplificare le cose, applichiamo l’operatore di divergenza alla primaequazione del secondo passo. Troviamo

divun+1

Δt− div u

n+1

Δt+Δpn+1 = 0,

ovvero un problema ellittico con condizioni al contorno di Neumann⎧⎪⎪⎨⎪⎪⎩−Δpn+1 = −div u

n+1

Δtin Ω,

∂pn+1

∂n= 0 su ∂Ω.

(10.68)

La condizione di Neumann discende dalla condizione un+1 · n = 0 su ∂Ω (si ve-da la (10.67)). Dalla risoluzione di (10.68) si ricava pn+1 e quindi la velocità un+1

utilizzando la prima delle equazioni nella (10.67),

un+1 = un+1 −Δt∇pn+1 in Ω, (10.69)

la quale fornisce, in modo esplicito, la correzione da operare sulla velocità.

Riassumendo, si risolve dapprima il sistema scalare ellittico (10.66) nell’incogni-ta un+1 (velocità intermedia), indi il problema ellittico (10.68) nell’incognita pn+1,infine si ottiene la nuova velocità un+1 attraverso la relazione esplicita (10.69).Vediamo ora le principali caratteristiche di tale metodo.Consideriamo il primo passo di avanzamento e supponiamo di porre u∗ = u∗∗ = un,ottenendo (dopo la discretizzazione spaziale) un sistema lineare della forma(

1

ΔtM+A

)un+1 = fn+1.

Tale problema è scomponibile nelle singole componenti spaziali (l’accoppiamento es-sendo venuto meno grazie al trattamento esplicito dei termini convettivi) ed è quindiriconducibile alla risoluzione di d problemi ellittici scalari, uno per ogni componentedella velocità.

Il limite principale di tale metodo risiede nel fatto che il trattamento esplicito deitermini convettivi comporta una condizione di stabilità della stessa forma di (10.65).Usando invece un metodo di avanzamento in tempo implicito, ponendo u∗ = u∗∗ =un+1, si ottiene un metodo incondizionatamente stabile, ma composto da un’equa-zione di diffusione-trasporto non-lineare accoppiata nelle componenti spaziali, unproblema pertanto più difficile da risolvere di quello ottenuto in precedenza. Anco-ra una volta, tale problema potrà essere risolto con un metodo iterativo di tipo Newtoncombinato con un metodo di Krylov.

Page 342: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

332 10 Le equazioni di Navier-Stokes

Consideriamo ora il secondo passo del metodo. In esso si impongono delle con-dizioni del tipo un+1 · n = 0 su ∂Ω, ossia si impone una condizione al contornosolo sulla componente normale della velocità, perdendo così il controllo della com-ponente tangenziale della velocità. Ciò dà luogo ad un errore, detto errore di split-ting: si trovano velocità a divergenza nulla, ma che risentono in prossimità del bordodi perturbazioni causate dal mancato soddisfacimento della condizione di Dirichletper la componente tangenziale della velocità, e che originano degli strati limite sullapressione di ampiezza

√ν Δt.

Il metodo appena descritto, dovuto a Chorin e Temam, viene anche chiamato me-todo di proiezione. Il motivo è da ricercarsi nel seguente Teorema di scomposizione diHelmholtz-Weyl.

Teorema 10.7 Sia Ω ⊂ Rd, d = 2, 3, un dominio con frontiera Lipschitziana.Allora per ogni v ∈ [L2(Ω)]d, esistono uniche due funzioniw, z,

w ∈ H0div = {v ∈[L2(Ω)

]d: divv = 0 in Ω, v · n = 0 su ∂Ω},

z ∈ [L2(Ω)]d, rotz = 0 (quindi z = ∇ψ, ψ ∈ H1(Ω))

tali chev = w+ z.

Questo risultato assicura che una generica funzione v ∈ [L2(Ω)]d può essere rappre-sentata in modo univoco come somma di un campo solenoidale (ossia a divergenzanulla) e di un campo irrotazionale (cioè dato dal gradiente di un’opportuna funzione).In effetti, dopo il primo passo (10.66) in cui si genera un+1 a partire da un risolvendol’equazione del momento, nel secondo passo si recupera un campo solenoidale un+1

in (10.69), con un+1 · n = 0 su ∂Ω, proiezione di un+1, applicando il teorema didecomposizione con le identificazioni:w = un+1, v = un+1, ψ = −Δtpn+1.

Si chiama metodo di proiezione in quanto∫Ω

un+1 · ψ dΩ =

∫Ω

un+1 · ψ dΩ ∀ψ ∈ H0div ,

ossia un+1 è la proiezione, rispetto al prodotto scalare di L2(Ω), di un+1 sullo spazioH0div.

Osservazione 10.3 Ci sono molte varianti del classico metodo di proiezione quipresentato miranti ad eliminare (o ridurre) l’errore di splitting sulla pressione. Permaggiori dettagli si veda [QV94], [Qua93], [Pro97], [CHQZ07] e [KS05]. •

Esempio 10.1 Nella Fig. 10.10 riportiamo le isolinee del modulo della velocità relative allarisoluzione del problema di Navier-Stokes in un dominio bidimensionaleΩ = (0, 17)×(0, 10)con 5 cilindri (in sezione). È stata assegnata una condizione di Dirichlet non omogenea

Page 343: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.8 Risoluzione del sistema di Stokes e metodi di fattorizzazione algebrica 333

Figura 10.10. Isolinee del modulo della velocità per il caso test dell’Esempio 10.1 associateagli istanti t = 10.5 (sopra) e t = 11.4 (sotto)

(u = [atan(20(5 − |5 − y|)), 0]T ) all’inflow, una condizione di Dirichlet omogenea sui la-ti orizzontali e sul bordo dei cilindri, mentre all’outflow è stata posta a zero la componentenormale del tensore degli sforzi. La soluzione è ottenuta utilizzando, per la discretizzazione inspazio, elementi spettrali stabilizzati (114 elementi spettrali, con polinomi di grado 7 per la ve-locità e la pressione, su ciascun elemento) e uno schema implicito BDF2 per la discretizzazionein tempo ( si veda Sez. 11.5 e anche [QSS08]). �

10.8 Risoluzione del sistema di Stokes e metodi di fattorizzazionealgebrica

Un approccio alternativo ai precedenti è basato sulle fattorizzazioni inesatte (o in-complete) della matrice del sistema di Stokes (10.49) o di quello che si ottiene dopol’adozione di avanzamenti temporali semi-impliciti, come ad esempio (10.64), delleequazioni di Navier-Stokes tempo-dipendenti.Supporremo dunque di avere a che fare con un sistema algebrico della forma[

C BT

B 0

] [U

P

]=

[F

0

](10.70)

Page 344: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

334 10 Le equazioni di Navier-Stokes

doveC coincide con la matrice A nel caso del sistema (10.49), con 1ΔtM+A nel caso

del sistema (10.64), mentre più in generale potrebbe essere data da αΔtM +A + δD,

essendo D la matrice associata al gradiente, nel caso si applichi una linearizzazione ouno schema semi-implicito del termine convettivo, nel qual caso i coefficienti α e δdipenderanno dagli schemi temporali e di linearizzazione scelti.Possiamo ancora associare a (10.70) il complemento di Schur

RP = BC−1F, conR = BC−1BT , (10.71)

che si riduce a (10.52) nel caso si parta dal sistema di Stokes (10.49) anziché da(10.70). Iniziamo con l’osservare che il numero di condizionamento della matriceR dipende dalla costante β della condizione inf-sup. Più precisamente, nel caso delproblema stazionario (10.52), si hanno le relazioni

β =√

λmin, δ ≥√

λmax

dove λmin e λmax sono gli autovalori di R, mentre δ è la costante di continuità dellaforma bilineare b(·, ·) (si veda [QV94], Sez. 9.2.1). Pertanto, cond(R) ≤ δ2/β2. Nelcaso evolutivo si perviene ad un sistema di tipo (10.70); in tal caso il condizionamentodipende anche da Δt nonché da come si è discretizzato il termine convettivo.Un possibile approccio per la risoluzione di (10.52) consiste nel risolvere il comple-mento di Schur (10.71) con un metodo iterativo, ad esempio, il gradiente coniugatose C = A, oppure il GMRES o il Bi-CGStab nel caso in cui siano presenti anchetermini del prim’ordine, ovvero δ �= 0. In tal caso è cruciale scegliere un buon pre-condizionatore. Una discussione al proposito è fatta in [QV94] per quanto concerneapprossimazioni spaziali agli elementi finiti, e in [CHQZ07] per discretizzazioni conmetodi spettrali. Qui ci limiteremo ad osservare che, detta S la matrice a blocchi del si-stema (10.70), essa si può fattorizzare nel prodotto di due matrici triangolari a blocchi,ovvero

S =

[I 0

BC−1 I

] [C BT

0 −R

]

e che le due matrici

PD =

[C 0

0 −R

]o PT =

[C BT

0 −R

]

forniscono due precondizionatori ottimali di S, uno diagonale a blocchi, l’altro trian-golare a blocchi. Entrambi sono tuttavia piuttosto onerosi per via della presenza deltermine diagonaleR, il complemento di Schur, che contiene a sua volta l’inversa diC.In alternativa si possono usare le loro approssimazioni

PD =

⎡⎣ C 0

0 −R

⎤⎦ o PT =

⎡⎣ C BT

0 −R

⎤⎦

Page 345: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.8 Risoluzione del sistema di Stokes e metodi di fattorizzazione algebrica 335

dove C e R siano due approssimazioni “di basso costo” diC ed R, rispettivamente (adesempio, costruite a partire da precondizionatori ottimali della matrice di rigidezza).Per una rassegna di precondizionatori di R e di S (nel caso del sistema di Stokes), siveda [BGL05].Una diversa fattorizzazione di S,

S =

[C 0

B −R

] [I C−1BT

0 I

]= LU (10.72)

è invece alla base del cosiddetto precondizionatore SIMPLE proposto da Patankar[Pat80], ed ottenuto sostituendo il fattoreU con quello approssimato in cui C−1 vengasostituita da una matrice diagonale D−1 (con D, ad esempio, data dalla diagonale diC). Molte varianti sono possibili, si veda ad esempio [Wes01].Un approccio alternativo consiste nell’approssimare a priori sia L sia U in (10.72),ottenendo la fattorizzazione inesatta

S = LU =

[C 0

B −BLBT

] [I UBT

0 I

](10.73)

essendo L ed U due possibili approssimazioni di C−1. Basandosi su questa approssi-mazione (o fattorizzazione LU-inesatta di S) proposta da J.B. Perot [Per93] nell’am-bito dei volumi finiti, ed in seguito generalizzata da A. Veneziani (si veda [Ven98],[QSV00], [SV05]) per approssimazioni di Galerkin di problemi di punto-sella, larisoluzione del sistema

S

[u

p

]=

[F

0

]dà luogo ai seguenti passi:

passo L :

⎧⎨⎩ Cu = F (velocità intermedia)

−BLBT p = −Bu (pressione)passo U : u = u−UBT p (velocità finale).

In [QSV00] sono state esplorate le seguenti due possibilità:

L = U =( α

ΔtM)−1

, (10.74)

L =( α

ΔtM)−1

e U = C−1. (10.75)

La prima (10.74) è anche chiamata approssimazione di Chorin-Temam algebrica inquanto in tal caso i passi L e U sopra descritti riproducono in versione algebrica il me-todo a passi frazionari di Chorin e Temam (si veda la Sez. 10.7.3). La scelta (10.75) èdetta approssimazione di Yosida in quanto si può ricondurre ad un processo di regola-rizzazione “alla Yosida” del complemento di Schur ([Ven98]).

Page 346: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

336 10 Le equazioni di Navier-Stokes

Il vantaggio di questa strategia rispetto ai metodi a passi frazionari descritti in pre-cedenza è la loro trasparenza rispetto al problema delle condizioni al bordo. Questeultime sono già implicitamente tenute in conto dalla formulazione algebrica (10.70) enon devono essere imposte nel corso dei singoli passi L e U.Diverse generalizzazioni della tecnica di fattorizzazione inesatta (10.73) sono staterecentemente proposte, consistenti in diverse scelte delle componenti L e U che ga-rantiscono un ordine temporale più elevato (≥ 2) nel caso si considerino a montediscretizzazioni temporali di ordine superiore ad 1 delle equazioni di Navier-Stokes.Rinviamo il lettore interessato a [GSV06, SV05, Ger08].Riportiamo in Fig. 10.11 il comportamento dell’errore corrispondente alla discretiz-zazione delle equazioni evolutive di Navier-Stokes sul dominio Ω = (0, 1)2 con ilmetodo SEM usando 4× 4 elementi (quadrati di lato H = 0.25) e polinomi di gradoN = 8 per le componenti della velocità e N = 6 per le componenti della pres-sione. La soluzione esatta è u(x, y, t) = (sin(x) sin(y + t), cos(x) cos(y + t))T ,p(x, y, t) = cos(x) sin(y + t). La discretizzazione temporale è ottenuta con le dif-ferenze finite implicite all’indietro BDF di ordine 2 (BDF2), 3 (BDF3), 4 (BDF4) (siveda [QSS08]), completate da una fattorizzazione algebrica di tipo Yosida di ordinerispettivamente 2, 3, 4. Indicando con (unN , pnN) la soluzione numerica all’istante tn,gli errori su velocità e pressione

Eu =

(Δt

NT∑n=0

‖u(tn) − unN‖2H1(Ω)

)1/2e Ep =

(Δt

NT∑n=0

‖p(tn)− pnN‖2L2(Ω)

)1/2

sono infinitesimi (in Δt) di ordine 2, 3, e 4, rispettivamente, per le velocità, mentresono di ordine 3/2, 5/2 e 7/2, rispettivamente, per le pressioni.

10−4

10−3

10−2

10−1

10−10

10−8

10−6

10−4

10−2

100

2

3

4

BDF2+Yosida

BDF3+Yosida3

BDF4+Yosida4

Δt10

−410

−310

−210

−1

10−12

10−10

10−8

10−6

10−4

10−2

1.5

2.5

3.5BDF2+Yosida

BDF3+Yosida3

BDF4+Yosida4

Δt

Figura 10.11. A sinistra errore Eu sulla velocità; a destra errore Ep sulla pressione

Page 347: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.9 Problemi di fluidi a superficie libera 337

10.9 Problemi di fluidi a superficie libera

I fluidi a superficie libera si manifestano in diverse situazioni e in molteplici forme;ogni qual volta due fluidi immiscibili vengono a contatto, si crea una superficie libera.I fluidi possono formare getti [LR98], bolle [HB76],[TF88], gocce, onde [Max76] epellicole. Fluidi di questo genere trovano riscontro in una vasta gamma di applicazioni,quali onde in fiumi, laghi e oceani [Bla02],[Qu02] e loro interazioni con imbarcazionie rive [Wya00],[KMI+83], iniezione, modellazione ed estrusione di polimeri e metalliliquidi [Cab03], reattori chimici a colonna o bioreattori, ecc. A seconda delle scalespaziali e temporali e del tipo di liquidi coinvolti, fenomeni quali il trasferimento dicalore, la tensione superficiale, gli effetti viscosi e la loro nonlinearità, l’interazionefluido-struttura, la transizione da flusso laminare a turbolento, la comprimibilità e lereazioni chimiche, possono o meno avere un’influenza importante sul comportamentodel fluido in esame.

Nella presente sezione ci concentreremo su flussi laminari di fluidi viscosi maNewtoniani, soggetti a tensione superficiale; il fluido potrà quindi essere descritto dal-le equazioni di Navier-Stokes. Gli altri aspetti sopra menzionati verranno trascurati, inmodo da concentrarci sulle specificità dovute alla presenza della superficie libera.

Per descrivere questo tipo di fluidi, si possono distinguere due famiglie di modelli:

• I metodi a tracciamento del fronte. Essi considerano la superficie libera come ilconfine di un dominio mobile, su cui vengono specificate opportune condizionial contorno. All’interno del dominio viene applicato un modello convenzionale difluido, con attenzione tuttavia al fatto che il dominio non è fisso, bensì in movi-mento. Il fluido dall’altra parte del confine (ad esempio l’aria) viene usualmentetrascurato, oppure il suo effetto viene modellato in modo semplificato, senza esseresimulato direttamente (vedi, ad es., [MP97]).

• I metodi di cattura del fronte. Essi considerano due fluidi in un dominio spazialea confini fissi, separati da una superficie libera. Essi possono equivalentementeessere considerati come un unico fluido le cui proprietà, quali densità e viscosità,variano globalmente come costanti a tratti. La superficie libera sarà la superficiedi discontinuità (si veda, ad es., [HW65],[HN81]).

In questa sezione applicheremo i metodi di cattura del fronte. Più precisamente,deriveremo un modello matematico per il caso generale di un fluido con densità eviscosità variabile, che risulterà quindi appropriato per modellare il flusso di due fluidicon superficie libera.

10.9.1 Equazioni di Navier-Stokes con densità e viscosità variabili

Denotiamo con ∂ξ l’operatore di derivata parziale rispetto alla variabile ξ. Conside-riamo il caso generale di un fluido viscoso incomprimibile in cui densità ρ e viscositàdinamica μ varino rispetto allo spazio e al tempo. Entro un fissato dominio spazialeΩ ⊂ Rd, l’evoluzione della velocità u = u(x, t) e della pressione p = p(x, t) del

Page 348: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

338 10 Le equazioni di Navier-Stokes

Figura 10.12. Topologie di griglia tipiche in due dimensioni per il metodo di tracciamento delfronte (a sinistra) e per il metodo di cattura del fronte (a destra). La linea più spessa rappresentala superficie libera.

fluido sono modellate dalle equazioni di Navier-Stokes incomprimibili:

ρ∂tu+ ρ(u ·∇)u−∇ · (2μD(u)) +∇p = f , x ∈ Ω, t > 0, (10.76)

divu = 0, x ∈ Ω, t > 0, (10.77)

in cui (D(v))ij =12

(∂xj (v)i + ∂xi(v)j

), i, j = 1 . . . d, è il gradiente simmetrico di

v, chiamato anche tensore del tasso di deformazione, e f denota una forza di volume,ad es. la forza gravitazionale.

Si noti che nel caso in cui ρ sia costante riotteniamo la forma (10.1) Si noti inoltreche l’incomprimibilità non è in contrasto con la densità variabile, in quanto l’incom-primibilità indica che una porzione elementare di fluido non cambia volume, e quindidensità, mentre la densità variabile corrisponde al fatto che diverse porzioni elementaridi fluido possono avere densità differenti.

Gli ultimi due addendi del termine sinistro dell’equazione (10.76) possono essereriscritti come −DivT(u, p), dove

T(u, p) = 2μD(u)− Ipè il tensore degli sforzi e I è il tensore identità d × d. La divergenza di un tensore èstata definita in (9.23). Per una dettagliata derivazione, motivazione e giustificazionedi questo modello si veda [LL59].

La densità ρ e la viscosità μ possono variare in spazio e tempo; è quindi necessarioun modello separato per la loro evoluzione. Usualmente, il bilancio di massa conduceall’equazione

dtρ = ∂tρ+ u ·∇ρ = 0 x ∈ Ω, t > 0, (10.78)

ρ|t=0 = ρ0 x ∈ Ω,

dove dt indica la derivata totale (o lagrangiana, o materiale). Nei casi in cui la viscositàμ può essere espressa in funzione della densità, ovvero μ = μ(ρ), questa relazione,assieme alla (10.78), costituisce il modello di evoluzione per ρ e μ.

Page 349: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.9 Problemi di fluidi a superficie libera 339

Modelli adatti al caso speciale di un flusso di due fluidi sono descritti in Sez.10.9.3. Come già ricordato, il modello di fluido deve essere completato con opportunecondizioni iniziali e al contorno.

10.9.2 Condizioni al contorno

Generalizziamo ora la discussione delle condizioni al contorno al caso della formula-zione (10.76), (10.77) delle equazioni di Navier-Stokes. Come fatto all’inizio di questocapitolo, suddividiamo il contorno ∂Ω del dominio Ω in un numero finito di compo-nenti. Affinché il problema di Navier-Stokes sia ben posto, su ogni componente devo-no essere specificate appropriate condizioni al contorno. Varie tipologie di condizionisono possibili, si veda ad esempio [QV94] e i riferimenti ivi contenuti; nel proseguioci limiteremo solo ai casi di seguito definiti.

Le condizioni al contorno di Dirichlet prescrivono un campo di velocità

u = ϕ ΓD ⊂ ∂Ω. (10.79)

Usualmente vengono impiegate per imporre un profilo di velocitàϕ all’inflow, oppureper modellare una parete solida che si muove con velocità ϕ. In quest’ultimo caso,vengono dette condizioni di non-scorrimento, poiché impongono che il fluido nonscorra sulla parete, bensí vi rimanga solidale.

Si noti che quando vengono specificate condizioni al contorno di Dirichlet sull’in-tero contorno ∂Ω, la pressione non è univocamente definita. In questo caso, se (u, p)è soluzione di (10.76), (10.77) e (10.79), allora anche (u, p + c), c ∈ R, è soluzionedello stesso insieme di equazioni. Integrando parzialmente l’equazione (10.77), si haallora che gD deve soddisfare la condizione di compatibilità∫

∂Ω

ϕ · n ds = 0,

altrimenti il problema non ammette alcuna soluzione.Le condizioni al contorno di Neumann prescrivono una forza per unità di area

quale componente normale del tensore degli sforzi

T(u, p)n = 2μD(u)n− pn = ψ su ΓN ⊂ ∂Ω, (10.80)

in cui n è la normale unitaria esterna su ΓN . Le condizioni di Neumann vengonoutilizzate per modellare una data forza ψ per unità di superficie sul contorno, spessocon ψ = 0 per quel che viene chiamato un free outflow. Per gradienti della veloci-tà evanescenti, la forza ψN corrisponde alla pressione sul contorno. Si veda anche[HRT96] per maggiorni dettagli sull’interpretazione e le implicazioni di questo tipo dicondizioni al contorno.

Le condizioni al contorno miste combinano condizioni al contorno di Dirichletnella direzione normale n con condizioni al contorno di Neumann nelle direzionitangenziali τ :

u · n = ϕ · n su ΓD,(T(u, p)n) · τ = (2μD(u)n) · τ = 0 su ΓN , ∀τ : τ · n = 0.

Page 350: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

340 10 Le equazioni di Navier-Stokes

La scelta ϕ = 0 esprime una simmetria della soluzione lungo ΓD, ma anche loscorrimento libero su ΓD senza penetrazione. In questo caso parliamo di condizioni alcontorno di scorrimento libero.

In alcuni casi è desiderabile una transizione continua da condizioni al contorno discorrimento a condizioni di non-scorrimento. Questa situazione può essere realizzataimponendo condizioni al contorno di Dirichlet nella direzione normale, come nel casodelle condizioni al contorno di libero scorrimento, e sostituendo le condizioni nelladirezione tangenziale con condizioni al contorno di Robin, ovvero una combinazionelineare di condizioni al contorno di Dirichlet e di Neumann:

u · n = ϕ · n su ΓD,(ωCτu+ (1− ω)(T(u, p)n)) · τ =(ωCτu+ (1− ω)(2μD(u)n)) · τ = ωCτgD · τ su ΓN , ∀τ : τ · n = 0.

Qui, ω ∈ [0, 1] determina il regime. Per ω = 0 abbiamo condizioni al contorno dilibero scorrimento, mentre per ω = 1 abbiamo condizioni di non-scorrimento. Inpratica, ω può essere una funzione continua di spazio e tempo, con valori in [0, 1], epermettere così una transizione continua fra i due casi. Questo vale per ϕ = 0, ma lecondizioni al contorno di transizione comprendono anche il caso generale di Dirichletper ϕ �= 0 e ω = 1. Il peso Cτ può essere visto come un fattore di conversione fra levelocità e la forza per unità di area. Questa tipologia di condizioni al contorno vienestudiata in maggior dettaglio in [Joe05].

10.9.3 Applicazioni ai fluidi a superficie libera

Un fluido a superficie libera può essere descritto dal modello di fluido (10.76)-(10.77).In questo modello, la superficie libera è un’interfaccia denotata da Γ (t), che divide ildominio Ω in due sottodomini aperti Ω+(t) e Ω−(t). La posizione iniziale dell’in-terfaccia è nota, Γ (0) = Γ0, e l’interfaccia si muove con la velocità del fluido u. Inogni sottodominio abbiamo densità e viscosità costanti, denotate da ρ+, ρ−, μ+ e μ−.Richiediamo che ρ± > 0 e μ± > 0.

Densità e viscosità sono quindi definite globalmente come:

ρ(x, t) =

{ρ−, x ∈ Ω−(t)ρ+, x ∈ Ω+(t),

μ(x, t) =

{μ−, x ∈ Ω−(t)μ+, x ∈ Ω+(t).

Per modellare gli effetti di portanza, bisogna introdurre la forza gravitazionale neltermine a destra, che prende la forma f = ρg, dove g è il vettore dell’accelerazione digravità.

Poiché la viscosità è discontinua lungo l’interfaccia, l’equazione (10.76) vale insenso forte solo in Ω+ ∪ Ω−. I due sottodomini devono quindi essere accoppiatimediante appropriate condizioni di interfaccia (si veda, ad es., [Smo01]).

Indichiamo con nΓ la normale unitaria all’interfaccia che punta da Ω− in Ω+ econ κ la curvatura dell’interfaccia, definita come

κ =

d−1∑i=1

1

Rτi, (10.81)

Page 351: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.9 Problemi di fluidi a superficie libera 341

in cui Rτi sono i raggi di curvatura lungo i vettori principali τ i che spazzano lo spaziotangenziale all’interfaccia Γ . Il segno di Rτi è tale che RτinΓ punti da Γ verso ilcentro del cerchio che approssima localmente Γ .

Il salto di una quantità v attraverso l’interfaccia viene indicato da [v]Γ e definitocome

[v]Γ (x, t) = limε→0+

(v(x + εnΓ , t)− v(x − εnΓ , t))

= v|Ω+(t)(x, t)− v|Ω−(t)(x, t) ∀x ∈ Γ (t).

Le condizioni di interfaccia diventano quindi

[u]Γ = 0, (10.82)

[T(u, p)nΓ ]Γ = [2μD(u)nΓ − pnΓ ]Γ = σκnΓ . (10.83)

L’equazione (10.82) viene detta condizione di interfaccia cinematica ed esprimeil fatto che tutte le componenti della velocità sono continue. In effetti, la componentenormale deve essere continua in quanto non vi è flusso attraverso l’interfaccia, mentrele componenti tangenziali devono essere continue perchè entrambi i fluidi sono assuntiviscosi (μ+ > 0 e μ− > 0).

L’equazione (10.83) viene detta condizione di interfaccia dinamica ed esprime ilfatto che lo sforzo normale cambia di un valore pari alla forza di tensione superfi-ciale. Questa forza è proporzionale alla curvatura dell’interfaccia e punta in direzionedella normale all’interfaccia. Il coefficiente di tensione superficiale σ dipende dall’ac-coppiamento dei fluidi e, in generale, anche dalla temperatura; noi lo assumeremocostante, in quanto trascuriamo tutti gli effetti dovuti al flusso di calore.

Si noti che l’evoluzione dell’interfaccia deve essere compatibile con l’equazionedi conservazione della massa (10.78). Dal punto di vista matematico, questa equa-zione deve essere considerata in senso debole, ossia nel senso delle distribuzioni, dalmomento che la densità è discontinua attraverso l’interfaccia e le sue derivate posso-no quindi essere interpretate solo in senso debole. Assieme alle equazioni (10.76) e(10.77), questa equazione costituisce il modello fisico che descrive un flusso compostoda due fluidi.

Poichè questa forma dell’equazione di conservazione della massa è spesso pococonveniente per le simulazioni numeriche, bisogna introdurre altri modelli equivalen-ti che descrivano l’evoluzione dell’interfaccia Γ (t); una rassegna è presentata nellaSezione 10.9.4.

10.9.4 Modellistica dell’evoluzione dell’interfaccia

Diamo qui una breve rassegna dei differenti approcci per descrivere l’evoluzione diun’interfaccia Γ (t) in un dominio fisso Ω.

Nei metodi di cattura del fronte, l’interfaccia viene rappresentata implicitamentecon il valore di una funzione scalare φ : Ω × (0, T ) → R che registra per ognipunto x a quale sottoinsieme tale punto appartiene: Ω+(t) o Ω−(t). Un’equazione ditrasporto risolta per φ descrive quindi l’evoluzione dell’interfaccia. Attraverso questo

Page 352: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

342 10 Le equazioni di Navier-Stokes

metodo, tutti i modelli di interfaccia impliciti condividono il vantaggio che i cambidi topologia dell’interfaccia sono possibili in modo naturale nel modello, e quindi sirealizzano senza bisogno di interventi speciali.

10.9.5 I metodi Volume of Fluid

I metodi Volume Of Fluid (VOF) sono stati introdotti da Hirt e Nichols [HN81]. Quiφ è una funzione costante a tratti

φ(x, t) =

{1 x ∈ Ω+(t)0 x ∈ Ω−(t)

e l’interfaccia Γ (t) si colloca quindi alla discontinuità della funzione φ. In questomodo, densità e viscosità sono definite semplicemente come

ρ = ρ− + (ρ+ − ρ−)φ, (10.84)

μ = μ− + (μ+ − μ−)φ.

L’equazione di trasporto viene usualmente discretizzata con metodi ai volumi fi-niti, approssimando φ con un valore costante in ciascuna cella della griglia. A causadegli errori di discretizzazione e degli schemi di trasporto diffusivi, l’approssimazionedi φ assumerà valori compresi fra 0 e 1, che, grazie all’equazione (10.84) possonoessere interpretati (e spesso lo sono) come la frazione di volume del fluido che occupaΩ+. Questo spiega la denominazione Volume of Fluid. Frazioni di volume fra 0 e 1rappresentano una miscela dei due fluidi. Poiché i fluidi sono considerati immiscibili,questo è un comportamento non desiderato, in particolar modo perchè gli effetti delmescolamento potrebbero non restare confinati vicino all’interfaccia, bensì espander-si nell’intero dominio Ω. In questo modo, l’interfaccia, inizialmente supposta netta,verrebbe a diffondersi sempre più. Esistono diverse tecniche per limitare questo pro-blema; sono state sviluppate procedure elaborate per la ricostruzione delle normali edella curvatura di un’interfaccia diffusa. I metodi Volume of Fluid si avvantaggianodel fatto che l’applicazione di una discretizzazione conservativa dell’equazione di tra-sporto assicura la conservazione della massa del fluido, in quanto la relazione (10.84)fra φ e ρ è lineare.

10.9.6 Metodi Level Set

Per evitare i problemi connessi ai metodi Volume of Fluid, Dervieux e Thomasset[DT80] hanno proposto di definire l’interfaccia come la curva di livello zero di unafunzione continua di pseudo densità e di applicare questo metodo a problemi di flusso.Il loro approccio è stato successivamente studiato più sistematicamente in [OS88] ein successive pubblicazioni, nelle quali venne coniato il termine metodo Level Set.La prima applicazione a problemi di flusso si ha grazie a Mulder, Osher e Sethian[MOS92]. In contrasto con l’approccio Volume of Fluid, questi metodi permettono di

Page 353: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.9 Problemi di fluidi a superficie libera 343

mantenere l’interfaccia netta, in quanto φ è definita come una funzione continua taleche

φ(x, t) > 0 ∀x ∈ Ω+(t),

φ(x, t) < 0 ∀x ∈ Ω−(t),

φ(x, t) = 0 ∀x ∈ Γ (t).

La funzione φ è detta funzione level set, in quanto l’interfaccia Γ (t) è il suo levelset zero, con la sua isolinea o isosuperficie associata al valore zero

Γ (t) = {x ∈ Ω : φ(x, t) = 0}. (10.85)

Densità e viscosità possono ora essere espresse in funzione di φ come

ρ = ρ− + (ρ+ − ρ−)H(φ), (10.86)

μ = μ− + (μ+ − μ−)H(φ), (10.87)

dove H(·) è la funzione di Heaviside

H(ξ) =

{0 ξ < 01 ξ > 0.

Per costruzione, in un modello Level Set l’interfaccia resta definita in modo preci-so, pertanto due fluidi immiscibili non si mescolano. Inoltre, la determinazione dellenormali e della curvatura dell’interfaccia è più facile e più naturale. In cambio, essen-do la relazione (10.86) non lineare, l’applicazione di una discretizzazione conservativadell’equazione di trasporto per φ non assicura la conservazione della massa del fluidodopo la discretizzazione. Tuttavia, la conservazione della massa è garantita al limitevia raffinamento di griglia.

Più in dettaglio, l’evoluzione della superficie libera è descritta da un’equazione ditrasporto per la funzione Level Set:

∂tφ+ u ·∇φ = 0 x ∈ Ω, t ∈ (0, T ), (10.88)

φ = φ0 x ∈ Ω, t ∈ (0, T ),φ = φin x ∈ ∂Σin, t ∈ (0, T ),

in cui Σin è il bordo di inflow

Σin = {(x, t) ∈ ∂Ω × (0, T ) : u(x, t) · n < 0}.

Le equazioni dei fluidi (10.76)-(10.77) e l’equazione Level Set (10.88) sono quindiaccoppiate. L’equazione (10.88) può essere ricavata come segue [MOS92]: sia x(t) ilpercorso di un punto sull’interfaccia Γ (t); questo punto si muove con il fluido, quindidtx(t) = u(x(t), t). Essendo la funzione φ costantemente zero sull’interfaccia inmoto, deve risultare

φ(x(t), t) = 0 .

Page 354: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

344 10 Le equazioni di Navier-Stokes

Derivando rispetto al tempo e applicando la regola di derivazione di funzioni compo-ste, si ha

∂tφ+∇φ · u = 0 su Γ (t) ∀t ∈ (0, T ). (10.89)

Se invece consideriamo il percorso di un punto in Ω±, possiamo chiedere φ(x(t), t) =±c, c > 0, in modo da assicurarci che il segno di φ(x, t) non cambi e che, conse-guentemente, x(t) ∈ Ω±(t) per ogni t > 0. In questo modo, l’equazione (10.89) sigeneralizza all’intero dominio Ω, il che ci porta all’equazione (10.88).

Possiamo ora verificare che la conservazione della massa è soddisfatta. Utilizzan-do la (10.86) otteniamo formalmente

∂tρ+ u ·∇ρ = (ρ+ − ρ−)(∂tH(φ) + u ·∇H(φ))

= (ρ+ − ρ−)δ(φ)(∂tφ+ u ·∇φ)(10.90)

in cui δ(·) denota la funzione delta di Dirac. Grazie all’equazione (10.88), il terzofattore in (10.90) risulta zero. Vale quindi l’equazione (10.78) e la conservazione dellamassa viene soddisfatta.

10.9.7 Grandezze relative all’interfaccia

Nel problema del flusso di due fluidi sono di particolare interesse la normale all’in-terfaccia e la sua curvatura, in quanto la tensione superficiale è proporzionale allacurvatura e agisce nella direzione normale.

Forniamo qui una derivazione intuitiva di queste quantità in funzione di φ, sen-za entrare nei dettagli della geometria differenziale. Si veda, ad es., [Spi99] per unaderivazione dettagliata e rigorosa.

La normale unitaria nΓ è ortogonale a tutte le direzioni tangenti τ . Queste ultime,a loro volta, sono caratterizzate dal fatto che le derivate direzionali di φ lungo di essedevono essere nulle, ovvero

0 = ∂τφ =∇φ · τ su Γ.

Come conseguenza possiamo definire la normale unitaria come

nΓ =∇φ

|∇φ| . (10.91)

Si noti che con questa definizione, nΓ punta da Ω− verso Ω+. Inoltre, poichè φ èdefinita non solo sull’interfaccia ma anche nell’intero dominio, anche l’espressioneper la normale si generalizza in modo naturale all’intero dominio.

Per ricavare l’espressione della curvatura, dobbiamo considerare le direzioni prin-cipali tangenziali τ i, i = 1 . . . d−1, caratterizzate dal fatto che la derivata direzionaledi nΓ lungo τ i ha essa stessa direzione τ i, ovvero

∂τ inΓ =∇nΓ τ i = −κiτ i, κi ∈ R, i = 1 . . . d− 1 (10.92)

Page 355: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.9 Problemi di fluidi a superficie libera 345

Più grande è |κi|, maggiore sarà la curvatura della superficie in questa direzione. Pertale ragione i κi sono denominati curvature principali. Con semplici calcoli si ri-cava che κi = (Rτi )

−1, dove i valori Rτ i sono i raggi dei cerchi (o dei cilindri)approssimanti l’interfaccia, come nell’equazione (10.81).

Si nota dall’equazione (10.92) che i d− 1 valori −κi sono autovalori del tensore∇nΓ di dimensioni d×d. Dalla definizione (10.91) si ha che nΓ è essenzialmente uncampo gradiente, regolare vicino all’interfaccia. Il tensore di rango due∇nΓ risultapertanto un tensore di derivate seconde di una funzione regolare, e quindi è simme-trico, dunque possiede un ulteriore autovalore reale il cui autovettore associato deveessere nΓ , essendo gli autovettori di un tensore simmetrico ortogonali. Tale è nullo,in quanto

(∇nΓ nΓ )i =d∑j=1

(∂xinj)nj =

d∑j=1

1

2∂xi(n

2j ) =

1

2∂xi |nΓ |2 = 0,

essendo |nΓ | = 1 per costruzione (10.91).Partendo dall’equazione (10.81), per la curvatura otteniamo

κ =

d−1∑i=1

1

Rτi=

d−1∑i=1

κi = −tr(∇nΓ ) = −divnΓ = div

( ∇φ

|∇φ|

).

Condizioni inizialiPur conoscendo la posizione Γ0 dell’interfaccia a t = 0, la funzione level set associataφ0 non è univocamente definita. Questo grado di libertà può essere usato per sempli-ficare ulteriormente i successivi passaggi. Si noti che ripidi gradienti di φ rendono piùdifficoltosa la soluzione numerica dell’equazione (10.88) (si veda, ad es., [QV94]),mentre gradienti poco accentuati diminuiscono la stabilità numerica nel determinareΓ a partire da φ. Risulta quindi un buon compromesso introdurre l’ulteriore vincolo|∇φ| = 1. Una funzione che soddisfa questo vincolo è la funzione distanza

dist(x;Γ ) = miny∈Γ

|x− y|,

che in ogni punto x assume il valore della minore distanza euclidea da x a Γ .Moltiplicando questa funzione per −1 su Ω−, otteniamo la funzione distanza consegno

sdist(x;Γ ) =

⎧⎨⎩dist(x;Γ ) x ∈ Ω+

0 x ∈ Γ−dist(x;Γ ) x ∈ Ω−.

È uso, e buona norma, scegliere φ0(x) = sdist(x;Γ0) per rappresentare l’interfacciainiziale Γ0.

È interessante notare che se |∇φ| = 1, le espressioni della curvatura e dellanormale dell’interfaccia si semplificano ulteriormente:

nΓ =∇φ e κ = −div∇φ = −Δφ.

Page 356: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

346 10 Le equazioni di Navier-Stokes

Ri-inizializzazionePurtroppo, la proprietà di normalizzazione |∇φ| = 1 non è preservata per via del tra-sporto di φ con la velocità del fluido u. Per rimediare, una possibile strategia consistenel determinare un campo di velocità di trasporto che imprima all’interfaccia lo stessomovimento indotto dal campo di velocità del fluido e mantenga allo stesso tempo laproprietà di normalizzazione. In effetti, un siffatto campo di velocità esiste, e si co-noscono algoritmi efficienti per determinarlo (si veda, ad es., [AS99]). Esso è notocome velocità di estensione, in quanto viene costruito estendendo all’intero dominiola velocità definita sull’interfaccia.

Alternativamente, possiamo sempre usare la velocità del fluido u per trasportarela funzione dei level set φ, e intervenire quando |∇φ| si discosta troppo da 1. L’azioneda intraprendere in questo caso viene detta ri-inizializzazione, in quanto la proceduraè in parte simile a quella di inizializzazione con la condizione iniziale. Supponiamo diri-inizializzare al tempo t = tr, si procede come segue:

1. dato φ(·, tr), trovare Γ (tr) = {x : φ(x, tr) = 0};2. sostituire φ(·, tr) con sdist(·, Γ (tr)).

È interessante notare come il problema di trovare la velocità di estensione sia stret-tamente correlato al problema di ri-inizializzare φ per una funzione distanza con se-gno. Si possono utilizzare gli stessi algoritmi, e ci si può aspettare lo stesso costocomputazionale. Tuttavia, due differenze concettuali favoriscono l’approccio della ri-inizializzazione: in primo luogo, le velocità di estensione devono essere calcolate adogni passo temporale, mentre la ri-inizializzazione può essere applicata solo quandonecessaria. In secondo luogo, le velocità di estensione approssimate conserverannosolo approssimativamente la proprietà di normalizzazione della distanza, e potrebberendersi comunque necessaria una ri-inizializzazione.

In [Win07] si possono trovare i dettagli algoritmici sulla costruzione efficientedi un’approssimazione della funzione distanza con segno, con particolare riguardo alcaso tridimensionale.

10.9.8 Esistenza e unicità

Sono noti assai pochi risultati in merito alle proprietà di esistenza, unicità e regolaritàdelle soluzioni di problemi a superficie libera della forma (10.76)-(10.78).

Un risultato di esistenza globale nel caso in cui f = ρg e σ = 0 è dovuto a P.L.Lions [Lio96]. Questa dimostrazione richiede che Ω sia un sottoinsieme derivabile,limitato e connesso di Rd, e che sull’intero bordo vengano imposte delle condizionial contorno di Dirichlet omogenee, (ossia che ΓD = ∂Ω e ϕ = 0, si veda (10.79). Seinoltre valgono le seguenti ipotesi:

ρ0 ∈ L∞(Ω), ρ0u0 ∈ L2(Ω)d, ρ0|u0|2 ∈ L1(Ω), ρ0 ≥ 0 q.o. in Ω,

e g ∈ L2(Ω × (0, T ))d,

Page 357: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.10 Esercizi 347

allora esistono soluzioni globali deboli che soddisfano

ρ ∈ L∞(Ω × (0, T )), ρ ∈ C([0,∞);Lp(Ω)) ∀p ∈ [1,∞),u ∈ L2(0, T ;H10(Ω))

d, ∇u ∈ L2(Ω × (0, T ))ρ|u|2 ∈ L∞(0, T ;L1(Ω)).

In particolare, non si conoscono proprietà di regolarità del campo di pressione p.Se però ρ0 > 0, allora si prova [Lio96] che esiste “in piccolo” (ovvero per un

intervallo temporale finito) una soluzione forte alla quale tutte le soluzioni deboli sonouguali.

Un altro risultato dovuto a Tanaka [Tan93] considera il caso in cui il coefficientedi tensione superficiale sia diverso da zero ma costante. Sotto alcune assunzioni (piùforti delle precedenti) di regolarità dei dati iniziali, si prova che esiste una soluzioneglobale purché i dati iniziali e le forze esterne siano sufficientemente piccoli. Inoltre,viene provata l’unicità locale (in tempo).

La situazione descritta non è forse del tutto soddisfacente, ma non ci impediscedi sviluppare modelli numerici ben posti che approssimino i modelli matematici eforniscano soluzioni che siano in buon accordo con le osservazioni fisiche.

10.10 Esercizi

1. Si verifichi che la condizione (10.53) è equivalente alla condizione inf-sup (10.20).[Soluzione: la (10.53) è violata se e solo se ∃p∗ �= 0 con p∗ ∈ RM tale cheBTp∗ = 0 o, equivalentemente, che ∃p∗h ∈ Qh tale che b(ϕn, p

∗h) = 0 ∀n =

1, . . . , N . Ciò equivale ad avere b(vh, p∗h) = 0 ∀vh ∈ Vh, proprietà che a sua

volta equivale a violare la condizione (10.20).]2. Si dimostri che una condizione necessaria affinché la (10.53) sia soddisfatta è che2N ≥M .[Soluzione: si ha che N = rango(B) + dim(kerB), mentre M = rango(BT ) +dim(kerBT ) = rango(BT ) = rango(B). Di conseguenza, abbiamo che N−M =dim(kerB) ≥ 0 e dunque una condizione necessaria per avere un’unica soluzioneè N ≥M .]

3. Si dimostri che la coppia di elementi finiti P1 − P0 per velocità e pressione nonsoddisfa la condizione inf-sup.[Soluzione: eseguiamo la dimostrazione in due dimensioni spaziali. Si consideriper semplicità una triangolazione uniforme come quella indicata in figura 10.13,a sinistra, in 2n2 triangoli, n ≥ 2. Il numero di gradi di libertà per la pressio-ne è M = 2n2 − 1 (un valore per ogni triangolo meno uno, avendo imposto ilvincolo di media nulla), mentre quello per la velocità è N = 2(n − 1)2 (corri-spondente a due componenti per ogni vertice interno, supponendo che ai nodi dibordo siano assegnate condizioni di Dirichlet). La condizione necessaria N ≥Mdell’Esercizio 2 è pertanto violata in questo caso.]

Page 358: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

348 10 Le equazioni di Navier-Stokes

4. Si dimostri che la coppia di elementi finiti quadrangolari Q1 − Q0 con velocitàbi-lineare e pressione costante su ciascun elemento non soddisfa la condizioneinf-sup.[Soluzione: poniamoci in due dimensioni e cominciamo con l’osservare che se lagriglia è formata da n × n elementi (si veda la Fig. 10.13 a destra), ci saranno(n − 1)2 nodi interni e quindi N = 2(n − 1)2 gradi di libertà per le velocità eM = n2 − 1 gradi di libertà per le pressioni. La condizione necessaria è perciòsoddisfatta purché n ≥ 3. Bisogna procedere perciò ad una verifica diretta delfatto che la condizione inf-sup non sia soddisfatta. Supponiamo la griglia unifor-me di passo h ed indichiamo con qi±1/2,j±1/2 una quantità q valutata nei punti(xi±1/2, yj±1/2) = (xi±h/2, yi±h/2). Sia Kij l’elemento ij-esimo della grigliadi calcolo. Con qualche manipolazione algebrica si trova che∫Ω

qhdivuh dΩ =h

2

n−1∑i,j=1

uij(qi−1/2,j−1/2+ qi−1/2,j+1/2

−qi+1/2,j−1/2− qi+1/2,j+1/2)

+vij(qi−1/2,j−1/2− qi−1/2,j+1/2+ qi+1/2,j−1/2− qi+1/2,j+1/2).

Appare allora evidente che la pressione p∗ che vale 1 sugli elementi neri e −1sugli elementi bianchi della Fig. 10.13, a destra, è una pressione spuria.]

5. Per il problema di Stokes si consideri il problema di Dirichlet omogeneo sulquadrato (0, 1)2 e si utilizzi una griglia uniforme formata da elementi quadra-ti. Verificare quindi direttamente l’esistenza di (almeno) un modo di pressionespurio.

6. Si consideri il problema di Stokes stazionario non-omogeneo:⎧⎨⎩−νΔu+∇p = f in Ω ⊂ R2,divu = 0 in Ω,u = g su Γ = ∂Ω ,

dove g è una funzione data. Si mostri che il problema ammette soluzione solose∫Γg · n = 0 e si trovi la sua formulazione debole. Mostrare che il termine a

Figura 10.13. Griglia uniforme per una discretizzazione con elementi P1 − P0 (a sinistra) eQ1 − Q0 (a destra) con modi spuri di pressione

Page 359: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

10.10 Esercizi 349

destra dell’equazione di conservazione della quantità di moto (prima equazionedel sistema) definisce un elemento di V ′, spazio duale di V .

7. Ripetere le medesime considerazione dell’esercizio precedente per il problema diNavier-Stokes non omogeneo:⎧⎨⎩

(u · ∇)u− νΔu+∇p = f in Ω ⊂ R2,divu = 0 in Ω,u = g su Γ = ∂Ω.

8. Si dimostri la stima a priori (10.57).[Soluzione: si ponga vh = uh e qh = ph nella (10.55). Indi si applichinole disuguaglianze di Cauchy-Schwarz e di Young al termine noto, nonché ladisuguaglianza di Poincaré.]

Page 360: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11

Cenni di programmazione degli elementi finiti

In questo capitolo approfondiamo alcuni aspetti relativi alla traduzione in codici dicalcolo del metodo degli elementi finiti. Questa operazione di implementazione puònascondere alcune insidie. La necessità di avere un’implementazione ad alta efficienzacomputazionale, oltre alle esigenze sintattiche di un qualsiasi linguaggio di program-mazione, richiede una codifica che non è in genere l’immediata traduzione di quantovisto in sede di presentazione teorica. L’efficienza dipende da tanti fattori, compresi illinguaggio usato e l’architettura su cui si lavora. L’esperienza personale può giocareun ruolo fondamentale tanto quanto l’apprendimento da un testo. Anche se talvoltapassare tanto tempo alla ricerca di un errore in un codice o di una struttura dati piùefficiente può sembrare tempo perso, non lo è (quasi) mai. Per questo, l’auspicio è cheil presente capitolo sia una sorta di “canovaccio” per prove che il lettore possa fareautonomamente più che un capitolo da studiare in senso tradizionale.

Un’ultima osservazione riguarda il taglio del capitolo: l’approccio seguito qui èquello di fornire indicazioni di carattere generale: ovviamente ogni problema ha spe-cificità che possono essere sfruttate in modo mirato per una implementazione ancorpiù efficiente.

11.1 Fasi operative di un codice a elementi finiti

Nell’esecuzione di un calcolo a elementi finiti possiamo distinguere quattro fasi cherappresentano altrettante fasi di codifica (Fig. 11.1).

1. Pre-processing. Questa fase consiste nella impostazione del problema e nella co-difica del dominio di calcolo che, come visto nel Cap. 3, richiede la costruzionedella reticolazione. In generale, a parte i casi banali (ad esempio in dimensione 1),la costruzione di una mesh adeguata è un problema numerico di rilevante interes-se, per il quale sono state sviluppate tecniche ad hoc. In genere, questa operazioneè svolta da programmi a parte o da moduli appositi all’interno di un solutore, neiquali di recente molta cura è stata rivolta alla parte di interfaccia grafica e di in-

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 361: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

352 11 Cenni di programmazione degli elementi finiti

MESHINFO

GEOMETRIA

INFO

FUNZIONALI

COSTRUZIONE

MATRICI

RISOLUTORE

ALGEBRICO

OK ? ENDSINO

ADATTIVITA

REMESHING

Pre Assemblaggio

Post

��

��

���

���

���

Figura 11.1. Fasi operative di un codice a elementi finiti

terfacciamento con programmi di CAD (Computer Aided Design). Alle tecnichedi base per la generazione di griglia è dedicato il Cap. 12.

2. Assemblaggio. In questa fase vengono costruite le strutture dati “funzionali”, apartire da quelle “geometriche” ricavate dalla mesh e dalle scelte dell’utente circail tipo di elementi finiti che si vuole usare. Inoltre, in base al problema che si vuolrisolvere e alle sue condizioni al bordo, viene calcolata la matrice di rigidezzaassociata alla discretizzazione (si vedano i Cap. 3 e 5). Questa operazione può es-sere eventualmente inserita all’interno di un ciclo di avanzamento temporale se sistanno trattando problemi tempo-dipendenti (come fatto nei Cap. 6-10) e può es-sere il frutto anche di un’operazione di linearizzazione nel caso si stiano trattandoproblemi non lineari. In senso stretto, il termine “assemblaggio” si riferisce allacostruzione della matrice del sistema lineare, passando dal calcolo locale svoltosull’elemento di riferimento a quello globale che concorre alla determinazionedella matrice associata al problema discretizzato.La Fig. 11.2 riassume le diverse operazioni durante la fase di assemblaggio per lapreparazione del sistema algebrico.

Page 362: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.1 Fasi operative di un codice a elementi finiti 353

ϕi, i = 1, 2, 3∫A b

A b

3 6 4

3

6

4

2

1

3 (Dirichlet)

4

56

2 (Dirichlet)

Elemento

1

2

3

4

5

4 6 5

5 6 1

1 2

2 6 3

3 6 4

6

Nodi

1 3

2

1

3

45

Figura 11.2. Schematizzazione dell’assemblaggio. Le informazioni geometriche e topologiche(tabella in alto), opportunamente memorizzate descrivono la griglia. Mediante la mappatura sul-l’elemento di riferimento, si effettua il calcolo della matrice di discretizzazione A e del terminenoto b, procedendo prima elemento per elemento (calcolo locale) e poi, sfruttando l’additivitàdell’operazione di integrazione, si aggiorna la matrice globale. I simboli che rappresentano ognielemento della matrice sono ottenuti dalla sovrapposizione dei simboli usati per definire ognielemento della mesh. Alla fine, si opera la prescrizione delle condizioni al bordo, che idealmen-te elimina i gradi di libertà con condizioni di Dirichlet, giungendo alla matrice finale A e altermine noto b. Come vedremo, l’operazione viene spesso implementata diversamente

3. Risoluzione del sistema algebrico. Il nocciolo risolutivo di base di ogni calcolo adelementi finiti è rappresentato dalla soluzione di un sistema lineare. Come detto,questo potrà essere eventualmente parte di un ciclo temporale (basato su un meto-do di discretizzazione implicito) o di un ciclo iterativo dovuto alla linearizzazionedi un problema non lineare. La scelta del metodo risolutivo è in genere affidataall’utente. Per questo motivo è molto importante che l’utente sappia unire alleconoscenze del problema in esame, che come visto nel Cap. 3 si riflettono sullastruttura della matrice (ad esempio la simmetria, la positività) una buona cono-scenza dei metodi a disposizioni per poter fare una scelta ottimale (la quale rara-mente è quella di default). Per questo motivo, in Appendice B vengono richiamatele principali caratteristiche dei metodi per la risoluzione di sistemi lineari.Oggi vi sono molte librerie di calcolo molto efficienti per la risoluzione di sistemilineari di diverso tipo, per cui l’orientamento in fase di codifica è in genere quello

Page 363: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

354 11 Cenni di programmazione degli elementi finiti

di includere tali librerie piuttosto che implementarle ex-novo. Ad esempio, negliesempi che seguiranno la parte di risoluzione dei sistemi lineari è affidata a AztecVersione 2.1, libreria sviluppata presso i Sandia Laboratories di Albuqerque, NewMexico, USA (si veda [AZT]). Vi sono tuttavia molte altre librerie dedicate aquesto scopo, fra le quali ricordiamo PetSC (si veda [Pet]) e UMFPACK [UMF],TriLinos [Tri].

4. Post-processing. La mole di dati numerici generati da un codice agli elementi finitiè spesso enorme. Occorre elaborare questa informazione in modo da presentarerisultati sintetici ed in una forma utilizzabile per gli scopi dell’analisi. La sintesimediante immagini o il calcolo di grandezze derivate può non essere una fasebanale. In particolare, il calcolo di grandezze derivate, se non viene effettuato coni dovuti accorgimenti può introdurre inaccettabili errori aggiuntivi.

Presenteremo le tecniche di generazione di griglia nel prossimo capitolo. Pertanto,l’oggetto principale di questo capitolo sarà la fase di Assemblaggio (Sez. 11.4), nellaquale la codifica efficiente del metodo degli elementi finiti non è la semplice traduzio-ne in un linguaggio di programmazione di quanto visto nella teoria, ma sono richiestiaccorgimenti opportuni.

Prima di affrontare l’argomento, nella Sez. 11.2 ci occuperemo della codifica diformule di quadratura per il calcolo numerico degli integrali, mentre la codifica dellematrici in formato sparso è trattata nella Sez. 11.3.

Per quanto riguarda la fase di post-processing, rimandiamo alla letteratura speci-fica, osservando che alcune tecniche usate sono state già introdotte nel Cap.3 per ilcalcolo di stimatori a posteriori.

La Sez. 11.6 riporta infine un esempio completo.

11.1.1 Due parole sul codice utilizzato

Vi sono molti linguaggi e ambienti di programmazione disponibili oggi, caratterizzatida filosofie e obiettivi disparati. Nel momento in cui si affronta l’implementazione diun metodo numerico, occorre fare una scelta motivata in questo panorama, per poterconcretizzare le spiegazioni attraverso porzioni di codice. Tra gli ambienti di program-mazione molto utili per la costruzione di prototipi,Matlab è sicuramente uno strumentovalidissimo sotto molti punti di vista, anche se, come per tutti i linguaggi interpreta-ti, difetta sotto il profilo della efficienza computazionale. Un altro ambiente orientatoalla soluzione di problemi differenziali in 2D mediante il metodo degli elementi finitiè FreeFem++ (si veda www.freefem.org). Questo ambiente comprende in un unico pac-chetto (gratuito e usabile sotto diversi sistemi operativi) tutte le quattro fasi indicatesopra, con una sintassi particolarmente accattivante, che riduce la distanza fra codi-fica e formulazione teorica, e in particolare avvicinando significativamente la primaalla seconda. Questa operazione ha un indubbio valore “didattico”, di effettuare simu-lazioni anche di problemi non banali rapidamente. Tuttavia, i costi computazionali ela difficoltà ad implementare nuove strategie che richiedano estensioni della sintassipossono risultare penalizzanti in casi di interesse reale.

Page 364: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.2 Calcolo numerico degli integrali 355

Tradizionalmente, tra i linguaggi di programmazione compilati, il Fortran (in par-ticolare il Fortran 77) è quello cha ha avuto maggior successo in ambito numerico,grazie al fatto di generare codici eseguibili molto efficienti. Più di recente, la filosofiadi programmazione orientata agli oggetti è sembrata avere caratteristiche di astrazionemolto adatte per problemi matematico-numerici. L’astrazione insita nella trasversa-lità degli strumenti matematici sembra trovare un ottimo corrispettivo nell’astrazionepropria della programmazione a oggetti, basata sulla progettazione di tipi di dato daparte dell’utente (più che su operazioni da svolgere, come nella programmazione pro-cedurale) e sul loro uso polimorfico (si veda ad es. [LL00, CP00, Str00]). Tuttavia, ilcosto computazionale di questa astrazione ha talvolta ridotto l’interesse per una pro-grammazione filosoficamente interessante, ma sovente operativamente perdente perproblemi di tipo scientifico, dove l’efficienza computazionale è (quasi) sempre cru-ciale. Questo ha richiesto lo sviluppo di tecniche di programmazione più sofisticate(ad esempio gli Expression Templates), che consentissero di evitare che i costi della in-terpretazione di oggetti astratti diventassero troppo pesanti dutrante l’esecuzione delcodice (si vedano ad es. [Vel95, Fur97, Pru06, DV08]). Accanto al Fortran, pertanto,oggi sono sempre più diffusi anche in ambito scientifico linguaggi come il C++, natocome un miglioramento del linguaggio C orientato agli oggetti: fra gli altri, ricordia-mo Diffpack e FoamCFD. A questo linguaggio faremo pertanto riferimento nelle partidi codice presentati nel seguito. In particolare, queste porzioni di codice sono partedi un’ampia libreria, LifeV (Life 5), sviluppata presso i centri CMCS del Politecnicodi Losanna, l’INRIA di Rocquencourt, Parigi e il MOX del Politecnico di Milano.Questa libreria, liberamente scaricabile da www.lifev.org sotto le condizioni generali dilicenza LGPL, si configura come un codice aperto a nuovi contributi in diversi contestiapplicativi (principalmente in 3D) per l’applicazione di metodi numerici recenti in uncontesto di programmazione avanzata orientata agli oggetti.

La lettura accurata del codice (che d’ora in avanti chiameremo “Programmi” persemplicità) richiede alcune conoscenze di base di C++ per le quali rinviamo a [LL00].Volendo tuttavia usare il presente capitolo come base per fare prove autonome (e conil proprio linguaggio di programmazione preferito) non è essenziale, per la compren-sione del testo, la conoscenza completa della sintassi del C++, ma è sufficiente averedimestichezza con i construtti sintattici di base.

11.2 Calcolo numerico degli integrali

Il calcolo numerico effettivo degli integrali richiesti nella formulazione a Elementi Fi-niti viene tipicamente eseguito mediante l’applicazione di formule di quadratura. Peruna introduzione completa all’argomento della quadratura numerica, rimandiamo a te-sti di Analisi Numerica di base (ad esempio [QSS08]). In questa sede, basta ricordareche una formula di quadratura generica ha la forma:

∫K

f(x)dx ≈nqn∑iq=1

f(xiq)wiq

Page 365: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

356 11 Cenni di programmazione degli elementi finiti

ove K indica la regione su cui si integra (tipicamente un elemento della griglia), nqnè il numero di nodi di quadratura per la formula scelta, xiq sono le coordinate dei nodidi quadratura e wiq sono i pesi. Tipicamente, l’accuratezza della formula nonché ilcosto computazionale crescono con il numero di nodi di quadratura. Come visto nelCap. 4, Sez. 4.2.2 e 4.2.3, le formule che, a parità di numero di nodi, garantiscono lamigliore accuratezza sono quelle gaussiane.

Il calcolo dell’integrale viene in genere svolto sull’elemento di riferimento, sulquale è nota l’espressione delle funzioni di base, mediante un opportuno cambio divariabile (Sez. 3.3). Se indichiamo le coordinate dello spazio di riferimento con xi e lerelative funzioni di base con ϕi, l’integrazione nello spazio di riferimento richiederà laconoscenza della matrice Jacobiana J della trasformazione geometrica, definita come

J = [Jij] =

[∂xi

∂xj

].

Infatti, si ha:∫K

f(x)dx =

∫K

f(x)|J |(x)dx ≈∑iq

f(xiq)|J |(xiq)wiq (11.1)

dove |J | indica il determinante di J . Nel caso di operatori dove interviene la derivataspaziale, occorre applicare le regole di derivazione delle funzioni composte:

∂f

∂xi=

d∑j=1

∂f

∂xj

∂xj∂xi

, ∇f = J−T∇xf =1

|J |cof(J)∇xf ,

ove cof(J) è la matrice dei cofattori di J . Ad esempio, per il calcolo della matrice distiffness avremo:∫K

∇ϕα∇ϕβ =∑i,j

∫K

∂ϕα

∂xi

∂ϕβ

∂xjdx =

∑i,j,l,m

∫K

∂ϕα

∂xl

∂xl

∂xi

∂ϕβ

∂xm

∂xm

∂xj|J |dx ≈

∑i,j,l,m

∑iq

∂ϕα∂xl

J−1li∂ϕβ∂xm

J−1mj |J |(xiq)wiq,

(11.2)essendo α e β gli indici di due generiche funzioni di base. Si noti la presenza deglielementi della matrice Jacobiana inversa J−1, dovuti alla trasformazione di coordinateche intervengono nel calcolo delle derivate delle funzioni di base.

La classe che codifica una formula di quadratura memorizza pertanto nodi di qua-dratura e pesi associati. Nel calcolo effettivo degli integrali, verranno poi ottenute leinformazioni sulla mappatura necessarie per il calcolo vero e proprio, dipendenti dallageometria di K.

Page 366: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.2 Calcolo numerico degli integrali 357

Nel Programma 1 si riporta la codifica di una formula di quadratura a 5 punti pertetraedri:

x1 =

(1

6,1

6,1

6

), w1 =

9

20

1

6

x2 =

(1

6,1

6,1

2

), w2 =

9

20

1

6

x3 =

(1

6,1

2,1

6

), w3 =

9

20

1

6

x4 =

(1

2,1

6,1

6

), w4 =

9

20

1

6

x5 =

(1

4,1

4,1

4

), w5 = −

16

20

1

6.

Il fattore 1/6 che compare nell’espressione dei pesi wi rappresenta il volume del te-traedro di riferimento. Sovente, i pesi tabulati nei libri non tengono conto esplicita-mente di questo fattore, per cui, nel nostro caso, si trovano i valori 9/20 e −16/20,ma la misura dell’elemento di riferimento non va dimenticata!

Programma 1 - pt-tetra-5pt: Formula di quadratura a cinque nodi su tetraedro: laclasse QuadPoint definisce il singolo nodo di quadratura con il peso associato. Laformula di quadratura sarà definita da un array di oggetti QuadPoint

class QuadPoint {Real _coor[ 3 ];Real _weight;

public: QuadPoint(Real x, Real y, Real z, Real weight ){ _coor[ 0 ] = x;_coor[ 1 ] = y;_coor[ 2 ] = z;_weight = weight;

}}

//Integrazione su Tetraedro con una formula a 5 nodiconst Real tet5ptx1 = 1. / 6. , tet5ptx2 = 1. / 2., tet5ptx3 = 1. / 4.;

static const QuadPoint pt_tetra_5pt[ 5 ] ={ QuadPoint( tet5ptx1,tet5ptx1, tet5ptx1, 9. / 120. ),

QuadPoint( tet5ptx1,tet5ptx1, tet5ptx2, 9. / 120. ),QuadPoint( tet5ptx1, tet5ptx2, tet5ptx1, 9. / 120. ),QuadPoint( tet5ptx2, tet5ptx1, tet5ptx1, 9. / 120. ),QuadPoint( tet5ptx3, tet5ptx3, tet5ptx3, -16. / 120. )

};

Page 367: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

358 11 Cenni di programmazione degli elementi finiti

La scelta di una formula di quadratura risponde a due esigenze (di tipo conflittuale):

1. da un lato, maggiore è l’accuratezza e meglio è controllato l’errore generato dalcalcolo degli intergrali; per problemi a coefficienti costanti o polinomiali, facen-do leva sul concetto di grado di esattezza di una formula di quadratura, si puòaddirittura annullare completamente l’errore di integrazione numerica;

2. dall’altro lato, l’aumento dell’accuratezza si accompagna spesso ad un aumentodel numero di nodi nqn.

La giusta sintesi fra le due esigenze, evidentemente, dipende dai requisiti del pro-blema che si vuole risolvere, nonché dalle specifiche di accuratezza e velocità per ilcalcolo da eseguire.

11.2.1 Le coordinate baricentriche

Quando l’elemento di riferimento è un simplesso unitario, è possibile far riferimentonella definizione delle formule di quadratura alle coordinate baricentriche (dette anchedi area in 2D o di volume in 3D), introdotte nel Cap. 5. Questo insieme di coordinategode infatti di alcune proprietà utili in determinati contesti.

Dato il tetraedro di riferimento, associamo ad ogni punto 4 numeri (in generale,se il problema è d dimensionale, si associano d + 1 numeri, ma da ora in avanti ciriferiremo solo al caso 3D, anche se le definizioni si estendono in modo immediato alcaso 2D e 1D),

P = (λ0, λ1, λ2, λ3) con λ1 = 1− λ2 − λ3 − λ4.

Si tratta evidentemente di una definizione un po’ anomala, dal momento che le coordi-nate non sono indipendenti fra loro. Inoltre, i 4 vertici del tetraedro, nella numerazionecanonica di Fig. 11.3, verranno identificati dalle n-uple:

P0 = (1, 0, 0, 0), P1 = (0, 1, 0, 0), P2 = (0, 0, 1, 0), P3 = (0, 0, 0, 1)

in modo che in modo naturale ogni coordinata è associata ad un vertice, mentre ilbaricentro avrà coordinate B = (1/4, 1/4, 1/4, 1/4). In generale, la coordinata di unpunto P qualsiasi rappresenterà il rapporto fra il volume del tetraedro che ha comevertici quelli della faccia opposta al vertice cui è associata e il punto P e il volumetotale del tetraedro.

Le proprietà che rendono interessanti queste coordinate sono principalmente leseguenti.

1. Le funzioni di base degli elementi finiti lagrangiani lineari sull’elemento di rife-rimento coincidono proprio con l’espressione delle coordinate baricentriche, purdi porre (x, y, z) = (λ1, λ2, λ3), ossia ϕi = λi, i = 0, 1, 2, 3. Questo giustificail nome di “coordinate”, nel senso che (come vedremo anche nella Sez. 11.4.3, inparticolare nella (11.5)) l’espressione di un generico punto nello spazio fisico apartire da quella delle coordinate dei vertici del tetraedro diventa:

x =

3∑j=0

λjxj, y =

3∑j=0

λj yj , z =

3∑j=0

λj zj .

Page 368: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.2 Calcolo numerico degli integrali 359

P1

xP0

P

P3

y

z

P2

Figura 11.3. La coordinata baricentrica λi del punto P rappresenta il rapporto fra il volumedel tetraedro che ha come vertici P stesso e quello della faccia opposta al vertice Pi (in figuraviene ombreggiato il tetraedro opposto a P0 sotteso da P e dai vertici P1, P2, P3) e il volumetotale del tetraedro

Anche le funzioni di base di elementi di grado più elevato possono essere espres-se in funzione delle coordinate baricentriche e in particolare per un tetraedrolagrangiano di grado 2 si ha:

ϕ0 = λ0(2λ0 − 1), ϕ1 = λ1(2λ1 − 1), ϕ2 = λ2(2λ2 − 1),ϕ3 = λ3(2λ3 − 1), ϕ4 = 4λ1λ2, ϕ5 = 4λ1λ3,ϕ6 = 4λ1λ4, ϕ7 = 4λ2λ3, ϕ8 = 4λ3λ4, ϕ9 = 4λ2λ4.

Il calcolo delle derivate rispetto alle coordinate baricentriche è reso complicato dalfatto che esse non sono tutte indipendenti fra loro. Esistono tuttavia modi efficientiper il calcolo della matrice Jacobiana: il lettore interessato può riferirsi a [Aki94],Cap. 9 o [Hug00], Cap. 3.

2. Per le coordinate baricentriche in 3D si ha:

∫K

λa0λb1λc2λd3dω =

a!b!c!d!

(a+ b+ c+ d+ 3)!6Vol(K),

essendo Vol(K) la misura del volume dell’elemento K (pari a 1/6). Questa for-mula consente agevolmente il calcolo esatto di integrali polinomiali nelle funzionidi base lagrangiane, utili ad esempio per problemi a coefficienti costanti. In 2D laformula analoga è

∫K

λa0λb1λc2dω =

a!b!c!

(a+ b+ c+ 2)!2Area(K),

Page 369: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

360 11 Cenni di programmazione degli elementi finiti

mentre in 1D essa diventa∫K

λa0λb1dω =

a!b!

(a + b+ 1)!Lunghezza(K).

3. La verifica di appartenenza di un punto P a un elemento K si riduce alla verifi-ca che le sue coordinate baricentriche λi siano tutte positive. Questa proprietà èparticolarmente utile quando serva determinare l’elemento di appartenenza di unpunto, come nell’uso di derivate lagrangiane (Cap. 10) o del calcolo di grandezzein post-processing come le linee di flusso.

11.2.2 Alcuni esempi di formule di quadratura

A titolo di esempio, la Tabella 11.1 riporta i pesi e i nodi per alcune formule di qua-dratura assai comuni in 2D. La Tabella 11.2 riporta alcune formule per tetraedri. Leformule sono simmetriche: bisogna considerare tutte le possibili permutazioni dellecoordinate baricentriche per avere la lista completa dei nodi.

Per comodità si riporta, oltre al numero totale di nodi nqn, la molteplicità m diciascun nodo di quadratura, cioè il numero di nodi generati dalle permutazioni. Sifornisce anche il grado di esattezza r.

Vediamo due semplici esempi. Supponiamo di voler calcolare:

I =

∫K

f(x, y)dx =

∫K

f(x, y)J(x, y)dx.

Usando i pesi e nodi della prima riga della tabella si ottiene:

I � 12f(1

3,1

3)J(1

3,1

3) = Area(K)f(x, y),

dove il coefficiente 1/2 rappresenta l’area dell’elemento di riferimento, x è il nododi coordinate baricentriche λ1 = λ2 = λ3 = 1/3 e corrisponde al baricentro del

Tabella 11.1. Nodi e pesi per formule di quadratura su triangoli. I nodi sono espressi mediante leloro coordinate baricentriche. I pesi non tengono conto della misura dell’elemento di riferimento(che vale 1/2)

nqn λ(j) m wj r

1 1/3 1/3 1/3 1 1 13 1 0 0 3 1/3 13 2/3 1/3 1/3 3 1/3 14 1/3 1/3 1/3 1 -0.5625 2

0.6 0.2 0.2 3 0.520836 0.65902762237 0.23193336855 0.10903900907 6 1/6 26 0.81684757298 0.09157621351 0.09157621351 3 0.10995174366 3

0.10810301817 0.44594849092 0.44594849092 3 0.22338158968

Page 370: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.3 Memorizzazione di matrici sparse 361

triangolo. Pertanto la corrispondente formula è la ben nota formula del punto mediocomposita.

Per usare la formula della seconda riga notiamo che m = 3 e dunque abbia-mo di fatto 3 nodi di quadratura le cui coordinate baricentriche si ottengono perpermutazione ciclica:

(λ1 = 1, λ2 = 0, λ3 = 0), (λ1 = 0, λ2 = 1, λ3 = 0), (λ1 = 0, λ2 = 0, λ3 = 1).

Quindi per ogni triangolo K otteniamo

∫K

f(x)dx � 12

1

3

[f(0, 0)J(0, 0) + f(1, 0)J(1, 0) + f(0, 1)J(0, 1)

]= Area(K)

2∑i=0

1

3f (xi) .

essendo x0,x1,x2, i vertici del triangolo K, corrispondenti alle coordinate baricentri-che (0,0),(1,0) e (0,1) rispettivamente. La corrispondente formula dà pertanto originealla formula del trapezio composita. Entrambe le formule hanno grado di esattezza 1.

Tabella 11.2. Nodi e pesi per formule di quadratura su tetraedri. I nodi sono espressimediante leloro coordinate baricentriche. I pesi non tengono conto della misura dell’elemento di riferimento(che vale 1/6)

nqn λ(j) m wj r

1 1/4 1/4 1/4 1/4 1 1 14 0.58541020 0.13819660 0.13819660 0.13819660 4 1/4 25 1/4 1/4 1/4 1/4 1 -16/20 3

1/2 1/6 1/6 1/6 4 9/20

Altre formule di quadratura per il calcolo di integrali per diversi elementi finiti sitrovano in [Com95], [Hug00], [Str71].

Osservazione 11.1 Qualora si faccia uso di elementi quadrilateri o prismatici, nodie pesi delle formule di quadratura si possono ottenere come prodotto tensoriale delleformule di quadratura di Gauss per il caso monodimensionale, come visto nel Cap. 4(si veda anche [CHQZ06]). •

11.3 Memorizzazione di matrici sparse

Come visto nel Cap. 3, le matrici degli elementi finiti sono sparse. La distribuzionedegli elementi non nulli viene indicata dal cosiddetto pattern di sparsità (detto an-che grafo) della matrice. Il pattern dipende dalla griglia computazionale adottata, dal

Page 371: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

362 11 Cenni di programmazione degli elementi finiti

tipo di elemento finito scelto e dalla numerazione dei nodi. La memorizzazione ef-ficiente di una matrice consiste pertanto nella memorizzazione dei soli elementi nonnulli, secondo il posizionamento indicato dal pattern. La discretizzazione di proble-mi differenziali diversi, ma sulla stessa griglia computazionale e con lo stesso tipodi elementi finiti, porta a matrici con lo stesso grafo. Per questo motivo può capitaredi dover gestire più matrici, ma tutte con lo stesso pattern. Pertanto, in una logica diprogrammazione a oggetti, può essere utile separare la memorizzazione del grafo (chepuò diventare un “tipo di dato” definito dall’utente, ossia una classe) dalla memoriz-zazione dei valori di ogni matrice. In tal modo, una matrice si può vedere come unastruttura dati per la memorizzazione dei suoi valori, unita a un puntatore al grafo adessa associato. Il puntatore, infatti, memorizza solo la locazione di memoria ove il pat-tern viene memorizzato e quindi, di per sé, ha una occupazione di memoria minima.Più matrici potranno pertanto condividere lo stesso grafo, senza inutili duplicazioni dimemorizzazione del pattern (si vedano i codici 2 e 3).

All’atto pratico, vi sono diverse tecniche per memorizzare in modo efficiente ma-trici sparse, ossia la posizione e il valore dei loro elementi non nulli. E’ bene osservareche, in questo contesto, l’aggettivo “efficiente” non si riferisce soltanto alla minor oc-cupazione di memoria che si possa realizzare, ma anche alla rapidità di accesso inmemoria di ogni elemento. Un formato di memorizzazione che richieda il minimodispendio di memoria possibile è verosimilmente più lento nell’accedere a un valoredesiderato. Infatti, la maggior compattezza di memorizzazione tipicamente si ottieneintroducendo forme indirette di indirizzamento, in base alle quali il valore di un ele-mento si ottiene dopo aver ricavato la sua posizione nella memoria dell’elaboratoreaccedendo alle strutture dati che memorizzano il grafo. Più passaggi intermedi sononecessari, più il tempo di accesso all’elemento desiderato sarà lungo. Proprio per lanecessità di trovare il giusto compromesso, diverse tecniche di memorizzazione so-no state proposte in letteratura, con diverse prerogative. Una rassegna commentata sitrova ad esempio in [FSV05], Appendice B. Qui ci limitiamo a ricordare un formatomolto usato per la memorizzazione di matrici sparse quadrate, ossia il formato MSR(Modified Sparse Row). Il grafo di sparsità di una matrice quadrata generata dalla di-scretizzazione di un problema mediante elementi finiti possiede la proprietà che glielementi diagonali sono sempre compresi a priori fra gli elementi non nulli, per ilmotivo banale che il supporto di una funzione di base ha intersezione non vuota conse stesso. Il formato MSR si basa su questa considerazione per memorizzare solo ilpattern della parte extra-diagonale, utilizzando poi un altro vettore per memorizzare ivalori della diagonale principale, ordinati secondo la riga di appartenenza.

Nella pratica, per memorizzare la matrice, si usano due vettori, che chiameremovalue (valori) e bindx (connessione delle righe). A questo, per i motivi che vedremo in[FSV05] si propone di aggiungere un terzo vettore che chiamiamo bindy (connessionedelle colonne). Indichiamo con n la dimensione della matrice da memorizzare e nz ilnumero dei suoi elementi non nulli.

Page 372: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.3 Memorizzazione di matrici sparse 363

Per illustrare il formato MSR ci serviamo di un esempio (vd. Fig. 11.4) in cuin = 5 e nz = 17:

0 1 2 3 4

A =

⎡⎢⎢⎢⎢⎣a 0 f 0 g0 b k m 0h l c 0 r0 n 0 d pi 0 s q e

⎤⎥⎥⎥⎥⎦01234

Facciamo notare che la numerazione di righe e colonne in matrici e vettori parte da 0,secondo la sintassi del C++. I vettori che caratterizzano il formato MSR sono:

value =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

abcde∗fgkmhlrnpisq

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

01234567891011121314151617

bindx =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

6810131518242301414023

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦Il vettore bindy è:

bindy =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

10151113681691771214

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

01234567891011

Vediamo come sono strutturati questi vettori. Nelle prime n posizioni di value(indicizzate da 0 a 4 = n− 1) vengono memorizzati i valori diagonali della matrice.La posizione di indice n viene lasciata vuota, mentre dalla posizione di indice n + 1in avanti vengono memorizzati i valori degli elementi extradiagonali, ordinati riga per

Page 373: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

364 11 Cenni di programmazione degli elementi finiti

Riga 0 Riga 1 Riga 2 Riga 3 Riga 4

0 1 2 3 4 5 6 7 8 9 10 11

a

0 1 2 3 4 5 6 7 8 9 1110 12 13 14 15 1716

10 − 6 = 4

b c d e ∗ f g k m h l r n p i s q

6 8 10 13

Colonna 0 Colonna 1 Colonna 2 Colonna 3 Colonna 4

15 18 2 4 2 3 0 1 4 1 4 0 2 3

10 15 11 13 6 8 16 9 17 7 12 14ybind=

value=

bindx=

Figura 11.4. Illustrazione delle strutture del formato MSR: le frecce indicano il percorso per ladeterminazione degli elementi della terza riga e della terza colonna

riga. La dimensione complessiva di value sarà pertanto nz+1. Il vettore bindx ha purenz + 1 elementi. Gli elementi di posizione n+ 1 fino a nz + 1 contengono gli indicidi colonna dei rispettivi elementi il cui valore è memorizzato in value nella stessaposizione. Le prime n + 1 posizioni di bindx puntano a dove iniziano le righe nelleposizioni di indice da n+ 1 a nz + 1.

Se ad esempio si volesse accedere agli elementi della terza riga (vedi Fig. 11.4), siha che:

a) l’elemento diagonale è in value(2);b) gli elementi extra-diagonali sono compresi nelle posizioni indicate da bindx(2) e

bindx(3)-1, ossia:1. i valori sono in value(bindx(2)), bindx(2)+1), . . ., value(bindx(3)-1);2. gli indici di colonna sono in bindx(bindx(2)), bindx(bindx(2)+1), . . .,

bindx(bindx(3)-1).

L’elemento bindx(n) punta a una ipotetica riga successiva all’ultima. In questo mo-do, il numero di elementi non nulli della riga i-esima (per 1 ≤ i ≤ n) è dato sen-za eccezioni (che significa senza la necessità di introdurre salti condizionati) dalladifferenza bindx(i+1)-bindx(i).

Se la matrice fosse memorizzata solo tramite questi due vettori, avremmo un ac-cesso agevole per righe (ossia è facile estrarne una riga), mentre l’accesso per colonnerichiederebbe numerosi confronti, a scapito dell’efficienza. Un modo per rendere piùagevole questa operazione è quello di arricchire il formato MSR di bindy. Si sfrutta lacaratteristica delle matrici degli elementi finiti di avere un pattern simmetrico. Infatti,la proprietà che due funzioni di base abbiano supporto non disgiunto è evidentemente“simmetrica”. Questo significa che, se percorriamo gli elementi extra-diagonali della

Page 374: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.3 Memorizzazione di matrici sparse 365

riga di indice k e troviamo che il coefficiente akl è presente nel pattern (cioè è nonnullo), sarà presente nel pattern anche alk , che si ottiene percorrendo la riga di indicel. Se la posizione in bindx (e value) dell’elemento alk è memorizzata in un vettore “ge-mello” della porzione di bindx che va dagli indici n + 1 a nz, abbiamo una strutturache restituisce gli elementi di una colonna desiderata. Tale vettore è bindy: ad esem-pio, per estrarre la colonna di indice 2 dalla matrice basta leggere gli elementi di bindycompresi fra le posizioni bindx(2)-(n+1) e bindx(3)-1-(n+1) (la sottrazione di indice n+1serve solo come shift fra gli indici cui punta bindx in value e quelli cui deve puntare inbindy). Questi elementi puntano alle posizioni di bindx e value ove si possono trovare,rispettivamente, gli indici di riga corrispondenti e i valori della matrice.

Il formato MSR essendo uno dei formati più “compatti” per matrici sparse consen-te economia di memoria ed è pertanto utilizzato in alcune librerie di algebra lineare perproblemi di grandi dimensioni, come Aztec (si veda [AZT]). Ha tuttavia il difetto diessere utilizzabile solo per matrici quadrate. Per maggiori dettagli si vedano [FSV05],[Saa96].

Nei Programmi 2 e 3 riportiamo la struttura dati (ossia i membri private) delleclassi MSRPatt e MSRMatr.

Programma 2 - BasePattern: Struttura di base per memorizzare il pattern di matricein formato MSR

eclass BasePattern : public PatternDefs

public:...protected:...

UInt _nnz;UInt _nrows;UInt _ncols;

;

class MSRPatt : public BasePattern

public:...

const Container& bindx() const return _bindx; ;const Container& bindy() const return _bindy; ;

;

Programma 3 - MSRMatr: Matrici in formato MSR

template <typename DataType>class MSRMatr

public:

Page 375: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

366 11 Cenni di programmazione degli elementi finiti

...private:

std::vector<DataType> _value;const MSRPatt *_Patt;

;

11.4 La fase di assemblaggio

Per fase di assemblaggio intendiamo in realtà l’articolazione di diverse operazioni cheportano alla costruzione della matrice associata al problema discretizzato. Per questoscopo, occorrono due tipi di informazioni:

1. geometriche, tipicamente contenute nel file della mesh;2. funzionali, relative alla rappresentazione della soluzione mediante elementi finiti.

Le informazioni di carattere funzionale sono tanto più ampie quanti più tipi dielementi diversi sono codificati. In LifeV sono trattati elementi finiti Lagrangiani enon, continui e discontinui. In particolare, per gli elementi Lagrangiani continui, sihanno:

1. elementi finiti Lagrangiani in 1D di grado 1 e 2;2. elementi finiti Lagrangiani in 2D;

a) triangolari con funzioni lineari e quadratiche;b) quadrilateri con funzioni bilineari e biquadratiche;

3. elementi finiti Lagrangiani in 3D;a) tetraedrici con funzioni lineari e quadratiche;b) prismatici con funzioni bilineari e biquadratiche.

In Fig. 11.5 sono riportate le principali geometrie di riferimento considerate nel codicecon la numerazione locale dei vertici. I tetraedri rappresentano l’estensione in 3D deglielementi triangolari considerati nel Cap. 3. Gli elementi prismatici estendono in 3D glielementi geometrici quadrilateri in 2D introdotti nel Cap. 4. Una descrizione completadella costruzione di elementi di questo tipo si può trovare in [Hug00], Cap. 3.

Le informazioni geometriche e funzionali, opportunamente codificate, vengonopoi utilizzate per la costruzione della matrice del problema discretizzato. Contraria-mente a quanto sembrerebbe naturale nella definizione di elementi finiti Lagrangiani,la costruzione della matrice avviene effettuando un ciclo sugli elementi anziché suinodi. Il motivo di questo approccio element-oriented, piuttosto che di quello node-oriented, è essenzialmente legato a questioni di efficienza computazionale. L’espres-sione analitica di una funzione di base associata ad un nodo varia su ogni elementoafferente a quel nodo. Effettuando un ciclo su nodi si renderebbe necessario, prima dieffettuare il calcolo degli integrali individuare l’espressione analitica della funzionedi base appropriata per ogni elemento afferente. In termini di codice questo signi-fica che il corpo del ciclo va riempito di salti condizionati, ossia istruzioni di tipoif...then...elseif...then...else... all’interno del ciclo di assemblaggio. I salti condizionatisono istruzioni “costose” in termini computazionali, tanto più se sono all’interno di

Page 376: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.4 La fase di assemblaggio 367

1 2

1

2

1 2

3

3

4

1D

2D

1 2

78

2

34

56

1 3

4

3D

Figura 11.5. Illustrazione di alcuni elementi di riferimento presenti in LifeV con la numerazionelocale (convenzionale) dei nodi

un ciclo (e vengono quindi effettuati numerose volte). Per rendersene conto, è suffi-ciente osservare il numero di micro-istruzioni assembler richieste in fase di compi-lazione per espandere un salto condizionato, rispetto a una qualsiasi altra istruzione,si veda ad esempio [HVZ97]. Come vedremo, l’approccio element-oriented, sfruttan-do l’additività dell’ operazione di integrazione, permette di aggirare brillantementel’ostacolo.

In particolare, come già evidenziato nel Cap. 3, la costruzione della matrice delproblema può avvenire concettualmente in due passi, all’interno di un ciclo suglielementi della griglia:

1. costruzione della matrice e del termine noto che discretizzano l’operatore diffe-renziale sull’ elemento considerato (matrice e vettore locali);

2. aggiornamento della matrice e del termine noto globali, sfruttando l’additivitàdell’operazione di integrazione.

Vi sono anche approcci diversi al problema: in alcuni casi, la matrice non viene co-struita, ma si calcolano direttamente i suoi effetti nella moltiplicazione per un vettore;per ragioni di spazio qui ci occupiamo dell’approcio più standard.

Come detto, la costruzione della matrice locale viene effettuata operando l’inte-grazione sull’elemento di riferimento K, usando opportune formule di quadratura. Acostruzione effettuata di matrice e termine noto, vengono imposte le condizioni albordo; in particolare, la prescrizione delle condizioni di Dirichlet non usa necessaria-mente la tecnica vista nelle Sez 2.2.2 e 3.4, che consiste nella eliminazione dei gradidi libertà associati a tali condizioni dopo la costruzione del rilevamento.

Page 377: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

368 11 Cenni di programmazione degli elementi finiti

Come si vede, l’assemblaggio è una fase articolata. Nei paragrafi seguenti trattere-mo gli aspetti menzionati, senza tuttavia approfondirli, per ragioni di spazio. Verran-no prima trattate le strutture dati per la codifica delle informazioni geometriche (Sez.11.4.1) e funzionali (Sez. 11.4.2). Il calcolo della mappatura geometrica tra elemen-to di riferimento e elemento corrente fornisce l’occasione per introdurre gli elementiisoparametrici (Sez. 11.4.3). Il calcolo effettivo di matrice e termine noto locali e illoro uso nella costruzione del sistema globale è trattato nella Sez. 11.4.4. Infine, nel-la Sez. 11.4.5 accenniamo ad alcune tecniche implementative per l’imposizione dellecondizioni al bordo.

11.4.1 Codifica delle informazioni geometriche

In termini di strutture dati, la mesh può essere vista come una collezione di elementigeometrici e di informazioni topologiche. Le prime possono essere costruite aggregan-do classi per la definizione di punti (ossia di elementi geometrici zero dimensionali),di spigoli (elementi geometrici 1D), di facce (2D) e infine volumi (3D). Una possibileinterfaccia per la codifica di queste entità geometriche, limitatamente al caso di puntie volumi, è fornita nel Programma 4.

Programma 4 - GeoElements: Classi elementari e aggregate per la costruzione deglienti geometrici

//! Classe per Punti e Verticiclass GeoElement0D

public:GeoElement0D();

GeoElement0D( ID id, Real x, Real y, Real z, bool boundary = false );GeoElement0D & operator = ( GeoElement0D const & g );

;

// Classe per Elementi 3Dtemplate<typename GEOSHAPE>class GeoElement3D

public:

GeoElement3D( ID id = 0 );

typedef GeoElement1D<EdgeShape, MC> EdgeType;typedef GeoElement2D<FaceShape, MC> FaceType;typedef GeoElement0D PointType;typedef FaceType GeoBElement;//! Numero di Vertici per elementostatic const UInt numLocalVertices;

Page 378: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.4 La fase di assemblaggio 369

//! Numero di Facce per elementostatic const UInt numLocalFaces;//! Numero di spigoli per elemento (regola di Eulero)static const UInt numLocalEdges;

;

La classe per la definizione delle entità geometriche, che qui viene presentata in unaforma significativamente semplificata rispetto a quella di LifeV, fornisce metodi (chenon riportiamo per ragioni di spazio) che consentano di interrogare (query) la strutturaper ricavare informazioni di interesse, quali l’identificatore all’interno di una lista o gliidentificatori di entità geometriche adiacenti. Questo è molto importante nel definirela connessione della mesh e, dunque, il pattern della matrice.

La definizione di tipi standard per le entità geometriche (indicate con il terminedi GEOSHAPE nel codice precedente) può essere fatta mediante l’introduzione diopportune classi che indichino la struttura geometrica di cui si compongono i volumidella mesh. Ad esempio, nel Programma 5 indichiamo la classe per i tetraedri.

Programma 5 - Tetra: Classe per la codifica di elementi tetraedrici

class Tetra

public:static const ReferenceShapes Shape = TETRA;static const ReferenceGeometry Geometry = VOLUME;static const UInt nDim = 3;static const UInt numVertices = 4;static const UInt numFaces = 4;static const UInt numEdges = numFaces + numVertices - 2;

;

Partendo da queste classi di base, una mesh sarà una classe per collezionare glielementi. In realtà, alla struttura geometrica è giocoforza aggiungere:

1. informazioni topologiche che permettano la caratterizzazione degli elementi nel-la griglia, ossia la connettività fra i nodi, rispetto ad una numerazione conven-zionale degli stessi. La convenzione per i possibili elementi presente in LifeV èdata in Fig. 11.5; per poter “visitare” in modo efficiente gli elementi di una gri-glia, si possono aggiungere anche informazioni sugli elementi adiacenti ad ognielemento;

2. informazioni specifiche che permettono la localizzazione dei gradi di libertà chesono sul bordo; questo semplifica le gestione della prescrizione delle condizionidi bordo; osserviamo che tipicamente si associa ad ogni elemento geometrico dibordo un indicatore che poi verrà associato ad una specifica condizione al bordo.

A partire dalla classe di riferimento geometrica, si codificano poi gli elemen-ti geometrici correnti, secondo le possibili mappature trattate nella Sez. 11.4.3. Adesempio, se la mappatura è di tipo affine, si ottengono tetraedri lineari, indicati nelProgramma 6.

Page 379: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

370 11 Cenni di programmazione degli elementi finiti

Programma 6 - LinearTetra: Classe per la codifica di tetraedri ottenuti pertrasformazione geometrica affine dell’elemento di riferimento

class LinearTetra:public Tetra

public:typedef Tetra BasRefSha;typedef LinearTriangle GeoBShape;static const UInt numPoints = 4;static const UInt nbPtsPerVertex = 1;static const UInt nbPtsPerEdge = 0;static const UInt nbPtsPerFace = 0;static const UInt nbPtsPerVolume = 0;

;

A questo punto, il codice con parte della classe che identifica la mesh è nel Pro-gramma 7

Programma 7 - RegionMesh3D: Classe per la memorizzazione di una mesh 3D

template<typename GEOSHAPE>class RegionMesh3D

public:explicit RegionMesh3D();

//Definizione dei profili di basetypedef GEOSHAPE VolumeShape;typedef typename GEOSHAPE::GeoBShape FaceShape;typedef typename FaceShape::GeoBShape EdgeShape;

// Enti geometricitypedef GeoElement3D<GEOSHAPE> VolumeType;typedef GeoElement2D<FaceShape> FaceType;typedef GeoElement1D<EdgeShape> EdgeType;typedef GeoElement0D PointType;

//Vettore dei puntitypedef SimpleVect<PointType> Points;//Vettore dei volumitypedef SimpleVect<VolumeType > Volumes;//Vettore delle facce di bordotypedef SimpleVect<FaceType> Faces;//Vettore degli spigolitypedef SimpleVect<EdgeType> Edges;

typedef GEOSHAPE ElementShape;typedef typename GEOSHAPE::GeoBShape BElementShape;typedef GeoElement3D<GEOSHAPE> ElementType;

Page 380: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.4 La fase di assemblaggio 371

typedef GeoElement2D<FaceShape> BElementType;

typedef SimpleVect<VolumeType > Elements;

Points _pointList;Volumes volumeList;Faces faceList;Edges edgeList;

UInt numLocalVertices() const; //Numero di vertici per elementoUInt numLocalFaces() const; //Numero di facce per elementoUInt numLocalEdges() const; //Numero di spigoli per elementoUInt numLocalEdgesOfFace() const; //Numero di spigoli per faccia

UInt numElements() const; //Numero totale di volumiUInt & numElements();UInt numBElements() const; //Numero di elementi al bordo (=facce)UInt & numBElements();ElementType & element( ID const & i );ElementType const & element( ID const & i ) const;BElementType & bElement( ID const & i );BElementType const & bElement( ID const & i ) const;

;

Il vettore di elementi geometrici di tipo “volume” dichiarato in Volumes volumeListconterrà ad esempio la lista dei vertici che definiscono ogni tetraedro della mesh,nell’ordine convenzionale stabilito e indicato in Fig. 11.5.

La costruzione di un contenitore per una mesh di tetraedri affini verrà effettuatamediante l’istruzione

RegionMesh3D<LinearTetra> aMesh;

cui seguirà la lettura della Mesh per riempire effettivamente i vettori di volumi, facce,spigoli e punti previsti in RegionMesh3D.

Per quanto riguarda i formati di un file di mesh, non esiste uno standard accetta-to universalmente. Tipicamente, ci si aspetta che un tale file contenga le coordinatedei vertici, la connettività che associa i vertici agli elementi geometrici e la lista deglielementi di bordo con relativo indicatore da usare per la definizione delle condizio-ni di bordo. I valori delle condizioni al bordo, invece, sono generalmente assegnatiseparatamente.

Osservazione 11.2 I problemi multi-fisica o multi-modello stanno diventando unacomponente rilevante del calcolo scientifico: si pensi ad esempio ai problemi di in-terazione fluido-struttura o di accoppiamento (talvolta in chiave adattiva) di probleminei quali il modello differenziale completo (e computazionalmente più costoso) vengausato solo in una regione di specifico interesse, accoppiandolo con modelli più sem-plici nelle rimanenti regioni. Queste applicazioni e, più in generale, la necessità disviluppare algoritmi di calcolo di tipo parallelo, hanno motivato lo sviluppo di tecni-che di risoluzione dei problemi differenziali mediante decomposizione dei domini. Il

Page 381: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

372 11 Cenni di programmazione degli elementi finiti

lettore interessato può consultare ad esempio [QV99], [TW05]. In questo caso, la me-sh risultante è la collezione delle mesh dei sottodomini, unitamente alle informazionitopologiche circa le interfacce fra sottodomini. In questo testo, per semplicità, faremocomunque sempre riferimento a problemi a un solo dominio. •

11.4.2 Codifica delle informazioni funzionali

Come visto nel Cap. 3, la definizione delle funzioni di base viene effettuata su unelemento di riferimento. Ad esempio, per i tetraedri, questo elemento coincide conil simplesso unitario (vedi Fig. 11.5). La codifica di un elemento di riferimento avràessenzialmente puntatori a funzioni per la determinazione delle funzioni di base e delleloro derivate. Inoltre, potrà essere arricchita da un puntatore alla formula di quadraturausata nel calcolo degli integrali (vd. Sez. 11.2), come nel Programma 8.

Programma 8 - RefEle: Classe per la memorizzazione delle informazioni funzionalisull’elemento di riferimento

class RefEle

protected:const Fct* _phi; //Puntatore alle funzioni di baseconst Fct* _dPhi;//Puntatore alle derivate delle funzioni di baseconst Fct* _d2Phi;////Puntatore allee derivate seconde delle funzioni di baseconst Real* _refCoor; //Coord di Riferimento: xi_1,eta_1,zeta_1,xi_2,eta_2,zeta_2,...const SetOfQuadRule* _sqr; //Puntatore all’insieme di formule di quadratura

public:const std::string name; //Nome dell’elemento di riferimentoconst ReferenceShapes shape; //Forma geometrica dell’elementoconst int nbDof; //Numero totale di gradi di libertàconst int nbCoor; //Numero di coordinate locali

;

Nel codice 9 riportiamo le funzioni per la definizione di elementi finiti lineari sutetraedro. Per ragioni di spazio riportiamo solo la codifica di alcune delle derivateprime.

Programma 9 - fctP13D: Funzioni di base per un elemento tetraedrico lineare

Real fct1_P1_3D( cRRef x, cRRef y, cRRef z )return 1 -x - y - z;Real fct2_P1_3D( cRRef x, cRRef, cRRef )return x;Real fct3_P1_3D( cRRef, cRRef y, cRRef )return y;Real fct4_P1_3D( cRRef, cRRef, cRRef z )return z;

Real derfct1_1_P1_3D( cRRef, cRRef, cRRef )return -1;Real derfct1_2_P1_3D( cRRef, cRRef, cRRef )return -1;...

Page 382: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.4 La fase di assemblaggio 373

Una volta instanziato l’elemento di riferimento, le informazioni funzionali saranno di-sponibili sia per la rappresentazione della soluzione che per la definizione della map-patura geometrica fra elemento di riferimento e elemento corrente, come vediamonella sezione che segue.

Avendo definito l’elemento geometrico e il tipo di elementi finiti che vogliamousare, siamo ora in grado di costruire i gradi di libertà del problema. Ciò significa as-segnare ad ogni elemento della mesh la numerazione dei gradi di libertà che giaccionosull’elemento e il pattern della matrice locale; quest’ultima è generalmente piena,anche se può comunque contenere elementi nulli.

Un grado di libertà può avere bisogno di informazioni aggiuntive quali, nel casodi elementi finiti Lagrangiani, le coordinate del nodo corrispondente sull’elemento diriferimento.

11.4.3 Mappatura tra elemento di riferimento e elemento fisico

Nel Cap.3 si è visto come sia vantaggioso scrivere le funzioni di base, le formuledi quadratura e, dunque, svolgere il calcolo degli integrali ripetto a un elemento diriferimento. Può essere pertanto interessante esaminare alcuni metodi pratici per lacostruzione e la codifica di tale cambio di coordinate. Per maggiori dettagli, riman-diamo a [Hug00]. Limitiamoci per ora a considerare il caso di elementi triangolari etetraedrici.

Un primo tipo di trasformazione di coordinate è quello affine. In sostanza, la map-patura fra x e x è esprimibile tramite una matrice B e un vettore c (vd. Sez.3.4.3 eFig. 11.6):

x = Bx + c. (11.3)

P0

P1

P2

P3

x

y

z

Figura 11.6. Mappatura fra il tetraedro di riferimento e quello corrente. A destra in alto, unamappatura di tipo affine; a destra in basso, una mappatura di tipo quadratico

Page 383: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

374 11 Cenni di programmazione degli elementi finiti

In questo modo, si ha banalmente che J = B (costante su ciascun elemento).Se la distribuzione di nodi generata dal reticolatore è corretta, il determinante di Jè sempre positivo, cosa che garantisce che non vi siano casi degeneri (ad esempioquattro vertici di un tetraedro complanari) e che non vi sono permutazioni scorrette neinodi corrispondenti nella mappatura. L’espressione di B e c si ricava dall’espressionedelle coordinate dei nodi. Supponiamo infatti che i nodi numerati localmente 1,2,3,4del tetraedro di riferimento corrispondano rispettivamente ai nodi della mesh numeraticon i, k, l, m.

Si ha allora:⎧⎪⎪⎨⎪⎪⎩xi = c1 yi = c2 yi = c3xk = b11 + xi yk = b12 + yi zk = b13 + yixl = b21 + xi yl = b22 + yi zl = b23 + yixm = b31 + xi ym = b32 + yi zm = b33 + yi

(11.4)

da cui ri ricavano le espressioni di B e c.Esiste, tuttavia, un modo più efficace di rappresentare la trasformazione: essendo

lineare elemento per elemento, essa può essere rappresentata tramite le funzioni dibase degli elementi finiti Lagrangiani lineari. Infatti, si può scrivere:

x =

3∑j=0

Xj ϕj(x, y, z), y =

3∑j=0

Yjϕj(x, y, z), z =

3∑j=0

Zj ϕj(x, y, z). (11.5)

Gli elementi della matrice Jacobiana della trasformazione si calcolano immediatamen-te:

J =

⎡⎢⎢⎢⎢⎢⎢⎢⎣

4∑j=1

Xj∂ϕj∂x

4∑j=1

Xj∂ϕj∂y

4∑j=1

Xj∂ϕj∂z

4∑j=1

Yj∂ϕj

∂x

4∑j=1

Yj∂ϕj

∂y

4∑j=1

Yj∂ϕj

∂z4∑j=1

Zj∂ϕj∂x

4∑j=1

Zj∂ϕj∂y

4∑j=1

Zj∂ϕj∂z

⎤⎥⎥⎥⎥⎥⎥⎥⎦. (11.6)

Quando in un elemento finito Lagrangiano le stesse funzioni di base vengono usateper la definizione della mappa geometrica, si parla di elementi iso-parametrici (vd.Fig. 11.6 e 11.7). Ovviamente, la coincidenza vale per il fatto di avere scelto ele-menti finiti lineari e trasformazioni geometriche affini. Quando si prendono in con-siderazione elementi finiti di grado maggiore di 1, possiamo considerare due tipi dimappature:

– elementi finiti affini: in questo caso, la trasformazione geometrica è descritta an-cora dalle trasformazioni affini (11.5), anche se l’informazione funzionale relativaalla soluzione è descritta da funzioni quadratiche o di grado più elevato; il bordodel dominio discretizzato Ωh, in questo caso, è sempre poligonale (poliedrico);

– elementi finiti isoparametrici: la trasformazione geometrica è descritta dalle stessefunzioni di base usate per rappresentare la soluzione; pertanto gli elementi nellospazio fisico Oxyz avranno in generale lati curvi.

Page 384: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.4 La fase di assemblaggio 375

y

x

P0 P1

P2P3

Figura 11.7. Mappatura fra il quadrilatero di riferimento e l’elemento corrente: affine (in alto),isoparametrico (in centro), ibrido (in basso). Quest’ultimo viene costruito con 5 nodi, in mododa poter avere una trasformazione biquadratica per i nodi di un solo lato

La definizione di una mappatura quadratica a partire dall’elemento di riferimen-to tetraedrico, consente ad esempio la creazione di elementi geometrici quadraticitetraedrici, codificati nella classe QuadraticTetra riportata nel Programma 10.

Programma 10 - QuadraticTetra: Classe per la definzione di elementi tetraedriciquadratici

class QuadraticTetra: public Tetra

public:typedef Tetra BasRefSha;typedef QuadraticTriangle GeoBShape;static const UInt numPoints = 10;static const UInt nbPtsPerVertex = 1;static const UInt nbPtsPerEdge = 1;static const UInt nbPtsPerFace = 0;static const UInt nbPtsPerVolume = 0;

;

Stabilito il tipo di elemento di riferimento e le mappature geometriche, è possibi-le costruire la collezione degli elementi “correnti”. L’elemento corrente può esserecodificato come nel Programma 11.

Page 385: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

376 11 Cenni di programmazione degli elementi finiti

Programma 11 - CurrentFE: Classe per la definizione dell’elemento corrente

class CurrentFE

private:void _comp_jacobian();void _comp_jacobian_and_det();void _comp_inv_jacobian_and_det();void _comp_quad_point_coor();

template <class GEOELE>void _update_point( const GEOELE& geoele );

//! compute phiDervoid _comp_phiDer();//! compute the second derivative phiDer2void _comp_phiDer2();//! compute phiDer and phiDer2void _comp_phiDerDer2();

UInt _currentId;public:

CurrentFE( const RefFE& _refFE, const GeoMap& _geoMap, const QuadRule& _qr );const int nbGeoNode;const int nbNode;const int nbCoor;const int nbQuadPt;const int nbDiag;const int nbUpper;const int nbPattern;const RefFE& refFE;const GeoMap& geoMap;const QuadRule& qr;

;

La classe contiene, come si vede, le informazioni relative all’elemento di riferimen-to, alla mappatura geometrica che lo genera e alla formula di quadratura che verràultilizzata per il calcolo degli integrali.

In particolare, la (11.6) si rivela molto efficace in fase di codifica, che riportiamonel Codice 12. Va notato come il calcolo dello jacobiano venga effettuato nei nodi diquadratura richiesti per il calcolo degli integrali (Sez. 11.2).

Page 386: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.4 La fase di assemblaggio 377

Programma 12 - comp-jacobian: Membro della classe che memorizza gli elemen-ti correnti che calcola lo jacobiano della trasformazione fra elemento corrente e diriferimento

void CurrentFE::_comp_jacobian()

Real fctDer;// derivate dei GeoMap:for ( int ig = 0;ig < nbQuadPt;ig++ )

for ( int icoor = 0;icoor < nbCoor;icoor++ )

for ( int jcoor = 0;jcoor < nbCoor;jcoor++ )

fctDer = 0.;for ( int j = 0;j < nbGeoNode;j++ )

fctDer += point( j, icoor ) * dPhiGeo( j, jcoor, ig );

jacobian( icoor, jcoor, ig ) = fctDer;

Nel caso di elementi quadrilateri e prismatici, molti concetti visti possono essere este-si, facendo riferimento ad esempio a mappe bilineari o biquadratiche. Risulta tuttaviapiù complesso garantire l’invertibilità della mappatura: per maggiori dettagli, si veda[FSV05].

Vi sono casi in cui può essere utile usare elementi finiti che siano di grado diversorispetto a diverse coordinate. Questo è possibile in particolare con griglie quadrila-tere strutturate, in cui si può costruire un elemento in cui su uno dei lati si abbia unpolinomio biquadratico, mentre sugli altri lati si hanno polinomi bilineari. Nel casodi una codifica isoparametrica della mappatura geometrica, questo porta ad avere, adesempio, elementi quadrilateri con tre lati diritti e uno curvo. A questo proposito, se-gnaliamo che in [Hug00], Cap. 3 viene riportata l’implementazione “incrementale” diun elemento quadrilatero che, a partire da una base bilineare a 4 nodi, viene arricchitodi altri gradi di libertà fino all’elemento biquadratico a 9 nodi.

11.4.4 La costruzione dei sistemi locali e di quello globale

Questa fase è il cuore della costruzione della discretizzazione degli operatori dif-ferenziali. Prendiamo come esempio il codice in Programma 13, che costruisce ladiscretizzazione dell’equazione differenziale μ�u+ σu = f .

L’operazione complessiva si articola in un ciclo sugli elementi della mesh aMesh.Dopo l’azzeramento della matrice e del vettore elementari, queste strutture vengonoriempite in modo incrementale, prima con la discretizzazione dell’operatore di stiff-ness (diffusione) e poi con quello di massa (reazione). La subroutine source si occupadel vettore termine noto locale. Successivamente, le subroutine assemb si occupano diaggiornare il calcolo nella matrice globale, come già indicato in Fig. 11.2.

Page 387: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

378 11 Cenni di programmazione degli elementi finiti

In questa fase, per non dover verificare se un grado di libertà è di bordo mediantesalti condizionati all’interno del ciclo, non si tiene conto delle condizioni al bordo.

Programma 13 - assemble: Codice per l’assemblaggio della discretizzazione di unproblema di diffusione e reazione μ�u+ σu = f , dove f è indicata da sourceFct

Real mu=1., sigma=0.5;ElemMat elmat(fe.nbNode,1,1);ElemVec elvec(fe.nbNode,1);for(UInt i = 1; i<=aMesh.numVolumes(); i++)

fe.updateFirstDerivQuadPt(aMesh.volumeList(i));//<- calcola le informazioni necessarie per l’integrazione numerica

elmat.zero();elvec.zero();stiff(mu,elmat,fe);mass(sigma,elmat,fe);source(sourceFct,elvec,fe,0);assemb_mat(A,elmat,fe,dof,0,0);assemb_vec(F,elvec,fe,dof,0);

Vediamo in dettaglio separatamente la possibile implementazione del calcolo locale edell’aggiornamento globale.

Il calcolo delle matrici locali. Il programma 14 riporta le implementazioni del calcolodella matrice locale dell’operatore di diffusione e del termine noto.

In particolare, si assemblano dapprima i contributi diagonali e poi quella extra-diagonali della matrice locale, effettuando un ciclo sui nodi di quadratura. L’operazio-ne “nucleo” del ciclo sarà:

s += fe.phiDer( iloc, icoor, ig ) * fe.phiDer( jloc, icoor, ig )* fe.weightDet( ig )*coef;

L’istruzione

mat( iloc, jloc ) += s;

aggiorna il termine i, j della matrice locale in modo incrementale: alla chiamata dellasuccessiva subroutine mass(), il contributo dell’operatore di reazione si sommerà aquello già calcolato.

In modo simile si agisce in source per il calcolo del vettore locale dei termini noti.

Programma 14 - stiff-source: Subroutines per il calcolo dell’operatore di derivataseconda e del termine noto a livello locale

void stiff( Real coef,ElemMat& elmat, const CurrentFE& fe,const Dof& dof,const ScalUnknown<Vector>& U,Real t)

Page 388: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.4 La fase di assemblaggio 379

int iblock=0,jblock=0;ElemMat::matrix_view mat = elmat.block( 0,0 ); //inizializzazione matrice localeint iloc, jloc, i, icoor, ig, iu;double s, coef_s, x, y, z;ID eleId=fe.currentId();

// Elementi diagonalifor ( i = 0;i < fe.nbDiag;i++ )

iloc = fe.patternFirst( i );s = 0;for ( ig = 0;ig < fe.nbQuadPt;ig++ ) // integrazione numerica

fe.coorQuadPt(x,y,z,ig);// definizione della formula di quadraturafor ( icoor = 0;icoor < fe.nbCoor;icoor++ ) // ‘‘core’’ dell’assemblaggios += fe.phiDer( iloc, icoor, ig ) * fe.phiDer( iloc, icoor, ig )

* fe.weightDet( ig )*coef(t,x,y,z,uPt);

mat( iloc, iloc ) += s;

// Elementi extra-diagonalifor ( i = fe.nbDiag;i < fe.nbDiag + fe.nbUpper;i++ )

iloc = fe.patternFirst( i );jloc = fe.patternSecond( i );s = 0;for ( ig = 0;ig < fe.nbQuadPt;ig++ )

fe.coorQuadPt(x,y,z,ig);for ( icoor = 0;icoor < fe.nbCoor;icoor++ )

s += fe.phiDer( iloc, icoor, ig ) * fe.phiDer( jloc, icoor, ig ) *fe.weightDet( ig )*coef;

coef_s = s;mat( iloc, jloc ) += coef_s; //aggiornamento matrice localemat( jloc, iloc ) += coef_s; // in modo incrementale// si ricordi che l’operatore in oggetto e’ SIMMETRICO!

void source( Real (*fct)(Real,Real,Real,Real,Real),ElemVec& elvec, const CurrentFE& fe,const Dof& dof,const ScalUnknown<Vector>& U,Real t)

int iblock=0;int i, ig;ElemVec::vector_view vec = elvec.block( iblock );Real s;ID eleId=fe.currentId();int iu;

Page 389: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

380 11 Cenni di programmazione degli elementi finiti

for ( i = 0;i < fe.nbNode;i++ )

s = 0.0;for ( ig = 0;ig < fe.nbQuadPt;ig++ )

s += fe.phi( i, ig ) *fct(t, fe.quadPt( ig, 0 ),fe.quadPt( ig, 1 ),fe.quadPt( ig, 2 )) *

fe.weightDet( ig );

vec( i ) += s; //calcolo del termine noto

L’aggiornamento della matrice globale. Il Programma 15 contiene l’aggiornamen-to della matrice globale a partire da quelle locali. Il punto cruciale è l’identificazionedella posizione dei nodi che fanno parte dell’elemento corrente sul quale è appenastata calcolata la matrice locale nell’ambito della matrice globale. Questa operazio-ne viene fatta consultando le Tabelle dof.localToGlobal che contengono questo tipo diinformazione.

Per l’aggiornamento del termine noto si effettua un’operazione simile. Ovviamen-te, l’additività dell’integrale richiede che l’operazione venga effettuata, aggiungen-do via via i vari contributi: questo spiega il += nell’aggiornamento del vettore (checorrisponde a V[ig]=V[ig]+ vec( i ) e all’analogo in M.setmatinc che sta per set matrixincrementally.

Programma 15 - assemb: Assemblaggio della matrice globale e del termine noto

template <typename Matrix, typename DOF>voidassemb_mat( Matrix& M, ElemMat& elmat, const CurrentFE& fe, const DOF& dof)

ElemMat::matrix_view mat = elmat.block(0,0);UInt totdof = dof.numTotalDof();int i, j, k;UInt ig, jg;UInt eleId = fe.currentId();for ( k = 0 ; k < fe.nbPattern ; k++ )

i = fe.patternFirst( k );j = fe.patternSecond( k );ig = dof.localToGlobal( eleId, i + 1 ) - 1;jg = dof.localToGlobal( eleId, j + 1 ) - 1;M.set_mat_inc( ig, jg, mat( i, j ) );

template <typename DOF, typename Vector, typename ElemVec>voidassemb_vec( Vector& V, ElemVec& elvec, const CurrentFE& fe, const DOF& dof)

UInt totdof = dof.numTotalDof();typename ElemVec::vector_view vec = elvec.block( iblock );

Page 390: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.4 La fase di assemblaggio 381

int i;UInt ig;UInt eleId = fe.currentId();for ( i = 0 ; i < fe.nbNode ; i++ )

ig = dof.localToGlobal( eleId, i + 1 ) - 1;V[ ig ] += vec( i );

11.4.5 La prescrizione delle condizioni al bordo

La necessità di memorizzare in modo efficiente matrici sparse deve essere conciliatacon la necessità di accedere e manipolare la matrice stessa, come abbiamo già avu-to modo di osservare per il formato MSR modificato, ad esempio nella fase di im-posizione delle condizioni al bordo. In un codice ad elementi finiti la matrice vienetipicamente assemblata ignorando le condizioni al bordo, per non dover introdurresalti condizionati all’interno del ciclo di assemblaggio. Le condizioni al bordo ven-gono poi introdotte modificando il sistema algebrico. L’imposizione di condizioni ditipo Neumann e Robin si traduce essenzialmente nel calcolo di opportuni integrali dibordo (o, nei casi monodimensionali, di valori valutati al bordo). Ad esempio, il Pro-gramma 16 implementa il calcolo degli integrali su superficie per le condizioni di tipoNeumann specificate dalla funzione Bcb. L’integrale comporta l’uso di una formula diquadratura opportuna che consente l’aggiornamento del termine noto b. La strutturabdLocalToGlobal consente di trasferire l’informazione per ogni elemento di bordo cheabbia gradi di libertà di Neumann al termine noto globale.

Programma 16 - BcNaturalManage: Subroutine per la gestione di condizioni al bordodi Neumann

template <typename VectorType, typename MeshType, typename DataType>void bcNaturalManage( VectorType& b, const MeshType& mesh, const Dof& dof, const BC-Base& BCb, CurrentBdFE& bdfem, const DataType& t )

UInt nDofF = bdfem.nbNode;UInt totalDof = dof.numTotalDof();UInt nComp = BCb.numberOfComponents();

const IdentifierNatural* pId;ID ibF, idDof, icDof, gDof;Real sum;

DataType x, y, z;// Ciclo sui tipi di condizioni al bordofor ( ID i = 1; i <= BCb.list_size(); ++i )

pId = static_cast< const IdentifierNatural* >( BCb( i ) );

Page 391: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

382 11 Cenni di programmazione degli elementi finiti

// Numero della faccia di bordo correnteibF = pId->id();

// definizione delle informazioni sulla facciabdfem.updateMeas( mesh.boundaryFace( ibF ) );

// Ciclo sui gradi di liberta per facciafor ( ID idofF = 1; idofF <= nDofF; ++idofF )

// Ciclo sulle componenti della incognita coinvoltefor ( ID j = 1; j <= nComp; ++j )

//Dof globaleidDof = pId->bdLocalToGlobal( idofF ) + ( BCb.component( j ) - 1 ) * totalDof;

// Ciclo sui nodi di quadraturafor ( int l = 0; l < bdfem.nbQuadPt; ++l )

bdfem.coorQuadPt( x, y, z, l ); // quadrature point coordinates// Contributo nel termine notob[ idDof - 1 ] += bdfem.phi( int( idofF - 1 ), l ) * BCb( t, x, y, z, BCb.component( j ) ) *bdfem.weightMeas( l );

Più complessa è la gestione delle condizioni al bordo di tipo Dirichlet o essenziale(vd. Fig. 11.2). Vi sono varie strategie per questa operazione, alcune delle quali sonotrattate in [FSV05]. L’approccio più coerente a quanto indicato dalla teoria consistenella eliminazione dal sistema ottenuto in assemblaggio delle righe e colonne relativea nodi associati a condizioni al bordo di Dirichlet, correggendo il termine noto usan-do i valori del dato di Dirichlet che si vuole imporre. Di fatto, questo coincide conl’operazione di rilevamento del dato al bordo mediante una funzione polinomiale apezzi del grado scelto per gli elementi finiti con cui si approssima il problema e il cuisupporto è limitato al solo strato di elementi della triangolazione che si affacciano sulbordo (si veda la Fig. 3.10 del Cap. 11.4).

Questo modo di procedere ha il vantaggio di ridurre la dimensione del problemaal numero effettivo dei gradi di libertà, tuttavia la sua implemenazione pratica è pro-blematica. Infatti, mentre per problemi 1D l’ordinamento naturale dei gradi di libertàfa sì che le righe e colonne eventualmente da eliminare siano sempre e solo la primae l’ultima, per problemi in più dimensioni si tratta di eliminare righe e colonne la cuinumerazione può essere arbitraria, operazione non facile da gestire in modo efficiente.Va anche osservato che questa operazione modifica in modo sostanziale il pattern del-la matrice e questo può essere sconveniente se lo si volesse condividere tra più matricial fine di risparmiare memoria. Per questo motivo, si preferisce considerare la condi-zione di Dirichlet da imporre nel generico nodo kD come un’equazione della formaukD = gkD da sostituire alla kD-esima riga del sistema originario. Per evitare di mo-dificare il pattern della matrice questa sostituzione viene eseguita ponendo a zero glielementi extra-diagonali della riga, tranne quello diagonale, che viene posto uguale a1 e il termine noto viene posto pari a gkD .

Questa operazione richiede un accesso alla matrice solo per righe, per cui value ebindx basterebbero. Tuttavia, così facendo si compromette l’eventuale simmetria della

Page 392: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.4 La fase di assemblaggio 383

Figura 11.8. Effetti del trattamento delle condizioni di Dirichlet su un caso reale di una griglia3D mediante azzeramento degli elementi extra-diagonali di righe e colonne associate a gradi dilibertà di Dirichlet: a sinistra prima dell’imposizione delle condizioni al bordo, a destra dopo

matrice. Per conservarla (al fine ad esempio di poter utilizzare il gradiente coniugatocome metodo iterativo di soluzione, o poter eseguire una decomposizione di Cholesky)occorre modificare anche le colonne della matrice e il termine noto.

A tal fine, si può pensare di modificare anche la kD-esima colonna ponendone azero gli elementi (escluso quello diagonale) ed aggiornando il termine noto in modoappropriato. Da un punto di vista implementativo, in sostanza l”’eliminazione” deigradi di libertà di Dirichlet viene sostituita da una alterazione dei coefficienti dellamatrice che ne lascia però inalterato il pattern. Per essere effettuata, richiede un ac-cesso agevole alle matrici anche per colonne che, come si è visto, viene consentito dalvettore bindy.

Gli effetti della imposizione delle condizioni al bordo mediante questo approcciosono evidenti in Fig. 11.8. Una possibile implementazione di questa tecnica è riportatanel Programma 17.

Programma 17 - diagonalize: Trattamento delle condizioni al bordo di Dirichlet me-diante annullamento dei coefficienti extra-diagonali di righe e colonne associati acondizioni di Dirichlet

template <typename DataType>voidMSRMatr<DataType>::diagonalize( UInt const r, std::vector<DataType> &b,

DataType datum )

_value[r] = 1.;

UInt istart = *( _Patt->give_bindx().begin() + r);UInt iend = *( _Patt->give_bindx().begin() + r + 1);

Page 393: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

384 11 Cenni di programmazione degli elementi finiti

typename std::vector<DataType>::iterator start = _value.begin() + istart;typename std::vector<DataType>::iterator end = _value.begin() + iend;UInt disp = _Patt->nRows() + 1;UInt row, col;

transform( start, end, start, zero );

for ( UInt i = istart;i < iend;++i )

row = _Patt->give_bindx() [ i ];col = _Patt->give_bindy() [ i - disp ];b[ row ] -= _value[ col ] * datum;_value[ col ] = 0.;

b[ r ] = datum;

return ;

11.5 L’integrazione in tempo

Fra i tanti metodi per effettuare l’integrazione in tempo, nei Capitoli precedenti si èanalizzato il θ metodo, ma si è fatto cenno anche a numerosi altri metodi, in particolareai BDF (Backward Difference Formulas) implementati in LifeV. Una loro introduzionesi trova in [QSS08]. Qui ne richiamiamo brevemente gli aspetti di base.

Dato il sistema di equazioni differenziali ordinarie:

Mdu

dt= f −Au

e il dato iniziale associato u(t = 0) = u0, un metodo BDF è un metodo multistepimplicito nella forma:

α0Δt

MUn+1 + AUn+1 = fn+1 +

p∑j=1

αjΔtUn+1−j, (11.7)

per opportuni p ≥ 1, ove i coefficienti sono determinati in modo che:

∂U

∂t|t=tn+1 =

α0ΔtUn+1 −

p∑j=1

αjΔtUn+1−j +O(Δtp).

Nella Tabella 11.3 (a sinistra) vengono riportati i coefficienti per p = 1 (metodo diEulero implicito), p = 2, 3.

Nel caso in cui la matrice A sia funzione di u, ossia nel caso in cui il problema(11.7) sia non lineare, i metodi BDF, essendo impliciti, possono risultare molto co-stosi, richiedendo ad ogni basso temporale la risoluzione del sistema algebrico non

Page 394: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.5 L’integrazione in tempo 385

Tabella 11.3. Coefficienti αi per i metodi BDF (p = 1, 2, 3) e coefficienti βi perl’estrapolazione in tempo

p α0 α1 α2 α3 β0 β1 β21 1 1 - - 1 - -2 3/2 2 -1/2 - 2 -1 -3 11/6 3 -3/2 1/3 3 -3 1

lineare inUn+1

α0

ΔtMUn+1 +A(Un+1)Un+1 = fn+1 +

p∑j=1

αj

ΔtUn+1−j.

Una possibile soluzione di compromesso che riduce significativamente i costi compu-tazionali, senza tuttavia passare a un metodo completamente esplicito (le cui proprietàdi stabilità in generale possono essere insoddisfacenti) è quello di risolvere il sistemalineare:

α0

ΔtMUn+1 + A(U∗)Un+1 = fn+1 +

p∑j=1

αj

ΔtUn+1−j.

ove U∗ approssima Un+1 usando le soluzioni note dai passi precedenti. In sostanzasi pone:

U∗ =p∑j=0

βjUn−j = Un+1 +O(Δtp),

per opportuni coefficienti di “estrapolazione” βj . L’obiettivo è quello di ridurre i co-sti computazionali senza ridurre in modo drammatico la regione di assoluta stabilitàdello schema implicito né l’accuratezza complessiva dello schema di avanzamento intempo. La Tabella 11.3 riporta a destra i coefficienti βj .

La codifica di un integratore in tempo di tipo BDF a questo punto può esseredunque effettuata mediante una opportuna classe, riportata nel Programma 18, i cuimembri sono:

1. l’indicatore dell’ordine p che dimensiona anche i vettori α e β;2. i vettoriα e β;3. la matrice unknowns data dall’accostamento dei vettori Un,Un−1, . . .Un+1−p.

La dimensione di ciscun vettore, ossia il numero di righe di questa matrice (cheha p colonne) viene memorizzata in un indice size.

Una volta assemblate le matrici A e M , l’avanzamento in tempo verrà effettuato

calcolando la matriceα0Δt

M +A, il termine noto fn+1+p∑j=1

αjΔtUn+1−j e risolvendo

il sistema (11.7). In particolare, nella implementazione presentata nel codice 18, la

funzione time der calcola il terminep∑j=1

αjΔtUn+1−j accedendo al vettore α e alla

matrice unknowns. Nel caso in cui il problema sia non lineare si può ricorrere al vettoreβ tramite la funzione extrap().

Page 395: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

386 11 Cenni di programmazione degli elementi finiti

Dopo aver calcolata la soluzione al nuovo passo temporale, la matrice unknownsdeve “farle posto”, spostando a destra tutte le sue colonne, in modo che la primacolonna sia la soluzione appena calcolata. Questa operazione è gestita dalla funzioneshift right, che sostanzialmente copia la penultima colonna di unknowns nell’ultima, laterzultima nella penultima e così via fino a liberare la prima colonna per memorizzarvila soluzione appena calcolata.

Programma 18 - Bdf: Classe di base per la costruzione di metodi di integrazione intempo di tipo Bdf

class Bdf

public:Bdf( const UInt p );~Bdf();void initialize_unk( Vector u0 );void shift_right( Vector const& u_curr );

Vector time_der( Real dt ) const;Vector extrap() const;double coeff_der( UInt i ) const;double coeff_ext( UInt i ) const;const std::vector<Vector>& unk() const;void showMe() const;

private:UInt _M_order;UInt _M_size;Vector _M_alpha;Vector _M_beta;std::vector<Vector> _M_unknowns;

;

Bdf::Bdf( const UInt p ):_M_order( p ),_M_size( 0 ),_M_alpha( p + 1 ),_M_beta( p )

if ( n <= 0 || n > BDF_MAX_ORDER )

// Gestione dell’errore per aver richiesto un ordine sbagliato// o non implementato

switch ( p )

Page 396: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.6 Ed ora consideriamo un esempio completo 387

case 1:_M_alpha[ 0 ] = 1.; // Eulero implicito_M_alpha[ 1 ] = 1.;_M_beta[ 0 ] = 1.; // u al tempo n+1 approssimato da u al tempo nbreak;

case 2:_M_alpha[ 0 ] = 3. / 2.;_M_alpha[ 1 ] = 2.;_M_alpha[ 2 ] = -1. / 2.;_M_beta[ 0 ] = 2.;_M_beta[ 1 ] = -1.;break;

case 3:_M_alpha[ 0 ] = 11. / 6.;_M_alpha[ 1 ] = 3.;_M_alpha[ 2 ] = -3. / 2.;_M_alpha[ 3 ] = 1. / 3.;_M_beta[ 0 ] = 3.;_M_beta[ 1 ] = -3.;_M_beta[ 2 ] = 1.;break;

_M_unknowns.resize( p ); //numero di colonne della matrice _M_unknowns

11.6 Ed ora consideriamo un esempio completo

Concludiamo questo capitolo con il listato di un programma scritto con LifeV per larisoluzione del problema parabolico di diffusione-reazione:⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

∂u

∂t− μ(t)�u+ σ(t)u = f, x ∈ Ω, 0 < t ≤ 10,

u = g1, x ∈ Γ10 ∪ Γ11, 0 < t ≤ 10,u = g2, x ∈ Γ20 ∪ Γ21, 0 < t ≤ 10,∇u · n = 0, x ∈ Γ50, 0 < t ≤ 10,u = u0, x ∈ Ω, t = 0,

dove Ω è un dominio cubico e ∂Ω = Γ10 ∪ Γ11 ∪ Γ20 ∪ Γ21 ∪ Γ50. Precisamente, icodici numerici sulle porzioni di bordo sono:

Γ20 : x = 0, 0 < y < 1, 0 < z < 1;Γ21 : x = 0, (y = 0, 0 < z < 1) ∪ (y = 1, 0 < z < 1)

∪(z = 0, 0 < y < 1) ∪ (z = 0, 0 < y < 1);Γ10 : x = 1, 0 < y < 1, 0 < z < 1;Γ11 : x = 1, (y = 0, 0 < z < 1) ∪ (y = 1, 0 < z < 1)

∪(z = 0, 0 < y < 1) ∪ (z = 0, 0 < y < 1);Γ50 : ∂Ω\ {Γ20 ∪ Γ21 ∪ Γ10 ∪ Γ11 ∪ Γ50} .

Page 397: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

388 11 Cenni di programmazione degli elementi finiti

In particolare, μ(t) = t2, σ(t) = 2, g1(x, y, z, t) = g2(x, y, z, t) = t2 + x2,u0(x, y, z) = 0, f = 2t + 2x2. La soluzione esatta è proprio t2 + x2 e il test vie-ne proposto su una griglia cubica di 6007 elementi con tetraedri affini quadratici, perun totale di 9247 gradi di libertà. Il passo temporale scelto è Δt = 0.5, l’ordine delloschema BDF scelto è 3.

Il listato 19 contiene il programma principale per questo esempio ed è stato arric-chito di commenti che aiutino la lettura, anche se, ovviamente, non tutto sarà imme-diatamente comprensibile dopo la sola lettura dei paragrafi precedenti. Coerentementecon lo spirito con cui questo capitolo è stato concepito, invitiamo il lettore a provarea lanciare il codice, modificandolo opportunamente per una piena comprensione dellasua struttura. Scaricando LifeV da www.lifev.org si ottengono altri casi da provare sottola directory testsuite.

Per la visualizzazione dei risultati, in questo listato si fa riferimento al programmaMedit, gratuitamente scaricabile da www.inria.fr. Le figure 11.9 riportano il pattern dellamatrice prima e dopo la prescrizione delle condizioni di bordo, passando da 244171 a214087 elementi non nulli.

Figura 11.9. Pattern della matrice del caso test proposto prima (sinistra) e dopo (destra)l’applicazione delle condizioni al bordo

Programma 19 - main.cpp: Risoluzione di un problema parabolico su dominio cubico

// INCLUSIONI PRELIMINARI DI PARTI DELLA LIBRERIA#include <life/lifecore/GetPot.hpp>#include "main.hpp"#include "ud_functions.hpp"#include <life/lifefem/bcManage.hpp>#include <life/lifearray/elemMat.hpp>#include <life/lifefem/elemOper.hpp>#include <life/lifefem/bdf.hpp>

Page 398: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.6 Ed ora consideriamo un esempio completo 389

#include <life/lifefilters/medit_wrtrs.hpp>#include <life/lifefilters/gmv_wrtrs.hpp>#include <life/lifefem/sobolevNorms.hpp>#define P2 // Useremo elementi Lagrangiani affini quadratici

int main()using namespace LifeV;using namespace std;

Chrono chrono; // Utility per il calcolo dei tempi di esecuzione

// ===================================================// Definizione delle condizioni al bordo (vedere main.hpp)// ===================================================

BCFunctionBase gv1(g1); // Funzione g1BCFunctionBase gv2(g2); // Funzione g2BCHandler BCh(2); // Due condizioni al bordo vengono imposte// Alle due condizioni si associano i codici numerici 10 e 20// contenuti nella griglia si calcoloBCh.addBC("Dirichlet1", 10, Essential, Scalar, gv1);BCh.addBC("Dirichlet2", 20, Essential, Scalar, gv2);

// ===================================================// Informazioni sulla mappatura geometrica e l’integrazione numerica// ===================================================const GeoMap& geoMap = geoLinearTetra;const QuadRule& qr = quadRuleTetra64pt;

const GeoMap& geoMapBd = geoLinearTria;const QuadRule& qrBd = quadRuleTria3pt;

//P2 elementsconst RefFE& refFE = feTetraP2;const RefFE& refBdFE = feTriaP2;

// ================================// Struttura della mesh// ================================RegionMesh3D<LinearTetra> aMesh;

GetPot datafile( "data" ); // le informazioni su quale sia il file della mesh// e altro sono contenute in un file chiamato ‘‘data’’long int m=1;std::string mesh_type = datafile( "mesh_type", "INRIA" );string mesh_dir = datafile( "mesh_dir", "." );string fname=mesh_dir+datafile( "mesh_file", "cube_6007.mesh" );

readMppFile(aMesh,fname,m); // lettura della griglia

Page 399: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

390 11 Cenni di programmazione degli elementi finiti

aMesh.updateElementEdges();aMesh.updateElementFaces();aMesh.showMe();

// =======================================// Definizione dell’elemento finito corrente, munito di// mappa geometrica e regola di quadratura// =======================================

CurrentFE fe(refFE,geoMap,qr);CurrentBdFE feBd(refBdFE,geoMapBd,qrBd);

// ========================================// Definizione dei gradi di liberta’ (DOF) per il problema// e per le condizioni al bordo specifiche// ========================================

Dof dof(refFE);dof.update(aMesh);BCh.bdUpdate( aMesh, feBd, dof );UInt dim = dof.numTotalDof();dof.showMe();

// ================================// Inizializzazione dei vettori delle incognite// U e del termine noto F// ================================ScalUnknown<Vector> U(dim), F(dim);U=ZeroVector( dim );F=ZeroVector( dim );

// ===============================================// Definizione dei parametri per l’integrazione in tempo// Vengono sempre specificati in ‘‘data’’ e letti da li// ===============================================Real Tfin = datafile( "bdf/endtime", 10.0 );Real delta_t = datafile( "bdf/timestep", 0.5 );Real t0 = 0.;UInt ord_bdf = datafile( "bdf/order", 3 );;Bdf bdf(ord_bdf);Real coeff=bdf.coeff_der(0)/delta_t;

bdf.showMe();

// ======================================================// Costruzione del pattern e delle matrici indipendenti dal tempo// ======================================================// pattern for stiff operator

Page 400: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.6 Ed ora consideriamo un esempio completo 391

MSRPatt pattA(dof);

MSRMatr<double> A(pattA);MSRMatr<double> M(pattA);M.zeros();

cout << "*** Matrix computation : "<<endl;chrono.start();//SourceFct sourceFct;ElemMat elmat(fe.nbNode,1,1);ElemVec elvec(fe.nbNode,1);for(UInt i = 1; i<=aMesh.numVolumes(); i++)

fe.updateJacQuadPt(aMesh.volumeList(i));elmat.zero();mass(1.,elmat,fe);assemb_mat(M,elmat,fe,dof,0,0); // Matrice di massa M

// ================================================// Definizione dei parametri per il solutore del sistema lineare// Viene usato AZTEC// ================================================int proc_config[AZ_PROC_SIZE];

// Informazioni sul processore (seriale o parallelo)int options[AZ_OPTIONS_SIZE];

// Vettore del tipo di solutore usatodouble params[AZ_PARAMS_SIZE];

// Parametri del solutore usatoint *data_org;

// Vettore di serviziodouble status[AZ_STATUS_SIZE];

// Vettore di ritrono dalla chiamata di AZTEC// indica se la soluzione e’ avvenuta con successo

// altre dichiarazioni per AZTECint *update,*external;int *update_index;int *extern_index;int N_update;//cout << "*** Linear System Solving (AZTEC)" << endl;AZ_set_proc_config(proc_config, AZ_NOT_MPI );AZ_read_update(&N_update, &update, proc_config, U.size(), 1, AZ_linear);

AZ_defaults(options,params);

AZ_transform(proc_config, &external,(int *)pattA.giveRaw_bindx(), A.giveRaw_value(),update, &update_index,

Page 401: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

392 11 Cenni di programmazione degli elementi finiti

&extern_index, &data_org, N_update, NULL, NULL, NULL, NULL,AZ_MSR_MATRIX);

chrono.start();init_options(options,params);

// =====================================// TIME LOOP// =====================================

int count=0;bdf.initialize_unk(u0,aMesh,refFE,fe,dof,t0,delta_t,1);

for (Real t=t0+delta_t;t<=Tfin;t+=delta_t)

A.zeros();F=ZeroVector( F.size() );// =========================================// Assemblaggio e// Aggiornamento del termine noto con// la soluzione dei passi precedenti// =========================================

Real visc=nu(t);// mu e sigma dipendono dal tempoReal s=sigma(t);for(UInt i = 1; i<=aMesh.numVolumes(); i++)

fe.updateFirstDerivQuadPt(aMesh.volumeList(i));elmat.zero();elvec.zero();mass(coeff+s,elmat,fe);stiff(visc,elmat,fe);source(sourceFct,elvec,fe,t,0);assemb_mat(A,elmat,fe,dof,0,0);assemb_vec(F,elvec,fe,dof,0);

// Handling of the right hand sideF += M*bdf.time_der(delta_t);

// ========================================// Prescrizione delle condizioni al bordo// =======================================

chrono.start();A.spy("test.m");bcManage(A,F,aMesh,dof,BCh,feBd,1.,t);A.spy("test_bc.m");

Page 402: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.6 Ed ora consideriamo un esempio completo 393

chrono.stop();chrono.start();AZ_solve(U.giveVec(), F.giveVec(), options, params, NULL,

(int *)pattA.giveRaw_bindx(), NULL, NULL, NULL,A.giveRaw_value(), data_org,status, proc_config);

chrono.stop();

// ======================================// Scrittura su file di post-processing// ======================================count++;index << count;wr_medit_ascii_scalar( "U" + index.str() + ".bb", U.giveVec(), dim );wr_medit_ascii( "U" + index.str() + ".mesh", aMesh);

// ==================================================// In questo caso test conosciamo la soluzione// analitica (specificata in main.hpp)// e vogliamo calcolare gli errori in diverse norme// ==================================================AnalyticalSol analyticSol;

Real normL2=0., normL2diff=0., normL2sol=0.;Real normH1=0., normH1diff=0., normH1sol=0.;

for(UInt i=1; i<=aMesh.numVolumes(); ++i)fe.updateFirstDeriv(aMesh.volumeList(i));

normL2 += elem_L2_2(U,fe,dof);normL2sol += elem_L2_2(analyticSol,fe,t,( UInt )U.nbcomp());normL2diff += elem_L2_diff_2(U,analyticSol,fe, dof, t,( UInt )U.nbcomp());

normH1 += elem_H1_2(U,fe,dof);normH1sol += elem_H1_2(analyticSol,fe,t,U.nbcomp());normH1diff += elem_H1_diff_2(U,analyticSol,fe,dof,t,U.nbcomp());

normL2 = sqrt(normL2);normL2sol = sqrt(normL2sol);normL2diff = sqrt(normL2diff);

normH1 = sqrt(normH1);normH1sol = sqrt(normH1sol);normH1diff = sqrt(normH1diff);

bdf.shift_right(U);

Page 403: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

394 11 Cenni di programmazione degli elementi finiti

// END OF TIME LOOP

return EXIT_SUCCESS;

Quello che segue è una parte dell’output a video ottenuto lanciando il codice:

Boundary Conditions Handler ====>Number of BC stored 5List =>********************************BC Name: WallFlag: 50Type: 1Mode: 0Number of components: 1List of components: 1Number of stored ID’s: 0********************************

...

<===========================>Reading INRIA mesh fileLinear Tetra Mesh#Vertices = 1322 #BVertices = 599#Points = 1322 #Boundary Points = 599#Volumes = 6007****************************************************************************************************

RegionMesh3D****************************************************************************************************ID: 0 Marker Flag:1**************** COUNTERS ********************NumPoints=1322 numBPoints=599NumVertices=1322 numBVerices=599NumVolumes=6007 numFaces=12611NumBFaces=1194 numEdges=7925NumBEdges=1791**************************************************************ACTUALLY STORED ********************Points=1322 Edges= 1791Faces= 1194 Volumes=6007**************************************************

...

Page 404: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

11.6 Ed ora consideriamo un esempio completo 395

*** BDF Time discretization of order 3 ***Coefficients:

alpha(0) = 1.83333alpha(1) = 3alpha(2) = -1.5alpha(3) = 0.333333beta (0) = 3beta (1) = -3beta (2) = 1

3 unknown vectors of length 0dim = 9247

Now we are at time 0.5A has been constructed16.93s.*** BC Management:1.44s.

************************************************************ Preconditioned GMRES solution***** ILUT( fill-in = 5.000e+00, drop = 1.000e-04)***** without overlap***** No scaling***** NOTE: convergence VARIES when the total number of***** processors is changed.*******************************************************

iter: 0 residual = 1.000000e+00

************************************************************ ilut: The ilut factors require 3.914e+00 times***** the memory of the overlapped subdomain matrix.*******************************************************

iter: 1 residual = 9.674996e-04iter: 2 residual = 1.262096e-04iter: 3 residual = 9.806253e-06iter: 4 residual = 5.693536e-07iter: 5 residual = 4.168325e-08iter: 6 residual = 3.028269e-09iter: 7 residual = 1.919715e-10iter: 8 residual = 1.371272e-11

Solution time: 1.160000 (sec.)total iterations: 8Flops not available for options[AZ_precond] = 14

*** Solution computed in 1.17s.|| U ||_{L^2} = 0.655108

Page 405: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

396 11 Cenni di programmazione degli elementi finiti

|| sol ||_{L^2} = 0.655108|| U - sol ||_{L^2} = 1.49398e-09|| U - sol ||_{L^2} / || sol ||_{L^2} = 2.28051e-09|| U ||_{H^1} = 1.32759|| sol ||_{H^1} = 1.32759|| U - sol ||_{H^1} = 8.09782e-09|| U - sol ||_{H^1} / || sol ||_{H^1} = 6.09963e-09Now we are at time 1A has been constructed28.77s.*** BC Management:1.43s.

Si noti come gli errori siano da imputare solo alla risoluzione del sistema lineare:infatti, dal momento che la soluzione esatta è una funzione parabolica in tempo ein spazio, la scelta degli elementi finiti di grado 2 e dello schema di avanzamentoBDF di ordine 3 garantisce che gli errori di discretizzazione siano nulli. Le Fig. 11.10illustrano i risultati visualizzati da Medit.

Figura 11.10. Risultati della simulazione dopo 5 passi temporali (a sinistra) e 20 (a destra)

Page 406: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

12

Generazione di griglie in 1D e 2D

Come abbiamo visto, i metodi numerici per la risoluzione di equazioni differenzialialle derivate parziali richiedono una “reticolazione” del dominio computazionale, os-sia una partizione del dominio stesso in unità geometriche più semplici (ad esempio,triangoli o quadrilateri in due dimensioni, tetraedri, prismi o esaedri in tre dimensioni)che verifichino determinate condizioni. La loro unione definirà la cosiddetta griglia dicalcolo.

In questo capitolo, per semplicità, ci occupiamo delle principali tecniche di reti-colazione per domini mono e bidimensionali, senza alcuna pretesa di esaustività. Sirimanderà il lettore, dove opportuno, alla letteratura specializzata. Le tecniche esposteper il caso 2D possono però essere estese a domini tridimensionali. Inoltre, non affron-teremo la complessa tematica relativa all’approssimazione della frontiera di domini diforma non poligonale. Il lettore interessato può consultare [Cia78], [BS94]. Suppor-remo dunque nel seguito che la frontiera della triangolazione coincida con quella deldominio.

12.1 La generazione di griglia in 1D

Supponiamo che il dominio computazionale Ω sia un intervallo (a, b). La più elemen-tare partizione in sotto-intervalli è quella in cui il passo h sia costante. Scelto il numero

di elementi, diciamo N , si pone h =b− a

Ne si costruiscono i punti xi = x0+ ih, con

x0 = a e i = 0, . . . , N . Tali punti {xi} vengono chiamati “vertici”, per analogia conil caso bidimensionale in cui saranno effettivamente i vertici dei triangoli la cui unionericopre il dominio Ω. La partizione così ottenuta viene detta griglia. Essa è uniformeessendo costituita da elementi della stessa lunghezza.

Nel caso più generale, si useranno griglie non uniformi, possibilmente generatesecondo una legge assegnata. Fra le diverse procedure possibili, ne illustriamo unaalquanto generale. Sia data una funzione strettamente positivaH : [a, b]→ R+, dettafunzione di spaziatura e ci si ponga il problema di generare una partizione dell’inter-vallo [a, b] in N + 1 vertici xi. Il valore H(x) rappresenta la spaziatura desiderata in

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 407: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

398 12 Generazione di griglie in 1D e 2D

corrispondenza del punto x. Ad esempio, se H = h (costante), con h = (b − a)/Mper un qualche intero M , si ricade esattamente nel caso precedente della griglia uni-forme, con N = M . Più in generale, si calcola N =

∫ baH−1(x) dx e si pone

N = max(1, [N ]), dove [N ] indica la parte intera di N , ovvero il numero interopositivo più vicino a N . Si osservi che la griglia risultante avrà almeno un elemento.Si pone quindi κ = N

N e si cercano i punti xi tali per cui

κ

∫ xia

H−1(x) dx = i,

per i = 0, . . . , N . La costante κ è un fattore positivo di correzione, con valore il piùpossibile vicino a 1, e serve a garantire che N sia effettivamente un numero intero.Facciamo infatti notare che, per una data H, il numero degli elementi N è esso stessouna incognita del problema. La funzione H−1 definisce invece una funzione densità:a valori maggiori di H−1 corrispondono nodi più addensati e, viceversa, a valori piùpiccoli diH−1 sono associati nodi più radi. Naturalmente, se si desiderasse costruireuna griglia con un prefissato numero N di elementi, oltre che con una certa variazionesu [a, b], basterebbe rinormalizzare la funzione spaziatura in modo che l’integrale su(a, b) della corrispondente densità sia proprio pari a N . In ogni caso, per calcolare ipunti xi, è utile introdurre il seguente problema di Cauchy

y′(x) = κH−1(x), x ∈ (a, b), con y(a) = 0.

I punti xi risulteranno infatti definiti dalla relazione y(xi) = i, per i = 1, . . . , N − 1.Automaticamente sarà poi assicurato che x0 = a e xN = b. Si potrà quindi utilizzareun metodo di risoluzione numerica per trovare le radici delle funzioni fj(x) = y(x)−j, per ciascun valore di j ∈ {1, . . . , N − 1} (si veda, per esempio, [QSS08]).

Oltre ad essere alquanto generale, questa procedura può essere facilmente este-sa alla generazione di vertici lungo le curve che definiscono il bordo di un dominiobidimensionale, come vedremo nella Sez. 12.4.2.

Nel caso in cui H non presenti variazioni eccessive nell’intervallo (a, b), si puòanche usare una procedura semplificata che consiste nel calcolare i punti “di primotentativo” xi, per i = 0, . . . , N , così definiti:

1. Porre x0 = a e definire xi = xi−1 + H(xi−1), i = 1, 2, . . . , fino a trovare ilvalore M tale per cui xM ≥ b e xM−1 < b;

2. se xM − b ≤ b− xM−1 porre N =M , altrimenti definire N =M − 1.I valori finali dei vertici si ottengono ponendo

xi = xi−1 + kH(xi−1), i = 1, . . . , N,

con x0 = a e k = (b− xN−1)/(xN − xN−1).Il Programma in linguaggio MATLAB mesh_1d consente di costruire una gri-

glia su un intervallo di estremi a e b con passo precisato nella macro H, utilizzandol’algoritmo semplificato. Ad esempio, con i seguenti comandi MATLAB:

a = 0; b = 1; H = ’0.1’;coord = mesh_1d(a,b,H);

Page 408: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

12.1 La generazione di griglia in 1D 399

0 0.2 0.4 0.6 0.8 1−0.05

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

, 0 0.2 0.4 0.6 0.8 1−0.02

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

Figura 12.1. A sinistra, l’andamento del passo di griglia (sulle ordinate) associato alla funzio-ne H = ’1/(exp(4*x)+2)’, a destra quello relativo alla funzione H = ’.1*(x<3) +.05*(x>5) + .05’. Nel grafico vengono anche riportate le corrispondenti distribuzioni deivertici

si crea una griglia uniforme su [0, 1] di 10 sotto-intervalli con passo h = 0.1.Ponendo H =′ 1/(exp(4 ∗ x)+ 2)′ si ottiene invece una griglia che si infittisce avvici-nandosi al secondo estremo dell’intervallo, mentre per H =′ .1∗ (x < .3)+ .05∗ (x >.5)+ .05′ si ottiene una griglia con un passo che varia in maniera discontinua (si vedala Figura 12.1).

Programma 20 - mesh_1d: Costruisce una griglia monodimensionale su unintervallo [a,b] secondo la funzione spaziatura H

function coord = mesh_1d(a,b,H)

coord = a;while coord(end) < bx = coord(end);xnew = x + eval(H);coord = [coord, xnew];

endif (coord(end) - b) > (b - coord(end-1))coord = coord(1:end-1);

endcoord_old = coord;kappa = (b - coord(end-1))/(coord(end) - coord(end-1));coord = a;for i = 1:length(coord_old)-1x = coord_old(i);coord(i+1) = x + kappa*eval(H);

end

Page 409: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

400 12 Generazione di griglie in 1D e 2D

Facciamo notare sin d’ora che nel momento in cui H fosse determinata da unaqualche stima dell’errore, il Programma 20 consentirà di realizzare l’adattività dellagriglia.Affrontiamo ora il problema della costruzione della griglia per domini bidimensionali.

12.2 Reticolazione di un dominio poligonale

Dato un dominio poligonale Ω limitato in R2, possiamo associare ad esso una griglia(o partizione) Th di Ω in poligoni K tali che

Ω =⋃K∈Th

K,

dove Ω è la chiusura di Ω, e

-◦K �= ∅, ∀K ∈ Th;

-◦

K1 ∩◦

K2= ∅ per ogni K1, K2 ∈ Th con K1 �= K2;- se F = K1 ∩K2 �= ∅ con K1, K2 ∈ Th e K1 �= K2, allora F è o un intero lato o

un vertice della griglia;- indicato con hK il diametro di K, per ogni K ∈ Th , definiamo h = maxK∈Th hK .

Abbiamo denotato con◦K= K \ ∂K l’interno di K. La griglia Th viene anche detta

reticolazione, o talvolta triangolazione (in senso lato) di Ω.I vincoli imposti alla griglia dalle prime due condizioni sono ovvi: in particolare, la

seconda richiede che per due elementi distinti le parti interne non si sovrappongano.La terza condizione limita le triangolazioni ammissibili a quelle cosiddette confor-mi. Per esemplificare il concetto, riportiamo in Fig. 12.2 una triangolazione conforme(a sinistra) ed una non conforme (a destra). Considereremo nel seguito solo triango-lazioni conformi. Esistono tuttavia delle approssimazioni agli elementi finiti moltoparticolari, non esaminate in questo libro, che utilizzano griglie non conformi, cioèche non rispettano la terza condizione. Tali metodi sono pertanto più flessibili, almenoper quanto concerne la scelta della griglia computazionale, consentendo, tra l’altro,

Figura 12.2. Esempio di griglia conforme (a sinistra) e non conforme (a destra)

Page 410: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

12.2 Reticolazione di un dominio poligonale 401

l’accoppiamento fra griglie anche costituite da elementi di natura diversa, ad esempiotriangoli e quadrilateri. La quarta condizione lega il parametro h al massimo diametrodegli elementi di Th.

Per ragioni legate alla teoria dell’errore di interpolazione ricordata nel Cap. 3,considereremo solo triangolazioni Th regolari, per le quali cioè, per ogni elementoK ∈ Th, il rapporto tra il diametro hK e la sfericità ρK (diametro del cerchio inscritto)sia minore di una certa costante prefissata. Più precisamente, le griglie soddisfano laproprietà (3.27). La Fig. 12.3 illustra il significato di diametro e di sfericità per unelemento di forma triangolare e per un quadrilatero.

Nelle applicazioni, si suole distinguere le griglie in strutturate e non strutturate. Legriglie strutturate utilizzano essenzialmente elementi quadrangolari e sono caratteriz-zate dal fatto che l’accesso ai vertici adiacenti a un dato nodo (o agli elementi adiacentia un dato elemento) è immediato. Infatti è possibile stabilire una relazione biunivo-ca tra i vertici della griglia e le coppie di numeri interi (i, j), i = 1, . . . , Ni, j =1, . . . , Nj tale per cui, dato il nodo di indici (i, j), i quattro vertici adiacenti sono incorrispondenza con gli indici (i−1, j), (i+1, j), (i, j−1) e (i, j+1). Il numero totaledi vertici è dunque NiNj . Un’analoga associazione può essere istiuita tra gli elementidella griglia e le coppie (I, J), I = 1, . . . , Ni − 1, J = 1, . . . , Nj − 1. Inoltreè possibile identificare direttamente i vertici corrispondenti a ciascun elemento, senzadover memorizzare esplicitamente la matrice delle connettività. La Fig. 12.4 illustraquesta situazione.

Tipicamente, in un codice di calcolo, le coppie di indici sono in genere sostituite dauna numerazione formata da un singolo numero intero che è biunivocamente associatoagli indici sopra descritti. Ad esempio, per la numerazione dei vertici si può sceglieredi associare a ciascuna coppia (i, j) il numero intero k = i+ (j − 1)Ni e, viceversa,al vertice k sono univocamente associati gli indici i = ((k − 1) mod Ni) + 1 ej = ((k−1) divNi)+1, ove mod e div indicano il resto e il quoziente della divisioneintera.

Nelle griglie non strutturate, invece, l’associazione tra un elemento della grigliaed i suoi vertici deve essere esplicitamente memorizzata nella cosiddetta matrice delleconnettività, la quale, per ciascun elemento, fornisce la numerazione dei suoi vertici.

Un codice sviluppato per griglie strutturate si potrà avvantaggiare della “struttura”della griglia e, a parità di elementi, produrrà normalmente un algoritmo più efficiente,sia in termini di memoria che di tempi di calcolo, rispetto ad uno schema analogo su di

h

h

ρ

K

K

ρK

K

Figura 12.3. Diametro e sfericità per un elemento triangolare (a sinistra) e per un quadrilatero(a destra)

Page 411: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

402 12 Generazione di griglie in 1D e 2D

i=I, j=J

(I,J)(i,j+1) (i+1,j+1)

(i,j) (i+1,j)

Figura 12.4. Localizzazione della numerazione dei vertici appartenenti ad un elemento di indici(I, J)

−0.5 0 0.5 1 1.5−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Figura 12.5. Esempio di mesh non strutturata, ad elementi triangolari. Particolare di una grigliain una regione esterna ad un profilo alare. La mesh è stata adattata per migliorare l’accuratezzadella soluzione numerica per una data condizione di flusso

una griglia non strutturata. Per contro, le griglie non strutturate offrono una maggioreflessibilità sia dal punto di vista della triangolazione di domini di forma complessasia per la possibilità di raffinare/deraffinare localmente la griglia. La Fig. 12.5 mostraun esempio di griglia non strutturata la cui spaziatura è stata adattata allo specificoproblema in esame. Tali raffinamenti localizzati sarebbero difficili, o impossibili, daottenere con una griglia di tipo strutturato (a meno di utilizzare griglie non conformi).

Griglie non strutturate bidimensionali sono in genere formate da triangoli, anchese è possibile avere griglie non strutturate quadrangolari.

12.3 Generazione di griglie strutturate

L’idea più elementare per generare una griglia strutturata su un dominio di forma qua-lunque Ω consiste nel trovare una mappa regolare ed invertibile M tra il quadrato

Page 412: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

12.3 Generazione di griglie strutturate 403

Ω = [0, 1]× [0, 1] (che chiameremo quadrato di riferimento) e Ω. Si noti che la re-golarità della mappa deve poter estendersi anche alla frontiera (richiesta che può inqualche caso essere parzialmente rilassata). Si procede quindi generando una reticola-zione, ad esempio uniforme, nel quadrato di riferimento e si utilizza poi la mappaMper trasformare le coordinate dei vertici in Ω nelle corrispondenti in Ω.

Vi sono diversi aspetti di questa procedura che devono essere considerati con ladovuta attenzione.

1. La ricerca della mappaM è spesso non semplice. Inoltre tale mappa non è unica.In generale è opportuno che sia la più regolare possibile.

2. Una reticolazione uniforme del quadrato di riferimento non fornisce in genere unagriglia ottimale in Ω. Infatti, normalmente, si vuole controllare la distribuzionedei vertici in Ω, e questo, in generale, può essere realizzato solo generando dellegriglie non uniformi sul quadrato di riferimento, la cui spaziatura dipenderà siadalla spaziatura desiderata in Ω che dalla mappaM scelta.

3. Anche se la mappa è regolare (per esempio di classe C1) non è garantito che glielementi della griglia prodotta in Ω siano ammissibili, in quanto essi non sonol’immagine tramite M degli elementi corrispondenti in Ω. Basti solo pensareche, se si desiderano elementi Q1 in Ω, essi dovranno avere lati paralleli agli assicartesiani mentre l’immagine di una reticolazione Q1 sul quadrato di riferimentoproduce, se la mappa non è lineare, lati curvi in Ω. In altre parole, la mappa vienefatta agire solamente sui vertici della griglia di Ω e non sugli spigoli.

Una possibilità per costruire la mappa M consiste nell’utilizzare l’interpolazio-ne transfinita (4.3) illustrata nel Cap. 4. Tale metodologia non è tuttavia sempre fa-cilmente applicabile. Illustreremo dunque nel seguito una metodologia più generale,che applicheremo ad un esempio specifico, rimandando alla letteratura specializzata[TWM85, TSW99] per ulteriori ragguagli e approfondimenti.

Supponiamo di avere un dominio Ω e di poter partizionare il suo contorno in quat-tro parti Γ1, . . . , Γ4 consecutive, come illustrato in Fig. 12.6 per un dominio partico-larmente semplice. Supponiamo inoltre di poter descrivere tali porzioni di ∂Ω tramitequattro curve parametriche g1, . . . , g4 orientate come in figura, dove il parametro svaria tra 0 e 1 su ciascuna curva. Questa costruzione ci permette di creare una mappabiiettiva tra i lati del quadrato di riferimento e il contorno del dominio. Assoceremoinfatti ciascuna curva al corrispondente lato del quadrato, come esemplificato in Fig.12.6. Si tratta ora di capire come estendere la mappa a tutto Ω.

Osservazione 12.1 Si noti che le curve gi i = 1, . . . , 4 non sono, in generale, diffe-renziabili in tutto (0, 1), ma possono presentare un numero finito di “spigoli” dove dgidsnon è definita. In Fig. 12.6, per esempio, la curva g2 non è derivabile in corrispondenzadello “spigolo” marcato da un piccolo quadrato nero. •

Una possibilità per costruire la mappa M : (x, y) �→ (x, y) consiste nel risolvere ilseguente problema ellittico vettoriale su Ω:

−∂2x

∂x2− ∂2x

∂y2= 0, su Ω = (0, 1)2, (12.1)

Page 413: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

404 12 Generazione di griglie in 1D e 2D

g 4(s)

g3 (s)

g1(s)

(0,1) (1,1)

g2(s)

1

3

4 Ω

x

y

^

(0,0) (1,0)

Ω2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Figura 12.6. Costruzione di una griglia strutturata: a sinistra, identificazione della mappa sullafrontiera; a destra, griglia corrispondente ad una partizione uniforme del quadrato di riferimentoin 24× 24 elementi

con condizioni al bordo

x(x, 0) = g1(x), x(x, 1) = g3(x), x ∈ (0, 1),x(1, y) = g2(y), x(0, y) = g4(y), y ∈ (0, 1).

I vertici di una griglia nel quadrato di riferimento potranno poi essere trasformatinei vertici di una griglia in Ω. Si noti che la soluzione del problema (12.1) dovrà,in generale, essere trovata utilizzando un metodo numerico, per esempio tramite unoschema alle differenze finite (o agli elementi finiti). Inoltre, per rispettare adeguata-mente la geometria della frontiera di Ω è necessario assicurarsi che un vertice vengagenerato in corrispondenza di ogni “spigolo”. In Fig. 12.6 (a destra) illustriamo ilrisultato dell’applicazione di questa metodologia al dominio di Fig. 12.6 (a sinistra).

Si può notare come la griglia corrispondente ad una suddivisione regolare del qua-drato di riferimento non sia particolarmente soddisfacente se si volesse, per esempio,avere un addensamento dei vertici in corrispondenza dello spigolo.

Inoltre, la metodologia così descritta non è applicabile a domini non convessi.Consideriamo infatti la Fig. 12.7 dove si mostra un dominio a forma di L, con larelativa suddivisione della frontiera, e la griglia ottenuta risolvendo il problema (12.1)partendo da una suddivisione regolare del dominio di riferimento. È evidente che lagriglia non è accettabile.

Per risolvere tali problemi si può procedere in diversi modi (non mutuamenteescludentisi):

– si utilizza su Ω una griglia non uniforme, in modo da tenere conto delle caratteri-stiche geometriche di Ω;

– si utilizza una mappa M differente, ottenuta, per esempio risolvendo al posto di(12.1) il seguente nuovo problema differenziale:

−α∂2x

∂x2− β

∂2x

∂y2+ γx = f su Ω, (12.2)

dove α > 0, β > 0, γ ≥ 0 e f sono funzioni di x e y opportune, scelte in mododa controllare la distribuzione dei vertici. Chiaramente esse dipenderanno dallageometria di Ω;

Page 414: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

12.4 Generazione di griglie non strutturate 405

– si suddivide Ω in sotto-domini che vengono triangolati separatamente. Questatecnica è normalmente conosciuta come generazione strutturata a blocchi. Se sivuole che la griglia globale sia conforme, occorre prestare particolare attenzionea come si distribuisce il numero di vertici sui bordi delle interfacce tra i vari sotto-domini. Il problema può divenire estremamente complesso quando il numero disotto-domini è elevato.

Per i dettagli si rimanda il lettore interessato alla letteratura specializzata già citata.

Metodi di generazione del tipo illustrato vengono chiamati schemi ellittici di ge-nerazione di griglia, poiché si basano sulla risoluzione di equazioni ellittiche, quali(12.1) e (12.2).

12.4 Generazione di griglie non strutturate

Considereremo qui la generazione di griglie non strutturate ad elementi triangolari. Idue algoritmi principali utilizzati per tale scopo sono

• la triangolazione di Delaunay;• la tecnica di avanzamento del fronte.

12.4.1 Triangolazione di Delaunay

Una triangolazione di n punti di R2 si dice di Delaunay se il cerchio circoscritto aciascun triangolo non contiene alcun vertice al proprio interno (si veda la Fig. 12.8).

Essa gode delle seguenti proprietà:

1. dato un insieme di punti, la triangolazione di Delaunay è unica, a meno disituazioni particolari in cui M punti (con M > 3) giacciono su una circonferenza;

2. tra tutte le triangolazioni possibili, la triangolazione di Delaunay è quella chemassimizza il minimo angolo dei triangoli della griglia (proprietà di regolaritàmax-min);

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

g 4(s)

g1(s)

g3(s)

g2(s)

Ω

Figura 12.7. Triangolazione di un dominio non convesso. Identificazione della mappa allafrontiera e mesh ottenuta risolvendo il problema ellittico (12.1)

Page 415: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

406 12 Generazione di griglie in 1D e 2D

K P

Figura 12.8. A sinistra, un esempio di griglia di Delaunay su un dominio convesso di for-ma triangolare. Si può facilmente verificare che il cerchio circoscritto a ciascun triangolo noncontiene al proprio interno nessun vertice della griglia. A destra, invece, un particolare di unagriglia non soddisfacente la condizione di Delaunay: il vertice P cade infatti all’interno delcerchio circoscritto al triangoloK

3. l’insieme formato dall’unione dei triangoli è la figura convessa di area minimache racchiude l’insieme di punti dato (detto anche inviluppo convesso).

La terza proprietà rende l’algoritmo di Delaunay inapplicabile a domini non convessi,almeno nella sua forma originaria.

Ne esiste però una variante, chiamata algoritmo di Delaunay vincolato (in ingle-se, Constrained Delaunay Triangulation (CDT)), che permette di fissare a-priori uninsieme di lati della griglia da generare: la griglia risultante associa cioè necessaria-mente tali lati a qualche triangolo. In particolare, si possono quindi imporre i lati chedefiniscono la frontiera della griglia.Per meglio precisare il concetto di triangolazione di Delaunay vincolata, premettiamola seguente definizione: dati due punti P1 e P2, diremo che essi sono reciprocamentevisibili se il segmento P1P2 non attraversa nessuno dei lati di frontiera (o, in generale,i lati che si vogliono fissare). Una triangolazione di Delaunay vincolata soddisfa laproprietà: l’interno del cerchio circoscritto a ciascun triangolo K non contiene alcunvertice che sia visibile da un punto interno a K.

Si può ancora dimostrare che tale triangolazione è unica e soddisfa la proprie-tà max-min. La triangolazione di Delaunay vincolata non è quindi propriamente unatriangolazione di Delaunay poiché alcuni dei suoi triangoli potrebbero contenere ver-tici appartenenti all’insieme iniziale. Comunque, i vertici sono solo e soltanto quellioriginali specificati nell’insieme, e non ne sono aggiunti altri. Sono però possibilidue varianti: la triangolazione di Delaunay conforme (o Conforming Delaunay Trian-gulation) e la triangolazione di Delaunay vincolata conforme (o Conforming CDT(CCDT)). La prima è una triangolazione in cui ogni triangolo è di Delaunay ma oveogni lato da fissare può essere ulteriormente suddiviso in sotto-segmenti; in tal casonuovi vertici sono aggiunti per ottenere dei segmenti più corti. I vertici aggiunti so-no spesso necessari per garantire il soddisfacimento della proprietà di Delaunay e altempo stesso assicurare che ogni lato prescritto venga correttamente rappresentato. Laseconda variante rappresenta invece una triangolazione in cui i triangoli sono di tipoDelaunay vincolato. Anche in questo caso possono essere inseriti nuovi vertici, e i lati

Page 416: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

12.4 Generazione di griglie non strutturate 407

da fissare possono essere suddivisi in segmenti più piccoli. In quest’ultimo caso però,lo scopo non è di garantire che i lati siano rispettati ma quello di migliorare la qualitàdei triangoli.

Tra i molteplici software disponibili per la generazione di griglie Delaunay, o di lo-ro varianti, prendiamo in considerazione nel seguito Triangle [She]. Esso consentedi generare triangolazioni di Delaunay, conformi o non, con la possibilità di modularela regolarità delle griglie risultanti in termini di angoli massimi e minimi dei triangoli.La geometria viene passata in ingresso a Triangle sotto forma di un grafo, denomi-nato Planar Straight Line Graph (PSLG). Tale codifica viene scritta in un file di inputcon suffisso .poly: esso contiene sostanzialmente una lista di vertici e lati, ma puòanche includere informazioni su cavità e concavità presenti nella geometria.

Un esempio di file .poly è riportato nel seguito.

# Una scatola con otto vertici in 2D, nessun attributo, un marker di bordo8 2 0 1# Vertici della scatola esterna1 0 0 02 0 3 03 3 0 04 3 3 0# Vertici della scatola interna5 1 1 06 1 2 07 2 1 08 2 2 0# Cinque lati con un marker di bordo5 11 1 2 5 # Lato sinistro della scatola esterna# Lati della cavita‘ quadrata2 5 7 03 7 8 04 8 6 105 6 5 0# Un foro nel centro della scatola interna11 1.5 1.5

L’esempio illustra una geometria rappresentante un quadrato con un foro quadrato alproprio interno. La prima parte del file elenca i vertici mentre la seconda definisce i latida fissare. La prima riga dichiara che seguiranno otto vertici, che la dimensione spa-ziale della griglia è due (siamo in R2), che nessun attributo è associato ai vertici e cheun marker di bordo è definito per ciascun punto. Gli attributi rappresentano eventualiproprietà fisiche pertinenti ai nodi della mesh, come ad esempio dei valori di conduci-bilità, viscosità, etc. I marker di bordo sono invece dei flag a valori interi che possonoessere utilizzati all’interno di un codice di calcolo per assegnare opportune condizionial bordo sui diversi vertici. Le righe seguenti riportano ordinatamente gli otto vertici,

Page 417: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

408 12 Generazione di griglie in 1D e 2D

con le loro ascisse e ordinate, seguite dal valore del marker di bordo, zero in questocaso. Nella prima riga della seconda parte si dichiara che i lati che seguiranno sonocinque e che per ciascuno verrà specificato il valore di un marker di bordo. Si succe-dono quindi i cinque lati, specificati in base ai vertici estremi di ciascuno, e il valoredel marker di bordo. Nell’ultima sezione del file si definisce un foro specificandone lecoordinate del centro, nell’ultima linea, precedute dalla numerazione progressiva (inquesto caso limitata a 1) dei fori.

La griglia di Delaunay vincolata associata a questa geometria, diciamo box.poly,si ottiene con il comando

triangle -pc box

Il parametro -p dichiara che il file di input è un .poly, mentre l’opzione-c previenela rimozione delle concavità, che altrimenti verrebbero eliminate automaticamente. Difatto questa opzione forza la triangolazione dell’inviluppo convesso del grafo PSLG. Ilrisultato sarà la creazione di tre file, box.1.poly, box.1.node e box.1.ele. Ilprimo contiene la descrizione dei lati della triangolazione prodotta, il secondo quelladei nodi e l’ultimo definisce le connettività degli elementi generati. Per brevità nondescriviamo dettagliatamente il formato di questi tre file. Osserviamo infine che ilvalore numerico, 1 in questo esempio, che separa il nome di questi tre file da quellodei rispettivi suffissi, gioca il ruolo di un contatore di iterazioni: Triangle può infattisuccessivamente raffinare o modificare le triangolazioni di volta in volta prodotte. Latriangolazione risultante è raffigurata in Fig. 12.9. Un software allegato a Triangle,

Figura 12.9. Triangolazione di Delaunay di un quadrato con foro quadrato: CDT a sinistra,CCDT a destra

denominatoShow Me, consente di visualizzare gli output di Triangle. La Fig 12.9a sinistra si ottiene ad esempio tramite il comando

showme box

Per ottenere una triangolazione vincolata conforme si deve specificare il comandotriangle con altri parametri, quali -q, -a o -u. Il primo impone un vincolo diqualità sul minimo angolo, il secondo fissa un valore massimo per l’area dei triangoli,mentre il terzo forza la dimensione dei triangoli, tipicamente tramite una functionesterna che l’utente deve fornire. A titolo di esempio, tramite il comando

triangle -pcq20 box

Page 418: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

12.4 Generazione di griglie non strutturate 409

si ottiene la triangolazione di Delaunay vincolata conforme riportata in Fig. 12.9 adestra, caratterizzata da un angolo minimo di 20◦. Infine, la triangolazione di De-launay conforme si ottiene specificando ulteriormente l’opzione -D. Un esempio piùcomplesso è rappresentato in Fig. 12.10. Il comando utilizzato

triangle -pca0.001q30 mox

fissa l’angolo minimo a 30◦ e l’area massima dei triangoli generati pari a 0.001. Il filePSLG iniziale mox.poly descrive la geometria mediante 474 vertici, altrettanti latie una cavità. La mesh finale consta di 1595 vertici, 2708 elementi e 4303 lati totali dicui 482 sul bordo.

Figura 12.10. Triangolazione di Delaunay di un dominio di forma complessa

Rimandiamo all’ampia documentazione on-line e al dettagliato help diTriangleper le ulteriori molteplici possibilità di utilizzo del software.

Tornando alle proprietà delle griglie di Delaunay, la triangolazione di Delaunaynon permette di controllare l’aspetto di forma dell’elemento generato, proprio per laproprietà di max-min sopra citata. D’altra parte, in certe situazioni, può essere utilegenerare triangoli “allungati” in una certa direzione, per esempio per ben rappresen-tare uno strato limite (come in Fig. 12.5). A tale scopo, è stato sviluppato l’algoritmodetto di triangolazione di Delaunay generalizzata, in cui la condizione sul cerchio cir-coscritto viene sostituta da una condizione analoga sull’ellisse circoscritta al triangoloin esame. In questo modo, regolando opportunamente la lunghezza e le direzioni degliassi di tale ellisse si possono generare elementi allungati nella direzione voluta.

Gli algoritmi di generazione di griglie di Delaunay utilizzati più correntementesono di tipo incrementale, cioè generano una successione di griglie di Delaunay ag-giungendo un vertice alla volta. Bisogna quindi trovare delle procedure che forniscanoi nuovi vertici in accordo con la spaziatura di griglia desiderata, riuscendo ad arrestaretale procedura nel momento in cui la griglia così generata risulti soddisfacente.

Per ulteriori dettagli si può consultare, per esempio, [GB98] e [TSW99, Cap.16]. Una descrizione dettagliata delle proprietà geometriche della triangolazione diDelaunay vincolata, sia per domini di R2 che di R3, si può trovare in [BE92].

Page 419: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

410 12 Generazione di griglie in 1D e 2D

12.4.2 Tecnica di avanzamento del fronte

Descriviamo a grandi linee un’altra fra le tecniche più comunemente usate per la ge-nerazione di griglie non strutturate, quella di avanzamento del fronte. Un ingredientenecessario è la conoscenza della spaziatura desiderata per gli elementi della grigliache dovrà essere generata. Supponiamo allora che su Ω sia definita una funzione H,detta di spaziatura, che fornisca per ciascun punto P di Ω le dimensioni della grigliaivi desiderata, ad esempio, tramite il diametro hK degli elementi che devono esseregenerati in un intorno di P . Se si volesse controllare anche l’aspetto di forma deglielementi generati,H avrà una forma più complessa. Di fatto sarà un tensore simmetri-co definito positivo, cioè H : Ω → R2×2 tale per cui, per ogni punto P del dominio,gli autovettori (perpendicolari) di H inidividuano la direzione di massimo e mininoallungamento dei triangoli che dovranno essere generati nell’intorno di P , mentre gliautovalori (più precisamente le radici quadrate degli inversi degli autovalori) caratte-rizzano le due corrispondenti spaziature (si veda [GB98]). Nel seguito considereremosolo il caso in cuiH è una funzione scalare.

La prima operazione da compiere è quella di generare i vertici lungo la frontieradel dominio. Supponiamo che ∂Ω sia descritta come l’unione di curve parametrichegi(s), i = 1, . . .N , per esempio splines o spezzate poligonali. Per semplicità si as-sume che, per tutte le curve, il parametro s vari tra 0 e 1. Se si desiderano generareNi+1 vertici lungo la curva gi è sufficiente creare un vertice per tutti i valori di s percui la funzione

fi(s) =

∫ s0

H−1(gi(τ ))∣∣∣dgids(τ )∣∣∣dτ

assume valori interi. Più precisamente, le coordinate curvilinee s(j)i dei nodi da

generare lungo la curva gi soddisfano le relazioni

fi(s(j)i ) = j, j = 0, · · · , Ni con i vincoli s(0)i = 0, s

(Ni)i = 1.

La procedura è analoga a quella descritta nella Sez. 12.1. Si osservi che il termine| dgids | tiene conto della metrica intrinseca della curva.

Fatto questo, può avere inizio il processo di avanzamento del fronte. Esso è de-scritto da una struttura dati che contiene la lista dei lati che definiscono la frontiera trala porzione di Ω già triangolata e quella ancora da triangolare. All’inizio del processoil fronte contiene i lati di frontiera.

Durante il processo di generazione della griglia, ogni lato del fronte è disponibileper creare un nuovo elemento, che viene costruito connettendo il lato scelto o conun vertice della griglia già esistente o con un nuovo vertice. La scelta se utilizzare unvertice esistente o crearne uno nuovo dipende da diversi fattori, tra cui la compatibilitàtra la dimensione e la forma dell’elemento che verrebbe generato con quelle fornitedalla funzione di spaziatura H. Inoltre, il nuovo elemento non deve intersecare alcunlato del fronte.

Una volta generato il nuovo elemento, i suoi lati nuovi verranno “aggiunti” alfronte in modo che quest’ultimo descriva la nuova frontiera tra la parte triangolata enon, mentre il lato di partenza viene rimosso dalla lista dati. In questo modo, durante

Page 420: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

12.4 Generazione di griglie non strutturate 411

Nuovo Fronte

Nuovo Nodo

Fronte

Lato scelto

Figura 12.11. Avanzamento del fronte. La parte di dominio già triangolata è stata ombreggiata

il processo di generazione, il fronte avanzerà dalle zone già triangolate verso la zonaancora da triangolare (si veda la Fig. 12.11).

L’algoritmo generale di avanzamento del fronte consta quindi dei seguenti passi:

1. definire la frontiera del dominio che deve essere triangolato;2. inizializzare il fronte come una curva lineare a tratti conforme al bordo;3. scegliere il lato che deve essere eliminato dal fronte in base a qualche crite-

rio (tipicamente la scelta di quello di minor lunghezza produce mesh di buonaqualità);

4. per il lato, diciamo AB, così scelto:a) selezionare il vertice “potenziale” C , cioè quel punto all’interno del domi-

nio distante da AB secondo quanto definito dalla funzione spaziatura Hdesiderata;

b) cercare un eventuale punto C ′ già esistente nel fronte in un intorno opportu-no di C . Se la ricerca ha successo, C ′ diventa il nuovo punto potenziale C .Continuare la ricerca;

c) stabilire se il triangolo ABC interseca qualche altro lato del fronte. In casopositivo, selezionare un nuovo punto potenziale dal fronte e ripartite dal punto4.b);

5. aggiungere il nuovo punto C , i nuovi lati e il nuovo triangolo ABC alle corri-spondenti liste;

6. cancellare il lato AB dal fronte e aggiungere i nuovi lati;7. se il fronte è non vuoto, continuare dal punto 3.

È ovvio che se si desidera avere un costo computazionale lineare in funzione delnumero di elementi generati, bisognerà rendere le operazioni sopra descritte il piùpossibile indipendenti dalle dimensioni della griglia che si sta generando e, in parti-colare, dalle dimensioni del fronte avanzante. Un tale obiettivo è tutt’altro che banalesoprattutto se si pensa che operazioni come il controllo dell’intersezione di un nuo-vo triangolo o la ricerca dei vertici del fronte vicini a un generico punto scorrono, apriori, tutto il fronte. Si rimanda per questi aspetti alla letteratura specializzata, e inparticolare ai Cap. 14 e 17 di [TSW99].

Come già accennato nella descrizione dell’algoritmo, la qualità della griglia ge-nerata dipende dalla procedura di scelta del lato del fronte su cui generare il nuovo

Page 421: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

412 12 Generazione di griglie in 1D e 2D

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Figura 12.12. Tecnica di avanzamento del fronte. Esempio di spaziatura non uniforme

triangolo. In particolare, una tecnica frequentemente adottata consiste nello scegliereil lato di lunghezza inferiore: intuitivamente, questo permette di soddisfare requisitidi spaziatura anche molto non uniformi, senza correre il rischio che le zone ove è ri-chiesto un maggior addensamento di nodi vengano sovrascritte da triangoli associatia zone a spaziatura più lasca. Un esempio di mesh ottenuta mediante tale tecnica, incorrispondenza della sceltaH(x, y) = e4 sin(8πx)e−2y , è rappresentato in Fig. 12.12.

Implementando gli opportuni accorgimenti e strutture dati adeguate, l’algoritmodi avanzamento fornisce una griglia la cui spaziatura è coerente con quella richiesta,con tempi di generazione pressoché proporzionali al numero di elementi generati. Inparticolare, la griglia attorno al profilo alare di Fig. 12.5 è stata ottenuta usando unalgoritmo di avanzamento del fronte, accoppiata a una tecnica di stima dell’errore aposteriori.

La tecnica di avanzamento del fronte può essere anche utilizzata per la generazionedi griglie ad elementi quadrangolari.

12.5 Tecniche di regolarizzazione

Una volta generata la griglia, può rendersi necessario un post-processing in gradodi migliorarne la regolarità. Alcuni metodi consentono di trasformare la griglia me-diante operazioni che migliorano la forma dei triangoli. In particolare prenderemo inconsiderazione tecniche di regolarizzazione che modificano le caratteristiche topolo-giche della griglia (scambio delle diagonali) e altre che ne modificano le caratteristichegeometriche (spostamento dei nodi).

12.5.1 Scambio delle diagonali

Lo scambio delle diagonali è una tecnica che consente di modificare la topologia dellagriglia senza cambiare la posizione e il numero dei suoi vertici. Tale tecnica si basa

Page 422: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

12.5 Tecniche di regolarizzazione 413

N2

N3

N2

N3

N4 N4

a) b)

N1 N1e e*

K

K

K*

K*

2

1 2

1

Figura 12.13. Le due configurazioni ottenute tramite lo scambio della diagonale nel quadrila-tero convesso formato da due elementi adiacenti. Le due configurazioni vengono confrontatesulla base di un criterio di ottimalità

sul fatto che un quadrilatero, costituito da due triangoli aventi un lato in comune, puòessere suddiviso in una coppia di triangoli in due modi diversi (si veda la Fig. 12.13).In genere lo scambio delle diagonali viene utilizzato per migliorare la qualità dellegriglie non strutturate seguendo un criterio di ottimalità prefissato. Se l’obiettivo, peresempio, è quello di evitare angoli troppo grandi, un criterio possibile è quello dieffettuare lo scambio nel caso in cui la somma degli angoli opposti alla diagonale siamaggiore di π.

Uno schema generale per un possibile algoritmo di scambio delle diagonali siottiene definendo il criterio di ottimalità a livello di elemento, sotto forma di un’ap-propriata funzione non negativa S : K → R+ ∪ {0} che assume il valore nullo nelcaso in cui l’elemento K abbia la forma e la dimensione “ottimale”. Per esempio, sipuò usare

S(K) =

∣∣∣∣ |K|∑3i=1 |eKi |2

−√3

12

∣∣∣∣, (12.3)

dove |K| indica la misura di K, eKi rappresenta un generico lato di K e |eKi | ne èla sua lunghezza. Utilizzando questa funzione si privilegiano i triangoli “vicini” altriangolo equilatero, per il quale S(K) = 0. Si otterrà quindi, in generale, una grigliala più possibile regolare, che non tiene conto però della spaziatura. Con riferimentoalla Fig. 12.13, l’algoritmo procederà quindi come segue:

1. ciclo 0: mettere a zero il contatore di lati scambiati: swap = 0;2. percorrere tutti i lati e interni della mesh corrente;3. se i due triangoli adiacenti a e formano un quadrilatero convesso:

a) calcolare G = S2(K1) + S2(K2)−[S2(K∗1 ) + S2(K∗2 )

];

b) se G ≥ τ , con τ > 0 tolleranza prefissata, allora eseguire lo scambio delladiagonale (e quindi modificare la griglia corrente) e porre swap = swap+1;

4. se swap > 0 ripartire da Ciclo 0. Altrimenti la procedura termina.

Si può verificare facilmente che questo algoritmo termina necessariamente in unnumero finito di passi perché, ad ogni scambio di diagonale, la quantità positiva∑K S2(K), dove la somma si estende a tutti i triangoli della griglia corrente, si ri-

Page 423: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

414 12 Generazione di griglie in 1D e 2D

duce della quantità finita G (si noti che, sebbene la griglia venga modificata, ad ogniscambio di diagonale il numero di elementi e di lati rimane invariato).

Osservazione 12.2 Non sempre è opportuno costruire la funzione di ottimalità S alivello di elemento. In funzione della strutture dati a disposizione, per esempio, S puòanche essere associata ai nodi o ai lati della griglia. •

La tecnica di scambio delle diagonali è anche alla base di un algoritmo moltoutilizzato per la triangolazione di Delaunay (l’algoritmo di Lawson). Si può infatti di-mostrare che, a partire da qualunque triangolazione di un dominio convesso, si puòottenere la corrispondente triangolazione di Delaunay (che, ricordiamo, è unica) attra-verso un numero finito di scambi di diagonale. Inoltre, il numero massimo di scambinecessari a tale scopo è determinabile a priori ed è funzione del numero dei verticidella griglia. La tecnica (e i risultati di convergenza) è estendibile a triangolazioni diDelaunay vincolate, attraverso una opportuna modifica dell’algoritmo. Si rimanda allaletteratura specializzata, per esempio [GB98], per i dettagli.

12.5.2 Spostamento dei nodi

Un altro metodo per migliorare la qualità della griglia consiste nello spostare i pun-ti della stessa senza modificarne la topologia. Consideriamo un vertice interno P eil poligono KP costituito dall’unione degli elementi della griglia che lo contengono.L’insieme KP è spesso chiamato “patch” di elementi associato a P ed è già statoconsiderato nella Sez. 3.5. Una tecnica di regolarizzazione, detta regolarizzazione la-placiana, o baricentrizzazione , consiste nello spostare P nel baricentro di KP , cioènel calcolarne la nuova posizione xP nel modo seguente:

xP = |KP |−1∫KPx dx

(si veda la Fig. 12.14). Tale procedimento andrà ovviamente reiterato su tutti i verticiinterni della reticolazione e ripetuto diverse volte. A convergenza, la griglia finale èquella che minimizza la quantità∑

P

∫KP(xP − x)2dx, (12.4)

dove la somma si estende a tutti i vertici interni della griglia. Il nome di tale proceduraderiva dalla nota proprietà delle funzioni armoniche (aventi Laplaciano nullo) di assu-mere in un punto del dominio un valore pari a quello della media su una curva chiusacontenente il punto.

La griglia finale, in generale, dipenderà dal modo in cui i vertici vengono percor-si. Si noti inoltre che tale procedura può fornire una griglia inaccettabile se KP è unpoligono concavo in quanto xP può cadere fuori dal poligono. Presentiamo quindiun’estensione della procedura per patch generici. Consideriamo la Fig. 12.15 che mo-stra un patch KP concavo. Definiamo CP il luogo dei punti di KP “visibili” da tutta

Page 424: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

12.5 Tecniche di regolarizzazione 415

P

P

Figura 12.14. Spostamento di un punto nel baricentro del poligono convesso formato daglielementi ad esso adiacenti

P

P

Figura 12.15. Modifica dell’algoritmo di regolarizzazione laplaciana per patch concavi. A si-nistra il “patch” iniziale ed a destra la modifica dovuta alla regolarizzazione. Si è indicato conombreggiatura il poligono concavo CP

la frontiera di KP , cioè CP = {A ∈ KP : AB ⊂ KP , ∀B ∈ ∂KP }; esso è sempreconvesso. La modifica dell’algoritmo di regolarizzazione consiste nel collocare P nonnel baricentro di KP ma in quello di CP , come illustrato in Fig. 12.15. Chiaramente,nel caso di patch convessi, si ha CP = KP . La costruzione di CP può essere eseguita inmaniera computazionalmente efficiente usando opportuni algoritmi, la cui descrizioneesula dallo scopo di questo libro.

Un’altra possibilità consiste nello spostare il vertice nel baricentro del bordo diKP (o di CP nel caso di patch concavi), cioè di porre

xP = |∂KP |−1∫∂KPx dx.

Ciò equivale a minimizzare il quadrato della distanza del vertice P dai lati cheformano il bordo del patch.

Un’ulteriore tecnica, che si trova sovente in letteratura, consiste nello spostareciascun vertice interno nel baricentro dei vertici appartenenti al patch associato, cioèdi calcolare la nuova posizione di ciascun vertice interno P tramite

xP =( ∑N∈KPN �=P

xN

)/( ∑N∈KPN �=P

1),

Page 425: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

416 12 Generazione di griglie in 1D e 2D

−2 −1 0 1 2−2

−1

0

1

2

−2 −1 0 1 2−2

−1

0

1

2

−2 −1 0 1 2−2

−1

0

1

2

−2 −1 0 1 2−2

−1

0

1

2

Figura 12.16. Esempio di regolarizzazione attraverso scambio delle diagonali e spostamentodei nodi

dove la somma si estende a tutti i vertici N appartenenti al patch. Nonostante questasia la metodologia più semplice, essa spesso non dà buoni risultati, in particolare se ladistribuzione dei vertici all’interno del patch è molto irregolare. Inoltre è più difficileestenderla a patch concavi. Sono quindi da preferirsi le due procedure descritte in pre-cedenza. In Fig. 12.16 è presentato un esempio di applicazione successiva di entrambele tecniche di regolarizzazione appena descritte. Si osservi che gli algoritmi di rego-larizzazione qui presentati tendono ad uniformare la griglia e quindi a distruggerneinfittimenti o diradamenti dovuti ad esempio a procedure di adattività di griglia co-me quelle descritte nel Cap. 3. È tuttavia possibile modificarli per tenere conto di unaspaziatura non uniforme. Per esempio, si può utilizzare una baricentrizzazione pesata,cioè porre

xP =

(∫KP

μ(x) dx

)−1 ∫KP

μ(x)x dx,

dove la funzione peso μ è una funzione strettamente positiva che dipende dalla funzio-ne di spaziatura della griglia. Nel caso di spaziatura non uniforme, μ assumerà valoripiù elevati nelle zone dove la griglia deve essere più fitta. Scegliendo ad esempioμ = H−1 la griglia risultante minimizza (in modo approssimato)∑

P

∫KP

[H−1(x)(xP − x)

]2dx,

dove la somma si estende ai vertici interni.Anche per quanto riguarda la procedura di scambio delle diagonali si può tenere

conto della spaziatura nella valutazione della configurazione “ottimale”, per esempiocambiando opportunamente la definizione della funzione S(K) in (12.3).

Page 426: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

13

Il metodo dei volumi finiti

Il metodo dei volumi finiti è assai popolare per la discretizzazione di problemi diffe-renziali in forma conservativa. Per una sua presentazione consigliamo le monografie[LeV02a] e [Wes01].Come paradigma per descrivere il metodo ed illustrarne le principali caratteristicheconsideriamo la seguente equazione evolutiva

∂tu+ div(F(u)) = s(u), x ∈ Ω, t > 0 (13.1)

dove u : (x, t) → R denota l’incognita, x ∈ Ω ⊂ Rd (d = 1, 2, 3), ∂t indica laderivata parziale rispetto a t, F è una funzione vettoriale assegnata, lineare o non-lineare, detta flusso, s è una funzione assegnata detta termine di sorgente. Se il flussoF contiene termini dipendenti dalle derivate prime di u, il problema differenziale è delsecond’ordine. L’equazione differenziale che (13.1) deve essere completata dalla con-dizione iniziale u(x, 0) = u0(x), x ∈ Ω per t = 0, nonché da opportune condizionial contorno, su tutta la frontiera ∂Ω nel caso il problema (13.1) sia del second’or-dine, oppure solo su un sotto-insieme ∂Ωin di ∂Ω (la frontiera di inflow) nel casodi problemi del prim’ordine. Abbiamo già visto nei capitoli precedenti che equazionidifferenziali di questo tipo sono dette leggi di conservazione. Il metodo ai volumi finitiopera su equazioni scritte in forma conservativa come la (13.1).

Le equazioni di diffusione-trasporto-reazione studiate nel Cap. 5, quelle di purotrasporto studiate nei Cap. 7-9, quelle paraboliche esaminate nel Cap. 6, possono tutteessere considerate come casi particolari di (13.1). In effetti tutte le equazioni diffe-renziali alle derivate parziali che derivano da leggi fisiche di conservazione possonoessere messe in forma conservativa.

Con qualche sforzo supplementare possiamo naturalmente considerare il caso vet-toriale, in cui l’incognita u è una funzione vettoriale a p componenti, così come iltermine di sorgente s, mentre il flusso F è ora un tensore di dimensione p× d. In par-ticolare, anche le equazioni di Navier-Stokes per fluidi comprimibili considerate nellaSez. 9.4 possono essere riscritte in forma conservativa.

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 427: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

418 13 Il metodo dei volumi finiti

ni1ni2

ni3

ni4

ni5

Ωi

Figura 13.1. Un volume di controllo

13.1 Alcuni principi elementari

Il passo preliminare per una discretizzazione ai volumi finiti di (13.1) consiste nell’i-dentificare un insieme di poliedri Ωi ⊂ Ω di diametro inferiore ad h, detti volumi (ocelle) di controllo, i = 1, . . . ,M , tali che ∪iΩi = Ω (assumeremo qui per semplicitàche il dominio Ω sia poligonale, in caso contrario ∪iΩi ne sarà una approssimazio-ne). Si veda la Fig. 13.1 per un esempio di volume di controllo in due dimensioni.Ipotizzeremo inoltre che le celle siano a due a due disgiunte, essendo questo il casopiù comunemente usato, anche se questa restrizione non è in principio richiesta dalmetodo.

L’equazione (13.1) viene integrata su ogni Ωi, fornendo il sistema di equazioni

∂t

∫Ωi

u dΩ +

∫∂Ωi

F(u) · ni dγ =∫Ωi

s(u) dΩ, i = 1, . . . ,M. (13.2)

Abbiamo indicato con ni il versore normale esterno a ∂Ωi. In due dimensioni, seindichiamo con nij, j = 1, . . . , Li, il versore normale esterno costante al lato lij di∂Ωi (e Li il numero di tali lati: in Fig. 13.1 Li = 5), la (13.2) si può riscrivere

∂t

∫Ωi

u dΩ +

Li∑j=1

∫lij

F(u) · nij dγ =∫Ωi

s(u) dΩ, i = 1, . . . ,M. (13.3)

Tre generi di problemi si pongono immediatamente:

- come rappresentiamo l’incognita u in ogni volume di controllo;- come approssimiamo gli integrali (di volume e di superficie);- come rappresentiamo il flusso F(u) su ogni lato, in funzione dei valori dell’inco-

gnita u sui volumi di controllo adiacenti al lato.

In generale, un metodo ai volumi finiti si caratterizza per la forma geometrica dei suoivolumi di controllo, nonché per la posizione delle incognite (ovvero per dove vengonoallocate le variabili) in ogni volume di controllo.Per la costruzione dei volumi di controllo si parte usualmente da una triangolazioneTh del dominio in elementi dello stesso genere, tipicamente triangoli o quadrilateri

Page 428: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

13.1 Alcuni principi elementari 419

xi

∂Ωxi

∂Ω

Figura 13.2. Volumi di controllo (indicati in grigio) generati da una partizione di un dominioΩquadrato con elementi quadrati di lato h. Nella figura di sinistra si riporta il caso cell-centered,in quella di destra il caso vertex-centered

in 2D, tetraedri o cubi in 3D, come succede ad esempio quando si usino gli elementifiniti. La griglia può essere strutturata, strutturata a blocchi (con blocchi disgiunti op-pure sovrapponentisi), o non strutturata. Le griglie strutturate sono limitate a dominidi forma relativamente semplice, in modo che l’intero dominio, o ogni blocco in cuisia stato suddiviso, possa essere mappato in un rettangolo o in un cubo.Una volta triangolato il dominio si possono seguire due strade.Nei metodi detti cell-centered, gli elementi della griglia Th fungono direttamente davolumi di controllo. Conseguentemente, le incognite sono collocate in un punto inter-no a ciascun elemento, tipicamente il baricentro, che chiamiamo nodo. Questa sceltaapparentemente naturale dei volumi di controllo presenta però uno svantaggio: nonessendovi nodi che giacciono sul bordo di Ω, l’imposizione delle condizioni al bordoessenziali richiederà degli accorgimenti particolari, che esamineremo in seguito. Perovviare a tale inconveniente si possono costruire i volumi di controllo attorno ai ver-tici di Th, dove verranno quindi collocate le incognite. Questo dà luogo ai cosidettischemi vertex-centered.Talvolta, in problemi a più campi che coinvolgono più variabili, entrambe le tecnichesono usate contemporaneamente per collocare le diverse incognite in nodi diversi. Sidirà in questo caso che si hanno metodi su griglie sfalsate o staggered; ne accenneremonella Sez. 13.6 dedicata alla discretizzazione delle equazioni di Navier-Stokes.

Un esempio elementare su griglia strutturata quadrangolare è riportato in Fig.13.2, dove sono indicati anche i volumi di controllo per schemi cell-centered evertex-centered. Questi ultimi sono definiti dai quadrati

ΩVi = {x ∈ Ω : ‖x− xi‖∞ < h/2}, Ωi = ΩVi ∩Ω,

essendo {xi} i vertici dei quadrati {K} della griglia di partenza Th, che coincidonoin questo caso con i nodi dei volumi di controllo.

Queste due scelte non esauriscono le possibilità che si incontrano in pratica. Tal-volta le variabili sono collocate su ciascun lato (o faccia in 3D) della griglia Th, e ilvolume di controllo corrispondente è formato dagli elementi di Th adiacenti al lato (oalla faccia).

Page 429: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

420 13 Il metodo dei volumi finiti

In generale, un approccio a volumi finiti è semplice da implementare (e le celledella discretizzazione possono essere scelte di forma assai generale), la soluzione ètipicamente considerata come una funzione costante in ogni volume di controllo, lecondizioni al contorno di Neumann si impongono in modo naturale, e la formulazio-ne stessa del problema esprime la conservazione locale della quantità

∫Ωi

u dΩ. Losvantaggio potenziale è l’oggettiva difficoltà a disegnare schemi di ordine elevato, lanecessità di dover trattare le condizioni al bordo essenziali in modo particolare peri metodi cell-centered; infine, l’analisi matematica è meno semplice che nel caso deimetodi di Galerkin non potendosi applicare direttamente le tecniche variazionali comesi fa per i metodi di Galerkin.

13.2 La costruzione dei volumi di controllo per schemivertex-centered

Nel caso di griglie non strutturate triangolari in 2D o tetraedriche in 3D, la costruzionedei volumi di controllo attorno ai vertici di Th non è ovvia. In teoria si potrebbe sce-gliere come volume di controllo Ωi l’insieme di tutti gli elementi che contengono ilvertice xi. Questo però genererebbe dei volumi di controllo a intersezione non nulla,una situazione che, per quanto ammissibile, non è desiderabile.Ci si può allora avvalere di alcuni concetti geometrici. Consideriamo a titolo di esem-pio un dominio bidimensionale Ω ⊂ R2, limitato, con frontiera poligonale, e sia{xi}i∈P un insieme di punti, che chiameremo nodi, di Ω. Tipicamente questi pun-ti sono quelli in cui si intende fornire un’approssimazione della soluzione u. Qui Pindica un insieme di indici. A ciascun nodo associamo il poligono

ΩVi = {x ∈ R2 : |x− xi| < |x− xj |, ∀j �= i}, (13.4)

con i ∈ P. L’insieme {ΩVi , i ∈ P} è detto diagramma, o anche tassellazione, diVoronoi associato all’insieme di punti {xi}i∈P ; ΩVi è chiamato i-esimo poligono diVoronoi. Per un esempio si veda la Fig. 13.3. I poligoni così ottenuti sono convessi, manon necessariamente limitati (si considerino ad esempio quelli adiacenti la frontiera).I loro vertici sono detti vertici di Voronoi, e sono detti regolari quando sono puntod’incontro di tre poligoni di Voronoi, degeneri se ve ne convergono almeno quattro.Una tassellazione di Voronoi con tutti i vertici regolari è detta a sua volta regolare.

xixk

∂Ω

Ωi = ΩVi Ωk

Figura 13.3. Un diagramma di Voronoi

Page 430: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

13.2 La costruzione dei volumi di controllo per schemi vertex-centered 421

Ωi

Kj

Figura 13.4. Triangolazione di Delaunay (a destra) ottenuta a partire da diagramma di Voronoi(a sinistra). I pallini indicano i nodi {xi}i∈P

A questo punto possiamo definire i volumi di controllo Ωi introdotti nella prece-dente sezione come

Ωi = ΩVi ∩Ω, i ∈ P. (13.5)

Per ogni i ∈ P, indichiamo con Pi l’insieme degli indici dei nodi adiacenti a xi,ovvero

Pi = {j ∈ P\{i} : ∂Ωi ∩ ∂Ωj �= ∅}.

Indichiamo inoltre con lij = ∂Ωi ∩ ∂Ωj , j ∈ Pi, un lato della frontiera di Ωi condi-viso da un volume di controllo adiacente, e con mij la sua lunghezza.Se il diagramma di Voronoi è regolare si ha che mij > 0. In questo caso, se con-giungiamo ciascun nodo xi con i nodi di Pi otteniamo una triangolazione di Ω checoincide con la triangolazione di Delaunay (si veda la Sez. 12.4.1) dell’inviluppo con-vesso dei nodi. Nel caso ci siano dei vertici degeneri nella tassellazione di Voronoi,da questa procedura si ottiene ancora una triangolazione di Delaunay operando unatriangolazione opportuna dei poligoni Ωi costruiti intorno ai vertici degeneri. Chiara-mente, se Ω è convesso il procedimento sopra descritto ne fornisce direttamente unatriangolazione di Delaunay. Si veda per un esempio la Fig. 13.4. Il procedimento in-verso è pure possibile, notando che i vertici del diagramma di Voronoi corrispondonoai centri dei cerchi circoscritti ai triangoli (circocentri) della triangolazione di De-launay corrispondente. Gli assi dei triangoli formano quindi i lati della tassellazione.

Kj

Ωi

Figura 13.5. Diagramma di Voronoi (a destra) ottenuto a partire da una triangolazione diDelaunay (a sinistra)

Page 431: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

422 13 Il metodo dei volumi finiti

v1

v2

v3

GΩ1,K

Ω2,K

Ω3,K

Figura 13.6. Un triangoloK , il suo baricentroG = 13(v1 + v2 + v3), e i poligoniΩi,K

Quest’ultima rappresenta quindi un possibile insieme di volumi di controllo associatoad una assegnata triangolazione di Delaunay (si veda per un esempio la Fig. 13.5).

Il diagramma di Voronoi e la triangolazione di Delaunay stanno in effetti in unarelazione di dualitá: ad ogni vertice della tassellazione di Voronoi corrisponde biu-nivocamente un elemento (triangolo) della triangolazione di Delaunay e ogni verticedella triangolazione di Delaunay è in corrispondenza biunivoca con un poligono dellatassellazione e quindi con un nodo.

Vi sono due interessanti proprietà che vale la pena di sottolineare. La prima è che ilcentro del cerchio circoscritto ad un triangolo non ottuso K sta all’interno della chiu-sura di K. Pertanto se una triangolazione di Delaunay ha tutti gli angoli non ottusi, ivertici del diagramma di Voronoi corrispondente sono tutti contenuti in Ω. La secondaè che, se indichiamo con vi, i = 1, 2, 3, i vertici del triangolo non ottuso K, e conΩi,K = Ωi ∩K la porzione del volume di controllo Ωi inclusa in K, allora si hannole seguenti disuguaglianze tra le misure di K e Ωi,K

1

4|K| ≤ |Ωi,K| ≤

1

2|K|, i = 1, 2, 3. (13.6)

Un’alternativa alla costruzione basata sul diagramma di Voronoi che non necessitadi una triangolazione di Delaunay consiste nel partire da una triangolazione Th di Ωformata da triangoli qualunque, anche ottusi. Se K è il generico triangolo di Th divertici vi, i = 1, 2, 3, definiamo ora

Ωi,K = {x ∈ K : λj(x) < λi(x), j �= i}

dove λj sono le coordinate baricentriche rispetto a K (si veda la Sez. 5.8.8 e il Cap. 12per la loro definizione). Un esempio è riportato in Fig. 13.6. A questo punto i volumidi controllo possono essere definiti nel modo seguente:

Ωi = int( ⋃{K : vi∈∂K}

Ωi,K

), i ∈ P,

dove int(D) denota l’interno dell’insieme chiuso D. La famiglia {Ωi, i ∈ P} defi-nisce la cosiddetta “median dual grid” (più raramente detta diagramma di Donald).Si veda la Fig. 13.7 per un esempio. Conseguentemente si possono definire le quan-tità lij , mij e Pi come fatto per il diagramma di Voronoi. Gli elementi lij non sononecessariamente segmenti rettilinei.

Page 432: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

13.3 Discretizzazione di un problema di diffusione-trasporto-reazione 423

KjΩi

Figura 13.7. Triangolazione del dominio (a sinistra) e median dual grid, o diagramma di Donald(a destra)

13.3 Discretizzazione di un problema didiffusione-trasporto-reazione

Consideriamo a titolo d’esempio l’equazione (13.1) in cui

F(u) = −μ∇u+ b u, s(u) = f − σ u. (13.7)

Si tratta di un problema evolutivo di tipo diffusione-trasporto-reazione scritto in for-ma conservativa, simile a quello descritto all’inizio del Cap. 5. Le funzioni f, μ, σ eb sono assegnate; per esse si faranno le ipotesi previste all’inizio del Cap. 5. Comenel caso del problema (5.1), anche qui si supporrà per semplicità che u soddisfi unacondizione al bordo di tipo Dirichlet omogeneo, u = 0 su ∂Ω. Supponiamo che Ωsia partizionato da un diagramma di Voronoi e si consideri la corrispondente triango-lazione di Delaunay (come indicato ad esempio in Fig. 13.4). Quanto segue è in realtàestendibile anche ad altre tipologie di volumi finiti. Sarà sufficiente considerare l’in-sieme dei soli indici interni, Pint = {i ∈ P : xi ∈ Ω}, essendo u nulla al bordo.Integrando l’equazione assegnata sul volume di controllo Ωi come fatto in (13.3) edusando il teorema della divergenza, troviamo

∂t

∫Ωi

u dΩ+

Li∑j=1

∫lij

(− μ

∂u

∂nij+b ·nij u

)dγ =

∫Ωi

(f − σ u

)dΩ, i = 1, . . . ,

◦M,

(13.8)

avendo indicato con◦M l’insieme degli indici di Pint. Al fine di approssimare gli

integrali di linea, una strategia usuale consiste nell’approssimare le funzioni μ e b ·nijcon costanti a tratti, precisamente

μ∣∣lij∼ μij = cost > 0, b · nij

∣∣lij∼ bij = cost. (13.9)

Tali costanti possono rappresentare il valore della corrispondente funzione nel puntomedio del segmento lij , oppure il valor medio sullo stesso lato, ovvero

μij =1

mij

∫lij

μ dγ, bij =1

mij

∫lij

b · nij dγ, se mij > 0.

Page 433: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

424 13 Il metodo dei volumi finiti

xi

xj

lij

Figura 13.8. Il segmento lij

Per quanto riguarda le derivate normali, una possibilità consiste nell’approssimarlecon rapporti incrementali del tipo

∂u

∂nij∼ u(xj) − u(xi)

|xj − xi|

(si veda per un esempio la Fig. 13.8). Naturalmente questa formula è esatta se u èlineare sul segmento congiungente xi e xj . Infine, per quanto concerne l’approssi-mazione dell’integrale di u su lij , si sostituisce u

∣∣lij

con una costante ottenuta percombinazione lineare convessa, ovvero

u∣∣lij� ρij u(xi) + (1− ρij)u(xj),

essendo ρij ∈ [0, 1] un parametro da definire. Operando le approssimazioni pre-cedentemente introdotte ed indicando con ui l’approssimazione del valore u(xi)dell’incognita, possiamo derivare dalla (13.8) le seguenti equazioni approssimate:

midui

dt+

Li∑j=1

mij {−μijuj − ui

δij+ bij [ ρij ui + (1− ρij)uj ]}

+mi σi ui = mi fi, i = 1, . . . ,◦M,

(13.10)

avendo indicato con mi la misura di Ωi, con σi e fi i valori di σ e f in xi e con δij ladistanza di xi da xj . Si noti che la (13.10) può essere scritta nella forma

miduidt+

Li∑j=1

mij Hij(ui, uj) + mi σi ui = mi fi, (13.11)

dove Hij è il cosiddetto flusso numerico che rappresenta il contributo dell’appros-simazione del flusso attraverso il lato lij . Il concetto di flusso numerico è già statointrodotto nei Cap. 7 e 9, nel contesto di schemi alle differenze finite per equazioniiperboliche. Anche alcune caratteristiche del flusso numerico si traducono in proprie-tà dello schema. Per esempio, per avere uno schema conservativo sarà necessario cheHij(ui, uj) = −Hji(uj , ui).

Page 434: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

13.4 Analisi dell’approssimazione ai volumi finiti 425

13.4 Analisi dell’approssimazione ai volumi finiti

Il sistema di equazioni (13.10) si può riscrivere nella forma di un problema variazio-

nale discreto procedendo nel modo seguente. Per ogni i = 1, . . . ,◦M , si moltiplica

l’equazione i-esima per un numero reale vi, quindi si somma sull’indice i, ottenendo

◦M∑i=1

mi vidui

dt+

◦M∑i=1

vi

Li∑j=1

mij {−μijuj − ui

δij+ bij [ ρij ui + (1− ρij)uj ]}

+

◦M∑i=1

mi σi vi ui =

◦M∑i=1

mi vi fi.

(13.12)Si indichi ora con Vh lo spazio delle funzioni continue lineari a pezzi rispetto allatriangolazione Th di Delaunay, che si annullano al bordo (si veda la (3.17)). Da uninsieme di valori vi possiamo ricostruire in modo univoco una funzione vh ∈ Vh cheinterpola tali valori nei nodi xi, ovvero

vh ∈ Vh : vh(xi) = vi, i = 1, . . . ,◦M .

In modo analogo, sia uh ∈ Vh la funzione interpolante i valori ui in xi. Allora la(13.12) si riscrive equivalentemente nella seguente forma “variazionale” discreta: perogni t > 0, trovare uh = uh(t) ∈ Vh t.c.

(∂tuh, vh)h + ah(uh, vh) = (f, vh)h ∀vh ∈ Vh, (13.13)

avendo posto (wh, vh)h =∑ ◦Mi=1 mi vi wi ed avendo indicato con ah(uh, vh) la for-

ma bilineare che compare al primo membro della (13.12). Si è dunque interpretatal’approssimazione ai volumi finiti come un caso particolare del metodo di Galerkingeneralizzato per il problema assegnato. Per quanto concerne la scelta dei coefficientiρij della combinazione lineare, una possibilità è di usare ρij = 1/2, il che corrispondead usare una differenza finita di tipo centrato per il termine convettivo. Questa strate-gia è adeguata quando il numero di Péclet locale non è tanto grande, ovvero non vi èalcuna coppia di indici i, j per cui si verifica che

μij � |bij| δij.Quando invece ciò si verifichi si impone una scelta più oculata dei coefficienti ρijdella combinazione convessa. In generale, ρij = ϕ(bij δij/μij), dove ϕ è una fun-zione del numero di Péclet locale a valori in [0, 1] che può essere scelta come segue:se ϕ(z) = 1/2 [sign(z) + 1] avremo una stabilizzazione di tipo upwind, mentre sce-gliendo ϕ(z) = 1 − (1 − z/(ez − 1))/z si avrà una stabilizzazione di tipo fitting-esponenziale. Con questa scelta si può mostrare che ah(·, ·) è una forma bilineare, èVh-ellittica, uniformemente rispetto a h, nella consueta ipotesi che i coefficienti delproblema soddisfino la condizione di positività 1/2 div(b) + σ ≥ β0 = cost ≥ 0.Precisamente, supponendo μ ≥ μ0 = cost > 0,

ah(vh, vh) ≥ μ0 |vh|2H1(Ω) + β0 (vh, vh)h.

Page 435: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

426 13 Il metodo dei volumi finiti

Essendo inoltre (vh, vh)h uniformemente equivalente al prodotto scalare esatto (vh, vh)per funzioni di Vh, ciò assicura la stabilità del problema (13.13). Infine, il metodo èconvergente, linearmente rispetto ad h. Precisamente

‖u− uh‖H1(Ω) ≤ C h(‖u‖H2(Ω) + |∇f |L∞(Ω)

)nell’ipotesi che le norme a secondo membro siano limitate. Per la dimostrazione siveda, ad esempio, [KA00]. Rinviamo alla stessa referenza anche per l’analisi di altreproprietà del metodo, quali la monotonia e le proprietà di conservazione.

13.5 Implementazione delle condizioni al bordo

Come detto il problema differenziale considerato va completato con condizioni al bor-do opportune. Per un problema scritto in forma conservativa le condizioni al bordonaturali consistono nell’imporre i flussi, ovvero

F(u) · n = h su ΓN ⊂ ∂Ω.

La loro implementazione nel contesto dei volumi finiti è immediata. Basta agire sulflusso numerico relativo ai lati di bordo, imponendo

Hik = H(ui, uk) = h(xik) se lik ⊂ ΓN ,

dove xik è un punto opportuno contenuto in lik, tipicamente il punto medio.Per quanto riguarda le condizioni di tipo essenziale, o di Dirichlet, della forma

u = g su ΓD ⊂ ∂Ω,

la loro applicazione è immediata nel contesto di schemi vertex-centered in quantobasta aggiungere l’equazione corrispondente per i nodi giacenti su ΓD.

Come già osservato, la questione è più delicata per schemi cell-centered, non es-sendoci in questo caso nodi sul bordo. Una possibilità è quella di imporre le condizionidebolmente, in modo analogo a quanto già illustrato, in un contesto diverso, nel Cap.7. Si tratta di modificare opportunamente i flussi numerici sui lati imponendo

Hik = H(ui, g(xik)) se lik ⊂ ΓD .

La Fig. 13.9 illustra la situazione per un volume di controllo cell-centered adiacenteal bordo.

Spesso tuttavia, nella pratica, la condizione al bordo di Dirichlet per i volumi fi-niti cell-centered viene implementata utilizzando i cosidetti nodi fantasma. In praticaper ogni lato lik sul bordo si generano dei nodi addizionali, esterni al dominio, a cuivengono attribuiti i valori al bordo corrispondenti. In questo modo il calcolo dei flussinumerici è formalmente identico anche per i lati al bordo.

Page 436: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

13.6 Cenni alla discretizzazione delle equazioni di Navier-Stokes 427

xilik

Figura 13.9. Il flusso numerico sul lato lik appartenete al bordo di Dirichlet viene calcolato inmodo da implementare la condizione al bordo

13.6 Cenni alla discretizzazione delle equazioni di Navier-Stokes

Come già accennato, le tecniche sopra descritte si possono estendere al caso vettoriale.Un caso notevole riguarda le equazioni di Navier-Stokes incomprimibili, descritte nelCap. 10. Qui, infatti, la natura di punto sella del problema rende la scelta dei volumi dicontrollo critica. La scelta più naturale, con i nodi di velocità e pressione coincidenti,può generare modi spuri di pressione. Il motivo è analogo a quanto già analizzatonel Cap. 10: gli spazi discreti che soggiacciono implicitamente alla scelta dei volumidi controllo devono soddisfare una condizione di compatibilità se vogliamo che ilproblema sia ben posto.

Per questa ragione è d’uso adottare volumi di controllo, e conseguentemente no-di, differenti per velocità e pressione. Un esempio è illustrato in Fig. 13.10, dove simostra una possibile scelta dei nodi per le componenti della velocità e di quelli per lapressione (sulla griglia sfalsata) nonché i corrispondenti volumi di controllo. I volumidi controllo relativi alla velocità vengono usati per la discretizzazione delle equazio-ni della quantità di moto, mentre quelli di pressione per l’equazione di continuità. Sirammenta che quest’ultima non contiene il termine di derivata temporale. Alternativa-mente, si possono adottare tecniche di stabilizzazione analoghe a quelle viste nel Cap.10, che permettono di collocare i nodi di velocità e pressione nella stessa griglia. Il let-tore interessato può consultare, per maggiori dettagli, le monografie [FP02], [Kro97],[Pat80] e [VM96].

up

Figura 13.10. Una griglia sfalsata per la velocità e la pressione. A sinistra sono tratteggiatii volumi di controllo per l’equazione di continuità, a destra quelli usati per le equazioni delmomento

Page 437: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

428 13 Il metodo dei volumi finiti

L’approccio a volumi finiti è largamente utilizzato per la risoluzione di proble-mi descritti da equazioni differenziali, con applicazioni in diversi campi della fisica edell’ingegneria. In particolare, i codici commerciali più utilizzati in campo fluidodina-mico adottano schemi a volumi finiti per la soluzione delle equazioni di Navier-Stokesaccoppiate a modelli di turbolenza, transizione, combustione, trasporto e reazione dispecie chimiche.

Sulla copertina di questo libro è riprodotta un’immagine relativa al flusso incom-primibile attorno a 5 cilindri (si tratta dello stesso problema descritto nell’esempio10.1) con un numero di Reynolds di 200. L’immagine mostra il campo di vorticitàottenuto risolvendo le equazioni di Navier-Stokes con una discretizzazione a volumifiniti di tipo cell-centered. La griglia di calcolo utilizzata contiene 103932 elementi edun passo temporale Δt = 0.001.

È inoltre qui riportata, sempre a titolo di esempio, una simulazione del flusso idro-dinamico attorno ad una barca a vela da competizione in navigazione di bolina, fina-lizzata allo studio dell’efficienza delle appendici (bulbo, chiglia e alette) (si veda laFig. 13.11 a sinistra). La griglia di calcolo utilizzata in questo caso è di tipo ibrido,con elementi superficiali di forma triangolare e quadrangolare, ed elementi di volumedi forma tetraedrica, esaedrica, prismatica e piramidale (si veda la Fig. 13.11 a destra).

Il flusso idrodinamico intorno allo scafo è stato simulato risolvendo le equazionidi Navier–Stokes per fluidi a superficie libera (si veda la Sez. 10.9) accoppiate ad unmodello di turbolenza k − ε [MP94], tramite un approccio di tipo RANS (ReynoldsAveraged Navier–Stokes). Le incognite del problema sono i valori delle variabili (ve-locità, pressione e quantità turbolente) al centro dei volumi di controllo, che in questocaso corrispondono agli elementi di volume della griglia.

Le equazioni di Navier–Stokes sono risolte utilizzando uno schema a passi frazio-nari come descritto in Sez. 10.7.3. Come precedentemente ricordato in questa sezione,la scelta di collocare pressione e velocità negli stessi punti rende necessario adottareuna opportuna stabilizzazione delle equazioni [RC83]. Per il calcolo della superficielibera si sono usati sia il metodo Volume-of-Fluid sia quello basato sulla tecnica LevelSet, descritti nelle Sezioni 10.9.5 e 10.9.6, quest’ultimo essendo più costoso dal puntodi vista computazionale ma meno dissipativo.

Simulazioni di questo tipo possono richiedere griglie di dimensioni molto elevate,nei casi in cui si vogliano riprodurre fenomeni fluidodinamici complessi come il flussoturbolento su geometrie composite o la presenza di regioni di separazione di flusso.La griglia utilizzata in questo caso è composta da 5 milioni di celle e dà origine adun sistema algebrico con 30 milioni di incognite. Problemi di questa taglia vengonoin genere risolti ricorrendo a tecniche di calcolo parallelo basate su schemi di decom-posizione di domini visti nel Cap. 14 in modo da poter distribuire il calcolo su piùprocessori.

L’analisi delle distribuzioni di pressione e di sforzi tangenziali a parete, nonché lavisualizzazione del flusso tridimensionale attraverso l’utilizzo di linee di flusso (si ve-dano le Figg. 13.12 e 13.13) risultano molto utili nella fase del progetto idrodinamicofinalizzato all’ottimizzazione delle prestazioni dell’imbarcazione (si veda ad esempio[PQ05],[PQ07]).

Page 438: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

13.6 Cenni alla discretizzazione delle equazioni di Navier-Stokes 429

Figura 13.11. Geometria dello scafo e delle appendici (a sinistra) e dettaglio della grigliasuperficiale all’intersezione chiglia-bulbo (a destra)

Figura 13.12. Distribuzione superficiale di pressione (a sinistra) e linee di corrente attorno alleappendici dello scafo (a destra)

Figura 13.13. Linee di corrente attorno alle vele in navigazione di poppa (a sinistra) e linee dicorrente attorno alle appendici dello scafo (a destra)

Page 439: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14

Il metodo di decomposizione dei domini

14.1 Introduzione

In questo capitolo faremo un’introduzione elementare del metodo di decomposizio-ne dei domini (DD, per brevità). Nella sua versione più comune, questo metodo sipuò usare nell’ambito di un qualunque metodo di discretizzazione (come, ad esem-pio, quello agli elementi finiti, ai volumi finiti, alle differenze finite o agli elementispettrali) per renderne più efficace la risoluzione algebrica su piattaforme di calcoloparallelo. Il metodo DD consente di riformulare un problema ai limiti assegnato suuna partizione in sotto-domini del dominio di calcolo. Come tale ben si presta an-che alla risoluzione di problemi eterogenei (o di multifisica), governati da equazionidifferenziali di tipo diverso in diverse sotto-regioni del dominio computazionale.

Sia Ω un dominio di dimensione d = 2, 3, con frontiera Lipschitziana ∂Ω e sudi esso si consideri un problema differenziale come, ad esempio, quelli incontrati neicapitoli 2 e 5: ⎧⎪⎪⎪⎨⎪⎪⎪⎩

Lu = f in Ω,

u = ϕ su ΓD,

∂u

∂n= ψ suΓN .

(14.1)

L è un operatore ellittico su Ω (ad esempio, il Laplaciano o l’operatore di diffusione etrasporto), mentre ϕ, ψ sono due funzioni assegnate su ΓD e ΓN , rispettivamente, con

ΓD ∪ ΓN = ∂Ω,◦ΓD ∩

◦ΓN= ∅.

L’idea alla base dei metodi DD è quella di suddividere il dominio globale Ω in dueo più sotto-domini su cui risolvere dei problemi discretizzati di dimensione minorerispetto a quello iniziale, utilizzando possibilmente degli algoritmi paralleli. In parti-colare, esistono due modi differenti con cui fare una decomposizione del dominio Ω,a seconda che si usino sotto-domini con o senza sovrapposizione (si veda la Figura14.1). Tale scelta individuerà metodi differenti per la risoluzione del problema asse-gnato.

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 440: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

432 14 Il metodo di decomposizione dei domini

1

2

1

2

121

Ω

Ω

Ω

Ω

ΓΓ

ΓΓ

Figura 14.1. Esempi di partizione del dominio Ω con e senza sovrapposizione

Come lettura di riferimento per le tecniche di decomposizione di domini, rimandiamo,ad esempio, a [QV99, TW05, BGS96, MQ89].

14.2 Tre classici metodi iterativi basati su DD

Introduciamo in questa sezione tre diversi schemi iterativi partendo dal problema mo-dello (14.1), operate per comodità le scelte ϕ = 0 e ΓN = ∅: trovare u : Ω → R taleche {

Lu = f in Ω,

u = 0 su ∂Ω,(14.2)

L essendo un generico operatore ellittico del second’ordine. La sua formulazionedebole è

trovare u ∈ V = H10(Ω) : a(u, v) = (f, v) ∀v ∈ V, (14.3)

essendo a(·, ·) la forma bilineare associata a L.

14.2.1 Il metodo di Schwarz

Consideriamo una decomposizione del dominio Ω in due sotto-domini Ω1 e Ω2 taliche Ω = Ω1 ∪ Ω2, Ω1 ∩ Ω2 = Γ12 �= ∅ (si veda la Figura 14.1) e sia Γi = ∂Ωi \(∂Ω ∩ ∂Ωi).

Consideriamo il seguente metodo iterativo: dato u(0)2 su Γ1, si risolvano i seguenti

problemi per k ≥ 1: ⎧⎪⎪⎪⎨⎪⎪⎪⎩Lu(k)1 = f in Ω1,

u(k)1 = u

(k−1)2 su Γ1,

u(k)1 = 0 su ∂Ω1 \ Γ1,

(14.4)

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

Lu(k)2 = f in Ω2,

u(k)2 =

⎧⎨⎩ u(k)1

u(k−1)1

su Γ2,

u(k)2 = 0 su ∂Ω2 \ Γ2.

(14.5)

Page 441: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.2 Tre classici metodi iterativi basati su DD 433

Nel caso in cui in (14.5) si scelga u(k)1 su Γ2 il metodo è detto di Schwarz moltiplica-

tivo, mentre quello in cui si scelga u(k−1)1 si dice di Schwarz additivo. Ne capiremo la

ragione più avanti, nella Sez. 14.7. Abbiamo così due problemi ellittici con condizionial bordo di Dirichlet per i due sotto-domini Ω1 e Ω2, e vogliamo che le due succes-sioni {u(k)1 } e {u(k)2 } tendano alle rispettive restrizioni della soluzione u del problema(14.2), ovvero

limk→∞

u(k)1 = u|Ω1 e lim

k→∞u(k)2 = u|Ω2 .

Si può dimostrare che il metodo di Schwarz applicato al problema (14.2) convergesempre alla soluzione del problema di partenza, con una velocità che aumenta all’au-mentare della misura |Γ12| di Γ12. Mostriamo questo risultato in un semplice casomonodimensionale.

Esempio 14.1 Sia Ω = (a, b) e siano γ1, γ2 ∈ (a, b) tali che a < γ2 < γ1 < b (si veda laFigura 14.2). I due problemi (14.4) e (14.5) diventano

Ω1

Ω2

a bγ1γ2

a bγ1γ2

u(0)2

u(1)1

u(1)2

u(2)1

u(2)2

Figura 14.2. Esempio di decomposizione con sovrapposizione in dimensione 1 (a sinistra).Alcune iterazioni del metodo di Schwarz moltiplicativo per il problema (14.8) (a destra)

⎧⎪⎪⎪⎨⎪⎪⎪⎩Lu(k)1 = f, a < x < γ1,

u(k)1 = u

(k−1)2 , x = γ1,

u(k)1 = 0, x = a,

(14.6)

⎧⎪⎪⎪⎨⎪⎪⎪⎩Lu(k)2 = f, γ2 < x < b,

u(k)2 = u

(k)1 , x = γ2,

u(k)2 = 0, x = b.

(14.7)

Per dimostrare la convergenza di tale schema, consideriamo il problema semplificato{−u′′(x) = 0, a < x < b,

u(a) = u(b) = 0,(14.8)

ovvero il problema modello (14.2) conL = −d2/dx2 e f = 0, la cui soluzione è evidentementeu = 0 in (a, b). Ciò non è restrittivo in quanto l’errore u−u(k)1 , u−u(k)2 ad ogni passo verifica

Page 442: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

434 14 Il metodo di decomposizione dei domini

un problema come (14.6)-(14.7) con termine forzante nullo.Sia k = 1; dal momento che (u(1)1 )

′′ = 0, u(1)1 (x) è una funzione lineare e, in particolare,coincide con la retta che assume il valore zero in x = a e u(0)2 in x = γ1. Conoscendo dunqueil valore di u(1)1 in γ2 si può risolvere il problema (14.7) che, a sua volta, è caratterizzato da unasoluzione lineare. Si procede poi in modo analogo. Mostriamo in Figura 14.2 alcune iterazioni:si vede chiaramente che il metodo converge e che la velocità di convergenza si riduce al ridursidella lunghezza dell’intervallo (γ2, γ1). �

Osserviamo che il metodo iterativo di Schwarz (14.4)-(14.5) richiede, ad ogni pas-so, la risoluzione di due sotto-problemi con condizioni al bordo dello stesso tipo diquelle del problema di partenza: infatti si parte da un problema con condizioni di Di-richlet omogenee in Ω e si risolvono due problemi con condizioni al bordo ancora diDirichlet su Ω1 e Ω2.Se il problema differenziale (14.2) fosse stato completato invece da una condizione diNeumann su tutto il bordo ∂Ω, ci si sarebbe ricondotti alla risoluzione di un problemamisto (di tipo Dirichlet-Neumann) su ciascuno dei sotto-domini Ω1 e Ω2.

14.2.2 Il metodo di Dirichlet-Neumann

Decomponiamo ora il dominio Ω in due sotto-domini senza sovrapposizione (si vedala Figura 14.1): siano dunque Ω1, Ω2 ⊂ Ω, tali che Ω1 ∪ Ω2 = Ω, Ω1 ∩ Ω2 = Γe Ω1 ∩Ω2 = ∅. Nel seguito indicheremo con ni la normale esterna al dominio Ωi, eutilizzeremo la seguente convenzione: n = n1 = −n2.

Si può dimostrare il seguente risultato (si veda [QV99]):

Teorema 14.1 (d’equivalenza) La soluzione u del problema (14.2) è tale cheu|Ωi = ui per i = 1, 2, dove ui è la soluzione del problema{

Lui = f in Ωi,

ui = 0 su ∂Ωi \ Γ,(14.9)

con condizioni di interfacciau1 = u2 (14.10)

e∂u1∂nL

=∂u2∂nL

(14.11)

su Γ , avendo indicato con ∂/∂nL la derivata conormale (si veda (2.34)).

Grazie a questo risultato, si può scomporre il problema (14.2) attribuendo alle con-dizioni di accoppiamento (14.10)-(14.11) il ruolo di “condizioni al bordo” sull’inter-faccia Γ per i due sottoproblemi. In particolare si può costruire il seguente metodoiterativo, detto di Dirichlet-Neumann:

Page 443: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.2 Tre classici metodi iterativi basati su DD 435

assegnato u(0)2 su Γ , si risolvano per k ≥ 1 i problemi⎧⎪⎪⎪⎨⎪⎪⎪⎩

Lu(k)1 = f in Ω1,

u(k)1 = u

(k−1)2 su Γ,

u(k)1 = 0 su ∂Ω1 \ Γ,

(14.12)

⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩Lu(k)2 = f in Ω2,

∂u(k)2

∂n=

∂u(k)1

∂nsu Γ,

u(k)2 = 0 su ∂Ω2 \ Γ.

(14.13)

Si è utilizzata la (14.10) come condizione di Dirichlet su Γ per il sotto-problema asso-ciato a Ω1 e la (14.11) come condizione di Neumann su Γ per il problema assegnatosu Ω2.Si nota dunque che, a differenza del metodo di Schwarz, il metodo di Dirichlet-Neumann introduce un problema di Neumann sul secondo sotto-dominio Ω2. La so-luzione del problema di partenza è dunque ottenuta risolvendo, successivamente, unproblema di Dirichlet e un problema misto sui due sotto-domini. Inoltre il teoremadi equivalenza 14.1 garantisce che, quando le successioni {u(k)1 } e {u(k)2 } convergo-no, allora convergono sempre alla soluzione esatta del problema (14.2). Il metodo diDirichlet-Neumann è dunque consistente. Tuttavia la convergenza di tale metodo nonè sempre garantita. Andiamo a verificarlo con l’aiuto di un semplice esempio.

Esempio 14.2 Sia Ω = (a, b), γ ∈ (a, b), L = −d2/dx2 e f = 0. Si hanno dunque i dueseguenti sotto-problemi: ⎧⎪⎪⎪⎨⎪⎪⎪⎩

−(u(k)1 )′′ = 0, a < x < γ,

u(k)1 = u

(k−1)2 , x = γ,

u(k)1 = 0, x = a,

(14.14)

⎧⎪⎪⎪⎨⎪⎪⎪⎩−(u(k)2 )′′ = 0, γ < x < b,

(u(k)2 )

′ = (u(k)1 )′, x = γ,

u(k)2 = 0, x = b.

(14.15)

Procedendo come nell’Esempio 14.1, si può dimostrare che le successioni ottenute convergonosolamente se γ > (a+ b)/2, come mostrato graficamente in Figura 14.3. �

In generale, per i problemi di dimensione generica d > 1, si deve avere che la mi-sura del sotto-dominio Ω1 sia più grande di quella del dominio Ω2 al fine di garantirela convergenza del metodo (14.12)-(14.13). Tuttavia questo rappresenta un vincolomolto forte e difficile da soddisfare, soprattutto nel momento in cui si debbano utiliz-zare parecchi sotto-domini.Tale limitazione viene superata introducendo una variante del metodo iterativo Dirichlet-Neumann, rimpiazzando la condizione di Dirichlet (14.12)2 nel primo sotto-problema

Page 444: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

436 14 Il metodo di decomposizione dei domini

a bγ

u(0)2

u(1)2

a+b2

u(2)2 a b

γ

u(0)2

u(1)2

a+b2

Figura 14.3. Esempio di iterazioni convergenti (a sinistra), e divergenti (a destra) per il metododi Dirichlet-Neumann in 1D

con la seguenteu(k)1 = θu

(k−1)2 + (1− θ)u

(k−1)1 su Γ, (14.16)

introducendo cioè un rilassamento che dipende da un parametro positivo θ. Si osserviche in questo modo è sempre possibile ridurre l’errore fra un’iterata e la successiva.Nel caso rappresentato in Figura 14.3 si può facilmente dimostrare che, se si sceglie

θopt = −u(k−1)1

u(k−1)2 − u

(k−1)1

, (14.17)

il metodo converge in una sola iterazione.

Più in generale si può dimostrare che, in dimensione d ≥ 1, esiste un interval-lo in cui scegliere il parametro θ in modo da garantire la convergenza del meto-do di Dirichlet-Neumann e, in particolare, è possibile determinare un valore massi-mo θmax < 1 per il parametro di rilassamento tale che l’intervallo di cui sopra sia(0, θmax).

14.2.3 Il metodo di Neumann-Neumann

Si consideri ancora una partizione del dominio Ω senza sovrapposizione e indichiamocon λ il valore (incognito) della soluzione u in corrispondenza dell’interfaccia Γ .Introduciamo lo schema iterativo seguente: dato λ(0) su Γ , si risolvano i seguentiproblemi per k ≥ 0 e i = 1, 2:⎧⎪⎪⎪⎨⎪⎪⎪⎩

−�u(k+1)i = f in Ωi,

u(k+1)i = λ(k) su Γ,

u(k+1)i = 0 su ∂Ωi \ Γ,

(14.18)

Page 445: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.3 Formulazione multi-dominio 437⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩−�ψ

(k+1)i = 0 in Ωi,

∂ψ(k+1)i

∂n=

∂u(k+1)1

∂n− ∂u

(k+1)2

∂nsu Γ,

ψ(k+1)i = 0 su ∂Ωi \ Γ,

(14.19)

conλ(k+1) = λ(k) − θ

(σ1ψ

(k+1)1|Γ − σ2ψ

(k+1)2|Γ

), (14.20)

essendo θ un parametro d’accelerazione positivo, σ1 e σ2 due coefficienti positi-vi. Questo metodo iterativo è detto di Neumann-Neumann. Si osservi che nella fase(14.18) ci si preoccupa di raccordare su Γ solo le funzioni u(k+1)1 e u

(k+1)2 ma non

le loro derivate normali. Quest’ultimo requisito viene soddisfatto nella fase (14.19),(14.20) attraverso le funzioni di correzione ψ

(k+1)1 e ψ

(k+1)2 .

14.2.4 Il metodo di Robin-Robin

Consideriamo infine il seguente metodo iterativo, detto di Robin-Robin. Per ognik ≥ 0 risolviamo i seguenti problemi:⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

−�u(k+1)1 = f in Ω1,

u(k+1)1 = 0 su ∂Ω1 ∩ ∂Ω,

∂u(k+1)1

∂n+ γ1u

(k+1)1 =

∂u(k)2

∂n+ γ1u

(k)2 su Γ,

(14.21)

quindi

⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩−�u

(k+1)2 = f in Ω2,

u(k+1)2 = 0 su ∂Ω2 ∩ ∂Ω,

∂u(k+1)2

∂n+ γ2u

(k+1)2 =

∂u(k+1)1

∂n+ γ2u

(k+1)1 su Γ,

(14.22)

dove u0 è assegnato e γ1, γ2 sono parametri di accelerazione non negativi che soddi-sfano γ1 + γ2 > 0. Avendo a cuore la parallelizzazione, in (14.22) possiamo conside-rare u

(k)1 in luogo di u(k+1)1 , pur di assegnare in tal caso un valore iniziale anche per

u01.

14.3 Formulazione multi-dominio del problema di Poisson edequazioni di interfaccia

In questa sezione scegliamo L = −� e consideriamo il problema di Poisson concondizioni al bordo di Dirichlet omogenee (2.13).

Page 446: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

438 14 Il metodo di decomposizione dei domini

Nel caso di un dominio partizionato in due sotto-domini disgiunti considerato nellaSez. 14.2.2, il Teorema di equivalenza 14.1 ci permette di riscrivere questo problemanella seguente formulazione multi-dominio, in cui ui = u

∣∣Ωi

, i = 1, 2:⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

−�u1 = f in Ω1,

u1 = 0 su ∂Ω1 \ Γ,

−�u2 = f in Ω2,

u2 = 0 su ∂Ω2 \ Γ,

u1 = u2 su Γ,

∂u1∂n=

∂u2∂n

su Γ.

(14.23)

14.3.1 L’operatore di Steklov-Poincaré

Indichiamo ora con λ il valore incognito della soluzione u del problema (2.13) sul-l’interfaccia Γ , cioè λ = u|Γ . Se si conoscesse a priori il valore di λ su Γ , si potreb-bero risolvere (indipendentemente) i due problemi seguenti con condizioni al bordo diDirichlet su Γ (i = 1, 2): ⎧⎪⎪⎨⎪⎪⎩

−�wi = f in Ωi ,

wi = 0 su ∂Ωi \ Γ,

wi = λ su Γ.

(14.24)

Al fine di ottenere il valore di λ su Γ , scomponiamo le funzioni wi nel seguente modo

wi = w∗i + u0i ,

dove a loro volta w∗i e u0i sono le soluzioni dei due problemi (i = 1, 2):⎧⎪⎪⎨⎪⎪⎩−�w∗i = f in Ωi ,

w∗i = 0 su ∂Ωi ∩ ∂Ω,

w∗i = 0 su Γ,

(14.25)

e ⎧⎪⎪⎨⎪⎪⎩−�u0i = 0 in Ωi ,

u0i = 0 su ∂Ωi ∩ ∂Ω,

u0i = λ su Γ,

(14.26)

rispettivamente. Osserviamo che le funzioni w∗i dipendono solamente dal dato f , u0isoltanto dal valore λ su Γ , pertanto possiamo scrivere w∗i = Gif e u0i = Hiλ. En-trambi gli operatori Gi e Hi sono lineari; Hi è detto operatore d’estensione armonicadi λ sul dominio Ωi.

Page 447: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.3 Formulazione multi-dominio 439

Ora, confrontando formalmente il problema (14.23) con (14.24), si osserva chel’uguaglianza

ui = w∗i + u0i , i = 1, 2 ,

vale se e solamente se le funzioni wi soddisfano la condizione (14.23)6 sulle derivatenormali su Γ , ovvero se e solamente se

∂w1∂n=

∂w2∂n

su Γ.

Utilizzando le notazioni introdotte sopra, possiamo riscrivere quest’ultima condizionecome

∂n(G1f +H1λ) =

∂n(G2f +H2λ)

e quindi (∂H1∂n

− ∂H2∂n

)λ =

(∂G2∂n

− ∂G1∂n

)f su Γ.

Abbiamo ottenuto in tal modo un’equazione sull’interfaccia Γ per l’incognita λ, notacome equazione di Steklov-Poincaré. In forma compatta possiamo riscriverla come

Sλ = χ su Γ. (14.27)

S è l’operatore pseudo-differenziale di Steklov-Poincaré definito formalmente come

Sμ =∂

∂nH1μ−

∂nH2μ =

2∑i=1

∂niHiμ =

2∑i=1

Siμ, (14.28)

mentre χ è un funzionale lineare dipendente dai dati del problema

χ =∂

∂nG2f −

∂nG1f = −

2∑i=1

∂niGif. (14.29)

Ricordiamo che ni è la normale esterna al sotto-dominio Ωi, per i = 1, 2. L’operatore

Si : μ→ Siμ =∂

∂ni

(Hiμ)∣∣∣Γ

i = 1, 2, (14.30)

è detto operatore locale di Steklov-Poincaré. Osserviamo che S (ed ognuno degli Si)opera tra lo spazio delle tracce

Λ = {μ | ∃v ∈ V : μ = v∣∣Γ} (14.31)

(ovvero H1/200 (Γ ), si veda [QV99]), e il suo duale Λ′, mentre χ ∈ Λ′.

Esempio 14.3 Consideriamo un semplice caso monodimensionale per fornire un esempio dioperatore S. Sia Ω = (a, b) ⊂ R come illustrato in Figura 14.4 e Lu = −u′′. Se suddividiamoΩ in due sotto-domini senza sovrapposione, l’interfaccia Γ si riduce ad un punto solo γ ∈(a, b), e l’operatore di Steklov-Poincaré S diventa

Sλ =

(dH1dx− dH2dx

)λ =

(1

l1+1

l2

)λ,

con l1 = γ − a e l2 = b− γ. �

Page 448: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

440 14 Il metodo di decomposizione dei domini

a bγ

l1 l2

λ

H1λ H2λ

Ω1 Ω2

Figura 14.4. Estensioni armoniche in una dimensione

14.3.2 Equivalenza tra il metodo di Dirichlet-Neumann e il metododi Richardson

Il metodo di Dirichlet-Neumann introdotto nella Sez. 14.2.2 può essere reinterpretatocome un metodo iterativo di Richardson (precondizionato) per risolvere l’equazioned’interfaccia di Steklov-Poincaré. Per verificarlo, consideriamo ancora per semplicitàun dominio Ω suddiviso in due sotto-domini Ω1 e Ω2 senza sovrapposizione con in-terfaccia Γ .Riscriviamo il metodo di Dirichlet-Neumann (14.12), (14.13), (14.16) nel caso dell’o-peratore di Laplace L = −Δ: dato λ0, si risolva, per k ≥ 1,⎧⎪⎪⎪⎨⎪⎪⎪⎩

−�u(k)1 = f1 in Ω1,

u(k)1 = λ(k−1) su Γ,

u(k)1 = 0 su ∂Ω1 \ Γ,

(14.32)

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

−�u(k)2 = f2 in Ω2,

∂u(k)2

∂n2=

∂u(k)1

∂n2su Γ,

u(k)2 = 0 su ∂Ω2 \ Γ,

(14.33)

λ(k) = θu(k)2 |Γ + (1− θ)λ(k−1). (14.34)

Si ha il risultato seguente:

Teorema 14.2 Il metodo di Dirichlet-Neumann (14.32)-(14.34) è equivalente almetodo di Richardson precondizionato

PDN(λ(k) − λ(k−1)) = θ(χ − Sλ(k−1)). (14.35)

L’operatore di precondizionamento è PDN = S2 = ∂(H2μ)/∂n2.

Dimostrazione. La soluzione u(k)1 di (14.32) può essere scritta come

u(k)1 = H1λ

(k−1) +G1f1. (14.36)

Page 449: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.3 Formulazione multi-dominio 441

Poiché G2f2 soddisfa il problema differenziale{−�(G2f2) = f2 in Ω2,

G2f2 = 0 su ∂Ω2,

grazie a (14.33) si trova che la funzione u(k)2 − G2f2 è soluzione del problema

differenziale⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

−�(u(k)2 −G2f2) = 0 in Ω2,

∂n2(u(k)2 −G2f2) = −

∂u(k)1

∂n+

∂n(G2f2) su Γ,

u(k)2 −G2f2 = 0 su ∂Ω2 \ Γ.

(14.37)

In particolare u(k)2 |Γ = (u

(k)2 −G2f2)|Γ . Ora ricordiamo che l’operatore Si (14.30) ci

permette di passare da un dato di Dirichlet ad un dato di Neumann su Γ , il suo inversoS−1i , partendo da un dato di Neumann, ci fornisce invece un dato di Dirichlet su Γ .Altrimenti detto, S−12 η = w2|Γ se w2 è la soluzione del seguente problema⎧⎪⎪⎨⎪⎪⎩

−�w2 = 0 in Ω2,

∂w2∂n= η su Γ,

w2 = 0 su ∂Ω2 \ Γ.

(14.38)

Allora, se si pone

η = −∂u(k)1

∂n+

∂n(G2f2),

e se si confronta la (14.37) con la (14.38), si può concludere che

u(k)2 |Γ = (u

(k)2 −G2f2)|Γ = S−12

(−∂u

(k)1

∂n+

∂n(G2f2)

).

Ma, grazie alla (14.36), si ottiene

u(k)2 |Γ = S−12

(− ∂

∂n(H1λ

(k−1))− ∂

∂n(G1f1) +

∂n(G2f2)

)= S−12 (−S1λ

(k−1) + χ),

grazie alla definizione (14.29) di χ. Utilizzando la (14.34), possiamo dunque scrivereche

λ(k) = θ[S−12 (−S1λ

(k−1) + χ)]+ (1− θ)λ(k−1),

ovveroλ(k) − λ(k−1) = θ

[S−12 (−S1λ

(k−1) + χ)− λ(k−1)].

Page 450: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

442 14 Il metodo di decomposizione dei domini

Ma−S1 = S2 − S, dunque otteniamo

λ(k) − λ(k−1) = θ[S−12 ((S2 − S)λ(k−1) + χ)− λ(k−1)

]= θS−12 (χ− Sλ(k−1)),

ovvero la relazione (14.35). �Seguendo un procedimento analogo alla dimostrazione del Teorema 14.2, anche

il metodo di Neumann-Neumann (14.18) - (14.20) può essere interpretato come unoschema di Richardson precondizionato

PNN(λ(k) − λ(k−1)) = θ(χ − Sλ(k−1)) ,

questa volta il precondizionatore essendo PNN = (σ1S−11 + σ2S

−12 )

−1.Consideriamo infine il metodo di Robin-Robin (14.21) - (14.22). Indichiamo conμ(k)i ∈ Λ l’approssimazione al passo k della traccia di u(k)i sull’interfacciaΓ , i = 1, 2.

Allora, si può mostrare che (14.21) - (14.22) è equivalente al seguente metodo delledirezioni alternate (ADI):

(γ1iΛ + S1)μ(k)1 = χ+ (γ1iΛ + S2)μ

(k−1)2 ,

(γ2iΛ + S2)μ(k)2 = χ+ (γ2iΛ + S1)μ

(k−1)1 ,

dove iΛ : Λ→ Λ′ qui denota l’operatore di identificazione fra uno spazio di Hilbert eil suo duale (si veda (A.5), Appendice A).Se, per un’opportuna scelta dei parametri γ1 e γ2, il metodo converge a due fun-zioni limite μ1 e μ2, allora μ1 = μ2 = λ essendo λ, come al solito, la soluzionedell’equazione di Steklov-Poincaré (14.27).

14.4 Approssimazione con elementi finiti del problema di Poisson eformulazione per sotto-domini

Naturalmente quanto visto fino ad ora si può considerare come propedeutico alla ri-soluzione numerica dei problemi ai limiti. Più precisamente, vediamo ora come leidee formulate nelle precedenti sezioni possano coniugarsi con un metodo di di-scretizzazione ad elementi finiti. Ciò tuttavia non è limitativo. Riferiamo ad esem-pio a [CHQZ07] per la generalizzazione al caso di approssimazioni basate su metodispettrali o agli elementi spettrali.

Consideriamo il problema di Poisson (2.13), la sua formulazione debole (2.17) e lasua approssimazione (3.30) con il metodo di Galerkin agli elementi finiti relativamente

ad una triangolazione Th. Ricordiamo che Vh =◦Xr

h={vh ∈ Xrh : vh|∂Ω = 0

}è lo

spazio degli elementi finiti di grado r che si annullano su ∂Ω, con base {ϕj}Nhj=1 (siveda la Sez. 3.4.1).

Introduciamo la partizione seguente dei nodi del dominio Ω: siano {x(1)j , 1 ≤j ≤ N1} i nodi ubicati dentro il sotto-dominio Ω1, {x(2)j , 1 ≤ j ≤ N2} quelli in Ω2

Page 451: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.4 Approssimazione con elementi finiti 443

e, infine, {x(Γ)j , 1 ≤ j ≤ NΓ } quelli posizionati sull’interfaccia Γ . Ripartiamo in

modo analogo anche le funzioni di base: indicheremo dunque con ϕ(1)j le funzioni di

base associate ai nodi x(1)j , con ϕ(2)j quelle associate ai nodi x(2)j , e con ϕ

(Γ)j quelle

relative ai nodi x(Γ)j di interfaccia. Ciò significa che

ϕ(α)j (x

(β)j ) =

{δij , 1 ≤ i, j ≤ Nα, se α = β,0 se α �= β,

con α, β = 1, 2, Γ , essendo δij il simbolo di Kronecker.Scelto ora in (3.30) vh coincidente con una funzione test, possiamo dare la seguenteformulazione equivalente della (3.30): trovare uh ∈ Vh tale che⎧⎪⎪⎪⎨⎪⎪⎪⎩

a(uh, ϕ(1)i ) = F (ϕ

(1)i ) ∀i = 1, . . . , N1 ,

a(uh, ϕ(2)j ) = F (ϕ

(2)j ) ∀j = 1, . . . , N2 ,

a(uh, ϕ(Γ)k ) = F (ϕ

(Γ)k ) ∀k = 1, . . . , NΓ ,

(14.39)

avendo posto F (v) =∫Ω

fv dΩ. Sia ora

ai(v, w) =

∫Ωi

∇v · ∇wdΩ ∀v, w ∈ V, i = 1, 2

la restrizione della forma bilineare a(., .) al sotto-dominio Ωi e Vi,h = {v ∈H1(Ωi) | v = 0 su ∂Ωi \ Γ } (i = 1, 2). Analogamente poniamo Fi(v) =

∫Ωi

fv dΩ

ed indichiamo infine con u(i)h = uh|Ωi la restrizione di uh al sotto-dominio Ωi, con

i = 1, 2. Il problema (14.39) può essere riscritto nella forma equivalente: trovareu(1)h ∈ V1,h, u

(2)h ∈ V2,h tali che⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

a1(u(1)h , ϕ

(1)i ) = F1(ϕ

(1)i ) ∀i = 1, . . . , N1,

a2(u(2)h , ϕ

(2)j ) = F2(ϕ

(2)j ) ∀j = 1, . . . , N2

a1(u(1)h , ϕ

(Γ)k |Ω1) + a2(u

(2)h , ϕ

(Γ)k |Ω2)

= F1(ϕ(Γ)k |Ω1) + F2(ϕ

(Γ)k |Ω2) ∀k = 1, . . . , NΓ .

(14.40)

Si osservi che la condizione (14.23)5 di continuità della soluzione all’interfaccia èautomaticamente verificata grazie alla continuità delle funzioni u(i)h . Osserviamo inol-tre che le equazioni (14.40)1-(14.40)3 corrispondono alla discretizzazione ad elemen-ti finiti delle (14.23)1-(14.23)6, rispettivamente. In particolare, la terza delle (14.40)traduce nel discreto la condizione (14.23)6 di continuità delle derivate normali sull’in-terfaccia Γ .Rappresentiamo la funzione uh come una somma rispetto alla base dello spazio Vh

uh(x) =

N1∑j=1

uh(x(1)j )ϕ

(1)j (x) +

N2∑j=1

uh(x(2)j )ϕ

(2)j (x)

+

NΓ∑j=1

uh(x(Γ)j )ϕ

(Γ)j (x). (14.41)

Page 452: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

444 14 Il metodo di decomposizione dei domini

I valori nodali uh(x(α)j ), j = 1, . . . , Nα e α = 1, 2, Γ , sono i coefficienti della combi-

nazione lineare, e verranno indicati d’ora in avanti con la notazione semplificata u(α)j .

Utilizzando la relazione (14.41), possiamo riscrivere il problema (14.40) nel seguentemodo:⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

N1∑j=1

u(1)j a1(ϕ

(1)j , ϕ

(1)i ) +

NΓ∑j=1

u(Γ)j a1(ϕ

(Γ)j , ϕ

(1)i ) = F1(ϕ

(1)i ) ∀i = 1, . . . , N1,

N2∑j=1

u(2)j a2(ϕ

(2)j , ϕ

(2)i ) +

NΓ∑j=1

u(Γ)j a2(ϕ

(Γ)j , ϕ

(2)i ) = F2(ϕ

(2)i ) ∀i = 1, . . . , N2,

NΓ∑j=1

u(Γ)j

[a1(ϕ

(Γ)j , ϕ

(Γ)i ) + a2(ϕ

(Γ)j , ϕ

(Γ)i )]

+

N1∑j=1

u(1)j a1(ϕ

(1)j , ϕ

(Γ)i ) +

N2∑j=1

u(2)j a2(ϕ

(2)j , ϕ

(Γ)i )

= F1(ϕ(Γ)i |Ω1) + F2(ϕ

(Γ)i |Ω2) ∀i = 1, . . . , NΓ .

(14.42)Introduciamo le seguenti matrici e vettori:

(A11)ij = a1(ϕ(1)j , ϕ

(1)i ), (A1Γ )ij = a1(ϕ

(Γ)j , ϕ

(1)i ),

(A22)ij = a2(ϕ(2)j , ϕ

(2)i ), (A2Γ )ij = a2(ϕ

(Γ)j , ϕ

(2)i ),(

A1ΓΓ)ij= a1(ϕ

(Γ)j , ϕ

(Γ)i ),

(A2ΓΓ)ij= a2(ϕ

(Γ)j , ϕ

(Γ)i ),

(AΓ1)ij = a1(ϕ(1)j , ϕ

(Γ)i ), (AΓ2)ij = a2(ϕ

(2)j , ϕ

(Γ)i ),

(f1)i = F1(ϕ(1)i ), (f2)i = F2(ϕ

(2)i ),(

fΓ1)i= F1(ϕ

(Γ)i ),

(fΓ2)i= F2(ϕ

(Γ)i , ϕ

(1)i ).

Poniamo infine

u = (u1,u2,λ)T , con u1 =

(u(1)j

), u2 =

(u(2)j

)e λ =

(u(Γ)j

). (14.43)

Il problema (14.42) può essere scritto in forma algebrica nel seguente modo⎧⎪⎪⎪⎨⎪⎪⎪⎩A11u1 + A1Γλ = f1,

A22u2 + A2Γλ = f2,

AΓ1u1 + AΓ2u2 +(A(1)ΓΓ +A

(2)ΓΓ

)λ = fΓ1 + f

Γ2 ,

(14.44)

o, in forma matriciale, come

Au = f , ovvero

⎡⎣ A11 0 A1Γ0 A22 A2Γ

AΓ1 AΓ2 AΓΓ

⎤⎦⎡⎣ u1u2λ

⎤⎦ =⎡⎣ f1f2fΓ

⎤⎦ , (14.45)

Page 453: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.4 Approssimazione con elementi finiti 445

avendo posto AΓΓ =(A(1)ΓΓ + A

(2)ΓΓ

)e fΓ = fΓ1 + f

Γ2 . La (14.45) altro non è che la

riscrittura del sistema algebrico (3.35) “a blocchi”, i blocchi essendo individuati dallapartizione del vettore delle incognite evidenziata in (14.43).

14.4.1 Il complemento di Schur

Consideriamo ora l’equazione all’interfaccia di Steklov-Poincaré (14.27). Vogliamotrovare la sua corrispondente nell’ambito dell’approssimazione ad elementi finiti. Poi-ché λ rappresenta il valore incognito di u su Γ , essa avrà come corrispondente, indimensione finita, il vettore λ dei valori di uh sull’interfaccia.

Applicando il metodo di eliminazione gaussiana al sistema (14.45), possiamopervenire ad un sistema algebrico per la sola incognita λ.

Le matrici A11 e A22 sono invertibili in quanto associate a due problemi diDirichlet omogenei per l’equazione di Laplace, pertanto

u1 = A−111 (f1 − A1Γλ) , e u2 = A−122 (f2 −A2Γλ) . (14.46)

Dalla terza equazione in (14.44), otteniamo[(A(1)ΓΓ − AΓ1A

−111 A1Γ

)+(A(2)ΓΓ − AΓ2A

−122 A2Γ

)]λ =

fΓ −AΓ1A−111 f1 −AΓ2A

−122 f2.

(14.47)

Introducendo le seguenti definizioni:

Σ = Σ1 +Σ2, Σi = A(i)ΓΓ −AΓiA

−1ii AiΓ , i = 1, 2, (14.48)

e

χΓ = fΓ − AΓ1A−111 f1 − AΓ2A

−122 f2, (14.49)

la (14.47) diventa

Σλ = χΓ . (14.50)

Poiché Σ e χΓ sono approssimazioni di S e χ, rispettivamente, la (14.50) può consi-derarsi come l’approssimazione ad elementi finiti per l’equazione di Steklov-Poincaré(14.27). La matrice Σ è il cosiddetto complemento di Schur della matrice A rispettoalle incognite vettoriali u1 e u2, mentre le matrici Σi sono i complementi di Schurrelativi ai sotto-domini Ωi (i = 1, 2).Una volta risolto il sistema (14.50) rispetto all’incognita λ, in virtù delle (14.46),possiamo calcolare u1 e u2. Tale calcolo equivale a risolvere numericamente due pro-blemi di Poisson in corrispondenza dei due sotto-domini Ω1 e Ω2, con condizione albordo di Dirichlet u(i)h |Γ = λh (i = 1, 2), sull’interfaccia Γ .

Per quanto concerne le proprietà del complemento di Schur Σ rispetto alla matriceA, si può dimostrare il risultato seguente:

Page 454: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

446 14 Il metodo di decomposizione dei domini

Lemma 14.1 La matrice Σ soddisfa le proprietà seguenti:

1. se A è una matrice singolare, allora Σ è singolare;2. se A (rispettivamente, Aii) è simmetrica, allora Σ (rispettivamente, Σi) è

simmetrica;3. se A è definita positiva, allora Σ è definita positiva.

Ricordiamo che il numero di condizionamento di A è dato da K2(A) � C h−2 (siveda la (3.39)). Quanto alla matrice Σ, si può invece dimostrare che

K2(Σ) � C h−1. (14.51)

Nel caso specifico preso in considerazione, la matrice A (e dunque la matrice Σ,grazie al Lemma 14.1) è una matrice simmetrica e definita positiva. È possibile dun-que utilizzare il metodo del gradiente coniugato per risolvere il sistema (14.50), previaopportuno precondizionamento. Ad ogni passo, il calcolo del residuo richiederà la ri-soluzione con il metodo degli elementi finiti di due problemi di Dirichlet indipendentisui sotto-domini Ωi.

14.4.2 L’operatore di Steklov-Poincaré discreto

Ci proponiamo di trovare l’operatore discreto associato al complemento di Schur. Atal fine definiamo, oltre allo spazio Vi,h introdotto in precedenza, quello V 0i,h generato

dalle funzioni {ϕ(i)j } associate ai soli nodi interni al dominio Ωi, e lo spazio Λh ge-

nerato dall’insieme {ϕ(Γ)j |Γ}. Osserviamo che Λh = {μh | ∃vh ∈ Vh : vh

∣∣Γ= μh}.

Pertanto Λh rappresenta un sottospazio di elementi finiti dello spazio di tracce Λ defi-nito in (14.31).Consideriamo adesso il seguente problema: trovare Hi,hηh ∈ Vi,h, con Hi,hηh = ηhsu Γ , tale che ∫

Ωi

∇(Hi,hηh) · ∇vh dΩi = 0 ∀vh ∈ V 0i,h. (14.52)

Evidentemente Hi,hηh rappresenta un’approssimazione ad elementi finiti dell’esten-sione armonica Hiηh, e l’operatore Hi,h : ηh → Hi,hηh un’approssimazione del-l’operatore Hi. Riscriviamo la soluzione Hi,hηh come combinazione lineare dellefunzioni di base

Hi,hηh =

Ni∑j=1

u(i)j ϕ

(i)j +

NΓ∑k=1

ηkϕ(Γ)k |Ωi

,

arrivando così a riscrivere la (14.52) sotto forma matriciale come

Aiiu(i) = −AiΓη. (14.53)

Vale il seguente risultato, detto teorema d’estensione uniforme nel caso discreto:

Page 455: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.4 Approssimazione con elementi finiti 447

Teorema 14.3 Esistono due costanti C1, C2 > 0, independenti da h, tali che

C1‖ηh‖Λ ≤ ‖Hi,hηh‖H1(Ωi) ≤ C2‖ηh‖Λ , i = 1, 2, ∀ηh ∈ Λh. (14.54)

Come conseguenza esistono due costanti K1, K2 > 0, independenti da h, taliche

K1‖H1,hηh‖H1(Ω1) ≤ ‖H2,hηh‖H1(Ω2) ≤ K2‖H1,hηh‖H1(Ω1) ∀ηh ∈ Λh.(14.55)

Per la dimostrazione rimandiamo a [QV99].

Definiamo ora, per i = 1, 2, l’operatore Si,h : Λh → Λ′h, detto operatore locale diSteklov-Poincaré discreto, come segue

〈Si,hηh, μh〉 =∫Ωi

∇(Hi,hηh) · ∇(Hi,hμh) ∀ηh, μh ∈ Λh, (14.56)

indi poniamo Sh = S1,h + S2,h.

Lemma 14.2 L’operatore locale di Steklov-Poincaré discreto può essereespresso in funzione del complemento di Schur locale come

〈Si,hηh, μh〉 = μTΣiη ∀ηh, μh ∈ Λh , (14.57)

dove

ηh =

NΓ∑k=1

ηkϕ(Γ)k |Γ , μh =

NΓ∑k=1

μkϕ(Γ)k |Γ

eη = (η1, . . . , ηNΓ )

T , μ = (μ1, . . . , μNΓ )T .

Pertanto, l’operatore globale di Steklov-Poincaré discreto Sh = S1,h + S2,hverifica la relazione

〈Shηh, μh〉 = μTΣ η ∀ηh, μh ∈ Λh. (14.58)

Dimostrazione. Per i = 1, 2 abbiamo

〈Si,hηh, μh〉 = ai(Hi,hηh, Hi,hμh)

= ai

( NΓ∑j=1

ujϕ(i)j +

NΓ∑k=1

ηkϕ(Γ)k |Ωi

,

NΓ∑l=1

wlϕ(i)l +

NΓ∑m=1

μmϕ(Γ)m |Ωi

)

Page 456: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

448 14 Il metodo di decomposizione dei domini

=

NΓ∑j,l=1

wlai(ϕ(i)j , ϕ

(i)l )uj +

NΓ∑j,m=1

μmai(ϕ(i)j , ϕ(Γ)m |Ωi

)uj

+

NΓ∑k,l=1

wlai(ϕ(Γ)k |Ωi

, ϕ(i)l )ηk +

NΓ∑k,m=1

μmai(ϕ(Γ)k |Ωi

, ϕ(Γ)m |Ωi)ηk

= wTAiiu+ μTAΓiu+w

TAiΓη +μTA(i)ΓΓη.

Grazie alla (14.53) si ottiene

〈Si,hηh, μh〉 = −wTAiΓη − μTAΓiA−1ii AiΓη +wTAiΓη + μ

TA(i)ΓΓ η

= μT(A(i)ΓΓ −AΓiA

−1ii AiΓ

= μTΣiη.

Grazie al Teorema 14.3 ed alla caratterizzazione (14.56), deduciamo che esistonodue costanti K1, K2 > 0, indipendenti da h, tali che

K1〈S1,hμh, μh〉 ≤ 〈S2,hμh, μh〉 ≤ K2〈S1,hμh, μh〉 ∀μh ∈ Λh. (14.59)

Grazie alla (14.57), possiamo concludere che esistono due costanti K1, K2 > 0,indipendenti da h, tali che

K1(μTΣ1μ

)≤ μTΣ2μ ≤ K2

(μTΣ1μ

)∀μ ∈ RNΓ . (14.60)

In altri termini, le matrici Σ1 e Σ2 sono spettralmente equivalenti, ovvero il loro nu-mero di condizionamento spettrale ha lo stesso comportamento asintotico rispetto a h.Pertanto sia Σ1 che Σ2 forniscono un precondizionatore ottimale del complemento diSchur Σ, ovvero esiste una costante C , indipendente da h, tale che

K2(Σ−1i Σ) ≤ C, i = 1, 2. (14.61)

Come si vedrà nella Sez. 14.4.3, questa proprietà permette di dimostrare che la versio-ne discreta del metodo di Dirichlet-Neumann converge con una velocità indipendenteda h. Stesso risultato vale per il metodo di Neumann-Neumann.

14.4.3 Equivalenza tra il metodo di Dirichlet-Neumann e il metodo diRichardson precondizionato: il caso algebrico

Dimostriamo ora il risultato di equivalenza del Teorema 14.2 nel caso algebrico. L’ap-prossimazione con elementi finiti del problema di Dirichlet (14.32) si scrive in formamatriciale come

A11u(k)1 = f1 −A1Γλ

(k−1), (14.62)

Page 457: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.4 Approssimazione con elementi finiti 449

mentre quella del problema di Neumann (14.33) dà luogo al sistema[A22 A2Γ

AΓ2 A(2)ΓΓ

] [u(k)2

λ(k−1/2)

]=

[f2

fΓ − AΓ1u(k)1 − A

(1)ΓΓλ

(k−1)

]. (14.63)

A sua volta, la (14.34) diventa

λ(k) = θλ(k−1/2) + (1 − θ)λ(k−1). (14.64)

Eliminando u(k)2 dalla (14.63) otteniamo(A(2)ΓΓ − AΓ2A

−122 A2Γ

)λ(k−1/2) = fΓ − AΓ1u

(k)1 − A

(1)ΓΓλ

(k−1) − AΓ2A−122 f2.

Grazie alla definizione (14.48) di Σ2 ed alla (14.62), si ha

Σ2λ(k−1/2) = fΓ −AΓ1A

−111 f1 −AΓ2A

−122 f2 −

(A(1)ΓΓ −AΓ1A

−111 A1Γ

)λ(k−1),

ovvero, usando la definizione (14.48) di Σ1 e la (14.49),

λ(k−1/2) = Σ−12

(χΓ −Σ1λ

(k−1)).

Ora, in virtù della (14.64), ricaviamo

λ(k) = θΣ−12

(χΓ −Σ1λ

(k−1))+ (1− θ)λ(k−1),

cioè, poiché−Σ1 = −Σ +Σ2,

λ(k) = θΣ−12

(χΓ −Σλ(k−1) +Σ2λ

(k−1))+ (1− θ)λ(k−1)

e quindiΣ2(λ

(k) − λ(k−1)) = θ(χΓ −Σλ(k−1)).

Quest’ultima relazione altro non è che un’iterazione di Richardson sul sistema (14.50)usando come precondizionatore il complemento di Schur locale Σ2.

Osservazione 14.1 Il precondizionatore del metodo di Dirichlet-Neumann è sempreil complemento di Schur locale associato al sotto-dominio su cui si risolve il problemadi Neumann. Qualora si risolvesse il problema di Dirichlet su Ω2 e quello di Neumannsu Ω1, il precondizionatore per il metodo di Richardson sarebbe Σ1 anziché Σ2. •

Osservazione 14.2 Per quel che concerne la versione discreta del metodo di Neumann-Neumann introdotto nella Sez. 14.2.3, si può dimostrare un risultato dello stesso tipodi quello appena dimostrato per il metodo di Dirichlet-Neumann. Precisamente, que-sto metodo è equivalente al metodo di Richardson per il sistema (14.50) con un pre-condizionatore il cui inverso è dato da P−1h = σ1Σ

−11 + σ2Σ

−12 , essendo σ1 e σ2 i

Page 458: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

450 14 Il metodo di decomposizione dei domini

coefficienti usati nella relazione di interfaccia (discreta) corrispondente alla (14.20).Si può inoltre dimostrare che esiste una costante C > 0, indipendente da h, tale che

K2((σ1Σ−11 + σ2Σ

−12 )Σ) ≤ C .

Procedendo in modo analogo si verifica che la versione discreta del metodo di Robin-Robin (14.21)-(14.22) equivale anch’essa ad iterare con il metodo di Richardson sulsistema (14.50), usando tuttavia questa volta come precondizionatore la matrice (γ1+γ2)−1(γ1I +Σ1)(γ2I +Σ2). •

Ricordiamo che una matrice Ph fornisce un precondizionatore ottimale per Σ se ilnumero di condizionamento di P−1h Σ è uniformemente limitato rispetto alla dimen-sione N della matrice Σ (e quindi da h nel caso in cui Σ derivi da un’approssimazioneagli elementi finiti).

Possiamo allora concludere che, per la risoluzione del sistema Σλ = χΓ , si puòricorrere ai seguenti precondizionatori, tutti ottimali:

Ph =

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

Σ2 per il metodo di Dirichlet-Neumann,

Σ1 per il metodo di Neumann-Dirichlet,

(σ1Σ−11 + σ2Σ

−12 )

−1 per il metodo di Neumann-Neumann,

(γ1 + γ2)−1(γ1I +Σ1)(γ2I +Σ2) per il metodo di Robin-Robin.

(14.65)Anticipiamo il fatto che nel caso si usino partizioni del dominio computazionale Ωcon molti sotto-domini, tale risultato non risulta più essere valido.

Ora, dalla teoria della convergenza del metodo iterativo di Richardson, sappiamoche, nel caso in cui sia Σ che Ph siano simmetriche e definite positive, la velocità diconvergenza ottimale è data da

ρ =K2(P

−1h Σ) − 1

K2(P−1h Σ) + 1

,

nel senso che ‖λn − λ‖Σ ≤ ρn‖λ0 − λ‖Σ , n ≥ 0, essendo ‖v‖Σ = (vTΣv)1/2.Pertanto tale velocità è indipendente da h.

14.5 Generalizzazione al caso di più sotto-domini

Vogliamo ora generalizzare i risultati ottenuti nelle sezioni precedenti al caso in cuiil dominio Ω sia suddiviso in un numero M > 2 arbitrario di sotto-domini (vedremosvariati esempi nel seguito).

Page 459: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.5 Generalizzazione al caso di più sotto-domini 451

Indichiamo con Ωi, con i = 1, . . . ,M , dei sotto-domini senza sovrapposizione taliche ∪Ωi = Ω, Γi = ∂Ωi \ ∂Ω e Γ = ∪Γi.

Nel caso del problema di Poisson (2.13), la formulazione multidomini (14.23) sipuò generalizzare nel modo seguente⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

−�ui = f in Ωi,

ui = uk su Γik, ∀k ∈ A(i),∂ui∂ni=

∂uk∂ni

su Γik, ∀k ∈ A(i),ui = 0 su ∂Ωi ∩ ∂Ω,

(14.66)

essendo i = 1, . . . ,M , Γik = ∂Ωi ∩ ∂Ωk �= ∅ , A(i) l’insieme degli indici k t.c. Ωkè adiacente a Ωi, e dove ni indica la normale esterna al sotto-dominio Ωi.

A livello discreto, possiamo supporre di aver approssimato il problema (2.13) conil metodo agli elementi finiti. Seguendo le idee presentate nella Sez. 14.4 ed indicandocon u = (uI,uΓ )

T il vettore delle incognite scomposto in quelle relative ai nodi inter-ni (uI) e a quelli sull’interfaccia Γ (uΓ ), si può pervenire alla formulazione algebricaseguente [

AII AIΓAΓI AΓΓ

][uIuΓ

]=

[fIfΓ

], (14.67)

essendo AΓI = ATIΓ . Osserviamo che AII è una matrice diagonale a blocchi

AII =

⎡⎢⎢⎢⎢⎣A11 0 . . . 0

0. . .

......

. . . 00 . . . 0 AMM

⎤⎥⎥⎥⎥⎦ , (14.68)

mentre AIΓ è una matrice a banda, essendoci solo intersezioni fra interfacce Γiappartenenti allo stesso sotto-dominio.

Le notazioni sono le seguenti:

(Aii)lj = ai(ϕj , ϕl), 1 ≤ l, j ≤ Ni,

(A(i)ΓΓ )sr = ai(ψr, ψs), 1 ≤ r, s ≤ NΓi ,

(AiΓ )lr = ai(ψr , ϕl), 1 ≤ r ≤ NΓi 1 ≤ l ≤ Ni,

essendo Ni il numero di nodi interni di Ωi, NΓi quello dei nodi sull’interfaccia Γi, ϕje ψr le funzioni di base associate ai nodi interni e di interfaccia, rispettivamente.

Osserviamo che su ciascun sotto-dominio Ωi la matrice seguente

Ai =

[Aii AiΓ

AΓi A(i)ΓΓ

](14.69)

Page 460: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

452 14 Il metodo di decomposizione dei domini

è quella che si otterrebbe risolvendo un problema di Neumann locale in Ωi.

La matrice AII è non singolare, e dunque dalla (14.67) possiamo ricavare

uI = A−1II (fI − AIΓuΓ ). (14.70)

Eliminando l’incognitauI del sistema (14.67), si ha

AΓΓuΓ = fΓ −AΓIA−1II (fI −AIΓuΓ ),

ovvero (AΓΓ − AΓIA

−1II AIΓ

)uΓ = fΓ −AΓIA

−1II fI . (14.71)

Ora ponendo

Σ = AΓΓ −AΓIA−1II AIΓ e χΓ = fΓ − AΓIA

−1II fI ,

ed introducendo λ = uΓ , la (14.71) diviene

Σλ = χΓ . (14.72)

Σ è il complemento di Schur della matrice (14.67) ottenuto rispetto alle incognite diinterfaccia. Il sistema (14.72) può dunque considerarsi l’approssimazione agli elemen-ti finiti del problema all’interfaccia di Steklov-Poincaré nel caso di M sotto-domini.

Notiamo che, definiti i complementi di Schur locali,

Σi = A(i)ΓΓ − AΓiA

−1ii AiΓ , i = 1, . . . M,

si ha

Σ = Σ1 + . . .+ΣM .

Un algoritmo generale per risolvere il problema di Poisson su Ω potrà dunque esserecosì formulato:

1. calcolare la soluzione di (14.72) per ottenere il valore di λ sull’interfaccia Γ ;2. risolvere (14.70) e, poiché AII è una matrice diagonale a blocchi, ciò comporta

la risoluzione di M problemi indipendenti di dimensione ridotta su ciascun sotto-dominio, ovvero Aiiu

iI = g

i, i = 1, . . . ,M . Questa fase può evidentemente darluogo ad un algoritmo parallelo.

Si può dimostrare che vale la seguente stima per il numero di condizionamento di Σ:esiste una costante C > 0, indipendente da h e H , tale che

K2(Σ) ≤ CH

hH2min, (14.73)

essendo H il diametro massimo dei sotto-domini e Hmin quello minimo.

Page 461: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.5 Generalizzazione al caso di più sotto-domini 453

14.5.1 Alcuni risultati numerici

Consideriamo il problema di Poisson (2.13) sul dominio Ω = (0, 1)2 la cui formula-zione ad elementi finiti è data dalla (3.30).Decomponiamo il dominio Ω in M regioni quadrate Ωi, di dimensione caratteristicaH , tali che ∪Mi=1Ωi = Ω. Un esempio di tale decomposizione basata su 4 sotto-dominiè riportato in Figura 14.5 (sulla sinistra).

In Tabella 14.1 riportiamo i valori numerici di K2(Σ) relativi al problema in esa-me; esso cresce linearmente con 1/h e con 1/H , come indicato dalla formula (14.73)per Hmin = H . In Figura 14.5 (sulla destra) riportiamo il pattern della matrice Σ as-sociata alle scelte h = 1/8 e H = 1/2. La matrice ha una struttura a blocchi, che tieneconto delle interfacce Γ1, Γ2, Γ3 e Γ4, più il contributo dovuto al punto di intersezio-ne Γc delle quattro interfacce. Si osservi che Σ è densa. Per questo motivo, quandosi utilizzano metodi iterativi per risolvere il sistema (14.72), non è conveniente, dalpunto di vista dell’occupazione di memoria, calcolare in modo esplicito gli elementidi Σ. Al contrario, usando l’Algoritmo 14.1 è possibile calcolare il prodotto ΣxΓ ,per ogni vettore xΓ . Abbiamo indicato con RΓi : Γ → Γi = ∂Ωi \ ∂Ω un opportunooperatore di restrizione, mentre x← y indica l’operazione x = x + y.

Tabella 14.1. Numero di condizionamento del complemento di SchurΣ

K2(Σ) H = 1/2 H = 1/4 H = 1/8

h=1/8 9.77 14.83 25.27h=1/16 21.49 35.25 58.60h=1/32 44.09 75.10 137.73h=1/64 91.98 155.19 290.43

Γ1

Γ2 Γ3

Γ4

Γc

0 5 10 15 20 25 30

0

5

10

15

20

25

30

nz = 597

Γ1

Γ2

Γ3

Γ4

Γc

Figura 14.5. Esempio di decomposizione del dominio Ω = (0, 1)2 in quattro sotto-dominiquadrati (a sinistra). Pattern di sparsità del complemento di Schur Σ (sulla destra) associatoalla decomposizione di domini riportata sulla sinistra

Page 462: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

454 14 Il metodo di decomposizione dei domini

Algoritmo 14.1 (applicazione del complemento di Schur)Dato xΓ, calcolare yΓ = ΣxΓ nel modo seguente:

a. Porre yΓ = 0

b. For i = 1, . . . ,M Do in parallelo:

c. xi = RΓixΓ

d. zi = AiΓixi

e. zi ← A−1ii zif. sommare nel vettore locale yΓi ← AΓiΓixi −AΓiizig. sommare nel vettore globale yΓ ← RTΓiyΓih. EndFor

Si osservi che tale algoritmo è completamente parallelo, non essendo richiestaalcuna comunicazione tra i vari sotto-domini.Prima di utilizzare per la prima volta il complemento di Schur, è necessario avviareuna fase di startup descritta nell’Algoritmo 14.2. Questo è un calcolo off-line.

Algoritmo 14.2 (fase di startup per la risoluzione del sistema associato al comple-mento di Schur)Dato xΓ, calcolare yΓ = ΣxΓ nel modo seguente:

a. For i = 1, . . . ,M Do in parallelo:

b. Costruire la matrice Ai

c. Riordinare Ai come

Ai =

(Aii AiΓiAΓii AΓiΓi

)ed estrarre le sotto-matrici Aii , AiΓi , AΓii e AΓiΓi

d. Calcolare una fattorizzazione (di tipo LU o Cholesky) di Aii

e. EndFor

14.6 Precondizionatori nel caso di più sotto-domini

Prima di introdurre precondizionatori del complemento di Schur nel caso in cui il do-minio Ω sia partizionato in più sotto-domini, ricordiamo la seguente definizione:

Definizione 14.1 Si definisce scalabile un precondizionatore di Σ che per-mette di ottenere una matrice precondizionata P−1h Σ con un numero dicondizionamento indipendente dal numero di sotto-domini.

Page 463: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.6 Precondizionatori nel caso di più sotto-domini 455

I metodi iterativi con precondizionatori scalabili consentono di ottenere velocità diconvergenza indipendenti dal numero dei sotto-domini. Tale proprietà è senza dubbioauspicabile nel momento in cui si ricorra ad un calcolo parallelo su molti processori.

Definiamo un operatore di restrizione Ri che associa ad un vettore vh del dominioglobale Ω la sua restrizione al sotto-dominio Ωi

Ri : vh|Ω → vih|Ωi∪Γi .

Sia inoltre RTiRTi : v

ih|Ωi∪Γi

→ vh|Ωl’operatore di estensione (o prolungamento) a zero di vih. In forma algebrica Ripuò essere rappresentato da una matrice che coincide con la matrice identità incorrispondenza del sotto-dominio Ωi a cui essa è associata:

Ri =

⎡⎢⎣ 0 . . . 0 1 0 . . . 0...

. . ....

. . ....

. . ....

0 . . . 0 1 0 . . . 0

⎤⎥⎦ .

︸ ︷︷ ︸Ωi

Un possibile precondizionatore per Σ è

Ph =M∑i=1

RTΓiΣiRΓi .

Esso agisce sui vettori i cui valori sono associati ai soli nodi della griglia che “vivono”sull’unione delle interfacce.

Più in generale, l’idea seguita per costruire un precondizionatore è di combinareopportunamente i contributi dovuti ai precondizionatori locali, ovvero che si possonocostruire sui singoli sotto-domini, con uno globale ottenuto a partire da una griglia piùgrossolana (coarse) di Ω, ad esempio quella i cui elementi sono i sotto-domini stessidi Ω. Possiamo formalizzare questa idea attraverso la seguente definizione

(Ph)−1 =

M∑i=1

RTΓiP−1i,hRΓi +RTΓP

−1H RΓ .

Come al solito, abbiamo indicato con H la massima ampiezza dei diametri Hi deisotto-domini Ωi, mentre RΓ e PH si riferiscono a operatori che agiscono sulla scalaglobale (la griglia coarse). Esistono diverse scelte possibili per il precondizionatorelocale Pi,h di Σi che daranno luogo ad andamenti differenti per quel che concerne laconvergenza dell’algoritmo adottato per risolvere il problema.

14.6.1 Il precondizionatore di Jacobi

Sia {e1, . . . , em} l’insieme dei lati e {v1, . . . , vn} l’insieme dei vertici di una parti-zione del dominio Ω (si veda per un esempio la Figura 14.6).

Page 464: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

456 14 Il metodo di decomposizione dei domini

Ω

Ωi

v1 v2

v3 v4

e1

e2 e3

e4

e5e6 e7

e8

e9 e10

e11 e12

Figura 14.6. A sinistra, esempio di decomposizione in più sotto-domini. A destra, esempio digriglia fine (quella dei triangoli) e griglia coarse (quella dei 9 quadrilateri) suΩ

Per la matrice Σ possiamo fornire la seguente rappresentazione a blocchi

Σ =

⎡⎢⎢⎣Σee Σev

ΣTev Σvv

⎤⎥⎥⎦ ,

essendo

Σee =

⎡⎢⎣ Σe1e1 . . . Σe1em...

. . ....

Σeme1 . . . Σemem

⎤⎥⎦ , Σev =

⎡⎢⎣ Σe1v1 . . . Σe1vn...

. . ....

Σemv1 . . . Σemvn

⎤⎥⎦e

Σvv =

⎡⎢⎢⎢⎢⎣Σv1v1 0 . . . 0

0. . .

......

. . . 00 . . . 0 Σvnvn

⎤⎥⎥⎥⎥⎦ .

Il precondizionatore di Jacobi del complemento di Schur Σ è una matrice diagonale ablocchi definita da

P Jh =

[Σee 00 Σvv

]dove Σee coincide con la stessa Σee oppure è una sua opportuna approssimazione.Esso non tiene conto in alcun modo delle interazioni tra le funzioni di base associateai lati e quelle associate ai vertici. Anche la matrice Σee è diagonale a blocchi essendo

Page 465: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.6 Precondizionatori nel caso di più sotto-domini 457

data da

Σee =

⎡⎢⎢⎢⎢⎣Σe1e1 0 . . . 0

0. . .

......

. . . 0

0 . . . 0 Σemem

⎤⎥⎥⎥⎥⎦ .

Σekek coincide con Σekek o con una sua opportuna approssimazione.

Il precondizionatore P Jh può essere anche espresso in funzione degli operatori direstrizione e di prolungamento nel seguente modo

(P Jh)−1=

m∑k=1

RTekΣ−1ekek

Rek + RTvΣ−1vv Rv , (14.74)

dove Rek e Rv sono gli operatori di restrizione sui lati e sui vertici, rispettivamente.

Si può dimostrare il risultato seguente sul numero di condizionamento: esiste unacostante C > 0, indipendente da h e H , tale che

K2((P Jh )

−1Σ)≤ CH−2

(1 + log

H

h

)2.

Se si usasse il metodo del gradiente coniugato per risolvere il sistema di Schur(14.72) con precondizionatore P Jh , il numero di iterazioni necessarie per la conver-genza (nei limiti di tolleranza stabilita) sarebbe proporzionale a H−1. La presenza diH indica che questo precondizionatore non è scalabile.

Osserviamo inoltre che la presenza del termine log(H/h) introduce un legame trala dimensione di ciascun sotto-dominio e quella degli elementi della griglia compu-tazionale Th. Ciò genera una propagazione dell’informazione tra i vari sotto-dominicaratterizzata da una velocità finita anziché infinita.

14.6.2 Il precondizionatore di Bramble-Pasciak-Schatz

Per accelerare la velocità di propagazione delle informazioni all’interno del dominioΩ, bisogna ricorrere ad un accoppiamento globale. Dopo aver partizionato Ω in sotto-domini, si può considerare questa stessa decomposizione come una griglia coarse THdel dominio. In Figura 14.6, per esempio, la griglia TH è composta da 9 elementi e4 nodi interni. Ad essa si può associare una matrice di rigidezza AH di dimensione4 × 4 che garantisce un accoppiamento globale all’interno del dominio Ω. Possiamoinoltre introdurre un operatore di restrizione RH : Γh → ΓH , definito sui nodi delleinterfacce Γh a valori sui nodi interni della griglia grossolana. Il suo trasposto RTH èsempre l’operatore di estensione.

La matrice PBPSh , la cui inversa è definita da

(PBPSh )−1 =m∑k=1

RTekΣ−1ekekRek + RTHA−1H RH , (14.75)

Page 466: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

458 14 Il metodo di decomposizione dei domini

è il cosiddetto precondizionatore di Bramble-Pasciak-Schatz. A differenza di quello diJacobi (14.74), nel secondo addendo non compare più una matrice legata ai vertici (chenon fornisce alcun accoppiamento interno, dal momento che ciascun vertice comunicasoltanto con se stesso rendendo Σvv diagonale), bensì la matrice di rigidezza globaleAH . Valgono i seguenti risultati:

K2((PBPSh )−1Σ

)≤ C

(1 + log

H

h

)2in 2D,

K2((PBPSh )−1Σ

)≤ C

H

hin 3D.

Come si può osservare non compare più il fattore H−2. Il numero di iterazioni delgradiente coniugato precondizionato con PBPSh è proporzionale a log(H/h) in 2D, a(H/h)1/2 in 3D.

14.6.3 Il precondizionatore di Neumann-Neumann

Il precondizionatore di Bramble-Pasciak-Schatz introduce un miglioramento sul nu-mero di condizionamento della matrice associata al problema di Schur precondiziona-to, tuttavia nel caso 3D si ha ancora una dipendenza lineare da H/h.

Si consideri allora il precondizionatore, detto di Neumann-Neumann, il cui inversoè definito da

(PNNh )−1 =M∑i=1

RTΓiDiΣ−1i DiRΓi , (14.76)

dove RΓi designa ancora l’operatore di restrizione di Γ ai valori sulle interfacce localiΓi,

Di =

⎡⎢⎣ d1. . .

dn

⎤⎥⎦è una matrice diagonale di pesi positivi dj > 0, per j = 1, . . . , n, essendo n il numerodi nodi su Γi; per la precisione, dj coincide con l’inverso del numero di sotto-dominiche condividono lo stesso nodo j-esimo. Ad esempio, se si considerano i quattro nodiinterni in Figura 14.6, si avrà dj = 1/4, per j = 1, . . . , 4.Per il precondizionatore (14.76) vale la seguente stima: esiste una costante C > 0,indipendente da h e H , tale che

K2((PNNh )−1Σ

)≤ CH−2

(1 + log

H

h

)2.

La presenza di Di e RΓi in (14.76) comporta solo l’effettuazione di prodotti tra matri-ci. D’altro canto, l’applicazione di Σ−1i ad un vettore noto si può ricondurre a quelladelle inverse locali A−1i . In effetti, sia q un vettore le cui componenti sono i valorinodali sull’interfaccia locale Γi; allora

Σ−1i q = [0, I]A−1i [0, I]

Tq.

Page 467: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.6 Precondizionatori nel caso di più sotto-domini 459

In particolare, [0, I]Tq = [0,q]T , e il prodotto matrice vettore⎡⎢⎢⎢⎣nodi

interni

bordo

⎤⎥⎥⎥⎦︸ ︷︷ ︸

A−1i

⎡⎢⎢⎢⎣0...0

q

⎤⎥⎥⎥⎦

corrisponde alla risoluzione sul sotto-dominio Ωi del problema di Neumann⎧⎨⎩−�wi = 0 in Ωi,

∂wi

∂n= q su Γi.

(14.77)

Algoritmo 14.3 (precondizionatore Neumann-Neumann)Dato il vettore rΓ, calcolare zΓ = (PNNh )−1rΓ nel modo seguente:

a. Porre zΓ = 0

b. For i = 1, . . . ,M Do in parallelo:

c. restringere il residuo su Ωi: ri = RΓirΓ

d. zi = [0, I]A−1i [0, ri]

T

e. Aggiungere nel residuo globale: zΓ ← RTΓizif. EndFor

Anche in questo caso è richiesta una fase di startup: questa consiste semplice-mente nel preparare il codice per la risoluzione del sistema lineare con matrice deicoefficienti Ai. Si osservi che, nel caso del nostro problema modello (2.13), la matri-ce Ai è singolare se Ωi è un dominio interno, ovvero se ∂Ωi \ ∂Ω = ∅. Una delleseguenti strategie deve essere dunque adottata:

1. calcolare la fattorizzazione LU di Ai + εI, con ε > 0 opportunamente piccolo edassegnato;

2. calcolare la fattorizzazione LU di Ai +1

H2Mi, dove Mi è la matrice di massa i

cui coefficienti sono dati da

(Mi)k,j =

∫Ωi

ϕkϕj dΩi;

3. calcolare la decomposizione ai valori singolari di Ai;

4. utilizzare un solutore iterativo per calcolare A−1i ri, per un certo ri.

Per i nostri risultati numerici abbiamo adottato il terzo approccio. La storia di conver-genza per il metodo del gradiente coniugato precondizionato con la matrice PNNh incorrispondenza della scelta h = 1/32 è riportata in Figura 14.7. In Tabella 14.2 ripor-tiamo infine i valori del numero di condizionamento per la matrice precondizionata(PNNh )−1Σ in corrispondenza di scelte differenti per H .

Page 468: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

460 14 Il metodo di decomposizione dei domini

0 2 4 6 8 10 12 14 1610

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

H=1/4

H=1/8

Iterazioni di gradiente coniugato

resi

duo

scal

ato

Storia di convergenza con matrice PNN

H=1/2

Figura 14.7. Storia di convergenza per il metodo del gradiente coniugato precondizionato conla matrice PNNh e per h = 1/32

Osserviamo che il precondizionatore di Neumann-Neumann non è scalabile. Alfine di introdurre un meccanismo di griglia coarse, il precondizionatore definito dalla(14.76) si può modificare come segue(

PBNNh

)−1= (I −Σ−1H Σ)(PNNh )−1(I −ΣΣ−1H ) +Σ−1H (14.78)

dove si è indicato, per semplicità di notazione, Σ−1H = RTΓA−1H RΓ .

La matrice PBNNh costituisce il cosiddetto precondizionatore di Neumann-Neumanncon bilanciamento.Dato un residuo r(k) = χΓ−Σλ(k), il vettore z(k) = (PBNNh )−1r(k) si calcola come

z(k) = z(k,1/4) + (PNNh )−1z(k,1/2)+Σ−1H z(k,3/4),

Tabella 14.2. Numero di condizionamento per la matrice precondizionata (PNNh )−1Σ

K2((PNNh )−1Σ) H = 1/2 H = 1/4 H = 1/8 H = 1/16

h = 1/16 2.55 15.20 47.60 -h = 1/32 3.45 20.67 76.46 194.65h = 1/64 4.53 26.25 105.38 316.54h = 1/128 5.79 31.95 134.02 438.02

Page 469: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.6 Precondizionatori nel caso di più sotto-domini 461

dove si è definito z(k,1/4) = ΣHr(k), poi z(k,1/2) = r(k) − Σz(k,1/4) e infine

z(k,3/4) = −Σ(PNNh )−1z(k,1/2).Sia in 2D che in 3D si ha che esiste una costante C > 0, indipendente da h e H ,

tale che

K2((PBNNh )−1Σ

)≤ C

(1 + log

H

h

)2.

Si è dunque migliorato il numero di condizionamento rispetto al precondizionatoredi Bramble-Pasciak-Schatz per il quale, nel caso 3D, si aveva ancora una dipendenzada H . Il precondizionatore di Neumann-Neumann con bilanciamento garantisce lascalabilità ottimale a meno di una dipendenza logaritmica da H e h.

Il precondizionatore di Neumann-Neumann con bilanciamento aggiunge una ma-trice coarse AH alle correzioni locali introdotte dal precondizionatore di Neumann-Neumann. La matrice AH viene costruita utilizzando l’Algoritmo 14.4:

Algoritmo 14.4 (costruzione della matrice coarse per PBNNh )

a. Costruire l’operatore di restrizione R0 che restituisce,per ogni sotto-dominio, la somma pesata dei valori in tuttii nodi sul bordo di quel sotto-dominio.I pesi sono determinati dall’inverso del numero di sotto-domini che contengono ogni nodo i

b. Costruire la matrice AH = R0ΣRT0

Il passo a. di tale Algoritmo è computazionalmente molto economico. Al con-trario il passo b. richiede molti (ad esempio, ) prodotti matrice-vettore con il com-plemento di Schur Σ. Poiché Σ non è costruita esplicitamente, ciò significa doverrisolvere ×M problemi di Dirichlet per generare la matrice AH . Osserviamo inoltreche l’operatore di restrizione introdotto al passo a. definisce uno spazio coarse le cuifunzioni di base sono costanti a tratti su ciascun Γi. Per questo motivo, il precondizio-natore di Neumann-Neumann con bilanciamento è spesso una scelta obbligata quandola griglia di discretizzazione, la decomposizione in sotto-domini, o entrambe, sianonon strutturate (si veda, ad esempio, la Figura 14.8).

Tabella 14.3. Numero di condizionamento di (PBNNh )−1Σ al variare diH

K2((PBNNh )−1Σ) H = 1/2 H = 1/4 H = 1/8 H = 1/16h = 1/16 1.67 1.48 1.27 -h = 1/32 2.17 2.03 1.47 1.29h = 1/64 2.78 2.76 2.08 1.55h = 1/128 3.51 3.67 2.81 2.07

Confrontando i risultati numerici ottenuti per il complemento di Schur e il pre-condizionatore di Neumann-Neumann, con e senza bilanciamento, possiamo trarre leseguenti conclusioni:

Page 470: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

462 14 Il metodo di decomposizione dei domini

−1 −0.5 0 0.5 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1Plotmesh

X − Axis

Y −

Axi

s

−1 −0.5 0 0.5 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1Plotmesh

X − Axis

Y −

Axi

s

Figura 14.8. Esempio di decomposizione non strutturata in 8 sotto-domini, per una grigliastrutturata (a sinistra) e non strutturata (a destra)

• anche se meglio condizionata rispetto ad A, Σ è mal-condizionata, e perciò ècomunque necessario ricorrere ad un opportuno precondizionatore;

• il precondizionatore di Neumann-Neumann può essere applicato in modo soddi-sfacente solo quando si usi un numero relativamente piccolo di sotto-domini;

• il precondizionatore di Neumann-Neumann con bilanciamento è quasi ottimalee scalabile e dunque consigliabile nel caso in cui il numero dei sotto-domini siagrande.

14.7 I metodi iterativi di Schwarz

Il metodo di Schwarz, nella forma originaria descritta in Sez. 14.2.1, è stato propostoda H. Schwarz [Sch69] come schema iterativo per dimostrare l’esistenza della solu-zione delle equazioni ellittiche definite su domini la cui forma non si presta ad un usodiretto della serie di Fourier. Due esempi elementari sono riportati in Figura 14.9. Seb-bene venga ancora utilizzato come metodo di soluzione per tali equazioni su domini diforma generica, oggi esso è più comunemente impiegato come precondizionatore di ti-po DD per schemi iterativi quali il gradiente coniugato o i metodi di Krylov nella riso-luzione dei sistemi algebrici derivanti dalla discretizzazione di problemi differenzialialle derivate parziali, quale ad esempio (14.2).

Riprendiamo per il momento l’idea generale già esposta nella Sez. 14.2.1. Unacaratteristica distintiva del metodo di Schwarz è che esso si basa su di una suddivisionedel dominio computazionale in sotto-domini con sovrapposizione. Indichiamo ancoracon {Ωm} tali sotto-domini.

Per incominciare, nella prossima sezione mostreremo come formulare il metodo diSchwarz direttamente come metodo iterativo per la risoluzione del sistema algebricoassociato alla discretizzazione del problema (14.2) con il metodo degli elementi finiti.

Page 471: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.7 I metodi iterativi di Schwarz 463

Ω2

Ω1

12Γ

Γ12

Ω1 Ω2

Figura 14.9. Esempio di due domini a cui si può applicare il metodo di Schwarz nella sua formaclassica

14.7.1 Forma algebrica dei metodi di Schwarz per una discretizzazione adelementi finiti

Si consideri la solita triangolazione Th di un dominio Ω in elementi finiti. Suppo-niamo inoltre che il dominio Ω sia decomposto in due sotto-domini, Ω1 ed Ω2, consovrapposizione come mostrato in Figura 14.1 (a sinistra).

Indichiamo con Nh il numero totale dei nodi della triangolazione interni a Ω,e, come fatto in Sez. 14.4, con N1 e N2, rispettivamente, i nodi interni a Ω1 e Ω2.Osserviamo che Nh ≤ N1+N2 e che l’uguaglianza vale soltanto se la sovrapposizionesi riduce ad una singola striscia di elementi. In effetti, indicato con I = {1, . . . , Nh}l’insieme degli indici dei nodi di Ω, con I1 e I2 quelli associati, rispettivamente, adΩ1 ed Ω2, si ha che I = I1 ∪ I2, mentre I1 ∩ I2 �= ∅ a meno che la sovrapposizionenon si riduca ad una singola fascia di elementi.

Ordiniamo i nodi nei tre blocchi in modo tale che il primo blocco corrisponda ainodi di Ω1 \ Ω2, il secondo a Ω1 ∩ Ω2, e il terzo a Ω2 \ Ω1. La matrice di rigidezzaA dell’approssimazione ad elementi finiti contiene due sotto-matrici, A1 ed A2, checorrispondono, rispettivamente, alle matrici di rigidezza locali associate ai problemidi Dirichlet in Ω1 e Ω2 (si veda la Figura 14.10). Esse sono legate ad A dalle seguenti

A

A1

A2

Nh

N1

N2

Figura 14.10. Le sotto-matrici A1 ed A2 della matrice di rigidezzaA

Page 472: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

464 14 Il metodo di decomposizione dei domini

espressioni

A1 = R1ART1 ∈ RN1×N1 e A2 = R2ART2 ∈ RN2×N2 , (14.79)

essendo Ri ed RTi , con i = 1, 2, operatori di restrizione e di prolungamento,rispettivamente, la cui rappresentazione matriciale è data da

RT1 =

⎡⎢⎢⎢⎢⎢⎢⎢⎣

1 . . . 0...

. . ....

0 . . . 1

0

⎤⎥⎥⎥⎥⎥⎥⎥⎦∈ RNh×N1 , RT2 =

⎡⎢⎢⎢⎢⎢⎢⎢⎣0

1 . . . 0...

. . ....

0 . . . 1

⎤⎥⎥⎥⎥⎥⎥⎥⎦∈ RNh×N2 .

(14.80)Se v è un vettore diRNh , allora R1v è un vettore diRN1 le cui componenti coincidonocon le prime N1 componenti di v. Se v è invece un vettore di RN1 , allora RT1 v è unvettore di dimensione Nh le cui ultime Nh −N1 componenti sono nulle.

Sfruttando tali definizioni, possiamo rappresentare un’iterazione del metodo diSchwarz moltiplicativo applicato al sistema Au = f nel seguente modo:

u(k+1/2) = u(k) +RT1 A−11 R1(f − Au(k)), (14.81)

u(k+1) = u(k+1/2) +RT2 A−12 R2(f −Au(k+1/2)). (14.82)

Equivalentemente, posto

Pi = RTi A−1i RiA , i = 1, 2, (14.83)

abbiamou(k+1/2) = (I − P1)u

(k) + P1u,

u(k+1) = (I − P2)u(k+1/2)+ P2u = (I − P2)(I − P1)u

(k) + (P1 + P2 − P2P1)u.

In modo analogo, un’iterazione del metodo di Schwarz additivo diventa

u(k+1) = u(k) + (RT1 A−11 R1 +RT2 A

−12 R2)(f −Au(k)), (14.84)

ovverou(k+1) = (I − P1 − P2)u

(k) + (P1 + P2)u. (14.85)

Se ora introduciamo le matrici

Qi = RTi A−1i Ri = PiA

−1, i = 1, 2,

allora dalle (14.81) e (14.82) deriviamo che

u(k+1) = u(k) +Q1(f − Au(k)) +Q2[f − A(u(k) +Q1(f − Au(k)))]

= u(k) + (Q1 +Q2 −Q2AQ1)(f −Au(k))

Page 473: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.7 I metodi iterativi di Schwarz 465

per il metodo di Schwarz moltiplicativo, mentre, per il caso additivo, ricaviamo dalla(14.84) che

u(k+1) = u(k) + (Q1 +Q2)(f −Au(k)). (14.86)

Quest’ultima formula può essere facilmente estesa al caso di una decomposizione diΩ in M ≥ 2 sotto-domini {Ωi} con sovrapposizione (si veda per un esempio la Figura14.11). In tal caso si ha

u(k+1) = u(k) +( M∑i=1

Qi

)(f −Au(k)). (14.87)

14.7.2 Il metodo di Schwarz come precondizionatore

Indicato con

Pas =( M∑i=1

Qi

)−1, (14.88)

segue dalla (14.87) che un’iterazione del metodo di Schwarz additivo corrispon-de ad un’iterazione dello schema di Richardson precondizionato applicato alla ri-soluzione del sistema lineare Au = f . Per questo motivo, la matrice Pas è dettaprecondizionatore di Schwarz additivo.

Analogamente, se introduciamo la matrice precondizionata

Qa = P−1as A =

M∑i=1

Pi,

un’iterazione del metodo di Schwarz additivo corrisponde ad un’iterazione delloschema di Richardson applicato al sistema Qau = ga, con ga = P−1as f .

Lemma 14.3 Le matrici Pi definite in (14.83) sono simmetriche e non negativerispetto al prodotto scalare indotto da A ,

(w,v)A = (Aw,v) ∀w,v ∈ RNh .

Dimostrazione. Abbiamo, per i = 1, 2,

(Piw,v)A = (APiw,v) = (RTi A−1i RiAw, Av) = (Aw, RTi A

−1i RiAv)

= (w, Piv)A, ∀v,w ∈ RNh .

Inoltre, ∀v ∈ RNh ,

(Piv,v)A = (APiv,v) = (RTi A−1i RiAv, Av) = (A

−1i RiAv, RiAv) ≥ 0.

Page 474: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

466 14 Il metodo di decomposizione dei domini

Lemma 14.4 La matrice precondizionata Qa del metodo di Schwarz additivo èsimmetrica e definita positiva rispetto al prodotto scalare indotto da A.

Dimostrazione. Dimostriamo dapprima la simmetria: per ogni u,v ∈ RNh , in virtùdella simmetria di A e Pi, otteniamo

(Qau,v)A = (AQau,v) = (Qau, Av) =∑i

(Piu, Av)

=∑i

(Piu,v)A =∑i

(u, Piv)A = (u, Qav)A.

Per quel che riguarda la positività, scegliendo nelle precedenti identità u = v,otteniamo

(Qav,v)A =∑i

(Piv,v)A =∑i

(RTi A−1i RiAv, Av) =

∑i

(A−1i qi,qi) ≥ 0

con qi = RiAv. Segue che (Qav,v)A = 0 se e solo se qi = 0, per ogni i, ovvero see solo se Av = 0; poiché A è definita positiva, ciò si verifica se e solo se v = 0. �

Si può dunque ottenere un metodo iterativo più efficiente per risolvere il siste-ma lineare Au = f utilizzando il metodo del gradiente coniugato (anzichè quello diRichardson) precondizionato con il precondizionatore di Schwarz additivo Pas. Taleprecondizionatore non è tuttavia scalabile poiché il numero di condizionamento dellamatrice precondizionata Qa cresce al ridursi della misura dei sotto-domini. Infatti siha

K2(P−1as A) ≤ C

1

δH, (14.89)

essendo C una costante indipendente da h, H e δ, ed essendo, come al solito, H =maxi=1,...,M{diam(Ωi)}, mentre δ esprime una misura caratteristica dell’ampiezzadella sovrapposizione fra sottodomini (come vedremo oltre). Ciò è dovuto al fattoche lo scambio di informazione avviene soltanto tra sotto-domini vicini, in quantol’applicazione di (Pas)−1 coinvolge soltanto risolutori locali. Tale limite può esseresuperato introducendo anche in questo contesto un problema globale coarse definitosull’intero dominio Ω e in grado di garantire una comunicazione globale tra tutti isotto-domini.Questa correzione ci porterà a considerare nella Sez. 14.7.3 una strategiagenerale di tipo multi-livello.

Vediamo ora alcuni aspetti algoritmici. Introduciamo M sotto-domini {Ωi}Mi=1tali che ∪Mi=1Ωi = Ω, e supponiamo che gli Ωi condividano una sovrapposizione diampiezza almeno pari a δ = ξh, con ξ ∈ N. In particolare, ξ = 1 corrisponde allasovrapposizione minimale, cioè al caso in cui essa si riduca ad una sola striscia dielementi. Allo scopo può essere usato il seguente algoritmo.

Page 475: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.7 I metodi iterativi di Schwarz 467

Ω1

Ω2

Ω3

Ω4

Ω5

Ω6

Ω7

Ω8

Ω9

Ω5

Figura 14.11. Partizione di una regione rettangolare Ω in 9 regioni senza sovrapposizione Ωi(sulla sinistra), e un esempio di sotto-dominio estesoΩ5 (sulla destra)

Algoritmo 14.5 (definizione di sotto-domini con sovrapposizione)

a. Costruire una triangolazione Th del dominio computazionale Ω

b. Suddividere la griglia Th in M sotto-domini {Ωi}Mi=1senza sovrapposizione tali che ∪Mi=1Ωi = Ω

c. Estendere ogni sotto-dominio Ωi aggiungendo tutte lestrisce di elementi di Ω entro una certa distanza δ da Ωi. Sonocosì individuati i domini Ωi

Riferiamo alla Figura 14.11 per una rappresentazione di una regione bidimensio-nale rettangolare suddivisa in 9 regioni Ωi senza sovrapposizione (sulla sinistra) ed unesempio di sotto-dominio esteso (sulla destra).

Per applicare il precondizionatore di Schwarz (14.88), procediamo come indicatonell’Algoritmo 14.5. Ricordiamo che Ni indica il numero dei nodi contenuti in Ωi,RTi e Ri sono le matrici di prolungamento e restrizione, rispettivamente, introdottein (14.80) e Ai le matrici locali introdotte in (14.79). Riportiamo in Figura 14.12 unesempio di pattern di sparsità per la matrice Ri.

0 10 20 30 40 50 60 70 80

0

5

10

15

20

25

nz = 27

Figura 14.12. Esempio di pattern di sparsità della matriceRi per una partizione del dominio in4 sotto-domini

Page 476: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

468 14 Il metodo di decomposizione dei domini

Algoritmo 14.6 (fase di startup per applicare Pas)a. Su ogni sotto-dominio Ωi, costruire Ri ed RTi

b. Costruire la matrice A corrispondente alla discretizzazionead elementi finiti sulla griglia Th

c. Su ogni Ωi, costruire le sotto-matrici locali Ai = RiARTi

d. Su ogni Ωi, predisporre il codice alla risoluzione di unsistema lineare con matrice associata Ai. Per esempio,si può calcolare la fattorizzazione LU (esatta o incompleta)di Ai

Alcuni commenti generali sull’Algoritmo 14.5 e l’Algoritmo 14.6 sono d’obbligo:

• i passi a. e b. dell’algoritmo 14.5 possono essere effettuati in ordine inverso, ov-vero si può prima suddividere il dominio computazionale (utilizzando, ad esempio,informazioni tratte dal problema fisico in esame), e poi triangolare;

• a seconda di quella che è la struttura generale del codice, si potrebbe pensare diunire i passi b. e c. dell’algoritmo 14.6 al fine di ottimizzare sia le risorse dimemoria che i tempi di CPU;

• nel passo d. dell’algoritmo 14.6, la fattorizzazione esatta potrebbe essere rim-piazzata da una fattorizzazione incompleta.

In altre situazioni si potrebbero scambiare i passi b. e c., ovvero costruire prima lematrici locali Ai (ad opera dei singoli processori) e poi assemblarle per ottenere lamatrice globale A.In effetti, il fattore cruciale per un uso efficiente di un sistema a processori parallelio di una rete di computer è quello di mantenere la località dei dati, in quanto nellamaggior parte delle architetture di calcolo parallelo il tempo necessario a muovere idati è di gran lunga maggiore del tempo impiegato a svolgere i calcoli.Altri codici (ad es. AztecOO, Trilinos, IFPACK) partono invece dalla matrice globaledistribuita per righe e ricavano poi le Ai senza prodotti matrice-matrice ma semplice-mente usando gli indici di colonna. In MATLAB sembra tuttavia più sensato costruireprima A, poi le Ri, e poi calcolare le RiARTi .

In Tabella 14.4 analizziamo il caso di una sovrapposizione minimale (δ = h) con-siderando diversi valori per il numero M di sotto-domini. Per quel che riguarda ladecomposizione di domini, consideriamo dei quadrati Ωi, con sovrapposizione, cia-scuno di area H2. Si noti che la stima teorica (14.89) è qui verificata sperimentalmente.

Tabella 14.4. Numero di condizionamento di P−1as A al variare di h eH

K2(P−1as A) H = 1/2 H = 1/4 H = 1/8 H = 1/16

h = 1/16 15.95 27.09 52.08 -h = 1/32 31.69 54.52 104.85 207.67h = 1/64 63.98 109.22 210.07 416.09h = 1/128 127.99 218.48 420.04 832.57

Page 477: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.7 I metodi iterativi di Schwarz 469

14.7.3 Metodi di Schwarz a due livelli

Come anticipato in Sez. 14.7.2, il limite principale del metodo di Schwarz è di propa-gare l’informazione soltanto tra i sotto-domini adiacenti. Per ovviarvi, come già pre-cedentemente fatto per il metodo di Neumann-Neumann, si può introdurre un terminedi scambio di informazioni globale all’interno del dominio Ω. L’idea è sempre quelladi considerare i sotto-domini Ωi come dei macro-elementi su Ω costituenti una grigliacoarse TH a cui si può associare la matrice AH . Si può dunque introdurre l’operatoreQH associato alla soluzione ad elementi finiti globale

QH = RTHA−1H RH ,

dove RH denota l’operatore di restrizione sulla griglia coarse. Posto per convenien-za Q0 = QH , possiamo allora definire una nuova matrice di precondizionamentoPcas t.c.

P−1cas =M∑i=0

Qi (14.90)

per la quale è possibile dimostrare il risultato seguente: esiste una costante C > 0,indipendente da h ed H , tale che

K2(P−1casA) ≤ C

H

δ.

Se il ricoprimento è “generoso”, ovvero se δ è una frazione di H , il precondizionatorePcas è scalabile, pertanto il metodo iterativo del gradiente coniugato per la risoluzionedel sistema degli elementi finiti, precondizionato con Pcas converge con una velocitàindipendente da h e dal numero di sotto-domini. Inoltre, per via della struttura additiva(14.90), il passo di precondizionamento è completamente parallelizzabile in quantocomporta la risoluzione di M sistemi indipendenti, uno per ogni matrice locale Ai.

L’uso di Pcas richiede le stesse operazioni necessarie per l’utilizzo di Pas, piùquelle previste nel seguente algoritmo.

Algoritmo 14.7 (fase di startup per l’uso di Pcas)

a. Eseguire l’Algoritmo 14.6

b. Definire una triangolazione grossolana (coarse) TH i cuielementi sono dell’ordine di H, e porre n0 = dim(V0).Supponiamo che Th sia annidata in TH (si veda, per esempio,la Figura 14.13) a destra

c. Costruire la matrice di restrizione R0 ∈ Rn0×Nh.I suoi elementi sono dati da

R0(i, j) = Φi(xj),

dove Φi è la funzione di base associata al nodo i dellagriglia coarse mentre con xj indichiamo le coordinatedel nodo j sulla griglia fine

Page 478: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

470 14 Il metodo di decomposizione dei domini

d. Costruire la matrice coarse AH. Ciò può esser fattodiscretizzando il problema variazionale originale su TH,ovvero calcolando AH come

AH(i, j) = a(Φj , Φi) =

∫Ω

d∑=1

∂Φi∂x

∂Φj∂x,

oppure comeAH = RHAR

TH .

Figura 14.13. A sinistra, esempio di griglia coarse per un dominio 2D basata su una meshstrutturata. I triangoli della griglia fine sono in linea sottile mentre le linee spesse identificanoi triangoli associati alla mesh coarse A destra, esempio di griglia coarse per un dominio 2Dbasata su una mesh non strutturata. I triangoli della griglia fine sono in linea sottile mentre lelinee spesse identificano i triangoli associati alla mesh coarse

Se il dominio computazionale ha una forma “semplice” (come nel caso del proble-ma che stiamo considerando), viene solitamente costruita prima la griglia grossolanaTH e poi, raffinandola un certo numero di volte, si genera la griglia fine Th. In pre-senza invece di domini caratterizzati da una forma complessa o di griglie fini Th nonuniformi, la generazione della griglia coarse costituisce l’aspetto più problematico de-gli algoritmi a due livelli. Una possibilità è di costruire prima una griglia fine Th e poi,deraffinandola opportunamente, si genera la griglia grossolana TH . Operativamenteciò significa che i nodi di TH sono un sotto-insieme dei nodi di Th. Gli elementi costi-tuenti TH verranno quindi costruiti a partire da tale insieme di nodi, operazione questaabbastanza semplice nel caso bi-dimensionale, meno banale nel caso 3D.Come alternativa si potrebbero generare le due griglie Th e TH indipendentementeuna dall’altra e poi costruire gli operatori RH ed RTH (si osservi che, in tal caso, le duegriglie potrebbero non essere annidate).

L’implementazione finale di Pcas può dunque essere realizzata nel seguente modo:

Algoritmo 14.8 (applicazione di Pcas)Dato un vettore r, calcolare z = P−1casr nel modo seguente:

a. Porre z = 0

b. For i = 1, . . . ,M Do in parallelo:

Page 479: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.7 I metodi iterativi di Schwarz 471

Tabella 14.5. Numero di condizionamento di P−1casA al variare di h eH

K2(P−1casA) H = 1/4 H = 1/8 H = 1/16 H = 1/32

h = 1/32 7.03 4.94 - -h = 1/64 12.73 7.59 4.98 -h = 1/128 23.62 13.17 7.66 4.99h = 1/256 45.33 24.34 13.28 -

c. restringere il residuo su Ωi: ri = Rir

d. calcolare zi :Aizi = ri

e. sommare nel residuo globale: z← RTi zif. EndFor

g. Calcolare il contributo coarse grid zH : AHzH = RHr

h. Sommare nel residuo globale: z← RTHzH

In Tabella 14.5 riportiamo il numero di condizionamento di P−1casA. La sovrap-posizione è identificata da δ = h. Osserviamo che il numero di condizionamento èpressoché costante per valori fissati del rapporto H/δ.

È possibile definire lo spazio coarse in modo alternativo a quanto fatto fino ad ora.Supponiamo che gli elementi identificanti l’operatore di restrizione siano dati da

RH(i, j) =

{1 se il nodo j ∈ Ωi,

0 altrimenti.

Poniamo AH = RHARTH . Questa procedura è detta di aggregazione, poiché gli ele-menti di AH sono costruiti semplicemente sommando gli elementi di A. Tale procedi-mento non richiede l’introduzionedi una griglia coarse. Il precondizionatore risultanteè dato da

P−1aggre = RTHA−1H RH + Pas.

Si può dimostrare che

K2(P−1aggreA) ≤ C

(1 +

H

δ

).

Riportiamo in Tabella 14.6 alcuni risultati numerici associati a tale precondizionatore.

Tabella 14.6. Numero di condizionamento di P−1aggreA al variare di h eH

P−1aggreA H = 1/4 H = 1/8 H = 1/16

h = 1/16 13.37 8.87 -h = 1/32 26.93 17.71 9.82h = 1/64 54.33 35.21 19.70h = 1/128 109.39 70.22 39.07

Page 480: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

472 14 Il metodo di decomposizione dei domini

In base ai risultati presentati e alle proprietà teoriche enunciate, possiamo conclu-dere che:

– per decomposizioni in un ridotto numero di sotto-domini, il precondizionatore ad-ditivo di Schwarz Pas fornisce risultati soddisfacenti;

– quando il numero M di sotto-domini è grande, è fondamentale utilizzare metodia due livelli basati sull’uso di una griglia coarse, oppure, in alternativa, tecnichedi aggregazione nel caso in cui la costruzione di quest’ultima risulti difficile ocomputazionalmente onerosa.

14.8 Condizioni all’interfaccia per altri problemi differenziali

Grazie al Teorema 14.1 in Sez. 14.2.2 abbiamo visto come un problema ai limiti el-littico (14.2) si possa riformulare nella sua versione DD grazie alle condizioni di in-terfaccia (14.10) e (14.11). Tale riformulazione è peraltro alla base dei metodi DDche fanno uso di partizioni in sotto-domini senza sovrapposizione. Si pensi ai metodiiterativi di Dirichlet-Neumann, Neumann-Neumann, Robin-Robin e, più in generale,a tutti i metodi che si esprimono attraverso algoritmi iterativi precondizionati dell’e-quazione di Steklov-Poincaré (14.27) e, nel discreto, del sistema del complemento diSchur (14.50).Introduciamo in questa sezione la formulazione DD con relative condizioni di interfac-cia di alcuni problemi interessanti per le applicazioni. La Tabella 14.7 riassume le con-dizioni da imporsi sull’interfaccia Γ per alcuni tra i più diffusi problemi differenziali.Per maggiori dettagli, analisi e generalizzazioni rinviamo a [QV99].

Qui ci limitiamo a fornire qualche spiegazione supplementare riguardo ai problemidi trasporto e di Stokes.

Problemi di trasporto. Consideriamo il problema

Lu = ∇ · (bu) + a0u = f in Ω, (14.91)

completato su ∂Ω da condizioni al bordo opportune. Introduciamo una partizionedell’interfaccia Γ (si veda la Figura 14.14): Γ = Γin ∪ Γout, dove

Γin = {x ∈ Γ | b(x) · n(x) > 0 } e Γout = Γ \ Γin.

Esempio 14.4 Il metodo di Dirichlet-Neumann per il problema in esame si potrebbe generaliz-zare come segue: assegnate due funzioni u(0)1 , u(0)2 su Γ , ∀k ≥ 0:⎧⎨⎩ Lu

(k+1)1 = f in Ω1,

(b · n)u(k+1)1 = (b · n)u(k)2 su Γout,⎧⎨⎩ Lu(k+1)2 = f in Ω2,

(b · n)u(k+1)2 = θ(b · n)u(k)1 + (1− θ)(b · n)u(k)2 su Γin.

Page 481: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.8 Condizioni all’interfaccia per altri problemi differenziali 473

Ω Ω1

Ω2

Γout

ΓinΓ

n

Figura 14.14. Decomposizione del dominio e dell’interfaccia per il problema di trasporto(14.91)

Il problema di Stokes. Ricordiamo che per il problema di Stokes (10.11) ci sono dueincognite: la velocità e la pressione del fluido. Tuttavia all’interfaccia si impone lacontinuità della velocità e non quella della pressione, essendo quest’ultima una fun-zione “solo” di L2. Sull’interfaccia Γ va invece imposta in modo debole la continuitàdel tensore di Cauchy

ν∂u

∂n− pn.

Esempio 14.5 Se si usa un metodo di tipo Dirichlet-Neumann si è ricondotti alla risoluzionedei due seguenti problemi (per abbreviare indichiamo con S l’operatore di Stokes):⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

S(u(k+1)2 , p(k+1)2 ) = f in Ω2,

ν∂u(k+1)2

∂n− p(k+1)2 = ν

∂u(k)1

∂n− p(k)1 su Γ,

u(k+1)2 = 0 su ∂Ω2 \ Γ,

(14.92)

⎧⎪⎪⎪⎨⎪⎪⎪⎩S(u(k+1)1 , p

(k+1)1 ) = f in Ω1,

u(k+1)1 = θu

(k+1)2 + (1− θ)u(k)1 su Γ,

u(k+1)1 = 0 su ∂Ω1 \ Γ.

(14.93)

Osserviamo che, se si considera come condizione al bordo per la velocità u = 0, la pres-sione p non è univocamente determinata, ovvero è definita a meno di una costante additiva.Bisogna dunque fissare tale costante, imponendo, ad esempio, che

∫Ωp = 0.

Per rispettare tale vincolo procediamo come segue. Quando si risolve il problema di Neumann(14.92) sul sotto-dominio Ω2, la velocità u(k+1)2 e la pressione p(k+1)2 sono determinate uni-vocamente. Successivamente si risolve il problema di Dirichlet (14.93) su Ω1, ma, poiché lapressione è definita a meno di una costante additiva, si deve aggiungere la condizione∫

Ω1

p(k+1)1 dΩ1 = −

∫Ω2

p(k+1)2 dΩ2.

Ora è evidente che quando le successioni{u(k)1 }, {u(k)2 }, p

(k)1 e p(k)2 convergono, la condizione

sulla media nulla per la pressione è automaticamente verificata. �

Page 482: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

474 14 Il metodo di decomposizione dei domini

Esempio 14.6 Se si usa il metodo iterativo di Schwarz per il problema di Stokes, ad ogni pas-so si devono risolvere i seguenti problemi (consideriamo, per semplicità, la suddivisione consovrapposizione di Figura 14.1, a sinistra):⎧⎪⎪⎪⎨⎪⎪⎪⎩

S(u(k+1)1 , p(k+1)1 ) = f in Ω1,

u(k+1)1 = u

(k)2 su Γ1,

u(k+1)1 = 0 su ∂Ω1 \ Γ1,

(14.94)

⎧⎪⎪⎪⎨⎪⎪⎪⎩S(u(k+1)2 , p

(k+1)2 ) = f in Ω2,

u(k+1)2 = u

(k+1)1 su Γ2,

u(k+1)2 = 0 su ∂Ω2 \ Γ2.

(14.95)

Nessuna condizione di continuità è ora richiesta per la pressione.La velocità del fluido deve avere divergenza nulla in Ω. Quando si risolve (14.94), si ha

divu(k+1)1 = 0 in Ω1 e, grazie alla formula di Green, ne segue che∫

∂Ω1

u(k+1)1 · n dγ = 0.

Questa relazione ne impone implicitamente una per u(k)2 in (14.94)2; infatti

0 =

∫∂Ω1

u(k+1)1 · n dγ =

∫Γ1

u(k+1)1 · n dγ =

∫Γ1

u(k)2 · n dγ. (14.96)

Alla prima iterazione si può scegliere u(k)2 in modo tale che la condizione di compatibilità(14.96) sia soddisfatta, ma successivamentesi perde del tutto il controllo su tale quantità. Inoltre,per lo stesso motivo, la risoluzione di (14.95) forza la condizione di compatibilità∫

Γ2

u(k+1)1 · n dγ = 0. (14.97)

Fortunatamente, il metodo di Schwarz garantisce automaticamente tale condizione. Sia infattiΓ12 = Ω1 ∩Ω2; ora in Γ12 si ha divu(k+1)1 = 0, ma su Γ12 \ (Γ1 ∪Γ2) u(k+1)1 è nulla in virtùdelle condizioni al bordo. Allora ne segue che

0 =

∫∂Γ12

u(k+1)1 · n dγ =

∫Γ1

u(k+1)1 · n dγ +

∫Γ2

u(k+1)1 · n dγ.

Essendo nullo il primo integrale del termine di destra a causa della (14.96), anche il secondodovrà esserlo, pertanto la (14.97) è verificata. �

Page 483: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

14.8 Condizioni all’interfaccia per altri problemi differenziali 475

Tabella 14.7. Condizioni di interfaccia per diversi tipi di operatori differenziali

Operatore Problema Continuità (D) Continuità (N)

Laplace −�u = f u∂u

∂nElasticità −∇ · (σ(u)) = f

con

σkj = μ(Dkuj +Djuk) + λdivuδkj , u σ(u) · nu spostamento della membrana nel piano

Diffusione-trasporto −∑kjDk(AkjDju) + div(bu) + a0u = f u∂u

∂nL=∑k

akjDju · nk

Trasporto div(bu) + a0u = f b · nu

Stokes (fluidi viscosi −divT(u, p) + (u∗ · ∇)u = fincomprimibili) divu = 0

con

Tkj = ν(Dkuj +Djuk)− pδkj , u T(u, p) · n

u∗ =

⎧⎪⎪⎨⎪⎪⎩0 (Stokes)

u∞ (Oseen)

u (Navier-Stokes)

Stokes (fluidi viscosi αu− divT(u, σ) = f

comprimibili) ασ + divu = g

con u T(u, σ) · nTkj = ν(Dkuj +Djuk),

−βσδkj +(g − 2ν

d

)divuδkj ,

ρ = densità del fluido= log σ

Stokes (fluidi non viscosi αu+ β∇σ = fcomprimibili) ασ + divu = 0 u · n σ

Maxwell (regime armonico) rot

(1

μrotE

)−α2εE + iασE = f n ×E n×

(1

μrotE

)

Page 484: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15

Introduzione al controllo ottimale perequazioni a derivate parziali

In questo capitolo vengono presentati i concetti di base della teoria del controllo otti-male per equazioni differenziali alle derivate parziali (EDP), quindi vengono affrontatigli aspetti legati alla loro risoluzione numerica. Presenteremo dapprima l’impostazio-ne classica basata sulla teoria sviluppata da J.L. Lions in [Lio71] e [Lio72]; partico-lare attenzione è dedicata a problemi retti da problemi ai limiti lineari ellittici. Indiconsidereremo la metodologia basata sul formalismo della Lagrangiana (si vedano adesempio [BKR00] e [Jam88]). Mostreremo poi due diverse strategie per risolvere nu-mericamente i problemi di controllo ottimale mediante il metodo di Galerkin-ElementiFiniti.

Per approfondimenti sugli aspetti teorici del controllo ottimale presentati in questocapitolo si può fare riferimento a [Lio71], [AWB71], [ATF87], [Ago03], [BKR00],[Gun03], [Jam88]; per i richiami di analisi funzionale si veda l’Appendice A ed inoltre[Ada75], [BG87], [Bre86], [Rud91], [Sal08] e [TL58].

15.1 Definizione del problema di controllo ottimale

In generale, possiamo schematizzare un problema di controllo attraverso il paradigmaillustrato in Figura 15.1. Il sistema può essere espresso da un problema algebrico,differenziale alle derivate ordinarie o differenziale alle derivate parziali. La soluzione,che indicheremo genericamente con y, dipende da una variabile u che rappresenta ilcontrollo che si può esercitare in input del sistema.Obiettivo di un problema di controllo è determinare u affinché una certa variabile inoutput, indicata genericamente con z (funzione di u attraverso la y), detta osservata,assuma un “valore” desiderato zd (l’osservazione).Il problema si dirà controllabile se è possibile trovare u tale che la variabile osservataz raggiunga esattamente il valore desiderato zd. Naturalmente non tutti i sistemi sonocontrollabili. Si pensi a titolo di esempio al semplice caso in cui il problema di statosia un sistema algebrico della forma Ay = b, dove A è una matrice n × n nonsingolare assegnata e b un vettore diRn assegnato. Supponiamo che l’osservazione sia

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 485: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

478 15 Introduzione al controllo ottimale per equazioni a derivate parziali

Controllo

Input

Stato Osservazione

OutputSistema

Figura 15.1. Gli elementi essenziali di un problema di controllo

rappresentata da una componente della soluzione, diciamo la prima, e che il controllosia una delle componenti del termine noto, diciamo l’ultima. La questione pertantoè “Determinare u ∈ R t.c. la soluzione del sistema lineare Ay = b + [0, ..., 0, u]T

verifichi y1 = y∗1”, essendo y∗1 un valore desiderato. È evidente che tale problema nonavrà soluzione, in generale.Per questa ragione spesso si preferisce sostituire il problema della controllabilità conun problema di ottimizzazione: non si pretende che la variabile da osservare z siaesattamente uguale alla variabile desiderata zd, ma che la differenza tra z e zd (insenso opportuno) sia “minima”. Dunque, controllo e ottimizzazione sono due concettiintimamente legati, come vedremo nel seguito.Come precedentemente osservato, noi ci limiteremo al caso di sistemi rappresentatida problemi alle derivate parziali di tipo ellittico. A tal fine, iniziamo con l’introdurregli enti matematici che entrano in gioco nella teoria:

• La funzione di controllo u, appartenente a uno spazio funzionale Uad, detto spa-zio dei controlli ammissibili, scelto opportunamente a seconda del ruolo che ilcontrollo occupa all’interno delle equazioni (controllo sul dominio o sul bordo) edegli eventuali vincoli imposti su u. Si osservi che Uad ⊆ U , essendo U lo spaziofunzionale più adeguato a descrivere il ruolo che la funzione di controllo u assu-me nelle equazioni. Se Uad = U il problema di controllo si dirà non vincolato; seinvece Uad ⊂ U stiamo trattando un problema vincolato.

• Lo stato del sistema y(u) ∈ V (un opportuno spazio funzionale), dipendente dalvalore assunto dal controllo u, che soddisfa l’equazione di stato del tipo

Ay(u) = f, (15.1)

dove A : V �→ V′ è un operatore differenziale (lineare o non). Tale proble-ma descrive il sistema fisico soggetto al controllo, da corredarsi con opportunecondizioni al contorno; l’operatore A rappresenta il problema e ne definisce latipologia.

• La funzione di osservazione, indicata con z(u) a sua volta dipendente, tramite y eun opportuno operatore C , dal controllo u:

z(u) = Cy(u).

Tale funzione, che appartiene allo spazio delle funzioni osservate Z, va confron-tata con la funzione di osservazione desiderata che indicheremo con zd e cherappresenta l’obiettivo da raggiungere.Ottimizzare il sistema (15.1) significa trovare la funzione u tale che la funzio-ne di osservazione z(u) sia “la più vicina possibile” alla funzione desiderata zd,attraverso un processo di minimizzazione, come descriviamo nel seguito.

Page 486: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.2 Un problema di controllo per sistemi lineari 479

• Definiamo un funzionale costo J(u), definito sullo spazio Uadu ∈ Uad �→ J(u) ∈ R con J(u) ≥ 0.

In generale, J dipenderà da u (anche) attraverso z(u).

Il problema di controllo ottimale può essere sintetizzato in uno dei due seguenti modi:

i) trovare u ∈ Uad tale che

J(u) = inf J(v) ∀v ∈ Uad; (15.2)

ii) trovare u ∈ Uad tale che valga la seguente disequazione

J(u) ≤ J(v) ∀v ∈ Uad. (15.3)

La funzione u che soddisfa (15.2) (o (15.3)) si chiama controllo ottimale (o controlloottimo) del sistema (15.1).Prima di fornire condizioni necessarie e sufficienti a garantire l’esistenza e l’unicitàdella soluzione del problema di controllo, nonché osservare più in dettaglio la strut-tura e le proprietà delle equazioni che governano il problema, vediamo un sempliceesempio in dimensione finita.

15.2 Un problema di controllo per sistemi lineari

Supponiamo che A sia una matrice invertibile di dimensione n × n e B una matricedi dimensione n× q. Sia inoltre f un vettore di Rn, u il vettore di Rq che rappresentail controllo, y = y(u) ∈ Rn il vettore che rappresenta lo stato, ed è soluzione delsistema lineare

Ay = f +Bu (15.4)

Il controllo u andrà scelto in modo da minimizzare il seguente funzionale

J(u) = ‖z(u)− zd‖2Rm + ‖u‖2N , (15.5)

dove zd è un vettore dato di Rm (il cosiddetto obiettivo), z(u) = Cy(u) è il vettoreche rappresenta l’osservazione, ove C è una matrice data di dimensione m × n, e‖u‖N = (Nu,u)1/2Rq è la norma N del vettore u, essendo N una matrice data didimensione q × q simmetrica e definita positiva.

Interpretando il termine ‖u‖2N come energia associata al controllo, il problemaè dunque quello di scegliere il controllo in modo tale che l’osservazione sia vicinoall’obbiettivo e la sua energia non sia troppo grande.Osserviamo che

J(u) = (CA−1(f +Bu) − zd , CA−1(f +Bu)− zd)Rm + (Nu,u)Rq . (15.6)

Si tratta dunque di una funzione quadratica di u che ha un minimo globale su Rq.Quest’ultimo è caratterizzato dalla condizione

J ′(u)h = 0 ∀h ∈ Rq (15.7)

Page 487: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

480 15 Introduzione al controllo ottimale per equazioni a derivate parziali

dove J ′(u)h è la derivata direzionale nella direzioneh calcolata nel “punto”u, ovvero

J ′(u)h = limt→0

J(u+ th)− J(u)

t.

(Si veda la Definizione A.7 dell’Appendice A.)Osservando che

Ay′(u)h = Bh e z′(u)h = Cy′(u)h

per ogni u e h, dalla (15.6) troviamo

J ′(u)h = 2[(z′(u)h, z(u) − zd)Rm + (Nu,h)Rq ] (15.8)

= 2[(CA−1Bh, Cy(u)− zd)Rm + (Nu,h)Rq ] . (15.9)

Introduciamo la soluzione p = p(u) ∈ Rn del sistema seguente, detto stato aggiuntodel sistema di partenza (15.4):

ATp(u) = CT (Cy(u) − zd) . (15.10)

Allora dalla (15.8) deduciamo che

J ′(u)h = 2[(Bh,p(u))Rn + (Nu,h)Rq ]

ovvero cheJ ′(u) = 2[BTp(u) +Nu]. (15.11)

Poiché il minimo di J si trova in corrispondenza del suo punto u per il quale J ′(u) =0, possiamo concludere che il sistema a tre campi⎧⎨⎩

Ay = f + Bu,ATp = CT (Cy − zd),BTp+Nu = 0,

(15.12)

ammette un’unica soluzione (u,y,p) ∈ Rq × Rn × Rn, e u è l’unico controlloottimale.

Nella prossima sezione introdurremo degli esempi di problemi di controllo perequazioni alle derivate parziali di tipo ellittico.

15.3 Alcuni esempi di problemi di controllo ottimale per problemiellittici

Si consideri il caso in cui l’operatore ellittico A sia il Laplaciano; si può dunquedefinire la seguente famiglia di problemi:

• Controllo distribuito. Dato il problema di stato{−Δy = f + u in Ω,y = 0 su Γ = ∂Ω,

(15.13)

dove Ω è un aperto in Rn, y ∈ V = H10(Ω) è la variabile di stato, f ∈ L2(Ω)è il termine sorgente e u ∈ Uad = L2(Ω) è la funzione di controllo, si possonoconsiderare due tipi di funzionali da minimizzare:

Page 488: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.4 Alcuni risultati per minimi di funzionali 481

– sul dominio, per esempio

J(u) =

∫Ω

(y(u) − zd)2dΩ; (15.14)

– sul bordo, per esempio (nel caso y(u) sia sufficientemente regolare)

J(u) =

∫Γ

(∂y(u)

∂n− zdΓ )

2dΓ,

essendo n la normale uscente dal bordo del dominio.Le funzioni zd e zdΓ sono dette funzioni di osservazione.

• Controllo sulla frontiera. Dato il problema di stato⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩−Δy = f in Ω,

y = u su ΓD,

∂y∂n= 0 su ΓN ,

(15.15)

con ΓD ∪ ΓN = ∂Ω e◦ΓD ∩

◦ΓN= ∅, con controllo u ∈ H

12 (ΓD) definito sul

bordo di Dirichlet, si possono considerare due tipi di funzionale costo:– sul dominio, come in (15.14);– sul bordo

J(u) =

∫ΓN

(y(u) − zdΓN )2dΓN .

Anche zdΓN è una funzione di osservazione.

15.4 Alcuni risultati per minimi di funzionali

In questa sezione ricordiamo alcuni risultati di esistenza e unicità per minimi di funzio-nali, con particolare attenzione a quelli più strettamente utili alla teoria del controllo;per approfondimenti si vedano ad esempio [Lio71], [BG87], [Bre86] e [TL58].Si consideri uno spazio di Hilbert U (dotato di prodotto scalare (·, ·)), su cui è definitauna forma bilineare π del tipo

u, v �→ π(u, v) ∀u, v ∈ U . (15.16)

Si assuma che tale forma sia simmetrica, continua e coerciva. Indicheremo con ‖w‖ =√(w,w) la norma in U indotta dal prodotto scalare. Si consideri ora un funzionale

su Uv �→ F (v) ∀v ∈ U , (15.17)

che si supporrà lineare e continuo. Si consideri uno spazio di funzioni Uad contenutoin U , che diremo spazio delle funzioni ammissibili, e si consideri il funzionale costoJ della forma seguente

J(v) = π(v, v) − 2F (v) ∀v ∈ Uad. (15.18)

Ricordiamo i seguenti risultati, per la cui dimostrazione rinviamo a [Lio71, Thm 1.1].

Page 489: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

482 15 Introduzione al controllo ottimale per equazioni a derivate parziali

Teorema 15.1 Sia π(·, ·) una forma bilineare continua, coerciva e simmetricasu U . Allora esiste ed è unico u ∈ Uad tale che

J(u) = inf J(v) ∀v ∈ Uad. (15.19)

Tale elemento si chiama controllo ottimale (o controllo ottimo).

Teorema 15.2 Nelle ipotesi del teorema precedente:

(i) Il controllo ottimaleu ∈ Uad soddisfa la seguente disequazione variazionale

π(u, v − u) ≥ F (v − u) ∀v ∈ Uad. (15.20)

(ii) Nel caso particolare in cui Uad ≡ U (ovvero si consideri un problema diottimizzazione non vincolata) e π(u, v) è una forma bilineare continua ecoerciva (ma non necessariamente simmetrica), allora, grazie al Lemma diLax–Milgram 2.1, u soddisfa la seguente equazione di Eulero associata a(15.19):

π(u, w) = F (w) ∀w ∈ U . (15.21)

(iii) Nel caso particolare in cui Uad sia un cono chiuso e convesso con verticenell’origine 0a la soluzione u verifica

π(u, v) ≥ F (v) ∀v ∈ Uad e π(u, u) = F (u). (15.22)

(iv) Nel caso in cui J non sia necessariamente quadratico, ma si supponga chela funzione v �→ F (v) sia strettamente convessa e differenziabile e soddisfila condizione: J(v) →∞ con ||v|| → ∞ ∀v ∈ Uad, allora l’unico elementou ∈ Uad che soddisfa la condizione (15.19) è caratterizzato dalla seguentedisequazione variazionale

J ′(u)[v − u] ≥ 0 ∀v ∈ Uad (15.23)

o, equivalentemente,

J ′(v)[v − u] ≥ 0 ∀u ∈ Uad. (15.24)

(Il simbolo J ′ indica la derivata di Fréchet di J , si veda la Definizione A.6dell’Appendice A.)

a Uno spazio metrico lineareW si dice cono convesso chiuso con vertice nell’origine 0se: (1) 0 ∈W , (2) ∀x ∈ W ⇒ kx ∈ W ∀k ≥ 0, (3) ∀x, y ∈ W ⇒ x + y ∈W , (4)W chiuso.

Page 490: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.4 Alcuni risultati per minimi di funzionali 483

Dimostrazione. Dimostriamo dapprima la (15.20). In effetti, se u è l’elemento mini-mizzante di (15.19), per ogni v ∈ Uad ed ogni 0 < ϑ < 1, J(u) ≤ J((1− ϑ)u+ ϑv),pertanto 1ϑ [J(u+ϑ(v−u))−J(u)] ≥ 0. La disequazione rimane valida al limite, perϑ→ 0 (purché tale limite esista), pertanto

J ′(u)[v − u] ≥ 0 ∀v ∈ Uad. (15.25)

Essendo J definito dalla (15.18), la (15.20) segue dalla disequazione (15.25).Vale anche il viceversa (pertanto (15.19) e (15.20) sono equivalenti). Infatti, se u sod-disfa (15.20), e dunque (15.25), essendo la funzione v �→ J(v) convessa, per ogni0 < ϑ < 1 si ha

J(v) − J(w) ≥ 1ϑ[J((1− ϑ)w+ v) − J(w)] ∀v, w.

Passando al limite per ϑ→ 0 si ottiene

J(v) − J(w) ≥ J ′(w)[v − w].

Posto w = u si ottiene, grazie alla (15.25), che J(v) ≥ J(u), ovvero la (15.19).Per dimostrare la (15.21) basta scegliere in (15.20) v = u± w ∈ U .Dimostriamo ora la (15.22). La prima disequazione si ottiene sostituendo v con

v + u in (15.20). Ponendo ora v = 0 in (15.20) otteniamo π(u, u) ≤ F (u) checombinata con la prima delle (15.22) fornisce la seconda equazione delle (15.22). Ilviceversa (che (15.22) implichi (15.20)) è evidente.

Per la dimostrazione di (15.23) e (15.24) si veda [Lio71, Thm 1.4]. �

Osservazione 15.1 Se J(v) ∈ C1 ∀v ∈ U , allora per ogni elemento minimiz-zante u ∈ U (se esiste) si ha J ′(u) = 0. Se inoltre valgono le ipotesi del Teo-rema 15.2 (punto (iv)), allora esiste almeno un elemento minimizzante u ∈ U .

Riassumendo abbiamo ottenuto che la soluzione u ∈ Uad del problema di minimizza-zione soddisfa le seguenti condizioni, tra loro equivalenti:

i) J(u) = inf J(v) ∀v ∈ Uad,ii) J(u) ≤ J(v) ∀v ∈ Uad,iii) J ′(u)[v − u] ≥ 0 ∀v ∈ Uad,iv) J ′(v)[v − u] ≥ 0 ∀u ∈ Uad.

Prima di concludere, consideriamo in astratto il problema di trovare u ∈ Uad sod-disfacente la disequazione variazionale (15.20) (se π(·, ·) non è simmetrica questoproblema non corrisponde ad un problema di calcolo delle variazioni, ovvero ad unproblema di minimo).

Page 491: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

484 15 Introduzione al controllo ottimale per equazioni a derivate parziali

Teorema 15.3 Se esiste una costante c > 0 tale che

π(v1 − v2, v1 − v2) ≥ c‖v1 − v2‖2 ∀v1, v2 ∈ Uad, (15.26)

allora esiste un’unica funzione u ∈ Uad soddisfacente (15.20).

Per la dimostrazione si veda [Lio71, Thm 2.1].

15.5 La teoria del controllo ottimale per problemi ellittici

In questa sezione riportiamo alcuni risultati di esistenza e unicità della soluzione delproblema del controllo ottimale retto da equazioni alle derivate parziali di tipo lineareellittico. Per semplicità ci limiteremo a trattare il caso di un problema di controllodistribuito (si veda ad esempio la Sez. 15.3); analoghi risultati valgono per problemicon controllo al bordo [Lio71].

Siano V e H due spazi di Hilbert, V′ il duale di V, H′ quello di H, con V densoin H. Ricordiamo che in tale caso vale la proprietà (A.10) dell’Appendice A. Sianoinoltre:

• a(u, v): una forma bilineare, continua su V e coerciva (ma non necessariamentesimmetrica);

• F (v) = V ′〈f, v〉V , con f ∈ V′, un funzionale lineare e limitato su V. Se f ∈ Hallora F (v) = V ′〈f, v〉V ≡ (f, v)H (il prodotto scalare suH).

Nelle ipotesi precedenti il lemma di Lax–Milgram assicura che esiste una unicasoluzione y ∈ V del problema

a(y, ψ) = (f, ψ) ∀ψ ∈ V. (15.27)

Definito l’operatore A

A ∈ L(V,V′) : V ′〈Aϕ, ψ〉V = a(ϕ, ψ) ∀ϕ, ψ ∈ V,

il problema (15.27) diventa (in forma operatoriale)

Ay = f in V′. (15.28)

L’equazione precedente, che rappresenta un “sistema fisico” retto dall’operatore A, vacompletata con l’aggiunta del termine di controllo, che assumeremo come controllodistribuito.Siano U lo spazio di Hilbert delle funzioni di controllo e B un operatore appartenenteallo spazio L(U ,V′). Per ogni controllo u l’equazione di stato del sistema è

Ay(u) = f +Bu y ∈ V, (15.29)

Page 492: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.5 La teoria del controllo ottimale per problemi ellittici 485

o, in forma debole,

y ∈ V : a(y, ϕ) = (f, ϕ) + b(u, ϕ) ∀ϕ ∈ V, (15.30)

essendo b(·, ·) la forma bilineare associata all’operatore B, ovvero

b(u, ϕ) = V ′〈Bu, ϕ〉V ∀u ∈ U , ∀ϕ ∈ V. (15.31)

Indichiamo con Z lo spazio di Hilbert delle funzioni di osservazione e introduciamol’operatore C ∈ L(V,Z) e l’equazione di osservazione

z(u) = Cy(u). (15.32)

Infine definiamo il funzionale costo

J(u) = J(y(u)) =‖ Cy(u) − zd ‖2Z +(Nu, u)U , (15.33)

dove N ∈ L(U ,U) è una forma simmetrica definita positiva tale che

(Nu, u)U ≥ ν‖u‖2U ∀u ∈ U , (15.34)

con ν > 0, e zd ∈ Z è la funzione di osservazione desiderata (l’obiettivo del problemadi controllo).Il problema di controllo ottimale consiste nel trovare u ∈ Uad ⊆ U tale per cui

J(u) = inf J(v) ∀v ∈ Uad. (15.35)

Osservazione 15.2 Quando si minimizza (15.33), si minimizza di fatto un bilanciotra due addendi. Il primo richiede che l’osservata z(u) sia vicina al valore desideratozd. Il secondo penalizza l’uso di un controllo u “troppo costoso”. In termini euristici,si sta cercando di condurre z(u) verso zd con uno sforzo ridotto.Si osservi che la teoria vale anche per il caso in cui la forma N sia nulla, anche se inquesto caso si dimostra solo l’esistenza del controllo ottimale, ma non la sua unicità.

Si vogliono ora applicare i risultati dei teoremi enunciati nella Sez. 15.4; a questoscopo, osservando che la mappa u �→ y(u) da U in V è affine, riscriviamo la (15.33)nel seguente modo

J(u) = ‖C[y(u)− y(0)] +Cy(0) − zd‖2Z + (Nu, u)U . (15.36)

Definiamo ora la forma bilineare π(u, v) continua in U e il funzionale F (v) (conu, v ∈ U), rispettivamente, come:

π(u, v) = (C[y(u)− y(0)], C[y(v) − y(0)])Z + (Nu, v)U ,

F (v) = (zd −Cy(0), C[y(v) − y(0)])Z .

Page 493: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

486 15 Introduzione al controllo ottimale per equazioni a derivate parziali

Grazie a queste definizioni si ottiene

J(v) = π(v, v) − 2F (v) + ||zd −Cy(0)||2Z .

Essendo ||Cy(u)− y(0)||2Z ≥ 0, grazie alla (15.34) si ottiene

π(v, v) ≥ ν ||v||2U ∀v ∈ U .

Abbiamo dunque ricondotto il problema alla forma vista nella Sez. 15.4: pertanto ilTeorema 15.1 garantisce l’esistenza e unicità del controllo u ∈ Uad.

A questo punto dobbiamo studiare la struttura delle equazioni utili alla risoluzionedel problema di controllo. Essendo (grazie al Teorema 15.1) A un isomorfismo tra Ve V′ (si veda la Definizione A.4 dell’Appendice A), abbiamo

y(u) = A−1(f + Bu),

da cui y′(u) · ψ = A−1Bψ e pertanto

y′(u) · (v − u) = A−1B(v − u) = y(v) − y(u).

Allora, dovendo il controllo ottimale soddisfare la (15.23), dividendo per 2 la (15.23)si ottiene, grazie a (15.36)

(Cy(u) − zd, C[y(v) − y(u)])Z + (Nu, v − u)U ≥ 0 ∀v ∈ Uad. (15.37)

Sia ora C ′ ∈ L(Z ′,V′) l’operatore aggiunto dell’operatore C ∈ L(V,Z) (si veda(3.99))

Z 〈Cy, v〉Z′ = V 〈y, C ′v〉V′ ∀y ∈ V, ∀v ∈ Z ′.Allora la (15.37) diventa

V′ 〈C ′Λ(Cy(u)− zd), y(v) − y(u)〉V + (Nu, v − u)U ≥ 0 ∀v ∈ Uad,

dove Λ (=ΛZ) indica qui l’isomorfismo canonico di Riesz di Z in Z ′ (si veda la(A.5)). Usando il Teorema A.1 di rappresentazione di Riesz (si veda la Sez. A.1dell’Appendice A) la precedente disequazione diventa

(C ′Λ(Cy(u) − zd), y(v) − y(u))H + (Nu, v − u)U ≥ 0 ∀v ∈ Uad. (15.38)

Introduciamo ora l’operatore aggiunto di A, A∗ ∈ L(V,V′) (si veda la definizione(3.101)). Esso è un isomorfismo da V in V′ e soddisfa l’equazione (si veda la (3.106))

a(ψ, φ) = (A∗φ, ψ)V = (φ, Aψ)V ∀φ, ψ ∈ V.

Definiamo stato aggiunto (o variabile aggiunta)p(u) ∈ V la soluzione dell’equazioneaggiunta

A∗p(u) = C ′Λ[Cy(u)− zd], (15.39)

con u ∈ U ; definiamo inoltre l’operatore aggiunto di B, B′ ∈ L(V,U ′) (si veda(3.99)). Osserviamo che, grazie a (15.39),

Page 494: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.5 La teoria del controllo ottimale per problemi ellittici 487

V′〈C ′Λ(Cy(u) − zd), y(v) − y(u)〉V =

(C ′Λ(Cy(u)− zd), y(v) − y(u))H = (A∗p(u), y(v) − y(u))V =

(grazie alla definizione di A∗) = (p(u), A(y(v) − y(u)))V =

(grazie alla (15.29))= (p(u), B(v − u))V = U ′〈B′p(u), v − u〉U .

Introducendo l’isomorfismo canonico ΛU di Riesz di U in U ′ (si veda di nuovo la(A.5)), si ha che la (15.38) può essere scritta come

(Λ−1U B′p(u) +Nu, v − u)U ≥ 0 ∀v ∈ Uad. (15.40)

Nel caso in cui Uad = U (controllo non vincolato), questa condizione diventa

B′p(u) + ΛUNu = 0, (15.41)

come si deduce pur di prendere in (15.40) v = u− (Λ−1U )B′p(u) +Nu). Il risultatofinale è riportato nel seguente teorema ([Lio71, Thm 1.4]).

Teorema 15.4 Condizione necessaria e sufficiente per l’esistenza del controlloottimale u ∈ Uad è che valgano le seguenti equazioni e disequazioni (si vedano(15.29),(15.39),(15.40)):⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

y = y(u) ∈ V, Ay(u) = f +Bu,

p = p(u) ∈ V, A∗p(u) = C ′Λ[Cy(u)− zd],

u ∈ Uad, (Λ−1U B′p(u) +Nu, v − u)U ≥ 0 ∀v ∈ Uad,(15.42)

oppure, in forma debole:⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩y = y(u) ∈ V, a(y(u), ϕ) = (f, ϕ) + b(u, ϕ) ∀ϕ ∈ V,

p = p(u) ∈ V, a(ψ, p(u)) = (Cy(u) − zd, Cψ) ∀ψ ∈ V,

u ∈ Uad, (Λ−1U B′p(u) +Nu, v − u)U ≥ 0 ∀v ∈ Uad.(15.43)

Se la forma N è simmetrica e definita positiva, allora il controllo u è ancheunico; se invece N = 0 e Uad è limitato, allora esiste almeno una soluzione edinoltre la famiglia di controlli ottimi forma un sottoinsieme chiuso e convesso Xdi Uad.

Page 495: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

488 15 Introduzione al controllo ottimale per equazioni a derivate parziali

La terza condizione di (15.42) può essere espressa nel seguente modo

(Λ−1U B′p(u) +Nu, u)U = infv∈Uad

(Λ−1U B′p(u) +Nu, v)U . (15.44)

La derivata del funzionale costo può essere espressa in funzione dello statoaggiunto p(u) come segue

1

2J ′(u) = B′p(u) + ΛUNu. (15.45)

Osservazione 15.3 A meno del termine dipendente dalla forma N , J ′ si ottiene dallavariabile aggiunta p tramite l’operatore B′. Tale risultato sarà alla base dei metodinumerici utili al conseguimento del controllo ottimale, previa discretizzazione delleequazioni. Se Uad = U il controllo ottimo soddisfa pertanto

Nu = −Λ−1U B′p(u) . (15.46)

15.6 Alcuni esempi di problemi di controllo

15.6.1 Un problema di Dirichlet con controllo distribuito

Riprendiamo l’esempio del problema di controllo distribuito (15.13) e consideriamoil seguente funzionale da minimizzare

J(v) =1

2

∫Ω

(y(v) − zd)2 dx+

1

2(Nv, v), (15.47)

dove, ad esempio, si potrebbe prendere N = νI, ν > 0. In questo caso V = H10(Ω),H = L2(Ω), U = H (dunque (Nv, v) = (Nv, v)U ) pertanto ΛU è l’operatore identi-tà. Inoltre, B è l’operatore identità, C è l’operatore di iniezione di V inH, Z = H edunque Λ è l’operatore identità. Infine a(u, v) =

∫Ω∇u · ∇v dx. Grazie al Teorema

15.4 otteniamo⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

y(u) ∈ H10(Ω) : Ay(u) = f + u in Ω,

p(u) ∈ H10(Ω) : A∗p(u) = y(u) − zd in Ω,

u ∈ Uad :

∫Ω

(p(u) +Nu)(v − u) dx ≥ 0 ∀v ∈ Uad.

(15.48)

Nel caso (non vincolato) in cui Uad = U (= L2(Ω)), l’ultima disequazione implica

p(u) +Nu = 0,

(basta prendere v = u− (p(u) +Nu)).

Page 496: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.6 Alcuni esempi di problemi di controllo 489

Le prime due equazioni di (15.48) forniscono allora un sistema per le variabili y e p⎧⎨⎩Ay +N−1p = f in Ω, y = 0 su ∂Ω,

A∗p − y = −zd in Ω, p = 0 su ∂Ω,

la cui soluzione fornisce il controllo ottimale: u = −N−1p.In questo problema, se Ω è regolare, per la proprietà di regolarità ellittica sia y chep sono funzioni di H2(Ω). Poiché N−1 trasforma H2(Ω) in se stesso, anche il con-trollo ottimale u ∈ H2(Ω). Non sempre, tuttavia, il controllo ottimale è una funzioneregolare.Più in generale, se Uad = U , la condizione (15.40) si riduce a

Λ−1U B′p(u) +Nu = 0.

Eliminando u il sistema (15.42) diventa pertanto⎧⎨⎩ Ay + BN−1Λ−1U B′p = f,

A∗p− C ′Cy = −C ′zd,

e il controllo ottimale si ottiene allora risolvendo l’equazione (15.46).

15.6.2 Un problema di Neumann con controllo distribuito

Consideriamo ora il problema⎧⎪⎪⎨⎪⎪⎩Ay(u) = f + u in Ω,

∂y(u)

∂nA= g su ∂Ω,

(15.49)

dove A è un operatore ellittico e∂

∂nAè la derivata conormale associata ad A (per la

sua definizione si veda la (2.34)). Il funzionale da minimizzare è lo stesso introdottoin (15.47). In questo caso V = H1(Ω), H = L2(Ω), U = H, B è l’identità, C è lamappa di iniezione di V inH,

a(v, w) = V′ 〈Av, w〉V , F (v) =

∫Ω

fv dx+

∫∂Ω

gv dγ,

con f ∈ L2(Ω) e g ∈ H−1/2(∂Ω).Se Av = −Δv + βv, allora

a(v, w) =

∫Ω

∇v · ∇w dx+

∫Ω

βvw dx.

La forma variazionale del problema di stato (15.49) è

y(u) ∈ H1(Ω) : a(y(u), v) = F (v) ∀v ∈ H1(Ω). (15.50)

Page 497: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

490 15 Introduzione al controllo ottimale per equazioni a derivate parziali

Il problema aggiunto è un problema di Neumann della forma⎧⎪⎪⎨⎪⎪⎩A∗p(u) = y(u) − zd in Ω,

∂p(u)

∂nA∗= 0 su ∂Ω.

(15.51)

Il controllo ottimale si ottiene risolvendo il sistema formato da (15.49), (15.51) e

u ∈ Uad :∫Ω

(p(u) +Nu)(v − u) dx ≥ 0 ∀v ∈ Uad. (15.52)

15.6.3 Un problema di Neumann con controllo di frontiera

Consideriamo il problema⎧⎪⎪⎨⎪⎪⎩Ay(u) = f in Ω,

∂y(u)

∂nA= g + u su ∂Ω,

(15.53)

con lo stesso operatore introdotto nell’esempio precedente e lo stesso funzionale costo(15.47). In questo caso,

V = H1(Ω), H = L2(Ω), U = H−1/2(∂Ω).

Per ogni u ∈ U , Bu ∈ V′ è dato da V′ 〈Bu, ψ〉V =∫∂Ω

uψ dγ, C è la mappa diiniezione di V inH.La forma debole di (15.53) è

y(u) ∈ H1(Ω) : a(y(u), v) =

∫Ω

fv dx+

∫∂Ω

(g + u)v dγ ∀v ∈ H1(Ω).

Il problema aggiunto è ancora dato da (15.51), mentre la disequazione del controlloottimale è la terza di (15.42). L’interpretazione di questa disequazione non è banale.Scegliendo come prodotto scalare in U

(u, v)U =

∫∂Ω

(−Δ∂Ω)−1/4u (−Δ∂Ω)

−1/4v dγ =

∫∂Ω

(−Δ∂Ω)−1/2u v dγ,

essendo −Δ∂Ω l’operatore di Laplace–Beltrami (si veda ad esempio [QV94]), sidimostra che la terza disequazione di (15.42) equivale a∫

∂Ω

(p(u)|∂Ω + (−Δ∂Ω)−1/2Nu)(v − u) dγ ≥ 0 ∀v ∈ Uad;

si veda [Lio71, Sect 2.4].Nelle Tabelle 15.1 e 15.2 è riportato un riepilogo di possibili problemi di controllo

ottimale di tipo Dirichlet e Neumann.

Page 498: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.7 Risoluzione di problemi inversi come problemi di controllo ottimale 491

Tabella 15.1. Riepilogo di possibili problemi di controllo di tipo Dirichlet

Condizionidi Dirichlet

Osservazione Distribuita Osservazione al Bordo

ControlloDistribuito

⎧⎨⎩Ay = f + u in ΩA∗p = y − zd in Ωy = 0, p = 0 su ∂Ω

⎧⎨⎩Ay = f + u in ΩA∗p = 0 in Ωy = 0, p = y − zd su ∂Ω

Controlloal Bordo

⎧⎨⎩Ay = f in ΩA∗p = y − zd in Ωy = u, p = 0 su ∂Ω

⎧⎨⎩Ay = f in ΩA∗p = 0 in Ωy = u, p = y − zd su ∂Ω

Tabella 15.2. Riepilogo di possibili problemi di controllo di tipo Neumann

Condizionidi Neumann

Osservazione Distribuita Osservazione al Bordo

ControlloDistribuito

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

Ay = f + u in ΩA∗p = y − zd in Ω∂y

∂nA= g su ∂Ω

∂p

∂nA∗= 0 su ∂Ω

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

Ay = f + u in ΩA∗p = 0 in Ω∂y

∂nA= g su∂Ω

∂p

∂nA∗= y − zd su ∂Ω

Controlloal Bordo

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

Ay = f in ΩA∗p = y − zd in Ω∂y

∂nA= g + u su ∂Ω

∂p

∂nA∗= 0 su ∂Ω

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

Ay = f in ΩA∗p = 0 in Ω∂y

∂nA= g + u su ∂Ω

∂p

∂nA∗= y − zd su ∂Ω

15.7 Risoluzione di problemi inversi come problemi di controlloottimale

La teoria del controllo ottimale può essere convenientemente impiegata per la risolu-zione di problemi inversi, riconducendo la formulazione di questi ultimi alle equazionitipiche di un problema di controllo. Nel seguito vengono presentati alcuni aspetti sucui si basa questa teoria, con particolare attenzione a EDP lineari di tipo ellittico; peruna trattazione più approfondita e rigorosa si rimanda a [Ago03], dove peraltro lateoria è estesa a problemi parabolici e iperbolici e a sistemi di equazioni.

Page 499: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

492 15 Introduzione al controllo ottimale per equazioni a derivate parziali

Per individuare la categoria di problemi a cui ci si interessa si consideri di nuovol’equazione (15.29)

Ay = f +Bu con y ∈ V.Per fissare le idee con un esempio si prenda il caso particolare seguente:⎧⎨⎩

−Δy = u in Ω, y = 0 su Γ = ∂Ω,

y = yd su Ω,(15.54)

dove y ∈ H10 (Ω), A = −Δ, B = I : L2(Ω) �→ L2(Ω). Se dato un termine sorgenteu si misura y ≡ yd ∈ H10 (Ω) e si vuole ricostruire u tale per cui la precedente re-lazione viene soddisfatta, allora il problema si dice problema inverso; si osservi cheper tale tipo di problemi è fondamentale definire le condizioni di unicità della solu-zione. Si consideri il precedente problema inverso, allora una procedura convenientesembrerebbe quella di risolvere la seguente equazione:

A−1u = yd.

Tuttavia, nel caso in questione il dominio di A−1 è L2(Ω), fatto che rende l’operatorenon limitato e il problema mal-posto (si veda la sezione seguente).

15.7.1 La teoria del controllo ottimale per problemi inversi

Applicando l’operatore C all’equazione di stato

Ay = f, (15.55)

si ottiene l’equazioneCAy = Cf.

Essa è equivalente a (15.55) purché Ker(C) = {0} e R(A) ⊂ D(C).Consideriamo il caso particolare in cui C = A∗

Definizione 15.1 Le soluzioni del problema

A∗Ay = A∗f, (15.56)

si dicono quasi soluzioni (o soluzioni nel senso dei minimi quadrati)dell’equazione originaria Ay = f .

Le quasi soluzioni sono tali da minimizzare il funzionale

J0(y) = ||Ay − f ||2,

che in un problema di controllo rappresenta il funzionale costo, mentre, se rife-rito all’equazione di stato, indica il soddisfacimento dell’equazione da parte dellasoluzione.

Page 500: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.7 Risoluzione di problemi inversi come problemi di controllo ottimale 493

Introducendo il parametro di regolarizzazione α > 0 per aver un problema ben postoe considerando l’equazione

Aαyα = αyα + A∗Ayα = A∗f, (15.57)

le quasi soluzioni yα corrispondono ora alla minimizzazione del funzionale:

Jα(yα) = infφ

Jα(φ) con Jα(φ) = α||φ||2+ ||Aφ− f ||2.

La quasi soluzione yα converge alla soluzione reale y se per α → 0

||yα − y||V → 0.

L’aspetto fondamentale è costituito dal fatto che la (15.57) rappresenta un problemaben posto.

Risultati analoghi si ottengono per problemi in cui sia definita la funzione di controllou (in cui il termine f di Eq.(15.55) viene sostituito da f + Bu come in Eq.(15.29));nel seguito sono elencate le espressioni per le equazioni che concorrono a risolvere ilproblema regolarizzato:

• l’equazione di stato Ayα = f +Buα;• l’equazione aggiunta A∗pα = C ′(Cyα −Cyd);• il funzionale costo Jα(uα) = α||uα||2U + ||Cyα − Cyd||2Z ;• la condizione di raggiungimento dell’ottimo espressa da

Aαuα = αΛuα + (B′A∗−1C ′)(BA−1C)uα = (B

′A∗−1C ′)(zd −CA−1f),

ove l’ultima delle precedenti fornisce la quasi soluzione uα del problema di controlloe gli operatori sono gli stessi della Sez. 15.6. Si osservi infine che si è tenuto contodella presenza del parametro α al fine di poter avere un problema ben posto; si notiinoltre che il ruolo giocato dal termine α||uα||2 del funzionale costo Jα è del tuttoanalogo a quello della forma simmetrica n(·, ·) della (15.33).Dal Teorema di Lions (15.4) consegue l’esistenza e l’unicità della soluzione del pro-blema di controllo, non garantite per il problema inverso originario; vale inoltre laseguente proprietà di convergenza sul problema di controllo regolarizzato:

Proprietà 15.1 Se α ∈ (0, ε), con ε� 1 e f ∈ Y ∗, il problema di controllo

Ayα = f + Buα

è tale per cui Cyα � Cyd, ne consegue che

||uα− u|| → 0 se α→ 0.

Si osservi che la precedente si basa sull’osservazione che il problema di controllo èdensamente risolubile (si veda la sezione seguente). Applicando la Definizione 15.3

Page 501: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

494 15 Introduzione al controllo ottimale per equazioni a derivate parziali

ciò equivale aKer(B′A∗−1C ′) = {0}

ovvero che la sola soluzione ammissibile del sistema{A∗q = C ′w,B′q = 0,

sia q = w = 0.Si conclude così che se il problema originario non è ben posto, ci si può ricondurre

a un problema di controllo ottimale, ben posto, e risolubile con le tecniche comuni perquesto tipo di problemi. Per ulteriori approfondimenti e per un’analisi dell’influenzadel parametro di regolarizzazione si veda sempre [Ago03].

15.7.2 Risolubilità dell’equazione di stato e dell’equazione aggiunta

Vengono ora fornite ulteriori definizioni e proprietà inerenti gli operatori, i loro ag-giunti e le equazioni che governano il problema; per maggiori approfondimenti, oltrea [Ago03], si vedano [Ada75] e [Sal08].

Definizione 15.2 Detto D(A) il dominio di A, l’operatore limitato A è chiusose vale

D(A) = D(A).

Si consideri ora la definizione di operatore aggiunto data nella (15.39), per la quale ol-tre alle proprietà riportate nella Sez. A.1 dell’Appendice A, vale la seguente a riguardodella scrittura dell’operatore aggiunto in forma esplicita:

Proprietà 15.7.1 Dato A un operatore lineare limitato, e indicato con A∗ l’opera-tore aggiunto (si veda la (3.101)), è possibile scrivere in forma esplicita A∗ su unarestrizione del suo dominio

A∗ = A∗|D=D(A∗) con D ⊂ D(A∗).

Ricordiamo che il problema Ay = f , con A : X �→ Y si dice ben-posto se la soluzioney ∈ D(A) esiste, è unica, e dipende con continuità da f . Se una delle condizioniprecedenti non è soddisfatta il problema si dice mal-posto. Ragioni per cui il problemapuò essere mal-posto sono: la non esistenza dell’operatore A−1, il fatto che possa nonessere definito sul codominio Y di A e la non limitatezza di tale operatore. Si osserviche rientra in questo ambito il problema inverso e di controllabilità esatta definito nella(15.54).

Page 502: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.8 Formulazione di problemi di controllo mediante lagrangiana 495

Definizione 15.3 Si consideri l’equazione Ay = f , con A : X �→ Y e D(A) =X. Tale equazione si dice:

• univocamente risolubile se Ker(A) = {0};• correttamente risolubile se k||y||X ≤ ||Ay||Y ∀y ∈ D(A), con k > 0;• normalmente risolubile se R(A) = R(A), con R(A) il range (immagine)

dell’operatore A (R(A) = {Ax, x ∈ X});• densamente risolubile se R(A) = Y ;• ovunque risolubile se R(A) = Y .

Ora, nelle ipotesi che A sia lineare e limitato, D(A) = X e definendo l’equazioneaggiunta

A∗y∗ = g,

con y∗ la soluzione aggiunta e g termine noto, si hanno le seguenti proprietà dicorrispondenza tra equazione di stato ed equazione aggiunta:

Ay = f A∗y∗ = g

unicamente risolubile ⇐= densamente risolubiledensamente risolubile ⇐⇒ unicamente risolubile

correttamente risolubile⇐⇒ ovunque risolubileovunque risolubile ⇐= correttamente risolubile

Se oltre alle ipotesi già fatte si assume A chiuso e X riflessivo (cioè (X′)′ = X),allora anche l’ultima implicazione diventa un’equivalenza.

15.8 Formulazione di problemi di controllo mediante lagrangiana

In questa sezione si forniscono le basi per un approccio alla risoluzione dei proble-mi di controllo mediante la tecnica dei moltiplicatori di Lagrange; in particolare conil formalismo della Lagrangiana risulta più immediatamente evidente il ruolo dellavariabile aggiunta all’interno dei problemi di controllo ottimale.

15.8.1 Ottimizzazione vincolata per funzioni in Rn

Consideriamo un caso semplice di ottimizzazione vincolata: date f, g ∈ C1(X), es-sendo X un aperto di Rn, si vogliono trovare gli estremi della funzione f sottopostaal vincolo di appartenenza dei punti estremi all’insieme

E0 = {x ∈ Rn : g(x) = 0}.

Per semplicità di trattazione si è scelto il caso in cui il vincolo g sia una funzione scala-re; per maggiori approfondimenti a riguardo si veda ad esempio [PS91]. Si considerinole seguenti definizioni di punto regolare e punto critico vincolato:

Page 503: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

496 15 Introduzione al controllo ottimale per equazioni a derivate parziali

Definizione 15.4 Un punto x0 è detto punto regolare di E0 se

g(x0) = 0 e ∇g(x0) �= 0.

Definizione 15.5 Dati f , g e E0 precedentemente definiti, si dice che x0 ∈ X èun punto critico condizionato al vincolo g(x) = 0 (o, in breve, un punto criticovincolato) se:

i) il punto x0 è regolare per E0;ii) la derivata di f in direzione tangente al vincolo g è nulla in x0.

Sulla base di queste definizioni vale il seguente risultato:

Teorema 15.5 Un punto regolare x0 di E0 è un punto critico vincolato se e solose esiste λ0 ∈ R tale che valga

∇f(x0) = λ0∇g(x0).

Introduciamo la funzione L : X ×R �→ R, detta Lagrangiana

L(x, λ) = f(x) − λg(x).

Dal Teorema 15.5, deduciamo che x0 è un punto critico vincolato se e solo se (x0, λ0)è un punto critico libero per la funzione L. Il numero λ0 si dice moltiplicatore diLagrange e si ricava, insieme a x0, dalla risoluzione del sistema

∇L(x, λ) = 0,

ovvero ⎧⎨⎩Lx = ∇f − λ∇g = 0,

Lλ = −g = 0.

15.8.2 L’approccio mediante Lagrangiana

In questa sezione si vuole estendere la teoria degli estremi vincolati richiamata in Sez.15.8.1 ai problemi di controllo ottimale. L’approccio della Lagrangiana è diffuso an-che in questo ambito (si veda ad esempio [BKR00]) come alternativo all’approccio“alla Lions”; esso è convenientemente utilizzato per integrare le tecniche di adattivitàdi griglia basate su stime a posteriori dell’errore con i problemi di controllo ottimale(si vedano [BKR00] e [Ded04]). L’approccio mediante moltiplicatori di Lagrange èdiffusamente impiegato anche in problemi di ottimizzazione di forma, dove il control-lo è costituito dalla forma del dominio su cui sono definite le equazioni che descrivono

Page 504: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.8 Formulazione di problemi di controllo mediante lagrangiana 497

il modello fisico. La funzione u del problema di controllo ottimale diventa cioè unafunzione, definita sul bordo (o parte di esso) che descrive lo scostamento della for-ma ottimale, da quella originale su cui è definito il problema. A questo proposito sivedano ad esempio le referenze [Jam88], [MP01], [JS91].L’impiego del formalismo della Lagrangiana nella Sez. 15.8.1 consente di determina-re i punti di estremo x di una certa funzione f sottoposta al vincolo espresso dallafunzione g. Nel problema di controllo si vuole trovare una funzione u ∈ U soddi-sfacente il problema di minimo (15.35), essendo y(u) la soluzione dell’equazione distato (15.29). Al solito, A è un operatore differenziale ellittico applicato alla variabiledi stato e B un operatore che introduce il controllo nell’equazione di stato.Tale problema può essere visto come un problema di estremo vincolato, osservan-do la corrispondenza dei ruoli giocati tra il funzionale costo J e la funzione f (diSez. 15.8.1), tra l’equazione di stato e il vincolo g = 0 e infine tra il controllo u e ilpunto di estremo x.La soluzione del problema di controllo ottimale può così essere ricondotta a ricercarei “punti” critici liberi del funzionale Lagrangiano definito nel modo seguente

L(y, p, u) = J(u) + 〈 p, f + Bu− Ay(u) 〉, (15.58)

dove p è il moltiplicatore di Lagrange e il simbolo 〈·, ·〉 denota la dualità tra V e V′. Siosservi che, in quest’ambito, i punti critici liberi sono da intendersi come le funzioniy, u e p in corrispondenza dell’ottimo. Il problema diventa dunque

trovare (y, p, u) : ∇L(y, p, u) = 0, (15.59)

ovvero ⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩Ly = 0,

Lp = 0,

Lu = 0.

(15.60)

Si è usata la notazione abbreviataLy per indicare la derivata di Gâteaux diL rispetto ay (introdotta nella Sez. A.2 dell’Appendice A). Analogo significato hanno le notazioniLp e Lu.Si consideri ora come esempio un’equazione di stato ellittica con operatori A e Blineari e la si riscriva nella forma debole (15.30); dati u ∈ U ed f ∈ H, si trovi

y = y(u) ∈ V : a(y, ϕ) = (f, ϕ) + b(u, ϕ) ∀ϕ ∈ V. (15.61)

Ricordiamo che la forma bilineare a(·, ·) è associata all’operatore lineare ellittico A,la forma bilineare b(·, ·) all’operatore B; quest’ultima introduce nella forma debole iltermine di controllo. Il funzionale costo da minimizzare può essere così espresso

J(y(u)) =1

2||Cy(u)− zd||2 +

1

2n(u, u), (15.62)

dove C è l’operatore che porta la variabile di stato nello spazio Z delle funzioni os-servate, zd è la funzione osservazione e n(·, ·) rappresenta la forma simmetrica. Si

Page 505: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

498 15 Introduzione al controllo ottimale per equazioni a derivate parziali

osservi che non sono state introdotte ipotesi sulla scelta delle condizioni al contorno,sul tipo di problema di controllo (distribuito o sul bordo) e sull’osservazione del siste-ma; questo al fine di poter considerare delle espressioni generali per le equazioni. Informa debole, la (15.58) diventa

L(y, p, u) = J(u) + b(u, p) + (f, p)− a(y, p),

e, come nella (15.59), si ha

trovare (y, p, u) ∈ V×V×U : ∇L(y, p, u)[(ϕ, φ, ψ)] = 0 ∀(ϕ, φ, ψ) ∈ V×V×U .

Usando la definizione di derivata di Gâteaux si ottiene⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩Ly[ϕ] = (Cy − zd, Cϕ)− a(ϕ, p) = 0 ∀ϕ ∈ V,

Lp[φ] = (f, φ) + b(u, φ)− a(y, φ) = 0 ∀φ ∈ V,

Lu[ψ] = b(ψ, p) + n(u, ψ) = 0 ∀ψ ∈ U ,

(15.63)

che riarrangiata diventa⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩p ∈ V : a(ϕ, p) = (Cy − zd, Cϕ) ∀ϕ ∈ V,

y ∈ V : a(y, φ) = b(u, φ) + (f, φ) ∀φ ∈ V,

u ∈ U : n(u, ψ) + b(ψ, p) = 0 ∀ψ ∈ U .

(15.64)

Si osservi che al termine Lp corrisponde l’equazione di stato in forma debole, a Lyl’equazione per il moltiplicatore di Lagrange (identificabile come la equazione ag-giunta) e a Lu l’equazione che esprime il vincolo di raggiungimento dell’ottimo. Lavariabile aggiunta, vista come moltiplicatore di Lagrange, consente di affermare cheessa è legata alla sensitività del funzionale costo J alle variazioni della funzione diosservazione, e quindi, in ultima analisi, della funzione di controllo u. Risulta moltoconveniente esprimere la derivata di Gâteaux della Lagrangiana, Lu, in funzione delladerivata del funzionale costo, J ′(u), (15.64), secondo quanto indicato nella Sez. A.2dell’Appendice A. La corrispondenza è garantita dal Teorema di Rappresentazione diRiesz (si veda la Sez. A.1 della stessa Appendice A). In effetti, essendo il funzionaleLu[ψ] lineare e limitato e ψ appartenente allo spazio di Hilbert U , caso per caso, sipuò ricavare J ′, ovvero, dalla terza di (15.63)

Lu[ψ] = (J ′(u), ψ)U .

Un aspetto rilevante da considerare è il modo in cui vengono ricavate le equazioniaggiunte. Nella teoria di Lions l’equazione aggiunta è basata sull’impiego degli ope-ratori aggiunti (si veda l’eq.(15.39)), mentre nell’approccio alla Lagrangiana si ricavamediante derivazione di L rispetto alla variabile di stato, dove la variabile aggiunta

Page 506: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.9 Risoluzione del problema di controllo: il metodo iterativo 499

corrisponde, all’ottimo, al moltiplicatore di Lagrange. Il metodo alla Lions e l’approc-cio della Lagrangiana non conducono in generale alla stessa definizione del problemaaggiunto, tuttavia uno può risultare più o meno conveniente dell’altro, in relazione aun dato problema di controllo, quando questo viene risolto in modo numerico. Per unacorretta risoluzione del problema dell’ottimo è dunque fondamentale essere coerenticon la teoria che si sta considerando.Un altro aspetto molto importante consiste nel ricavare le condizioni al contorno per ilproblema aggiunto; anche in questo contesto gli approcci di Lions e della Lagrangianapossono condurre a condizioni al contorno diverse.

15.9 Risoluzione del problema di controllo: il metodo iterativo

In questa sezione viene illustrato un metodo iterativo per la ricerca dell’ottimo delproblema (15.29). Una volta definito l’algoritmo iterativo, si rende necessario operareuna scelta sul tipo di approssimazione numerica da adottare per la risoluzione delleEDP.

Sia che si consideri un approccio alla sua risoluzione alla Lions, piuttosto chemediante Lagrangiana, in corrispondenza dell’ottimo devono essere soddisfatte le treequazioni del sistema (15.42) o (15.63), e cioè:

i) l’equazione di stato;ii) l’equazione aggiunta;iii) l’equazione che esprime il raggiungimento dell’ottimo.

Si ricordi in particolare che quest’ultima equazione è legata alla variazione del funzio-nale costo, in maniera esplicita nell’approccio alla Lions, tramite il Teorema di Rap-presentazione di Riesz con il formalismo della Lagrangiana. Nel caso di equazionilineari ellittiche esaminato in precedenza, si ottiene infatti:

• 12J ′(u) = B′p(u) + ΛUN(u);

• Lu[ψ] = n(u, ψ) + b(ψ, p) ∀ψ ∈ U .

Si noti che in seguito la derivata del funzionale costo J ′ indicherà anche quella ricavatadal differenziale debole dellaLu[ψ]. La valutazione di J ′ in un dato punto del dominiodi controllo (Ω, Γ , o un loro sottoinsieme) fornisce un’indicazione della sensitività delfunzionale costo J , in quel punto, alle variazioni del controllo u; in altri termini si puòdire che una variazione infinitesimale del controllo δu, attorno ad un certo valore delcontrollo u, genera, a meno di infinitesimi di ordine superiore, un δJ proporzionale aJ ′(u). Questa valutazione suggerisce di usare il seguente algoritmo iterativo di discesapiù ripida. Detta uk la funzione di controllo al passo k, la funzione al passo successivo,k + 1, può essere ottenuta nel modo seguente:

uk+1 = uk − τkJ ′(uk), (15.65)

dove J ′ rappresenta la direzione di discesa, e τk il parametro di accelerazione. Lascelta (15.65) non è necessariamente la più efficiente, ma è pedagogicamente utile a

Page 507: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

500 15 Introduzione al controllo ottimale per equazioni a derivate parziali

far comprendere il ruolo giocato da J ′ e quindi dalla variabile aggiunta p. Un metodoper la ricerca dell’ottimo può dunque essere schematizzato con il seguente algoritmoiterativo:

1. Si ricavano le espressioni dell’equazione aggiunta e della derivata J ′, medianteuno dei due metodi alla Lions o basato sulla Lagrangiana);

2. Si fornisce un valore iniziale u0 del controllo u;3. Sulla base di questa informazione si risolve l’equazione di stato in y;4. Nota la variabile di stato e la funzione di osservazione zd si ricava il valore del

funzionale costo J ;5. Si risolve l’equazione aggiunta in p, note y e zd;6. Si ricava, nota la variabile aggiunta, la funzione J ′;7. Si applica un criterio di convergenza all’ottimo nell’ambito di una data tolleranza;

se tale criterio viene soddisfatto si salta al punto 10;8. Si ricavano i parametri per la convergenza del metodo iterativo (ad esempio τk);9. Si ricava il controllo al passo successivo, per esempio mediante la (15.65), e si

torna al punto 3;10. Si esegue un post-processing sull’ottimo ottenuto (visualizzazione delle soluzioni

y, p, del controllo u, ecc.).

Nello schema di Figura 15.2 è rappresentato il diagramma di flusso che illustra laprocedura sopra indicata.

Osservazione 15.4 Un criterio d’arresto può essere quello di fissare una tolleranzaTol sulla distanza, in un’opportuna norma, tra la z osservata e la zd desiderata

||zk − zd||Z ≤ Tol.

In generale però non è detto che in un processo iterativo convergente ciò comportiJ(uk)→ 0 per k →∞, ovvero la distanza tra la funzione osservata e quella desideratapuò portare a un valore non nullo di J . In questo caso si rende necessario l’impiego diun criterio di arresto basato sulla valutazione della norma della derivata del funzionalecosto

||J ′(uk)||U ≤ Tol.

Tale approccio è del tutto generale. Il valore della tolleranza viene scelto sufficiente-mente piccolo in relazione al valore iniziale di ||J ′|| e al livello di vicinanza all’ottimoreale che si vuole ottenere. •

Osservazione 15.5 La variabile aggiunta è definita su tutto il dominio di calcolo. Perla valutazione di J ′(u), sarà necessario operare una restrizione della variabile aggiuntap sulla parte di dominio, o contorno, su cui prende valori u. •

L’impiego del metodo di discesa ripida comporta la valutazione di un appropriatovalore del parametro di accelerazione τk . La scelta di τk deve essere in grado digarantire la convergenza monotona del funzionale costo al minimo, deve cioè valeread ogni passo dell’algoritmo iterativo

J(uk − τkJ ′(uk)) < J(uk).

Page 508: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.9 Risoluzione del problema di controllo: il metodo iterativo 501

Equazione di Stato

Definizione del Problema di Controllo

Equazione di Stato

Controllo

Post−Processing

Osservazione

Equazione Aggiunta

Tol ???

zd

J J’

u

y

p

Passo Iterativo su u

Figura 15.2. Schema di un possibile metodo iterativo per la risoluzione di un problema dicontrollo

Nel caso si conosca il valore finito del funzionale costo in corrispondenza dell’otti-mo J∗

J∗ = infu∈U

J(u) ≥ 0,

allora si può prendere il parametro di accelerazione, come (si veda ad esempio[Ago03] e [Vas81])

τk =(J(uk)− J∗)

||J ′(uk)||2 . (15.66)

A titolo di esempio, si consideri il seguente problema di controllo⎧⎨⎩Ay = f +Bu,

inf J(u), dove J(u) = α||u||2U + ||Cy− zd||2Z α ≥ 0,

Page 509: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

502 15 Introduzione al controllo ottimale per equazioni a derivate parziali

Il metodo iterativo precedente diventa⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩Ayk = f + Buk,

A∗pk = C ′(Cyk − zd),

uk+1 = uk − τk(αuk + B′pk).

Se Ker(B′A∗−1C ′) = {0} il problema è risolubile ed inoltre J(u) → 0 per α → 0.Pertanto, se α � 0+ si può assumere che J∗ � 0, e pertanto, grazie a (15.66),

τk =J(uk)

||J ′(uk)||2 =α||uk||2U + ||Cyk − zd||2Z2||αuk +B∗pk||2 . (15.67)

Supponiamo ora di considerare il problema di controllo discretizzato (per esempiocon il metodo di Galerkin–Elementi Finiti). Invece di cercare il minimo di J(u), conJ : U �→ R, si cerca quello di J(u), con J : Rn �→ R, dove u ∈ Rn è il vettorecorrispondente alla discretizzazione del controllo ottimale u ∈ U . Nel seguito di que-sta sezione faremo riferimento alla ricerca del minimo di J associato al problema dicontrollo discretizzato.Come precedentemente osservato, il metodo di discesa più ripida (15.65) è solo unotra i possibili metodi iterativi per la risoluzione di un problema di controllo ottimale.In effetti, giova ricordare che il metodo di discesa più ripida è un caso particolare diun metodo di tipo gradiente

uk+1 = uk + τkdk, (15.68)

dove dk rappresenta la direzione di discesa, cioè tale per cui

dkT · J ′(uk) < 0 se ∇J(uk) �= 0.

A seconda delle possibili scelte di dk otteniamo i seguenti casi particolari:

• metodo di Newton, per cui

dk = −H(uk)−1∇J(uk),

dove H(uk) è la matrice Hessiana di J(u) calcolata per u = uk;

• metodi quasi–Newton, per cui

dk = −B−1k ∇J(uk),

dove Bk è un’approssimazione di H(uk);

Page 510: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.9 Risoluzione del problema di controllo: il metodo iterativo 503

• metodo del gradiente coniugato, per il quale

dk = −∇J(uk) + βkdk−1,

essendo βk uno scalare da scegliere in modo che dkT · dk−1 = 0.

Per definire completamente un metodo di discesa è necessario definire, oltre a dk, ilparametro τk (in maniera analoga a quanto visto per il metodo di discesa più ripida),in modo tale che, oltre a garantire il soddisfacimento della condizione

J(uk + τkdk) < J(uk), (15.69)

sia possibile raggiungere la convergenza il più rapidamente possibile. A questo pro-posito, un metodo per il calcolo di τk consiste nel risolvere il seguente problema diminimizzazione in una dimensione

trovare τk : φ(τk) = J(uk + τkdk) minimo;

ciò garantisce la validità del seguente risultato di ortogonalità

dkT · ∇J(uk) = 0.

Spesso per il calcolo di τk si ricorre a metodi approssimati. Il problema è introdurre uncriterio per decidere come aggiornare la soluzione ed ottenere un metodo globalmenteconvergente, e quindi un modo per calcolare τk, fissata una direzione di discesa dk.A tal fine, un procedimento euristico è il seguente: stabilito un valore di tentativo delpasso τk, possibilmente grande, si continua a dimezzare tale valore sino a quando la(15.69) non risulti verificata. Questo modo di procedere, pur essendo ragionevole, puòperò condurre a risultati del tutto scorretti.Si tratta dunque di introdurre criteri più severi della (15.69) nella scelta dei valoripossibili per τk, cercando di evitare due tipi diversi di difficoltà: una velocità di decre-scita troppo bassa e l’uso di passi troppo piccoli. La prima difficoltà si può superarerichiedendo che

J(uk) − J(uk + τkdk) ≥ −στkdkT · ∇J(uk), (15.70)

con σ ∈ (0, 1/2). Ciò equivale a richiedere che la velocità media di decrescita lungodk di J sia in uk+1 almeno pari ad una frazione assegnata della velocità di decrescitainiziale in uk. Il rischio di generare passi troppo piccoli viene superato richiedendoche la velocità di decrescita in uk+1 non sia inferiore ad una frazione assegnata dellavelocità di decrescita in uk

|dkT · ∇J(uk + τkdk)| ≤ β|dkT · ∇J(uk)|, (15.71)

con β ∈ (σ, 1), in modo da garantire che valga anche la (15.70). In pratica si scelgonoσ ∈ [10−5, 10−1] e β ∈ [10−1, 1/2]. Compatibilmente con il rispetto delle condizioni(15.70) e (15.71), sono possibili diverse scelte di τk . Tra le più usate, ricordiamo leformule di Armijo (si veda [MP01]). Fissati σ ∈ (0, 1/2), β ∈ (0, 1) e τ > 0, siprende τk = βmk τ , essendo mk il primo intero non negativo per il quale sia verificatala (15.70). Infine, si può addirittura pensare di scegliere τk = τ per ogni k, sceltaevidentemente conveniente soprattutto quando J sia una funzione costosa da valutare.Per approfondimenti si vedano [KPTZ00], [MP01] e [Roz02].

Page 511: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

504 15 Introduzione al controllo ottimale per equazioni a derivate parziali

15.10 Alcune considerazioni su osservabilità e controllabilità

Possiamo abbozzare alcune conclusioni in merito al comportamento dei metodi ite-rativi in rapporto a cosa si decide di osservare (quale variable z, su quale parte deldominio) e come si decide di operare il controllo (quale variabile u usare, a qualeparte del dominio associarla). In breve, sul rapporto tra osservabilità e controllabilità.Le considerazioni che seguono sono di carattere euristico, ovvero dedotte dall’espe-rienza. In generale, non sono suffragate da una teoria generale, valida per ogni tipo diproblema di controllo e ogni possibile strategia di risoluzione numerica (ovvero sceltadel metodo iterativo e del metodo di approssimazione numerica scelto per l’equazionedi stato e quella aggiunta).

• Dove si osserva. I problemi di controllo ottimale basati su una osservazione distri-buita nel dominio dei vari parametri hanno una velocità di convergenza maggiorerispetto ai problemi che effettuano solo un’osservazione sul bordo e, di fatto, aparità di precisione sull’errore, convergono in meno iterate (almeno un ordine digrandezza in meno).

• Dove si controlla. Il processo di ottimizzazione si mostra più robusto se anche iltermine di controllo risulta essere distribuito nel dominio e, quindi, compare cometermine sorgente o come coefficiente nelle equazioni di stato. Più precisamente, aparità di altri parametri, la convergenza risulta più veloce e la storia di convergenzameno sensibile alla scelta dei vari parametri che intervengono nel problema, tracui il già citato parametro di accelerazione o quello che amplifica o riduce il pesodell’osservazione sul sistema.

• Cosa si osserva. Anche la scelta della variabile che si osserva influenza il compor-tamento del processo iterativo. In effetti, osservare la soluzione è meglio che os-servare, per esempio, il gradiente della soluzione o una derivata di ordine superioreal primo.Problemi di quest’ultimo tipo sono molto diffusi, soprattutto in fluidodinamica,quando si studiano problemi di flussi a potenziale e si osserva il campo di moto,oppure quando si considerano problemi con flussi viscosi e si osservano gli sforzioppure la vorticità stessa.

• Come si osserva e controlla. Sempre riguardo osservabilità e controllabilità sulproblema si può concludere che anche quanto si osserva e quanto si riesce a con-trollare assume un ruolo non del tutto trascurabile: da questo dipende se il pro-blema è ben posto o meno. Per poter intervenire e controllare un sistema si devegarantire sempre una buona osservabilità e una buona controllabilità: questo per-mette di avere un algoritmo con una buona velocità di convergenza e con una storiadi convergenza indipendente dai vari parametri in gioco.

• Ottimizzazione di forma. I problemi di ottimizzazione di forma sono una classeparticolare di problemi di controllo ottimale: infatti, in questo contesto, il teminedi controllo non è solo sul bordo ma risulta essere il bordo stesso. Di tutti i proble-mi di controllo, questo è sicuramente il più complesso e delicato in quanto, nellafase di risoluzione numerica, esso comporta la modifica della griglia di calcoload ogni iterazione, e possono intervenire problemi di consistenza che si risolvono

Page 512: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.11 Due paradigmi di risoluzione 505

imponendo opportuni vincoli geometrici che scartino tutte le eventuali configura-zioni non ammissibili. Inoltre su problemi particolarmente complessi è necessariauna procedura di stabilizzazione e regolarizzazione dei risultati per evitare di ave-re forme che presentino oscillazioni. Questo tipo di problema rimane più sensibilealla variazione dei vari parametri che caratterizzano lo studio del problema stesso.

• Problema aggiunto e problema di stato. Nell’approccio alla Lions la formulazionedel problema aggiunto mediante operatore aggiunto (per avere la stima del gra-diente del funzionale costo) genera un problema con una struttura simile a quelladel problema di stato con risparmi in termini di costi di implementazione rispettoad esempio agli approcci basati sulla differenziazione automatica del funzionalecosto.Per problemi di ottimizzazione di forma il problema aggiunto comporta anche unrisparmio computazionale rispetto al metodo basato sull’analisi di sensitività dellaforma in quanto i costi computazionali sono indipendenti dal numero (proibiti-vo) di parametri che si utilizzano per la definizione della forma stessa (i punti dicontrollo). Si veda in proposito [SK02].

15.11 Due paradigmi di risoluzione: “discretizzare-poi-ottimizzare”oppure “ottimizzare–poi–discretizzare”

In questa sezione discutiamo alcuni concetti inerenti due diversi paradigmi di ri-soluzione dei problemi di controllo ottimale: “Discretizzare–poi–Ottimizzare”, op-pure “Ottimizzare–poi–Discretizzare”. Per approfondimenti si vedano, ad esempio,[EFC03] e [Gun03].

L’interazione delle varie componenti di un sistema complesso costituisce un aspet-to saliente in problemi di controllo ottimale. Per problemi di controllo ispirati dallavita reale dobbiamo per prima cosa scegliere un modello appropriato che descriva ilsistema in questione e, in secondo luogo, fare una scelta delle proprietà del control-lo. Alla fine è però necessario introdurre algoritmi di discretizzazione numerica perrisolvere numericamente il problema di controllo. Dobbiamo infatti essere in grado dicalcolare un’approssimazione della soluzione del problema di controllo che sia suf-ficientemente accurata; questo succede solo se risolviamo un problema di controlloottimale discretizzato.

Consideriamo un semplice esempio al fine di illustrare alcune difficoltà aggiunti-ve, in qualche modo inattese, che la discretizzazione può introdurre nel processo dicontrollo. Consideriamo nuovamente l’equazione di stato (15.1). Per fissare le idee,assumeremo che il nostro problema di controllo sia il seguente:

“cercare u ∈ Uad t.c.

J(u) ≤ J(v) ∀v ∈ Uad,dove J è una funzione data”.

(15.72)

Da qui nasce la seguente cruciale questione:

“Come discretizzare il problema di controllo in maniera appropriata?”

Page 513: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

506 15 Introduzione al controllo ottimale per equazioni a derivate parziali

Ci sono almeno due possibili risposte adeguate alla questione precedente:

1) “Discretizzare–poi–Ottimizzare”Per prima cosa discretizziamo lo spazio Uad e l’equazione di stato (15.1), da cuiotteniamo rispettivamente lo spazio discreto Uad,h e la nuova equazione di stato(discreta)

Ahyh(uh) = fh. (15.73)

Abbiamo indicato con h la dimensione degli elementi della griglia; quando h→ 0supporremo che si abbia la convergenza del problema discreto a quello continuo.Se Uad,h e (15.73) sono introdotti in maniera corretta, ci aspettiamo di ottenereuno “stato discreto” yh(vh) per ogni “controllo discreto ammissibile” vh ∈ Uad,h.A questo punto, cerchiamo un controllo ottimale nel discreto, ovvero un controllouh ∈ Uad,h tale che

J(uh) ≤ J(vh) ∀vh ∈ Uad,h, (15.74)

ovvero, più precisamente,

J(yh(uh)) ≤ J(yh(vh)) ∀vh ∈ Uad,h. (15.75)

Ciò corrisponde al seguente schema:

MODELLO −→ DISCRETIZZAZIONE −→ CONTROLLO,

altrimenti detto “discretizzare–poi–ottimizzare”: partendo dal problema di control-lo continuo, per prima cosa discretizziamo l’equazione di stato e, successivamente,calcoliamo il controllo ottimale del modello discretizzato.

2) “Ottimizzare–poi–Discretizzare”Alternativamente possiamo procedere nel modo seguente. Analizziamo il proble-ma di controllo (15.1), (15.72) e caratterizziamo la soluzione ottimale e il con-trollo in termini del sistema di ottimalità. Ciò consiste, in pratica, nello scrive-re le equazioni di Eulero–Lagrange associate al problema di minimizzazione inconsiderazione:

Ay(u) = f,

A∗p = g(u, y),(15.76)

più un’equazione addizionale che lega le variabili y, p e u. Per semplificarel’esposizione indicheremo l’ultima equazione come:

Q(y, p, u) = 0. (15.77)

Ora potremmo discretizzare e risolvere numericamente il sistema (15.76), (15.77).Ciò corrisponde al seguente approccio:

MODELLO −→ CONTROLLO −→ DISCRETIZZAZIONE,

detto anche “ottimizzare–poi–discretizzare”. In questo secondo approccio, abbia-mo, rispetto al primo, scambiato i passi di controllo e discretizzazione del proble-ma: prima si formula il problema di controllo continuo e, solo dopo, si procedealla discretizzazione numerica delle relative equazioni.

Page 514: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.12 Approssimazione numerica di un problema di controllo ottimale 507

Non sempre i due approcci conducono agli stessi risultati.Per esempio, in [JI99] si mostra che, con un’approssimazione agli elementi finiti, ilprimo approccio può fornire risultati errati in problemi di vibrazioni. Ciò è dovutoalla mancanza di accuratezza della soluzione degli elementi finiti per il calcolo dellesoluzioni ad alta frequenza delle equazioni delle onde (si veda [Zie00]).D’altra parte, è stato osservato che, per la soluzione di molti problemi di progettoottimale (optimal design), la prima strategia è quella da preferire; si vedano ad esempio[MP01] e [Pir84].

Ad oggi la scelta dello schema di discretizzazione/ottimizzazione costituisce unargomento non ancora del tutto compreso e richiede ulteriori approfondimenti. Certa-mente la scelta del metodo dipende fortemente dalla natura del modello in considera-zione. In questo senso, i problemi di controllo ottimale per EDP ellittiche e parabolichesono più facilmente trattabili, a causa della loro natura dissipativa, di quelli per EDPiperboliche; per un’ampia trattazione di questo argomento rinviamo a [Zua03]. Ci siattende tuttavia che in futuro molti progressi verranno compiuti in questo ambito.

15.12 Approssimazione numerica di un problema di controlloottimale per equazioni di diffusione–trasporto

In questa sezione, tratta da [QRDQ06], discutiamo un esempio di un problema di con-trollo ottimale applicato a equazioni di diffusione–trasporto; in particolare consideria-mo due diversi approcci di risoluzione del problema di controllo ottimale, mediantel’impiego del metodo del funzionale Lagrangiano: “discretizzare–poi–ottimizzare” e”ottimizzare–poi–discretizzare”. A tal proposito si vedano le Sezioni 15.8 e 15.11.

Consideriamo un problema di diffusione–trasporto lineare in un dominio bidimen-sionale Ω ⎧⎪⎨⎪⎩

L(y) = −∇ · (ν∇y) +V · ∇y = u in Ω,y = 0 su ΓD,

ν∂y

∂n= 0 su ΓN ,

(15.78)

ΓD e ΓN sono due tratti disgiunti del contorno del dominio ∂Ω tali che ΓD ∪ ΓN =∂Ω, u ∈ L2(Ω) è la variabile di controllo, mentre ν eV sono funzioni date. Conside-riamo condizioni al contorno omogenee di Dirichlet sul bordo di ingresso del campodi trasporto ΓD = {x ∈ ∂Ω : V(x) · n(x) < 0}, essendo n(x) il versore uscentee normale al contorno, e condizioni omogenee di Neumann sul bordo di uscita delcampo di trasporto ΓN = ∂Ω \ ΓD.Supporremo che l’osservazione sia ristretta ad un sottodominio D ⊆ Ω e il problemadi controllo ottimale si scriva

trovare u : J(y, u) = J(u) =1

2

∫D

(g(y(u)) − zd)2

dD minimo, (15.79)

dove la funzione g ∈ C∞(Ω) “porta” la variabile y nello spazio di osservazionee zd è la funzione di osservazione desiderata. Adottando l’approccio del funzionale

Page 515: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

508 15 Introduzione al controllo ottimale per equazioni a derivate parziali

Lagrangiano di Sez. 15.8 e assumendo

V = H1ΓD = {v ∈ H1(Ω) : v|ΓD = 0} e U = L2(Ω),

il funzionale Lagrangiano diventa

L(y, p, u) = J(u) + F (p; u)− a(y, p), (15.80)

dove:

a(w, ϕ) =

∫Ω

ν∇w · ∇ϕ dΩ +

∫Ω

V · ∇w ϕ dΩ, (15.81)

F (ϕ; u) =

∫Ω

uϕ dΩ. (15.82)

Differenziando L rispetto alla variabile di stato y, otteniamo l’equazione aggiunta informa debole

trovare p ∈ V : aad(p, φ) = F ad(φ;w) ∀φ ∈ V, (15.83)

dove:

aad(p, φ) =

∫Ω

ν∇p · ∇φ dΩ +

∫Ω

V · ∇φ p dΩ, (15.84)

F ad(φ; y) =

∫D

(g y − zd) g φ dD. (15.85)

Essa corrisponde a⎧⎪⎨⎪⎩Lad(p) = −∇ · (ν∇p+Vp) = χDg (g y − zd) in Ω,p = 0 su ΓD,

ν∂p

∂n+V · n p = 0 su ΓN ,

(15.86)

essendo χD la funzione caratteristica nella regione D. Differenziando L rispet-to alla funzione di controllo u, otteniamo l’equazione che esprime il vincolo diraggiungimento dell’ottimo∫

Ω

ψ p dΩ = 0 ∀ψ ∈ L2(Ω), (15.87)

a partire dalla quale definiamo la sensitività del funzionale costo J ′(u) rispetto allavariabile di controllo, che in questa sezione indichiamo come δu. In questo caso ot-teniamo δu = p(u) = p. Infine, differenziando L rispetto alla variabile aggiunta p,otteniamo, come al solito, l’equazione di stato in forma debole

trovare y ∈ V : a(y, ϕ) = F (ϕ; u) ∀ϕ ∈ V. (15.88)

Page 516: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.12 Approssimazione numerica di un problema di controllo ottimale 509

15.12.1 Gli approcci: “ottimizzare–poi–discretizzare” e“discretizzare–poi–ottimizzare”

Da un punto di vista numerico, l’algoritmo iterativo di ottimizzazione presentato inSez. 15.9 richiede, ad ogni passo, l’approssimazione numerica delle equazioni di statoe aggiunta. Tale approssimazione può essere realizzata, ad esempio, considerando ilsottospazio degli elementi finiti lineari Vh ⊂ V e il metodo GLS (Galerkin–Least–Squares), introdotto in Sez. 5.8.6, ottenendo, rispettivamente, le equazioni di stato eaggiunta stabilizzate:

trovare yh ∈ Vh : a(yh, ϕh) + sh(yh, ϕh) = F (ϕh; uh) ∀ϕh ∈ Vh, (15.89)

sh(yh, ϕh) =∑K∈Th

δK

∫K

R(yh; uh) L(ϕh) dK, (15.90)

trovare ph ∈ Vh : aad(ph, φh) + sadh (ph, φh) = F ad(φh; yh) ∀φh ∈ Vh,(15.91)

sadh (ph, φh) =∑K∈Th

δK

∫K

Rad(ph; yh) Lad(φh) dK, (15.92)

dove δK è un parametro di stabilizzazione, R(y; u) = L(y) − u, Rad(p; y) =Lad(p)−G(y), con G(y) = χDg (g y−zd). Questo è il paradigma “ottimizzare–poi–discretizzare”; si vedano la Sez. 15.11 e, ad esempio, [Bec01], [SC01], [Gun03].Nel paradigma “discretizzare–poi–ottimizzare” che seguiremo nel seguito, prima di-scretizziamo e stabilizziamo l’equazione di stato, per esempio nuovamente con ilmetodo GLS (Eq.(15.89) e (15.90)), poi definiamo il funzionale Lagrangiano discreto

Lh(yh, ph, uh) = J(yh, uh) + F (ph; uh)− a(yh, ph)− sh(yh, ph), (15.93)

da cui, differenziando rispetto a yh, otteniamo l’equazione aggiunta discreta (15.91),anche se con il seguente termine di stabilizzazione

sadh (ph, φh) =

∑K∈Th

δK

∫K

L(φh) L(ph) dK. (15.94)

Inoltre, differenziando Lh rispetto a uh e applicando il Teorema di rappresentazionedi Riesz (Sez. A.1 dell’Appendice A), essendo uh ∈ Xh, otteniamo

δuh = ph +∑K∈Th

δK

∫K

L(ph) dK.

In particolare, consideriamo una stabilizzazione sul funzionale Lagrangiano [LD05]che diventa

Lsh(yh, ph, uh) = L(yh, ph, uh) + Sh(yh, ph, uh), (15.95)

con

Sh(y, p, u) =∑K∈Th

δK

∫K

R(y; u) Rad(p; y) dK. (15.96)

Page 517: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

510 15 Introduzione al controllo ottimale per equazioni a derivate parziali

Questo approccio è a tutti gli effetti un caso particolare del paradigma “ottimizzare–poi–discretizzare”, una volta identificato il termine sh(wh, ph) con −Sh(wh, ph, uh).DifferenziandoLsh otteniamo le equazioni di stato e aggiunta (stabilizzate) che posso-no nuovamente essere riscritte, rispettivamente, nelle formulazioni (15.89) e (15.91),dopo aver posto:

sh(yh, ϕh) = sh(yh, ϕh; uh) = −∑K∈Th

δK

∫K

R(yh; uh) Lad(ϕh) dK, (15.97)

sadh (ph, φh; yh) =

−∑K∈Th δK∫K

(Rad(ph; yh) L(φh) −R(yh; uh) G

′(φh))

dK,(15.98)

essendo G′(ϕ) = χDg2ϕ. Infine, la sensitività del funzionale costo è

δuh(ph, yh) = ph −∑K∈Th

δK Rad(ph; yh). (15.99)

15.12.2 Stima a posteriori dell’errore

Al fine di ottenere un’appropriata stima a posteriori dell’errore per il problema dicontrollo ottimale, scegliamo di identificare l’errore associato al problema di control-lo, come errore sul funzionale costo, in maniera analoga a quanto fatto in [BKR00].Inoltre, proponiamo di separare in due contributi l’errore, che indentificheremo co-me errore di iterazione ed errore di discretizzazione. In particolare, per l’errore didiscretizzazione definiremo una stima a posteriori facendo uso di principi di dualità[BKR00], che adotteremo per l’adattività di griglia.

Errore di iterazione ed errore di discretizzazione

Ad ogni passo iterativo j della procedura di ottimizzazione consideriamo il seguenteerrore

ε(j) = J(y∗, u∗) − J(yjh, ujh), (15.100)

dove l’apice ∗ indentifica le variabili all’ottimo, mentre yjh indica la variabile di statodiscreta al passo j (in maniera analoga si definiscono le variabili yjh e ujh). Definia-

mo errore di discretizzazione ε(j)D [LD05] la componente dell’errore complessivo ε(j)

legata all’approssimazione numerica al passo j; chiamiamo invece errore di itera-zione ε

(j)IT [LD05] la componente di ε(j) che esprime la differenza tra il funziona-

le costo calcolato sulle variabili continue al passo j e il funzionale costo all’ottimoJ∗ = J(y∗, u∗). Concludendo, l’errore complessivo ε(j) si può scrivere, partendodall’Eq.(15.100), come

ε(j) =(J(y∗ , u∗)− J(yj , uj)

)+(J(yj , uj)− J(yjh, u

jh))= ε

(j)IT + ε

(j)D . (15.101)

Nel seguito definiremo una stima a posteriori dell’errore solo per ε(j)D , ovvero la partedi ε(j) che può essere ridotta mediante raffinamento di griglia. Dato che ∇L(x) è

Page 518: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.12 Approssimazione numerica di un problema di controllo ottimale 511

lineare in x, l’errore di iterazione ε(j)IT diventa ε

(j)IT =

12 ( δu(p

j, uj) , u∗ − uj ), che,nel caso del nostro problema di controllo per equazioni di diffusione–trasporto, puòessere scritto come ([LD05])

ε(j)IT = −

1

2τ‖pj‖2L2(Ω) −

1

∞∑r=j+1

( pj, pr )L2(Ω). (15.102)

Dal momento che l’errore di iterazione non può essere completamente valutato permezzo di questa espressione, approssimiamo ε

(j)IT come

|ε(j)IT | ≈1

2τ‖pj‖2L2(Ω),

o, più semplicemente

|ε(j)IT | ≈ ‖pj‖2L2(Ω),

che porta al solito criterio

|ε(j)IT | ≈ ‖δu(pj)‖, (15.103)

dove ‖ · ‖ è la norma L2.

Osserviamo che, nella pratica, l’errore di iterazione ε(j)IT viene valutato nelle variabili

discrete, ovvero come |ε(j)IT | ≈ ‖δuh(pjh)‖. Supponiamo che ad un certo passo iterativo

j venga raffinata la griglia, per esempio mediante adattività, e indichiamo con xh levariabili calcolate con la vecchia griglia Th, mentre con x∗ le variabili calcolate conla nuova griglia adattata T ∗. Allora, in generale, al passo j l’errore di discretizzazioneassociato a T ∗ è inferiore a quello associato a Th. Non è detto tuttavia che l’errore didiscretizzazione ε

(j)IT valutato in x∗, sia inferiore all’errore di iterazione valutato in xh.

Stima a posteriori dell’errore e strategia adattiva

Definiamo ora la stima a posteriori per l’errore di discretizzazione ε(j)D , basandoci sul

seguente teorema ([LD05]).

Teorema 15.6 Per un problema di controllo lineare con Lagrangiana stabi-lizzata Lsh (Eq.(15.95) e Eq.(15.96)), l’errore di discretizzazione al passo jdell’algoritmo iterativo di ottimizzazione si può scrivere come

ε(j)D =

1

2( δu(pj, uj), uj −ujh ) +

1

2∇Lsh(xjh) · (xj − x

jh) +Λh(x

jh), (15.104)

dove xjh = (yjh, p

jh, u

jh) è l’approssimazione di Galerkin–elementi finiti linea-

ri e Λh(xjh) = Sh(x

jh) + sh(y

jh, p

jh; u

jh), essendo sh(w

jh, p

jh; u

jh) il termine di

stabilizzazione (15.97).

Page 519: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

512 15 Introduzione al controllo ottimale per equazioni a derivate parziali

Applicando la (15.104) al nostro problema di controllo per le equazioni di diffusione–trasporto ed evidenziando i contributi sui singoli elementi della griglia K ∈ Th([BKR00]), otteniamo la seguente stima

|ε(j)D | ≤ η(j)D =

1

2

∑K∈Th

{ (ωpKρyK + ωyKρpK + ωuKρuK ) + λK } , (15.105)

dove:

ρyK = ‖R(yjh; u

jh)‖K + h

− 12K ‖r(yjh)‖∂K,

ωpK = ‖(pj − pjh)− δKLad(pj − pjh) + δKG′(yj − yjh)‖K + h12

K‖pj − pjh‖∂K,

ρpK = ‖Rad(pjh; y

jh)‖K + h

− 12K ‖rad(pjh)‖∂K ,

ωyK = ‖(yj − yjh) − δKL(yj − yjh)‖K + h12

K‖yj − yjh‖∂K ,

ρuK = ‖δuh(pjh, yjh) + δu(pj)‖K = ‖pj + pjh − δKRad(pjh; y

jh)‖K ,

ωuK = ‖uj − ujh‖K,

λK = 2δK‖R(yjh; ujh)‖K ‖G(y

jh)‖K ,

r(yjh) =

⎧⎪⎪⎪⎨⎪⎪⎪⎩−12

[ν∂yjh∂n

], su ∂K\∂Ω,

−ν∂yjh∂n

, su ∂K ∈ ΓN ,

rad(pjh) =

⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩−12

[ν∂pjh∂n+V · n pjh

], su ∂K\∂Ω,

−(ν∂pjh∂n+V · n pjh

), su ∂K ∈ ΓN ;

(15.106)∂K rappresenta il bordo degli elementi K ∈ Th, mentre [·] indica il salto della quantitàindicata tra le parentesi attraverso ∂K.

Per utilizzare la stima (15.105) è necessario valutare yj , pj e uj . A tale scopo,sostituiamo yj e pj con le rispettive ricostruzioni quadratiche, (yjh)

q e (pjh)q, mentre

uj con (ujh)q = ujh−τ (δuh((p

jh)q , (yjh)

q)−δuh(pjh, y

jh)), secondo il metodo iterativo

di discesa più ripida con τ j = τ . Consideriamo la seguente strategia adattiva integratanell’algoritmo iterativo di ottimizzazione:

1. adottiamo il metodo di ottimizzazione iterativo fino a raggiungimento della tolle-ranza TolIT sull’errore di iterazione, utilizzando una griglia lasca;

2. adattiamo la griglia, bilanciando l’errore sugli elementi della griglia K ∈ Th,secondo la stima η

(j)D (15.105), fino a convergenza alla tolleranza dell’errore di

discretizzazione TolD ;3. rivalutiamo le variabili e ε

(j)IT sulla nuova griglia adattata: se ε

(j)IT ≥ TolIT , ritor-

niamo al punto 1 e ripetiamo la procedura, mentre se ε(j)IT < TolIT , arrestiamo

l’algoritmo.

Page 520: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.12 Approssimazione numerica di un problema di controllo ottimale 513

−5 0 5−4

0

4

x [km]

y [k

m]

Ω

DU1

U2

U3

ΓN

ΓN

ΓN

ΓD

Figura 15.3. Dominio per il problema di controllo della diffusione di un inquinante.

15.12.3 Un problema test: controllo delle emissioni di inquinanti

Applichiamo la stima a posteriori dell’errore di discretizzazione η(j)D (15.105) e la stra-

tegia descritta in Sez. 15.12.2 ad un caso test numerico, con applicazione ad un pro-blema di controllo delle emissioni inquinanti in atmosfera. Vorremmo poter regolarele emissioni di camini industriali al fine di mantenere la concentrazione di un determi-nato inquinante al disotto di una certa soglia in una determinata area di osservazione,per esempio una città.

A questo scopo consideriamo un semplice modello di diffusione–trasporto [LD05],che rappresenta un modello quasi–3D: la concentrazione dell’inquinante y alla quotadi emissione H è descritta dall’equazione di diffusione–trasporto (15.78), mentre laconcentrazione al suolo è ottenuta mediante la funzione di proiezione g(x, y). I va-lori assunti dal coefficiente di diffusione ν(x, y) e dalla funzione g(x, y) dipendonodalla distanza dalla fonte inquinante e dalla specifica classe di stabilità atmosferica(per esempio stabile, neutra o instabile). In particolare, consideriamo il caso di condi-zioni atmosferiche neutre e, riferendoci al dominio riportato in Fig.15.3, assumiamoV = Vxx+Vy y, con Vx = V cos( π30) e Vy = V sin( π30), essendo V = 2.5m/s. Inol-tre assumiamo che la portata massima di emissione dai camini sia umax = 800 g/salla quota di emissione H = 100 m, per cui la concentrazione di inquinante (peresempio consideriamo SO2) nella zona di osservazione è più alta del livello desideratozd = 100 μg/m

3. In (15.78) abbiamo considerato il caso di un controllo u distribuitosu tutto il dominio Ω, mentre ora trattiamo il caso particolare per cui u =

∑Ni=1 uiχi,

dove χi è la funzione caratteristica del sottodominio Ui in cui è collocato il caminoi–esimo.

In Fig.15.4a riportiamo la concentrazione di inquinate al suolo corrispondente al-la portata massima di emissione dai tre camini; in Fig.15.4b è rappresentata la con-centrazione al suolo alla fine della procedura di ottimizzazione; osserviamo che i ra-tei di emissione “ottimali” diventano u1 = 0.0837 · umax, u2 = 0.0908 · umax e

Page 521: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

514 15 Introduzione al controllo ottimale per equazioni a derivate parziali

0 500 1000 1500 0 500 1000 1500

(a) (b)

Figura 15.4. Concentrazione di inquinante [μg/m3] al suolo prima (a) e dopo (b) la regolazionedelle emissioni

(a) (b)

Figura 15.5. Griglie adattate (circa 14000 elementi) ottenute mediante η(j)D Eq.(15.105) (a) e(ηwpuE )(j) (b) (analoga griglia per (ηE)(j))

u3 = 1.00 ·umax. In Fig.15.5 riportiamo un confronto tra griglie adattate; in Fig.15.5aè presentata la griglia ottenuta mediante la precedente stima a posteriori di η(j)D , mentrein Fig.15.5b quelle ottenute mediante le seguenti stime [LD05] (che portano a risultatianaloghi):

1. la stima in norma dell’energia (ηE)(j) =∑K∈Th hK ρyK ;

2. l’indicatore (ηypuE )(j) =

∑K∈Th hK

{(ρyK )

2 + (ρpK )2 + (ρuK )

2} 12 .

Per la definizione dei simboli si veda l’equazione (15.106); i risultati sono confrontaticon quelli ottenuti con una griglia molto fine di 80000 elementi. L’adattività guida-ta dall’indicatore dell’errore η

(j)D tende a collocare elementi di griglia in quelle aree

che sono più rilevanti per il problema di controllo ottimale. Questo fatto è confermatoconfrontando gli errori sul funzionale costo ed altre quantità rilevanti, per le griglieottenute con diversi indicatori dell’errore, ma con lo stesso numero di elementi. Adesempio, l’indicatore η

(j)D garantisce un errore sul funzionale costo di circa il 20%

contro il 55% ottenuto con gli indicatori (ηE)(j) e (ηwpuE )(j) con griglie con circa

Page 522: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

15.12 Approssimazione numerica di un problema di controllo ottimale 515

4000 elementi, e del 6% contro il 15% con circa 14000 elementi. L’adattività guida-ta dall’indicatore dell’errore η

(j)D consente grandi risparmi, a pari errore, in termini

di numero di elementi di griglia, ovvero una risoluzione efficiente del problema dicontrollo.

Page 523: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Appendice A

Richiami di analisi funzionale

In questa Appendice richiamiamo alcuni concetti usati estensivamente nel testo: fun-zionali e forme bilineari, distribuzioni, spazi di Sobolev, spazi Lp. Per una lettura piùapprofondita il lettore può riferirsi ad esempio a [Sal08],[Yos74], [Bre86], [LM68],[Ada75].

A.1 Funzionali e forme bilineari

Definizione A.1 Dato uno spazio funzionale V si dice funzionale su V unoperatore che associa ad ogni elemento di V un numero reale:

F : V �→ R.

Spesso il funzionale si indica con la notazione F (v) = 〈F, v〉, detta crochet.Un funzionale si dice lineare se è lineare rispetto all’argomento, ossia se

F (λv + μw) = λF (v) + μF (w) ∀λ, μ ∈ R, ∀v, w ∈ V .

Un funzionale lineare è limitato se ∃C > 0 tale che

|F (v)| ≤ C‖v‖V ∀v ∈ V. (A.1)

Un funzionale lineare e limitato su uno spazio di Banach (ovvero uno spazio nor-mato e completo) è anche continuo. Definiamo quindi lo spazio V ′, detto duale di V ,come l’insieme dei funzionali lineari e limitati su V ovvero

V ′={F : V �→ R t.c. F è lineare e limitato },

e lo equipaggiamo della norma ‖ · ‖V ′ definita come

‖F ‖V ′ = supv∈V \{0}

|F (v)|‖v‖V

. (A.2)

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 524: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

518 A Richiami di analisi funzionale

È evidente quindi che la costante C che compare in (A.1) è maggiore o uguale a‖F ‖V ′ .

Vale il seguente teorema, detto di identificazione o di rappresentazione ([Yos74])

Teorema A.1 (di rappresentazione di Riesz) Sia H uno spazio di Hilbert mu-nito di un prodotto scalare (·, ·)H. Per ogni funzionale lineare e limitato f su Hesiste un unico elemento xf ∈ H tale che

f(y) = (y, xf )H ∀y ∈ H e ‖f‖H′ = ‖xf‖H . (A.3)

Reciprocamente, ogni elemento x ∈ H identifica un funzionale lineare e limitatofx su H tale che

fx(y) = (y, x)H ∀y ∈ H e ‖fx‖H′ = ‖x‖H . (A.4)

Se H è uno spazio di Hilbert, la totalità H ′ dei funzionali lineari e limitati su Hcostituisce anch’esso uno spazio di Hilbert. Inoltre, grazie al Teorema A.1, esiste unatrasformazione biiettiva ed isometrica (ovvero che preserva la norma) f ↔ xf tra H ′

e H grazie alla quale H ′ e H possono essere identificati in quanto insiemi (ma non inquanto spazi vettoriali). Possiamo indicare questa trasformazione come segue:

ΛH : H → H ′, x→ fx = ΛHx

Λ−1H : H′ → H, f → xf = Λ−1H x

(A.5)

Introduciamo ora la nozione di forma bilineare.

Definizione A.2 Dato uno spazio funzionale normato V si dice forma un’ap-plicazione a che associa ad ogni coppia di elementi di V un numeroreale

a : V × V �→ R.

Una forma si dice:

bilineare se è lineare rispetto ad entrambi i suoi argomenti ovvero se

a(λu+ μw, v) = λa(u, v) + μa(w, v) ∀λ, μ ∈ R, ∀u, v, w ∈ V,

a(u, λw+ μv) = λa(u, v) + μa(u, w) ∀λ, μ ∈ R, ∀u, v, w ∈ V ;

continua se ∃M > 0 tale che

|a(u, v)| ≤M‖u‖V ‖v‖V ∀u, v ∈ V ; (A.6)

simmetrica se

a(u, v) = a(v, u) ∀u, v ∈ V ; (A.7)

Page 525: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

A.2 Differenziazione in spazi lineari 519

positiva se

a(v, v) > 0 ∀v ∈ V ; (A.8)

coerciva se ∃α > 0 tale che

a(v, v) ≥ α‖v‖2V ∀v ∈ V. (A.9)

Definizione A.3 Siano X e Y due spazi di Hilbert. Si dice che X è contenutoin Y con iniezione continua se esiste una costante C tale che ‖w‖Y ≤ C‖w‖X ,∀w ∈ X . Inoltre X è denso in Y se ogni elemento appartenente a Y può essereottenuto come limite, nella norma ‖ · ‖Y , di una successione di elementi di X .

Dati due spazi di Hilbert V eH, tali che V ⊂ H, l’iniezione di V inH sia continua edinoltreV sia denso inH, si ha che H è sottospazio di V′ , il duale di V, e vale

V ⊂ H � H′ ⊂ V′. (A.10)

Lo spazio H rappresenta tipicamente lo spazio funzionale del termine forzante f del-l’equazione di stato (15.1) e, talvolta, quello in cui si cerca il controllo u. Per problemiellittici, tipicamente gli spazi V eH saranno scelti rispettivamente come H1(Ω) (o unsuo sottospazio, H10 (Ω) o H1ΓD(Ω)) e L2(Ω).

Definizione A.4 Un operatore lineare e limitato (dunque continuo) T tra duespazi funzionali X e Y , si dice isomorfo se mette in corrispondenza biunivocagli elementi degli spazi X e Y ed in più esiste il suo inverso T −1. Se vale ancheX ⊂ Y , tale isomorfismo si dice canonico.

Definizione A.5 Una forma n : V × V → R si dice simmetrica definita positivase valgono:

• n(φ, ψ) = n(ψ, φ) ∀φ, ψ ∈ V,• n(φ, φ) > 0 ∀φ ∈ V.

A.2 Differenziazione in spazi lineari

In questa sezione sono brevemente riportati i concetti di differenziabilità e derivazioneper applicazioni su spazi funzionali lineari; per approfondimenti in materia, così comeper l’estensione dei concetti a casi più generali, si veda [KF89].

Page 526: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

520 A Richiami di analisi funzionale

Si inizi considerando la nozione di differenziale forte o di Fréchet:

Definizione A.6 Siano X e Y due spazi normati e F un’applicazione di X in Y ,definita su un insieme aperto E ⊂ X; tale applicazione si dice differenziabile inx ∈ E se esiste un operatore lineare e limitato Lx: X → Y tale per cui:

∀ε > 0, ∃δ > 0 : ||F (x+h)−F (x)−Lxh||Y ≤ ε ||h||X ∀h ∈ X con ||h||X < δ.

L’espressione Lxh (oppure Lx[h]), che genera un elemento in Y per ogni h ∈ X,si dice differenziale forte (o di Fréchet) dell’applicazione F in x ∈ E; l’opera-tore Lx si dice derivata forte dell’applicazione F in x e viene indicata in generecome F ′(x).

Dalla definizione si deduce che un’applicazione differenziabile in x è anche continuain x. Qui di seguito sono riportate alcune proprietà che derivano da questa definizione:

• se F (x) = y0 = costante, allora F ′(x) è l’operatore nullo, ovvero Lx[h] =0, ∀h ∈ X;

• la derivata forte di un’applicazione lineare continua F (x) è l’applicazione stessa,ovvero F ′(x) = F (x);

• date due applicazioni continue F e G di X in Y , se queste sono differenziabili inx0, lo sono anche le applicazioni F +G e αF , con α ∈ R, e valgono:

(F +G)′(x0) = F ′(x0) +G′(x0),

(αF )′(x0) = αF ′(x0).

Si consideri ora la seguente definizione di derivata debole (o di Gâteaux):

Definizione A.7 Sia F un’applicazione di X in Y ; si dice differenziale debole(o di Gâteaux) dell’applicazione F in x il limite:

DF (x, h) = limt→0

F (x+ th) − F (x)

t∀h ∈ X,

dove t ∈ R e la convergenza del limite va intesa rispetto alla norma dello spazioY . Se il differenziale debole DF (x, h) è lineare (in generale non lo è) lo si puòesprimere come:

DF (x, h) = F ′G(x)h ∀h ∈ X.

L’operatore lineare e limitato F ′G(x) si dice derivata debole (o di Gâteaux) di F.

Page 527: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

A.3 Richiami sulle distribuzioni 521

Vale inoltre:

F (x+ th)− F (x) = tF ′G(x)h+ o(t) ∀h ∈ X,

che implica:

||F (x+ th)− F (x)− tF ′G(x)h|| = o(t) ∀h ∈ X.

Si osservi che se un’applicazione F ha derivata forte, allora questa ammette deriva-ta debole, coincidente con quella forte; il viceversa invece non è vero in generale.Tuttavia vale il seguente teorema (si veda [KF89]):

Teorema A.2 Se in un intorno U(x0) di x0 esiste la derivata debole F ′G(x) del-l’applicazione F ed in tale intorno essa è una funzione di x, continua in x0,allora esiste in x0 la derivata forte F ′(x0) e questa coincide con quella debole,F ′(x0) = F ′G(x0).

A.3 Richiami sulle distribuzioni

In questa sezione vogliamo richiamare le principali definizioni relative alla teoria delledistribuzioni e agli spazi di Sobolev, utili per una migliore comprensione degli argo-menti introdotti nel testo. Per un approfondimento si vedano le monografie [Bre86],[Ada75] e [LM68].Sia Ω un insieme aperto di Rn e f : Ω �→ R.

Definizione A.8 Per supporto di una funzione f si intende la chiusuradell’insieme in cui la funzione stessa assume valori diversi da zero

supp f = {x : f(x) �= 0}.

Una funzione f : Ω �→ R si dirà a supporto compatto in Ω se esiste un insiemecompatto1 K ⊂ Ω tale che supp f ⊂ K.

Possiamo a questo punto dare la seguente definizione:

Definizione A.9 D(Ω) è lo spazio delle funzioni infinitamente derivabili ed asupporto compatto in Ω, ovvero

D(Ω)={f ∈ C∞(Ω) : ∃K ⊂ Ω, compatto : supp f ⊂ K}.

1 EssendoΩ ⊂ Rn, un compatto è un insieme chiuso e limitato

Page 528: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

522 A Richiami di analisi funzionale

Introduciamo la notazione a multi-indice per le derivate. Sia α = (α1, α2, . . . , αn)una ennupla di numeri interi non negativi (detta multi-indice) e sia f : Ω �→ R, conΩ ⊂ Rn, una funzione. Ne indicheremo le derivate con la notazione

Dαf(x) =∂|α|f(x)

∂xα11 ∂xα22 . . . ∂xαnn,

essendo |α| = α1 + α2 + . . .+ αn la lunghezza del multi-indice (essa coincide conl’ordine di derivazione).

Nello spazio D(Ω) si può introdurre la seguente nozione di convergenza:

Definizione A.10 Data una successione {φk} di funzioni di D(Ω) diremo cheesse convergono in D(Ω) ad una funzione φ e scriveremo φk −→

D(Ω)φ se:

1. i supporti delle funzioni φk sono tutti contenuti in un compatto fissato K diΩ;

2. si ha convergenza uniforme delle derivate di tutti gli ordini, cioè

Dαφk −→ Dαφ ∀α ∈ Nn.

Siamo ora in grado di definire lo spazio delle distribuzioni su Ω:

Definizione A.11 Sia T una trasformazione lineare da D(Ω) in R e denotiamocon 〈T, ϕ〉 il valore assunto da T sull’elemento ϕ ∈ D(Ω). Diciamo che T ècontinua se

limk→∞

〈T, ϕk〉 = 〈T, ϕ〉,

dove {ϕk}∞k=1, è una successione arbitraria di D(Ω) che converge verso ϕ ∈D(Ω). Si chiama distribuzione su Ω una qualunque trasformazione T da D(Ω)in R lineare e continua. Lo spazio delle distribuzioni su Ω è quindi dato dallospazio D′(Ω), duale di D(Ω).

L’azione di una distribuzione T ∈ D′(Ω) su una funzione φ ∈ D(Ω) verrà sempreindicata attraverso la notazione del crochet: 〈T, φ〉.

Esempio A.1 Sia a un punto dell’insieme Ω. La delta di Dirac relativa al punto a e denotatacon δa, è la distribuzione definita dalla relazione seguente

〈δa, φ〉 = φ(a) ∀φ ∈ D(Ω).

Per un altro significativo esempio si veda l’Esercizio 4. Anche in D′(Ω) siintroduce una nozione di convergenza:

Page 529: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

A.3 Richiami sulle distribuzioni 523

Definizione A.12 Una successione di distribuzioni {Tn} converge in D′(Ω) aduna distribuzione T se risulta:

limn→∞

〈Tn, φ〉 = 〈T, φ〉 ∀φ ∈ D(Ω).

A.3.1 Le funzioni a quadrato sommabile

Consideriamo lo spazio delle funzioni a quadrato sommabile su Ω ⊂ Rn,

L2(Ω)={f : Ω �→ R t.c.∫Ω

f(x)2 dΩ < +∞}.

Esso è uno spazio di Hilbert, il cui prodotto scalare è

(f, g)L2(Ω)=

∫Ω

f(x)g(x) dΩ.

La norma in L2(Ω) è quella associata al prodotto scalare ovvero

‖f‖L2(Ω)=√(f, g)L2(Ω).

Ad ogni funzione f ∈ L2(Ω) si associa una distribuzione Tf ∈ D′(Ω) definita nelseguente modo:

〈Tf , φ〉=∫Ω

f(x)φ(x) dΩ ∀φ ∈ D(Ω).

Vale il seguente risultato:

Lemma A.1 Lo spazioD(Ω) è denso in L2(Ω).

Grazie ad esso è possibile dimostrare che la corrispondenza fra f e Tf è iniettiva, edunque si può identificare L2(Ω) con un sottoinsieme di D′(Ω), scrivendo:

L2(Ω) ⊂ D′(Ω).

Esempio A.2 Sia Ω = R e si indichi con χ[a,b](x) la funzione caratteristica dell’intervallo[a, b], così definita:

χ[a,b](x) =

{1 se x ∈ [a, b],0 altrimenti.

Si consideri poi la successione di funzioni fn(x) = n2χ[−1/n,1/n](x) (si veda la Fig. A.1).

Page 530: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

524 A Richiami di analisi funzionale

x1/n-1/n

n/2 n

1/n-1/n x

Figura A.1. La funzione caratteristica dell’intervallo [−1/n, 1/n] (a sinistra) e la funzionetriangolare fn a destra

Vogliamo verificare che la successione{Tfn} delle distribuzioni ad esse associate converge alladistribuzione δ0, ovvero la δ di Dirac relativa all’origine. Infatti, per ogni funzione φ ∈ D(Ω),si ha:

〈Tfn , φ〉 =∫R

fn(x)φ(x) dx =n

2

1/n∫−1/n

φ(x) dx =n

2[Φ(1/n)− Φ(−1/n)],

essendoΦ una primitiva di φ. Se ora poniamo h = 1/n, possiamo scrivere

〈Tfn , φ〉 =Φ(h)− Φ(−h)

2h.

Quando n→∞, h→ 0 e quindi, per definizione di derivata, si ha

Φ(h)− Φ(−h)2h

→ Φ′(0).

Per costruzioneΦ′ = φ e perciò

〈Tfn , φ〉 → φ(0) = 〈δ0, φ〉,

avendo usato la definizione di δ0 (si veda l’Esempio A.1).Lo stesso limite si ottiene prendendo una successione di funzioni triangolari (si veda la Fig.

A.1) o gaussiane, anziché rettangolari (purché siano sempre ad area unitaria).Facciamo infine notare come nelle metriche usuali tali successioni convergano invece ad

una funzione quasi ovunque nulla. �

A.3.2 Derivazione nel senso delle distribuzioni

Sia T ∈ D′(Ω) dove Ω ⊂ Rn. Le sue derivate nel senso delle distribuzioni sonodefinite nel modo seguente

〈 ∂T∂xi

, φ〉 = −〈T,∂φ

∂xi〉 ∀φ ∈ D(Ω), i = 1, . . . , n.

In maniera analoga si definiscono le derivate successive. Precisamente, per ogni multi-indiceα = (α1, α2, . . . , αn), si ha:

〈DαT, φ〉 = (−1)|α|〈T,Dαφ〉 ∀φ ∈ D(Ω).

Page 531: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

A.3 Richiami sulle distribuzioni 525

Figura A.2. La funzione di Heaviside a sinistra. A destra, la funzione dell’Esempio A.6 conk = 1/3. Si noti il punto all’infinito nell’origine

Esempio A.3 La funzione di Heaviside su R (si veda la Fig. A.2) è definita come

H(x) =

{1 se x > 0,0 se x ≤ 0.

La derivata della distribuzione ad essa associata è la distribuzione di Dirac relativa all’origine(si veda l’Esempio A.1); identificando la funzioneH con la distribuzione TH ad essa associatascriveremo dunque:

dH

dx= δ0.

La derivazione nell’ambito delle distribuzioni gode di alcune proprietà importantiche non risultano valide nell’ambito più ristretto della derivazione in senso classicoper le funzioni.

Proprietà A.1 L’insieme D′(Ω) è chiuso rispetto all’operazione di derivazione(nel senso delle distribuzioni), cioè ogni distribuzione è infinitamente derivabile.

Proprietà A.2 La derivazione inD′(Ω) è un’operazione continua, nel senso chese Tn −→

D′(Ω)T , per n→∞, allora risulta anche DαTn −→

D′(Ω)DαT , per n→∞,

per ogni multi-indiceα.

Notiamo infine come la derivazione nel senso delle distribuzioni sia un’estensionedella derivazione classica per le funzioni, in quanto se la funzione f è derivabile concontinuità (in senso classico) su Ω, allora la derivata della distribuzione Tf ad essaassociata coincide con la distribuzione Tf ′ corrispondente alla derivata classica (siveda l’Esercizio 7).

In queste note identificheremo le funzioni f di L2(Ω) con le corrispondenti di-stribuzioni Tf di D′(Ω), scrivendo ancora f in luogo di Tf . Similmente quandoparleremo di derivate ci riferiremo sempre alle derivate nel senso delle distribuzioni.

Page 532: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

526 A Richiami di analisi funzionale

A.4 Gli spazi di Sobolev

Nel paragrafo A.3.1 abbiamo notato che le funzioni di L2(Ω) sono particolari distri-buzioni. Non è detto, però, che anche le loro derivate (nel senso delle distribuzioni)siano ancora delle funzioni di L2(Ω), come mostra il seguente esempio.

Esempio A.4 Sia Ω ⊂ R e sia [a, b] ⊂ Ω. Allora la funzione caratteristica dell’intervallo[a, b] (si veda l’Esempio A.2) appartiene a L2(Ω), mentre la sua derivata dχ[a,b]/dx = δa− δb(si veda l’Esempio A.3) non vi appartiene. �

È, quindi, ragionevole introdurre gli spazi seguenti:

Definizione A.13 Sia Ω un aperto diRn e k un intero positivo. Si chiama spaziodi Sobolev di ordine k su Ω lo spazio formato dalla totalità delle funzioni diL2(Ω) aventi tutte le derivate (distribuzionali) fino all’ordine k appartenenti adL2(Ω):

Hk(Ω)={f ∈ L2(Ω) : Dαf ∈ L2(Ω), ∀α : |α| ≤ k}.

Risulta, ovviamente, Hk+1(Ω) ⊂ Hk(Ω) per ogni k ≥ 0 e questa immersione ècontinua. Lo spazio L2(Ω) viene talvolta indicato come H0(Ω).

Gli spazi di Sobolev Hk(Ω) risultano essere spazi di Hilbert rispetto al prodottoscalare seguente:

(f, g)k =∑|α|≤k

∫Ω

(Dαf)(Dαg) dΩ,

da cui discendono le norme

‖f‖Hk(Ω) =√(f, f)k =

√√√√∑|α|≤k

∫Ω

(Dαf)2 dΩ. (A.11)

Si definiscono infine le seminorme

|f |Hk(Ω) =√√√√∑|α|=k

∫Ω

(Dαf)2 dΩ,

di modo che la (A.11) diventa

‖f‖Hk(Ω) =

√√√√ k∑m=0

|f |2Hm(Ω).

Page 533: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

A.4 Gli spazi di Sobolev 527

Esempio A.5 Per k = 1 si ha:

(f, g)1 = (f, g)H1(Ω) =

∫Ω

fg dΩ +

∫Ω

f ′g′ dΩ;

‖f‖1 = ‖f‖H1(Ω) =√√√√∫Ω

f2 dΩ +

∫Ω

f ′2 dΩ =√‖f‖2

L2(Ω)+ ‖f ′‖2

L2(Ω);

|f |1 = |f |H1(Ω) =√√√√∫Ω

f ′2 dΩ = ‖f ′‖L2(Ω).

A.4.1 Regolarità degli spazi Hk(Ω)

Vogliamo ora porre in relazione l’appartenenza di una funzione ad uno spazio Hk(Ω)con le sue proprietà di continuità.

Esempio A.6 SiaΩ ⊂ R2 un cerchio centrato nell’origine e di raggio r = 1. Allora la funzioneseguente definita su Ω\{0}, rappresentata in Fig. A.2 a destra,

f(x1, x2) =

∣∣∣∣∣ln 1√x21 + x

22

∣∣∣∣∣k

(A.12)

con 0 < k < 1/2 appartiene ad H1(Ω), ma presenta una singolarità nell’origine e dunque nonè continua. �

Non tutte le funzioni di H1(Ω) sono dunque continue se Ω è un insieme aperto di R2.In generale, vale il seguente risultato:

Proprietà A.3 Se Ω è un aperto di Rn dotato di una frontiera “sufficientementeregolare”, allora

Hk(Ω) ⊂ Cm(Ω) se k > m+n

2.

In particolare, in una dimensione spaziale (n = 1) le funzioni di H1(Ω) sonocontinue (esse sono in effetti assolutamente continue, si vedano [Sal08] e [Bre86]),mentre in due o tre dimensioni non lo sono necessariamente. Lo sono invece quelle diH2(Ω).

A.4.2 Lo spazioH10(Ω)

Se Ω è limitato, lo spazio D(Ω) non è denso inH1(Ω). Si può allora dare la seguentedefinizione:

Page 534: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

528 A Richiami di analisi funzionale

Definizione A.14 Si indica con H10(Ω) la chiusura di D(Ω) nella topologia diH1(Ω).

Le funzioni di H10(Ω) godono della seguente proprietà:

Proprietà A.4 (Disuguaglianza di Poincaré) Sia Ω un insieme limitato di Rn;allora esiste una costante CΩ tale che:

‖v‖L2(Ω) ≤ CΩ|v|H1(Ω) ∀v ∈ H10(Ω). (A.13)

Dimostrazione. Essendo Ω limitato possiamo sempre trovare una sfera SD = {x :|x− g| < D} di centro g e raggio D > 0, contenente Ω. Dato che D(Ω) è denso inH10(Ω) basta dimostrare l’ineguaglianza per una funzione u ∈ D(Ω). Integrando perparti e sfruttando il fatto che div(x − g) = n

‖u‖2L2(Ω) = n−1∫Ω

n · |u(x)|2 dΩ = −n−1∫Ω

(x − g) · ∇(|u(x)|2) dΩ

= −2n−1∫Ω

(x − g) · [u(x)∇u(x)] dΩ ≤ 2n−1‖x− g‖L∞(Ω)‖u‖L2(Ω)‖u‖H1(Ω)

≤ 2n−1D‖u‖L2(Ω)‖u‖H1(Ω).Nel caso generale in cui v ∈ H10(Ω) basterà costruire una successione ui ∈ D(Ω),i = 1, 2, . . . convergente a v nella norma di H1(Ω), applicare la disuguaglianza aimembri della successione e passare al limite. �

Come conseguenza immediata si ha che:

Proprietà A.5 La seminorma ‖v‖H1(Ω) è sullo spazio H10(Ω) una norma cherisulta equivalente alla norma ‖v‖H1(Ω).

Dimostrazione. Ricordiamo che due norme, ‖ · ‖ e ||| · |||, si dicono equivalenti seesistono due costanti positive c1 e c2, tali che

c1|||v||| ≤ ‖v‖ ≤ c2|||v||| ∀v ∈ V.

Poiché ‖v‖1 =√| v |21 +‖v‖20 è evidente che | v |1≤ ‖v‖1.

Viceversa, sfruttando la proprietà A.4,

‖v‖1 =√| v |21 +‖v‖20 ≤

√| v |21 +C2Ω | v |21 ≤ C∗Ω | v |1,

da cui si deduce l’equivalenza delle due norme. �In maniera del tutto analoga si definiscono gli spazi Hk0(Ω) come la chiusura di

D(Ω) nella topologia di Hk(Ω).

Page 535: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

A.4 Gli spazi di Sobolev 529

A.4.3 Gli operatori di traccia

Sia v ∈ H1(Ω): le considerazioni svolte nella Sez. A.4.1 mostrano che non è semplicela definizione di “valore” di v sul bordo di Ω, valore che chiameremo la traccia di vsu ∂Ω. Si sfrutta il seguente risultato:

Teorema A.3 (di traccia) Sia Ω un aperto limitato diRn dotato di una frontiera∂Ω “sufficientemente regolare” e k ≥ 1. Esiste una e una sola applicazionelineare e continua

γ0 : Hk(Ω) �→ L2(∂Ω),

tale per cui γ0v = v|∂Ω , ∀v ∈ Hk ∩ C0(Ω). γ0v è detta traccia di v su ∂Ω. Lacontinuità di γ0 implica che esista una costante C > 0 tale che

‖γ0v‖L2(Γ) ≤ C‖v‖Hk(Ω).

Il risultato è ancora valido se si considera l’operatore di traccia γΓ : Hk(Ω) �→

L2(Γ ) dove Γ è una porzione sufficientemente regolare ed a misura non nulladella frontiera di Ω.

Questo risultato permette di dare un senso alle condizioni al contorno di Dirichletquando si ricerchino soluzioni v in Hk(Ω), con k ≥ 1, purchè si interpreti il valore albordo nel senso della traccia.

Osservazione A.1 L’ operatore di traccia γΓ non è suriettivo su L2(Γ ). In particolare,l’insieme delle funzioni di L2(Γ ) che sono tracce di funzioni di H1(Ω) costituisce unsottospazio di L2(Γ ) denotato con H1/2(Γ ) che risulta caratterizzato da proprietà diregolarità intermedie tra quelle di L2(Γ ) e quelle di H1(Γ ). Più in generale, per ognik ≥ 1 esiste un’unica applicazione lineare e continua γ0 : H

k(Ω) �→ Hk−1/2(Γ ) taleche γ0v = v|Γ per ogni v ∈ Hk(Ω) ∩ C0(Ω). •

Gli operatori di traccia consentono un’interessante caratterizzazione dello spazioH10(Ω) definito precedentemente, in virtù della proprietà seguente:

Proprietà A.6 Sia Ω un aperto limitato di Rn dotato di una frontiera ∂Ω suffi-cientemente regolare e sia γ0 l’operatore di traccia da H1(Ω) in L2(∂Ω). Si haallora

H10(Ω) = Ker(γ0) = {v ∈ H1(Ω) : γ0v = 0}

In altre parole, H10(Ω) è formato dalle funzioni di H1(Ω) aventi traccia nulla sulbordo. Analogamente definiamo H20(Ω) come il sottospazio delle funzioni di H2(Ω)la cui traccia, insieme con la traccia della derivata normale, sono nulle al bordo.

Page 536: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

530 A Richiami di analisi funzionale

A.5 Lo spazioL∞(Ω) e gli spaziLp(Ω) con1 ≤ p <∞Lo spazio L2(Ω) può essere generalizzato nel modo seguente: per ogni numero realep con 1 ≤ p <∞ si possono definire gli spazi

Lp(Ω)={v : Ω �→ R t.c.

∫Ω

|v(x)|p dΩ <∞}.

Essi sono spazi di Banach con norma data da

‖v‖Lp(Ω)=

⎛⎝∫Ω

|v(x)|pdΩ

⎞⎠1/p .Più precisamente, Lp(Ω) è lo spazio di classi di equivalenza di funzioni misurabili,essendo la relazione di equivalenza da intendersi nel senso seguente: v è equivalentea w se e solo se v e w sono uguali quasi ovunque ovvero differiscono al più su di unsottoinsieme di Ω di misura nulla. Ricordiamo che la notazione “quasi ovunque in Ω”(in breve, q.o. in Ω) significa esattamente “per tutti gli x ∈ Ω, salvo al più un insiemedi punti di misura nulla”.Definiamo inoltre lo spazio

L1loc(Ω)={f : Ω → R, f |K ∈ L1(K) per ogni compatto K ⊂ Ω}.

Se 1 ≤ p <∞, alloraD(Ω) è denso in Lp(Ω).Nel caso in cui p =∞, si definisce L∞(Ω) lo spazio delle funzioni che sono limitateq.o. in Ω. La sua norma si definisce come segue

‖v‖L∞(Ω) =inf{C ∈ R : |v(x)| ≤ C, q.o. in Ω}

= sup{|v(x)|, q.o. in Ω}.(A.14)

Per 1 ≤ p ≤ ∞, gli spazi Lp(Ω), muniti della norma ‖ · ‖Lp(Ω), sono spazi di Banach(ovvero spazi vettoriali normati e completi).Ricordiamo la disuguaglianza di Hölder: date v ∈ Lp(Ω) e w ∈ Lp′ (Ω) con 1 ≤ p ≤∞ e 1p +

1p′ = 1, allora vw ∈ L1(Ω) e∫

Ω

|v(x) w(x)|dΩ ≤ ‖v‖Lp(Ω)‖w‖Lp′(Ω). (A.15)

L’indice p′ si chiama coniugato di p.Se 1 < p < ∞, allora Lp(Ω) è uno spazio riflessivo: una forma lineare e continuaϕ : Lp(Ω) → R può essere identificata ad un elemento di Lp

′(Ω), ovvero esiste un

unico g ∈ Lp′ (Ω) tale che

ϕ(f) =

∫Ω

f(x)g(x) dΩ ∀ f ∈ Lp(Ω).

Page 537: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

A.6 Esercizi 531

Se p = 2, allora p′ = 2. Pertanto L2(Ω) è uno spazio di Hilbert (ovvero uno spazio di

Banach munito di prodotto scalare∫Ω

f(x)g(x)dΩ). In particolare la disuguaglianza

di Hölder diventa:

(v, w)L2(Ω) ≤ ‖v‖L2(Ω)‖w‖L2(Ω) ∀ v, w ∈ L2(Ω) , (A.16)

ed è nota come disuguaglianza di Cauchy-Schwarz. Vale inoltre la disuguaglianza

‖vw‖L2(Ω) ≤ ‖v‖L4(Ω)‖w‖L4(Ω) ∀v, w ∈ L4(Ω). (A.17)

Se Ω ⊂ Rn è un dominio limitato, se 1 ≤ p ≤ q ≤ ∞

Lq(Ω) ⊂ Lp(Ω) ⊂ L1(Ω) ⊂ L1loc(Ω) .

Se Ω non è limitato, si ha sempre

Lp(Ω) ⊂ L1loc(Ω) ∀ p ≥ 1 .

Infine, se Ω ⊂ Rn e, se n > 1, il bordo ∂Ω è “poligonale” (più in generale, acontinuità lipschitziana), abbiamo:

se 0 < 2s < n allora Hs(Ω) ⊂ Lq(Ω), ∀q t.c. 1 ≤ q ≤ q∗ con q∗ = 2n/(n− 2s);

se 2s = n allora Hs(Ω) ⊂ Lq(Ω), ∀q t.c. 1 ≤ q <∞;

se 2s > n allora Hs(Ω) ⊂ C0(Ω).(A.18)

Tali inclusioni sono continue.

A.6 Esercizi

1. Sia Ω = (0, 1) e, per α > 0, f(x) = x−α. Per quale α si ha f ∈ Lp(Ω),1 ≤ p <∞ ? Esiste un α > 0 per cui f ∈ L∞(Ω) ?

2. Sia Ω = (0,1

2) e f(x) =

1

x(lnx)2. Mostrare che f ∈ L1(Ω).

3. Si dimostri per quali α ∈ R si ha che f ∈ L1loc(0, 1), essendo f(x) = x−α .4. Sia u ∈ L1loc(Ω). Si definisca Tu ∈ D′(Ω) come segue:

〈Tu, ϕ〉 =∫Ω

ϕ(x)u(x) dΩ.

Si verifichi che Tu è effettivamente una distribuzione, e che l’applicazione u →Tu è iniettiva. Si può dunque identificare u con Tu, e concludere osservando cheL1loc(Ω) ⊂ D′(Ω).

Page 538: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

532 A Richiami di analisi funzionale

5. Mostrare che la funzione definita come segue:

f(x) = e1/(x2−1) se x ∈ (−1, 1)

f(x) = 0 se x ∈]−∞,−1] ∪ [1,+∞[

appartiene a D(R).6. Si dimostri che per la funzione f definita in (A.12) si ha

‖f‖2H1(Ω) = 2πr∫0

|logs|2ks ds+ 2π2k2r∫0

1

s|logs|2k−2 ds

e che dunque sta in H1(Ω) purché 0 < k < 12 .

7. Sia ϕ ∈ C1(−1, 1). Si mostri che la derivatadϕ

dxfatta in senso classico è ugua-

le adϕ

dxnel senso delle distribuzioni, dopo aver osservato che C0(−1, 1) ⊂

L1loc(−1, 1) ⊂ D′(−1, 1).8. Si dimostri che, se Ω = (a, b), la disuguaglianza di Poincaré (A.13) è vera con

CΩ =(b− a)√2

.

[Soluzione: osservare che, grazie alla disuguaglianza di Cauchy-Schwarz si ha

v(x) =

x∫a

v′(t)dt ≤

⎛⎝ x∫a

[v′(t)]2dt

⎞⎠1/2⎛⎝ x∫a

1dt

⎞⎠1/2 ≤ √x− a‖v′‖L2(a,b)].

Page 539: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Appendice B

Algoritmi di risoluzione di sistemi lineari

Un sistema di m equazioni lineari in n incognite è un insieme di relazioni algebrichedella forma

n∑j=1

aijxj = bi, i = 1, . . . , m (B.1)

essendo xj le incognite, aij i coefficienti del sistema e bi i termini noti. Il sistema(B.1) verrà più comunemente scritto nella forma matriciale

Ax = b, (B.2)

avendo indicato con A = (aij) ∈ Rm×n la matrice dei coefficienti, con b=(bi) ∈ Rmil vettore termine noto e con x=(xi) ∈ Rn il vettore incognito. Si dice soluzione di(B.2) una qualsiasi n-upla di valori xi che verifichi la (B.1).

Nelle prossime sezioni richiamiamo alcune tecniche numeriche per la risoluzionedi (B.2) nel caso in cui m = n; supporremo ovviamente che A sia non-singolare,cioè che det(A) �= 0. Rimandiamo per ulteriori approfondimenti a [QSS08], Cap.3 e 4, e a [Saa96]. Facciamo presente che risolvere un sistema lineare con la regoladi Cramer richiede un costo computazionale dell’ordine di (n + 1)! operazioni, deltutto inaccettabile in quanto anche su calcolatori in grado di effettuare 109 operazioniaritmetiche (nel seguito indicate con flops, floating point operations) al secondo, siimpiegherebbero 9.6 · 1047 anni per risolvere un sistema lineare di sole 50 equazioni.

Per questo motivo sono stati sviluppati metodi numerici alternativi alla regola diCramer, che vengono detti diretti se conducono alla soluzione del sistema con unnumero finito di operazioni, od iterativi se ne richiedono (teoricamente) un numeroinfinito.

B.1 Metodi diretti

La risoluzione di un sistema lineare può essere effettuata tramite il metodo di eli-minazione di Gauss (MEG) nel quale il sistema di partenza, Ax=b, viene ricondot-to in n passi ad un sistema equivalente (avente cioè la stessa soluzione) della forma

A. Quarteroni: Modellistica numerica per problemi differenziali, 4a edizionec© Springer-Verlag Italia, Milano 2008

Page 540: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

534 B Algoritmi di risoluzione di sistemi lineari

A(n)x = b(n) doveA(n) = U è una matrice triangolare superiore non singolare e b(n)

è un nuovo termine noto. Quest’ultimo sistema potrà essere risolto, con un costo com-putazionale dell’ordine di n2 operazioni, con il seguente algoritmo delle sostituzioniall’indietro:

xn =b(n)n

unn,

xi =1

uii

⎛⎝b(n)i −

n∑j=i+1

uijxj

⎞⎠ , i = n− 1, . . . , 1.(B.3)

Indicando con A(1)x = b(1) il sistema originario, nel MEG il passaggio dalla matriceA(k) alla matrice A(k+1) si ottiene tramite le seguenti formule

mik =a(k)ik

a(k)kk

, i = k + 1, . . . , n,

a(k+1)ij = a

(k)ij −mika

(k)kj , i, j = k + 1, . . . , n

b(k+1)i = b

(k)i −mikb

(k)k , i = k + 1, . . . , n.

(B.4)

Facciamo notare che in questo modo gli elementi a(k+1)ij con i = k e j = k+1, . . . , n

risultano nulli. La matrice A(k+1) ha pertanto l’aspetto indicato in Fig. B.1. Gli ele-menti mik sono detti i moltiplicatori, mentre i denominatori a

(k)kk sono gli elementi

pivotali. Ovviamente il MEG può essere condotto a buon fine solo se gli elemen-ti pivotali risultano tutti non nulli. Matrici per le quali ciò avviene certamente sono,ad esempio, quelle simmetriche definite positive e le matrici a dominanza diagonalestretta. In generale occorrerà ricorrere alla tecnica di pivotazione (pivoting), ovveroalla scambio di righe (e/o colonne) di A(k), in modo da assicurare che l’elementopivotale a

(k)kk sia non nullo.

Per portare a termine l’eliminazione di Gauss servono 2(n−1)n(n+1)/3+n(n−1)flops (floating point operations), cui vanno aggiunti n2 flops per risolvere il sistematriangolare U x = b(n) con il metodo delle sostituzioni all’indietro. Servono dunquecirca (2n3/3 + 2n2) flops per risolvere il sistema lineare attraverso il MEG. Più sem-plicemente, trascurando i termini di ordine inferiore rispetto a n, si può dire che ilprocesso di eliminazione gaussiana richiede 2n3/3 flops.

Si può verificare che il MEG equivale a fattorizzare la matrice A ossia a scrivereA come il prodotto LU di due matrici. La matrice U, triangolare superiore, coincidecon la matrice A(n) ottenuta al termine del processo di eliminazione. La matrice Lè triangolare inferiore, i suoi elementi diagonali sono pari a 1 mentre sono uguali aimoltiplicatori nella restante porzione triangolare inferiore.

Una volta note le matrici L ed U, la risoluzione del sistema lineare di partenzacomporta semplicemente la risoluzione (in sequenza) dei due sistemi triangolari

Ly = b, Ux = y.

Page 541: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

B.1 Metodi diretti 535

k

a(k)kk

0

k

Figura B.1. La matrice A(k) nel metodo di eliminazione di Gauss

Ovviamente il costo computazionale del processo di fattorizzazione è lo stesso di quel-lo richiesto dal MEG. I vantaggi di questa reinterpretazione sono palesi: poiché L edU dipendono dalla sola A e non dal termine noto, la stessa fattorizzazione può essereutilizzata per risolvere diversi sistemi lineari sempre di matrice A, ma con terminenoto b variabile (si pensi ad esempio alla discretizzazione di un problema parabolicolineare nel quale ad ogni passo temporale è necessario risolvere un sistema semprecon la stessa matrice, ma diverso termine noto). Di conseguenza, essendo il costocomputazionale concentrato nella procedura di eliminazione (circa 2n3/3flops), siha in questo modo una considerevole riduzione del numero di operazioni qualora sivogliano risolvere più sistemi lineari aventi la stessa matrice.

Se A è una matrice simmetrica definita positiva, la fattorizzazione LU può essereconvenientemente specializzata. Esiste infatti un’unica matrice triangolare superioreH con elementi positivi sulla diagonale tale che

A = HTH. (B.5)

La (B.5) è la cosiddetta fattorizzazione di Cholesky. Gli elementi hij di HT sono datidalle formule seguenti: h11 =

√a11 e, per i = 2, . . . , n

hij =

(aij −

j−1∑k=1

hikhjk

)/hjj, j = 1, . . . , i− 1,

hii =

(aii −

i−1∑k=1

h2ik

)1/2.

Questo algoritmo richiede circa n3/3 flops con un risparmio, rispetto alla fattorizza-zione LU, di un fattore 2 nel tempo di calcolo, e circa metà della memoria.

Page 542: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

536 B Algoritmi di risoluzione di sistemi lineari

Consideriamo ora il caso particolare di un sistema lineare con matrice tridiagonalenon singolare A della forma

A =

⎡⎢⎢⎢⎢⎢⎣a1 c1 0b2 a2

. . .. . . cn−1

0 bn an

⎤⎥⎥⎥⎥⎥⎦ .

In tal caso le matrici L ed U della fattorizzazione LU di A sono due matrici bidiagonalidel tipo

L =

⎡⎢⎢⎢⎢⎣1 0β2 1

. . .. . .

0 βn 1

⎤⎥⎥⎥⎥⎦ , U =

⎡⎢⎢⎢⎢⎢⎣α1 c1 0

α2. . .. . . cn−1

0 αn

⎤⎥⎥⎥⎥⎥⎦ .

I coefficienti αi e βi incogniti, possono essere calcolati facilmente tramite le seguentiequazioni:

α1 = a1, βi =bi

αi−1, αi = ai − βici−1, i = 2, . . . , n.

Questo algoritmo prende il nome di algoritmo di Thomas e può essere visto come unaparticolare forma della fattorizzazione LU senza pivotazione.

B.2 Metodi iterativi

I metodi iterativi mirano a costruire la soluzione x di un sistema lineare come limite diuna successione {x(n)} di vettori. Per ottenere il singolo elemento della successioneè richiesto il calcolo del residuo r(n) = b − Ax(n) del sistema. Nel caso in cui lamatrice sia piena e di ordine n, il costo computazionale di un metodo iterativo è dun-que dell’ordine di n2 operazioni per ogni iterazione, costo che deve essere confrontatocon le 2n3/3 operazioni richieste approssimativamente da un metodo diretto. Di con-seguenza, i metodi iterativi sono competitivi con i metodi diretti soltanto se il numerodi iterazioni necessario per raggiungere la convergenza (nell’ambito di una tolleranzafissata) è indipendente da n o dipende da n in modo sublineare.

Altre considerazioni nella scelta tra un metodo iterativo ed un metodo direttoentrano in gioco non appena la matrice è sparsa.

Una strategia generale per costruire metodi iterativi è basata su una decomposi-zione additiva, detta splitting, della matrice A della forma A=P−N, dove P e N sonodue matrici opportune e P è non singolare. Per ragioni che risulteranno evidenti nelseguito, P è detta anche matrice di precondizionamento o precondizionatore.

Page 543: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

B.2 Metodi iterativi 537

Precisamente, assegnato x(0), si ottiene x(k) per k ≥ 1 risolvendo i nuovi sistemi

Px(k+1) = Nx(k) + b, k ≥ 0 (B.6)

o, equivalentemente,

x(k+1) = Bx(k) + P−1b, k ≥ 0 (B.7)

avendo indicato con B = P−1N la matrice di iterazione.Siamo interessati a metodi iterativi convergenti ossia tali che lim

k→∞e(k) = 0 per

ogni scelta del vettore iniziale x(0), avendo indicato con e(k) = x(k) − x l’errore.Poiché con un argomento ricorsivo si trova

e(k) = Bke(0), ∀k = 0, 1, . . . (B.8)

Si può concludere che un metodo iterativo della forma (B.6) è convergente se e solose ρ(B) < 1, essendo ρ(B) il raggio spettrale della matrice di iterazione B, ovvero ilmassimo modulo degli autovalori di B.

La (B.6) può anche essere posta nella forma

x(k+1) = x(k) +P−1r(k), (B.9)

avendo indicato con

r(k) = b− Ax(k) (B.10)

il vettore residuo al passo k. La (B.9) esprime dunque il fatto che per aggiornare la so-luzione al passo k+1, è necessario risolvere un sistema lineare di matrice P. Dunque P,oltre ad essere non singolare, dovrà essere invertibile con un basso costo computazio-nale se non si vuole che il costo complessivo dello schema aumenti eccessivamente(evidentemente, nel caso limite in cui P fosse uguale ad A e N=0, il metodo (B.9)convergerebbe in una sola iterazione, ma col costo di un metodo diretto).

Vediamo ora come accelerare la convergenza dei metodi iterativi (B.6) sfruttandol’ultima forma introdotta. Indichiamo con

RP = I− P−1A

la matrice di iterazione associata al metodo (B.9). La (B.9) può essere generalizzataintroducendo un opportuno parametro di rilassamento (o di accelerazione) α. Si ot-tengono in tal modo i metodi di Richardson stazionari (detti più semplicemente diRichardson), della forma

x(k+1) = x(k) + αP−1r(k), k ≥ 0. (B.11)

Più in generale, supponendo α dipendente dall’indice di iterazione, si ottengono imetodi di Richardson non stazionari dati da

x(k+1) = x(k) + αkP−1r(k), k ≥ 0. (B.12)

Page 544: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

538 B Algoritmi di risoluzione di sistemi lineari

La matrice di iterazione al passo k-esimo per tali metodi è data da

R(αk) = I− αkP−1A,

(si noti che essa dipende da k). Nel caso in cui P=I, i metodi in esame si diranno nonprecondizionati.

Possiamo riscrivere la (B.12) (e quindi anche la (B.11)) in una forma di grande in-teresse computazionale. Posto infatti z(k) = P−1r(k) (il cosiddetto residuo precondi-zionato), si ha che x(k+1) = x(k)+αkz

(k) e r(k+1) = b−Ax(k+1) = r(k)−αkAz(k).

Riassumendo, un metodo di Richardson non stazionario al passo k+1-esimo richiedele seguenti operazioni:

risolvere il sistema lineare Pz(k) = r(k),

calcolare il parametro di accelerazione αk,

aggiornare la soluzione x(k+1) = x(k) + αkz(k),

aggiornare il residuo r(k+1) = r(k) − αkAz(k),

(B.13)

Per quanto riguarda la convergenza per il metodo di Richardson stazionario (per ilquale αk = α, per ogni k ≥ 0) vale il seguente risultato:

Proprietà B.1 Se P è una matrice non singolare, il metodo di Richardsonstazionario (B.11) è convergente se e solo se

2Reλiα|λi|2

> 1 ∀i = 1, . . . , n, (B.14)

essendo λi gli autovalori di P−1A.Se inoltre si suppone che P−1A abbia autovalori reali positivi, ordinati in modoche λ1 ≥ λ2 ≥ . . . ≥ λn > 0, allora, il metodo stazionario di Richardson (B.11)converge se e solo se 0 < α < 2/λ1. Posto

αopt =2

λ1 + λn(B.15)

il raggio spettrale della matrice di iterazioneRα è minimo se α = αopt, con

ρopt = minα[ρ(Rα)] =

λ1 − λn

λ1 + λn. (B.16)

Se P−1A è simmetrica definita positiva, si può dimostrare che la convergenza del me-todo di Richardson è monotona rispetto alle norme vettoriali ‖·‖2 e ‖·‖A. Ricordiamoche ‖v‖2 = (

∑ni=1 v

2i )1/2 e ‖v‖A = (

∑ni,j=1 viaijvj)

1/2.

Page 545: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

B.2 Metodi iterativi 539

In tal caso, grazie alla (B.16), possiamo mettere in relazione ρopt con il numero dicondizionamento introdotto nella Sez. 3.4.2 nel modo seguente:

ρopt =K2(P

−1A) − 1K2(P−1A) + 1

, αopt =2‖A−1P‖2

K2(P−1A) + 1. (B.17)

Si comprende dunque quanto sia importante la scelta del precondizionatore P inun metodo di Richardson. Rimandiamo al Cap. 4 di [QSS08] per alcuni esempi diprecondizionatori.

L’espressione ottimale del parametro di accelerazione α, indicata in (B.15), risultadi scarsa utilità pratica, richiedendo la conoscenza degli autovalori massimo e minimodella matrice P−1A. Nel caso particolare di matrici simmetriche definite positive, ètuttavia possibile valutare il parametro di accelerazione ottimale in modo dinamico,ossia in funzione di quantità calcolate dal metodo stesso al passo k, come indichiamonel seguito.

Osserviamo anzitutto che, nel caso in cui A sia una matrice simmetrica definitapositiva, la risoluzione del sistema (B.2) è equivalente a trovare il punto di minimox ∈ Rn della forma quadratica

Φ(y) =1

2yTAy − yTb,

detta energia del sistema (B.2).Il problema è dunque ricondotto a determinare il punto di minimo x di Φ partendo daun punto x(0) ∈ Rn e, conseguentemente, scegliere opportune direzioni lungo le qualimuoversi per avvicinarsi, il più rapidamente possibile, alla soluzione x. La direzioneottimale, congiungente x(0) ed x, non è ovviamente nota a priori: dovremo dunquemuoverci a partire da x(0) lungo un’altra direzione d(0) e su questa fissare un nuovopunto x(1) dal quale ripetere il procedimento fino a convergenza.

Al generico passo k determineremo dunque x(k+1) come

x(k+1) = x(k) + αkd(k), (B.18)

essendo αk il valore che fissa la lunghezza del passo lungo d(k). L’idea più naturale,che consiste nel prendere come direzione di discesa quella di massima pendenza perΦ, data da r(k) = −∇Φ(x(k)), conduce al metodo del gradiente o metodo steepestdescent.Esso dà luogo al seguente algoritmo: dato x(0) ∈ Rn, posto r(0) = b − Ax(0), perk = 0, 1, . . . fino a convergenza, si calcola

αk =r(k)

Tr(k)

r(k)TAr(k)

, x(k+1) = x(k) + αkr(k),

r(k+1) = r(k) − αkAr(k).

Page 546: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

540 B Algoritmi di risoluzione di sistemi lineari

La sua versione precondizionata assume la forma seguente: dato x(0) ∈ Rn, postor(0) = b− Ax(0), z(0) = P−1r(0), per k = 0, 1, ... fino a convergenza si calcola

αk =z(k)

Tr(k)

z(k)TAz(k)

, x(k+1) = x(k) + αkz(k),

r(k+1) = r(k) − αkAz(k), Pz(k+1) = r(k+1),

Per quanto riguarda le proprietà di convergenza del metodo del gradiente, vale ilseguente risultato:

Teorema B.1 Sia A simmetrica e definita positiva, allora il metodo del gradienteconverge per ogni valore del dato iniziale x(0) e

‖e(k+1)‖A ≤K2(A)− 1K2(A) + 1

‖e(k)‖A, k = 0, 1, . . . (B.19)

dove ‖ · ‖A è la norma dell’energia precedentemente definita.

Analogo risultato, con K2(A) sostituito da K2(P−1A), vale anche nel caso del me-

todo del gradiente precondizionato, pur di assumere che anche P sia simmetrica edefinita positiva.

Un’alternativa ancora più efficace consiste nell’utilizzare il metodo del gradienteconiugato nel quale le direzioni di discesa non coincidono più con quelle del residuo.In particolare, posto p(0) = r(0), si cercano direzioni della forma

p(k+1) = r(k+1) − βkp(k), k = 0, 1, . . . (B.20)

dove i parametri βk ∈ R sono da determinarsi in modo che

(Ap(j))Tp(k+1) = 0, j = 0, 1, . . . , k. (B.21)

Direzioni di questo tipo si dicono A-ortogonali. Il metodo nel caso precondizionatoassume allora la forma: dato x(0) ∈ Rn, posto r(0) = b − Ax(0), z(0) = P−1r(0) ep(0) = z(0), la k-esima iterazione, con k = 0, 1 . . . , è

αk =p(k)

Tr(k)

(Ap(k))Tp(k),

x(k+1) = x(k) + αkp(k),

r(k+1) = r(k) − αkAp(k),

Pz(k+1) = r(k+1),

βk =(Ap(k))T z(k+1)

p(k)TAp(k)

,

p(k+1) = z(k+1) − βkp(k).

Page 547: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

B.2 Metodi iterativi 541

Il parametro αk è scelto in modo tale da garantire che l’errore ‖(e)(k+1)‖Asia minimizzato lungo la direzione di discesa p(k). Il parametro βk , invece, vie-ne scelto in modo che la nuova direzione p(k+1) sia A-coniugata con p(k) ovvero(Ap(k))Tp(k+1) = 0. In effetti, si può dimostrare (grazie al principio di induzione)che se quest’ultima relazione è verificata, allora lo sono anche tutte quelle in (B.21) re-lative a j = 0, ..., k−1. Per una completa derivazione del metodo, si veda ad esempio[QSS08, Cap. 4] o [Saa96].Si può dimostrare che il metodo del gradiente coniugato converge in aritmetica esattaal più in n passi e che

‖e(k)‖A ≤2ck

1 + c2k‖e(0)‖A, (B.22)

con

c =

√K2(P−1A)− 1√K2(P−1A) + 1

. (B.23)

Di conseguenza, in assenza di errori di arrotondamento, il metodo GC può esserevisto come un metodo diretto in quanto termina dopo un numero finito di operazioni.D’altra parte, per matrici di grande dimensione, viene usualmente impiegato come unmetodo iterativo ed arrestato quando uno stimatore dell’errore (come ad esempio ilresiduo relativo) è minore di una tolleranza assegnata.Grazie alla (B.23), la dipendenza del fattore di riduzione dell’errore dal numero dicondizionamento della matrice è più favorevole di quella del metodo del gradiente(per la presenza della radice quadrata di K2(P−1A)).

Generalizzazioni del metodo del gradiente nel caso in cui la matrice A non siasimmetrica conducono ai cosiddetti metodi di Krylov (fra i quali esempi notevoli sonocostituiti dal metodo GMRES e dal metodo del bigradiente coniugato, BiCG, e al-la sua versione stabilizzata, il metodo BiCGSTAB). Rinviamo il lettore interessato a[Com95], [QSS08, Cap. 4], [QV99, Cap. 3], [Saa96] e [vdV03].

Page 548: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Riferimenti bibliografici

[Ada75] Adams R. A. (1975) Sobolev Spaces. Academic Press, New York.[AFG+00] Almeida R. C., Feijóo R. A., Galeão A. C., Padra C., and Silva R. S. (2000) Adapti-

ve finite element computational fluid dynamics using an anisotropic error estimator.Comput. Methods Appl. Mech. Engrg. 182: 379–400.

[Ago03] Agoshkov V. (2003) Optimal Control Methods and Adjoint Equations in Mathema-tical Physics Problems. Institute of Numerical Mathematics, Russian Academy ofScience, Moscow.

[Aki94] Akin J. E. (1994) Finite Elements for Analysis and Design. Academic Press,London.

[AO00] Ainsworth M. and Oden J. T. (2000) A posteriori error estimation in finite elementanalysis. Pure and Applied Mathematics. John Wiley and Sons, New York.

[Ape99] Apel T. (1999) Anisotropic Finite Elements: Local Estimates and Applications.Book Series: Advances in Numerical Mathematics. Teubner, Stuttgart.

[AS55] Allen D. N. G. and Southwell R. V. (1955) Relaxation methods applied to determinethe motion, in two dimensions, of a viscous fluid past a fixed cylinder. Quart. J.Mech. Appl. Math. 8: 129–145.

[AS99] Adalsteinsson D. and Sethian J. A. (1999) The fast construction of extensionvelocities in level set methods. J. Comput. Phys. 148(1): 2–22.

[ATF87] Alekseev V., Tikhominov V., and Fomin S. (1987) Optimal Control. ConsultantsBureau, New York.

[Aub67] Aubin J. P. (1967) Behavior of the error of the approximate solutions of bounda-ry value problems for linear elliptic operators by Galerkin’s and finite differencemethods. Ann. Scuola Norm. Sup. Pisa 21: 599–637.

[AWB71] Aziz A., Wingate J., and Balas M. (1971) Control Theory of Systems Governed byPartial Differential Equations. Academic Press.

[AZT] www.cs.sandia.gov/CRF/aztec1.html.[Bab71] Babuška I. (1971) Error bounds for the finite element method. Numer. Math. 16:

322–333.[BDR92] Babuška I., Durán R., and Rodríguez R. (1992) Analysis of the efficiency of an a

posteriori error estimator for linear triangular finite elements. SIAM J. Numer. Anal.29(4): 947–964.

[BE92] Bern M. and Eppstein D. (1992) Mesh generation and optimal triangulation. InDu D.-Z. and Hwang F. (eds) Computing in Euclidean Geometry. World Scientific,Singapore.

Page 549: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

544 Riferimenti bibliografici

[Bec01] Becker R. (2001) Mesh adaptation for stationary flow control. J. Math. Fluid Mech.3: 317–341.

[BF91] Brezzi F. and Fortin M. (1991) Mixed and Hybrid Finite Element Methods.Springer-Verlag, New York.

[BFHR97] Brezzi F., Franca L. P., Hughes T. J. R., and Russo A. (1997) b =∫g. Comput.

Methods Appl. Mech. Engrg. 145: 329–339.[BG87] Brezzi F. and Gilardi G. (1987) Functional Analysis and Functional Spaces.

McGraw Hill, New York.[BG98] Bernardi C. and Girault V. (1998) A local regularisation operator for triangular and

quadrilateral finite elements. SIAM J. Numer. Anal. 35(5): 1893–1916.[BGL05] Benzi M., Golub G. H., and Liesen J. (2005) Numerical solution of saddle-point

problems. Acta Numer. 14: 1–137.[BGS96] Bjòrstad P., Gropp P., and Smith B. (1996) Domain Decomposition, Parallel Mul-

tilevel Methods for Elliptic Partial Differential Equations. Univ. Cambridge Press,Cambridge.

[BIL06] Berselli L. C., Iliescu T., and Layton W. J. (2006) Mathematics of Large EddySimulation of Turbulent Flows. Springer, Berlin Heidelberg.

[BKR00] Becker R., Kapp H., and Rannacher R. (2000) Adaptive finite element methods foroptimal control of partial differential equations: Basic concepts. SIAM, J. ControlOpt. 39(1): 113–132.

[Bla02] Blanckaert K. (2002) Flow and turbulence in sharp open-channel bends. PhDthesis, École Polytechnique Fédérale de Lausanne.

[BM92] Bernardi C. and Maday Y. (1992) Approximations Spectrales de Problèmes auxLimites Elliptiques. Springer-Verlag, Berlin Heidelberg.

[BMMP06] Bottasso C. L., Maisano G., Micheletti S., and Perotto S. (2006) On some newrecovery based a posteriori error estimators. Comput. Methods Appl. Mech. Engrg.195(37–40): 4794–4815.

[BMS04] Brezzi F., Marini L. D., and Süli E. (2004) Discontinuos Galerkin methods for first-order hyperbolic problems. Math. Models Methods Appl. Sci. 14: 1893–1903.

[Bre74] Brezzi F. (1974) On the existence, uniqueness and approximation of saddle-pointproblems arising from Lagrange multipliers. R.A.I.R.O. Anal. Numér. 8: 129–151.

[Bre86] Brezis H. (1986) Analisi Funzionale. Liguori, Napoli.[Bre00] Bressan A. (2000) Hyperbolic Systems of Conservation Laws: The One-

dimensional Cauchy Problem. Oxford Lecture Series in Mathematics and itsApplications. The Clarendon Press Oxford University Press, New York.

[BS94] Brenner S. C. and Scott L. R. (1994) The Mathematical Theory of Finite ElementMethods. Springer-Verlag, New York.

[Cab03] Caboussat A. (2003) Analysis and numerical simulation of free surface flows. PhDthesis, École Polytechnique Fédérale de Lausanne.

[CHQZ06] Canuto C., Hussaini M., Quarteroni A., and Zang T. A. (2006) Spectral Methods.Fundamentals in Single Domains. Springer-Verlag, Berlin Heidelberg.

[CHQZ07] Canuto C., Hussaini M. Y., Quarteroni A., and Zang T. A. (2007) Spectral Methods.Evolution to Complex Geometries and Application to Fluid Dynamics. Springer-Verlag, Berlin Heidelberg.

[Cia78] Ciarlet P. G. (1978) The Finite Element Method for Elliptic Problems.North-Holland, Amsterdam.

[CJRT01] Cohen G., Joly P., Roberts J. E., and Tordjman N. (2001) Higher order triangularfinite elements with mass lumping for the wave equation. SIAM J. Numer. Anal.38(6): 2047–2078 (electronic).

Page 550: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Riferimenti bibliografici 545

[Clé75] Clément P. (1975) Approximation by finite element functions using localregularization. RAIRO, Anal. Numér 2 pages 77–84.

[Coc98] Cockburn B. (1998) An introduction to the discontinuous Galerkin method forconvection-dominatedproblems. In Quarteroni A. (ed) Advanced Numerical Appro-ximation of Nonlinesr Hyperbolic Equations, volume 1697 of LNM, pages 151–268.Springer-Verlag, Berlin Heidelberg.

[Col76] Colombo S. (1976) Les Équations aux Dérivées Partielles en Physique et enMécanique des Milieux Continus. Masson, Paris.

[Com95] Comincioli V. (1995) Analisi Numerica. Metodi Modelli Applicazioni. McGraw-Hill, Milano.

[CP00] Cremonesi P. and Psaila G. (2000) Introduzione ragionata al C/C++. ProgettoLeonardo, Esculapio, Bologna.

[CZ87] C.Zienkiewicz O. and Zhu J. Z. (1987) A simple error estimator and adaptiveprocedure for practical engineering analysis. Int. J. Numer. Meth. Engng. 24:337–357.

[Ded04] Dedé L. (2004) Controllo Ottimale e Adattività per Equazioni alle Derivate Parzialie Applicazioni. Tesi di Laurea, Politecnico di Milano.

[DT80] Dervieux A. and Thomasset F. (1980) Approximation Methods for Navier–StokesProblems, volume 771 of Lecture Notes in Mathematics, chapter A finite elementmethod for the simulation of Rayleigh-Taylor instability, pages 145–158. Springer-Verlag, Berlin.

[Dub91] Dubiner M. (1991) Spectral methods on triangles and other domains. J. Sci.Comput. 6: 345–390.

[DV02] Darmofal D. L. and Venditti D. A. (2002) Grid adaptation for functional outputs:application to two-dimensional inviscid flows. J. Comput. Phys. 176: 40–69.

[DV08] DiPietro D. A. and Veneziani A. (2008) Expression templates implementation ofcontinuous and discontinuous Galerkin methods. Computing and Visualization inScience 12.

[EFC03] E. Fernández-Cara E. Z. (2003) Control theory: History, mathematical achieve-ments and perspectives. Bol. Soc. Esp. Mat. Apl. 26: 79–140.

[EG04] Ern A. and Guermond J. L. (2004) Theory and Practice of Finite Elements, volume159 of Applied Mathematics Sciences. Springer-Verlag, New York.

[EJ88] Eriksson E. and Johnson C. (1988) An adaptive method for linear elliptic problems.Math. Comp. 50: 361–383.

[FMP04] Formaggia L., Micheletti S., and Perotto S. (2004) Anisotropic mesh adaptation incomputational fluid dynamics: application to the advection-diffusion-reaction andthe stokes problems. Appl. Numer. Math. 51(4): 511–533.

[FP01] Formaggia L. and Perotto S. (2001) New anisotropic a priori error estimates. Numer.Math. 89: 641–667.

[FP02] Ferziger J. H. and Peric M. (2002) Computational Methods for Fluid Dynamics.Springer, Berlino, III edition.

[FSV05] Formaggia L., Saleri F., and Veneziani A. (2005) Applicazioni ed esercizi dimodellistica numerica per problemi differenziali. Springer Italia, Milano.

[Fun92] Funaro D. (1992) Polynomial Approximation of Differential Equations. Springer-Verlag, Berlin Heidelberg.

[Fun97] Funaro D. (1997) Spectral Elements for Transport-Dominated Equations. Springer-Verlag, Berlin Heidelberg.

[Fur97] Furnish G. (May/June 1997) Disambiguated glommable expression templates.Compuers in Physics 11(3): 263–269.

Page 551: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

546 Riferimenti bibliografici

[GB98] George P. L. and Borouchaki H. (1998) Delaunay Triangulation and Meshing.Editions Hermes, Paris.

[Ger08] Gervasio P. (2008) Convergence analysis of high order algebraic fractional stepschemes for timedependent stokes equations. SINUM .

[GR96] Godlewski E. and Raviart P. A. (1996) Hyperbolic Systems of Conservations Laws,volume 118. Springer-Verlag, New York.

[Gri76] Grisvard P. (1976) Behaviour of the solutions of an elliptic boundary value problemin a polygonal or polyhedral domain. Numerical Solution of Partial DifferentialEquations, III. Academic Press, New York.

[GRS07] Grossmann C., Ross H., and Stynes M. (2007) Numerical treatment of PartialDifferential Equations. Springer, Heidelberg, Heidelberg.

[GSV06] Gervasio P., Saleri F., and Veneziani A. (2006) Algebraic fractional-step schemeswith spectral methods for the incompressible Navier-Stokes equations. J. Comput.Phys. 214(1): 347–365.

[Gun03] Gunzburger M. (2003) Perspectives in Flow Control and Optimization. Advancesin Design and Control. SIAM, Philadelphia.

[HB76] Hnat J. and Buckmaster J. (1976) Spherical cap bubbles and skirt formation. Phys.Fluids 19: 162–194.

[Hir88] Hirsh C. (1988) Numerical Computation of Internal and External Flows, volume 1.John Wiley and Sons, Chichester.

[HN81] Hirt C. W. and Nichols B. D. (1981) Volume of fluid (VOF) method for thedynamics of free boundaries. J. Comp. Phys. 39: 201–225.

[HRT96] Heywood J. G., Rannacher R., and Turek S. (1996) Artificial boundaries and fluxand pressure conditions for the incompressible Navier-Stokes equations. Internat.J. Numer. Methods Fluids 22(5): 325–352.

[Hug00] Hughes T. J. R. (2000) The Finite Element Method. Linear Static and DynamicFinite Element Analysis. Dover Publishers, New York.

[HVZ97] Hamacher V. C., Vranesic Z. G., and Zaky S. G. (1997) Introduzione all’architetturadei calcolatori. Mc Graw Hill Italia, Milano.

[HW65] Harlow F. H. and Welch J. E. (1965) Numerical calculation of time-dependentviscous incompressible flow of fluid with free surface. Physics of Fluids 8(12):2182–2189.

[Jam88] Jamenson A. (1988) Optimum aerodynamic design using cfd and control theory.AIAA Paper 95-1729-CP pages 233–260.

[JI99] J.A. Infante E. Z. (1999) Boundary observability for the space semi–discretizationsof the 1–d wave equation. M2AN Math. Model. Numer. Anal. 33(2): 407–438.

[Joe05] Joerg M. (2005) Numerical investigations of wall boundary conditions for two-fluidflows. Master’s thesis, École Polytechnique Fédérale de Lausanne.

[Joh82] John F. (1982) Partial Differential Equations. Springer-Verlag, New York, IVedition.

[Joh87] Johnson C. (1987) Numerical Solution of Partial Differential Equations by theFinite Element Method. Cambridge University Press, Cambridge.

[JS91] J. Sokolowski J. Z. (1991) Introduction to Shape Optimization (Shape SensitivityAnalysis). Springer-Verlag, New York.

[KA00] Knabner P. and Angermann L. (2000) Numerical Methods for Elliptic and ParabolicPartial Differential Equations, volume 44 of TAM. Springer-Verlag, New York.

[KF89] Kolmogorov A. and Fomin S. (1989) Elements of the Theory of Functions andFunctional Analysis. V.M. Tikhominov, Nauka - Moscow.

Page 552: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Riferimenti bibliografici 547

[KMI+83] Kajitani H., Miyata H., Ikehata M., Tanaka H., Adachi H., Namimatzu M., andOgiwara S. (1983) Summary of the cooperative experiment on Wigley parabolicmodel in Japan. In Proc. of the 2nd DTNSRDC Workshop on Ship Wave ResistanceComputations (Bethesda, USA), pages 5–35.

[KPTZ00] Kawohl B., Pironneau O., Tartar L., and Zolesio J. (2000) Optimal Shape Design.Springer Verlag, Berlin.

[Kro97] Kroener D. (1997) Numerical Schemes for Conservation Laws. Wiley-Teubner,Chichester.

[KS05] Karniadakis G. E. and Sherwin S. J. (2005) Spectral/hp Element Methods forComputational Fluid Dynamics. Oxford University Press, New York, II edition.

[LD05] L. Dedè A. Q. (2005) Optimal control and numerical adaptivity for advection–diffusion equations. M2AN Math. Model. Numer. Anal. 39(5): 1019–1040.

[LeV02a] LeVeque R. J. (2002) Finite Volume Methods for Hyperbolic Problems. CambridgeTexts in Applied Mathematics.

[LeV02b] LeVeque R. J. (2002) Numerical Methods for Conservation Laws. BirkhäuserVerlag, Basel, II edition.

[LeV07] LeVeque R. J. (2007) Finite Difference Methods for Ordinary and PartialDifferential Equations: Steady-State and Time-Dependent Problems. SIAM,Philadelphia.

[Lio71] Lions J. (1971) Optimal Control of Systems Governed by Partial DifferentialEquations. Springer-Verlag, New York.

[Lio72] Lions J. (1972) Some Aspects of the Optimal Control of Distribuited ParameterSystems. SIAM, Philadelphia.

[Lio96] Lions P.-L. (1996) Mathematical topics in fluid mechanics. Vol. 1, volume 3 ofOxford Lecture Series in Mathematics and its Applications. The Clarendon PressOxford University Press, New York. Incompressible models, Oxford SciencePublications.

[LL59] Landau L. D. and Lifshitz E. M. (1959) Fluid mechanics. Translated from theRussian by J. B. Sykes and W. H. Reid. Course of Theoretical Physics, Vol. 6.Pergamon Press, London.

[LL00] Lippman S. B. and Lajoie J. (2000) C++ Corso di Programmazione. AddisonWesley Longman Italia, Milano, III edition.

[LM68] Lions J. L. and Magenes E. (1968) Quelques Méthodes des Résolution desProblémes aux Limites non Linéaires. Dunod, Paris.

[LR98] Lin S. P. and Reitz R. D. (1998) Drop and spray formation from a liquid jet. Annu.Rev. Fluid Mech. 30: 85–105.

[LW94] Li X. D. and Wiberg N. E. (1994) A posteriori error estimate by element patch post-processing, adaptive analysis in energy and L2 norms. Comp. Struct. 53: 907–919.

[Mar95] Marchuk G. I. (1995) Adjoint Equations and Analysis of Complex Systems. KluwerAcademic Publishers, Dordrecht.

[Max76] Maxworthy T. (1976) Experiments on collisions between solitary waves. Journalof Fluid Mechanics 76: 177–185.

[MOS92] Mulder W., Osher S., and Sethian J. (1992) Computing interface motion incompressible gas dynamics. Journal of Computational Physics 100(2): 209–228.

[MP94] Mohammadi B. and Pironneau O. (1994) Analysis of the K-Epsilon TurbulenceModel. John Wiley & Sons.

[MP97] Muzaferija S. and Peric M. (1997) Computation of free-surface flows using finitevolume method and moving grids. Numer. Heat Trans., Part B 32: 369–384.

[MP01] Mohammadi B. and Pironneau O. (2001) Applied Shape Optimization for Fluids.Clarendon Press, Oxford.

Page 553: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

548 Riferimenti bibliografici

[MQ89] Marini L. and Quarteroni A. (1989) A relaxation procedure for domaindecomposition methods using finite elements. Numer. Math. 55: 575–598.

[Nit68] Nitsche J. A. (1968) Ein kriterium für die quasi-optimalitat des RitzchenVerfahrens. Numer. Math. 11: 346–348.

[NZ04] Naga A. and Zhang Z. (2004) A posteriori error estimates based on the polynomialpreserving recovery. SIAM J. Numer. Anal. 42: 1780–1800.

[OS88] Osher S. and Sethian J. A. (1988) Fronts propagating with curvature-dependentspeed: algorithms based on Hamilton-Jacobi formulations. J. Comput. Phys. 79(1):12–49.

[Pat80] Patankar S. V. (1980) Numerical Heat Transfer and Fluid Flow. Hemisphere,Washington.

[Per93] Perot J. B. (1993) An analysis of the fractional step method. J. Comput. Phys.108(1): 51–58.

[Pet] www.mcs.anl.gov/petsc/.[Pir84] Pironneau O. (1984) Optimal Shape Design for Elliptic Systems. Springer-Verlag,

New York.[PQ05] Parolini N. and Quarteroni A. (2005) Mathematical models and numerical simu-

lations for the america’s cup. Comput. Methods Appl. Mech. Engrg. 194(9–11):1001–1026.

[PQ07] Parolini N. and Quarteroni A. (2007) Modelling and numerical simulation for ya-cht engineering. In Proceedings of the 26th Symposium on Naval Hydrodynamics.Strategic Analysis, Inc., Arlington, VA, USA,.

[Pro94] Prouse G. (1994) Equazioni Differenziali alle Derivate Parziali. Masson, Milano.[Pro97] Prohl A. (1997) Projection and Quasi-Compressibility Methods for Solving the In-

compressible Navier-Stokes Equations. Advances in Numerical Mathematics. B.G.Teubner, Stuttgart.

[Pru06] Prud’homme C. (2006) A domain specific embedded language in c++ for automa-tic differentiation, projection, integration and variational formulations. ScientificProgramming 14(2): 81–110.

[PS91] Pagani C. D. and Salsa S. (1991) Analisi Matematica, volume II. Masson, Milano.[PWY90] Pawlak T. P., Wheeler M. J., and Yunus S. M. (1990) Application of the

Zienkiewicz-Zhu error estimator for plate and shell analysis. Int. J. Numer. MethodsEng. 29: 1281–1298.

[QRDQ06] Quarteroni A., Rozza G., Dedé L., and Quaini A. (2006) Numerical approxima-tion of a control problem for advection–diffusion processes. System modeling andoptimization. IFIP Int. Fed. Inf. Process. 199: 261–273.

[QSS08] Quarteroni A., Sacco R., and Saleri F. (2008) Matematica Numerica. Springer-Verlag, Milano, III edition.

[QSV00] Quarteroni A., Saleri F., and Veneziani A. (2000) Factorization methods for the nu-merical approximation of Navier-Stokes equations. Comput. Methods Appl. Mech.Engrg. 188(1-3): 505–526.

[Qu02] Qu Z. (2002) Unsteady open-channel flow over a mobile bed. PhD thesis, ÉcolePolytechnique Fédérale de Lausanne.

[Qua93] Quartapelle L. (1993) Numerical Solution of the Incompressible Navier-StokesEquations. Birkhäuser Verlag, Basel.

[QV94] Quarteroni A. and Valli A. (1994) Numerical Approximation of Partial DifferentialEquations. Springer, Berlin Heidelberg.

[QV99] Quarteroni A. and Valli A. (1999) Domain Decomposition Methods for PartialDifferential Equations. Oxford Science Publications, Oxford.

Page 554: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Riferimenti bibliografici 549

[Ran99] Rannacher R. (1999) Error control in finite element computations. An introduc-tion to error estimation and mesh-size adaptation. In Error control and adapti-vity in scientific computing (Antalya, 1998), pages 247–278. Kluwer Acad. Publ.,Dordrecht.

[RC83] Rhie C. M. and Chow W. L. (1983) Numerical study of the turbulent flow past anairfoil with trailing edge separation. AIAA Journal 21(11): 1525–1532.

[Rod94] Rodríguez R. (1994) Some remarks on Zienkiewicz-Zhu estimator. Numer. MethodsPart. Diff. Eq. 10: 625–635.

[Roz02] Rozza G. (2002) Controllo Ottimale e Ottimizzazione di Forma in FluidodinamicaComputazionale. Tesi di Laurea, Politecnico di Milano.

[RR04] Renardy M. and Rogers R. C. (2004) An Introduction to Partial DifferentialEquations. Springer-Verlag, New York, II edition.

[RST96] Ross H. G., Stynes M., and Tobiska L. (1996) Numerical Methods for Singu-larly Perturbed Differential Equations. Convection-Diffusion and Flow Problems.Springer-Verlag, Berlin Heidelberg.

[Rud91] Rudin W. (1991) Analyse Rèelle et Complexe. Masson, Paris.[Saa96] Saad Y. (1996) Iterative Methods for Sparse Linear Systems. PWS Publishing

Company, Boston.[Sag06] Sagaut P. (2006) Large Eddy Simulation for Incompressible Flows: an Introduction.

Springer-Verlag, Berlin Heidelberg, III edition.[Sal08] Salsa S. (2008) Equazioni a Derivate Parziali. Metodi, Modelli e Applicazioni.

Springer-Verlag Italia, Milano.[SC01] S.S. Collis M. H. (2001) Analysis of the streamline upwind/petrov galerkin method

applied to the solution of optimal control problems. CAAM report TR02-01.[Sch69] Schwarz H. (1869) Über einige abbildungsdufgaben. J. Reine Agew. Math. 70:

105–120.[Sch98] Schwab C. (1998) p and hp- Finite Element Methods. Oxford Science Publication,

Oxford.[SF73] Strang G. and Fix G. J. (1973) An Analysis of the Finite Element Method. Wellesley-

Cambridge Press, Wellesley, MA.[She] Shewchuk J. R.www.cs.cmu.edu/ quake/triangle.html.[SK02] S. Kim J.J. Alonso A. J. (2002) Design optimization of hight-lift configurations

using a viscous continuos adjoint method. AIAA paper, 40th AIAA AerospaceSciences Meeting and Exibit, Jan 14-17 2002 0844.

[Smo01] Smolianski A. (2001) Numerical Modeling of Two-Fluid Interfacial Flows. PhDthesis, University of Jyväskylä.

[Spi99] Spivak M. (1999) A comprehensive introduction to differential geometry. Vol. II.

[Str71] Stroud A. H. (1971) Approximate calculation of multiple integrals. Prentice-Hall,Inc., Englewood Cliffs, N.J.

[Str89] Strickwerda J. C. (1989) Finite Difference Schemes and Partial DifferentialEquations. Wadworth & Brooks/Cole, Pacific Grove.

[Str00] Strostroup B. (2000) C++ Linguaggio, Libreria Standard, Principi di Programma-zione. Addison Welsey Longman Italia, Milano, III edition.

[SV05] Saleri F. and VenezianiA. (2005) Pressure correction algebraic splitting methods forthe incompressible Navier-Stokes equations. SIAM J. Numer. Anal. 43(1): 174–194.

[Tan93] Tanaka N. (1993) Global existence of two phase nonhomogeneous viscousincompressible fluid flow. Comm. Partial Differential Equations 18(1-2): 41–81.

Publish or Perish Inc., Houston, Tex., III edition.

Page 555: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

550 Riferimenti bibliografici

[TF88] Tsuchiya K. and Fan L.-S. (1988) Near-wake structure of a single gas bubblein a two-dimensional liquid-solid fluidized bed: vortex shedding and wake sizevariation. Chem. Engrg. Sci. 43(5): 1167–1181.

[TL58] Taylor A. and Lay D. (1958) Introduction to Functional Analysis. J.Wiley & Sons,New York.

[Tor99] Toro E. (1999) Riemann Solvers and Numerical Methods for Fluid Dynamics.Springer-Verlag, Berlin Heidelberg.

[Tri] software.sandia.gov/trilinos/.[TSW99] Thompson J. F., Soni B. K., and Weatherill N. P. (eds) (1999) Handook of Grid

Generation. CRC Press.[TW05] Toselli A. and Widlund O. (2005) Domain Decomposition Methods - Algorithms

and Theory. Springer-Verlag, Berlin Heidelberg.[TWM85] Thompson J. F., Warsi Z. U. A., and Mastin C. W. (1985) Numerical Grid

Generation, Foundations and Applications. North Holland.[UMF] www.cise.ufl.edu/research/sparse/umfpack/.[Vas81] Vasiliev F. (1981) Methods for Solving the Extremum Problems. Nauka, Moscow.[vdV03] van der Vorst H. A. (2003) Iterative Krylov Methods for Large Linear Systems.

Cambridge University Press, Cambridge.[Vel95] Veldhuizen T. (1995) Expression templates. C++ Report Magazine 7(5): 26–31.

see also the web page http://osl.iu.edu/ tveldhui .[Ven98] Veneziani A. (1998) Mathematical and Numerical Modeling of Blood Flow

Problems. PhD thesis, Università degli Studi di Milano.[Ver96] Verführth R. (1996) A Review of a Posteriori Error Estimation and Adaptive Mesh

Refinement Techniques. Wiley-Teubner, New York.[VM96] Versteeg H. and Malalasekra W. (1996) An Introduction to Computational Fluid

Dynamics: the Finite Volume Method Approach. Prentice Hall.[Wes01] Wesseling P. (2001) Principles of Computational Fluid Dynamics. Springer-Verlag,

Berlin Heidelberg New York.[Wil98] Wilcox D. C. (1998) Turbulence Modeling in CFD. DCW Industries, La Cañada,

CA, II edition.[Win07] Winkelmann C. (2007) Interior penalty finite element approximation of Navier-

Stokes equations and application to free surface flows. PhD thesis, ÉcolePolytechnique Fédérale de Lausanne.

[Wya00] Wyatt D. C. (2000) Development and assessment of a nonlinear wave predictionmethodology for surface vessels. Journal of ship research 44: 96.

[Yos74] Yosida K. (1974) Functional Analysis. Springer-Verlag, Berlin Heidelberg.[Zie00] Zienkiewicz O. (2000) Achievements and some unsolved problems of the finite

element method. Int. J. Numer. Meth. Eng. 47: 9–28.[ZT00] Zienkiewicz O. C. and Taylor R. L. (2000) The Finite Element Method, Vol. 1, The

Basis. Butterworth-Heinemann, Oxford, V edition.[Zua03] Zuazua E. (2003) Propagation, observation, control and numerical approximation

of waves. Bol. Soc. Esp. Mat. Apl. 25: 55–126.[ZZ92] Zienkiewicz O. C. and Zhu J. Z. (1992) The superconvergent patch recovery and a

posteriori error estimates. I: The recovery technique. Int. J. Numer. Meth. Engng.33: 1331–1364.

Page 556: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Indice analitico

adattività– a posteriori, 74, 511– a priori, 71– di tipo h, 71– di tipo p, 44, 71– goal-oriented, 84, 176algoritmo– di discesa più ripida, 499– di Lawson, 414– di regolarizzazione laplaciana, 414– di scambio delle diagonali, 413– di Thomas, 536analisi– all’indietro, 235– di Von Neumann, 222, 243angolo di fase, 227, 244assemblaggio, 352– element-oriented, 366– node-oriented, 366

baricentrizzazione, vedi algoritmo diregolarizzazione laplaciana

base modale, 135– boundary adapted, 135, 137

caratteristiche, vedi linee caratteristicheCFL, vedi numero di CFLcoefficiente– di amplificazione, 223, 243– di dispersione, 243– di dissipazione, 227complemento di Schur, 445, 454condizione– CFL, 218–220, 285

– di ammissibilità di Lax, 296– di entropia, 281– di incomprimibilità, 300– di interfaccia cinematica, 341– di interfaccia dinamica, 341– di Rankine-Hugoniot, 280– inf-sup, 309, 320condizioni al bordo– di Dirichlet, 303– di Neumann, 303, 331– di non-scorrimento, 339– di Robin, 20– di scorrimento libero, 340– essenziali, 26– naturali, 26– trattamento debole, 426consistenza, 4, 217– forte, 4, 38, 163, 165, 167controllabilità, 504controllo, 500– di frontiera, 481, 490– distribuito, 480, 484, 488, 489– ottimale, 477, 479, 482convergenza, 4, 38, 40, 190, 217– velocità di, 5coordinate– baricentriche, 358, 422costo computazionale, 5curve caratteristiche, vedi linee caratteristiche

delta di Dirac, 13, 522derivata– conormale, 28, 29

Page 557: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

552 Indice analitico

– di Fréchet, 482, 520– di Gâteaux, 497, 498, 520– di interpolazione, 114, 115, 129, 267, 269– lagrangiana, 338– materiale, 329– nel senso delle distribuzioni, 524– normale, 12differenze finite, 114, 148, 212diffusione– artificiale, 153, 162– numerica, vedi diffusione artificialedisequazione variazionale, 482dispersione, 226, 234dissipazione, 226, 234distribuzioni, 521disuguaglianza– di Cauchy-Schwarz, 16, 22, 123– di Hölder, 302– di Korn, 34– di Poincaré, 140, 528– di Young, 168– inversa, 57, 112, 156, 166, 195dominio di dipendenza, 210– numerico, 218Donald– diagramma di, 422

elementi finiti, 463– compatibili, 320– di Crouzeix-Raviart, 321– discontinui, 256, 262, 286– gerarchici, 44– implementazione, 351– isoparametrici, 374– lagrangiani, 41, 46– lineari, 41, 47– mini-element, 321– P1-isoP2, 321– quadratici, 43– stabilizzati, 158elemento– di riferimento, 46– finito

– diametro, 52, 400– sfericità, 53, 401

entropia, 282– flusso di, 282equazione– aggiunta, 486, 498, 500

– del calore, 2, 3, 5, 184– del potenziale, 2, 5– del trasporto, 1, 3– delle onde, 2, 5, 9, 211– di Burgers, 2, 279–281, 290– di diffusione-trasporto, 5, 330, 507– di Eulero, 482– di Korteveg-de-Vries, 9– di osservazione, 485– di Plateau, 9– di Poisson, 11– di stato, 294, 478, 484, 500– di trasporto e reazione, 225– di viscosità, 283– discriminante di una, 5– ellittica, 5– iperbolica, 5

– non lineare, 284– level set, 343– omogenea, 1– parabolica, 5– quasi-lineare, 1– semi-lineare, 1equazioni– di compatibilità, 275– di Eulero, 293, 297, 304

– in forma conservativa, 295– di Eulero–Lagrange, 506– di Navier-Stokes, 299, 427

– forma ridotta, 305– formulazione debole, 304– per fluidi comprimibili, 293– variabili primitive, 301

– di Stokes, 306– equivalenti, 228errore– di amplificazione, 227, 229, 248– di approssimazione, 39

– stima a posteriori, 75, 78, 82, 84– stima a priori, 51, 66, 67, 119, 170, 192,

196, 263, 316– di discretizzazione, 510– di dispersione, 228, 229, 248– di interpolazione

– stima, 49, 63, 64, 106– di iterazione, 510– di troncamento, 163, 217– stima a posteriori, 510– stima a priori, 51, 67

Page 558: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Indice analitico 553

fattorizzazione– di Cholesky, 187, 535– LU, 534

– tridiagonale, 536flusso– a superficie libera, 337– numerico, 213, 215, 216, 284, 424, 426

– di Engquist-Osher, 287– di Gudonov, 286– di Lax-Friedrichs, 287– monotono, 286

– turbolento, 304– viscoso, 295flux limiters, 291forma, 518– bilineare, 518

– autofunzione, 193, 194– autovalore, 193

– coerciva, 519– continua, 518– debolmente coerciva, 184– definita positiva, 519– positiva, 519– quadratica, 8

– definita, 8– degenere, 8– indefinita, 8

– quasi-lineare, 295– simmetrica, 518formula– di Green, 22, 34, 301formula di quadratura, 360– del punto medio composita, 361– del trapezio composita, 361formulazione– debole, 14– forte, 11formule– di Armijo, 503funzionale, 517– norma, 517– costo, 479, 497– limitato, 517– lineare, 517funzionale costo, 485funzionale Lagrangiano, 497funzione– a bolla, 44, 161, 173– a supporto compatto, 521

– caratteristica, 523, 526– di base, 42, 44– di Bernoulli, 154– di controllo, 478– di Heaviside, 525– di osservazione, 478, 481– di spaziatura, 73, 397, 410– distanza, 345– level set, 343

gradi di libertà, 42, 44– elemento finito, 46grado di esattezza, 107, 358griglia, vedi anche triangolazione– anisotropa, 53, 66– coarse, 455, 469– deraffinamento, 73– di Bakhvâlov, 146– di Shishkin, 146– non strutturata, 405– raffinamento, 73– strutturata, 401, 402

identità di Lagrange, 87identità di Parseval, 102insieme unisolvente, 46integrale– generale, 3– particolare, 3integrazione gaussiana– di Gauss-Legendre, 104

– esattezza, 105– di Gauss-Legendre-Lobatto, 105, 116interpolante, 49, 59interpolazione transfinita, 98invarianti di Riemann, 211

Lagrangiana, 495– stabilizzata, 509legge di conservazione, 279, 295, 417– dell’entropia, 283lemma– di Bramble-Hilbert, 62– di Céa, 38, 142– di Deny-Lions, 63– di Gronwall, 189, 192, 209, 251– di Lax-Milgram, 30, 34, 35, 38– di regolarità ellittica, 67– di Strang, 118, 122, 159, 323

Page 559: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

554 Indice analitico

linee caratteristiche, 7, 205, 206, 210– dell’equazione di Burgers, 279

mass-lumping, 150, 179, 186, 243matrice– della derivata d’interpolazione, 115– di iterazione, 537– di massa, 186– di precondizionamento, 59, 536– di riflessione, 276– di rigidezza, 36, 55, 186

– condizionamento, 57– di stiffness, vedi matrice di rigidezza– grafo di, 361– parte antisimmetrica, 164– parte simmetrica, 164– pattern di sparsità, 361– simmetrica definita positiva, 539matrici– sparse, formato MSR, 362metodo– a passi frazionari, 329– a tracciamento del fronte, 337– agli elementi spettrali, 98– BDF, 384– BiCGSTAB, 541– consistente, 4, 163, 217– convergente, 4, 217– dei volumi finiti, 417

– cell-centered, 419– griglie-staggered, 419, 427– nodi fantasma, 426– stima a priori, 426– vertex-centered, 419

– del fitting esponenziale, vedi metodo diScharfetter e Gummel

– del gradiente, 502, 539, 540– coniugato, 503, 540

– delle caratteristiche, 206, 329– di cattura del fronte, 337– di Chorin-Temam, 332, 335– di collocazione, 112– di Crank-Nicolson, 186– di decomposizione dei domini, 371, 428,

431– di Dirichlet-Neumann, 434, 448, 450, 473– di Douglas-Wang (DW), 165, 166– di Eulero

– all’indietro, 186, 240, 254, 260, 328

– all’indietro/centrato, 215– esplicito, vedi metodo di Eulero in avanti– implicito, vedi metodo di Eulero

all’indietro– in avanti, 186, 239, 244, 255, 327– in avanti/centrato, 214– in avanti/decentrato, vedi metodo

upwind– di fattorizzazione algebrica, 333– di Galerkin, 35, 37, 142, 144, 308

– convergenza, 40– generalizzato, 109, 118, 158– Least Squares (GLS), 165–167, 322,

509– spettrale, 97, 108

– di Lax-Friedrichs, 214, 220, 235– (FEM), 244

– di Lax-Wendroff, 214, 216, 221, 235– (FEM), 244

– di Neumann-Dirichlet, 450– di Neumann-Neumann, 436, 442, 450– di Newmark, 215– di Newton, 502– di Petrov-Galerkin, 158, 161– di proiezione, 331, 332

– ortogonale, 39– di Richardson, 440, 448, 537– di rilassamento, 436– di Robin-Robin, 437, 442, 450– di Runge-Kutta

– del 2o ordine, 288– del 3o ordine, 288

– di Scharfetter e Gummel, 154– di Schwarz, 432, 463, 469, 474

– additivo, 433, 464– moltiplicativo, 433, 465

– di Taylor-Galerkin, 246– di Yosida, 335– Discontinuous Galerkin (DG), 256

– -SEM-NI, 269– stabilizzazione di salto, 264

– G-NI, 108, 112, 118, 127, 157, 199, 265– Leap-Frog, 215– level set, 342, 428– MEG, 533– MES, 98, 100– MES-NI, 131– numerico

– limitato, 285

Page 560: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Indice analitico 555

– monotono, 285– stabile, 285

– operator splitting, 330– di Yanenko, 330

– quasi–Newton, 502– semi-implicito, 328– Streamline Upwind Petrov-Galerkin

(SUPG), 165, 166, 322– streamline-diffusion, 161–163– upwind, 152, 163, 214, 216, 220, 264

– (FEM), 244– (FV), 425

– volume of fluid, 342, 428modelli di turbolenza, 304– RANS, 428modi spuri di pressione, vedi problema di

Stokes, soluzioni spuriemoltiplicatore di Lagrange, 496, 497

norma– A, 59– dell’energia, 39, 50, 59– discreta, 123numero– di CFL, 218, 228, 229, 244– di condizionamento, 57, 446, 448, 452,

457, 466, 471– di Péclet

– di griglia, vedi numero di Péclet locale– globale, 143– locale, 145, 153, 425

– di Reynolds, 304

operatore– aggiunto, 86, 87, 486– antisimmetrico, 163– autoaggiunto, 87, 163– bilaplaciano, 32– chiuso, 494– coniugato, 86– di estensione, 455– di interpolazione, 49, 60, 112

– di Clément, 76– di Laplace, 2– di Laplace-Beltrami, 490– di restrizione, 455– di Steklov-Poincaré, 438, 439, 447– di traccia, 529– lagrangiano, 307

– normale, 87– pseudo-spettrale, 114– simmetrico, 163osservabilità, 504osservazione al bordo, 491, 504osservazione distribuita, 491, 504ottimizzazione di forma, 504

parametro di regolarizzazione, 493partizione dell’unità, 151polinomi– di Jacobi, 135– di Legendre, 101, 104, 260precondizionatore, 59, 536– di Bramble-Pasciak-Schatz, 457– di Jacobi, 456– di Neumann-Neumann, 458, 459

– con bilanciamento, 460– di Schwarz additivo, 465– SIMPLE, 335principio– dei lavori virtuali, 18– di massimo discreto, 221problema– a superficie libera, 337– aggiunto, 67, 68, 85– ben posto, 493, 494– controllabile, 477– del calore, 202– del quart’ordine, 33, 202– dell’elasticità lineare, 33– densamente risolubile, 493– di collocazione, 114– di controllo, 477

– discreto, 505– non vincolato, 478– vincolato, 478

– di diffusione-reazione, 124, 147, 387– di diffusione-trasporto, 139, 176, 180– di diffusione-trasporto-reazione, 164, 180,

201, 423– di Dirichlet, 11, 21, 55, 488– di Galerkin, vedi metodo di Galerkin– di Neumann, 12, 19, 20, 489– di ottimizzazione, 478– di Poisson, 37, 54, 442– di progetto ottimale, 507– di Robin, 20– di Stokes, 473

Page 561: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

556 Indice analitico

– approssimazione di Galerkin, 308– elementi finiti stabili, 320– elementi finiti stabilizzati, 322– forma debole, 306– formulazione algebrica, 318– generalizzato, 306

– di trasporto, 205, 472– di trasporto-reazione, 207, 250– ellittico, 35– generalizzato agli autovalori, 193– inverso, 492– mal posto, 494– misto, 20– variazionale, 17, 22problemi– eterogenei, 431prodotto– scalare discreto, 108– tensoriale warped, 135programmazione– orientata agli oggetti, 355punto– critico vincolato, 495– regolare, 495punto-sella, 307

random walk, 139residuo, 537– locale, 78– precondizionato, 538ri-inizializzazione, 346ricostruzione– del gradiente, 72rilevamento del dato di bordo, 19, 25– elementi finiti, 56

schema, vedi metodosemi-discretizzazione, 185seminorma, 528serie di Legendre, 102simbolo principale, 8sistema iperbolico, 209, 212, 215soluzione– ai minimi quadrati, 492– classica, 280– debole, 206, 280– entropica, 280, 285

– dell’equazione di Burgers, 281

spazio– delle distribuzioni, 522– di Sobolev, 16– duale, 517splitting, 536stabilità, 4, 38, 217– assoluta, 193, 199– forte, 218, 220, 221, 223, 225, 226, 255stato aggiunto, 480, 486, 488stimatore dell’errore– di Zienkiewicz e Zhu, 83– recovery based, 83strato limite, 139, 144superficie libera, 337, 428supporto– compatto, 521– di una funzione, 55, 521

teorema– dell’immagine chiusa, 312– della divergenza, 21– di equivalenza, 5, 219– di estensione, 446– di Helmholtz-Weyl, 332– di Riesz, 30, 518– di traccia, 529– di Lax-Richtmyer, vedi teorema di

equivalenzatermine– di trasporto, 299– di diffusione, 299θ-metodo, 186, 192traccia, 529trasformazione di Gordon-Hall, 98triangolazione, 400– avanzamento del fronte, 410– conforme, 400– di Delaunay, 405, 421

– generalizzata, 409– median dual, 422– quasi uniforme, 57– regolare, 53, 401trucco di Aubin-Nitsche, 69, 82

variabili caratteristiche, 209velocità caratteristica, 284verga– sottile, 91– vibrante, 9

Page 562: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

Collana Unitext - La Matematica per il 3+2

a cura di

F. Brezzi (Editor-in-Chief)P. BiscariC. CilibertoA. QuarteroniG. RinaldiW.J. Runggaldier

Volumi pubblicati. A partire dal 2004, i volumi della serie sono contras- segnati da un numero di identificazione. I volumi indicati in grigio si riferiscono a edizioni non più in commercio

A. Bernasconi, B. CodenottiIntroduzione alla complessità computazionale1998, X+260 pp. ISBN 88-470-0020-3

A. Bernasconi, B. Codenotti, G. RestaMetodi matematici in complessità computazionale1999, X+364 pp, ISBN 88-470-0060-2

E. Salinelli, F. TomarelliModelli dinamici discreti2002, XII+354 pp, ISBN 88-470-0187-0

S. BoschAlgebra2003, VIII+380 pp, ISBN 88-470-0221-4

S. Graffi, M. Degli EspostiFisica matematica discreta2003, X+248 pp, ISBN 88-470-0212-5

S. Margarita, E. SalinelliMultiMath - Matematica Multimediale per l’Università2004, XX+270 pp, ISBN 88-470-0228-1

Page 563: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

A. Quarteroni, R. Sacco, F. Saleri Matematica numerica (2a Ed.) 2000, XIV+448 pp, ISBN 88-470-0077-7 2002, 2004 ristampa riveduta e corretta (1a edizione 1998, ISBN 88-470-0010-6)

13. A. Quarteroni, F. Saleri Introduzione al Calcolo Scientifico (2a Ed.) 2004, X+262 pp, ISBN 88-470-0256-7 (1a edizione 2002, ISBN 88-470-0149-8)

14. S. Salsa Equazioni a derivate parziali - Metodi, modelli e applicazioni 2004, XII+426 pp, ISBN 88-470-0259-1

15. G. Riccardi Calcolo differenziale ed integrale 2004, XII+314 pp, ISBN 88-470-0285-0

16. M. Impedovo Matematica generale con il calcolatore 2005, X+526 pp, ISBN 88-470-0258-3

17. L. Formaggia, F. Saleri, A. Veneziani Applicazioni ed esercizi di modellistica numerica per problemi differenziali 2005, VIII+396 pp, ISBN 88-470-0257-5

18. S. Salsa, G. Verzini Equazioni a derivate parziali - Complementi ed esercizi 2005, VIII+406 pp, ISBN 88-470-0260-5 2007, ristampa con modifiche

19. C. Canuto, A. Tabacco Analisi Matematica I (2a Ed.) 2005, XII+448 pp, ISBN 88-470-0337-7 (1a edizione, 2003, XII+376 pp, ISBN 88-470-0220-6)

20. F. Biagini, M. Campanino Elementi di Probabilità e Statistica 2006, XII+236 pp, ISBN 88-470-0330-X

Page 564: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

21. S. Leonesi, C. Toffalori Numeri e Crittografia 2006, VIII+178 pp, ISBN 88-470-0331-8

22. A. Quarteroni, F. Saleri Introduzione al Calcolo Scientifico (3a Ed.) 2006, X+306 pp, ISBN 88-470-0480-2

23. S. Leonesi, C. Toffalori Un invito all’Algebra 2006, XVII+432 pp, ISBN 88-470-0313-X

24. W.M. Baldoni, C. Ciliberto, G.M. Piacentini Cattaneo Aritmetica, Crittografia e Codici 2006, XVI+518 pp, ISBN 88-470-0455-1

25. A. Quarteroni Modellistica numerica per problemi differenziali (3a Ed.) 2006, XIV+452 pp, ISBN 88-470-0493-4 (1a edizione 2000, ISBN 88-470-0108-0) (2a edizione 2003, ISBN 88-470-0203-6)

26. M. Abate, F. Tovena Curve e superfici 2006, XIV+394 pp, ISBN 88-470-0535-3

27. L. Giuzzi Codici correttori 2006, XVI+402 pp, ISBN 88-470-0539-6

28. L. Robbiano Algebra lineare 2007, XVI+210 pp, ISBN 88-470-0446-2

29. E. Rosazza Gianin, C. Sgarra Esercizi di finanza matematica 2007, X+184 pp, ISBN 978-88-470-0610-2

30. A. Machì Gruppi - Una introduzione a idee e metodi della Teoria dei Gruppi 2007, XII+349 pp, ISBN 978-88-470-0622-5

Page 565: A Fulvia, Silvia e Marzia...ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne In copertina è riprodotta una simulazione

31. Y. Biollay, A. Chaabouni, J. Stubbe Matematica si parte! A cura di A. Quarteroni 2007, XII+196 pp, ISBN 978-88-470-0675-1

32. M. Manetti Topologia 2008, XII+298 pp, ISBN 978-88-470-0756-7

33. A. Pascucci Calcolo stocastico per la finanza 2008, XVI+518 pp, ISBN 978-88-470-0600-3

34. A. Quarteroni, R. Sacco, F. Saleri 2008, XVI+510 pp, ISBN 978-88-470-0782-6

35. P. Cannarsa, T. D’Aprile Introduzione alla teoria della misura e all’analisi funzionale 2008, XII+268 pp, ISBN 978-88-470-0701-7

2008, XIV+452 pp, ISBN 978-88-470-0871-7

38. S. Gabelli Teoria delle Equazioni e Teoria di Galois 2008, XVI+410 pp, ISBN 978-88-470-0618-8

39. A. Quarteroni Modellistica numerica per problemi differenziali (4a Ed.)

37. C. Canuto, A. Tabacco

Matematica numerica (3a Ed.)

36. A. Quarteroni, F. Saleri

Analisi Matematica I (3a Ed.)

2008, XVI+558 pp, ISBN 978-88-470-0841-0

2008, XIV+358 pp. ISBN 978-88-470-0837-3Calcolo scientifico (4a Ed.)