A Fulvia, Silvia e Marzia
A. Quarteroni
Modellistica numerica per problemi differenziali 3a edizione
13
ALFIO QUA...
181 downloads
1310 Views
7MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
A Fulvia, Silvia e Marzia
A. Quarteroni
Modellistica numerica per problemi differenziali 3a edizione
13
ALFIO QUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano e Ecole Polytechnique Fédérale de Lausanne
La figura in copertina rappresenta le isolinee del modulo della velocità di un fluido intorno ad una schiera di cilindri. La simulazione è stata ottenuta da Paola Gervasio mediante risoluzione con elementi spettrali.
ISBN 10 88-470-0493-4 Springer Milan Berlin Heidelberg New York ISBN 13 978-88-470-0493-1 Springer Milan Berlin Heidelberg New York Springer-Verlag fa parte di Springer Science+Business Media springer.com © Springer-Verlag Italia, Milano 2006
Quest’opera è protetta dalla legge sul diritto d’autore. Tutti i diritti, in particolare quelli relativi alla traduzione, alla ristampa, all’uso di figure e tabelle, alla citazione orale, alla trasmissione radiofonica o televisiva, alla riproduzione su microfilm o in database, alla diversa riproduzione in qualsiasi altra forma (stampa o elettronica) rimangono riservati anche nel caso di utilizzo parziale. Una riproduzione di quest’opera, oppure di parte di questa, è anche nel caso specifico solo ammessa nei limiti stabiliti dalla legge sul diritto d’autore, ed è soggetta all’autorizzazione dell’Editore. La violazione delle norme comporta sanzioni previste dalla legge. L’utilizzo di denominazioni generiche, nomi commerciali, marchi registrati, ecc., in quest’opera, anche in assenza di particolare indicazione, non consente di considerare tali denominazioni o marchi liberamente utilizzabili da chiunque ai sensi della legge sul marchio. Impianti forniti dall’autore Progetto grafico della copertina: Simona Colombo, Milano Stampa: Signum, Bollate (Mi) Stampato in Italia
Indice
Prefazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XI 1
Richiami sulle equazioni alle derivate parziali . . . . . . . . . . . . . . . . . . . . . . . 1.1 Definizioni ed esempi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Necessità della risoluzione numerica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Classificazione delle EDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Forma quadratica associata ad una EDP . . . . . . . . . . . . . . . . . . . 1.4 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 1 3 5 8 9
2
Equazioni di tipo ellittico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Un esempio di problema ellittico: l’equazione di Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Il problema di Poisson nel caso monodimensionale . . . . . . . . . . . . . . . . 2.2.1 Problema di Dirichlet omogeneo . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Problema di Dirichlet non omogeneo . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Problema di Neumann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.4 Problema misto omogeneo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.5 Condizioni al bordo miste (o di Robin) . . . . . . . . . . . . . . . . . . . . 2.3 Il problema di Poisson nel caso bidimensionale . . . . . . . . . . . . . . . . . . . . 2.3.1 Il problema di Dirichlet omogeneo . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Equivalenza, nel senso delle distribuzioni, tra la forma debole e la forma forte del problema di Dirichlet . . . . . . . . . . . . 2.3.3 Il problema con condizioni miste non omogenee . . . . . . . . . . . . 2.3.4 Equivalenza, nel senso delle distribuzioni, tra la forma debole e la forma forte per il problema di Neumann . . . . . . . . . 2.4 Problemi ellittici più generali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 Teorema di esistenza e unicità . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11 11 12 13 19 19 20 20 21 21 24 24 27 28 30 32
VI
Indice
3
Il metodo di Galerkin-elementi finiti per problemi ellittici . . . . . . . . . . . . 3.1 Approssimazione con il metodo di Galerkin . . . . . . . . . . . . . . . . . . . . . . 3.2 Analisi del metodo di Galerkin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Esistenza e unicità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Stabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Convergenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Il metodo degli elementi finiti nel caso monodimensionale . . . . . . . . . . 3.3.1 Una definizione di elemento finito nel caso Lagrangiano . . . . . 3.3.2 L’approssimazione con elementi finiti lineari . . . . . . . . . . . . . . . 3.3.3 Interpolazione e stima di interpolazione . . . . . . . . . . . . . . . . . . . 3.3.4 Stima dell’errore nella norma H 1 . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Il metodo degli elementi finiti nel caso multidimensionale . . . . . . . . . . . 3.4.1 Risoluzione del problema di Poisson con elementi finiti . . . . . . 3.4.2 Condizionamento della matrice di rigidezza . . . . . . . . . . . . . . . . 3.4.3 Stima dell’errore di approssimazione nella norma dell’energia . 3.4.4 Stima dell’errore di approssimazione in norma L 2 . . . . . . . . . . . 3.5 Il problema dell’adattività della griglia . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 Adattività a priori basata sulla ricostruzione delle derivate . . . . 3.5.2 Adattività a posteriori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.3 Stime a posteriori dell’errore nella norma L 2 . . . . . . . . . . . . . . . 3.5.4 Stime a posteriori di un funzionale dell’errore . . . . . . . . . . . . . . 3.6 Come ottenere il problema aggiunto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.1 Il caso lineare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.2 Il caso non lineare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
I metodi spettrali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 4.1 Il metodo di Galerkin spettrale per un problema ellittico . . . . . . . . . . . . 97 4.2 Polinomi ortogonali e integrazione numerica gaussiana . . . . . . . . . . . . . 101 4.2.1 Polinomi ortogonali di Legendre . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.2.2 Integrazione gaussiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 4.2.3 Le formule di Gauss-Legendre-Lobatto . . . . . . . . . . . . . . . . . . . . 105 4.3 Metodi G-NI in una dimensione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 4.3.1 Interpretazione algebrica del metodo G-NI . . . . . . . . . . . . . . . . . 109 4.3.2 Condizionamento della matrice di rigidezza del metodo G-NI . 111 4.3.3 Equivalenza tra il metodo G-NI e un metodo di collocazione . . 112 4.4 Generalizzazione al caso bidimensionale . . . . . . . . . . . . . . . . . . . . . . . . . 116 4.4.1 Convergenza del metodo G-NI . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.5 Metodo G-NI e MES-NI per un problema modello monodimensionale 126 4.5.1 Il metodo G-NI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 4.5.2 Il metodo MES-NI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 4.6 Metodi spettrali su triangoli e tetraedri . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 4.7 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
37 37 39 39 40 40 43 47 48 50 52 53 56 58 61 68 71 73 75 80 84 86 87 88 91
Indice
VII
5
Equazioni di diffusione-trasporto-reazione . . . . . . . . . . . . . . . . . . . . . . . . . . 141 5.1 Formulazione debole del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 5.2 Analisi di un problema di diffusione-trasporto monodimensionale . . . . 144 5.3 Analisi di un problema di diffusione-reazione monodimensionale . . . . 148 5.4 Relazioni tra elementi finiti e differenze finite . . . . . . . . . . . . . . . . . . . . . 150 5.5 La tecnica del mass-lumping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 5.6 Schemi decentrati e diffusione artificiale . . . . . . . . . . . . . . . . . . . . . . . . . 154 5.7 Autovalori del problema di diffusione-trasporto . . . . . . . . . . . . . . . . . . . 157 5.8 Metodi di stabilizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 5.8.1 Diffusione artificiale e schemi decentrati agli elementi finiti . . . 160 5.8.2 Il metodo di Petrov-Galerkin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 5.8.3 Il metodo della diffusione artificiale e della streamline diffusion nel caso bidimensionale . . . . . . . . . . . . . . . . . . . . . . . . . 163 5.8.4 Consistenza ed errore di troncamento per i metodi di Galerkin e di Galerkin generalizzato . . . . . . . . . . . . . . . . . . . . . . 165 5.8.5 Parte simmetrica e antisimmetrica di un operatore . . . . . . . . . . . 165 5.8.6 Metodi fortemente consistenti (GLS, SUPG, DW) . . . . . . . . . . . 167 5.8.7 Analisi del metodo GLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 5.8.8 Stabilizzazione tramite funzioni a bolla . . . . . . . . . . . . . . . . . . . . 175 5.9 Alcuni test numerici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 5.10 Un esempio di adattività goal-oriented . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 5.11 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
6
Equazioni paraboliche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 6.1 Formulazione debole e sua approssimazione . . . . . . . . . . . . . . . . . . . . . . 186 6.2 Stime a priori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 6.3 Analisi di convergenza del problema semi-discreto . . . . . . . . . . . . . . . . . 192 6.4 Analisi di stabilità del θ-metodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 6.5 Analisi di convergenza del θ-metodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 6.6 Il caso dell’approssimazione spettrale G-NI . . . . . . . . . . . . . . . . . . . . . . . 201 6.7 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
7
Differenze finite per equazioni iperboliche . . . . . . . . . . . . . . . . . . . . . . . . . . 207 7.1 Un problema di trasporto scalare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 7.1.1 Una stima a priori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 7.2 Sistemi di equazioni iperboliche lineari . . . . . . . . . . . . . . . . . . . . . . . . . . 211 7.2.1 L’equazione delle onde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 7.3 Il metodo delle differenze finite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 7.3.1 Discretizzazione dell’equazione scalare . . . . . . . . . . . . . . . . . . . . 216 7.3.2 Discretizzazione di sistemi iperbolici lineari . . . . . . . . . . . . . . . 217 7.3.3 Trattamento del bordo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 7.4 Analisi dei metodi alle differenze finite . . . . . . . . . . . . . . . . . . . . . . . . . . 219 7.4.1 Consistenza e convergenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 7.4.2 Stabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 7.4.3 Analisi di Von Neumann e coefficienti di amplificazione . . . . . 224
VIII
Indice
7.4.4 Dissipazione e dispersione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 7.5 Equazioni equivalenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 7.5.1 Il caso dello schema upwind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 7.5.2 Il caso dei metodi di Lax-Friedrichs e Lax-Wendroff . . . . . . . . . 236 7.5.3 Sul significato dei coefficienti nelle equazioni equivalenti . . . . 236 7.5.4 Equazioni equivalenti e analisi dell’errore . . . . . . . . . . . . . . . . . . 237 7.6 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 8
Elementi finiti e metodi spettrali per equazioni iperboliche . . . . . . . . . . . . 241 8.1 Discretizzazione temporale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 8.1.1 Gli schemi di Eulero in avanti e all’indietro . . . . . . . . . . . . . . . . 241 8.1.2 Gli schemi upwind, di Lax-Friedrichs e Lax-Wendroff . . . . . . . 243 8.2 Gli schemi Taylor-Galerkin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 8.3 Il caso multidimensionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 8.3.1 Condizioni al bordo e condizioni di compatibilità . . . . . . . . . . . 254 8.3.2 Discretizzazione temporale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 8.4 Elementi finiti discontinui . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 8.4.1 Il caso unidimensionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 8.4.2 Il caso multidimensionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 8.5 Elementi finiti spazio-temporali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 8.6 Approssimazione con metodi spettrali . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 8.6.1 Il metodo G-NI in un singolo intervallo . . . . . . . . . . . . . . . . . . . . 268 8.6.2 Il metodo DG-SEM-NI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 8.7 Trattamento numerico delle condizioni al bordo per sistemi iperbolici . 274 8.7.1 Trattamento debole delle condizioni al bordo . . . . . . . . . . . . . . . 278 8.8 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
9
Cenni a problemi iperbolici non lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 9.1 Equazioni scalari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 9.2 Approssimazione alle differenze finite . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 9.3 Approssimazione con elementi finiti discontinui . . . . . . . . . . . . . . . . . . . 288 9.4 Sistemi iperbolici non-lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
10 Le equazioni di Navier-Stokes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 10.1 Formulazione debole delle equazioni di Navier-Stokes . . . . . . . . . . . . . 303 10.2 Le equazioni di Stokes e la loro approssimazione . . . . . . . . . . . . . . . . . . 308 10.3 Problemi di punto-sella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 10.3.1 Formulazione del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 10.3.2 Analisi del problema di punto-sella . . . . . . . . . . . . . . . . . . . . . . . 313 10.3.3 Approssimazione con il metodo di Galerkin ed analisi di stabilità e convergenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 10.4 Formulazione algebrica del problema di Stokes . . . . . . . . . . . . . . . . . . . 320 10.5 Un esempio di problema stabilizzato . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 10.6 Un esempio numerico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 10.7 Discretizzazione in tempo delle equazioni di Navier-Stokes . . . . . . . . . 328
Indice
IX
10.7.1 Metodi alle differenze finite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 10.7.2 Metodi alle caratteristiche (o Lagrangiani) . . . . . . . . . . . . . . . . . 331 10.7.3 Metodi a passi frazionari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 10.8 Risoluzione del sistema di Stokes e metodi di fattorizzazione algebrica 335 10.9 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 11 Cenni di programmazione degli elementi finiti . . . . . . . . . . . . . . . . . . . . . . . 343 11.1 Fasi operative di un codice a elementi finiti . . . . . . . . . . . . . . . . . . . . . . . 343 11.1.1 Due parole sul codice utilizzato . . . . . . . . . . . . . . . . . . . . . . . . . . 346 11.2 Calcolo numerico degli integrali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 11.2.1 Le coordinate baricentriche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 11.2.2 Alcuni esempi di formule di quadratura . . . . . . . . . . . . . . . . . . . . 352 11.3 Memorizzazione di matrici sparse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 11.4 La fase di assemblaggio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 11.4.1 Codifica delle informazioni geometriche . . . . . . . . . . . . . . . . . . . 360 11.4.2 Codifica delle informazioni funzionali . . . . . . . . . . . . . . . . . . . . . 364 11.4.3 Mappatura tra elemento di riferimento e elemento fisico . . . . . . 365 11.4.4 La costruzione dei sistemi locali e di quello globale . . . . . . . . . 369 11.4.5 La prescrizione delle condizioni al bordo . . . . . . . . . . . . . . . . . . 373 11.5 L’integrazione in tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 11.6 Ed ora consideriamo un esempio completo . . . . . . . . . . . . . . . . . . . . . . . 379 12 Generazione di griglie nel caso bidimensionale . . . . . . . . . . . . . . . . . . . . . . 389 12.1 Reticolazione di un dominio poligonale . . . . . . . . . . . . . . . . . . . . . . . . . . 389 12.2 Generazione di griglie strutturate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 12.3 Generazione di griglie non strutturate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 12.3.1 Triangolazione di Delaunay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 12.3.2 Tecnica di avanzamento del fronte . . . . . . . . . . . . . . . . . . . . . . . . 397 12.4 Tecniche di regolarizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 12.4.1 Scambio delle diagonali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 12.4.2 Movimento dei nodi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 13 Il metodo dei volumi finiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 13.1 Alcuni principi elementari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 13.2 La costruzione dei volumi di controllo per schemi vertex-centered . . . . 406 13.3 Discretizzazione di un problema di diffusione-trasporto-reazione . . . . . 409 13.4 Analisi dell’approssimazione ai volumi finiti . . . . . . . . . . . . . . . . . . . . . . 411 13.5 Implementazione delle condizioni al bordo . . . . . . . . . . . . . . . . . . . . . . . 412 13.6 Cenni alla discretizzazione delle equazioni di Navier-Stokes . . . . . . . . . 413 Appendice A Richiami di analisi funzionale . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 A.1 Funzionali e forme bilineari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 A.2 Richiami sulle distribuzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 A.2.1 Le funzioni a quadrato sommabile . . . . . . . . . . . . . . . . . . . . . . . . 420 A.2.2 Derivazione nel senso delle distribuzioni . . . . . . . . . . . . . . . . . . . 422
X
Indice
A.3 Gli spazi di Sobolev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 A.3.1 Regolarità degli spazi Hk (Ω) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 A.3.2 Lo spazio H10 (Ω) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 A.3.3 Gli operatori di traccia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 A.4 Lo spazio L∞(Ω) e gli spazi Lp (Ω) con 1 ≤ p < ∞ . . . . . . . . . . . . . . . . . 427 A.5 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Appendice B Algoritmi di risoluzione di sistemi lineari . . . . . . . . . . . . . . . . . 431 B.1 Metodi diretti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 B.2 Metodi iterativi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 Riferimenti bibliografici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Indice analitico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Prefazione
Queste note sono tratte dalle lezioni di “Metodi Numerici per l’Ingegneria” tenute presso il Politecnico di Milano e da quelle di “Analyse Numérique des Équations aux Dérivées Partielles” svolte presso l’EPFL (École Polytechnique Fédérale de Lausanne). Esse costituiscono una introduzione elementare alla modellistica numerica di problemi differenziali alle derivate parziali, sia stazionari che evolutivi. L’enfasi è posta soprattutto su problemi lineari, ellittici, parabolici e iperbolici. Tuttavia si considerano anche alcuni problemi non lineari, quali le leggi di conservazione e le equazioni di Navier-Stokes per la meccanica dei fluidi. Numerosi esempi di interesse fisico motivano i modelli differenziali che vengono illustrati. Di ognuna delle classi di problemi considerati si illustrano le principali proprietà matematiche e se ne fornisce la cosiddetta 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 multidimensionale. Se ne analizzano le proprietà di stabilità e di convergenza, si illustrano gli aspetti algoritmici e quelli relativi alla implementazione su calcolatore. Altri metodi, quali le differenze finite ed i metodi spettrali, vengono pure considerati, nell’ambito della risoluzione numerica di problemi specifici. Numerosi esercizi corredano i diversi capitoli allo scopo di fornire al lettore la possibilità di acquisire maggiore consapevolezza sui principali argomenti trattati. Il testo è diviso in Capitoli, Sezioni e Sottosezioni. Il Capitolo 1 è dedicato ad un breve richiamo delle equazioni alle derivate parziali ed alla loro classificazione. Nel Capitolo 2 vengono introdotte le equazioni ellittiche (quali i problemi di Laplace e 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 degli elementi finiti in particolare. Nel Capitolo 4 si illustrano i metodi spettrali, ovvero metodi di Galerkin con sottospazi di polinomi globali, e la loro generalizzazione ai metodi pseudo-spettrali (o di collocazione) da un lato ed al metodo degli elementispettrali dall’altro. Durante la lettura di questi capitoli il lettore troverà numerosi rinvii alle Appendici. In particolare, nell’Appendice A si introducono alcuni elementari con-
XII
Prefazione
cetti di analisi funzionale, di teoria delle distribuzioni e di spazi di Sobolev, necessari per una corretta comprensione della formulazione debole (o integrale) dei problemi ai limiti. Nell’Appendice B si richiamano invece alcuni fra gli algoritmi più frequentemente utilizzati per la risoluzione di sistemi lineari generati dalla discretizzazione di problemi alle derivate parziali. Nel Capitolo 5 si introducono i problemi di diffusione e trasporto, si illustrano le difficoltà che derivano dalla presenza di strati limite nella soluzione e si discutono metodi di stabilizzazione, basati su differenze finite ed elementi finiti con opportuna viscosità numerica. Il Capitolo 6 è dedicato ai problemi parabolici, descriventi processi di diffusione, per i quali si usano metodi di discretizzazione spaziale con elementi finiti e temporale con differenze finite. I Capitoli 7, 8 e 9 riguardano i problemi iperbolici, inerenti fenomeni di propagazione di onde. Ci concentreremo soprattutto sul caso dei problemi monodimensionali, al fine di analizzare in dettaglio le proprietà di dissipazione e di dispersione dei diversi schemi numerici che vengono considerati. Il Capitolo 10 è dedicato all’approssimazione delle equazioni di Navier-Stokes e ad una breve analisi dei problemi inerenti il soddisfacimento del vincolo di incomprimibilità. Infine nei Capitoli 11 e 12 (scritti in collaborazione con F. Saleri e L. Formaggia) si illustrano gli aspetti relativi alla programmazione del metodo degli elementi finiti. Questo testo è stato scritto per gli studenti di discipline scientifiche, interessati alla modellistica per la risoluzione numerica di problemi differenziali, ma può essere utile anche a ricercatori e studiosi desiderosi di avvicinarsi a questo interessante ramo della matematica applicata. Milano e Losanna, marzo 2000
Alfio Quarteroni
In questa terza edizione sono stati riveduti ed ampliati tutti i Capitoli, ed in modo particolare il quarto dedicato ai metodi spettrali, il sesto per ciò che concerne l’analisi di problemi parabolici, l’ottavo relativamente all’approssimazione spettrale di problemi iperbolici, ed infine i Capitoli 11 e 12 concernenti gli aspetti implementativi del metodo 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 linguaggio orientato agli oggetti). Si è inoltre aggiunto un breve Capitolo, il 13, sull’introduzione al metodo dei volumi finiti. Negli ultimi due anni sono usciti in questa stessa serie due monografie che possono essere considerate un importante compendio a questo testo: “Equazioni a derivate parziali. Metodi, modelli e applicazioni” di S. Salsa, in cui si introducono ed analizzano i problemi differenziali che vengono qui trattati, e “Applicazioni ed esercizi di modellistica numerica per problemi differenziali” di L. Formaggia, F. Saleri e A. Veneziani, che a tutti gli effetti può considerarsi di supporto a questo testo per ciò che concerne la risoluzione di problemi ed esercizi nonché per l’approfondimento delle
Prefazione
XIII
tecniche qui presentate. Segnaliamo anche il testo “Elementi di fluidodinamica” di G. Riccardi e D. Durante che, illustrando i modelli differenziali basilari della dinamica dei fluidi, può essere considerato come complementare ai Capitoli 9 e 10 inerenti la fluidodinamica numerica. Vorrei ringraziare in modo particolare Simona Perotto per il suo contributo davvero determinante, ma anche Alessandro Veneziani, Nicola Parolini e Paola Gervasio. Infine, ringrazio Francesca Bonadei di Springer per il costante aiuto e gli innumerevoli consigli finalizzati a migliorare questa nuova edizione. Milano e Losanna, 9 luglio 2006
Alfio Quarteroni
1 Richiami sulle equazioni alle derivate parziali
Scopo di questo capitolo è quello di richiamare i concetti di base relativi alle equazioni alle derivate parziali (in breve EDP). Per una più ampia trattazione si vedano [PS91], [RR04], [Pro94], [Col76], [Joh82], [Sal04].
1.1 Definizioni ed esempi Le equazioni alle derivate parziali sono equazioni differenziali contenenti derivate della funzione incognita rispetto a più variabili (temporali o spaziali). In particolare, indicata con u la funzione incognita nelle d + 1 variabili indipendenti x = (x1 , . . . , xd )T e t, denoteremo con ∂u ∂u ∂u ∂ p1 +···+pd +pt u P(u, g) = F x, t, u, , ,..., , . . . , p1 , g = 0 (1.1) ∂t ∂x1 ∂xd ∂x1 . . . ∂xpdd ∂tpt una generica EDP, essendo g l’insieme dei dati dai quali dipenderà la EDP, mentre p1 , . . . , pd , pt ∈ N. Diremo che la (1.1) è di ordine q, se q è l’ordine massimo delle derivate parziali che vi compaiono, ovvero il massimo valore assunto da p 1 + p2 + . . . pd + pt . Se la (1.1) dipende linearmente dall’incognita u e dalle sue derivate, l’equazione verrà detta lineare. In tal caso P(αu + βw, g) = αP(u, g) + βP(w, g) ∀α, β ∈ R. Nel caso particolare in cui le derivate di ordine massimo compaiono solo linearmente (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 coefficienti 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 incognita u, la EDP si dice omogenea. Elenchiamo nel seguito alcuni esempi di EDP che si incontrano frequentemente nelle scienze applicate.
2
1 Richiami sulle equazioni alle derivate parziali
Esempio 1.1 Un’equazione lineare del prim’ordine è l’equazione di trasporto (o di convezione) ∂u + ∇ · (βu) = 0, ∂t
(1.2)
avendo indicato con ∇ · v = div(v) =
d X ∂vi
∂xi i=1
,
v = (v1 , . . . , vd )T ,
l’operatore divergenza. La (1.2), integrata su una regione Ω ⊂ Rd , esprime la conservazione della massa di un sistema materiale che occupa la regione Ω. La variabile u è la densità del sistema, mentre β(x) è la velocità posseduta da una particella del sistema che all’istante t occupa 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 Ω ⊂ R omogenea ed isotropa, ma anche lo spostamento verticale di una membrana elastica, l’equazione del calore (o di diffusione) d
∂u − Δu = f ∂t
(1.4)
e l’equazione delle onde ∂2u − Δu = 0. ∂t2
(1.5)
Abbiamo denotato con Δu =
d X ∂2u i=1
(1.6)
∂x2i
l’operatore di Laplace (o laplaciano).
Esempio 1.3 Un esempio di equazione quasi-lineare del prim’ordine è dato dall’equazione di Burgers ∂u ∂u = 0, +u ∂t ∂x1 mentre la sua variante ottenuta aggiungendo una perturbazione del second’ordine ∂u ∂2u ∂u = 2, +u ∂t ∂x1 ∂x1
> 0,
fornisce un esempio di equazione semi-lineare. Un’equazione non lineare, sempre del second’ordine, è „ 2 «2 „ 2 «2 ∂ u ∂ u + = f. ∂x21 ∂x22
1.2 Necessità della risoluzione numerica
3
Una funzione u = u(x 1 , . . . , 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) una identità. 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 ∂u = 0, − ∂t ∂x1
(1.7)
ammette un integrale generale della forma u = w(x1 + t), essendo w una funzione arbitraria sufficientemente regolare (si veda l’Esercizio 2). Analogamente, l’equazione delle onde monodimensionale ∂2u ∂2u − =0 2 ∂t ∂x21
(1.8)
ammette come integrale generale u(x1 , t) = w1 (x1 + t) + w2 (x1 − t), essendo w1 e w2 due funzioni arbitrarie, sufficientemente regolari (si veda l’Esercizio 3).
Esempio 1.5 Consideriamo l’equazione del calore monodimensionale ∂u ∂2u = 0, − ∂t ∂x21 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) =
∞ X 2 u0,j e−(jπ) t sin(jπx1 ), j=1
dove u0 = u|t=0 è il dato iniziale e Z1 u0,j = 2 u0 (x1 ) sin(jπx1 ) dx1 ,
j = 1, 2, . . .
0
1.2 Necessità della risoluzione numerica In generale, non è possibile ricavare per via analitica una soluzione della (1.1). In effetti, i metodi di integrazione analitica disponibili (come la tecnica di separazione delle variabili) sono di limitata applicabilità. Peraltro, anche nel caso in cui si conosca un integrale generale, non è poi detto che si riesca a determinare un integrale particolare. Per ottenere quest’ultimo bisognerà infatti assegnare opportune condizioni su u (e/o sulle sue derivate) alla frontiera del dominio Ω.
4
1 Richiami sulle equazioni alle derivate parziali
Dagli esempi forniti appare d’altra parte evidente che l’integrale generale dipende da alcune funzioni arbitrarie (e non da costanti arbitrarie, come accade per le equazioni differenziali ordinarie), di modo che l’imposizione delle condizioni comporterà la risoluzione di problemi matematici, in generale, estremamente complicati. Di conseguenza, da un punto di vista teorico, ci si deve spesso accontentare di studiare solo l’esistenza e l’unicità della soluzione di una EDP. Da ciò segue l’importanza di disporre di metodi numerici che permettano di costruire un’approssimazione u N della soluzione esatta u e di valutare (in una qualche norma) l’errore u N − u che si commette sostituendo alla soluzione esatta u la soluzione approssimata u N . L’intero positivo N denota la dimensione (finita) del problema approssimato. Schematicamente, otterremo la situazione seguente: P(u, g) = 0
EDP esatta
↓
[metodi numerici]
PN (uN , gN ) = 0
EDP approssimata
avendo indicato con g N una approssimazione dell’insieme dei dati g dai quali dipende la EDP, e con P N la nuova relazione funzionale che caratterizza il problema approssimato. Per semplicità si può porre: u = u(g), u N = uN (gN ). Presenteremo diversi metodi numerici a partire dal Cap. 3. Ci limitiamo qui a ricordarne le principali caratteristiche. Un metodo numerico è convergente se u − uN → 0
per N → ∞
in una norma opportuna. Più precisamente indichiamo con g N un’approssimazione ammissibile dell’insieme dei dati dal quale dipende la EDP, 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.
Si noti che (1.9) si può formulare in modo equivalente come PN (u, g) − P(u, g) → 0 per N → ∞,
(1.10)
1.3 Classificazione delle EDP
5
essendo u la soluzione del problema esatto corrispondente al dato g. Ciò esprime la proprietà che P N (la EDP approssimata) “tenda” a P (quella esatta) per N → ∞. Diciamo invece che un metodo numerico è stabile se a piccole perturbazioni sui dati corrispondono piccole perturbazioni sulla soluzione, ovvero ∀ε > 0 ∃δ = δ(ε) > 0 : ∀δgN : δgN < δ ⇒ δuN ≤ ε, ∀N, essendo uN + δuN la soluzione del problema perturbato PN (uN + δuN , gN + δgN ) = 0. (Si veda [QSS00, Cap. 2] per approfondimenti). Il risultato fondamentale, noto come teorema di equivalenza, garantisce infine che se un metodo è consistente, allora è convergente se e solo se è stabile Nella scelta di un metodo numerico interverranno ovviamente anche altre caratteristiche, quali ad esempio la velocità di convergenza (ovvero l’ordine rispetto ad 1/N con cui l’errore tende a zero) ed il costo computazionale, ovvero il tempo di calcolo e la memoria richiesta per l’implementazione del metodo stesso su calcolatore.
1.3 Classificazione delle EDP Le equazioni differenziali possono essere classificate in base alla loro formulazione matematica in tre famiglie diverse: equazioni ellittiche, paraboliche ed iperboliche, per ognuna delle quali si considerano metodi numerici specifici. Limitiamoci al caso di EDP del second’ordine lineari, a coefficienti costanti, della forma Lu = A
∂2u ∂2u ∂2u ∂u ∂u +B +C 2 +D +E + F u = G, 2 ∂x1 ∂x1 ∂x2 ∂x2 ∂x1 ∂x2
(1.11)
con A, B, C, D, E, F ∈ R (si noti che una qualunque delle variabili x i potrebbe rappresentare la variabile temporale). In tal caso, la classificazione si effettua in base al segno del cosiddetto discriminante, = B 2 − 4AC. In particolare: se < 0 se = 0 se > 0
l’equazione si dice ellittica, l’equazione si dice parabolica, 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 anche dalla seguente equazione di diffusione-trasporto ∂u − μΔu + ∇ · (βu) = 0. ∂t in cui μ > 0, e β è un campo vettoriale assegnato.
6
1 Richiami sulle equazioni alle derivate parziali
Il criterio introdotto fa dipendere la classificazione dai soli coefficienti delle derivate di ordine massimo e si giustifica con il seguente argomento. Come si ricorderà, l’equazione algebrica quadratica Ax21 + Bx1 x2 + Cx22 + Dx1 + Ex2 + F = G, rappresenta nel piano cartesiano (x 1 , x2 ) un’iperbole, una parabola od un’ellisse a seconda che sia positivo, nullo o negativo. Questo parallelo con le coniche motiva il nome attribuito alle tre classi di operatori alle derivate parziali. Indaghiamo più in profondità le differenze tra le tre classi. Supponiamo, senza che ciò sia restrittivo, che D, E, F e G siano nulli. Cerchiamo un cambio di variabili della forma ξ = αx2 + βx1 , η = γx2 + δx1 ,
(1.12)
con α, β, γ e δ da scegliersi in modo che Lu diventi multiplo di ∂ 2 u/∂ξ∂η. Essendo Lu = (Aβ 2 + Bαβ + Cα2 )
∂2u ∂ξ 2
∂2u ∂2u + (Aδ 2 + Bγδ + Cγ 2 ) 2 , +(2Aβδ + B(αδ + βγ) + 2Cαγ) ∂ξ∂η ∂η
(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 ξ = x 2 , η = x1 (ad esempio) fornisce Lu nella 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 e la seconda per γ 2 . Troviamo due equazioni quadratiche identiche per le frazioni β/α e δ/γ. Risolvendole, si ha 1 β = −B ± , α 2A
1 δ = −B ± . γ 2A
Affinché la trasformazione (1.12) sia non singolare, i quozienti β/α e δ/γ devono essere diversi. Dobbiamo pertanto prendere il segno positivo in un caso, quello negativo nell’altro ed inoltre assumere > 0. Se fosse nullo infatti le due frazioni sarebbero ancora coincidenti. Infine, se fosse negativo nessuna frazione potrebbe essere reale. Una soluzione è pertanto fornita da: α = γ = 2A, β = −B + , δ = −B − . Corrispondentemente, √ √ ξ = 2Ax2 + −B + x1 , η = 2Ax2 + −B − x1 ,
1.3 Classificazione delle EDP
7
ed il problema differenziale trasformato diventa Lu = − 4AΔ
∂2u = 0. ∂ξ∂η
(1.15)
Il caso A = 0 può essere trattato in modo analogo prendendo ξ = x 1 , η = −Bx2 /C + x1 . Concludendo, Lu può diventare un multiplo di ∂ 2 u/∂ξ∂η secondo la trasformazione (1.12) se e solo se > 0 ed in tal caso, come abbiamo anticipato, il problema è detto iperbolico. È 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 dal fatto che su di esse le funzioni p e q si mantengono rispettivamente costanti. In particolare, eventuali discontinuità della soluzione u, si propagano lungo le caratteristiche (lo si vedrà più in dettaglio nel Cap. 7). In effetti, identificando x 1 con t e x2 con x, la trasformazione x = x −
B t, t = t, 2A
trasforma l’operatore iperbolico (con A = 0) Lu = A
∂2u ∂2u ∂2u +C 2 +B 2 ∂t ∂t∂x ∂x
in un multiplo dell’operatore delle onde Lu =
∂2u ∂2u − c2 2 , con C = −B/2A. 2 ∂t ∂x
Dunque L è l’operatore delle onde in un sistema di coordinate che si muove con velocità −B/2A. Le caratteristiche dell’operatore delle onde sono le linee che verificano
dt dx
2 =
1 , c2
ovvero dt 1 = dx c
e
dt 1 =− . dx c
Se invece = 0, come detto, L è parabolico. In tal caso esiste un solo valore di β/α in corrispondenza del quale il coefficiente di ∂ 2 u/∂ξ 2 in (1.13) si annulla. Precisamente, β/α = −B/(2A). Peraltro, essendo B/(2A) = 2C/B, questa scelta comporta anche che il coefficiente di ∂ 2 u/∂ξ∂η si annulli. Di conseguenza, la trasformazione
8
1 Richiami sulle equazioni alle derivate parziali
ξ = 2Ax2 − Bx1 , η = x1 , trasforma il problema originario nel seguente A
∂2u = 0, ∂η 2
la cui soluzione generale ha la forma u = p(ξ) + ηq(ξ). Un operatore parabolico ha dunque solo una famiglia di caratteristiche, precisamente ξ = costante. Le discontinuità nelle derivate di u si propagano lungo tali caratteristiche. Infine, se < 0 (operatori ellittici) non esiste alcuna scelta di β/α o δ/γ che renda nulli i coefficienti ∂ 2 u/∂ξ 2 e ∂ 2 u/∂η 2 . Tuttavia, la trasformazione 2Ax2 − Bx1 ξ=√ , η = x1 , 4AC − B 2 trasforma Lu in
Lu = A
∂2u ∂2u + 2 ∂ξ 2 ∂η
,
ossia in un multiplo dell’equazione del potenziale. Essa non ha perciò alcuna famiglia di caratteristiche.
1.3.1 Forma quadratica associata ad una EDP All’equazione (1.11) si può associare il cosiddetto simbolo principale S p definito da S p (x, q) = − A(x)q12 − B(x)q1 q2 − C(x)q22 . Questa forma quadratica in q 1 q2 si può rappresentare in forma matriciale come segue: ⎤ ⎡ 1 ⎢ −A(x) − 2 B(x) ⎥ (1.16) S p (x, q) = qT ⎣ 1 ⎦ q. − B(x) − C(x) 2 Una forma quadratica è detta definita se la matrice associata ha autovalori tutti dello stesso segno (positivi o negativi); è indefinita se la matrice ha autovalori di entrambi i 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 una dimensione) e delle onde (1.5) sono date rispettivamente da
1.4 Esercizi
0 1 0 , 0 0 1
0 1
e
−1 0 0 1
9
e sono definita positiva nel primo caso, singolare nel secondo, indefinita nel terzo.
1.4 Esercizi 1. Si classifichino, in base all’ordine ed alla linearità, le seguenti equazioni: 2 2 2 2 ∂u ∂ u ∂ u ∂u ∂u ∂ 2 u ∂u (a) 1+ −2 + 1+ = 0, ∂x1 ∂x22 ∂x1 ∂x2 ∂x1 ∂x2 ∂x2 ∂x21 (b)
ρ
∂2u ∂4u + K 4 = f, 2 ∂t ∂x1
(c)
∂u ∂x1
2
+
∂u ∂x2
2
= f.
[Soluzione: (a) quasi-lineare, del second’ordine; si tratta dell’equazione di Plateau che 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 della verga vibrante, ρ è la densità della verga, mentre K è una quantità positiva che dipende dalle caratteristiche geometriche della verga stessa; (c) non lineare, del prim’ordine.] 2. Si riduca l’equazione del trasporto monodimensionale (1.7) ad una equazione della forma ∂w/∂y = 0, avendo posto y = x 1 − t e si ricavi che u = w(x1 + t) è soluzione dell’equazione di partenza. [Soluzione: si effettui il cambio di variabili z = x 1 + 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, usando le variabili originarie, u = w(x 1 + t).] 3. Si dimostri che l’equazione delle onde ∂ 2u ∂ 2u − c2 2 = 0, 2 ∂t ∂x1 con c costante, ammette come soluzione u(x 1 , 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 variabili y = x1 + ct, z = x1 − ct e ponendo u(x 1 , t) = w(y, z).]
10
1 Richiami sulle equazioni alle derivate parziali
4. Si verifichi che l’equazione di Korteveg-de-Vries ∂u ∂u ∂3u +β + α 3 = 0, ∂t ∂x1 ∂x1 ammette l’integrale generale della forma u = a cos(kx 1 −ωt) con ω opportuno da determinarsi, a, β ed α costanti assegnate. Questa equazione descrive la posizione u di un fluido rispetto ad una posizione di riferimento, in presenza di propagazione di onde lunghe. [Soluzione: la u data soddisfa l’equazione solo se ω = kβ − αk 3 .] 5. Si consideri l’equazione x21
∂2u ∂2u − x22 2 = 0 2 ∂x1 ∂x2
con x1 x2 = 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 ∂2u ∂2u + 2b(x , x ) + c(x , x ) + f (u, ∇u) = 0. 1 2 1 2 ∂x21 ∂x1 ∂x2 ∂x22
Si scriva l’equazione delle linee 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 ∈ Ω, ¯ ⊂ R2 \{0}. dove Ω è un qualunque insieme aperto tale che Ω [Soluzione: si osservi che 2x2i 1 uxi xi = 2 1 − 2 , i = 1, 2.] r r
2 Equazioni di tipo ellittico
Questo capitolo è dedicato all’introduzione di problemi ellittici ed alla loro formulazione debole. Pur essendo la nostra trattazione alquanto elementare, prima di affrontarne la lettura, il lettore che fosse completamente a digiuno di conoscenze di Analisi Funzionale è 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) Ω ⊂ R 2 limitato e connesso e sia ∂Ω la sua frontiera. Denoteremo con x la coppia di variabili spaziali (x 1 , x2 ). Il problema 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’equazione di Poisson. Ricordiamo inoltre che, nel caso in cui f = 0, l’equazione (2.1) è nota come equazione di Laplace. Fisicamente u può rappresentare lo spostamento verticale di una membrana elastica dovuto all’applicazione di una forza specifica pari ad f , oppure la distribuzione di potenziale elettrico dovuta ad una densità di carica elettrica f . Per avere un’unica soluzione, alla (2.1) vanno aggiunte delle opportune condizioni al contorno, occorrono cioè delle informazioni relative al comportamento della soluzione u sulla frontiera ∂Ω del dominio. Si può ad esempio assegnare il valore dello spostamento u sul bordo u=g
su ∂Ω,
(2.2)
dove g è una funzione assegnata, e si parlerà in tal caso di un problema di Dirichlet. Il caso in cui g = 0 si dice omogeneo.
12
2 Equazioni di tipo ellittico
In alternativa si può imporre il valore della derivata normale di u ∇u · n =
∂u =h ∂n
su ∂Ω,
essendo n la normale uscente ad Ω e h una funzione assegnata. Il problema associato si dice problema di Neumann e corrisponde, nel caso del problema della membrana, ad aver imposto la trazione al bordo della membrana stessa. Anche stavolta il caso h = 0 si dirà omogeneo. Si possono infine assegnare su porzioni diverse del bordo del dominio computazionale Ω, condizioni di tipo diverso. Ad esempio, supponendo che ∂Ω = Γ D ∪ ΓN ◦
◦
con Γ D ∩ Γ N = ∅, si possono imporre le condizioni u=g su ΓD , ∂u = h su ΓN . ∂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 spazio C 2 (Ω). Infatti, se così fosse, avremmo −Δu(0, 0) = −
∂2u ∂ 2u (0, 0) − (0, 0) = 0 ∂x21 ∂x22
in quanto le condizioni al bordo imporrebbero u(x 1 , 0) = u(0, x2 ) = 0 ∀x1 ∈ [0, 1], ∀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 ∈ C 0 (Ω), non ha senso in generale cercare una soluzione u ∈ C 2 (Ω) di (2.1), (2.2), mentre si hanno maggiori probabilità di trovare una soluzione u ∈ C 2 (Ω) ∩ C 0 (Ω) (uno spazio più grande di C 2 (Ω) !). Siamo pertanto interessati a trovare una formulazione alternativa a quella forte anche perché, come vedremo nella prossima sezione, essa non consente di trattare alcuni casi fisicamente significativi. Ad esempio, non è detto che, in presenza di dati poco regolari, la soluzione fisica stia nello spazio C 2 (Ω) ∩ C 0 (Ω), ma nemmeno in C 1 (Ω) ∩ C 0 (Ω).
2.2 Il problema di Poisson nel caso monodimensionale Al fine di introdurre la forma debole di un problema differenziale, iniziamo ad occuparci di un problema ai limiti in una dimensione.
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 configurazione 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 . La forza complessiva agente sul tratto (0, x) del filo è x F (x) = f (t)dt. 0
La funzione u descrive lo spostamento verticale del filo rispetto alla posizione di riposo u = 0.
0.5
0
1
0
x
−1
0.5
0
0.6
1
0.4
0.6
1
x
−1
1
0
x
x
u(x)
u(x)
0.25
0.4
−0.4
Figura 2.1. A sinistra, viene riportata la configurazione di equilibrio del filo corrispondente al carico unitario concentrato in x = 0.5, rappresentato nella parte superiore della figura. A destra, quella relativa a due carichi unitari concentrati in x = 0.4 e x = 0.6, rappresentati sempre nella parte superiore
La formulazione forte (2.3) non è in generale adeguata. Se si considera, ad esempio, 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 soluzione fisica esiste ed è continua, ma non derivabile. Si vedano i grafici nella Fig. 2.1, dove è considerato il caso di un carico unitario concentrato nel solo punto x = 0.5 (a sinistra)
14
2 Equazioni di tipo ellittico
f (x) 0
0.4
0.6
1 x
−1
0 −0.01
0.4
0.6
1 x
u(x)
−0.02 −0.03 −0.04 −0.05 Figura 2.2. Spostamento relativo al carico discontinuo rappresentato nella parte superiore della figura
e nei due punti x = 0.4 e x = 0.6 (a destra). Queste funzioni non possono essere soluzioni della (2.3), in quanto quest’ultima richiederebbe alla soluzione di essere dotata di derivata seconda continua. Analoghe considerazioni valgono nel caso in cui f sia una funzione costante a tratti. Ad esempio, nel caso rappresentato in Fig. 2.2 di un carico nullo fuorché nell’intervallo [0.4, 0.6] in cui esso vale 1, la soluzione analitica è solo di classe C 1 ([0, 1]), essendo data da ⎧ 1 ⎪ − x ⎪ ⎪ 10 ⎪ ⎪ ⎨ 1 2 1 2 u(x) = x − x+ ⎪ 2 2 25 ⎪ ⎪ ⎪ ⎪ ⎩ − 1 (1 − x) 10
per x ∈ [0, 0.4], per x ∈ [0.4, 0.6], per x ∈ [0.6, 1].
Serve dunque una formulazione del problema alternativa a quella forte che consenta di ridurre l’ordine di derivazione richiesto sulla soluzione incognita u. Passeremo da un problema differenziale del secondo ordine ad uno in forma integrale del primo ordine. Questo problema sarà chiamato la formulazione debole del problema differenziale. Operiamo a tale scopo alcuni passaggi formali nella (2.3), senza preoccuparci a questo stadio del fatto che tutte le operazioni che in essi compariranno siano lecite. Moltiplichiamo innanzitutto l’equazione (2.3) per una funzione test v (per ora arbitraria) ed integriamo sull’intervallo (0, 1),
2.2 Il problema di Poisson nel caso monodimensionale
1
−u v = f v
15
1
⇒ − u v dx = 0
f v dx. 0
Applichiamo la formula di integrazione per parti al primo integrale, con lo scopo di eliminare la derivata seconda, in modo da poter richiedere alla soluzione una minore regolarità. Si trova 1
1
− u v dx = 0
u v dx − [u v]10 .
0
Essendo u nota al bordo possiamo considerare solo funzioni test che si annullano agli estremi dell’intervallo, annullando così il contributo dei termini di bordo. In tal modo l’equazione diviene 1 1 u v dx = f v dx. (2.4) 0
0
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 di regolarità 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 , in modo che tutte le operazioni introdotte abbiano senso. Evidentemente se u e v appartenessero a C 1 ([0, 1]), avremmo u , v ∈ C 0 ([0, 1]) e quindi l’integrale che compare a primo membro della (2.4) avrebbe senso. Gli esempi di Fig. 2.1 ci dicono però che le soluzioni fisiche potrebbero non essere derivabili con continuità: dobbiamo quindi richiedere una regolarità inferiore. Inoltre, anche quando f ∈ C 0 ([0, 1]), non vi è certezza che il problema ammetta soluzioni nello spazio V = {v ∈ C 1 ([0, 1]) : v(0) = v(1) = 0}.
(2.5)
Ciò è imputabile al fatto che tale spazio vettoriale, quando lo si munisce del prodotto scalare 1 (u, v)1 = u v dx, (2.6) 0
non è uno spazio completo, ovvero non tutte le successioni di Cauchy a valori in V convergono ad un elemento di V . (Si verifichi per esercizio che (2.6) è effettivamente un prodotto scalare). Procediamo allora come segue. Ricordiamo la definizione degli spazi L p delle funzioni a potenza p-esima integrabile secondo Lebesgue definiti, per 1 ≤ p < ∞, come (si veda l’Appendice A):
16
2 Equazioni di tipo ellittico
Lp (0, 1) = {v : (0, 1) → R t.c. vLp (0,1) =
1
1/p |v(x)|p dx < +∞}.
0
1
Dato che si vuole che l’integrale 0 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 seguente proprietà: Proprietà 2.1 Date due funzioni ϕ, ψ : (0, 1) → R, se ϕ2 , ψ 2 sono integrabili allora ϕψ è integrabile ossia ϕ, ψ ∈ L2 (0, 1) =⇒ ϕψ ∈ L1 (0, 1). Dimostrazione. Se ϕ, ψ ∈ L2 (0, 1), vale la disuguaglianza di Cauchy-Schwarz 1 ϕ(x)ψ(x) dx ≤ ϕL2 (0,1) ψL2 (0,1) . (2.7) 0
Essendo ϕL2 (0,1) , ψL2 (0,1) < ∞ per ipotesi, ciò prova che esiste (finito) anche l’integrale di ϕψ. Per dare un significato agli integrali che compaiono nella (2.4) bastano dunque funzioni a quadrato integrabile con derivate a quadrato integrabile. Definiamo pertanto lo spazio 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 H 1 (0, 1), H10 (0, 1) = {v ∈ H1 (0, 1) : v(0) = v(1) = 0}, costituito dalle funzioni di H 1 (0, 1) che sono nulle agli estremi dell’intervallo. Se supponiamo f ∈ L 2 (0, 1) anche l’integrale a secondo membro della (2.4) ha senso. Il problema (2.3) viene dunque ricondotto al seguente problema integrale, 1 trovare u ∈ V :
1
u v dx = 0
con V = H10 (0, 1).
f v dx 0
∀v ∈ V,
(2.8)
2.2 Il problema di Poisson nel caso monodimensionale
17
Osservazione 2.1 Lo spazio H 10 (0, 1) risulta essere effettivamente la chiusura, rispetto al prodotto scalare (2.6), dello spazio definito nella (2.5). Le funzioni di H 1 (0, 1) non sono necessariamente derivabili in senso classico, cioè H1 (0, 1) ⊂ C 1 ([0, 1]). Ad esempio, funzioni continue a tratti con raccordi a spigolo, appartengono ad H 1 (0, 1), ma non a C 1 ([0, 1]). Sono dunque contemplate anche le soluzioni continue, ma non derivabili, degli esempi precedenti. • Il problema debole (2.8) risulta equivalente ad un problema variazionale, in virtù del seguente risultato: Teorema 2.1 Il problema: ⎧ J(u) = minJ(v) con ⎪ ⎪ v∈V ⎪ ⎨ 1 1 trovare u ∈ V : 1 ⎪ 2 ⎪ ⎪ ⎩ J(v) = 2 (v ) dx − f v dx, 0
(2.9)
0
è equivalente al problema (2.8), nel senso che u è soluzione di (2.8) se e solo se u è soluzione di (2.9). Dimostrazione. Si supponga che u sia soluzione del problema variazionale (2.9). 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 raggiunto per δ = 0. Pertanto ∂J(u + δw) ψ (δ) = = 0. ∂δ δ=0 δ=0 Per definizione di derivata si ha ∂J(u + δw) J(u + δw) − J(u) = lim δ→0 ∂δ δ
∀w ∈ V.
Consideriamo il termine J(u + δw): J(u + δw)
=
1 2
1
1
2
[(u + δw) ] dx − 0
=
1 2
1
0 2
2
1
[u + δ w + 2δu w ] dx − 2
0
=
f (u + δw) dx
J(u) +
1 2
1 0
f u dx − 0
[δ 2 w + 2δu w ] dx − 2
1
1
f δw dx 0
f δw dx. 0
18
2 Equazioni di tipo ellittico
Di conseguenza, J(u + δw) − J(u) 1 = δ 2
1
2
1
[δw + 2u w ] dx − 0
f w dx. 0
Passando al limite per δ → 0 ed imponendo che esso si annulli, si ottiene 1
1
u w dx − 0
f w dx = 0 ∀w ∈ V, 0
ovvero u soddisfa il problema debole (2.8). Viceversa, se u è soluzione di (2.8), ponendo v = δw, si ha in particolare che 1
1
u δw dx − 0
f δw dx = 0, 0
e quindi J(u + δw)
=
1 2
1
[(u + δw) ]2 dx −
0
=
1 2
1 u
2
0
= J(u) +
1 2
1
f (u + δw) dx 0
1 dx −
1 1
f u dx + 0
1
u δw dx − 0
0
1 f δw dx + 2
1
δ 2 w dx 2
0
δ 2 w dx. 2
0
Poiché 1 2
1
δ 2 w dx ≥ 0 2
∀ w ∈ V, ∀δ ∈ R,
0
si deduce che J(u) ≤ J(v)
∀v ∈ V,
ovvero la u soddisfa anche il problema variazionale (2.9).
Osservazione 2.2 (Principio dei lavori virtuali) Consideriamo nuovamente il problema di studiare la configurazione assunta da un filo di tensione unitaria, vincolato
2.2 Il problema di Poisson nel caso monodimensionale
19
agli estremi e soggetto ad un termine forzante f , descritta dalle equazioni (2.3). Indichiamo con v uno spostamento ammissibile del filo dalla posizione di equilibrio u (cioè uno spostamento nullo agli estremi). L’equazione (2.8), esprimendo l’uguaglianza del lavoro fatto dalle forze interne e dalle forze esterne in corrispondenza allo spostamento v, traduce il principio dei lavori virtuali della meccanica. Inoltre, poiché nel nostro caso esiste un potenziale (J(w) definito in (2.9) esprime infatti l’energia potenziale globale corrispondente alla configurazione w del sistema), il principio dei lavori virtuali stabilisce che qualsiasi spostamento ammissibile dalla configurazione di 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’energia potenziale. •
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 corrispondente problema omogeneo (2.3). La funzione R g = (1 − x)g0 + xg1 è detta rilevamento del dato di bordo.
2.2.3 Problema di Neumann Passiamo ora a considerare la formulazione debole per il seguente problema di Neumann −u + σu = f, 0 < x < 1, u (0) = h0 , u (1) = h1 , essendo σ una funzione positiva e h 1 , h2 due numeri reali. Osserviamo che se fosse σ = 0 la soluzione di questo problema non sarebbe unica, essendo definita a meno di una costante additiva. Applicando lo stesso procedimento seguito nel caso del problema di Dirichlet, ovvero moltiplicando l’equazione per una funzione test v, integrando sull’intervallo (0, 1) ed applicando la formula di integrazione per parti si perviene all’equazione 1
1
u v dx + 0
σuv dx − [u 0
1 v]10
f v dx.
= 0
Supponiamo f ∈ L 2 (0, 1) e σ ∈ L∞ (0, 1) ossia che σ sia una funzione limitata quasi ovunque (q.o.) su (0, 1) (si veda la (A.8)). Il termine di bordo è noto grazie alle condizioni di Neumann. D’altra parte l’incognita u è in questo caso non nota al
20
2 Equazioni di tipo ellittico
bordo, quindi non si deve richiedere che v si annulli al bordo. La formulazione debole è quindi: trovare u ∈ H1 (0, 1) tale che 1
1
u v dx + 0
1 σuv dx =
0
f v dx + h1 v(1) − h0 v(0) ∀v ∈ H1 (0, 1).
(2.10)
0
Nel caso omogeneo h 0 = h1 = 0 il problema debole è caratterizzato dalla stessa equazione del caso di Dirichlet, ma lo spazio V delle funzioni test è ora H 1 (0, 1) anziché H10 (0, 1).
2.2.4 Problema misto omogeneo Considerazioni analoghe valgono per il problema misto omogeneo, in cui cioè si abbia una condizione di Dirichlet omogenea in un estremo ed una condizione di Neumann omogenea nell’altro, −u + σu = f, 0 < x < 1, (2.11) u(0) = 0, u (1) = 0. 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.11) è: trovare u ∈ H 1ΓD (0, 1) tale che 1
1
u v dx + 0
1 σuv dx =
0
f v dx
∀v ∈ H1ΓD (0, 1),
0
con f ∈ L2 (0, 1) e σ ∈ L∞ (0, 1). La formulazione è nuovamente la stessa del problema 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 noto il 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 termine proporzionale all’incognita u. Infatti si ha −[u v]10 = −rv(1) + γu(1)v(1).
2.3 Il problema di Poisson nel caso bidimensionale
21
La formulazione debole è dunque: trovare u ∈ H 1ΓD (0, 1) tale che 1
1
u v dx + 0
1 σuv dx + γu(1)v(1) =
0
f v dx + rv(1)
∀v ∈ H1ΓD (0, 1).
0
Una condizione al bordo che sia una combinazione lineare tra il valore di u e quello della sua derivata prima è detta condizione di Robin (o di Newton, o del terzo tipo).
2.3 Il problema di Poisson nel caso bidimensionale Consideriamo in questa sezione i problemi ai limiti associati all’equazione di Poisson nel 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.12)
dove Ω ⊂ R2 è un dominio limitato con frontiera ∂Ω. Si procede in maniera analoga al caso monodimensionale. Se moltiplichiamo l’equazione differenziale della (2.12) per una funzione arbitraria v ed integriamo su Ω, troviamo −
Δuv dΩ =
Ω
f v dΩ. Ω
A questo punto occorre applicare un analogo in più dimensioni della formula di integrazione per parti monodimensionale. Essa può essere ottenuta impiegando il teorema della divergenza secondo il quale
div(a) dΩ = Ω
a · n dγ,
(2.13)
∂Ω
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 con x = (x1 , x2 )T il vettore delle coordinate spaziali. Se si applica la (2.13) prima alla funzione a = (ϕψ, 0)T e successivamente ad a = (0, ϕψ)T , si perviene alle relazioni Ω
∂ϕ ψ dΩ = − ∂xi
Ω
∂ψ ϕ dΩ + ∂xi
ϕψni dγ, i = 1, 2. ∂Ω
(2.14)
22
2 Equazioni di tipo ellittico
Sfruttiamo le (2.14) tenendo conto del fatto che Δu = div∇u =
2 i=1
Supponendo che tutti gli integrali che compaiono abbiano senso, si trova 2 ∂ ∂u v dΩ − Δuv dΩ = − ∂xi ∂xi i=1 Ω Ω 2 2 ∂u ∂v ∂u = dΩ − vni dγ ∂xi ∂xi ∂xi i=1 Ω i=1∂Ω ! 2 2 ∂u ∂v ∂u dΩ − ni v dγ. = ∂xi ∂xi ∂xi i=1 i=1 Ω
∂ ∂u . ∂xi ∂xi
∂Ω
Si perviene alla relazione seguente, detta formula di Green per il laplaciano ∂u − Δuv dΩ = ∇u · ∇v dΩ − v dγ. ∂n Ω
Ω
(2.15)
∂Ω
Analogamente al caso monodimensionale, il problema di Dirichlet omogeneo ci porterà a scegliere funzioni test nulle al bordo e, conseguentemente, il termine al contorno che compare nella (2.15) sarà a sua volta nullo. Tenendo conto di questo fatto, giungiamo alla seguente formulazione debole per il problema (2.12): trovare u ∈ H10 (Ω) : ∇u · ∇v dΩ = f v dΩ ∀v ∈ H10 (Ω), (2.16) Ω
Ω
con f ∈ L (Ω) ed avendo posto 2
∂v ∈ L2 (Ω), i = 1, 2}, ∂xi H10 (Ω) = {v ∈ H1 (Ω) : v = 0 su ∂Ω}.
H1 (Ω) = {v : Ω→R t.c. v ∈ L2 (Ω),
Le derivate vanno intese nel senso delle distribuzioni e la condizione v = 0 su ∂Ω nel senso delle tracce (si veda l’Appendice A). In particolare, osserviamo che se u, v ∈ H 10 (Ω), allora ∇u, ∇v ∈ [L2 (Ω)]2 e quindi ∇u · ∇v ∈ L1 (Ω). Quest’ultima proprietà si ottiene applicando la seguente disuguaglianza |(f, g)L2 (Ω) | = f g dΩ ≤ f L2 (Ω) gL2 (Ω) , Ω
detta disuguaglianza di Cauchy-Schwarz. Abbiamo indicato con " f L2 (Ω) =
|f |2 dΩ Ω
2.3 Il problema di Poisson nel caso bidimensionale
23
la norma di f in L 2 (Ω) (si veda l’Appendice A). Dunque l’integrale che compare a sinistra della (2.16) ha perfettamente senso così come quello che compare a destra, a patto di richiedere f ∈ L 2 (Ω). Analogamente al caso monodimensionale, anche nel caso bidimensionale si dimostra che il problema (2.16) è equivalente al seguente problema variazionale: ⎧ J(u) = inf J(v) con ⎪ ⎪ ⎨ v∈V trovare u ∈ V : 1 2 ⎪ J(v) = |∇v| dΩ − f v dΩ, ⎪ ⎩ 2 Ω
Ω
avendo posto V = H 10 (Ω). Possiamo riscrivere la formulazione debole (2.16) in un modo più compatto introducendo la seguente forma a : V × V → R, a(u, v) =
∇u · ∇v dΩ
(2.17)
Ω
ed il seguente funzionale f v dΩ
F : V → R, F (v) = Ω
(funzionali e forme sono introdotti nell’Appendice A). Il problema (2.16) diventa allora: trovare u ∈ V : a(u, v) = F (v) ∀v ∈ V. Notiamo che a(·, ·) è una forma bilineare (ovvero lineare rispetto ad entrambi i suoi argomenti), mentre F è un funzionale lineare. Supponendo f ∈ L 2 (Ω) si ha che |F (v)| ≤ f L2 (Ω) vL2 (Ω) ≤ f L2 (Ω) vH1 (Ω) . Di conseguenza, F è anche limitato. Infatti, grazie alla definizione (A.2) dell’Appendice A, la sua norma è F V =
|F (v)| , v∈V \{0} vV sup
e pertanto si conclude che F V ≤ f L2 (Ω) . Per un noto teorema dell’Analisi, essendo F lineare e limitato è anche continuo e, di conseguenza, F appartiene a V , lo spazio duale di V , ovvero l’insieme dei funzionali lineari e continui definiti su V (si veda l’Appendice A.1).
24
2 Equazioni di tipo ellittico
2.3.2 Equivalenza, nel senso delle distribuzioni, tra la forma debole e la forma forte del problema di Dirichlet Vogliamo dimostrare che le equazioni del problema (2.12) vengono realmente soddisfatte dalla soluzione debole, anche se solo nel senso delle distribuzioni. Per fare questo riprendiamo la sua formulazione debole (2.16). Sia ora D(Ω) lo spazio delle funzioni infinitamente derivabili ed a supporto compatto in Ω (si veda l’Appendice A). Ricordiamo che D(Ω) ⊂ H 10 (Ω). Scegliendo allora v = ϕ ∈ D(Ω) nella (2.16), avremo ∇u · ∇ϕ dΩ = f ϕ dΩ ∀ϕ ∈ D(Ω). (2.18) Ω
Ω
Applicando la formula di Green (2.15) al primo membro della (2.18), troviamo ∂u ϕ dγ = f ϕ dΩ ∀ϕ ∈ D(Ω), − Δuϕ dΩ + ∂n Ω
∂Ω
Ω
dove gli integrali vanno intesi nel senso delle dualità, ovvero: − Δuϕ dΩ = D (Ω) < −Δu, ϕ >D(Ω) , Ω ∂u ϕ dγ ∂n
=
D (∂Ω)
∂Ω
D(∂Ω) . ∂n
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.12) è dunque verificata, pur di intendere le derivate nel senso delle distribuzioni e di interpretare l’uguaglianza fra −Δu e f non in senso puntuale, ma nel senso delle distribuzioni (e quindi quasi ovunque in Ω). Infine, l’annullamento di u sul bordo (nel senso delle tracce) è conseguenza immediata dell’appartenenza di u a H 10 (Ω).
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 ⎪ ⎩ =φ su ΓN , ∂n
(2.19)
2.3 Il problema di Poisson nel caso bidimensionale
25
ΓN
Ω
n ΓD Figura 2.3. Il dominio computazionale Ω ◦
◦
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 puro, in cui Γ D = ∅, i dati f e φ dovranno verificare la seguente condizione di compatibilità
−
φ dγ =
f dΩ
(2.20)
Ω
∂Ω
affinché il problema possa avere soluzione. La (2.20) si deduce integrando l’equazione differenziale in (2.19) ed applicando il teorema di Gauss −
Δu dΩ = − div(∇u) dΩ = −
Ω
Ω
∂Ω
∂u dγ. ∂n
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 del problema forte senza condizioni di compatibilità sui dati. Supponiamo inoltre che f ∈ L2 (Ω), g ∈ H1/2 (ΓD ) e φ ∈ L2 (ΓN ), avendo indicato con H 1/2 (ΓD ) lo spazio delle funzioni di L 2 (ΓD ) che sono tracce di funzioni di H 1 (Ω) (si veda la Sez. A.3.3). Grazie alla formula di Green, dalla (2.19) otteniamo
∇u · ∇v dΩ −
Ω
∂Ω
∂u v dγ = ∂n
f v dΩ.
(2.21)
Ω
Ricordando che ∂u/∂n = φ su Γ N e sfruttando l’additività degli integrali, la (2.21) diventa ∂u v dγ − φ v dγ = f v dΩ. ∇u · ∇v dΩ − (2.22) ∂n Ω
ΓD
ΓN
Ω
26
2 Equazioni di tipo ellittico
Imponendo che la funzione test v sia nulla su Γ D , il primo integrale al bordo che compare nella (2.22) si annulla. Il problema misto ammette perciò la seguente formulazione debole: trovare u ∈ Vg : ∇u · ∇v dΩ = f v dΩ + φ v dγ ∀v ∈ V, (2.23) Ω
Ω
ΓN
avendo denotato con V lo spazio V = H1ΓD (Ω) = {v ∈ H1 (Ω) : v|ΓD = 0}, ed avendo posto Vg = {v ∈ H1 (Ω) : v|ΓD = g}. La formulazione (2.23) non è soddisfacente, non solo perché la scelta degli spazi non è “simmetrica” (v ∈ V , mentre u ∈ V g ), ma soprattutto perché V g è una varietà affine, ma non è un sottospazio di H 1 (Ω) (infatti non è vero che combinazioni lineari di elementi di Vg siano ancora elementi di V g ). Procediamo allora in modo analogo a quanto visto nella Sez. 2.2.2. Supponiamo di conoscere una funzione R g , detta rilevamento del dato al bordo, tale che Rg ∈ H1 (Ω),
Rg |ΓD = g.
Solitamente sul rilevamento R g viene inoltre fatta la seguente richiesta di continuità Rg H1 (Ω) ≤ CgH1/2 (ΓD ) , ◦
◦
con C costante. 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.23) diventa ◦
◦
trovare u ∈ H1ΓD (Ω) : a(u, v) = F (v)
∀v ∈ H1ΓD (Ω),
avendo definito la forma bilineare a(·, ·) come nella (2.17), mentre il funzionale lineare F assume ora la forma F (v) = f v dΩ + φ v dγ − ∇Rg · ∇v dΩ. Ω
ΓN
Ω
Il problema ora è simmetrico essendo lo spazio in cui si cerca la (nuova) soluzione incognita coincidente con lo spazio delle funzioni test. Le condizioni di Dirichlet sono dette essenziali in quanto vengono imposte in maniera esplicita nella determinazione dello spazio funzionale in cui il problema è posto. Le condizioni di Neumann, invece, sono dette naturali, in quanto vengono soddisfatte implicitamente dalla soluzione del problema (si veda a questo proposito la Sez. 2.3.4). Questa differenza di trattamento avrà importanti ripercussioni sui problemi approssimati.
2.3 Il problema di Poisson nel caso bidimensionale
27
Osservazione 2.3 La riduzione del problema a forma “simmetrica” consentirà di ottenere 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 R g di una funzione al bordo di forma arbitraria può risultare assai problematico. Tale compito è più agevole nell’ambito dell’approssimazione numerica, dove in genere viene costruito un rilevamento di un’approssimazione della funzione g (si veda il Cap. 3). •
2.3.4 Equivalenza, nel senso delle distribuzioni, tra la forma debole e la forma forte per il problema di Neumann Consideriamo il problema di Neumann non omogeneo −Δu + σu = f in Ω, ∂u =φ su ∂Ω, ∂n
(2.24)
dove σ è una costante positiva o, più in generale, una funzione σ ∈ L ∞ (Ω) tale che σ(x) ≥ α0 q.o. in Ω, per un’opportuna costante α 0 > 0. Supponiamo inoltre 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Ω = f v dΩ + φv dγ Ω
Ω
Ω
∀v ∈ H1 (Ω).
(2.25)
∂Ω
Prendendo v = ϕ ∈ D(Ω) e controintegrando per parti, si ottiene D (Ω)
< −Δu + σu − f, ϕ >D(Ω) = 0 ∀ϕ ∈ D(Ω).
Pertanto −Δu + σu = f
in D (Ω)
ovvero −Δu + σu − f = 0
quasi ovunque in Ω.
(2.26)
Nel caso in cui u ∈ C 2 (Ω) l’applicazione della formula di Green (2.15) in (2.25) conduce a ∂u − φ)v = 0 ∀v ∈ H1 (Ω), (−Δu + σu − f )v dΩ + ( ∂n Ω
∂Ω
28
2 Equazioni di tipo ellittico
e quindi, grazie a (2.26), ∂u =φ ∂n
su ∂Ω.
Nel caso in cui la soluzione u di (2.25) sia solo in H 1 (Ω) si può utilizzare la formula di Green generalizzata che afferma che esiste un unico funzionale lineare e continuo g ∈ (H1/2 (∂Ω)) (detto derivata normale generalizzata), operante sullo spazio H1/2 (∂Ω) che soddisfa ∇u·∇v dΩ = < −Δu, v > + g, v ∀v ∈ H1 (Ω). Ω
Abbiamo indicato con < · , · > la dualità fra H 1 (Ω) e il suo duale, e con · , · quella fra H1/2 (∂Ω) e il suo duale. Chiaramente g coincide con la classica derivata normale di u se u ha sufficiente regolarità. Per semplicità useremo nel seguito la notazione ∂u/∂n nel senso di derivata normale generalizzata. Si ottiene dunque che per v ∈ H1 (Ω) < −Δu + σu − f, v > + ∂u/∂n − φ, v = 0; grazie a (2.26), si conclude allora che ∂u/∂n − φ, v = 0 ∀v ∈ H1 (Ω) e quindi che ∂u/∂n = φ quasi ovunque su ∂Ω.
2.4 Problemi ellittici più generali Consideriamo ora il problema ⎧ ⎪ ⎨ −div(μ∇u) + σu = f u=g ⎪ ⎩ μ ∂u = φ ∂n ◦
in Ω, su ΓD ,
(2.27)
su ΓN ,
◦
dove ΓD ∪ ΓN = ∂Ω con Γ D ∩ Γ N = ∅. Supporremo che f ∈ L 2 (Ω), μ, σ ∈ L∞ (Ω). Supponiamo inoltre che ∃μ 0 > 0 tale che μ(x) ≥ μ0 e σ(x) ≥ 0 quasi ovunque in Ω. Nel solo caso in cui σ = 0 richiederemo che Γ D sia non vuoto onde evitare che la soluzione perda di unicità. Supporremo infine che g e φ siano funzioni sufficientemente regolari su ∂Ω, ad esempio g ∈ H 1/2 (ΓD ) e φ ∈ L2 (ΓN ). Anche in questo caso procediamo moltiplicando l’equazione per una funzione test v ed integrando (ancora formalmente) sul dominio Ω: [−div(μ∇u) + σu] v dΩ = f v dΩ. Ω
Ω
2.4 Problemi ellittici più generali
29
Applicando la formula di Green si ottiene:
μ∇u · ∇v dΩ + Ω
σ u v dΩ − Ω
∂Ω
∂u μ v dγ = ∂n
f v dΩ, Ω
che possiamo anche riscrivere come:
μ∇u · ∇v dΩ + Ω
σ u v dΩ −
Ω
μ ΓD
∂u v dγ = ∂n
f v dΩ +
Ω
μ ΓN
∂u v dγ. ∂n
La funzione μ∂u/∂n è detta derivata conormale associata all’operatore −div(μ∇u). Su ΓD imponiamo che la funzione test v sia nulla, mentre su Γ N imponiamo che la derivata conormale valga φ. Otteniamo
μ∇u · ∇v dΩ +
Ω
σ u v dΩ =
Ω
f v dΩ +
Ω
φv dγ. ΓN
◦
Indicato con R g un rilevamento di g, poniamo u = u − Rg . La formulazione debole del problema (2.27) è allora ◦
trovare u ∈ H1ΓD (Ω) : ◦ ◦ μ∇u · ∇v dΩ + σ uv dΩ = f v dΩ + Ω
Ω
− μ∇Rg · ∇v dΩ − Ω
Ω
σRg v dΩ + Ω
φv dγ
∀v ∈ H1ΓD (Ω).
ΓN
Definiamo la forma bilineare a : V × V → R, a(u, v) =
μ∇u · ∇v dΩ +
Ω
σ u v dΩ Ω
ed il funzionale lineare e continuo F (v) = − a(Rg , v) +
f v dΩ +
Ω
φv dγ.
(2.28)
∀v ∈ H1ΓD (Ω).
(2.29)
ΓN
Il problema precedente si può allora riscrivere come: ◦
◦
trovare u ∈ H1ΓD (Ω) : a(u, v) = F (v)
30
2 Equazioni di tipo ellittico
Un problema ancora più generale di (2.27) è il seguente: ⎧ Lu = f in Ω, ⎪ ⎨ u=g su ΓD , ⎪ ⎩ ∂u = φ su ΓN , ∂nL ◦
◦
essendo Ω ⊂ R2 , ΓD ∪ ΓN = ∂Ω con Γ D ∩ Γ N = ∅, ed avendo definito Lu = −
2 ∂ ∂u aij + σu, ∂xi ∂xj i,j=1
dove i coefficienti a ij sono in generale delle funzioni definite in Ω. La derivata 2 ∂u ∂u = aij ni ∂nL i,j=1 ∂xj
è detta derivata conormale di u associata all’operatore L (essa coincide con la derivata normale quando Lu = −Δu). Supponiamo che σ(x) ∈ L ∞ (Ω) e che ∃α0 > 0 tale che σ(x) ≥ α0 q.o. in Ω. Inoltre, ¯ → R siano funzioni continue ∀i, j = 1, 2 e che supponiamo che i coefficienti a ij : Ω esista una costante α positiva tale che ∀ξ = (ξ1 , ξ2 )T ∈ R2
2
2 aij (x)ξi ξj ≥ α ξi2
i,j=1
q.o. in Ω.
(2.30)
i=1
In tal caso la formulazione debole è ancora la stessa di (2.29), il funzionale F è ancora quello introdotto in (2.28), mentre ⎤ ⎡ 2 ∂u ∂v a(u, v) = ⎣ aij + σuv ⎦ dΩ. (2.31) ∂xj ∂xi i,j=1 Ω
Si può dimostrare (si veda l’Esercizio 2) che sotto l’ipotesi (2.30), detta ipotesi di ellitticità dei coefficienti, questa nuova forma bilineare è continua e coerciva, nel senso delle definizioni (A.3) e (A.4). Queste proprietà saranno sfruttate nell’analisi di buona posizione del problema (2.29) (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 è affrontato nell’Esercizio 7.
2.4.1 Teorema di esistenza e unicità Vale il seguente risultato fondamentale (per le definizioni si rimanda all’Appendice A.1):
2.4 Problemi ellittici più generali
31
Lemma 2.1 (di Lax-Milgram) Sia V uno spazio di Hilbert, a(·, ·) : V ×V → R una forma bilineare continua e coerciva. Sia F (·) : V → R un funzionale lineare e continuo. Allora esiste unica la soluzione del problema: trovare u ∈ V : a(u, v) = F (v)
∀v ∈ V.
(2.32)
Dimostrazione. Si basa su due classici risultati di Analisi Funzionale: il teorema di rappresentazione di Riesz, ed il teorema dell’immagine chiusa di Banach. Il lettore interessato può consultare, ad esempio, [QV94, Cap. 5]. Il Lemma di Lax-Milgram assicura dunque che la formulazione debole di un problema ellittico è ben posta, pur di verificare le ipotesi sulla forma a(·, ·) e sul funzionale F (·). Da questo Lemma discendono varie conseguenze. Riportiamo una della più importanti nel seguente Corollario. Corollario 2.1 La soluzione di (2.32) è limitata in funzione dei dati, ovvero uV ≤
1 F V , α
dove α è la costante di coercività associata alla forma bilineare a(·, ·), mentre F V è la norma del funzionale F (per la cui definizione si rimanda a (A.2) dell’Appendice A). Dimostrazione. È sufficiente scegliere v = u nella (2.32) ed usare quindi la coercività della forma bilineare a(·, ·). Infatti, si ha che αu2V ≤ a(u, u) = F (u). D’altra parte, essendo F lineare e continuo esso è anche limitato e vale la maggiorazione F (u) ≤ F V uV
e dunque la tesi. 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.32) è equivalente al seguente problema variazionale (si veda l’Esercizio 1), ⎧ ⎨ trovare u ∈ V : J(u) = min J(v), v∈V (2.33) ⎩ con J(v) = 1 a(v, v) − F (v). 2 •
32
2 Equazioni di tipo ellittico
2.5 Esercizi 1. Si dimostri che il problema debole (2.32) è equivalente al problema variazionale (2.33) se la forma bilineare è coerciva e simmetrica. [Soluzione: sia u ∈ V la soluzione del problema debole e sia w un generico elemento di V . Grazie alla bilinearità ed alla simmetria della forma, si trova 1 [a(u, u) + 2a(u, w) + a(w, w)] − [F (u) + F (w)] 2 1 1 = J(u) + [a(u, w) − F (w)] + a(w, w) = J(u) + a(w, w). 2 2
J(u + w)
=
Grazie alla coercività si ricava allora che J(u + w) ≥ J(u) + (α/2)w 2V , ovvero che ∀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)) /δ = 0 si trova la (2.32). ] 2. Si dimostri che la forma bilineare (2.31) sotto le ipotesi indicate nel testo sui coefficienti, è continua e coerciva. [Soluzione: la forma bilineare è ovviamente continua. Grazie all’ipotesi (2.30) ed al fatto che σ ∈ L∞ (Ω) è positiva q.o. in Ω, è anche coerciva in quanto a(v, v) ≥ α|v|2H1 (Ω) + α0 v2L2 (Ω) ≥ min(α, α0 )v2V
∀v ∈ V.
Facciamo notare che se V = H 1 (Ω) allora la condizione α 0 > 0 è necessaria affinché la forma bilineare sia coerciva. Nel caso in cui V = H 10 (Ω), è sufficiente 2 che α0 > −α/CΩ , essendo CΩ la costante che interviene nella disuguaglianza di Poincaré. In tal caso si può sfruttare infatti l’equivalenza fra · H1 (Ω) e | · |H1 (Ω) . Abbiamo indicato con |v| H1 (Ω) = ∇vL2 (Ω) la seminorma di v in H 1 (Ω) (si veda l’Esempio A.5 dell’Appendice A).] 3. Siano V = H10 (0, 1), a : V × V → R e F : V → R definiti nel modo seguente: 1
1 (−1 − 4x)v(x) dx,
F (v) = 0
a(u, v) =
(1 + x)u (x)v (x) dx.
0
Si dimostri che il problema: trovare u ∈ V t.c. a(u, v) = F (v) ∀v ∈ V , ammette un’unica soluzione. Si verifichi inoltre che essa coincide con u(x) = x 2 − x. [Soluzione: si dimostra facilmente che la forma bilineare è continua e coerciva in V . Allora, essendo F un funzionale lineare e continuo, grazie al Lemma di Lax-Milgram, si può concludere che la soluzione esiste unica in V . Verifichiamo che è proprio u(x) = x 2 − x. Quest’ultima funzione appartiene sicuramente a V (essendo continua e derivabile e tale che u(0) = u(1) = 0).
2.5 Esercizi
33
Inoltre, dalla relazione 1
1
1
(1 + x)u (x)v (x) dx = − ((1 + x)u (x)) v(x) dx = 0
0
(−1 − 4x)v(x) dx, 0
∀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 ⎧ 2 ⎪ ⎨ Δ u = f in Ω, u=0 su ∂Ω, ∂u ⎪ ⎩ =0 su ∂Ω, ∂n essendo Ω ⊂ R2 un aperto limitato di frontiera ∂Ω regolare, Δ 2 · = ΔΔ· l’operatore bilaplaciano e f ∈ L 2 (Ω) una funzione assegnata. [Soluzione: la formulazione debole, ottenuta applicando due volte la formula di Green all’operatore bilaplaciano, è trovare u ∈ H20 (Ω) : ΔuΔv dΩ = f v dΩ ∀v ∈ H20 (Ω), (2.34) Ω
Ω
dove H20 (Ω) = {v ∈ H2 (Ω) : v = 0, ∂v/∂n = 0 su ∂Ω}.] 5. Per ogni funzione v dello spazio di Hilbert H 20 (Ω), 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 dimostri che il problema (2.34) ammette un’unica soluzione. [Soluzione: poniamo V = H 20 (Ω). Allora, a(u, v) = ΔuΔv dΩ e F (v) = f v dΩ, Ω
Ω
sono rispettivamente una forma bilineare da V × V → R ed un funzionale lineare e continuo. Per dimostrare esistenza ed unicità basta invocare il Lemma di Lax-Milgram in quanto la forma bilineare è coerciva e continua. In effetti, grazie all’equivalenza tra norma e seminorma, esistono due costanti positive α e M tali che a(u, u) = |u|2V ≥ αu2V , |a(u, v)| ≤ M uV vV .] 6. Si scriva la formulazione debole del problema del quart’ordine ⎧ −∇ · (μ∇u) + Δ2 u + σu = 0 in Ω, ⎪ ⎪ ⎪ ⎨ u=0 su ∂Ω, ⎪ ⎪ ⎪ ⎩ ∂u = 0 su ∂Ω, ∂n
34
2 Equazioni di tipo ellittico
g ΓN
f
Ω
ΓD
Figura 2.4. Un corpo elastico parzialmente vincolato e soggetto all’azione di un carico esterno
introducendo opportuni spazi funzionali, sapendo che Ω ⊂ R 2 è un aperto limitato con bordo ∂Ω regolare e che μ(x) e σ(x) sono funzioni note definite su Ω. [Soluzione: si procede come nei due esercizi precedenti supponendo che i coefficienti μ 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 problema dell’elasticità lineare ⎧ 2 ⎪ ∂ ⎪ ⎪ − σij (u) = fi in Ω, i = 1, 2, ⎪ ⎪ ∂x ⎪ ⎨ j=1 j ui = 0 su ΓD , i = 1, 2, (2.35) ⎪ 2 ⎪ ⎪ ⎪ ⎪ ⎪ σij (u)nj = gi su ΓN , i = 1, 2, ⎩ j=1
avendo indicato con n = (n 1 , n2 )T il vettore normale uscente a Ω, u = (u 1 , u2 )T il vettore delle incognite, f = (f 1 , f2 )T e g = (g1 , g2 )T due funzioni assegnate. Inoltre si è posto per i, j = 1, 2, 1 ∂ui ∂uj σij (u) = λdiv(u)δij + 2μij (u), ij (u) = , + 2 ∂xj ∂xi essendo λ e μ due costanti positive e δ ij il simbolo di Kronecker. Il sistema (2.35) consente di descrivere lo spostamento u di un corpo elastico, omogeneo ed isotropo, che nella sua posizione di equilibrio occupa la regione Ω, sotto l’azione di una forza esterna per unità di volume f e di un carico distribuito su Γ N , di intensità g (si veda la Fig. 2.4).
2.5 Esercizi
35
[Soluzione: la formulazione debole di (2.35) si trova osservando che σ ij = σji e utilizzando la seguente formula di Green 2
σij (u)ij (v) dΩ
=
i,j=1 Ω
−
2 i,j=1 ∂Ω 2 i,j=1 Ω
σij (u)nj vi dγ ∂σij (u) vi dΩ. ∂xj
(2.36)
Assumendo v ∈ V = (H1ΓD (Ω))2 (lo spazio delle funzioni vettoriali che hanno componenti v i ∈ 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μ
Ω F (v) = f · v dΩ + g · v dγ. Ω
2
ij (u)ij (v) dΩ,
i,j=1Ω
ΓN
Sarà sufficiente supporre f ∈ (L 2 (Ω))2 e g ∈ (L2 (ΓN ))2 .] 8. Si dimostri, attraverso l’applicazione del Lemma di Lax-Milgram, che la soluzione della formulazione debole (2.36) esiste ed è unica sotto opportune condizioni sulla regolarità dei dati e sapendo che vale la seguente disuguaglianza di Korn: ∃C0 > 0 :
2
ij (v)ij (v) dΩ ≥ C0 v2V
∀v ∈ V.
i,j=1Ω
[Soluzione: si consideri la formulazione debole introdotta nella soluzione dell’esercizio precedente. La forma bilineare definita nella (2.36) è continua ed è anche coerciva grazie alla disuguaglianza di Korn. F è un funzionale lineare e continuo e quindi, per il Lemma di Lax-Milgram, la soluzione esiste ed è unica.]
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
Affrontiamo in questo capitolo la risoluzione numerica dei problemi ai limiti ellittici considerati nel Cap. 2 introducendo il metodo di Galerkin. Illustreremo poi, come caso particolare, il metodo degli elementi finiti. Esso verrà ulteriormente sviluppato nei capitoli seguenti.
3.1 Approssimazione con il metodo di Galerkin Consideriamo la formulazione debole di un generico problema ellittico posto su un dominio Ω ⊂ Rd : trovare u ∈ V : a(u, v) = F (v)
∀v ∈ V,
(3.1)
essendo V un opportuno spazio di Hilbert, sottospazio di H 1 (Ω), a(·, ·) una forma bilineare continua e coerciva da V × V in R, F (·) un funzionale lineare continuo da V in R. Sotto tali ipotesi il Lemma di Lax-Milgram assicura esistenza ed unicità della soluzione. Il metodo di Galerkin per l’approssimazione numerica del problema (3.1) consiste nel trovare una soluzione approssimata u h ∈ Vh , essendo 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 base di Vh , basta che la (3.2) sia verificata per ogni funzione della base, in quanto tutte le funzioni dello spazio V h sono una combinazione lineare delle ϕ j . Richiederemo allora che a(uh , ϕi ) = F (ϕi ), i = 1, 2, . . . , Nh .
(3.3)
38
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
Naturalmente, poiché u h ∈ Vh , uh (x) =
Nh
uj ϕj (x),
j=1
dove gli u j , j = 1, . . . , Nh , sono dei coefficienti incogniti. Le equazioni (3.3) diventano allora Nh
uj a(ϕj , ϕi ) = F (ϕi ), i = 1, 2, . . . , Nh .
(3.4)
j=1
Denotiamo con A la matrice (detta di rigidezza o di stiffness) con elementi aij =a(ϕj , ϕi ) e con f il vettore di componenti f i =F (ϕi ). Se si indica con u il vettore che ha come componenti 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 indipendenti dalla base scelta per Vh , ma che dipendono esclusivamente dalle caratteristiche del problema debole che si sta approssimando. Altre, come il numero di condizionamento o la struttura di sparsità , dipenderanno invece dalla base considerata e verranno pertanto riportate nelle sezioni dedicate ai singoli metodi numerici. Ad esempio, basi formate da funzioni con supporto piccolo saranno preferibili in quanto tutti gli elementi aij relativi a funzioni di base che hanno supporti con intersezione nulla, risulteranno nulli. Da un punto di vista computazionale verranno privilegiate quelle scelte di V h che richiedono uno sforzo computazionale modesto per il calcolo degli elementi della matrice, nonché del termine noto f. Teorema 3.1 La matrice A associata alla discretizzazione di un problema ellittico con il metodo di Galerkin è definita positiva. Dimostrazione. Ricordiamo che una matrice B ∈ R n×n si dice definita positiva se vT Bv ≥ 0 ∀v ∈ Rn
ed inoltre vT Bv = 0 ⇔
v = 0.
(3.6)
Associamo in modo univoco ad un generico vettore v = (v i ) di RNh la funzione Nh vh (x) = vj ϕj (x) ∈ Vh . Grazie alla bilinearità ed alla coercività della forma j=1
a(·, ·), otteniamo
3.2 Analisi del metodo di Galerkin
vT Av
=
=
Nh Nh j=1 i=1 Nh Nh
vi aij vj =
39
Nh Nh
vi a(ϕj , ϕi )vj ⎛ ⎞ Nh Nh a(vj ϕj , vi ϕi ) = a ⎝ vj ϕj , vi ϕi ⎠ j=1 i=1
j=1 i=1
j=1
i=1
= a(vh , vh ) ≥ αvh 2V ≥ 0. Inoltre, se vT Av = 0 allora, per quanto appena ricavato, anche v h 2V = 0 ovvero vh = 0 e quindi v = 0. Di conseguenza la tesi è dimostrata essendo soddisfatte le due condizioni (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. Nel caso ad esempio del problema di Poisson, la matrice A è simmetrica e definita positiva. La risoluzione numerica di un sistema di questo tipo potrà essere effettuata in modo efficiente sia usando metodi diretti, come la fattorizzazione di Cholesky, sia usando metodi iterativi come il metodo del gradiente coniugato (si veda l’Appendice B e, ad esempio, [QSS00, 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 u h ; - stabilità della soluzione discreta u h ; - convergenza di u h 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 e quindi, in particolare, per lo spazio V h , essendo quest’ultimo un sottospazio chiuso dello spazio di Hilbert V . Inoltre la forma bilineare a(·, ·) e il funzionale F (·) sono i medesimi del problema variazionale (3.1). Sono dunque soddisfatte le ipotesi richieste dal Lemma. Discende allora il seguente risultato: Corollario 3.1 La soluzione del problema di Galerkin (3.2) esiste ed è unica.
40
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
È tuttavia istruttivo fornire di questo Corollario una dimostrazione costruttiva senza utilizzare il Lemma di Lax-Milgram. Come abbiamo visto, infatti, il problema di Galerkin (3.2) è equivalente al sistema lineare (3.5). Dimostrando l’esistenza e l’unicità 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 è la soluzione identicamente nulla. Questo discende immediatamente dal fatto che A è definita positiva. Di conseguenza, il sistema lineare (3.5) ammette un’unica soluzione e quindi, anche il problema di Galerkin, ad esso equivalente, ammette un’unica soluzione.
3.2.2 Stabilità Il Corollario 2.1 ci permette di fornire il seguente risultato di stabilità. Corollario 3.2 Il problema di Galerkin è stabile, uniformemente rispetto ad h, in quanto vale la seguente maggiorazione della soluzione: uh V ≤
1 F V , α
dove ·V indica la norma nello spazio duale di V , definita nell’Appendice A. La stabilità del metodo garantisce che la norma u h V della soluzione discreta rimane limitata al tendere di h a zero, uniformemente rispetto ad h. Equivalentemente, garantisce che u h − wh V ≤ α1 F − GV , essendo uh e wh soluzioni numeriche corrispondenti a due dati diversi F e G.
3.2.3 Convergenza Vogliamo ora dimostrare che la soluzione del problema di Galerkin converge alla soluzione del problema debole (3.1) quando h tende a zero. Di conseguenza, a patto di prendere h sufficientemente piccolo, si potrà approssimare bene quanto si vuole la soluzione esatta u con la soluzione di Galerkin u h . 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.7)
Dimostrazione. Essendo Vh ⊂ V , la soluzione esatta u soddisfa il problema debole (3.1) per ogni elemento v=v h ∈ Vh , e quindi si ha
3.2 Analisi del metodo di Galerkin u
41
u − uh Vh uh
Figura 3.1. Interpretazione geometrica del Lemma di Céa
a(u, vh ) = F (vh ) ∀vh ∈ Vh .
(3.8)
Sottraendo membro a membro la (3.2) dalla (3.8), 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.8) coincide con la definizione di consistenza forte data nella (1.10). La proprietà (3.7), nota anche come ortogonalità di Galerkin, esprime il fatto che il metodo di Galerkin è un metodo di proiezione ortogonale. Infatti, se a(·, ·) fosse il prodotto scalare euclideo, u e u h dei vettori e Vh un sottospazio dello spazio euclideo V , la (3.7) esprimerebbe l’ortogonalità dell’errore u − u h rispetto al sottospazio Vh . In altri termini, u h è la proiezione ortogonale (secondo il prodotto scalare a(·, ·)) di u sul sottospazio Vh , e pertanto è la miglior approssimazione in V h di u (si veda la Fig. 3.1). Quando a(·, ·) è simmetrica, la forma bilineare può essere interpretata come il prodotto scalare in V e la consistenza come l’ortogonalità, rispetto al prodotto scalare a(·, ·), tra l’errore di approssimazione, u − u h , e il sottospazio Vh . In questo senso, analogamente al caso euclideo, si può dire che la soluzione approssimata u h individuata dal metodo di Galerkin è la proiezione su V h della soluzione esatta u e quindi è, tra tutti gli elementi di Vh , quella che minimizza la distanza dalla soluzione esatta u nella norma dell’energia, vale a dire nella seguente norma indotta dal prodotto scalare a(·, ·): u − uh a = a(u − uh , u − uh ). Osservazione 3.1 Come osservato, l’interpretazione geometrica del metodo di Galerkin ha senso nel solo caso in cui la forma a(·, ·) sia simmetrica. Tuttavia ciò non lede la generalità del metodo o la sua proprietà di consistenza nel caso in cui la forma bilineare sia non simmetrica. •
42
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
Consideriamo ora il valore che la forma bilineare assume quando entrambi i suoi argomenti sono pari a u − u h . Se vh è un arbitrario elemento di V h si ottiene: a(u − uh , u − uh ) = a(u − uh , u − vh ) +a(u − uh , vh − uh ) = a(u − uh , u − vh ), essendo nullo il termine nel riquadro grazie alla (3.7) e in quanto v h −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à di a(·, ·), deve essere a(u − uh , u − uh ) ≥ αu − uh 2V per cui si ha: u − uh V ≤
M u − vh V α
∀vh ∈ Vh .
Tale disuguaglianza vale per tutte le funzioni v h ∈ Vh e dunque varrà anche prendendone l’estremo inferiore. Si trova perciò u − uh V ≤
M inf u − wh V . α wh ∈Vh
(3.9)
È allora evidente che affinché il metodo converga basterà richiedere che, al tendere a zero di h, lo spazio V h tenda ad “occupare” l’intero spazio V . Precisamente, deve risultare lim inf v − vh V = 0 ∀v ∈ V.
h→0 vh ∈Vh
(3.10)
In tal caso, il metodo di Galerkin è convergente e si potrà scrivere lim u − uh V = 0.
h→0
Lo spazio Vh andrà quindi scelto opportunamente in modo da garantire la proprietà (3.10). Una volta che questo requisito sia soddisfatto, la convergenza sarà comunque verificata indipendentemente da come è fatta u; viceversa, dalla scelta di V h e dalla regolarità di u, dipenderà, in generale, la velocità con cui la soluzione discreta converge alla soluzione esatta, ovvero l’ordine di infinitesimo dell’errore rispetto a h (si veda il Teorema 3.3). Osservazione 3.2 Naturalmente, inf u − vh V ≤ u − uh V . Di conseguenza, vh ∈Vh
per la (3.9), se M α è dell’ordine dell’unità, l’errore dovuto al metodo di Galerkin è identificabile con l’errore di migliore approssimazione per u in V h . In ogni caso, i due errori hanno lo stesso ordine di infinitesimo rispetto ad h. •
3.3 Il metodo degli elementi finiti nel caso monodimensionale
43
3.3 Il metodo degli elementi finiti nel caso monodimensionale Supponiamo che Ω sia un intervallo (a, b) della retta reale. L’obiettivo di questa sezione è costruire approssimazioni dello spazio H 1 (a, b), dipendenti da un parametro h. A tale scopo introduciamo una partizione T h di (a, b) in N + 1 sottointervalli Kj =(xj−1 , xj ) di ampiezza hj = xj − xj−1 con a = x0 < x1 < . . . < xN < xN +1 = b,
(3.11)
e poniamo h = maxj hj . Poiché le funzioni di H 1 (a, b) sono funzioni continue su [a, b], possiamo costruire la seguente famiglia di spazi ( ) * ' (3.12) Xhr = vh ∈ C 0 Ω : vh |Kj ∈ Pr , ∀Kj ∈ Th , r = 1, 2, . . . avendo denotato con P r lo spazio dei polinomi di grado minore od uguale a r nella variabile x. Gli spazi Xhr sono tutti sottospazi di H1 (a, b) in quanto sono costituiti da funzioni derivabili tranne che, al limite, in un numero finito di punti (i vertici x i della triangolazione T h ). Essi forniscono scelte possibili dello spazio V h , pur di incorporare opportunamente le condizioni al bordo. Il fatto che le funzioni di X hr siano localmente dei polinomi renderà gli elementi della matrice di rigidezza facili da calcolare. Dobbiamo a questo punto scegliere una base {ϕi } per lo spazio X hr . Conviene, per quanto esposto nella Sez. 3.1, che il supporto della generica funzione di base ϕ i abbia intersezione 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 inoltre che la base sia lagrangiana: in tal caso i coefficienti dello sviluppo di una generica funzione vh ∈ Xhr sulla base stessa saranno i valori assunti da v h in opportuni punti, che chiamiamo nodi e che, come vedremo, formano generalmente un sovrainsieme dei vertici di Th . Ciò non impedisce l’uso di basi non lagrangiane, in special modo nella loro versione gerarchica (come vedremo nel seguito). Forniamo ora alcuni esempi di basi per gli spazi X h1 e Xh2 . Lo spazio Xh1 È costituito dalle funzioni continue e lineari a pezzi su una partizione T h di (a, b) della forma (3.11). Poiché per due punti distinti passa un’unica retta ed essendo le funzioni di X h1 continue, i gradi di libertà delle funzioni di questo spazio, ovvero i valori che bisogna assegnare per individuare univocamente le stesse funzioni, saranno pari al numero N + 2 di vertici della partizione stessa. In questo caso, dunque, nodi e vertici coincidono. Di conseguenza, una volta assegnate N + 2 funzioni di base ϕi , i = 0, . . . , N + 1, l’intero spazio X h1 verrà completamente descritto. La base lagrangiana è caratterizzata dalla proprietà seguente: ϕi ∈ Xh1
tale che ϕi (xj ) = δij , i, j = 0, 1, . . . , N + 1,
44
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
1 ϕi
x0 = a
xi−1 xi
xi+1
xN +1 = b
Figura 3.2. La funzione di base di Xh1 relativa al nodo xi
essendo δij il delta di Kronecker. La funzione ϕ i è dunque lineare a tratti e vale uno in xi e zero in tutti gli altri nodi della partizione (si veda la Fig. 3.2). La sua espressione è data da ⎧ x − xi−1 ⎪ ⎪ per xi−1 ≤ x ≤ xi , ⎪ ⎪ xi − xi−1 ⎪ ⎪ ⎨ xi+1 − x ϕi (x) = (3.13) per xi ≤ x ≤ xi+1 , ⎪ ⎪ x − x i+1 i ⎪ ⎪ ⎪ ⎪ ⎩ 0 altrimenti. Evidentemente ϕ i ha come supporto l’unione dei soli intervalli [x i−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 la matrice di rigidezza è tridiagonale in quanto a ij = 0 se j ∈ {i − 1, i, i + 1}. Come si vede dall’espressione (3.13) le due funzioni di base ϕ i e ϕi+1 definite su ogni intervallo [x i , xi+1 ], si ripetono sostanzialmente immutate, a meno di un fattore di scalatura legato alla lunghezza dell’intervallo stesso. Nella pratica si possono ottenere le due funzioni di base ϕ i e ϕi+1 trasformando due funzioni di base ϕ +0 e ϕ +1 costruite, 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 (x i , xi+1 ) della decomposizione di (a, b) può essere ottenuto a partire dall’intervallo (0, 1) tramite la trasformazione lineare φ : [0, 1] → [x i , xi+1 ] definita come x = φ(ξ)=xi + ξ(xi+1 − xi ). 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))
(3.14)
3.3 Il metodo degli elementi finiti nel caso monodimensionale
45
essendo ξ(x) = (x − xi )/(xi+1 − xi ) (si vedano le Figure 3.3 e 3.4). Questo modo di procedere (definire la base su un elemento di riferimento e poi trasformarla su uno specifico elemento) risulterà di fondamentale importanza quando si considereranno problemi in più dimensioni. Lo spazio Xh2 Le funzioni di X h2 sono polinomi compositi, di grado 2 su ciascun intervallo di T h e, di conseguenza, sono univocamente individuate quando siano assegnati i valori da esse assunti in tre punti distinti di ogni intervallo K. Per garantire la continuità delle funzioni di X h2 due di questi punti saranno gli estremi del generico intervallo di T h , il terzo sarà il punto medio dello stesso. I gradi di libertà dello spazio X h2 sono perciò i valori di vh assunti agli estremi degli intervalli componenti la partizione T h e nei punti medi degli stessi. Ordiniamo i nodi a partire da x 0 = a fino a x2N +2 = b; in tal modo i punti medi corrisponderanno ai nodi di indice dispari, gli estremi degli intervalli a quelli di indice pari (per altre numerazioni si veda l’Esercizio 6). Esattamente come nel caso precedente la base lagrangiana per X h2 è quella formata dalle funzioni ϕi ∈ Xh2
ϕi (xj ) = δij , i, j = 0, 1, . . . , 2N + 2.
tali che
1
1 φ
−→
ϕ +0
0
1
ϕi
ξ
xi
xi+1 x
Figura 3.3. La funzione di base ϕi in [xi , xi+1 ] e la corrispondente funzione di base ϕ b0 sull’elemento di riferimento
1
1 φ
−→
ϕ +1
0
1
ξ
ϕi+1
xi
xi+1 x
Figura 3.4. La funzione base ϕi+1 in [xi , xi+1 ] e la corrispondente funzione di base ϕ b1 sull’elemento di riferimento
46
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
ϕ +1
ϕ +0
0
ϕ +2
0.5
1
ξ
Figura 3.5. Le funzioni di base di Xh2 sull’intervallo di riferimento
Sono quindi funzioni quadratiche a tratti che assumono valore 1 nel nodo a cui sono associate e sono nulle nei restanti nodi. Riportiamo l’espressione esplicita della generica funzione di base associata agli estremi degli intervalli della partizione ⎧ (x − xi−1 )(x − xi−2 ) ⎪ ⎪ se xi−2 ≤ x ≤ xi , ⎪ ⎪ (x i − xi−1 )(xi − xi−2 ) ⎪ ⎪ ⎨ (xi+1 − x)(xi+2 − x) (i pari) ϕi (x) = se xi ≤ x ≤ xi+2 , ⎪ ⎪ ⎪ (x i+1 − xi )(xi+2 − xi ) ⎪ ⎪ ⎪ ⎩ 0 altrimenti. Per i punti medi degli intervalli si ha invece ⎧ (xi+1 − x)(x − xi−1 ) ⎪ ⎨ (x i+1 − xi )(xi − xi−1 ) (i dispari) ϕi (x) = ⎪ ⎩ 0
se xi−1 ≤ x ≤ xi+1 , altrimenti.
Come nel caso degli elementi finiti lineari, per descrivere la base è sufficiente fornire l’espressione delle funzioni di base sull’intervallo di riferimento [0, 1] e poi trasformare queste ultime tramite la (3.14). Abbiamo ϕ +0 (ξ) = (1 − ξ)(1 − 2ξ), ϕ +1 (ξ) = 4(1 − ξ)ξ,
ϕ +2 (ξ) = ξ(2ξ − 1).
Di queste funzioni riportiamo una rappresentazione nella Fig. 3.5. Si noti come la generica funzione di base ϕ 2i+1 relativa al nodo x 2i+1 abbia un supporto che coincide con l’elemento cui il punto medio appartiene. Per la sua forma particolare è nota come funzione a bolla. Possiamo anche introdurre altre basi di tipo non lagrangiano. Una particolarmente interessante è 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 Xh2 , sfrutta le funzioni di base dello spazio di dimensione immediatamente inferiore, Xh1 . Essa è conveniente da un punto di vista computazionale se si decidesse, durante
3.3 Il metodo degli elementi finiti nel caso monodimensionale
47
l’approssimazione di un problema, di aumentare solo localmente, cioè solo in alcuni elementi, il grado di interpolazione (ovvero se si intendesse effettuare quella che chiameremo adattività in grado od adattività di tipo p). I polinomi di Lagrange sono linearmente indipendenti per costruzione. In generale però tale proprietà andrà verificata per assicurarci che l’insieme dei polinomi scelti sia effettivamente 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 nel caso di elementi finiti di grado 2 sarà pentadiagonale. Procedendo nello stesso modo si potranno generare basi per X hr con r arbitrario: facciamo però notare che al crescere del grado polinomiale aumenta il numero di gradi di libertà e dunque il costo computazionale per risolvere il sistema lineare (3.5). Inoltre, come ben noto dalla teoria dell’interpolazione polinomiale, l’uso di gradi elevati combinato con distribuzioni equispaziate dei nodi, conduce ad approssimazioni sempre meno stabili, a discapito dell’aumento teorico di accuratezza. Un rimedio brillante è fornito dall’approssimazione agli elementi spettrali che, facendo uso di nodi opportuni (quelli delle formule di quadratura di Gauss), consente di generare approssimazioni di accuratezza arbitrariamente elevata. Si veda al proposito il Cap. 4.
3.3.1 Una definizione di elemento finito nel caso Lagrangiano Possiamo a questo punto formalizzare che cosa si intende per elemento finito. Dagli esempi visti si può dedurre che tre sono gli ingredienti che consentono di caratterizzare in modo univoco un elemento finito nel caso generale, ovvero indipendentemente dalla dimensione: • • •
il dominio di definizione K dell’elemento (nel caso monodimensionale è un intervallo, nel caso bidimensionale sarà in generale un triangolo); lo spazio dei polinomi P r definito su di esso ed una base {ϕ j }rj=0 di Pr ; un insieme di funzionali su P r , Σ = {γi : Pr → R}ri=0 che soddisfino γi (ϕj ) = δij , essendo δij il delta di Kronecker. Essi permettono di identificare univocamente i coefficienti {α j }rj=0 dello sviluppo di un polinomio p ∈ P r rispetr to alla base scelta, p(x) = j=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 Lagrange e il grado di libertà α i è eguale al valore assunto dal polinomio p in un punto a i di K, detto nodo, cioè si ha α i = p(ai ), i = 0, . . . , r. Si può quindi porre, con un piccolo abuso di notazione, Σ = {a j }rj=0 , in quanto la conoscenza della posizione dei nodi ci permette di trovare i gradi di libertà (si noti che questo non è vero in generale,
48
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
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 è arbitraria. Infatti il problema dell’interpolazione su un certo insieme K può non essere ben posto. Per questo motivo risulta utile la seguente definizione: Definizione 3.1 Un insieme Σ = {aj }rj=0 di punti di K è detto unisolvente su Pr se, dati r + 1 scalari arbitrari αj , j = 0, . . . , r, esiste un’unica funzione p ∈ Pr tale che p(aj ) = αj , j = 0, . . . , r. In tal caso, la terna (K, Σ, P r ) viene chiamata elemento finito di Lagrange. Nel caso di elementi finiti lagrangiani si richiama solitamente l’elemento citando il solo spazio dei polinomi: così gli elementi finiti lineari introdotti in precedenza sono detti P 1 , quelli quadratici sono i P 2 , e così via. Come abbiamo visto per gli elementi finiti P 1 e P2 , è conveniente definire l’e+ tipicamente si tratta dellemento finito a partire da un elemento di riferimento K; 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, tramite una trasformazione φ, si passa all’elemento finito definito su K. La trasformazione riguarda perciò l’elemento finito nella sua interezza. Più precisamente, si osserva che + Σ, + P + r ) è un elemento finito di Lagrange e se φ : K + → Rd è una applicazione se (K, continua e iniettiva, allora (K, Σ, P r ) si dice ancora elemento finito di Lagrange con + r }, Σ = φ(Σ). + Pr = {p : K → R : p ◦ φ ∈ P
+ K = φ(K),
La definizione dello spazio dei polinomi P r definiti sui triangoli sarà introdotta nella Sez. 3.4.
3.3.2 L’approssimazione con elementi finiti lineari Vediamo ora come approssimare il seguente problema: −u + σu = f, 0 < x < 1, u(0) = 0, u(1) = 0, la cui formulazione debole, come abbiamo visto nel capitolo precedente, è 1 trovare u ∈
H10 (0, 1)
1
u v dx +
: 0
1 σuv dx =
0
f v dx
∀v ∈ H10 (0, 1).
0
Supponiamo di introdurre una decomposizione T h di (0, 1) in N + 1 sottointervalli Kj e di utilizzare elementi finiti lineari. Introduciamo dunque lo spazio:
3.3 Il metodo degli elementi finiti nel caso monodimensionale
49
hi 0 = x0
xN xN +1 = 1
xi−1xi
x
Figura 3.6. Esempio di una funzione di Vh
Vh = {vh ∈ Xh1 : vh (0) = vh (1) = 0}
(3.15)
ossia lo spazio delle funzioni lineari a tratti, nulle al bordo (in Fig. 3.6 è stata rappresentata una funzione di tale spazio). Esso è un sottospazio di H 10 (0, 1). Il corrispondente problema ad elementi finiti è allora dato da: 1 trovare uh ∈ Vh :
uh vh
1 dx +
0
1 σuh vh dx =
0
f vh dx ∀vh ∈ Vh .
(3.16)
0
Utilizziamo come base di X h1 l’insieme delle funzioni a capanna definite in (3.13) con l’accorgimento di considerare i soli indici 1 ≤ i ≤ N . Esprimendo u h come N combinazione lineare di tali funzioni u h (x) = i=1 ui ϕi (x), ed imponendo che la (3.16) sia soddisfatta per ogni elemento della base di V h , si ottiene un sistema di N equazioni nelle N incognite u i : Au = f ,
(3.17)
dove 1 A = [aij ],
aij =
ϕj ϕi
1 dx +
0
u = [ui ];
f = [fi ],
1 fi =
σϕj ϕi dx ; 0
f ϕi dx. 0
Si osservi che ui = uh (xi ), 1 ≤ i ≤ N . Per trovare la soluzione numerica u h basta ora risolvere il sistema lineare (3.17). Nel caso di elementi finiti lineari, la matrice di rigidezza A non è solo sparsa, ma risulta essere anche tridiagonale. Per calcolarla procediamo come segue. Come abbiamo visto non è necessario operare direttamente con le funzioni di base sui singoli intervalli, ma è sufficiente riferirsi a quelle definite sull’intervallo di riferimento: basterà poi trasformare opportunamente gli integrali che compaiono all’interno dei coefficienti di A. Un generico elemento non nullo della matrice di rigidezza è dato da
50
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
1 aij =
(ϕi ϕj
xi + σϕi ϕj )dx =
x i+1
(ϕi ϕj
xi−1
0
(ϕi ϕj + σϕi ϕj )dx.
+ σϕi ϕj )dx + xi
Consideriamo il primo addendo supponendo j = i − 1. Evidentemente, tramite la trasformazione di coordinate (3.14), possiamo riscriverlo come xi
(ϕi ϕi−1 + σϕi ϕi−1 )dx =
xi−1 1
[ϕi (x(ξ))ϕi−1 (x(ξ)) + σϕi (x(ξ))ϕi−1 (x(ξ))]hi dξ,
0
+1 (ξ) e avendo osservato che dx = d(x i−1 + ξhi ) = hi dξ. D’altra parte ϕi (x(ξ)) = ϕ ϕi−1 (x(ξ)) = ϕ +0 (ξ). Osserviamo inoltre che d dξ 1 ϕi (x(ξ)) = ϕ +1 (ξ) = ϕ + (ξ). dx dx hi 1 Analogamente si trova che ϕ i−1 (x(ξ)) = (1/hi )ϕ +0 (ξ). Dunque, l’espressione dell’elemento ai,i−1 diventa 1 ai,i−1 = 0
1 ϕ + (ξ)ϕ +0 (ξ) + σ ϕ +1 (ξ)ϕ +0 (ξ)hi hi 1
dξ.
Il vantaggio sta nel fatto che nel caso di coefficienti costanti tutti gli integrali che compaiono all’interno della matrice A possono essere calcolati una volta per tutte. Vedremo nel caso multidimensionale come questo modo di procedere mantenga la sua importanza anche nel caso di coefficienti variabili.
3.3.3 Interpolazione e stima di interpolazione Consideriamo, ad esempio, l’intervallo I = (a, b). Per ogni v ∈ C 0 (I), definiamo interpolante di v nello spazio di X h1 , determinato dalla partizione T h , la funzione Π h1 v tale che: Πh1 v(xi ) = v(xi ) ∀xi , nodo della partizione, i = 0, . . . , N + 1. Utilizzando la base lagrangiana {ϕ i } dello spazio Xh1 , l’interpolante può essere espressa nel seguente modo: Πh1 v(x) =
N +1
v(xi )ϕi (x).
i=0
3.3 Il metodo degli elementi finiti nel caso monodimensionale
51
Quindi, una volta nota v e una base di X h1 , l’interpolante di v è facilmente calcolabile. L’operatore Π h1 : C 0 (I) → Xh1 che associa ad una funzione v la sua interpolante Π h1 v è detto operatore di interpolazione. Analogamente possiamo definire gli operatori Π hr : C 0 (I) → Xhr , per r ≥ 1. r Indicato con Π K l’operatore di interpolazione locale che associa ad una funzione v r il polinomio Π K v ∈ Pr (K), interpolante v negli r + 1 nodi dell’elemento K ∈ T h , definiamo Πhr v come r (v K ) ∀K ∈ Th . (3.18) Πhr v ∈ Xhr : Πhr v K = ΠK
Teorema 3.2 Sia v ∈ H r+1 (I), per r ≥ 1, e sia Πhr v ∈ Xhr la sua funzione interpolante definita nella (3.18). Vale allora la seguente stima dell’errore di interpolazione: |v − Πhr v|Hk (I) ≤ Ck,r hr+1−k |v|Hr+1 (I)
per k = 0, 1.
(3.19)
Le costanti Ck,r sono indipendenti da v ed h. Ricordiamo che H 0 (I)=L2 (I) e che | · |H0 (I) = · L2 (I) . Dimostrazione. Dimostriamo (3.19) per il caso r = 1, rimandando a [QV94, Cap. 3] o a [Cia78] per il caso più generale. Poniamo e = v − Π h1 v. Dato che e(xj ) = 0 per ogni nodo x j , il teorema di Rolle permette di concludere che esistono degli ξ j ∈ Kj = (xj−1 , xj ), con j = 1, . . . , N + 1, per i quali si ha e (ξj ) = 0. Essendo Πh1 v una funzione lineare in ciascun intervallo K j , otteniamo che per x ∈ Kj x
e (x) =
da cui deduciamo che
|e (x)| ≤
xj
x
e (s)ds =
v (s)ds,
ξj
ξj
|v (s)|ds,
per x ∈ Kj .
xj−1
Utilizzando ora la disuguaglianza di Cauchy-Schwarz otteniamo
|e (x)| ≤
xj
!1/2 1 ds 2
xj−1
xj
!1/2
|v (s)| ds
≤h
2
1/2
xj−1
xj
!1/2
|v (s)| ds 2
.
xj−1
(3.20) Pertanto,
xj
xj−1
|e (x)|2 dx ≤ h2
xj
|v (s)|2 ds.
xj−1
(3.21)
x
Per poter maggiorare e(x) basta notare che, per ogni x ∈ K j , e(x) = xj−1
quindi, applicando la disuguaglianza (3.20), si ottiene
e (s)ds, e
52
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
|e(x)| ≤
xj
|e (s)|ds ≤ h
xj−1
Dunque,
xj
!1/2
xj
3/2
|v (s)| ds 2
.
xj−1
|e(x)| dx ≤ h 2
xj−1
4
xj
|v (s)|2 ds.
(3.22)
xj−1
Sommando sugli indici j da 1 a N + 1 in (3.21) e (3.22) si ottengono, rispettivamente le disuguaglianze ⎛ ⎝
b
⎞1/2 |e (x)|2 dx⎠
a
e
⎛ b ⎞1/2 ≤ h ⎝ |v (x)|2 dx⎠ , a
⎞1/2 ⎞1/2 ⎛ b ⎛ b ⎝ |e(x)|2 dx⎠ ≤ h2 ⎝ |v (x)|2 dx⎠ a
a
che corrispondono alla stima desiderata (3.19) per r = 1, con C k,1 = 1 e k = 0, 1.
3.3.4 Stima dell’errore nella norma H1 Grazie al risultato (3.19) possiamo ottenere una stima sull’errore di approssimazione del metodo di Galerkin. Teorema 3.3 Sia u ∈ V la soluzione esatta del problema variazionale (3.1) completato con condizioni al bordo di Dirichlet omogenee e u h la sua soluzione approssimata con il metodo ad elementi finiti di grado r, ovvero la soluzione del problema (3.16) in cui Vh = {vh ∈ Xhr : vh (0) = vh (1) = 0}. 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.23)
essendo C una costante indipendente da u e da h. Dimostrazione. Dalla (3.9), ponendo w h = Πhr u, l’interpolante di grado r di u nello spazio Vh , si ottiene: u − uh V ≤
M u − Πhr uV . α
3.4 Il metodo degli elementi finiti nel caso multidimensionale
53
Ora il membro di destra può essere maggiorato con la stima dell’errore di interpolazione (3.19) per k = 1, da cui segue la tesi. Da quest’ultimo teorema segue che, per aumentare l’accuratezza, si possono seguire due strategie differenti: diminuire h, ossia raffinare la griglia, oppure aumentare r, cioè utilizzare elementi finiti di grado più elevato. Quest’ultima strada ha senso però solo se la soluzione u è abbastanza regolare: infatti, dalla (3.23) si ricava immediatamente 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: dunque se la soluzione non è molto regolare non conviene usare elementi finiti di grado elevato, in quanto il maggior costo computazionale non è ripagato da un miglioramento della convergenza. Un caso interessante è quello in cui la soluzione possiede solo la regolarità minima (p = 0). Dalle relazioni (3.9) e (3.10) si ricava che si ha comunque convergenza, ma la stima (3.23) non è più valida. Non si sa quindi dire come la norma V dell’errore tenda a zero al decrescere di h. Nella Tabella 3.1 vengono riassunte queste situazioni. r u ∈ H1 (I) u ∈ H2 (I) u ∈ H3 (I) u ∈ H4 (I) u ∈ H5 (I) 1 converge
h1
h1
h1
h1
1
2
2
2 converge
h
h
h
h2
3 converge
h1
h2
h3
h3
4 converge
h1
h2
h3
h4
Tabella 3.1. Ordine di convergenza rispetto a h per il metodo degli elementi finiti al variare della regolarità della soluzione e del grado r degli elementi finiti. Su ogni colonna abbiamo evidenziato il risultato corrispondente alla scelta “ottimale” del grado polinomiale
In generale, possiamo affermare che: se u ∈ H p+1 (I), per un p > 0, allora esiste una costante C indipendente da u e da h, tale che u − uh H1 (I) ≤ Chs |u|Hs+1 (I) ,
s = min{r, p}.
(3.24)
3.4 Il metodo degli elementi finiti nel caso multidimensionale In questa sezione estendiamo al caso di problemi ai limiti in regioni bidimensionali il metodo degli elementi finiti introdotto precedentemente per problemi in una dimensione. Faremo inoltre specifico riferimento al caso di elementi finiti triangolari. Molti dei risultati presentati sono comunque immediatamente estendibili ad elementi finiti più generali (si veda, per esempio, [QV94]).
54
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
Per semplicità di trattazione, considereremo solo domini Ω ⊂ R 2 di forma poligonale e triangolazioni T h che ne rappresentino il ricoprimento con triangoli non sovrapposti. Si rimanda al Cap. 12 per una descrizione più dettagliata delle caratteristiche essenziali di una generica triangolazione T h . In questo modo il dominio discretizzato , Ωh = int K K∈Th
rappresentato dalla parte interna dell’unione dei triangoli di T h coincide esattamente con Ω. Ricordiamo che con int(A) indichiamo la parte interna dell’insieme A, ovvero la regione che si ottiene privando A della sua frontiera. Non tratteremo quindi la problematica relativa all’approssimazione di un dominio non poligonale con una triangolazione 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.
Ωh
Ω
Figura 3.7. Esempio di triangolazione di un dominio non-poligonale. La triangolazione induce una approssimazione Ωh del dominio Ω tale che limh→0 mis(Ω − Ωh ) = 0. Questa problematica non viene trattata in questo testo. Il lettore interessato può consultare, per esempio, [Cia78] o [SF73]
Anche nel caso multidimensionale, il parametro h è legato alla spaziatura della griglia. Posto hK = diam(K), per ogni K ∈ T h , dove diam(K) = max x,y∈K |x − y| è il diametro dell’elemento K, definiamo h = max K∈Th hK . Inoltre, imporremo che la griglia soddisfi la seguente condizione di regolarità. Sia ρ K il diametro del cerchio inscritto al triangolo K (detto anche sfericità); una famiglia di triangolazioni {T h , h > 0} è detta regolare se, per un opportuno δ > 0, è verificata la condizione hK ≤δ ρK
∀K ∈ Th .
(3.25)
Osserviamo che la condizione (3.25) esclude automaticamente tutti i triangoli molto deformati (cioè allungati), ovvero la possibilità di utilizzare griglie computazionali anisotrope. Peraltro, griglie anisotrope sono spesso usate nell’ambito di problemi di fluidodinamica in presenza di strati limite. Si veda l’osservazione 3.4, e, soprattutto, le referenze ([AFG + 00, DV02, FMP04]).
3.4 Il metodo degli elementi finiti nel caso multidimensionale
55
Maggiori dettagli sulla generazione di griglie su domini bidimensionali sono forniti nel Cap. 12. Indichiamo con P r lo spazio dei polinomi di grado globale minore o uguale a r, per r = 1, 2, . . . P1
= {f (x1 , x2 ) = a + bx1 + cx2 , con a, b, c ∈ R},
P2
= {f (x1 , x2 ) = a + bx1 + cx2 + dx1 x2 + ex21 + gx22 , con a, b, c, d, e, g ∈ R}, .. .
Pr
= {f (x1 , x2 ) =
aij xi1 xj2 , con aij ∈ R}.
i+j≤r
Si verifica che gli spazi Pr hanno dimensione pari a (r + 1)(r + 2) . 2 Ad esempio, risulta dim P 1 = 3, dim P2 = 6 e dim P3 = 10, quindi su ogni singolo elemento della triangolazione T h la generica funzione v h è ben definita qualora se ne conosca il valore, rispettivamente, in 3, 6 e 10 nodi opportunamente scelti (si veda la Fig. 3.8). dim Pr =
Figura 3.8. Nodi per polinomi lineari (r = 1, a sinistra), quadratici (r = 2, al centro) e cubici (r = 3, a destra). Tali insiemi sono unisolventi
Introduciamo lo spazio degli elementi finiti * ' Xhr = vh ∈ C 0 (Ω) : vh |K ∈ Pr , ∀K ∈ Th ,
r = 1, 2, . . .
(3.26)
ossia lo spazio delle funzioni globalmente continue che sono polinomiali di grado r sui singoli triangoli (elementi) della reticolazione T h . Definiamo inoltre: ◦
◦
r X hr = {vh ∈ Xh : vh |∂Ω = 0}.
(3.27)
Gli spazi Xhr e X hr sono idonei ad approssimare rispettivamente H 1 (Ω) e H10 (Ω), in virtù della seguente proprietà: Proprietà 3.2 Condizione sufficiente perché una funzione v appartenga a H1 (Ω) è che v ∈ C 0 (Ω) e che v appartenga a H 1 (K), ∀K ∈ Th .
56
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
3.4.1 Risoluzione del problema di Poisson con elementi finiti ◦
Posto Vh =Xhr , si può introdurre il seguente problema a elementi finiti per l’approssimazione del problema di Poisson (2.1) con dato al bordo di Dirichlet (2.2), nel caso omogeneo (cioè con g = 0): trovare uh ∈ Vh : ∇uh ·∇vh dΩ = f vh dΩ ∀ vh ∈ Vh . (3.28) Ω
Ω
Come nel caso monodimensionale, ogni funzione v h ∈ Vh è caratterizzata, in modo univoco, dai valori che essa assume nei nodi N i , con i = 1, . . . , Nh , della triangolazione Th (escludendo i nodi di bordo dove v h = 0); ne consegue che una base dello spazio Vh può essere l’insieme delle ϕ j ∈ Vh , j = 1, . . . , Nh , tali che: 0 i = j, ϕj (Ni ) = δij = i, j = 1, . . . , Nh . 1 i = j, In particolare se r = 1, i nodi sono i vertici degli elementi esclusi quelli appartenenti al bordo di Ω, mentre la generica funzione ϕ j è lineare su ogni triangolo ed assume il valore 1 nel nodo N j 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 spazio Xh1 ed il suo supporto
Una generica funzione v h ∈ Vh può essere espressa attraverso una combinazione lineare delle funzioni della base di V h nel seguente modo: vh (x) =
Nh
vi ϕi (x)
∀ x ∈ Ω, con vi = vh (Ni ).
(3.29)
i=1
Esprimendo allora la soluzione discreta u h in termini della base {ϕj } tramite la (3.29), h uh (x) = N j=1 uj ϕj (x), con u j = uh (Nj ), ed imponendo che essa verifichi la (3.28) per ogni funzione della base stessa, si trova il seguente sistema lineare di N h equazioni nelle Nh incognite uj , equivalente al problema (3.28), Nh uj ∇ϕj · ∇ϕi dΩ = f ϕi dΩ, j=1
Ω
Ω
i = 1, . . . , Nh .
(3.30)
3.4 Il metodo degli elementi finiti nel caso multidimensionale
57
La matrice di rigidezza ha dimensioni N h × Nh ed è definita come A = [aij ]
aij =
con
∇ϕj · ∇ϕi dΩ.
(3.31)
Ω
Inoltre, introduciamo i vettori u = [uj ]
con
uj = uh (Nj ),
b = [bi ] con
bi =
f ϕi dΩ.
(3.32)
Ω
Il sistema lineare (3.30) si può allora scrivere come Au = b.
(3.33)
È evidente che, essendo il supporto della generica funzione di base ϕ i formato dai soli triangoli aventi in comune il nodo N i , A è una matrice sparsa. In particolare il numero degli elementi di A non nulli è dell’ordine di N h in quanto a ij è diverso da zero solo se Nj e Ni sono nodi dello stesso triangolo. Non è invece detto che A abbia una struttura definita, dipenderà da come i nodi sono stati numerati. Consideriamo ora il caso di un problema di Dirichlet non omogeneo rappresentato 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 opportuna approssimazione del dato di bordo, procedendo nel seguente modo. Indichiamo con N h i nodi interni della triangolazione T h e con Nht 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 {N i , i = Nh + 1, . . . , Nht }. Una possibile approssimazione g h del dato al bordo g può essere ottenuta interpolando g sullo spazio formato dalle funzioni traccia su ∂Ω di funzioni di X hr . Essa può essere scritta come combinazione lineare delle tracce delle funzioni di base di X hr associate ai nodi di bordo: Nht ∂Ω (x) ∀x ∈ ∂Ω. (3.34) gh (x) = i=N g(N )ϕ i i +1 h Il suo rilevamento R gh ∈ Xhr è costruito come segue: Rgh (x) =
Nht
i=Nh +1
g(Ni )ϕi (x)
∀x ∈ Ω.
(3.35)
In Fig. 3.10 viene fornito un esempio di un possibile rilevamento del dato al bordo di Dirichlet non omogeneo (2.2), nel caso in cui g coincida con un valore costante. La formulazione ad elementi finiti del problema di Poisson diventa quindi: ◦
trovare uh ∈ Vh : ◦ ∇ uh ·∇vh dΩ = f vh dΩ − ∇Rgh ·∇vh dΩ Ω
Ω
Ω
∀ vh ∈ Vh .
(3.36)
58
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 costante ◦
La soluzione approssimata sarà poi fornita da u h =uh +Rgh . Si noti che, grazie al particolare rilevamento adottato, si può dare il seguente significato algebrico alla (3.36): Au = b − Bg ◦
dove A e b sono definiti come in (3.31) e (3.32), essendo ora u j =uh (Nj ). Posto b Nhb = Nht − Nh (è il numero di nodi di bordo), il vettore g ∈ R Nh e la matrice b B∈ RNh ×Nh hanno componenti, rispettivamente gi = g(Ni+Nh ),
i = 1, . . . , Nhb ,
∇ϕj+Nh · ∇ϕi dΩ,
bij =
i = 1, . . . , Nh , j = 1, . . . , Nhb .
Ω
Osservazione 3.3 Le matrici A e B sono entrambe sparse. Un efficace programma memorizzerà esclusivamente gli elementi non nulli. (Si veda, per esempio, [Saa96] per una descrizione di possibili formati di memorizzazione per matrici sparse, ed anche 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 ricorda che due nodi di griglia si dicono adiacenti se esiste un elemento K ∈ T h a cui entrambi appartengono). Anche il vettore g presenta molti elementi nulli, che non vengono di solito memorizzati. •
3.4.2 Condizionamento della matrice di rigidezza Abbiamo visto che la matrice di rigidezza A = [a(ϕ j , ϕi )] associata al problema di Galerkin, 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 condizionamento rispetto alla norma 2 è dato da
3.4 Il metodo degli elementi finiti nel caso multidimensionale
K2 (A) =
59
λ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 multidimensionale, per la matrice di rigidezza vale la seguente relazione: K2 (A) = Ch−2 ,
(3.37)
dove C è una costante indipendente dal parametro h, ma dipendente dal grado degli elementi finiti utilizzati. Per dimostrare la (3.37), ricordiamo che gli autovalori della matrice A verificano la relazione Av = λh v, essendo v l’autovettore associato all’autovalore λ h . Sia vh l’unico elemento dello spazio Vh i cui valori nodali sono le componenti v i di v, ovvero la formulazione data dalla (3.29). Supponiamo a(·, ·) simmetrica, dunque A è simmetrica e i suoi autovalori sono reali e positivi. Abbiamo allora λh =
(Av, v) a(vh , vh ) = . |v|2 |v|2
(3.38)
Supponiamo che la famiglia di triangolazioni {T h , h > 0} sia regolare (ovvero soddisfi la (3.25)). Supporemo inoltre che le triangolazioni siano quasi-uniformi, ovvero tali per cui esiste una costante τ > 0: min hK ≥ τ h
K∈Th
∀h > 0.
Osserviamo ora che, nelle ipotesi fatte su T h , vale la seguente disuguaglianza inversa (per la dimostrazione rimandiamo a [QV94]): ∃ CI > 0
:
∇vh L2 (Ω) ≤ CI h−1 vh L2 (Ω) .
∀vh ∈ Vh ,
(3.39)
Possiamo ora dimostrare che esistono due costanti C 1 , C2 > 0 tali che, per ogni vh ∈ Vh di forma data dalla (3.29), si ha C1 hd |v|2 ≤ vh 2L2 (Ω) ≤ C2 hd |v|2
(3.40)
essendo | · | la norma vettoriale euclidea e d la dimenzione spaziale (ovvero Ω ⊂ R d ), con d = 1, 2, 3. Per la dimostrazione nel caso di d generica rimandiamo a [QV94], Proposizione 6.3.1. Qui ci limitiamo a verificare la seconda disuguaglianza nel caso monodimensionale (d = 1) e per elementi finiti lineari. In effetti, su ogni elemento K = [xi−1 , xi ], abbiamo: ( )2 vi−1 ϕi−1 (x) + vi ϕi (x) dx, vh2 (x) dx = K
K
60
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
con ϕi−1 e ϕi definite secondo la (3.13). Allora, un calcolo diretto mostra che ) ( 2 ) 2 ( 2 vh2 (x) dx ≤ 2 vi−1 ϕ2i−1 (x) dx + vi2 ϕ2i (x) dx = hi vi−1 + vi2 3 K K K 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 che ogni contributo nodale w i è contato due volte. D’altro canto, dalla (3.38), otteniamo, grazie alla continuità e alla coercività della forma bilineare a(·, ·), α
vh 2H1 (Ω) |v|2
≤ λh ≤ M
vh 2H1 (Ω) |v|2
,
essendo M ed α le costanti di continuità e di coercività, rispettivamente. Ora, v h 2H1 (Ω) ≥ vh 2L2 (Ω) per definizione di norma in H 1 (Ω), mentre vh H1 (Ω) ≤ C3 h−1 vh L2 (Ω) (per un’opportuna costante C 3 > 0) grazie alla (3.39). Usando allora le disuguaglianze (3.40), otteniamo α C1 hd ≤ λh ≤ M C32 C2 h−2 hd . Abbiamo pertanto
λmax (A) M C32 C2 −2 h ≤ λmin (A) α C1
ovvero la (3.37). La (3.37) ci dice che al diminuire del passo h aumenta il numero di condizionamento della matrice di rigidezza e quindi il sistema ad essa associato diventa sempre più mal condizionato. In particolare, se il dato b del sistema lineare (3.33) subisce una perturbazione δb (ovvero è affetto da errore), questa si ripercuote sulla soluzione con una perturbazione δu; si può allora dimostrare che, se non si hanno perturbazioni sulla matrice A, si ha: δu δb ≤ K2 (A) . u b È evidente che tanto più il numero di condizionamento è elevato tanto più la soluzione risente della perturbazione sui dati. (Del resto, si noti che si è sempre in presenza di perturbazioni sui dati a causa degli inevitabili errori di arrotondamento introdotti dal calcolatore.) Come ulteriore esempio si può studiare come il condizionamento si ripercuota sul metodo di risoluzione. Ad esempio, pensiamo di risolvere il sistema lineare (3.33) con il metodo del gradiente coniugato (si veda l’Appendice B). In tal caso viene costruita, in modo iterativo, una successione di soluzioni approssimate u(k) che converge alla soluzione esatta u. In particolare si ha:
3.4 Il metodo degli elementi finiti nel caso multidimensionale
u
(k)
− uA ≤ 2
avendo indicato con v A = v ∈ RNh . Se definiamo
K2 (A) − 1 K2 (A) + 1
61
!k u(0) − uA ,
√ vT Av la cosiddetta “norma A” di un generico vettore K2 (A) − 1 , ρ= K2 (A) + 1
tale quantità dà un’idea della velocità di convergenza del metodo: tanto più ρ è vicino a 0 tanto più velocemente il metodo converge, tanto più ρ è vicino ad 1 tanto più lenta sarà la convergenza. Peraltro, per via della (3.37), tanto più si vuole essere accurati, 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 precondizionato, ossia occorre trovare una matrice invertibile P, detta precondizionatore, tale che K2 (P−1 A) K2 (A), quindi applicare il metodo iterativo al sistema precondizionato con P (si veda l’Appendice B).
3.4.3 Stima dell’errore di approssimazione nella norma dell’energia ¯ definiamo interpolanAnalogamente al caso monodimensionale, per ogni v ∈ C 0 (Ω) 1 te di v nello spazio di X h determinato dalla triangolazione T h , la funzione Π h1 v tale che: Πh1 v(Ni ) = v(Ni ) ∀Ni , nodo di Th , per i = 1, . . . , Nh . È evidente che, se {ϕ i } è la base lagrangiana dello spazio X h1 , l’interpolante può essere espressa nel seguente modo: Πh1 v(x) =
Nh
v(Ni )ϕi (x).
i=1
Quindi, una volta nota v e la base di X h1 , l’interpolante di v è facilmente calcolabile. L’operatore Π h1 : C 0 (Ω) → Xh1 che associa ad una funzione continua v la sua interpolante Π h1 v è detto operatore di interpolazione. Analogamente possiamo definire un operatore Π hr : C 0 (Ω) → Xhr , per ogni inr tero r ≥ 1. Indicato con Π K l’operatore di interpolazione locale che associa ad una r funzione continua v il polinomio Π K v ∈ Pr (K), interpolante v nei gradi di libertà r dell’elemento K ∈ Th , definiamo Πh v come r (v K ) ∀K ∈ Th . (3.41) Πhr v ∈ Xhr : Πhr v K = ΠK
62
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
FK K
b K
b e il generico triangolo K Figura 3.11. Mappa FK tra il triangolo di riferimento K
Si supporrà che T h appartenga ad una famiglia di triangolazioni regolari di Ω. Per ricavare una stima per l’errore di approssimazione u − u h V seguiamo una procedura 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 interpolazione. A tal fine ricaveremo informazioni utili a partire dai parametri geometrici di ciascun triangolo K, ovvero dal diametro h K e dalla sfericità ρK di K. Sfrutte+ → K tra il triangolo di remo inoltre la trasformazione affine ed invertibile F K : K + riferimento K e il generico triangolo K (si veda la Fig. 3.11). Tale mappa è definiˆ + bK , con BK ∈ R2×2 e bK ∈ R2 , e soddisfa la relazione ta da FK (ˆ x ) = BK x + + non è univoca. FK (K) = K. Si ricorda che la scelta del triangolo di riferimento K Avremo bisogno di alcuni risultati preliminari. Lemma 3.2 (Trasformazione delle seminorme) Per ogni intero m ≥ 0 e ogni + → R la funzione definita da vˆ = v ◦ F K . Allora v ∈ Hm (K), sia vˆ : K m + vˆ ∈ H (K). Inoltre, esiste una costante C = C(m) > 0 tale che 1
m − |ˆ v |Hm (K) b ≤ C BK | det BK | 2 |v|Hm (K) ,
|v|Hm (K) ≤ C
−1 m BK
1 2
| det BK | |ˆ v |Hm (K) b ,
(3.42) (3.43)
essendo · la norma matriciale associata alla norma vettoriale euclidea · 2 , ovvero BK ξ2 BK = sup . (3.44) ξ∈R2 ,ξ=0 ξ2
Dimostrazione. Dal momento che C m (K) ⊂ Hm (K) con inclusione densa, per ogni m ≥ 0, possiamo limitarci a dimostrare le due disuguaglianze precedenti per le funzioni di C m (K), estendendo poi, per densità, il risultato alle funzioni di H m (K). Le derivate nel seguito saranno dunque da intendersi in senso classico. Ricordiamo che 1/2 α 2 |ˆ v |Hm (K) = |D v ˆ | dˆ x , b |α|=m
b K
3.4 Il metodo degli elementi finiti nel caso multidimensionale
63
rimandando all’Appendice A.2 per la definizione della derivata D α . Utilizzando la regola di derivazione per una funzione composita, otteniamo m Dα vˆL2 (K) (Dβ v) ◦ FK L2 (K) b ≤ CBK b . |β|=m
Riportando tale relazione sul triangolo K otteniamo 1
m − Dα vˆL2 (K) b ≤ CBK | det BK | 2 vHm (K) .
La disuguaglianza (3.42) segue dopo aver sommato sul multi-indice α, per |α| = m. Il risultato (3.43) può essere dimostrato procedendo in modo del tutto analogo.
−1 Lemma 3.3 (Stime per le norme BK e BK ) Si hanno le seguenti maggiorazioni:
hK , ρˆ ˆ h −1 BK ≤ , ρK BK ≤
(3.45) (3.46)
ˆ e ρˆ il diametro e la sfericità del triangolo di riferimento K. + essendo h Dimostrazione. Grazie alla (3.44) abbiamo BK =
1 ρˆ
sup ξ∈R2 , ξ 2 =ρˆ
BK ξ2 .
+ tali che x ˆey ˆ∈K ˆ−y ˆ = ξ. Per ogni ξ, con ξ 2 = ρˆ, possiamo trovare due punti x Poiché BK ξ = FK (ˆ x) − FK (ˆ y), abbiamo che B K ξ ≤ hK , ovvero la (3.45). Procedura del tutto analoga porta al risultato (3.46). + della seminorma di Quello di cui abbiamo bisogno ora è una stima in H m (K) r m (v − ΠK v) ◦ FK , per ogni funzione v di H (K). Denotiamo nel seguito l’interpolato r r + + + ΠK v ◦ FK con [ΠK v] b. I nodi di K sono N K i = FK (Ni ), essendo Ni i nodi di K, + e, analogamente, le funzioni di base ϕˆ i definite su K son identificate dalla relazione K ϕˆi = ϕK i ◦ FK , avendo indicato con ϕ i le funzioni di base associate all’elemento K. Pertanto r r [ΠK v] b = ΠK v ◦ FK =
MK i=1
K v(NK i )ϕi ◦ FK =
MK
+ i ))ϕˆi = Π r vˆ, v(FK (N b K
i=1
essendo MK il numero dei nodi su K individuati dalla scelta fatta per il grado r. Ne segue dunque che
64
3 Il metodo di Galerkin-elementi finiti per problemi ellittici r r |(v − ΠK v) ◦ FK |Hm (K) v − ΠK ˆ|Hm (K) b = |ˆ b . bv
(3.47)
Al fine di stimare il secondo membro dell’uguaglianza precedente, iniziamo a dimostrare il seguente risultato: + : Hr+1 (K) + → Hm (K), + con Lemma 3.4 (Lemma di Bramble-Hilbert) Sia L m ≥ 0 e r ≥ 0, una trasformazione lineare e continua tale che + p) = 0, L(ˆ
+ ∀ˆ p ∈ Pr (K).
(3.48)
+ si ha Allora, per ogni vˆ ∈ H r+1 (K), + + v )| m b ≤ L |L(ˆ m (K)) b b H (K) L(Hr+1 (K),H
inf
b p∈P ˆ r (K)
ˆ v + pˆHr+1 (K) b ,
(3.49)
+ Hm (K)) + indica lo spazio delle trasformazioni dove L(Hr+1 (K), + → Hm (K) + lineari e continue la cui norma è l : Hr+1 (K) lL(Hr+1 (K),H m (K)) b b =
l(v)Hm (K)) b
sup b v∈Hr+1 (K),v =0
vHr+1 (K) b
.
(3.50)
+ Per ogni pˆ ∈ Pr (K), + grazie alla (3.48) e alla Dimostrazione. Sia vˆ ∈ Hr+1 (K). definizione di norma (3.50), si ottiene + v )| m b = |L(ˆ + v + pˆ)| m b ≤ L + |L(ˆ v + pˆHr+1 (K) m (K)) b b ˆ b . H (K) H (K) L(Hr+1 (K),H Si deduce il risultato (3.49) grazie all’arbitrarietà di pˆ.
Il risultato seguente (per la cui dimostrazione rimandiamo a [QV94, Cap. 3]) fornisce l’ultimo strumento necessario per ottenere la stima per l’errore di interpolazione che stiamo cercando. Lemma 3.5 (Lemma di Deny-Lions) Per ogni r ≥ 0, esiste una costante C = + tale che C(r, K) inf ˆ v + pˆHr+1 (K) v |Hr+1 (K) b ≤ C |ˆ b
p∈P ˆ r
+ ∀ˆ v ∈ Hr+1 (K).
Come conseguenza dei due precedenti Lemmi, possiamo fornire il seguente
(3.51)
3.4 Il metodo degli elementi finiti nel caso multidimensionale
65
+ : Hr+1 (K) + → Hm (K), + con m ≥ 0 e r ≥ 0, una trasforCorollario 3.3 Sia L + Allora esiste una + p) = 0, ∀ˆ mazione lineare e continua tale che L(ˆ p ∈ Pr (K). + si ha + tale che, per ogni vˆ ∈ H r+1 (K), costante C = C(r, K) + + v )| m b ≤ C L v |Hr+1 (K) |L(ˆ m (K)) b b |ˆ b . H (K) L(Hr+1 (K),H
(3.52)
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 ≤ + > 0 tale che m ≤ r + 1. Allora esiste una costante C = C(r, m, K) r |v − ΠK v|Hm (K) ≤ C
hr+1 K |v|Hr+1 (K) ρm K
∀v ∈ Hr+1 (K).
(3.53)
Dimostrazione. Dalla Proprietà A.3 ricaviamo innanzitutto che H r+1 (K) ⊂ C 0 (K), r per r ≥ 1. L’operatore d’interpolazione Π K risulta dunque ben definito in H r+1 (K). Utilizzando, nell’ordine, i risultati (3.43), (3.47), (3.46) e (3.52), abbiamo 1
−1 m r r |v − ΠK v|Hm (K) ≤ C1 BK | det BK | 2 |ˆ v − ΠK ˆ|Hm (K) b bv
≤ C1
ˆm h 1 r | det BK | 2 | vˆ − ΠK ˆ |Hm (K) b bv m ρK - ./ 0 + v) L(ˆ
ˆm h 1 + | det BK | 2 L v |Hr+1 (K) m (K)) b b |ˆ b L(Hr+1 (K),H ρm K 1 1 = C3 m | det BK | 2 |ˆ v |Hr+1 (K) b , ρK ≤ C2
+ e C3 = C3 (r, m, K) + costanti opportune. essendo C1 = C1 (m), C2 = C2 (r, m, K) + con l’operatore Osserviamo che il risultato (3.52) è stato applicato identificando L r r ˆ m e la + p = 0, per ogni pˆ ∈ P r (K). Inoltre la quantità h I − ΠKb , essendo (I − ΠKb )ˆ + sono state incluse nella costante C 3 . norma dell’operatore L Applicando a questo punto (3.42) e (3.45) otteniamo il risultato (3.53), ovvero r |v − ΠK v|Hm (K) ≤ C4
1 hr+1 BK r+1 |v|Hr+1 (K) ≤ C5 Km |v|Hr+1 (K) , m ρK ρK
(3.54)
+ e C5 = C5 (r, m, K) + due opportune costanti. La quantità essendo C4 = C4 (r, m, K) r+1 ρˆ generata dalla (3.45) e legata alla sfericità dell’elemento di riferimento è stata direttamente inglobata nella costante C 5 . Possiamo infine dimostrare la stima globale per l’errore d’interpolazione
66
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
Teorema 3.5 (Stima globale per l’errore d’interpolazione) Sia {T h }h>0 una famiglia di triangolazioni regolari del dominio Ω e sia m = 0, 1 e r ≥ 1. Allora + > 0 tale che esiste una costante C = C(r, m, K) |v − Πhr v|Hm (Ω) ≤ C
2(r+1−m)
hK
|v|2Hr+1 (K)
1/2
∀v ∈ Hr+1 (Ω).
K∈Th
(3.55) In particolare otteniamo |v − Πhr v|Hm (Ω) ≤ C hr+1−m |v|Hr+1 (Ω)
∀v ∈ Hr+1 (Ω).
(3.56)
Dimostrazione. Grazie alla (3.53) e alla condizione di regolarità (3.25), abbiamo r |v − ΠK v|2Hm (K) |v − Πhr v|2Hm (Ω) = K∈Th
hr+1 2 K |v|2Hr+1 (K) ρm K K∈Th hK 2m 2(r+1−m) = C1 hK |v|2Hr+1 (K) ρK K∈Th 2(r+1−m) ≤ C1 δ 2m hK |v|2Hr+1 (K) , ≤ C1
K∈Th
+ e C = C1 δ 2m . La (3.56) segue grazie al ovvero la (3.55), essendo C 1 = C1 (r, m, K) fatto che hK ≤ h, per ogni K ∈ Th , e che |v|Hp (Ω) =
|v|2Hp (K)
1/2
,
K∈Th
per ogni intero p ≥ 0.
Nel caso m = 0 la regolarità della griglia non è necessaria per ottenere la stima (3.56). Ciò non è più vero per m = 1. Infatti, dato un triangolo K e una funzione v ∈ Hr+1 (K), con r ≥ 1, si può dimostrare che vale la seguente disuguaglianza [QV94], hr+1 |v − Πhr v|Hm (K) ≤ C˜ Km |v|Hr+1 (K) , m = 0, 1, ρK con C˜ indipendente da v e da T h . Quindi, nel caso m = 1 per una famiglia di griglie ˜ essendo δ la costante che appare in regolari otteniamo la (3.56) ponendo C = δ C, (3.25). D’altra parte, la necessità della condizione di regolarità può essere dimostrata considerando un caso particolare per cui, per ogni C > 0, si può costruire una mesh
3.4 Il metodo degli elementi finiti nel caso multidimensionale
67
100
x2
90
80
70
60
50
40
Kl
l
30
20
10
x1
1
0
0
0.1
0.2
0.3
0.4
0.5 l
0.6
0.7
0.8
0.9
1
Figura 3.12. Il triangolo Kl (sinistra) e l’andamento, in funzione di l, del rapporto |v − Πh1 v|H1 (Kl ) /|v|H2 (Kl )
(non regolare) per la quale la disuguaglianza (3.56) non è vera. Ci limiteremo a fornire tale controesempio per il caso r = 1. Si consideri il triangolo K l illustrato in Fig. 3.12, di vertici (0, 0), (1, 0), (0.5, l), √ 3 con l ≤ 2 , e la funzione v(x1 , x2 ) = x21 . Chiaramente v ∈ H2 (Kl ) e la sua interpolante lineare su Kl è data da Πh1 v(x1 , x2 ) = x1 − (4l)−1 x2 . Essendo in questo caso hKl = 1, la disuguaglianza (3.56), applicata al singolo triangolo K l , fornirebbe |v − Πh1 v|H1 (Kl ) ≤ C|v|H2 (Kl ) .
(3.57)
Consideriamo ora il comportamento del rapporto ηl =
|v − Πh1 v|H1 (Kl ) |v|H2 (Kl )
quando l tende a zero, ovvero quando la forma del triangolo si schiaccia. Osserviamo che consentire a l di tendere a zero equivale a violare la condizione di regolarità (3.25) in quanto, per l sufficientemente piccoli, h Kl = 1, mentre, indicando con p Kl il perimetro di K l , 4|Kl | 2l √ ρK l = = , pKl 1 + 1 + 4l2 tende a zero, dove con |K l | si è indicata l’area dell’elemento K l . Si ha ∂x2 (v − Πh1 v)L2 (Kl ) ηl ≥ = |v|H2 (Kl )
Kl
( 1 )2 4l
2l
dx
! 12 =
1 . 8l
Quindi liml→0 ηl = +∞ (si veda la Fig. 3.12). Di conseguenza, non può esistere una costante C, indipendente da T h , per cui valga la (3.57). Il teorema sulla stima dell’errore di interpolazione ci fornisce immediatamente una stima sull’errore di approssimazione del metodo di Galerkin, la cui dimostrazione è del tutto analoga a quella del Teorema 3.3 per il caso monodimensionale. In effetti,
68
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
basta applicare la (3.9) ed il Teorema 3.5 (per m = 1) per ottenere la seguente stima dell’errore: Teorema 3.6 Sia u∈ V la soluzione esatta del problema variazionale (3.1) ed uh 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 (Ω) ≤
1/2 M 2r 2 C hK |u|Hr+1 (K) , α
(3.58)
K∈Th
ed anche
M Chr |u|Hr+1 (Ω) , α essendo C una costante indipendente da h e da u. u − uh H1 (Ω) ≤
(3.59)
Anche nel caso multidimensionale per aumentare l’accuratezza si possono seguire dunque 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 regolare. In generale, possiamo affermare che, se u ∈ H p+1 (Ω) per qualche p > 0, allora u − uh H1 (Ω) ≤ Chs |u|Hs+1 (Ω) ,
s = min{r, p},
(3.60)
come già visto nel caso monodimensionale (si veda la (3.24)). Osservazione 3.4 (Caso di griglie anisotrope) La stima dell’errore d’interpolazione (3.53) (e la conseguente stima dell’errore di discretizzazione) può essere generalizzata al caso di griglie anisotrope. In tal caso il termine di destra della (3.53) assume un’espressione più complicata: queste stime, infatti, a causa della loro natura direzionale, devono tener conto delle informazioni provenienti da direzioni caratteristiche associate ai singoli triangoli che rimpiazzano l’informazione “globale” concentrata nella seminorma |v|Hr+1 (K) . Il lettore interessato può consultare [Ape99, FP01]. •
3.4.4 Stima dell’errore di approssimazione in norma L2 La (3.59) fornisce una stima dell’errore di approssimazione nella norma dell’energia. Analogamente può essere ricavata una stima dell’errore nella norma L 2 . Essendo quest’ultima norma meno forte della precedente, ci si deve aspettare una più elevata velocità di convergenza rispetto ad h.
3.4 Il metodo degli elementi finiti nel caso multidimensionale
69
Lemma 3.6 (di regolarità ellittica) Si consideri il generico problema di Dirichlet omogeneo −Δw = g in Ω, w=0 su ∂Ω, con g ∈ L2 (Ω). Se ∂Ω è sufficientemente regolare (ad esempio, è sufficiente che ∂Ω sia una curva di classe C 2 , oppure che Ω sia un poligono convesso), allora w ∈ H2 (Ω) ed esiste una costante C > 0 tale che wH2 (Ω) ≤ CgL2 (Ω) .
(3.61)
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 con il metodo agli elementi finiti di grado r. Sia inoltre u ∈ Hp+1 (Ω) per un opportuno p > 0. Allora vale la seguente stima a priori dell’errore nella norma L 2 (Ω): u − uh L2 (Ω) ≤ Chs+1 |u|Hs+1 (Ω) ,
s = min{r, p},
(3.62)
essendo C una costante indipendente da h e da u. Dimostrazione. Ci limiteremo a dimostrare questo risultato per il problema di Poisson (2.12), la cui formulazione debole è data in (2.16). Sia e h = u − uh l’errore di approssimazione e si consideri il seguente problema di Poisson ausiliario (detto problema aggiunto) con termine noto pari all’errore e h : −Δφ = eh in Ω, (3.63) φ=0 su ∂Ω, la cui formulazione debole è trovare φ ∈ V :
eh v dΩ
a(φ, v) =
∀ v ∈ V,
(3.64)
Ω
con V = H10 (Ω). Prendendo v = e h ∈ V , si ha eh 2L2 (Ω) = a(φ, eh ). Essendo la forma bilineare simmetrica, per l’ortogonalità di Galerkin (3.7) si ha a(eh , φh ) = a(φh , eh ) = 0 Ne segue che
∀ φh ∈ Vh .
70
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
eh 2L2 (Ω) = a(φ, eh ) = a(φ − φh , eh ).
(3.65)
Prendendo ora φ h = Πh1 φ, applicando la disuguaglianza di Cauchy-Schwarz alla forma bilineare a(·, ·) e la stima dell’errore di interpolazione (3.56) si ottiene eh 2L2 (Ω) ≤ |eh |H1 (Ω) |φ − φh |H1 (Ω) ≤ |eh |H1 (Ω) Ch|φ|H2 (Ω) .
(3.66)
Si noti che si può applicare l’operatore di interpolazione Π h1 a φ poiché, grazie al ¯ grazie alla proprietà A.3 Lemma 3.6, φ ∈ H2 (Ω) e quindi, in particolare, φ ∈ C 0 (Ω), dell’Appendice A. Applicando il Lemma 3.6 al problema aggiunto (3.63) si ottiene la disuguaglianza |φ|H2 (Ω) ≤ Ceh L2 (Ω) ,
(3.67)
che, applicata alla (3.66), fornisce infine eh L2 (Ω) ≤ Ch|eh |H1 (Ω) , dove C ingloba tutte le costanti apparse fino ad ora. Sfruttando ora la stima dell’errore nella norma dell’energia (3.59) si ottiene la (3.62). Generalizziamo il risultato appena dimostrato per il problema di Poisson al caso di un generico problema ai limiti ellittico approssimato con elementi finiti e per il quale valga una stima dell’errore di approssimazione nella norma dell’energia come la (3.59) ed una proprietà di regolarità ellittica analoga a quella enunciata nel Lemma 3.6. In particolare, consideriamo il caso in cui la forma bilineare a(·, ·) non sia necessariamente simmetrica. Sia u la soluzione esatta del problema trovare u ∈ V : a(u, v) = (f, v) ∀v ∈ V,
(3.68)
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.59) e consideriamo il problema aggiunto: per ogni g ∈ L 2 (Ω), trovare φ= φ(g) ∈ V : a(v, φ) = (g, v) ∀v ∈ V.
(3.69)
Supponiamo che per la soluzione u del problema primale (3.68) valga un risultato di regolarità ellittica; si può verificare che allora lo stesso risultato è valido per il problema duale (o aggiunto) (3.69), ovvero che ∃C >0 :
φ(g)H2 (Ω) ≤ C gL2 (Ω)
∀g ∈ L2 (Ω).
3.5 Il problema dell’adattività della griglia
71
In particolare, ciò è vero per un generico problema ellittico con dati di Dirichlet o di Neumann (ma non misti) su di un dominio Ω poligonale e convesso [Gri76]. Scegliamo ora g = eh ed indichiamo, per semplicità, φ = φ(e h ). Scelto inoltre v = eh , si ha dunque eh 2L2 (Ω) = a(eh , φ). Essendo, per la regolarità ellittica del problema aggiunto, φ ∈ H 2 (Ω) e φH2 (Ω) ≤ Ceh L2 (Ω) grazie alla ortogonalità di Galerkin, si ha che: eh 2L2 (Ω)
=
a(eh , φ) = a(eh , φ − Πh1 φ)
≤
C1 eh H1 (Ω) φ − Πh1 φH1 (Ω)
≤
C2 eh H1 (Ω) h φH2 (Ω)
≤
C3 eh H1 (Ω) h eh L2 (Ω) ,
dove abbiamo sfruttato la continuità della forma a(·, ·) e la stima (3.59). Quindi eh L2 (Ω) ≤ C3 heh H1 (Ω) , da cui segue la (3.62), utilizzando la stima (3.60) dell’errore in H 1 (Ω). Osservazione 3.5 La tecnica sopra illustrata, basata sull’uso del problema aggiunto per la stima della norma L 2 dell’errore di discretizzazione, è nota in letteratura come trucco di Aubin-Nitsche [Aub67, Nit68]. • Esempio 3.1 Consideriamo il problema modello −Δu + u = f in Ω = (0, 1)2 con u = g su ∂Ω. Si supponga di scegliere il termine noto f e la funzione g in modo tale che la soluzione esatta del problema sia u(x, y) = sin(2πx) cos(2πy). Risolviamo tale problema con il metodo 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 passo h sia nella norma di L2 (Ω), sia in quella di H1 (Ω). Come si può osservare dalla pendenza delle rette in figura, l’errore si riduce, rispetto alla norma L2 (linee con le crocette), in modo quadratico se si utilizzano elementi finiti lineari (linea continua) e in modo cubico quando vengano utilizzati elementi finiti quadratici (linea tratteggiata). Rispetto alla norma H1 (linee senza le crocette) invece si ha una riduzione dell’errore lineare rispetto agli elementi finiti lineari (linea continua), quadratica qualora vengano utilizzati elementi finiti quadratici (linea tratteggiata). Nella Fig. 3.14 vengono mostrate le soluzioni sulla griglia di passo 1/8 ottenute con elementi finiti lineari (a sinistra) e quadratici (a destra).
3.5 Il problema dell’adattività della griglia Nella sezione precedente abbiamo derivato, grazie ai Teoremi 3.6 e 3.7, delle stime a priori dell’errore di approssimazione per il metodo degli elementi finiti.
72
3 Il metodo di Galerkin-elementi finiti per problemi ellittici 10 1
1
1
0.1 1
Errore
2
0.01 1 2
0.001 1 3
1e-04
1e-05 0.01
0.1 h
1
Figura 3.13. Andamento rispetto ad h dell’errore in norma H1 (Ω) (linee senza crocette) ed in 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.1
2
2
1
1
0
0
−1
1 −1
−2 0
0.5 0.2
0.4
0.6
0.8
1
−2 0
1 0.5 0.2
0.4
0
0.6
0.8
1
0
Figura 3.14. Soluzioni calcolate con elementi finiti lineari (a sinistra) e quadratici (a destra) su una griglia uniforme di passo 1/8
Essendo il parametro h la lunghezza massima dei lati della triangolazione, se facessimo riferimento alla (3.59) saremmo indotti a raffinare la reticolazione ovunque nella speranza di ridurre l’errore u − u h H1 (Ω) . Conviene piuttosto fare riferimento alla (3.58) in cui la maggiorazione dell’errore tiene conto del comportamento locale della soluzione, attraverso la seminorma |u| Hr+1 (K) su ogni elemento, e del parametro geometrico locale h K della triangolazione. In effetti, al fine di avere una griglia efficiente, che ottimizzi il numero di elementi necessari per ottenere una accuratezza desiderata, si può cercare di equidistribuire l’errore su ogni elemento K ∈ T h . In particolare, vorremmo ottenere hrK |u|Hr+1 (K) η
∀K ∈ Th ,
dove η è un’opportuna costante che dipende solo dall’accuratezza richiesta all’approssimazione u h e dal numero di elementi della griglia. È evidente che un maggior contributo di |u| Hr+1 (K) (dovuto ad una più pronunciata variabilità di u|K ) dovrà essere controbilanciato o da un passo reticolare locale h K
3.5 Il problema dell’adattività della griglia
73
più piccolo o da un grado polinomiale r più elevato. Nel primo caso si parla di hadattività della griglia, nel secondo caso di p-adattività (dove p sta per “polinomiale”). Nel seguito ci occuperemo solo della prima tecnica. Tuttavia facciamo riferimento al Cap. 4 per l’analisi di stime dell’errore che risultano più convenienti da utilizzarsi in vista di un’adattività di tipo polinomiale. Le osservazioni fatte fino ad ora, seppur corrette, risultano in realtà poco utili dato che 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.58) sostituendo la soluzione esatta u con una sua approssimazione opportuna, facilmente calcolabile su ogni singolo elemento. Si parla in tal caso di adattività a priori. Un secondo approccio è invece basato sull’uso di una stima a posteriori dell’errore in grado di legare l’errore di approssimazione all’andamento della soluzione approssimata uh , nota dopo aver risolto numericamente il problema. In tal caso la griglia ottimale di calcolo verrà costruita tramite un processo iterativo in cui risoluzione, stima dell’errore e modifica della griglia di calcolo vengono ripetute fino al raggiungimento dell’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. Precisamente, generata una griglia opportuna di partenza tramite un’adattività a priori, questa può essere ulteriormente raffinata tramite l’analisi a posteriori.
3.5.1 Adattività a priori basata sulla ricostruzione delle derivate Una tecnica di adattività a priori si basa sulla stima (3.58) in cui si approssimano opportunamente le derivate di u su ogni elemento, al fine di stimare le seminorme locali di u. Per far ciò si utilizza la soluzione approssimata u h∗ calcolata su una griglia di tentativo di passo h ∗ , con h∗ abbastanza grande in modo che il calcolo sia computazionalmente economico, ma non eccessivamente grande da generare un errore troppo elevato nell’approssimazione delle derivate, cosa che potrebbe compromettere l’efficacia dell’intera procedura. Esemplifichiamo l’algoritmo per elementi finiti lineari, nel qual caso la (3.58) assume la forma ! 12 2 2 u − uh H1 (Ω) ≤ C hK |u|H2 (K) (3.70) K∈Th
(C tiene ora conto anche delle costanti di continuità e di coercività della forma bilineare). Puntiamo a generare una triangolazione T h tale da garantirci che il termine di destra della (3.70) sia inferiore ad una tolleranza > 0 prestabilita. Supponiamo dunque di aver calcolato u h∗ su una griglia triangolare T h∗ con N ∗ triangoli. Utilizziamo uh∗ per approssimare le derivate seconde di u che intervengono nella definizione della seminorma |u|2H2 (K) . Poiché uh∗ non possiede derivate seconde continue in Ω, occorre procedere con un’adeguata tecnica di ricostruzione. Una possibile tecnica è basata sull’applicazione di una proiezione locale di tipo H 1 . Per ogni nodo N i della griglia si considera l’insieme (patch) K Ni degli elementi che hanno N i come nodo (cioè degli
74
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
elementi che formano il supporto di ϕ i , si veda la Fig. 3.9). Si trovano quindi i piani πij (x) = aji · x + bji che minimizzano ∂uh∗ j (x)2 dx, j = 1, 2, (3.71) πi (x) − ∂x j K Ni risolvendo un sistema a due equazioni per i coefficienti a ji e bji . Questa è la fase di proiezione locale. Si costruisce così un’approssimazione lineare a tratti g h∗ ∈ (Xh1∗ )2 del gradiente ∇u h∗ definita come j [gh∗ (x)]j = πi (xi )ϕi (x), j = 1, 2, (3.72) i
dove la somma si estende su tutti i nodi N i della griglia. Una volta ricostruito il gradiente si può procedere in due modi differenti, a seconda del tipo di ricostruzione che si vuole ottenere per le derivate seconde. Ricordiamo innanzitutto che la matrice Hessiana associata ad u è definita da D 2 (u) = ∇(∇u), ovvero 2 D (u) i,j =
∂2u , ∂xi ∂xj
i, j = 1, 2 .
Una sua approssimazione, costante a tratti, si ottiene ponendo, per ogni K ∗ ∈ Th∗ , ) 1( ∇gh∗ + (∇gh∗ )T K ∗ . D2h K ∗ = 2
(3.73)
Si noti l’uso della forma simmetrica del gradiente, necessaria per avere la simmetria dell’Hessiano. Come alternativa computazionalmente più onerosa, nel caso in cui si sia interessati ad una ricostruzione lineare a tratti dell’Hessiano, si può applicare la stessa tecnica di proiezione locale individuata dalle (3.71) e (3.72) direttamente al ricostruito g h∗ , simmetrizzando poi la matrice così ottenuta tramite la (3.73). In ogni caso, siamo ora in grado di calcolare una approssimazione di |u| H2 (K) su un generico triangolo K ∗ di Th∗ , approssimazione che sarà ovviamente legata al ricostruito D2h . Dalla (3.70) si deduce che, per ottenere la soluzione approssimata u h con un errore inferiore o eguale ad una tolleranza prefissata , si deve costruire una nuova griglia Thnew tale per cui
h2K |u|2H2 (K)
K∈Thnew
K∈Thnew
h2K
2
[D2h ]ij 2L2 (K) ≤
i,j=1
2 . C
Idealmente, si desidera inoltre che l’errore sia equidistribuito, cioè che ogni elemento della sommatoria sia all’incirca lo stesso su ciascun elemento K della nuova griglia. Una possibile procedura di adattazione consiste allora nel generare la nuova griglia suddividendo opportunamente tutti gli N ∗ triangoli K ∗ di Th∗ per i quali si abbia 2 2 ηK ∗ = hK ∗
2 i,j=1
[D2h ]ij 2L2 (K ∗ ) >
1 2 . N∗ C
(3.74)
3.5 Il problema dell’adattività della griglia
75
Questo metodo è detto di raffinamento poiché prevede solo di creare una griglia più fine rispetto a quella di partenza, e chiaramente non permette di soddisfare pienamente la condizione di equidistribuzione. Algoritmi più sofisticati permettono anche di deraffinare la griglia in corrispondenza dei triangoli per cui la disuguaglianza (3.74) è verificata con segno al posto di >. Le procedure di deraffinamento però sono di più difficile implementazione di quelle di raffinamento. Dunque, spesso si preferisce costruire la nuova griglia “da zero” (procedura detta di remeshing). A tale scopo si introduce, sulla base della stima dell’errore, la seguente funzione di spaziatura H, costante in ogni elemento: H K ∗ = ∀K ∗ ∈ Th∗ (3.75) 2 1/2 √ 2 2 ∗ C N [Dh ]ij L2 (K) |uh∗ |H2 (K ∗ ) i,j=1
e la si utilizza per costruire la griglia adattata applicando uno degli algoritmi di generazione illustrati nel Cap. 12. Spesso l’algoritmo di adattazione richiede che la funzione H sia continua e lineare su ciascun triangolo. In tal caso possiamo di nuovo ricorrere ad 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.74). Osservazione 3.6 Per quanto concerne la costante C che compare nella disuguaglianza (3.70) la si può stimare applicando la stessa disuguaglianza a funzioni note (e di cui quindi è possibile calcolare l’errore esatto). Un’alternativa che non richiede la conoscenza esplicita di C consiste nel realizzare la griglia che equi-distribuisce l’errore per un numero N ∗ di elementi fissato a priori. In questo caso il valore di H calcolato ponendo e C pari a uno in (3.75) viene riscalato, moltiplicandolo per una costante, in modo che la nuova griglia abbia il numero di elementi prefissato. •
3.5.2 Adattività a posteriori Le procedure descritte nella sezione precedente possono risultare tuttavia insoddisfacenti in quanto la ricostruzione delle derivate di u a partire da u h∗ è spesso soggetta ad errori non facilmente quantificabili. Un’alternativa radicale consiste nell’adottare stime a posteriori dell’errore. Queste ultime non utilizzano la stima a priori (3.58) (e conseguentemente approssimazioni delle 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 problema differenziale su ogni elemento della triangolazione data. Consideriamo, a titolo di esempio, il problema di Poisson (2.12). La sua formulazione debole è data dalla (2.16), mentre la sua approssimazione agli elementi finiti è descritta dalla (3.28), dove ◦r
Vh è lo spazio X h definito in (3.27). Per ogni v ∈ H 10 (Ω) e per ogni vh ∈ Vh , si ha, grazie alla proprietà di ortogonalità di Galerkin (3.7) e sfruttando la (2.16),
76
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
∇(u − uh ) · ∇v dΩ =
Ω
=
Ω f (v − vh ) dΩ − ∇uh · ∇(v − vh ) dΩ
Ω
Ω
=
Ω
f (v − vh ) dΩ +
=
∇(u − uh ) · ∇(v − vh ) dΩ
K∈Th K
Δuh (v − vh ) dΩ −
K∈Th K
(3.76) ∂uh (v − vh ) dγ ∂n
K∈Th
∂K ∂uh (v − vh ) dγ. (f + Δuh )(v − vh ) dΩ − ∂n K∈Th ∂K
Osserviamo che gli integrali su Ω sono stati spezzati sui singoli triangoli al fine di garantire la buona definizione degli integrali stessi. Indicato con e un lato del generico triangolo K, definiamo salto della derivata normale di uh attraverso il lato e la quantità ) ( ∂uh = ∇uh K1 · n1 + ∇uh K2 · n2 = ∇uh K1 − ∇uh K2 · n1 , (3.77) ∂n e dove K1 e K2 sono i due triangoli che condividono il lato e, i cui versori normali uscenti sono dati da n 1 e n2 rispettivamente, con n 1 = −n2 (si veda la Fig. 3.15). La definizione (3.77) implicitamente sottointende che e non sia un lato di bordo. Al fine di estendere tale definizione anche ai lati di bordo, introduciamo il cosiddetto salto generalizzato, dato da ⎧ ∂uh ⎪ ⎨ , per e ∈ Eh , ∂uh ∂n e = (3.78) ⎪ ∂n ⎩ 0, per e ∈ ∂Ω, dove Eh indica l’insieme dei lati interni della griglia. Notiamo che, nel caso di elementi finiti lineari, la (3.78) identifica una funzione costante a pezzi definita su tutti i lati della griglia Th . Inoltre la definizione (3.78) può essere opportunamente modificata nel caso in cui il problema (2.12) sia completato con condizioni al bordo non necessariamente di Dirichlet.
e K1
K2 n1 n2
Figura 3.15. Triangoli coinvolti nella definizione del salto della derivata normale di uh attraverso il lato e
3.5 Il problema dell’adattività della griglia
77
Grazie alla (3.78) possiamo dunque scrivere che ∂uh ∂uh (v − vh ) dγ = − (v − vh ) dγ − ∂n ∂n K∈Th ∂K K∈Th e∈∂K e 1 ∂uh ∂uh 1 (v − vh ) dγ = − (v − vh ) dγ, =− 2 ∂n 2 ∂n K∈Th e∈∂K
K∈Th ∂K
e
(3.79) 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 − v h = 0 sul bordo, in (3.78) si potrebbe assegnare un qualsiasi valore diverso da zero in corrispondenza di e ∈ ∂Ω in quanto i termini della (3.79) associati ai lati di bordo sarebbero comunque nulli. Inserendo ora la (3.79) nella (3.76) ed applicando la disuguaglianza di CauchySchwarz, otteniamo ∇(u − uh ) · ∇v dΩ ≤ f + Δuh L2 (K) v − vh L2 (K) K∈Th Ω 2 1 1 ∂uh 1 11 1 1 + v − vh L2 (∂K) . (3.80) 2 1 ∂n 1L2 (∂K) Occorre ora trovare un particolare v h ∈ Vh che permetta di esprimere le norme di v − vh in funzione di una norma opportuna di v. Si desidera inoltre che questa norma 3 contenente K e la meno estesa possibile. sia “locale”, cioè calcolata su una regione K Se v fosse continua si potrebbe prendere come v h l’interpolante Lagrangiana di v e utilizzare le già citate stime dell’errore di interpolazione su K. Purtroppo, nel nostro caso v ∈ H1 (Ω) e quindi non è necessariamente continua. Tuttavia, se T h è una griglia regolare, si può definire un opportuno operatore di interpolazione R h : H1 (Ω) → Vh , detto di Clément, definito, nel caso di elementi finiti lineari, come Rh v(x) = (Pj v)(Nj )ϕj (x) ∀v ∈ H1 (Ω), (3.81) Nj
dove Pj v denota il piano definito sul patch K Nj degli elementi della griglia che condividono il nodo N j (si veda la Fig. 3.16), individuato dalle relazioni (Pj v − v)ψ dx = 0 per ψ = 1, x, y, K Nj
e dove le ϕj sono le funzioni base di Lagrange dello spazio ad elementi finiti considerato. Si può dimostrare che, per ogni v ∈ H 1 (Ω) e per ogni K ∈ Th , valgono le seguenti disuguaglianze: v − Rh vL2 (K) ≤ C1 hK |v|H1 (K) e , 1
2 vH1 (K) v − Rh vL2 (∂K) ≤ C2 hK e ,
78
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
dove C1 e C2 sono due costanti positive che dipendono dal minimo angolo della trian3 = {Kj ∈ Th : Kj ∩K = ∅} rappresenta l’unione di K con tutti i golazione, mentre K triangoli che con esso condividono o un lato o un vertice (si veda la Fig. 3.16). Il lettore interessato a maggiori dettagli può, per esempio, consultare [BG98, BS94, Clé75]. Scegliendo dunque in (3.80) v h = Rh v, ponendo C = max(C 1 , C2 ) ed utilizzando la disuguaglianza di Cauchy-Schwarz discreta, si ottiene: ∇(u − uh ) · ∇v dΩ ≤ C ρK (uh )vH1 (K) e K∈T h Ω ! 12 ! 12 2 2 ≤C [ρK (uh )] vH1 (K) . e K∈Th
Abbiamo indicato con ρK (uh ) = hK
K∈Th
1 1 ∂uh 1 1 12 1 1 1 f + Δuh L2 (K) + hK 1 2 ∂n 1L2 (∂K)
(3.82)
il cosiddetto residuo locale, costituito dal residuo interno f + Δu h L2 (K) e dal 1 1 h 1 residuo di bordo 1 ∂u . ∂n L2 (∂K) 3 è necessaOsserviamo ora che, essendo T h regolare, il numero di elementi in K riamente limitato da un intero positivo indipendente da h, che indichiamo con n. Pertanto ! 12 √ 2 vH1 (K) ≤ nvH1 (Ω) . e K∈Th
Scelto infine v = u − uh e applicando la disuguaglianza di Poincaré, troviamo √
u − uh H1 (Ω) ≤ C n
! 12 [ρK (uh )]2
,
(3.83)
K∈Th
dove ora la costante C include anche il contributo della costante di Poincaré. e K
KNj
K
Nj
e di elementi che hanno in comune con K almeno un nodo di griglia Figura 3.16. L’insieme K (a sinistra) e l’insieme KNj degli elementi che condividono il nodo Nj (a destra)
3.5 Il problema dell’adattività della griglia
79
Si noti che ρK (uh ) è una quantità effettivamente calcolabile essendo funzione del dato f , del parametro geometrico h K e della soluzione calcolata u h . Il punto più delicato di questa analisi è la stima, non sempre immediata, delle costanti C ed n. La stima a posteriori (3.83) può essere, ad esempio, usata al fine di garantire che u − uh H1 (Ω) 1 3 ≤ ≤ , 2 uh H1 (Ω) 2
(3.84)
essendo > 0 una tolleranza prestabilita. A tale scopo, mediante un’opportuna procedura iterativa schematizzata in Fig. 3.17, si può raffinare e deraffinare localmente la griglia Th in modo tale che, per ogni K, siano soddisfatte le disuguaglianze locali seguenti: 1 2 9 2 uh 2H1 (Ω) ≤ [ρK (uh )]2 ≤ uh 2H1 (Ω) , (3.85) 4N 4N avendo indicato con N il numero di elementi della griglia T h . Ciò assicura che siano√soddisfatte le disuguaglianze globali (3.84), a meno del contributo della costante C n. Alternativamente, si può costruire una funzione di spaziatura di griglia H appropriata, analogamente a quanto detto nel paragrafo 3.5.1. Naturalmente il diagramma di flusso riportato in Fig. 3.17 si può usare anche per problemi ai limiti diversi da (3.28). Illustriamo il concetto di adattazione della griglia computazionale su un problema differenziale semplice. A tal fine adottiamo la procedura iterativa schematizzata in Fig. 3.17, limitandoci però alla sola fase di raffinamento. Il procedimento di deraffinamento risulta infatti di più difficile implementazione, tanto è vero che molti dei software matematici di uso comune prevedono il solo raffinamento della griglia iniziale, che converrà dunque scegliere opportunamente lasca. Consideriamo il problema −Δu = f in Ω = (−1, 1)2 , supponendo di assegnare condizioni di Dirichlet omogenee su tutto il bordo ∂Ω. Scegliamo inoltre un termine forzante f tale che la soluzione esatta sia u = sin(πx) sin(πy) exp(10x). Avviamo la procedura adattativa partendo da una griglia iniziale uniforme, costituita da 324 elementi, e da una tolleranza = 0.2. La procedura iterativa converge dopo 7 iterate. Riportiamo in Fig. 3.18 la griglia iniziale assieme a 3 delle griglie adattate così ottenute, mentre in Tabella 3.2 sono riassunti il numero N h degli elementi della griglia T h , l’errore relativo u−u hH1 (Ω) /uh H1 (Ω) e lo stimatore normalizzato η/u h H1 (Ω) sulla griglia iniziale e sulle prime 6 griglie adattate. Le griglie in Fig. 3.18 forniscono un riscontro qualitativo per l’affidabilità della procedura adattiva seguita: come ci si aspetta, i triangoli infatti si addensano in corrispondenza delle regioni di massimo e di minimo della funzione u. D’altro canto i valori in Tabella 3.2 permettono anche di effettuare un’analisi di tipo quantitativo: sia l’errore relativo che lo stimatore normalizzato si riducono progressivamente, all’aumentare delle 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 giustificazione, essenzialmente, nell’avere trascurato (ovvero posto uguale ad 1) la costante √ C n nelle disuguaglianze (3.84) e (3.85). √È chiaro che tale negligenza porta a richiedere in realtà una tolleranza 3 = /(C n), che coinciderà dunque con l’originale
80
3 Il metodo di Galerkin-elementi finiti per problemi ellittici lettura della griglia iniziale
discretizzazione e risoluzione del problema numerico
si pone R = D = ∅
ciclo sugli elementi K
se ρK >
se
3ε √ uh H 1 2 N
ρK
0 una costante indipendente dalla triangolazione. Esempio 3.2 Consideriamo 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, θ) = r 4/3 sin( 43 θ) sia la soluzione esatta. Essa risulta poco regolare in un intorno dell’origine. Supponiamo di risolvere tale problema con il metodo di Galerkin-elementi finiti lineari sulla griglia quasi uniforme riportata nella Fig. 3.19 a sinistra, e costituita da 132 triangoli. Come si può notare dalla distorsione delle isolinee di uh nella Fig. 3.20 a sinistra, la soluzione ottenuta risulta inaccurata in prossimità dell’origine. L’uso di una tecnica adattiva consente, dopo 4 passi di adattività, di ottenere sulla griglia riportata in Fig. 3.19 a destra, formata da 679 triangoli, una soluzione assai più accurata (Fig. 3.20 a destra). Per confronto, per ottenere una soluzione caratterizzata dalla stessa accuratezza su di una griglia uniforme sarebbero serviti circa 2100 triangoli.
84
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
−0.2
−0.2
−0.4
−0.4
−0.6
−0.6
−0.8 −1
−1
−0.8 0
1
2
3
4
5
6
7
−1
−1
0
1
2
3
4
5
6
7
Figura 3.21. A sinistra, la triangolazione di partenza con 252 elementi, a destra quella con 2381 elementi, ottenuta dopo il raffinamento
Figura 3.22. Le isolinee della soluzione ad elementi finiti lineari del problema considerato nell’Esempio 3.3: a sinistra, relativamente alla griglia di partenza, a destra, sulla griglia adattata Esempio 3.3 Consideriamo il problema −Δu = 0 su Ω = (0, 6.3) × (−0.5, 0.5) con condizioni al contorno di tipo misto. In particolare, sulle porzioni di lato Γ1 = {x = (x, y)T : y = ±0.5, 0 < x < 3.8} e Γ3 = {x = (x, y)T : y = ±0.5, 4.5 < x < 6.3} è stata imposta u = 100, su Γ2 = {x = (x, y)T : y = ±0.5, 3.9 < x < 4.4} si è posto u = 800 e sulle restanti porzioni di bordo ∂u/∂n = 0. Questo problema è associato ad una sezione longitudinale di un sistema di lenti elettrostatiche piane, di estensione infinita nella direzione trasversale (u è il potenziale elettrostatico, i Γi rappresentano in sezione le armature del dispositivo, mentre le regioni di bordo fra di essi sono le lenti). Chiaramente per risolvere accuratamente un sistema siffatto è necessario adattare opportunamente la griglia in prossimità delle lenti in quanto i punti di raccordo fra condizioni al contorno di tipo diverso possono generare irregolarità nella soluzione. Nelle Figure 3.21 e 3.22 vengono riportate le griglie di calcolo iniziale (sinistra) e adattata (destra) e le isolinee della corrispondente soluzione ad elementi finiti lineari.
3.5.4 Stime a posteriori di un funzionale dell’errore Osserviamo che, nella sezione precedente, il problema aggiunto (3.63) è stato utilizzato in modo puramente formale, in quanto l’errore e h , che ne rappresenta il termine forzante, non è conosciuto. Esiste un’altra famiglia di stimatori a posteriori dell’errore, ancora basati sul problema aggiunto, che, al contrario, utilizzano esplicitamente le informazioni fornite da
3.5 Il problema dell’adattività della griglia
85
quest’ultimo (si veda, ad esempio, [Ran99]). In questo caso viene solitamente fornita una stima per un opportuno funzionale J dell’errore e h , anziché per una opportuna norma di e h . Questa prerogativa si rivela particolarmente utile nel momento in cui si vogliano fornire stime dell’errore significative per quantità di interesse fisico quali, ad esempio, resistenza o portanza nel caso di corpi immersi in un fluido, valori medi di concentrazioni, sforzi, deformazioni, flussi, valori puntuali, ecc. A tal fine sarà sufficiente fare una scelta opportuna per il funzionale J. Questo tipo di adattività è nota come adattività di tipo goal-oriented. Illustriamo questo approccio riferendoci ancora, per semplicità, al problema di Poisson (2.12) e supponendo di voler controllare l’errore di un certo funzionale J : H 01 (Ω) → R della soluzione u. Consideriamo la seguente formulazione debole del corrispondente problema aggiunto trovare φ ∈ V : ∇φ·∇w dΩ = J(w) ∀ w ∈ V, (3.92) Ω
con V = H10 (Ω). Utilizzando l’ ortogonalità di Galerkin e procedendo come fatto nella sezione precedente, troviamo
J(eh ) =
∇eh · ∇φ dΩ = Ω
−
1 2
∂K
∂uh ∂n
(f + Δuh ) (φ − φh ) dΩ
K∈Th K
(φ − φh ) dγ ,
(3.93)
dove φh ∈ Vh è solitamente un interpolante di φ da scegliersi opportunamente in base alla regolarità di φ. Utilizzando la disuguaglianza di Cauchy-Schwarz su ogni elemento K, otteniamo |J(eh )| = ∇eh · ∇φ dΩ ≤ f + Δuh L2 (K) φ − φh L2 (K) K∈Th
Ω 1 1 4 1 ∂u 1 1 h 1 1 + 1 φ − φh L2 (∂K) 2 ∂n 1L2 (∂K) 1 1 ≤ ρK (uh ) max , φ − φh L2 (K) , 1/2 φ − φh L2 (∂K) hK h K∈Th
K
essendo ρK (uh ) definito secondo la (3.82). Introduciamo ora i cosiddetti pesi locali 1 1 ωK (φ) = max φ − φh L2 (K) , 1/2 φ − φh L2 (∂K) . (3.94) hK hK Pertanto |J(eh )| ≤
K∈Th
ρK (uh )ωK (φ).
(3.95)
86
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
Possiamo osservare che, a differenza delle stime di tipo residuale introdotte nelle Sez. 3.5.2 e 3.5.3, la stima (3.95) dipende non solo dalla soluzione discreta u h ma anche dalla soluzione φ del problema duale. In particolare, considerato lo stimatore locale ρK (uh )ωK (φ), possiamo affermare che, mentre il residuo ρ K (uh ) misura come 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 funzionale scelto. Pertanto le griglie ottenute per scelte differenti del funzionale J, ovvero del termine forzante del problema aggiunto (3.92), saranno diverse pur partendo dallo stesso problema differenziale (per maggiori dettagli, rimandiamo all’Esempio 5.10). Inoltre, per rendere efficace la stima (3.95), si procede sostituendo le norme φ − φh L2 (K) e φ − φh L2 (∂K) in (3.94) con opportune stime per l’errore di intepolazione, dopo aver scelto φ h come un opportuno interpolante della soluzione duale φ. Segnaliamo due casi particolari. Scegliendo J(w) = Ω w eh dΩ in (3.92) ritroveremmo la stima (3.91) per la norma L 2 dell’errore di discretizzazione, a patto ovviamente di poter garantire che il risultato di regolarità ellittica (3.61), enunciato nel Lemma 3.6, sia vero. Un’altra scelta del funzionale J ci permetterebbe di ottenere un controllo puntuale dell’errore di discretizzazione. Se invece siamo interessati a controllare eh in corrispondenza di un punto x di Ω, sarà infatti sufficiente definire J come J(w) = W < δx , w >W , essendo W = H10 (Ω) ∩ C 0 (Ω) e δx la delta di Dirac relativa al punto x. (Si veda l’Appendice A). Osservazione 3.7 L’analisi a posteriori di questa sezione, così come quella delle sezioni precedenti 3.5.2 and 3.5.3, può essere estesa al caso di problemi differenziali più complessi e più significativi, quali ad esempio i problemi di trasporto e diffusione del semplice problema di Poisson, e di condizioni al bordo più generiche (si veda l’Esempio 5.10). La procedura rimane essenzialmente invariata. Ciò che cambia è la definizione del residuo locale (3.82) e del salto generalizzato (3.78). Mentre infatti ρ direttamente dalla formulazione differenziale del problema in esame, K (uh ) dipende ∂uh /∂n dovrà tenere opportunamente conto delle condizioni assegnate al bordo. • Per una descrizione più approfondita delle tecniche di adattività fin qui fornite e per una presentazione di altre possibili metodologie di adattazione rinviamo il lettore a [AO00, Ran99, Ver96].
3.6 Come ottenere il problema aggiunto Abbiamo visto che il problema duale (o aggiunto) di un dato problema differenziale gioca un ruolo fondamentale, ad esempio, nell’ambito della derivazione di stimatori dell’errore, sia a priori che a posteriori (si vedano le Sez. 3.4.4 e 3.5.3-3.5.4, rispettivamente). Obiettivo di questa sezione è quello di fornire un metodo per ricavare l’aggiunto di un dato operatore differenziale assieme alle condizioni al bordo del problema duale, note quelle primali.
3.6 Come ottenere il problema aggiunto
87
3.6.1 Il caso lineare Più nel dettaglio, sia A : V → V l’operatore associato al problema differenziale assegnato (il problema primale), e A ∗ : V → V il corrispondente operatore aggiunto. Vale allora la seguente relazione, nota come identità di Lagrange: V
< Av, w >V =
V
< v, A∗ w >V
∀v, w ∈ V.
(3.96)
Osserviamo che, in tale relazione, non è presente alcun contributo di bordo e che entrambe le variabili, v e w, giocano il ruolo di soluzione (rispettivamente del problema primale e di quello duale) o di funzione test, a seconda che consideriamo il termine di sinistra o di destra della (3.96). Per determinare l’operatore A ∗ , l’idea è dunque quella di garantire il soddisfacimento dell’identità di Lagrange “scaricando” l’operatore differenziale A dalla soluzione primale v sulla soluzione duale w. I termini di bordo risultanti da tale operazione dovranno essere annullati utilizzando le condizioni al bordo associate al problema primale ed assegnando opportunamente quelle per il problema duale. Forniamo un esempio di tale procedura, partendo da un semplice problema differenziale di diffusione trasporto monodimensionale, completato da condizioni al bordo di tipo Robin-Dirichlet omogenee: Av = −v + v = f, x ∈ I = (0, 1), (3.97) v(1) = 0, v (0) + βv(0) = 0, assunta β costante. Integriamo per parti due volte il termine di diffusione e una volta il termine di trasporto, lasciando, per ora, in evidenza tutti i termini di bordo: 1 V
< Av, w >V
= −
1
v w dx + 0
1 =
v w dx
0
1 1 1 v w dx − v w − v w dx + v w
0
0
1
= −
0
0
1 1 1 1 v w dx + v w − v w − v w dx + v w . 0
0
0
0
0
(3.98) Trattiamo a parte i termini di bordo, esplicitando il contributo ai due estremi. Affinché sia verificata l’identità (3.96), dobbiamo innanzitutto garantire che v(1) w (1) − v(0) w (0) − v (1) w(1) + v (0) w(0) + v(1) w(1) − v(0) w(0) = 0, per ogni v ∈ V . Sfruttando le condizioni al bordo del problema primale, possiamo innanzitutto annullare il primo e il quinto termine, essendo v(1) = 0, e riscrivere il quarto termine come −β v(0) w(0), ottenendo così
88
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
−v(0) w (0) − v (1) w(1) − β v(0) w(0) − v(0) w(0) =
−v (1) w(1) − w (0) + (β + 1) w(0) v(0) = 0.
Dal momento che tale relazione deve valere per ogni v ∈ V , siamo indotti a fare le seguenti richieste sulla soluzione duale w: w (0) + (β + 1) w(0) = 0,
w(1) = 0.
(3.99)
Ritornando dunque alla (3.98), abbiamo così 1 V
< Av, w >V
= −
1
v w dx + 0
1 = − 0
v w dx
0
v w dx −
1
v w dx =
V
< v, A∗ w >V .
0
Possiamo dunque concludere che l’operatore aggiunto A ∗ di A è dato da A∗ w = −w − w , mentre le condizioni al bordo da associarsi al problema duale sono date dalle (3.99). Osserviamo che il campo di trasporto del problema duale ha direzione opposta rispetto a quello del problema primale. Inoltre a condizioni al bordo di tipo Robin-Dirichlet omogenee per il problema primale (3.97) corrispondono condizioni esattamente della stessa natura per il problema duale. La procedura illustrata per il problema (3.97) può chiaramente essere estesa al caso bidimensionale. In Tabella 3.3 forniamo un elenco di operatori differenziali 2D con relative condizioni al bordo e dei corrispondenti operatori aggiunti e condizioni al bordo duali ad essi associate (sulle funzioni che compaiono in Tabella, si assuma tutta la regolarità che serve per la buona definizione degli operatori differenziali considerati). Osserviamo, in particolare, che non necessariamente a condizioni primali di un certo tipo corrispondono condizioni duali della stessa natura e che ad una formulazione conservativa (rispettivamente, non conservativa) del problema primale corrisponde una formulazione non conservativa (rispettivamente, conservativa) di quello duale.
3.6.2 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), (3.100) v(0) = v(1) = 0,
Operatore primale
C.B. primali
Operatore duale
C.B. duali
u = 0 su Γ −∆u
∂u = 0 su ∂Ω\Γ ∂n
w = 0 su Γ, −∆w
∂w = 0 su ∂Ω\Γ ∂n w = 0 su Γ,
u = 0 su Γ, −∆u + σu
∂u + γu = 0 su ∂Ω\Γ ∂n
−∆w + σw
∂w + γw = 0 su ∂Ω\Γ ∂n
u = 0 su Γ,
−∆w − b · ∇w + σw,
w = 0 su Γ,
∇·b =0
∂u + γu = 0 su ∂Ω\Γ ∂n
∇·b =0
∂w + (b · n + γ)w = 0 su ∂Ω\Γ ∂n
−∆u + b · ∇u + σu,
u = 0 su Γ,
−∆w − b · ∇w + σw,
w = 0 su Γ,
∇·b =0
∂u = 0 su ∂Ω\Γ ∂n
∇·b =0
∂w + b · n w = 0 su ∂Ω\Γ ∂n
u = 0 su Γ, −div(µ∇u) + div(bu) + σu
µ
∂u − b · nu = 0 su ∂Ω\Γ ∂n
−div(µ∇u) + b · ∇u + σu,
u = 0 su Γ,
∇·b =0
∂u = 0 su ∂Ω\Γ µ ∂n
w = 0 su Γ, −div(µ∇w) − b · ∇w + σw
µ
∂w = 0 su ∂Ω\Γ ∂n
−div(µ∇w) − div(bw) + σw,
w = 0 su Γ,
∇·b =0
∂w µ + b · nw = 0 su ∂Ω\Γ ∂n
89
Tabella 3.3. Operatori bidimensionali primali e condizioni al bordo (C.B.) per il problema primale e corrispondenti operatori duali (con condizioni al bordo associate)
3.6 Come ottenere il problema aggiunto
−∆u + b · ∇u + σu,
90
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
denotando con A(v) l’operatore d2 · d· +v . dx2 dx L’identità di Lagrange (3.96) viene ora così generalizzata: A(v)· = −
V
< A(v)u, w >V =
V
(3.101)
< u, A∗ (v)w >V ,
(3.102)
∗
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 A ∗ le cui proprietà verranno identificate imponendo il soddisfacimento dell’identità di Lagrange (3.102). Partendo da tale identità, vediamo a quale operatore aggiunto A ∗ e a quali condizioni al bordo duali si perviene per il problema (3.100). Integrando per parti due volte il terminediffusivo e una volta il termine di ordine uno, otteniamo 1 V
< A(v)u, w >V
= −
1
u w dx + 0
1 =
vu w dx
0
1 1 1 u w dx − u w − (v w) u dx + v u w
0
0
1
= −
0
0
1 1 1 u w dx + u w − u w − (v w) u dx + v u w . 1
0
0
0
0
0
(3.103) Analizziamo a parte i termini di bordo, esplicitando i contributi ai due estremi. Per garantire la (3.102), 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 di annullare immediatamente i primi due e gli ultimi due termini, riducendoci così ad avere −u (1) w(1) + u (0) w(0) = 0. Dal momento che tale relazione deve valere per ogni u ∈ D(A), dobbiamo scegliere come condizioni duali al bordo di Dirichelt omogenee, ovvero w(0) = w(1) = 0.
(3.104)
Tornando alla (3.103), si ha quindi 1 V
< A(v)u, w >V
=
−
u w dx + 0
1 =
1
− 0
vu w dx
0
u w dx −
1 0
(v w) u dx =
V
< u, A∗ (v)w >V .
3.7 Esercizi
91
L’operatore aggiunto A ∗ dell’operatore primale A definito in (3.101) risulta dunque A∗ (v)· = −
d2 · d v· + dx2 dx
mentre le condizioni al bordo duali sono fornite dalla (3.104). Osserviamo infine che il problema duale è sempre lineare, pur essendo partiti da un problema primale non lineare. Per maggiori dettagli sulla derivazione e sull’analisi dei problemi aggiunti rimandiamo 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 alla temperatura t 0 ed isolata al secondo estremo x = L. Supponiamo che la sezione trasversale 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 al seguente problema misto: −kAt + σpt = 0, x ∈ (0, L), (3.105) t (L) = 0, t(0) = t0 , avendo indicato con k il coefficiente di conducibilità termica e con σ il coefficiente di trasferimento convettivo. Si verifichi che la soluzione esatta di questo problema è t(x) = t0
cosh[m(L − x)] , cosh(mL)
con m = σp/kA. Si scriva la formulazione debole di (3.105), indi la sua approssimazione di Galerkin-elementi finiti. Si mostri come l’errore di approssimazione nella norma H 10 (0, L) dipenda dai parametri k, σ, p e t 0 . Infine, si risolva questo problema utilizzando elementi finiti lineari e quadratici su griglie 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 distanti 2H. Supponiamo che la piastra superiore, posta ad una temperatura t sup , scorra con velocità U rispetto alla piastra inferiore, posta ad una temperatura t inf . In tal caso la temperatura t : (0, 2H) → R del fluido tra le due piastre soddisfa al problema di Dirichlet seguente
92
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
⎧ ⎨
d2 t = α(H − y)2 dy 2 ⎩ t(0) = tinf , −
in (0, 2H), t(2H) = tsup ,
4U 2 μ , essendo k il coefficiente di conducibilità termica e μ la viscosità H 4k del fluido. Si trovi la soluzione esatta t(y), indi si scriva la formulazione debole e la formulazione Galerkin-elementi finiti. [Soluzione: la soluzione esatta è
dove α =
t(y) = −
α tinf + tsup αH 4 tinf − tsup (H − y)4 + (H − y) + + .] 12 2H 2 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 soggetto ad un carico trasversale di intensità w per unità di lunghezza, soddisfa al seguente problema di Dirichlet: w k −u + u = in (0, 1), T T u(0) = 0, u(1) = 0, avendo indicato con k il coefficiente di elasticità della fune. Si scrivi la formulazione debole e la formulazione Galerkin-elementi finiti. 4. Si dimostri la Proprietà 3.1. [Soluzione: basta osservare che a ij = a(ϕj , ϕi ) ∀i, j.] 5. Si dimostri che nel caso in cui a(·, ·) sia una forma bilineare simmetrica, oltre che continua e coerciva, allora la (3.9) diventa 5 M u − uh V ≤ inf u − wh V . α wh ∈Vh [Soluzione: essendo la forma simmetrica si può ripetere il ragionamento contenuto nella osservazione 2.2, notando che la soluzione u h soddisfa il problema a(uh , vh ) = a(u, vh ) per ogni vh ∈ Vh . Si deduce quindi che u h minimizza 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 dalla simmetria 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 numerare prima gli estremi dei singoli intervalli e successivamente i punti medi di ciascun intervallo. Questa numerazione è più o meno conveniente di quella introdotta nella Sez. 3.3 per la discretizzazione del problema di Poisson con elementi
3.7 Esercizi
93
finiti in Xh2 ? Si supponga di risolvere il sistema lineare di Galerkin con un metodo di fattorizzazione. [Soluzione: la matrice che si ottiene ha ancora solo cinque diagonali diverse da zero come quella ottenuta usando la numerazione proposta nella Sez. 3.3. Presenta però una larghezza di banda maggiore. Di conseguenza, nel caso in cui venga fattorizzata, è soggetta ad un riempimento maggiore come mostrato nella Fig. 3.23.] 0
0
2
2
4
4
6
6
8
8
10
10
12
12
14
14
16
16
18
18
20
20
0
5
10
15
20
0
5
10
15
20
Figura 3.23. A sinistra, la trama di sparsità della matrice di Galerkin associata ad una discretizzazione con 10 elementi del problema di Poisson con elementi finiti quadratici. La numerazione delle incognite è quella riportata nell’Esercizio 6. A destra, la trama dei fattori L ed U associati alla fattorizzazione di A. Si noti che, a causa del riempimento, il numero 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, dove α = α(x), γ = γ(x), f = f (x) sono funzioni assegnate con 0 ≤ γ(x) ≤ γ 1 e 0 < α0 ≤ α(x) ≤ α1 ∀x ∈ [0, 1], mentre δ ∈ R. Si suppone inoltre che f ∈ L2 (0, 1). Se ne scriva la formulazione debole precisando gli opportuni spazi funzionali e le ipotesi sui dati che garantiscono esistenza ed unicità della soluzione. Si supponga di trovare una soluzione approssimata u h utilizzando il metodo agli elementi finiti lineari. Cosa si può dire sull’esistenza, la stabilità e l’accuratezza della soluzione approssimata uh rispetto alla soluzione esatta? [Soluzione: cerchiamo u ∈ V ={v ∈ H 1 (0, 1) : v(0) = 0} tale che a(u, v) = F (v) ∀v ∈ V dove 1 1 1 a(u, v)= αu v dx + γuv dx + δu(1)v(1), F (v)= f v dx. 0
0
0
94
3 Il metodo di Galerkin-elementi finiti per problemi ellittici
L’esistenza e l’unicità della soluzione del problema debole sono garantite se valgono le ipotesi del Lemma di Lax-Milgram. La forma a(·, ·) è continua in quanto si ha |a(u, v)| ≤ 2 max(α1 , γ1 )uV vV + |δ| |v(1)| |u(1)|, 1 da cui, tenendo conto che u(1) =
u dx, si ricava
0
|a(u, v)| ≤ M uV vV
con M = 3 max(α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 basta, invocando la disuguaglianza di Poincarèe (Proprietà A.4 dell’Appendice) , dimostrare che 1 2 2 2 uV ≤ u L2 (0,1) , 1 + CΩ e quindi concludere a(u, u) ≥ α∗ u2V
con α∗ =
α0 2 . 1 + CΩ
Il fatto che F sia un funzionale lineare e continuo è di immediata verifica. Il metodo agli elementi finiti è un metodo di Galerkin con V h = {vh ∈ Xh1 : vh (0) = 0}. Di conseguenza, in virtù dei Corollari 3.1, 3.2 si deduce che la soluzione u h esiste ed è unica. Dalla stima (3.59) si deduce inoltre che, essendo r = 1, l’errore in norma V tenderà a zero linearmente rispetto ad h.] 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 = ∅ e 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 soluzione ottenuta con il metodo di Galerkin. Si supponga che u ∈ H 4 (Ω). Fino a quale grado polinomiale sarebbe conveniente arrivare utilizzando una approssimazione ad elementi finiti?
3.7 Esercizi
95
[Soluzione: il problema debole consiste nel trovare u ∈ V =H 1ΓD tale che a(u, v) = F (v) ∀v ∈ V dove a(u, v)= α∇u∇v dΩ + γuv dΩ, F (v)= f v dΩ. Ω
Ω
Ω
La forma bilineare è continua in quanto |a(u, v)| ≤ α|∇u||∇v| dΩ + |γ||u| |v| dΩ ≤ ≤
Ω
Ω
αL∞ (Ω) ∇uL2 (Ω) ∇vL2 (Ω) + γL∞ (Ω) uL2 (Ω) vL2 (Ω) M uV vV ,
avendo preso M = 2 max{α L∞ (Ω) , γL∞ (Ω) }. Inoltre è coerciva (si veda α0 la soluzione dell’Esercizio 7) con costante di coercività data da α ∗ = 2 . 1 + CΩ Essendo F un funzionale lineare e continuo, per il Lemma di Lax-Milgram la soluzione debole esiste ed è unica. Per quanto riguarda l’approssimazione con il metodo di Galerkin, introduciamo uno spazio V h di dimensione finita, sottospazio di V . Allora esiste unica la soluzione u h del problema di Galerkin: trovare uh ∈ Vh tale che a(uh , vh ) = F (vh ) ∀vh ∈ Vh . Inoltre, per il Corollario 3.2 si ha la stabilità. Per quanto riguarda il grado polinomiale k al quale al più è conveniente arrivare, basta osservare che l’esponente s che compare nella (3.24) è pari al minimo fra r e p = 3. Quindi, converrà utilizzare elementi di grado 3.] 9. I passi fondamentali di un codice ad elementi finiti possono essere così sintetizzati: (a) Input dati. (b) Costruzione della triangolazione T h = {K}. (c) Costruzione delle matrici locali A K e degli elementi fK del termine noto. (d) Assemblaggio della matrice globale A e del termine noto f . (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 T K che permette di passare dalla matrice locale A K alla matrice globale A seT condo una trasformazione del tipo T K AK TK . Quale dimensione ha questa matrice? 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 elementi delle matrici locali AK . d) Nel caso di una griglia generale T h con NV vertici e NT triangoli, quale dimensione ha la matrice globale A nel caso di elementi finiti lineari e quadratici, rispettivamente?
96
3 Il metodo di Galerkin-elementi finiti per problemi ellittici 1 5
6 2
K
4
3
Figura 3.24. Patch di elementi per l’assemblaggio della matrice globale A
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.96).
4 I metodi spettrali
Come abbiamo visto nel capitolo precedente, quando si approssimano problemi ai limiti con il metodo degli elementi finiti, l’ordine di convergenza è comunque limitato dal grado dei polinomi usati, anche nel caso in cui le soluzioni siano regolari. In questo capitolo introdurremo i cosiddetti metodi spettrali, per i quali la velocità di convergenza è limitata dalla sola regolarità della soluzione del problema (ed è di tipo esponenziale per soluzioni analitiche). Per un’analisi dettagliata rinviamo a [CHQZ06, Fun92, BM92].
4.1 Il metodo di Galerkin spettrale per un problema ellittico La principale caratteristica che differenzia gli elementi finiti dai metodi spettrali è che questi ultimi utilizzano polinomi globali sul dominio computazionale Ω, anziché polinomi a tratti. Per ogni intero positivo N , denotiamo con Q N lo spazio dei polinomi a coefficienti reali di grado minore o eguale ad N rispetto a ciascuna delle variabili. Così in una dimensione, indicheremo con 4 N k QN (I) = v(x) = a k x , ak ∈ R k=0
lo spazio dei polinomi di grado ≤ N sull’intervallo I ⊂ R, mentre, in due dimensioni, QN (Ω) =
v(x) =
N
4 akm xk1 xm 2 ,
akm ∈ R
(4.1)
k,m=0
denoterà il medesimo spazio, ma sull’insieme aperto Ω ⊂ R 2 . Notiamo che, mentre in una dimensione Q N = PN , in più dimensioni ciò non accade. In particolare, dim QN = (N + 1)2 , mentre, come già visto nel capitolo precedente, dim P N = (N + 1)(N + 2)/2.
98
4 I metodi spettrali
ΓD
ΓD
Figura 4.1. Bordi di Dirichlet ammissibili (a sinistra) e non (a destra) per il metodo spettrale
Supponiamo di voler approssimare la soluzione u di un problema ellittico che ammette la formulazione variazionale (3.1). Con un metodo di Galerkin spettrale (MS), lo spazio V verrà approssimato con uno spazio V N ⊂ QN e la soluzione approssimata verrà conseguentemente indicata con u N . In particolare, se supponiamo che V sia un sottospazio di H1ΓD (Ω), VN denoterà l’insieme dei polinomi di Q N che si annullano sulla porzione di frontiera Γ D su cui si ha una condizione di tipo Dirichlet, ovvero VN = {vN ∈ QN :
vN |ΓD = 0}.
È evidente che VN ⊂ V . Il metodo di Galerkin verrà dunque formulato sul sottospazio VN . Nella definizione di VN è però insita una difficoltà: nel caso multidimensionale non è infatti possibile (in generale) richiedere che un polinomio v N si annulli 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 un lato del quadrato senza che esso sia nullo su tutto quel lato (si veda la Fig. 4.1). Ciò non toglie che un polinomio possa annullarsi su tutto un lato del quadrato o su tutti i lati senza essere necessariamente nullo in tutto Ω (ad esempio, v 2 (x) = (1 − x21 )(1 − x22 ) è nullo solo sul bordo di Ω). Per questo motivo, nel caso bidimensionale restringiamo la nostra attenzione a domini quadrati (o riconducibili, tramite opportune trasformazioni, ad un quadrato di + = (−1, 1)2 ) e supponiamo che la porzione di frontiera Γ D sia formata riferimento Ω dall’unione di uno o più lati del dominio. Il metodo spettrale può tuttavia essere esteso al caso di un dominio Ω costituito dall’unione di quadrilateri Ω k , ciascuno dei quali riconducibile al quadrato di riferimento + → Ωk (si veda la Fig. 4.2). + mediante una trasformazione invertibile ϕ k : Ω Ω Parleremo in tal caso di metodo agli elementi spettrali (MES) [CHQZ06]. È evidente che in tale ambito si potrà imporre che la soluzione si annulli su porzioni di frontiera date dall’unione di lati dei quadrilateri, ma naturalmente non da porzioni di lati (si veda la Fig. 4.2). Lo spazio discreto ha ora la forma seguente: + VNC ={vN ∈ C 0 (Ω) : vN |Ωk ◦ ϕk ∈ QN (Ω)}. Esempio 4.1 Una mappa bidimensionale particolarmente importante è quella costituita dall’interpolazione transfinita (detta trasformazione di Gordon-Hall o anche Coons patch). (i) La mappa ϕk , in questo caso, viene espressa in funzione delle mappe invertibili πk : (−1, 1) → Γi (per i = 1, . . . , 4) che definiscono i quattro lati del dominio computazionale Ωk (si veda la Fig. 4.3). La trasformazione assume la forma seguente:
4.1 Il metodo di Galerkin spettrale per un problema ellittico
ΓD
Ωk
99
b Ω
ϕk
Figura 4.2. Scomposizione del dominio di risoluzione e condizioni al bordo ammissibili per il MES
Γ3
ϕk Γ4
+ Ω η
Ωk
Γ2
Γ1
ξ
Figura 4.3. La trasformazione ϕk nel caso dell’interpolazione transfinita ϕk (ξ, η)
= + +
1−η 1 1+η 3 πk (ξ) + πk (ξ) 2 2 1−ξ 4 1+η 3 1−η 1 [πk (η) − πk (−1) − πk (−1)] 2 2 2 1+η 2 1−η 2 1+ξ 2 [πk (η) − πk (1) − πk (−1)]. 2 2 2
(4.2)
L’interpolazione transfinita consente dunque di passare a considerare domini computazionali Ω caratterizzati da bordi curvi.
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 ∈ VNC : aC (uN , vN ) = FC (vN ) ∀vN ∈ VNC , dove aC (uN , vN ) =
k
aΩk (uN , vN ),
FC (vN ) =
k
essendo aΩk (·, ·) e FΩk (·) le restrizioni di a(·, ·) e di F (·) a Ω k .
FΩk (vN ),
(4.3)
100
4 I metodi spettrali
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 possono applicare i risultati di esistenza, unicità, stabilità e convergenza. Si può inoltre dimostrare che, per i metodi spettrali MS e MES, valgono le seguenti stime a priori dell’errore: Teorema 4.1 Sia u ∈ V la soluzione esatta del problema variazionale (3.1) ed uN la corrispondente soluzione approssimata ottenuta con il metodo MS; si supponga inoltre u ∈ H s+1 (Ω), per qualche s ≥ 0. Allora vale la seguente stima: u − uN H1 (Ω) ≤ Cs N −s uHs+1(Ω) essendo N il grado dei polinomi approssimanti e C s una costante che non dipende da N , ma può dipendere da s. Se u N è invece la soluzione ottenuta con il metodo MES, allora si ha u − uN H1 (Ω) ≤ Cs H min(N,s) N −s uHs+1 (Ω) , essendo H la massima lunghezza dei lati dei macroelementi Ω k . È pertanto evidente che, diversamente da quanto avviene nel metodo ad elementi finiti, 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 dal metodo spettrale la maggiore velocità di convergenza ammessa dalla regolarità della soluzione esatta: questo è un indiscutibile vantaggio dei metodi spettrali rispetto agli elementi finiti. Lo svantaggio principale di tali metodi è che (in due o più dimensioni) riescono a trattare solo geometrie semplici: rettangoli o quadrilateri mappabili in un quadrato tramite una trasformazione invertibile, anche se, come già accennato, si può estendere, attraverso il MES, al caso in cui il dominio sia dato dall’unione di quadrilateri, eventualmente anche con lati curvi. Un ulteriore svantaggio dei metodi spettrali sta nel fatto che la matrice di rigidezza A ad essi associata è piena (nel caso monodimensionale) o comunque molto meno sparsa di quella degli elementi finiti (in più dimensioni), a causa del fatto che le funzioni di base di tale metodo hanno supporto globale (e non locale). Il sistema di equazioni ad essa associato risulta quindi in generale più difficile e più costoso da risolvere. Non è infine da sottovalutare lo sforzo computazionale richiesto per calcolare gli elementi della matrice di rigidezza e del termine noto, in quanto si ha a che fare con polinomi di grado elevato. Quest’ultimo inconveniente viene superato grazie all’uso di
4.2 Polinomi ortogonali e integrazione numerica gaussiana
101
opportune formule di integrazione numerica di tipo gaussiano, oggetto della prossima sezione. Osservazione 4.1 Nel corso della Sez. 4.5 alla fine di questo capitolo verrà fornita la formulazione algebrica del metodo MES per un problema monodimensionale. In particolare verranno introdotte le funzioni di base per lo spazio dei polinomi compositi VNC . • Osservazione 4.2 L’approccio MES ha una formulazione non molto diversa dalla versione 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 schema ad elementi finiti) viene aumentato localmente al fine di migliorare l’accuratezza dell’approssimazione numerica. La differenza principale caratterizzante tali schemi sta essenzialmente nella diversa scelta delle funzioni di base e, conseguentemente, nella diversa struttura assunta dalla matrice di rigidezza. Per ulteriori dettagli, rimandiamo il lettore interessato a [CHQZ07, Sch98]. •
4.2 Polinomi ortogonali e integrazione numerica gaussiana In questa sezione introduciamo gli ingredienti matematici che consentono di costruire formule di integrazione numerica di tipo Gaussiano. Come anticipato, tali formule saranno alla base dei metodi pseudo-spettrali, ma anche dei metodi agli elementi spettrali che 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 L 2 (−1, 1) è definito da 1 4 L (−1, 1) = f : (−1, 1) → R : f L2 (−1,1) = f 2 (x) dx 1/2 < ∞ . 2
−1
Il prodotto scalare in L 2 (−1, 1) è dato da 1 f (x)g(x)dx,
(f, g) = −1
e per esso vale la disuguaglianza di Cauchy-Schwarz (2.7). I polinomi ortogonali di Legendre Lk ∈ Pk , per k = 0, 1, . . ., costituiscono una successione per cui è soddisfatta la seguente relazione di ortogonalità
102
4 I metodi spettrali
(Lk , Lm ) =
se m = k,
0 (k +
1 −1 2)
se m = k.
Essi sono linearmente indipendenti e formano una base per L 2 (−1, 1). Questo ci permette di dire che ogni funzione f ∈ L 2 (−1, 1) può essere espressa tramite uno sviluppo in serie della forma f (x) =
∞
f+k Lk (x)
(4.4)
k=0
noto come serie di Legendre. I coefficienti f+k di questo sviluppo in serie possono essere facilmente calcolati sfruttando l’ortogonalità dei polinomi di Legendre. Infatti abbiamo 1 (f, Lk ) =
=
f (x)Lk (x) dx = −1 ∞ i=0
1
1 ∞ −1
+ fi Li (x)Lk (x) dx
i=0
Li (x)Lk (x) dx f+i = f+k Lk 2L2 (−1,1) .
−1
I coefficienti f+k , noti come coefficienti di Legendre, hanno dunque la seguente espressione: 1 1 2 + fk = (f, Lk )/Lk L2 (−1,1) = (k + ) f (x)Lk (x)dx (4.5) 2 −1
da cui discende immediatamente la cosiddetta identità di Parseval: f 2L2 (−1,1) =
∞
(f+k )2 Lk 2L2 (−1,1) .
k=0
Osserviamo che lo sviluppo (4.4), le cui incognite coincidono con i coefficienti f+k definiti nella (4.5), è detto modale. È possibile calcolare, in maniera ricorsiva, i polinomi di Legendre tramite la seguente relazione a tre termini: L0 = 1, Lk+1 =
L1 = x, 2k + 1 k x Lk − Lk−1 , k+1 k+1
k = 1, 2, . . .
(si veda la Fig. 4.4 in cui vengono riportati i grafici dei polinomi L k , per k = 2, . . . , 5). Possiamo dimostrare che, per ogni f ∈ L 2 (−1, 1), la sua serie di Legendre converge a f nella norma di L 2 (−1, 1). Indicando con
4.2 Polinomi ortogonali e integrazione numerica gaussiana
103
1
0.5
0
-0.5 N=2 N=3 N=4 N=5
-1 -1
-0.5
0
0.5
1
Figura 4.4. I polinomi di Legendre di grado k = 2, 3, 4, 5
fN (x) =
N
f+k Lk (x)
k=0
la troncata N-esima della serie di Legendre di f , ciò significa che lim f − fN L2 (−1,1) = 0,
(4.6)
N →∞
ovvero
∞ 1 1 1 1 f+k Lk 1 lim 1
N →∞
k=N +1
L2 (−1,1)
= 0.
Grazie all’identità di Parseval si ha che f − fN 2L2 (−1,1) =
∞
(f+k )2 Lk 2L2 (−1,1) =
k=N +1
∞ (f+k )2 , k + 12 k=N +1
e dunque la condizione (4.6) equivale a ∞ (f+k )2 = 0. N →∞ k + 12 k=N +1
lim
Inoltre si può dimostrare che, se f ∈ H s (−1, 1), per qualche s ≥ 1, allora è possibile trovare una opportuna costante C s > 0, indipendente da N , tale che s 1 f − fN L2 (−1,1) ≤ Cs f (s) L2 (−1,1) , N ossia si ha convergenza di ordine s, per s ≥ 1, rispetto a 1/N . Possiamo a questo punto dimostrare che f N è la proiezione ortogonale di f su Q N rispetto al prodotto scalare di L 2 (−1, 1), ovvero che (f − fN , p) = 0 ∀ p ∈ QN .
(4.7)
104
4 I metodi spettrali
Infatti (f − fN , Lm ) =
∞
f+k Lk , Lm
k=N +1
∞
=
f+k (Lk , Lm ).
k=N +1
I polinomi L k , con 0 ≤ k ≤ N , formano una base per lo spazio Q N . Inoltre, per m ≤ N , (Lk , Lm ) = 0 ∀k ≥ N + 1 per via dell’ortogonalità, da cui segue la (4.7). In particolare dalla (4.7) discende anche che f N è la funzione che rende minima la distanza di f da QN , ovvero f − fN L2 (−1,1) ≤ f − pL2 (−1,1)
∀ p ∈ QN .
(4.8)
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 ∈ Q N e che (f − fN , p − fN ) = 0 per la proprietà di ortogonalità (4.7). 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 − pL2 (−1,1)
∀ p ∈ QN ,
ossia la (4.8).
4.2.2 Integrazione gaussiana Fissato pari ad N il numero dei nodi di quadratura, l’obiettivo è quello di ottenere formule di quadratura interpolatorie con grado di precisione massimo. Inizieremo con l’introdurre tali formule sull’intervallo (−1, 1) per poi estenderle al caso di un intervallo generico. Introduciamo i nodi di quadratura detti di Gauss-Legendre identificandoli con gli zeri {¯ x1 , . . . , x ¯N } del polinomio di Legendre L N . In corrispondenza di tale insieme di nodi considereremo la seguente formula di quadratura (detta interpolatoria): 1 GL IN −1 f =
GL ΠN −1 f (x) dx,
(4.9)
−1 GL essendo ΠN ¯ 1, . . . , x ¯N . −1 f il polinomio di grado N − 1 interpolante f nei nodi x Indichiamo con ψ k ∈ QN −1 i polinomi caratteristici di Lagrange associati ai nodi di Gauss-Legendre, ovvero tali che
ψ k (¯ xj ) = δkj ,
j = 1, .., N.
La formula di quadratura (4.9) assume allora la seguente espressione
4.2 Polinomi ortogonali e integrazione numerica gaussiana
1 f (x) dx
GL IN −1 f
=
N
1 α ¯ k f (¯ xk ),
con α ¯k =
k=1
−1
105
ψ k (x)dx, −1
e viene detta formula di quadratura di Gauss-Legendre (GL). Per trovare i nodi t¯k ed i pesi δ¯k caratterizzanti tale formula su un generico intervallo [a, b], basterà ricorrere per i primi alla relazione b−a a+b x ¯k + , t¯k = 2 2 mentre, per i secondi, si verifica facilmente che b−a δ¯k = α ¯k . 2 Il grado di esattezza di queste formule è pari a 2N − 1. Si ha quindi b f (x)dx = a
N
δ¯k f (t¯k )
se f ∈ Q2N −1
k=1
qualunque sia l’intervallo (a, b), ovvero il massimo grado ottenibile usando N nodi.
4.2.3 Le formule di Gauss-Legendre-Lobatto Una caratteristica delle formule di integrazione di Gauss-Legendre è di avere tutti i nodi di quadratura interni all’intervallo di integrazione. Tuttavia nel caso di problemi differenziali ciò rende problematica l’imposizione delle condizioni al bordo nei punti estremi dell’intervallo. Per superare tale difficoltà vengono introdotte le cosiddette formule di Gauss-Lobatto, in particolare le formule di Gauss-Legendre-Lobatto (GLL) i cui nodi, relativamente all’intervallo (−1, 1), sono rappresentati dagli estremi stessi dell’intervallo, e dai punti di massimo e di minimo del polinomio di Legendre di grado N , ossia dagli zeri della derivata prima del polinomio L N . Denotiamo tali nodi con {x 0 = −1, x1 , . . . , xN −1 , xN = 1}. Si ha pertanto che LN (xi ) = 0, per i = 1, . . . , N − 1.
(4.10)
Siano ψi i corrispondenti polinomi caratteristici: ψi ∈ QN : ψi (xj ) = δij , 0 ≤ i, j ≤ N ; l’espressione analitica di tali polinomi è data da ψi (x) =
(1 − x2 )LN (x) −1 , N (N + 1) (x − xi )LN (xi )
i = 0, . . . , N
(4.11)
106
4 I metodi spettrali
1
0.5
0
-0.5 i=0 i=1 i=2 i=3 i=4
-1 -1
-0.5
0
0.5
1
Figura 4.5. I polinomi caratteristici ψi , i = 0, . . . , 4 di grado 4 relativi ai nodi di GaussLegendre-Lobatto
(si veda la Fig. 4.5 in cui vengono riportati i grafici dei polinomi caratteristici ψ i , per i = 0, . . . , 4 nel caso N = 4). Osserviamo che le funzioni ψ i (x) sono la controparte delle funzioni di base lagrangiane degli elementi finiti. Per ogni funzione GLL f ∈ C 0 ([−1, 1]), il suo polinomio d’interpolazione Π N f ∈ QN nei nodi GLL è identificato dalla relazione GLL ΠN f (xi ) = f (xi ),
0≤i≤N .
(4.12)
Esso ha la seguente espressione GLL ΠN f (x)
=
N
f (xi )ψi (x).
(4.13)
i=0 GLL Si può dimostrare che, grazie alla distribuzione non uniforme dei nodi {x i }, ΠN f converge verso f quando N → ∞. Inoltre è soddisfatta la seguente stima dell’errore nel caso in cui f ∈ Hs (−1, 1), per qualche s ≥ 1: s 1 GLL f L2 (−1,1) ≤ Cs f (s) L2 (−1,1) , (4.14) f − ΠN N
dove Cs è una costante dipendente da s ma non da N . Più in generale (si veda [CHQZ06]), s−k 1 GLL f − ΠN f Hk (−1,1) ≤ Cs f (s) L2 (−1,1) , s ≥ 1, k = 0, 1. N (4.15) In Fig. 4.6 riportiamo le curve di convergenza dell’errore d’interpolazione per due diverse funzioni. 1 Tornando alla formula di quadratura, i pesi α i = ψi (x) dx assumono la seguente −1
espressione:
4.2 Polinomi ortogonali e integrazione numerica gaussiana
107
5
10
errore interpolazione
0
10
−5
10
−10
10
−15
10
0
10
20
30
40
50
60
70
N
Figura 4.6. Comportamento dell’errore di interpolazione 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)
αi =
2 1 . 2 N (N + 1) LN (xi )
(4.16)
La formula di quadratura GLL è dunque data da 1 GLL f (x)dx IN f=
N
αk f (xk )
(4.17)
k=0
−1
e ha grado di esattezza pari a 2N − 1, ovvero integra esattamente tutti i polinomi di grado ≤ N − 1, 1 GLL f (x)dx = IN f ∀f ∈ Q2N −1 . (4.18) −1
Questo è il massimo grado ottenibile quando si usano N + 1 nodi, di cui 2 assegnati a priori. Si dimostra inoltre, usando la stima di interpolazione (4.14), la seguente stima per l’errore di integrazione: se f ∈ H s (−1, 1), con s ≥ 1, 1 s f (x) dx − I GLL f ≤ Cs 1 f (s) L2 (−1,1) , N N −1
dove Cs è indipendente da N ma può dipendere, in generale, da s. Ciò significa che tanto più la funzione f è regolare, tanto più elevato è l’ordine di convergenza della formula di quadratura. In Fig. 4.7 riportiamo l’errore d’integrazione per due diverse funzioni (le stesse considerate nel grafico di sinistra). Considerando un generico intervallo (a, b) e definendo nodi e pesi in (a, b) come tk =
b−a a+b xk + , 2 2
la generalizzazione della formula (4.17) diventa
δk =
b−a αk , 2
108
4 I metodi spettrali 10
errore quadratura
10
10
10
10
0
−4
−8
−12
−16
0
10
20
30
40
50
60
70
N
Figura 4.7. Comportamento dell’errore di integrazione numerica con la formula GLL per le due funzioni integrande f1 (x) = cos(4πx) (•) e f2 (x) = 4 cos(4x) exp(sin(4x)) () sull’intervallo (−1, 1)
b f (x)dx
N
δk f (tk ).
(4.19)
k=0
a
4.3 Metodi G-NI in una dimensione Consideriamo il seguente esempio di problema ellittico monodimensionale, con dati di Dirichlet omogenei: Lu= − (μu ) + σu = f, −1 < x < 1, (4.20) u(−1) = 0, u(1) = 0, con μ(x) ≥ μ0 > 0 e σ(x) ≥ 0, al fine di avere una forma bilineare associata che sia coerciva in H10 (−1, 1). Il metodo di Galerkin spettrale si scrive 1 trovare uN ∈ VN :
μuN vN dx +
−1
1
1 σuN vN dx =
−1
f vN dx
∀ vN ∈ VN ,
−1
(4.21) con VN = {vN ∈ QN : vN (−1) = vN (1) = 0}.
(4.22)
Il metodo G-NI (Galerkin with Numerical Integration) si ottiene approssimando gli integrali in (4.21) con le formule di quadratura GLL, ossia sostituendo al prodotto scalare (f, g) in L2 (−1, 1) il prodotto scalare discreto di GLL (per funzioni continue) (f, g)N =
N i=0
αi f (xi )g(xi ),
(4.23)
4.3 Metodi G-NI in una dimensione
109
dove gli xi e gli αi sono definiti secondo la (4.10) e la (4.16). Dunque il metodo G-NI si scrive: trovare u∗N ∈ VN : (μu∗N , vN )N + (σu∗N , vN )N = (f, vN )N
∀ vN ∈ VN . (4.24)
A causa dell’integrazione numerica, in generale sarà u ∗N = uN , cioè le soluzioni del metodo spettrale e di quello G-NI non coincidono. Tuttavia, osserviamo che, grazie alla proprietà di esattezza (4.18), si avrà (f, g)N = (f, g)
purché
f g ∈ Q 2N −1 .
(4.25)
Se consideriamo il caso particolare in cui in (4.20) μ = costante e σ = 0, il problema G-NI diviene: μ(u∗ N , vN )N = (f, vN )N . (4.26) In alcuni casi molto particolari si può riscontrare coincidenza tra il metodo spettrale e quello G-NI. È questo ad esempio il caso della (4.26) in cui f sia un polinomio di grado al massimo uguale a N − 1. È semplice verificare che i due metodi coincidono grazie alla relazione di esattezza (4.25). Generalizzando al caso di formulazioni differenziali più complesse e di condizioni al 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.27)
dove aN (·, ·) e FN (·) si ottengono a partire dalla forma bilineare a(·, ·) e dal termine noto F (·) del problema di Galerkin spettrale, sostituendo gli integrali esatti con le formule di quadratura GLL, essendo V N lo spazio dei polinomi di grado N che si annullano su quei tratti di bordo (ammesso che ve ne siano) su cui siano assegnate condizioni di Dirichlet. Si osservi che, a causa del fatto che la forma bilineare a N (·, ·) e il funzionale FN (·) non sono più quelli associati al problema di partenza, quello che si ottiene non è più un problema di Galerkin, e pertanto non sono più applicabili i risultati teorici ad esso relativi (in particolare, il Lemma di Céa). In generale, un metodo derivato da un problema di Galerkin, di tipo spettrale o elementi finiti ([Cia78, QV94]), previa sostituzione degli integrali esatti con quelli numerici verrà detto metodo di Galerkin generalizzato (GG). Per la corrispondente analisi si farà ricorso al Lemma di Strang (si veda la Sez. 4.4.1).
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 una base per lo spazio VN , in quanto sono tutte nulle in corrispondenza di x 0 = −1 e di xN = 1. Possiamo dunque fornire per la soluzione u ∗N del problema G-NI (4.27) la rappresentazione nodale u∗N (x) =
N −1
u∗N (xi )ψi (x),
i=1
110
4 I metodi spettrali
ovvero, in analogia con il metodo degli elementi finiti, identificare le incognite del nostro problema con i valori assunti da u ∗N in corrispondenza dei nodi x i (ora coincidenti con quelli di Gauss-Legendre-Lobatto). Inoltre, affinché il problema (4.27) risulti verificato per ogni v N ∈ VN , basterà che lo sia per ogni funzione di base ψ i . Avremo perciò: N −1
u∗N (xj ) aN (ψj , ψi ) = FN (ψi ),
i = 1, 2, . . . , N − 1,
j=1
che possiamo riscrivere: N −1
aij u∗N (xj ) = fi ,
i = 1, 2, . . . , N − 1,
j=1
ovvero, in forma matriciale:
Au∗N = f
(4.28)
dove A = (aij ) con aij = aN (ψj , ψi ),
f = (fi ) con fi = FN (ψi ),
e u∗N denota il vettore dei coefficienti incogniti u ∗N (xj ), per j = 1, . . . , N − 1. Nel caso particolare del problema (4.24), si otterrebbe aij = (μψj , ψi )N + αi σ(xi )δij ,
fi = (f, ψi )N = αi f (xi ),
per ogni i, j = 1, . . . , N − 1. La matrice in 1D è piena a causa della presenza del termine diffusivo. Il termine reattivo è invece diagonale. In più dimensioni la matrice A ha una struttura a blocchi, e i blocchi diagonali sono pieni. Si veda la Fig. 4.8 in cui è riportato il pattern di sparsità relativo alla matrice A in 2D e 3D. Osserviamo 0
0
5 100
10 200
15
20
300
25 400
30 500
35
40
600
45 700
50
0
5
10
15
20
25 nz = 637
30
35
40
45
50
0
100
200
300 400 nz = 18225
500
600
700
Figura 4.8. 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
4.3 Metodi G-NI in una dimensione 6
4
10
4
10
10 non precondizionato prec. diagonale prec. Cholesky prec. EF int. num. prec. EF int. esatta
3
10 iterazioni
condizionamento
5
10
111
3
10
non precondizionato prec. diagonale prec. Cholesky prec. EF int. num. prec. EF int. esatta
2
10
2
10
1
10 1
10
0
10
0
0
10
20
30
40
50
60
70
10
0
10
20
N
30
40
50
60
70
N
Figura 4.9. Numero di condizionamento (a sinistra) e numero di iterazioni (a destra), per diversi tipi di precondizionamento
infine che il numero di condizionamento della matrice a cui si perverrebbe in assenza di integrazione numerica risulta, in generale, ancora più grande, essendo un O(N 4 ). La matrice A risulta inoltre mal condizionata, con un numero di condizionamento che risulta dell’ordine di O(N 3 ). Per la risoluzione del sistema (4.28) è dunque conveniente ricorrere, specialmente in 2D e 3D, ad un metodo iterativo opportunamente precondizionato. Scegliendo come precondizionatore la matrice degli elementi finiti lineari associati alla stessa forma bilineare a(·, ·) e ai nodi GLL, si ottiene una matrice precondizionata il cui condizionamento è indipendente da N ([CHQZ06]). Nella Fig. 4.9, in alto, riportiamo il numero di condizionamento (in funzione di N ) della matrice A e della matrice ottenuta precondizionando A con diverse matrici di precondizionamento: la matrice diagonale di A, quella ottenuta da A attraverso la fattorizzazione incompleta di Cholesky, quella con elementi finiti lineari approssimando gli integrali con la formula dei trapezi composita, e infine quella esatta degli elementi finiti. Nella stessa figura, in basso, riportiamo invece il numero di iterazioni 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 metodo G-NI: Au = λN u dove A = (aij ), nel caso del semplice operatore di derivata seconda, ovvero a ij = (ψj , ψi )N = (ψj , ψi ), ψj essendo la j-esima funzione caratteristica di Lagrange associata al nodo xj . Allora λN =
2 uN uT Au x L2 (−1,1) = , uT u uT u
(4.29)
112
4 I metodi spettrali
essendo uN ∈ VN l’unico polinomio dello spazio V N definito in (4.22) soddisfacente xj N u (xj ) = uj , per j = 1, . . . , N − 1, dove u = (u j ). Per ogni j, u j = uN x (s) ds, −1
dunque, grazie alla disuguaglianza di Cauchy-Schwarz, xj 1/2 xj 1/2 √ N 2 |ux (s)| ds ds ≤ 2 uN |uj | ≤ x L2 (−1,1) . −1
−1
Pertanto
N −1
2 u2j ≤ 2 (N − 1) uN x L2 (−1,1) ,
uT u =
j=1
il che, grazie alla (4.29), fornisce la minorazione λN ≥
1 . 2(N − 1)
(4.30)
Una maggiorazione per λ N si ottiene ricorrendo alla seguente disuguaglianza inversa per i polinomi algebrici, secondo la quale (si veda [CHQZ06], Sez. 5.4.1) ∃ C > 0 : ∀ p ∈ VN ,
px L2 (−1,1)
√ ≤ 2N
1 −1
1/2 p2 (x) dx . 1 − x2
(4.31)
Allora 1 2 uN x L2 (−1,1)
≤ 2N
2 −1
N −1 N [uN (x)]2 [u (xj )]2 2 dx = 2 N αj , 1 − x2 1 − x2j j=1
(4.32)
dove si è usata l’esattezza della formula di quadratura GLL (si veda la (4.18)), essendo [uN ]2 /(1−x2 ) ∈ P2N −2 . Poiché per i coefficiente α j vale la stima asintotica: αj /(1− x2j ) ≤ C, per un’opportuna costante C indipendente da N , possiamo concludere, grazie alla (4.29) e alla (4.32), che λN ≤ 2 C N 2 .
(4.33)
Si può infine dimostrare che entrambe le stime (4.30) e (4.33) sono ottimali per quanto attiene 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 di collocazione, quei metodi cioè che impongono il soddisfacimento dell’equazione differenziale solo in punti selezionati dell’intervallo di definizione. Consideriamo ancora
4.3 Metodi G-NI in una dimensione
113
il problema di Dirichlet omogeneo (4.20), il cui problema G-NI associato si scrive nella forma (4.24). Vorremmo controintegrare per parti l’equazione (4.24), ma, per poterlo fare, dobbiaGLL mo prima riscrivere i prodotti scalari discreti sotto forma di integrali. Sia Π N : 0 C ([−1, 1]) → QN l’operatore di interpolazione introdotto nella Sez. 4.2.3 che associa ad una funzione continua il corrispondente polinomio interpolante tale funzione nei nodi di Gauss-Legendre-Lobatto. Poiché la formula di quadratura di Gauss-Legendre-Lobatto usa solo i valori della funzione nei nodi di quadratura e poiché ivi la funzione e il suo interpolato G-NI coincidono, si ha N
N GLL GLL αi ΠN f (xi ) = ΠN f (x)dx, 1
αi f (xi ) =
i=0
i=0
−1
GLL f , essendo un polidove l’ultima uguaglianza discende dalla (4.18) in quanto Π N nomio di grado N , viene integrato esattamente. Il prodotto scalare discreto può essere così ricondotto ad un prodotto scalare in L2 (−1, 1), nel caso in cui una delle due funzioni sia un polinomio di grado strettamente minore di N : GLL GLL (f, g)N = (ΠN f, g)N = (ΠN f, g)
∀ g ∈ QN −1 .
(4.34)
GLL GLL In tal caso, infatti, g ∈ Q N −1 , ΠN f ∈ QN , (ΠN f )g ∈ Q2N −1 e quindi l’integrale viene calcolato esattamente. Quindi, integrando per parti gli integrali esatti, si ottiene1 (μuN , vN )N
=
GLL GLL (ΠN (μuN ), vN )N = (ΠN (μuN ), vN )
=
GLL GLL (μuN )] , vN )+ [ΠN (μuN ) vN ]1−1 −([ΠN
=
GLL −([ΠN (μuN )] , vN )N ,
dove l’ultimo passaggio si giustifica poiché v N si annulla al bordo ed i termini nel prodotto scalare danno luogo ad un polinomio il cui grado totale è pari a 2N − 1. A questo punto, possiamo riscrivere il problema G-NI come segue: trovare uN ∈ VN : (LN uN , vN )N = (f, vN )N dove si è definito
∀ vN ∈ VN ,
GLL LN uN = −[ΠN (μuN )] + σuN .
(4.35)
(4.36)
Imponendo ora che la (4.35) valga per ogni funzione di base ψ i , si ottiene (LN uN , ψi )N = (f, ψi )N , 1
i = 1, 2, . . . , N − 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.
114
4 I metodi spettrali
Esaminiamo ora come è fatta la i-esima equazione. Il primo termine, a meno del segno, vale GLL ([ΠN (μuN )] , ψi )N
=
N
GLL GLL αj [ΠN (μuN )] (xj )ψi (xj ) = αi [ΠN (μuN )] (xi ),
j=0
essendosi tenuto conto del fatto che ψ i (xj ) = δij . Analogamente, per il secondo termine, si ha: (σuN , ψi )N =
N
αj σ(xj )uN (xj )ψi (xj ) = αi σ(xi )uN (xi ).
j=0
Infine, il secondo membro diviene: (f, ψi )N =
N
αj f (xj )ψi (xj ) = αi f (xi ).
j=0
Dividendo per α i l’equazione così trovata, si ottiene, in definitiva, il seguente problema equivalente al problema G-NI: LN uN (xi ) = f (xi ), i = 1, 2, . . . , N − 1, (4.37) uN (xN ) = 0. uN (x0 ) = 0, Questo problema si dice di collocazione perché equivale a collocare nei nodi interni xi l’equazione differenziale assegnata (previa approssimazione dell’operatore differenziale L con l’operatore L N ), nonché a soddisfare le condizioni al contorno nei nodi di bordo. Introduciamo ora il concetto di derivata di interpolazione, D N (Φ), di una funGLL zione continua Φ, identificandola con la derivata del polinomio interpolatore Π N Φ definito secondo la (4.12), ovvero GLL DN (Φ)=D[ΠN Φ],
(4.38)
essendo D il simbolo di derivazione esatta. Se ora consideriamo l’operatore differenziale L e sostituiamo a tutte le derivate le corrispondenti derivate di interpolazione, otteniamo un nuovo operatore, detto operatore pseudo-spettrale L N , che coincide esattamente con quello definito nella (4.36). Ne consegue che il metodo G-NI, qui introdotto come metodo di Galerkin generalizzato, può essere interpretato anche come un metodo di collocazione che opera direttamente sulla forma forte del problema, in analogia a quanto avviene, ad esempio, nel caso delle differenze finite. In questo senso le differenze finite possono essere considerate come una versione meno accurata del metodo G-NI in quanto le derivate sono approssimate con formule che fanno uso di un numero ridotto di valori nodali. Se l’operatore di partenza fosse stato
4.3 Metodi G-NI in una dimensione
115
Lu = (−μu ) + (bu) + σu il corrispondente operatore pseudo-spettrale sarebbe stato LN uN = −DN (μuN ) + DN (buN ) + σuN .
(4.39)
Nel caso le condizioni al contorno per il problema (4.20) fossero di tipo Neumann, ( ) ( ) μu (1) = g+ , μu (−1) = g− , il metodo di Galerkin spettrale si formulerebbe come segue: 1 trovare uN ∈ QN
:
μuN vN dx +
−1
1 f vN dx
+
1 σuN vN dx = −1
μ(1) g+ vN (1) − μ(−1) g− vN (−1) ∀ vN ∈ QN ,
−1
mentre il metodo G-NI diventerebbe trovare uN ∈ QN
:
(f, vN )N
+
(μuN , vN )N + (σuN , vN )N =
μ(1) g+ vN (1) − μ(−1) g− vN (−1) ∀ vN ∈ QN .
La sua interpretazione come metodo di collocazione diventa: trovare u N ∈ QN : LN uN (xi ) = f (xi ),
i = 1, . . . , N − 1
(
) ) 1 (( ) LN uN (x0 ) − f (x0 ) − μ uN (−1) − g− = 0, α0 ( ) ) 1 (( ) LN uN (xN ) − f (xN ) + μ uN (1) − g+ = 0, αN dove LN è definito in (4.36). Si noti che nei nodi di bordo viene soddisfatta la condizione di Neumann a meno del residuo L N uN − f moltiplicato per il coefficiente della formula GLL che è un infinitesimo di ordine 2 rispetto a 1/N . In Fig. 4.10 1 riportiamo ( ) l’errore nella norma H (−1, 1) (sopra) ed il valore assoluto della differenza μ uN (±1) − g± (sotto) per diversi valori di N . Entrambi gli errori decadono esponenzialmente al crescere di N . Riportiamo inoltre gli errori ottenuti usando le approssimazioni di Galerkin ad elementi finiti di grado r = 1, 2, 3. Può infine esser utile osservare che la derivata di interpolazione (4.38) si può rappresentare attraverso una matrice D ∈ R (N +1)×(N +1) , detta matrice della derivata di interpolazione, la quale associa ad un qualunque vettore v ∈ R N +1 di valori nodali v i = Φ(xi ), i = 0, . . . , N , il vettore w = Dv le cui componenti sono i valori nodali del polinomio DN (Φ), ovvero wi = (DN (Φ))(xi ), i = 0, . . . , N . La matrice D ha per elementi i valori Dij = ψj (xi ), i, j = 0, . . . , N.
116 10
10
10
10
10
4 I metodi spettrali 5
10
0
10
−5
10 r=N r=1 r=2 r=3
−10
10
−15
0
50
100
150
200
250
300
350
10
5
r=N r=1 r=2 r=3
0
−5
−10
−15
0
50
100
150
N
200
250
300
350
N
Figura 4.10. Errore in H1 (−1, 1) (a sinistra) ed errore sul dato di Neumann (a destra) al variare di N
Si può dimostrare che tali valori sono dati da ⎧ di (−1)i+j ⎪ ⎪ , i = j, ⎪ ⎪ dj xi − xj ⎪ ⎪ ⎪ ⎪ −xj ⎪ ⎪ , 1 ≤ i = j ≤ N − 1, ⎨ 2(1 − x2j ) Dij = ⎪ 2N 2 + 1 ⎪ ⎪ − , i = j = 0, ⎪ ⎪ 6 ⎪ ⎪ ⎪ ⎪ 2 ⎪ ⎩ 2N + 1 , i = j = N, 6 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 prodotto tensoriale dell’intervallo monodimensionale (−1, 1), è naturale scegliere come nodi i punti xij le cui coordinate coincidono entrambe con i nodi di Gauss-Legendre-Lobatto monodimensionali x i , xij = (xi , xj ), i, j = 0, . . . , N, mentre come pesi prendiamo il prodotto dei corrispondenti pesi monodimensionali di Gauss-Legendre-Lobatto αij = αi αj , i, j = 0, . . . , N. La formula di quadratura di Gauss-Legendre-Lobatto in due dimensioni è dunque definita da N f (x) dΩ αij f (xij ), Ω
i,j=0
4.4 Generalizzazione al caso bidimensionale
117
mentre il prodotto scalare discreto è dato da N
(f, g)N =
αij f (xij )g(xij ).
i,j=0
Analogamente al caso monodimesionale si dimostra che la formula di quadratura di Gauss-Legendre-Lobatto è 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. f g ∈ Q2N −1 .
In questa sezione, per ogni N , Q N indica lo spazio dei polinomi di grado minore o uguale ad N rispetto ad ognuna delle variabili, introdotto in (4.1). Consideriamo ora il problema Lu= − div(μ∇u) + σu = f in Ω = (−1, 1)2 , u=0
su ∂Ω,
nell’ipotesi che μ(x) ≥ μ0 > 0 e σ(x) ≥ 0, al fine di avere una forma bilineare associata coerciva in H10 (Ω). La sua approssimazione G-NI è data da: trovare uN ∈ VN : dove
aN (uN , vN ) = FN (vN )
∀ vN ∈ VN ,
VN = {v ∈ QN : v|∂Ω = 0}, aN (u, v) = (μ∇u, ∇v)N + (σu, v)N
e FN (vN ) = (f, vN )N . Osserviamo che, come mostrato nel caso monodimensionale, anche in più dimensioni si può verificare che la formulazione G-NI equivale ad un metodo di collocazione in cui l’operatore L sia sostituito da L N , l’operatore pseudo-spettrale che si ottiene approssimando ogni derivata con una derivata G-NI. Nel caso di metodi ad elementi spettrali avremo bisogno di generalizzare la formula di integrazione numerica GLL su ogni elemento Ω k . Questo si può fare grazie alla + → Ωk (si veda la Fig. 4.2). In effetti, possiamo innanzitutto trasformazione ϕ k : Ω generare i nodi GLL sul generico elemento Ω k , ponendo (k)
xij = ϕk (xij ),
i, j = 0, . . . , N,
quindi definendo i corrispondenti pesi (k)
αij = αij | det Jk | = αij
|Ωk | , 4
i, j = 0, . . . , N,
118
4 I metodi spettrali
avendo indicato con J k lo Jacobiano della trasformazione ϕ k e con |Ωk | la misura di Ωk . La formula GLL su Ω k diventa dunque: GLL f (x) dx IN,k (f ) =
N
(k)
(k)
αij f (xij ).
i,j=0
Ωk
La formulazione agli elementi spettrali con integrazione numerica gaussiana, ovvero MES-NI, diventa allora: trovare uN ∈ VNC :
aC,N (uN , vN ) = FC,N (vN ) ∀ vN ∈ VNC .
Abbiamo posto aC,N (uN , vN ) =
(4.40)
aΩk ,N (uN , vN )
k
dove aΩk ,N (uN , vN ) è l’approssimazione di a Ωk (uN , vN ) ottenuta approssimando ogni integrale su Ω k che compare nella forma bilineare attraverso la formula di integrazione numerica di Gauss-Legendre-Lobatto in Ω k . Il termine FC,N si definisce in modo simile, ovvero F C,N (vN ) = k FΩk ,N (vN ), dove per ogni k F Ωk ,N è ottenuto, GLL (f vN ). a sua volta, sostituendo a f vN dx la formula IN,k Ωk
Osservazione 4.3 La Fig. 4.11 riassume in modo assai schematico la genesi dei diversi schemi di approssimazione sino ad ora evocati. Nel caso delle differenze finite si è indicato con L Δ la discretizzazione dell’operatore attraverso schemi alle differenze finite applicati alle singole derivate che appaiono in L. •
4.4.1 Convergenza del metodo G-NI Come osservato nel caso monodimensionale, il metodo G-NI si può considerare come un metodo di Galerkin generalizzato. Per quest’ultimo, l’analisi di convergenza si basa sul seguente risultato generale: Lemma 4.1 (di Strang) Si consideri il problema trovare u ∈ V :
a(u, v) = F (v)
∀ v ∈ V,
(4.41)
in cui V sia uno spazio di Hilbert con norma · V , F ∈ V un funzionale lineare e continuo su V ed a(·, ·) : V × V →R una forma bilineare, continua e coerciva su V (valgano, cioè, le ipotesi del Lemma di Lax-Milgram). Sia data, inoltre, un’approssimazione di (4.41) formulabile attraverso il seguente problema di Galerkin generalizzato: trovare uh ∈ Vh :
ah (uh , vh ) = Fh (vh )
∀vh ∈ Vh ,
(4.42)
4.4 Generalizzazione al caso bidimensionale
119
essendo {Vh , h > 0} una famiglia di sottospazi di dimensione finita di V . Supponiamo che la forma bilineare discreta a h (·, ·) sia continua su Vh × Vh , e sia uniformemente coerciva su V h , cioè: ∃α∗ > 0, indipendente da h, t.c. a h (vh , vh ) ≥ α∗ vh 2V
∀ vh ∈ Vh .
Sia inoltre Fh un funzionale lineare e continuo su V h . Allora: 1. esiste una ed una sola soluzione u h del problema (4.42); 2. tale soluzione dipende con continuità dai dati, ovvero si ha che uh V ≤
1 Fh (vh ) sup ; ∗ α vh ∈Vh \{0} vh V
3. vale infine la seguente stima a priori dell’errore: M u − uh V ≤ 1 + ∗ u − wh V inf wh ∈Vh α +
1 |a(wh , vh ) − ah (wh , vh )| sup ∗ α vh ∈Vh \{0} vh V
+
|F (vh ) − Fh (vh )| 1 sup , ∗ α vh ∈Vh \{0} vh V
2 (4.43)
essendo M la costante di continuità della forma bilineare a(·, ·). Dimostrazione. Essendo soddisfatte le ipotesi del Lemma di Lax-Milgram per il problema (4.42), la soluzione di tale problema esiste ed è unica. Inoltre 1 uh V ≤ ∗ Fh Vh , α Fh (vh ) essendo la norma nello spazio duale V h di Vh definita da Fh Vh = sup . vh ∈Vh \{0} vh V Accingiamoci ora a dimostrare la (4.43). Sia u h ∈ Vh la soluzione del problema (4.42) e sia wh una qualunque funzione del sottospazio V h . Ponendo σh = uh − wh ∈ Vh , abbiamo: α∗ σh 2V ≤ ah (σh , σh ) [per la coercività di a h ] =
ah (uh , σh ) − ah (wh , σh )
=
Fh (σh ) − ah (wh , σh )
=
Fh (σh ) − F (σh ) + F (σh ) − ah (wh , σh )
[grazie a (4.42)]
120
4 I metodi spettrali
-
F ORMA FORTE Lu = f
F ORMA DEBOLE u ∈ V : a(u, v) = F (v) ∀v ∈ V
Galerkin
? F ORMA I NTEGRALE Lu := div(F(u)) = f
? 6
-
Galerkin-Elementi Finiti uh ∈ Vh : a(uh , vh ) = F (vh ) ∀vh ∈ Vh
-
Galerkin-spettrale uN ∈ VN : a(uN , vN ) = F (vN ) ∀vN ∈ VN
-
MES uN ∈ VNC : aC (uN , vN ) = FC (vN ) ∀vN ∈ VNC
Volumi Finiti Fh (uh ) · n =
f ΩV
∂ΩV
∀ΩV volume di controllo
Galerkin generalizzato
-
Galerkin discontinuo (DG)
Collocazione nei nodi interni Differenze finite L Δ u Δ = fΔ Collocazione spettrale L N u N = fN
-
Elementi Finiti con integrazione numerica uh ∈ Vh : ah (uh , vh ) = Fh (vh ) ∀vh ∈ Vh
-
G-NI uN ∈ VN : aN (uN , vN ) = FN (vN ) ∀vN ∈ VN
-
MES-NI uN ∈ VNC : aC,N (uN , vN ) = FC,N (vN ) ∀vN ∈ VNC
Figura 4.11. Quadro di riferimento per i principali metodi numerici considerati in questo libro
=
[Fh (σh ) − F (σh )] + a(u, σh ) − ah (wh , σh ) [ grazie a (4.41)]
=
[Fh (σh ) − F (σh )] + a(u − wh , σh ) +[a(wh , σh ) − ah (wh , σh )].
Se σh = 0 si può dividere la (4.44) per α ∗ σh V , ottenendo
(4.44)
4.4 Generalizzazione al caso bidimensionale
σh V
≤ + ≤ +
121
|a(u − wh , σh )| |a(wh , σh ) − ah (wh , σh )| + σh V σh V 4 |Fh (σh ) − F (σh )| σh V |a(wh , vh ) − ah (wh , vh )| 1 M u − wh V + sup ∗ α vh V vh ∈Vh \{0} 2 |Fh (vh ) − F (vh )| [per la continuità di a]. sup vh V vh ∈Vh \{0} 1 α∗
Osserviamo che se σh = 0 tale disuguaglianza è ancora valida (in quanto afferma che 0 è minore di una somma di termini positivi), pur non essendo più valido il procedimento con cui essa è stata ricavata. Possiamo ora stimare l’errore fra la soluzione u di (4.41) e la soluzione u h di (4.42). Essendo u − uh = (u − wh ) − σh , otteniamo u − uh V
≤ u − wh V + σh V ≤ u − wh V
|a(wh , vh ) − ah (wh , vh )| vh V vh ∈Vh \{0}
+
1 α∗
+
|Fh (vh ) − F (vh )| sup vh V vh ∈Vh \{0}
=
+
M u − wh V +
M 1+ ∗ α
u − wh V +
sup
2
1 |a(wh , vh ) − ah (wh , vh )| sup ∗ α vh ∈Vh \{0} vh V
|Fh (vh ) − F (vh )| 1 sup . α∗ vh ∈Vh \{0} vh V
Se la disuguaglianza precedente vale ∀w h ∈ Vh , essa vale anche per l’estremo inferiore al variare di w h in Vh . Pertanto si ottiene la (4.43). Osserviamo che, partendo dalla (4.43), possiamo riconoscere il contributo di tre diverse sorgenti d’errore alla stima dell’errore d’approssimazione u − u h : l’errore di miglior approssimazione inf u − wh V , l’errore |a(wh , vh ) − ah (wh , vh )| genewh ∈Vh
rato dall’approssimazione della forma bilineare a(·, ·) con la forma bilineare discreta ah (·, ·), e l’errore |F (vh ) − Fh (vh )| associato all’approssimazione del funzionale lineare F (·) tramite il funzionale lineare discreto F h (·).
122
4 I metodi spettrali
Osservazione 4.4 Si noti che se si sceglie in (4.44) w h = u∗h , essendo u∗h la soluzione del problema di Galerkin u∗h ∈ Vh : a(u∗h , vh ) = F (vh ) ∀ vh ∈ Vh , allora il termine a(u − wh , σh ) nella (4.44) è nullo grazie alla (4.41). Quindi si può ottenere la seguente stima alternativa alla (4.43): u − uh V
≤
u − u∗h V
+
|a(u∗h , vh ) − ah (u∗h , vh )| 1 sup ∗ α vh ∈Vh \{0} vh V
+
|F (vh ) − Fh (vh )| 1 sup , α∗ vh ∈Vh \{0} vh V
che ben mette in evidenza che l’errore dovuto al metodo di Galerkin generalizzato è maggiorabile con quello del metodo di Galerkin più gli errori indotti dall’uso dell’integrazione numerica per il calcolo di a(·, ·) e di F (·). • Vogliamo ora applicare il Lemma di Strang al metodo G-NI, per verificarne la convergenza, limitandoci, per semplicità, al caso monodimensionale. Naturalmente Vh sarà sostituito da VN , uh da uN , vh da vN e wh da wN . Cominciamo, innanzitutto, col calcolare l’errore di quadratura di Gauss-LegendreLobatto, che definiamo E(g, vN ) = (g, vN ) − (g, vN )N , essendo g e vN , rispettivamente, una generica funzione continua ed un generico poGLL linomio di QN . Introducendo il polinomio d’interpolazione Π N g definito secondo la (4.12), otteniamo dunque E(g, vN )
GLL = (g, vN ) − (ΠN g, vN )N
∈QN −1
∈QN / 0- . /0-. GLL GLL GLL Π = (g, vN ) − (ΠN g, v ) + ( g, g, vN )N vN ) −(ΠN N N −1 −1 ./ 0 GLL = (g, vN ) − (ΠN −1 g, vN )
∈Q2N −1
GLL GLL g, vN )N [ per la (4.25)] +(ΠN −1 g, vN )N − (ΠN GLL GLL GLL g, vN )N . = (g − ΠN −1 g, vN ) + (ΠN −1 g − ΠN
(4.45) Il primo addendo del termine di destra si può maggiorare usando la disuguaglianza di Cauchy-Schwarz: GLL GLL |(g − ΠN −1 g, vN )| ≤ g − ΠN −1 gL2 (−1,1) vN L2 (−1,1) .
(4.46)
4.4 Generalizzazione al caso bidimensionale
123
Per maggiorare il secondo addendo, dobbiamo innanzitutto introdurre i due seguenti lemmi per la cui dimostrazione rinviamo a [CHQZ06]: Lemma 4.2 Il prodotto scalare discreto (·, ·) N definito in (4.23) è un prodotto scalare su QN e, come tale, soddisfa la disuguaglianza di Cauchy-Schwarz |(ϕ, ψ)N | ≤ ϕN ψN , dove la norma discreta · N è data da ϕN = (ϕ, ϕ)N
∀ ϕ ∈ QN .
(4.47)
(4.48)
Lemma 4.3 La norma “continua” di L 2 (−1, 1) e la norma “discreta” · N definita in (4.48) sono uniformemente equivalenti su Q N , cioè √ vN L2 (−1,1) ≤ vN N ≤ 3vN L2 (−1,1) ∀ vN ∈ QN . (4.49) GLL In base a tali lemmi, possiamo procedere alla maggiorazione del termine (Π N −1 g − GLL ΠN g, vN )N , avendo GLL GLL |(ΠN g, vN )N | −1 g − ΠN GLL GLL gN vN N ≤ ΠN −1 g − ΠN
[ grazie al Lemma 4.2]
GLL GLL g − gL2 (−1,1) vN L2 (−1,1) ≤ 3 ΠN −1 g − gL2 (−1,1) + ΠN [grazie al Lemma 4.3]. Usando tale disuguaglianza e la (4.46), dalla (4.45) si può ottenere la seguente maggiorazione: GLL GLL |E(g, vN )| ≤ 4ΠN g − gL2 (−1,1) vN L2 (−1,1) . −1 g − gL2 (−1,1) + 3ΠN Usando la stima d’interpolazione (4.15), abbiamo che, purché g ∈ H s (−1, 1), per qualche s ≥ 1, s s 1 1 |E(g, vN )| ≤ C gHs (−1,1) vN L2 (−1,1) . + N −1 N In definitiva, essendo, per ogni N ≥ 2, 1/(N − 1) ≤ 2/N , l’errore di quadratura di Gauss-Legendre-Lobatto risulta maggiorabile come
124
4 I metodi spettrali
|E(g, vN )| ≤ C
1 N
s gHs (−1,1) vN L2 (−1,1) ,
(4.50)
per ogni g ∈ Hs (−1, 1) e per ogni polinomio v N ∈ QN . A questo punto siamo pronti a valutare i vari contributi che intervengono nella (4.43). Anticipiamo che quest’analisi verrà fatta nel caso in cui siano introdotte opportune ipotesi semplificatrici sul problema differenziale in esame. Iniziamo dal termine più semplice, ovvero quello associato al funzionale F , supponendo di considerare un problema con condizioni al bordo di Dirichlet omogenee, in modo che risulti F (vN ) = (f, vN ) e FN (vN ) = (f, vN )N . Si ha allora, purché f ∈ H s (−1, 1), per un opportuno s ≥ 1, |F (vN ) − FN (vN )| |(f, vN ) − (f, vN )N | = sup v vN V N V vN ∈VN \{0} vN ∈VN \{0} s 1 C f Hs (−1,1) vN L2 (−1,1) |E(f, vN )| N = sup ≤ sup vN V vN ∈VN \{0} vN V vN ∈VN \{0} s 1 ≤C f Hs(−1,1) , N sup
(4.51)
essendosi sfruttata la relazione (4.50) ed avendo maggiorato la norma in L 2 (−1, 1) con quella in Hs (−1, 1). Per quanto riguarda il contributo |a(wN , vN ) − aN (wN , vN )| vN V vN ∈VN \{0} sup
dovuto alla forma bilineare, non possiamo valutarlo esplicitamente senza riferirci ad un particolare problema differenziale. Scegliamo quindi, a titolo d’esempio, il problema di diffusione-reazione monodimensionale (4.20), supponendo inoltre μ e σ costanti. Per inciso tale problema soddisfa condizioni al bordo di Dirichlet omogenee, in accordo con quanto richiesto per la derivazione della stima (4.51). In tal caso la forma bilineare 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 ) = (μwN , vN )−(μwN , vN )N +(σwN , vN )−(σwN , vN )N . Trattandosi di polinomi algebrici monodimensionali, w N , vN ∈ QN , quindi wN vN ∈ Q2N −2 . Se supponiamo che μ sia costante, il prodotto w N vN viene integrato esattamente dalla formula di quadratura di Gauss-Legendre-Lobatto. In particolare si deduce che (μwN , vN ) − (μwN , vN )N = 0. Resta quindi da valutare il contributo
4.4 Generalizzazione al caso bidimensionale
125
(σwN , vN ) − (σwN , vN )N . Osserviamo che (σwN , vN ) − (σwN , vN )N =E(σwN , vN ) = E(σ(wN − u), vN ) + E(σu, vN ), e quindi, usando la (4.50), si ottiene 1 σ(wN − u)H1 (−1,1) vN L2 (−1,1) , |E(σ(wN − u), vN )| ≤ C N |E(σu, vN )| ≤ C
1 N
s σuHs (−1,1) vN L2 (−1,1) .
GLL u ed utilizzando la (4.15), D’altra parte, essendo anche σ costante, posto w N = ΠN si ottiene s−1 1 GLL σ(wN − u)H1 (−1,1) ≤ Cu − ΠN uH1 (−1,1) ≤ C uHs (−1,1) . N
Pertanto |a(wN , vN ) − aN (wN , vN )| ≤ C∗ sup vN V vN ∈VN \{0}
1 N
s uHs (−1,1) .
(4.52)
GLL u Resta ancora da stimare il primo addendo della (4.43). Avendo scelto w N = ΠN e sfruttando ancora la (4.15), otteniamo che s 1 GLL u − wN V =u − ΠN uH1 (−1,1) ≤ C uHs+1(−1,1) (4.53) N
purché u ∈ Hs+1 (−1, 1), per un opportuno s ≥ 1. In conclusione, grazie alle (4.51), (4.52) e (4.53), dalla (4.43) applicata all’approssimazione G-NI del problema (4.20), con μ e σ costanti, troviamo la seguente stima dell’errore s ( ) 1 u − uN H1 (−1,1) ≤ C f Hs(−1,1) + uHs+1(−1,1) , N nell’ipotesi che f ∈ Hs (−1, 1) e u ∈ Hs+1 (−1, 1) ∩ H10 (−1, 1), per un opportuno s ≥ 1. L’analisi di convergenza appena fatta per il problema modello (4.20) può essere generalizzata (con qualche piccola difficoltà tecnica) al caso di problemi differenziali più complessi e di condizioni al bordo differenti. Esempio 4.2 (Problema con regolarità dipendente da un parametro) Consideriamo il seguente problema (banale ma istruttivo): 8 x ∈ (0, 1], < −u = 0, −u = −α(α − 1)(x − 1)α−2 , x ∈ (1, 2), : u(0) = 0, u(2) = 1,
126
4 I metodi spettrali 1
1
0.9
0.9
0.8 0.7
0.8 0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2 0.1 0 −0.7071
0.2 0.1 0 −0.7071
0
1
0
1
Figura 4.12. La griglia (a sinistra) e la soluzione ottenuta (a destra) con il metodo degli elementi spettrali per il problema dell’Esempio 4.3 con α ∈ N. La soluzione esatta è nulla fra (0, 1) e vale (x − 1)α per x ∈ (1, 2). Essa appartiene a Hα (0, 2), ma non a Hα+1 (0, 2). Riportiamo in Tabella 4.1 l’andamento dell’errore in norma 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 rispetto a N , come previsto dalla teoria. In Tabella 4.2 si riportano invece i risultati ottenuti usando elementi finiti lineari (questa volta N indica il numero di elementi). L’ordine di convergenza del metodo degli elementi finiti si mantiene, al contrario, lineare. Esempio 4.3 Riprendiamo l’Esempio 3.2 utilizzando, questa volta, il metodo degli elementi spettrali. Consideriamo una partizione del dominio in 4 elementi spettrali di grado 8 come mostrato in Fig. 4.12, a sinistra. La soluzione ottenuta (Fig. 4.12, a destra) non presenta alcuna inaccuratezza in prossimità dell’origine, contrariamente alla soluzione ottenuta con gli elementi finiti in assenza di adattività di griglia (si confronti con la Fig. 3.20, a sinistra).
4.5 Metodo G-NI e MES-NI per un problema modello monodimensionale Consideriamo il problema di diffusione-reazione monodimensionale −[(1 + x2 ) u (x)] + cos(x2 ) u(x) = f (x),
x ∈ (−1, 1),
(4.54)
completato con condizioni al bordo di tipo misto N 2 4 8 16 32
α=2 1.2247 0.5931 0.3064 0.1566 0.0792
α=3 α=4 1.6833 2.1985 0.2502 0.2041 0.0609 0.0090 0.0154 7.5529 ·10−4 0.0039 6.7934 ·10−5
Tabella 4.1. Andamento dell’errore del metodo spettrale G-NI al variare del grado polinomiale N e dell’indice di regolarità della soluzione
4.5 Metodo G-NI e MES-NI per un problema modello monodimensionale N 4 8 16 32
α=2 0.4673 0.2456 0.1312 0.0745
127
α=3 0.5768 0.3023 0.1467 0.0801
Tabella 4.2. Andamento dell’errore del metodo degli elementi finiti lineari al variare del numero di intervalli N e dell’indice di regolarità della soluzione
u(−1) = 0,
u (1) = 1.
Obiettivo di questa sezione è di discutere in dettaglio come formulare le approssimazioni G-NI e MES-NI. Per la prima forniremo anche la corrispondente formulazione matriciale ed un’analisi di stabilità.
4.5.1 Il metodo G-NI La formulazione debole del problema (4.54) è: 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 la forma bilineare e il funzionale lineare definiti, rispettivamente, da 1 a(u, v) =
1
(1 + x ) u (x) v (x) dx + 2
−1
1 F (v) =
cos(x2 ) u(x) v(x) dx, −1
f (x) v(x) dx + 2 v(1). −1
La formulazione Galerkin-spettrale (MS) assume la seguente forma: trovare uN ∈ VN : t.c.
a(uN , vN ) = F (vN ) ∀vN ∈ VN ,
(4.55)
essendo VN = {vN ∈ QN : vN (−1) = 0} ⊂ V.
(4.56)
Per ottenere la corrispondente formulazione G-NI è sufficiente approssimare in (4.55) tutti i prodotti scalari su L 2 (−1, 1) con il prodotto scalare discreto GLL definito in (4.23). Abbiamo dunque: trovare u∗N ∈ VN : aN (u∗N , vN ) = FN (vN ) ∀vN ∈ VN , avendo posto
(4.57)
128
4 I metodi spettrali
aN (u, v) = =
) ( ( ) (1 + x2 ) u , v N + cos(x2 ) u, v N N
(1 + x2i ) u (xi ) v (xi ) αi +
i=0
N
cos(x2i ) u(xi ) v(xi ) αi
i=1
(4.58) e FN (v) = (f, v)N + 2 v(1) =
N
f (xi ) v(xi ) αi + 2 v(1).
(4.59)
i=1
Osserviamo che l’indice dell’ultima sommatoria in (4.58) e della sommatoria in (4.59) parte da 1, anziché da 0, essendo v(x 0 ) = v(−1) = 0. Inoltre, le formulazioni MS (4.55) e G-NI (4.57) non coincidono sotto condizione alcuna. Si consideri, ad esempio, il termine diffusivo (1 + x 2 ) (u∗N ) vN : esso è un polinomio di grado 2N . Poiché la formula di quadratura GLL ha grado di esattezza (2N − 1), il prodotto scalare discreto ( (4.23) non restituirà ) il valore esatto del corri spondente prodotto scalare continuo (1 + x2 ) (u∗N ) , vN . Per ottenere la formulazione matriciale dell’approssimazione G-NI, indichiamo con ψi , per i = 1, . . . , N , i polinomi caratteristici associati ai nodi GLL non di Dirichlet. Tali polinomi costituiscono una base per lo spazio V N in (4.56). Questo ci permette, in primo luogo, di scrivere la soluzione u ∗N della formulazione G-NI come u∗N (x) =
N
u∗N (xj ) ψj (x).
j=1
In secondo luogo possiamo scegliere nella (4.57) v N = ψi , i = 1, . . . , N . Abbiamo così aN (u∗N , ψi ) = FN (ψi ), i = 1, . . . , N, ovvero
N
u∗N (xj ) aN (ψj , ψi ) = FN (ψi ),
i = 1, . . . , N,
j=1
che possiamo riscrivere in forma matriciale come A u∗N = f , essendo u∗N = (u∗N (xi )), A = (aij ), con aij = aN (ψj , ψi ) =
N
(1 + x2k ) ψj (xk ) ψi (xk ) αk
k=0
+
N
cos(x2k ) ψj (xk ) ψi (xk ) αk
k=1
=
N k=0
(1 + x2k ) ψj (xk ) ψi (xk ) αk + cos(x2i ) αi δij ,
4.5 Metodo G-NI e MES-NI per un problema modello monodimensionale
e
f = (fi ) con fi
129
= FN (ψi ) = (f, ψi )N + 2 ψi (1)
=
N
f (xk ) ψi (xk ) αk + 2 ψi (1)
k=1
⎧ ⎨ αi f (xi )
=
⎩
per i = 1, . . . , N − 1,
αN f (1) + 2 per i = N.
Ricordiamo che la matrice A è, oltre che mal condizionata, piena. Infatti, anche se il termine reattivo è diagonale, la natura globale delle funzioni di base ψ i rende piena la matrice associata al termine diffusivo. Possiamo da ultimo verificare che il metodo G-NI (4.57) può essere riformulato come un opportuno metodo di collocazione. A tal fine, si vorrebbe riscrivere la formulazione discreta (4.57) in forma continua in modo da poter controintegrare per parti, ovvero ricondursi all’operatore differenziale di partenza. Per poter far ciò ricorreremo all’oGLL peratore d’interpolazione Π N definito in (4.13), ricordando inoltre che il prodotto scalare discreto (4.23) coincide con quello continuo su L 2 (−1, 1) se il prodotto delle due funzioni integrande è un polinomio di grado ≤ 2N − 1 (si veda la (4.34)). Riscriviamo dunque opportunamente il primo addendo di a N (u∗N , vN ), tralasciando, per semplificare le notazioni, l’apice ∗. Grazie alla (4.34) ed integrando per parti, abbiamo ( ) (1 + x2 ) uN , vN N =
( ) ) ) ) ( GLL ( GLL (1 + x2 ) uN , vN (1 + x2 ) uN , vN ΠN = ΠN N
(
=
) ) ( ) ( GLL( GLL (1 + x2 ) uN ] , vN + ΠN (1 + x2 ) uN (1) vN (1) − ΠN
=
) ) ( ) ( GLL( GLL (1 + x2 ) uN ] , vN N + ΠN (1 + x2 ) uN (1) vN (1). − ΠN
Possiamo così riformulare la (4.57) come: ) ( trovare uN ∈ VN : LN uN , vN N = (f, vN )N +
( ) ) ( GLL (1 + x2 ) uN (1) vN (1) ∀vN ∈ VN , 2 − ΠN (4.60)
con ) ( ) GLL ( L N u N = − ΠN (1+x2 ) uN +cos(x2 ) uN = −DN (1+x2 ) uN +cos(x2 ) uN , essendo DN la derivata d’interpolazione introdotta in (4.38). Scegliamo ora in (4.60) vN = ψi . Per i = 1, . . . , N − 1, abbiamo
130
4 I metodi spettrali
(
LN uN , ψi
=−
) N
) ) ) ( GLL ( ( (1 + x2 ) uN , ψi N + cos(x2 ) uN , ψi N = − ΠN
N N GLL( ) (1 + x2 ) uN (xj ) ψi (xj ) + αj ΠN αj cos(x2j ) uN (xj ) ψi (xj ) j=0
j=1
GLL ( ) (1 + x2 ) uN (xi ) + αi cos(x2i ) uN (xi ) = (f, ψi )N = −αi ΠN =
N αj f (xj ) ψi (xj ) = αi f (xi ), j=1
ovvero, sfruttando la definizione dell’operatore L N e dividendo tutto per α i , LN uN (xi ) = f (xi ),
i = 1, . . . , N − 1.
(4.61)
Posto vN = ψN in (4.60), otteniamo invece ) GLL ( ) ( (1 + x2 ) uN (xN ) + αN cos(x2N ) uN (xN ) LN uN , ψN N = −αN ΠN ( ) GLL (1 + x2 ) uN (1) = (f, ψN )N + 2 − ΠN ( ) GLL (1 + x2 ) uN (1), = αN f (xN ) + 2 − ΠN ovvero, dividendo tutto per α N , ( ) ) 1 ( GLL 2 − ΠN (1 + x2 ) uN (1) . αN
LN uN (xN ) = f (xN ) +
(4.62)
Le equazioni (4.61) e (4.62) forniscono dunque la collocazione nei nodi non di Dirichlet del problema differenziale assegnato, previa l’approssimazione dell’operatore differenziale L con l’operatore L N . Studiamo, da ultimo, la stabilità della formulazione (4.57). Trattandosi di un approccio di tipo Galerkin generalizzato, dovremo ricorrere al Lemma 4.1 di Strang il quale ci garantisce che, per la soluzione u ∗N di (4.57), vale la seguente stima: u∗N V ≤
1 α∗
|FN (vN )| , vN ∈VN \{0} vN V sup
(4.63)
essendo α∗ la costante di coercività (uniforme) associata alla forma bilineare discreta aN (·, ·). Particolarizziamo tale risultato al problema (4.54), calcolando innanzitutto α∗ . Sfruttando la definizione (4.48) della norma discreta · N e la relazione di equivalenza (4.49), si ha ) ) ( ( aN (uN , uN ) = (1 + x2 ) uN , uN N + cos(x2 ) uN , uN N ≥ ≥
(
uN , uN
) N
) ( + cos(1) uN , uN N = uN 2N + cos(1) uN 2N
uN 2L2 (−1,1) + cos(1) uN 2L2 (−1,1) ≥ cos(1) uN 2V ,
4.5 Metodo G-NI e MES-NI per un problema modello monodimensionale
131
avendo inoltre sfruttato le relazioni min(1 + x2j ) ≥ j
≥
min cos(x2j ) j
min (1 + x2 ) = 1,
x∈[−1,1]
min cos(x2 ) = cos(1). x∈[−1,1]
Questo ci permette di identificare α ∗ con il valore cos(1). Possiamo a questo punto valutare il quoziente |F N (vN )|/vN V in (4.63). Abbiamo infatti ) ( |FN (vN )| = | f, vN N + 2 vN (1)| ≤ f N vN N + 2 |vN (1)| ≤
√
1 √ √ 3 f N vN V + 2 vN (x) dx ≤ 3 f N vN V + 2 2 vN V , −1
avendo ancora utilizzato la relazione di equivalenza (4.49) unitamente alla disuguaglianza di Cauchy-Schwarz nella sua versione discreta (4.47) e continua (2.7). Possiamo così concludere che √ √ |FN (vN )| √ ≤ 3 f N + 2 2 ≤ 3 f L2(−1,1) + 2 2, vN V ovvero, ritornando alla stima di stabilità (4.63), u∗N V ≤
√ 1 3 f L2(−1,1) + 2 2 . cos(1)
4.5.2 Il metodo MES-NI Partendo dal problema (4.54) vogliamo ora considerarne la formulazione MES-NI, ovvero una formulazione agli elementi spettrali con l’uso delle formule di integrazione di tipo GLL in ogni elemento. Ci proponiamo inoltre di fornire una base per lo spazio in cui verrà ambientata tale formulazione. Introduciamo, innanzitutto, una partizione dell’intervallo (−1, 1) in M (≥ 2) sottointervalli disgiunti Ω m = (xm−1 , xm ), con m = 1, . . . , M , indicando con h m = xm − xm−1 l’ampiezza dell’m-esimo intervallo, e ponendo h = max m hm . La formulazione MES del problema (4.54) assume dunque la seguente forma: trovare uN ∈ VNC : a(uN , vN ) = (f, vN )
∀vN ∈ VNC ,
(4.64)
essendo VNC = {vN ∈ C 0 ([−1, 1]) : vN Ωm ∈ QN , ∀m = 1, . . . , M, vN (−1) = 0}. Notiamo che lo spazio funzionale V NC dell’approccio MES perde la natura “globale” propria invece di una formulazione MS. Analogamente a quanto avviene nel caso di approssimazioni agli elementi finiti, si hanno ora nuovamente delle funzioni di tipo
132
4 I metodi spettrali
polinomiale a tratti. Sfruttando la partizione {Ω m } introdotta su (−1, 1), possiamo riscrivere la formulazione (4.64) nel seguente modo: M
trovare uN ∈ VNC :
aΩm (uN , vN ) =
m=1
dove
M
(f, vN )Ωm
∀vN ∈ VNC ,
(4.65)
m=1
aΩm (uN , vN ) = a(uN , vN )Ωm
xm
=
(1 + x2 ) uN (x) vN (x) dx +
xm−1
xm
cos(x2 ) uN (x) vN (x) dx,
xm−1
mentre (·, ·)Ωm denota il prodotto scalare L 2 ristretto al dominio Ω m . La formulazione MES-NI a questo punto si ottiene rimpiazzando semplicemente nella (4.65) i prodotti scalari continui con il prodotto scalare discreto GLL (4.23). Troviamo quindi: trovare u∗N ∈ VNC :
M
aN,Ωm (u∗N , vN ) =
m=1
M
(f, vN )N,Ωm
∀vN ∈ VNC ,
m=1
essendo ) ( ( ) aN,Ωm (u, v) = (1 + x2 ) u , v N,Ωm + cos(x2 ) u, v N,Ωm , dove si è indicato con N ( ) (m) (m) u(xi ) v(xi ) αi u, v N,Ωm = i=0 (m)
con xi i-esimo nodo GLL del sotto-intervallo Ω m e αi corrispondente peso di quadratura. Vogliamo da ultimo definire una base globale per lo spazio V NC . Procederemo introducendo dapprima una base locale per ogni Ω m ed estenderemo poi tale definizione a tutto il dominio (−1, 1). + = (−1, 1), che, nel caso in esame, coincide Partiamo dall’elemento di riferimento Ω con il dominio Ω del problema (4.54). Indicata con ϕm (ξ) =
xm + xm−1 hm ξ+ , 2 2
ξ ∈ [−1, 1],
+ in Ωm , per m = 1, . . . , M , introduciamo, su la trasformazione affine che mappa Ω (m) N ogni Ωm , l’insieme {ψi }i=0 delle funzioni di base, tali che (m)
ψi
(x) = ψi (ϕ−1 m (x))
∀x ∈ Ωm ,
4.5 Metodo G-NI e MES-NI per un problema modello monodimensionale
133
1
~ (m) ψ i
x0
xi(m)
xm−1 Figura 4.13. Funzione di base ψei
(m)
xm
xM (m)
associata al nodo interno xi
+ Abbiamo essendo ψi il polinomio caratteristico associato al nodo x i di GLL in Ω. dunque una base per ogni sotto-intervallo Ω m , ovvero possiamo scrivere la soluzione uN del MES su ogni Ωm come uN (x) =
N
(m)
ui
(m)
ψi
(x),
(4.66)
i=0 (m)
(m)
(m)
con ui = uN (xi ), essendo xi l’immagine, attraverso la mappa ϕ m , dell’i+ esimo nodo GLL di Ω. Volendo definire una base globale per lo spazio V NC , iniziamo a definire le funzioni di base associate ai nodi interni di Ω m , per m = 1, . . . , M : sarà sufficiente estendere a (m) zero, fuori da Ω m , ogni funzione di base ψ i : ⎧ (m) ⎨ ψi (x), x ∈ Ωm (m) ψ3i (x) = ⎩ 0, altrimenti. Queste funzioni sono in totale (N − 1)M e assumono andamento analogo a quello in Fig. 4.13. Per ogni nodo estremo x m , con m = 1, . . . , M − 1, dei sottodomini Ω m definiamo invece la funzione di base ⎧ (m) ⎪ x ∈ Ωm ⎪ ψN (x), ⎪ ⎪ ⎨ ∗ (m+1) ψm (x) = ψ0 (x), x ∈ Ωm+1 ⎪ ⎪ ⎪ ⎪ ⎩ 0, altrimenti, (m)
(m+1)
(si veda la Fig. 4.14). In particolare, ottenuta “unendo” le funzioni ψ N e ψ0 osserviamo che la funzione ψ 0∗ non è definita essendo assegnata in x 0 = −1 una ∗ condizione di Dirichlet omogenea. Esiste invece la funzione ψ M che coincide con (M) ψN . Per la scelta fatta per le condizioni al bordo, esistono dunque M funzioni di base associate ai nodi estremi dei sotto-intervalli Ω m . Se fossero state assegnate condizioni di Dirichlet in corrispondenza di entrambi gli estremi di Ω, avremmo avuto (M − 1) ∗ di tali funzioni, non esistendo, in questo caso, nemmeno ψ M . In tutto dunque abbiamo n = (N − 1)M + M funzioni di base per lo spazio V NC . Ogni funzione u N ∈ VNC può dunque essere espressa nel seguente modo:
134
4 I metodi spettrali 1 ψ*
m
x0
xm−1
xm+1
xm
xM
∗ Figura 4.14. Funzione di base ψm associata al nodo estremo xm
uN (x) =
M
∗ uΓm ψm (x) +
m=1
−1 M N (m) (m) ui ψ3i (x), m=1 i=1
(m)
con uΓm = uN (xm ) e ui definito come nella (4.66). La condizione al bordo di Dirichlet è in tal modo rispettata.
4.6 Metodi spettrali su triangoli e tetraedri Come abbiamo visto, l’uso di metodi spettrali su quadrilateri in due dimensioni (o parallelepipedi in tre dimensioni) è reso possibile attraverso prodotti tensoriali di funzioni di base monodimensionali (sull’intervallo di riferimento [−1, 1]) e delle formule di integrazione numerica Gaussiane monodimensionali. Da alcuni anni, tuttavia, si assiste ad una crescita di interesse verso l’uso di metodi di tipo spettrale anche su geometrie che non abbiano struttura di prodotto tensoriale, come, ad esempio, triangoli in 2D e tetraedri, prismi o piramidi in 3D. Descriviamo brevemente l’idea (pionieristica) di Dubiner [Dub91] di introdurre basi polinomiali di grado elevato su triangoli, estesa in seguito da Karniadakis e Sherwin [KS05] al caso tridimensionale. Consideriamo il triangolo di riferimento T+ = {(x1 , x2 ) ∈ R2 : −1 < x1 , x2 ; x1 + x2 < 0} ed il quadrato di riferimento + = {(ξ1 , ξ2 ) ∈ R2 : −1 < ξ1 , ξ2 < 1}. Q La trasformazione (x1 , x2 ) → (ξ1 , ξ2 ),
ξ1 = 2
1 + x1 − 1, 1 − x2
ξ2 = x2
(4.67)
+ La sua inversa è data da è una biezione tra T+ e Q. (ξ1 , ξ2 ) → (x1 , x2 ),
x1 =
1 (1 + ξ1 )(1 − ξ2 ) − 1, 2
x2 = ξ2 .
Come evidenziato in Fig. 4.15, la mappa (x 1 , x2 ) → (ξ1 , ξ2 ) invia il raggio in T+
4.6 Metodi spettrali su triangoli e tetraedri x2
Tb
b Q
1
ξ2 1
x1
-1
1
-1
-1
135
1
ξ1
-1
b I Figura 4.15. Trasformazione del triangolo di riferimento Tb sul quadrato di riferimento Q. segmenti obliqui sono trasformati in segmenti verticali
uscente dal vertice (−1, 1) e passante per il punto (x 1 , −1) nel segmento verticale di + di equazione ξ 1 = x1 . Essa diventa pertanto singolare in (−1, 1). Per tale ragioQ ne chiamiamo (ξ1 , ξ2 ) le coordinate cartesiane collassate del punto del triangolo di coordinate (x1 , x2 ). (α,β) Indichiamo con {J k (ξ), k ≥ 0} la famiglia dei polinomi di Jacobi ortogonali rispetto al peso w(ξ) = (1 − ξ)α (1 + ξ)β , per α, β ≥ 0. Pertanto, ∀k ≥ 0,
(α,β) Jk
1 ∈ Pk
(α,β)
Jk
e
(α,β) (ξ) Jm (ξ) w(ξ) dξ = 0 ∀ m = k. (4.68)
−1 (0,0)
Osserviamo che per α = β = 0, J k coincide con il k-esimo polinomio di Legendre Lk . Per ogni coppia di interi k = (k 1 , k2 ) definiamo la base prodotto tensoriale warped + su Q: Φk (ξ1 , ξ2 ) = Ψk1 (ξ1 ) Ψk1 ,k2 (ξ2 ), (4.69) (0,0)
(2k +1,0)
(ξ2 ). Si osservi che essendo Ψk1 (ξ1 ) = Jk1 (ξ1 ) e Ψk1 ,k2 (ξ2 ) = (1 − ξ2 )k1 Jk2 1 Φk è un polinomio di grado k 1 in ξ1 e k1 + k2 in ξ2 . Applicando ora la mappa (4.67) troviamo la seguente funzione definita su T+: (0,0)
ϕk (x1 , x2 ) = Φk (ξ1 , ξ2 ) = Jk1
1+x 1 (2k +1,0) 2 − 1 (1 − x2 )k1 Jk2 1 (x2 ). (4.70) 1 − x2
Essa è un polinomio di grado totale k 1 + k2 nelle variabili x1 , x2 , ovvero ϕk ∈ Pk1 +k2 (T+). Si può inoltre dimostrare che grazie all’ortogonalità dei polinomi di Jacobi (4.68), per ogni m = k,
136
4 I metodi spettrali
b T
1 ϕk (x1 , x2 )ϕm (x1 , x2 ) dx1 dx2 = 2 1
1
(0,0)
Jk1
(0,0) · (ξ1 ) Jm (ξ ) dξ 1 1 1
−1
(2k +1,0) (2m1 +1,0) Jk2 1 (ξ2 ) Jm (ξ2 ) (1 2
(4.71)
− ξ2 )k1 +m1 +1 dξ2 = 0.
−1
Pertanto, {ϕk : 0 ≤ k1 , k2 , k1 + k2 ≤ N } costituisce una base (modale) ortogonale dello spazio di polinomi P N (T+), di dimensione 12 (N + 1)(N + 2). La proprietà di ortogonalità indubbiamente è conveniente in quanto consente di diagonalizzare la matrice di massa, si veda il Cap. 6. Tuttavia, con la base modale sopra descritta non risulta agevole l’imposizione delle condizioni al bordo (nel caso si consideri il dominio computazionale triangolare T+) né il soddisfacimento delle condizioni di continuità agli interelementi nel caso si usino metodi agli elementi spettrali con elementi triangolari. Un possibile rimedio consiste nell’adattare questa base, generandone una nuova, che indicheremo con {ϕ ba k }; ba sta per boundary adapted. Per (α,0) ottenerla iniziamo con il sostituire la base uni-dimensionale di Jacobi J k (ξ) (con α = 0 o 2k + 1) con la base adattata costituita da: -
1−ξ due funzioni di bordo : 1+ξ 2 ( e 2)(; ) (α,β) 1+ξ 1−ξ Jk−2 (ξ), k = 2, . . . , N , per opportuni (N − 1) funzioni bolla : 2 2 α, β ≥ 1, fissati.
Queste basi mono-dimensionali vengono poi usate come fatto in (4.69) al posto dei polinomi di Jacobi non adattati. In questo modo si trovano funzioni di tipo-vertice, di tipo-lato, e di tipo bolla. Precisamente troviamo: •
funzioni tipo-vertice: ΦV1 (ξ1 , ξ2 ) = ΦV2 (ξ1 , ξ2 ) = ΦV3 (ξ1 , ξ2 ) =
•
1 − ξ 1 − ξ 1 2 2 2 1 + ξ 1 − ξ 1
2 1 + ξ2 2
2
2
(vertice V1 = (−1, −1)), (vertice V2 = (1, −1)), (vertice V3 = (−1, 1));
funzioni tipo-lato: 1 − ξ 1 + ξ 1 − ξ k1 1 1 2 (β,β) Jk1 −2 (ξ1 ) , 2 2 2 1 − ξ 1 − ξ 1 + ξ 1 2 2 (β,β) Jk2 −2 (ξ2 ), ΦVK12V3 (ξ1 , ξ2 ) = 2 2 2 1 + ξ 1 − ξ 1 + ξ 1 2 2 (β,β) Jk2 −2 (ξ2 ), ΦVK22V3 (ξ1 , ξ2 ) = 2 2 2 ΦVK11V2 (ξ1 , ξ2 ) =
2 ≤ k1 ≤ N, 2 ≤ k2 ≤ N, 2 ≤ k2 ≤ N ;
4.6 Metodi spettrali su triangoli e tetraedri
•
137
funzioni tipo-bolla: 1 − ξ 1 + ξ 1 1 (β,β) Jk1 −2 (ξ1 )· 2 2 1 − ξ k1 1 + ξ 2 2 (2k1 −1+δ,β) Jk2 −2 (ξ2 ), 2 2
Φβk1 ,k2 (ξ1 , ξ2 ) =
2 ≤ k1 , k2 , k1 + k2 ≤ N . Nonostante la scelta β = δ = 2 dia ortogonalità fra le funzioni-bolla, in genere si preferisce la scelta β = 1, δ = 0 in quanto garantisce una buona sparsità delle matrici di massa e di rigidezza e un numero di condizionamento accettabile per la matrice di rigidezza per operatori differenziali del secondo ordine. In Fig. 4.16 riportiamo alcuni esempi di basi su triangoli corrispondenti a diverse scelte di β e δ e per diversi valori del grado N . Con queste basi modali si può ora impostare un’approssimazione di Galerkin spettrale per un problema ai limiti posto sul triangolo T+, oppure un metodo di tipo MES su un dominio Ω partizionato in elementi triangolari. Rinviamo il lettore interessato a [CHQZ06], [CHQZ07], [KS05].
138
4 I metodi spettrali
Figura 4.16. Funzioni di base di grado N = 5: basi boundary-adapted sul quadrato (prima dall’alto) e sul triangolo (seconda dall’alto) associate ai valori β = 1 e δ = 0; base di Jacobi (α,β) Jk sul quadrato (seconda dal basso) corrispondente ai valori α = β = 0 (caso di Legendre); funzioni di base di Dubiner {Φk } sul triangolo (prima dal basso)
4.7 Esercizi
139
4.7 Esercizi 1. Si dimostri la disuguaglianza (4.47). 2. Si dimostri la proprietà (4.49). 3. Si scriva la formulazione debole del problema − ((1 + x)u (x)) + u(x) = f (x), u(0) = α,
0 < x < 1,
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 pseudospettrale è stabile. Si verifichi inoltre che valgono le seguenti relazioni: LN uN (xj ) = f (xj ),
j = 1, . . . , N − 1,
μ(1) uN (1) = αN (f − LN uN )(1), μ(−1) uN (−1) = −α0 (f − LN uN )(−1), essendo LN l’operatore pseudo-spettrale definito nella (4.39). 6. Si consideri il problema: ⎧ 2 ⎪ ⎪ −μΔu + b · ∇u − σu = f in Ω = (−1, 1) , ⎪ ⎪ ⎪ ⎨ u(x) = u0 per x1 = −1, ⎪ u(x) = u1 ⎪ ⎪ ⎪ ⎪ ⎩ ∇u(x) · n(x) = 0
per x1 = 1, 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 u 0 ed u1 sono delle costanti assegnate. Si forniscano condizioni sui dati sufficienti a garantire l’esistenza e l’unicità della soluzione debole, e si dia una stima a priori. Si approssimi poi il problema debole con il metodo G-NI, fornendone un’analisi di stabilità e convergenza.
5 Equazioni di diffusione-trasporto-reazione
In questo capitolo consideriamo problemi del tipo: −div(μ∇u) + b · ∇u + σu = f u=0
in Ω, su ∂Ω,
(5.1)
dove μ, σ, f e b sono funzioni (o costanti) assegnate. Nel caso più generale supporremo 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) modellano i processi fisici di diffusione, trasporto e reazione. Per una derivazione di questi modelli, e per cogliere l’analogia con processi di camminata aleatoria (random walk), si veda [Sal04], Cap. 2. In molte applicazioni pratiche il termine di diffusione −div(μ∇u) è dominato dal termine convettivo b · ∇u (detto anche di trasporto) o da quello reattivo σu (detto anche di assorbimento quando si faccia l’ipotesi di non negatività di σ). In questi casi, come vedremo, la soluzione può dar luogo ai cosiddetti strati limite, ovvero a regioni, generalmente in prossimità della frontiera di Ω, in cui la soluzione è caratterizzata da forti gradienti. In questo capitolo ci proponiamo di analizzare le condizioni che assicurano l’esistenza e l’unicità della soluzione del problema (5.1). Considereremo poi il metodo di Galerkin, ne illustreremo le difficoltà a fornire soluzioni stabili in presenza di strati limite, quindi proporremo metodi di discretizzazione alternativi per l’approssimazione di (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 , Ω
Ω
Ω
la formulazione debole del problema (5.1) diviene:
(5.2)
142
5 Equazioni di diffusione-trasporto-reazione
trovare u ∈ V :
a(u, v) = (f, v)
∀v ∈ V.
(5.3)
Al fine di dimostrare l’esistenza e l’unicità della soluzione di (5.3) vogliamo porci nelle condizioni di applicare il Lemma di Lax-Milgram. Per verificare la coercività della forma bilineare a(·, ·), operiamo separatamente sui singoli termini che compongono la (5.2). Per il primo termine abbiamo: μ∇v · ∇v dΩ ≥ μ0 ∇v2L2 (Ω) .
(5.4)
Ω
Poiché v ∈ H10 (Ω), vale la disuguaglianza di Poincarée (si veda l’Appendice A.3) vL2 (Ω) ≤ CΩ ∇vL2 (Ω) . Pertanto 2 )∇v2L2 (Ω) v2H1 (Ω) = v2L2 (Ω) + ∇v2L2 (Ω) ≤ (1 + CΩ
e, quindi, dalla (5.4), segue: μ∇v · ∇v dΩ ≥ Ω
μ0 2 2 vH1 (Ω) . 1 + CΩ
Passiamo ora a considerare il termine convettivo: 1 1 1 2 2 vb · ∇v dΩ = b · ∇(v ) dΩ = − v div(b) dΩ + b · nv 2 dγ 2 2 2 Ω
Ω
=
−
1 2
Ω
∂Ω
v 2 div(b) dΩ, Ω
essendo v = 0 su ∂Ω. Se ora sommiamo a questo termine quello relativo al termine di ordine zero, otteniamo 1 2 vb · ∇v dΩ + σv dΩ = v 2 (− div(b) + σ) dΩ, 2 Ω
Ω
Ω
e tale integrale è sicuramente positivo se si suppone che 1 − div(b) + σ ≥ 0 2
q.o. in Ω.
(5.5)
In definitiva, se vale la (5.5), la forma bilineare a(·, ·) risulta coerciva essendo a(v, v) ≥ αv2H1 (Ω)
∀v ∈ V, con α =
μ0 2 . 1 + CΩ
(5.6)
5.1 Formulazione debole del problema
143
Affinché la forma bilineare a(·, ·) sia continua deve, invece, esistere una costante positiva M tale che: |a(u, v)| ≤ M uH1(Ω) vH1 (Ω)
∀u, v ∈ V.
(5.7)
Il primo termine al secondo membro della (5.2) può essere maggiorato come segue: μ∇u · ∇v dΩ ≤ μL∞ (Ω) ∇uL2 (Ω) ∇vL2 (Ω) (5.8) Ω
≤ μL∞ (Ω) uH1 (Ω) vH1 (Ω) ,
dove sono state usate le disuguaglianze di Hölder (si veda l’Appendice A.4) e di Cauchy-Schwarz e si è tenuto conto del fatto che ∇w L2 (Ω) ≤ wH1 (Ω) , ∀w ∈ H 1 (Ω). Per il secondo termine, procedendo in modo analogo, si trova vb · ∇u dΩ ≤ bL∞ (Ω) vL2 (Ω) ∇uL2 (Ω) (5.9) Ω
≤ bL∞ (Ω) vH1 (Ω) uH1 (Ω) .
Infine, per il terzo termine, abbiamo grazie alla disuguaglianza di Cauchy-Schwarz σuv dΩ ≤ σL2 (Ω) uvL2 (Ω) . Ω
Peraltro, uvL2 (Ω) ≤ uL4 (Ω) vL4 (Ω) ≤ uH1 (Ω) vH1 (Ω) , avendo applicato la disuguaglianza (A.11) e sfruttato le immersioni (A.12). Dunque σuv dΩ ≤ σL2 (Ω) uH1 (Ω) vH1 (Ω) . (5.10) Ω
Sommando membro a membro la (5.8), la (5.9) e la (5.10), si dimostra così la continuità della forma bilineare a(·, ·), ovvero la (5.7), pur di prendere M = μL∞ (Ω) + bL∞ (Ω) + σL2 (Ω) .
(5.11)
La continuità del funzionale lineare rappresentato dal termine di destra della (5.3) è infine facilmente dimostrabile, in virtù ancora della disuguaglianza di Cauchy-Schwarz. Essendo verificate le ipotesi del Lemma di Lax-Milgram segue che la soluzione del problema debole (5.3) esiste ed è unica. Valgono inoltre le seguenti stime a priori: uH1 (Ω) ≤
1 CΩ f L2 (Ω) , ∇uL2 (Ω) ≤ f L2 (Ω) . α μ0
La prima è una conseguenza immediata del Lemma di Lax-Milgram, la seconda si può facilmente dimostrare partendo dall’equazione a(u, u) = (f, u) ed utilizzando le disuguaglianze di Cauchy-Schwarz, di Poincarée e le disuguaglianze (5.4) e (5.5).
144
5 Equazioni di diffusione-trasporto-reazione
L’approssimazione di Galerkin del problema (5.3) è ora data da: trovare uh ∈ Vh :
a(uh , vh ) = (f, vh )
∀vh ∈ Vh ,
dove {Vh , h > 0} è una famiglia opportuna di sottospazi di dimensione finita di H10 (Ω). Replicando la dimostrazione a cui si è accennato poco sopra nel caso del problema continuo, si possono dimostrare le seguenti stime: uh H1 (Ω) ≤
1 f L2 (Ω) , α
∇uh L2 (Ω) ≤
CΩ f L2 (Ω) . μ0
Esse mostrano, in particolare, che il gradiente della soluzione discreta (così come quello 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 inf u − vh V . α vh ∈Vh
(5.12)
In virtù delle definizioni di α e M (si vedano (5.6) e (5.11)), la costante di maggiorazione M/α diventa tanto più grande (ovvero la stima (5.12) tanto meno significativa) quanto più cresce il rapporto b L∞ (Ω) /μL∞ (Ω) (ovvero il rapporto σL∞ (Ω) /μL∞ (Ω) ), ossia quando il termine convettivo (ovvero reattivo) domina su quello diffusivo. In tali casi il metodo di Galerkin può dar luogo a soluzioni poco accurate, a meno di non usare, come vedremo, un passo di discretizzazione h estremamente piccolo. Al fine di valutare più precisamente il comportamento della soluzione numerica fornita dal metodo di Galerkin analizziamo un problema monodimensionale.
5.2 Analisi di un problema di diffusione-trasporto monodimensionale Consideriamo il seguente problema di diffusione-trasporto unidimensionale: −μu + bu = 0, 0 < x < 1, u(0) = 0, u(1) = 1,
(5.13)
con μ e b costanti positive. La sua formulazione debole è: trovare u ∈ H1 (0, 1) :
a(u, v) = 0 ∀v ∈ H10 (0, 1), (5.14) 1 con u(0) = 0 e u(1) = 1, essendo a(u, v) = (μu v + bu v)dx. Seguendo quan0
to indicato nella Sez. 2.2.2, possiamo riformulare (5.14) introducendo un opportuno
5.2 Analisi di un problema di diffusione-trasporto monodimensionale
145
rilevamento dei dati al bordo. In questo caso particolare, possiamo scegliere R g = x. ◦ Posto allora u= u − Rg = u − x, possiamo riformulare (5.14) nel modo seguente: ◦
◦
trovare u∈ H10 (0, 1) :
a(u, v) = F (v)
∀v ∈ H10 (0, 1),
(5.15)
1 essendo F (v) = −a(x, v) = − 0 bv dx il contributo dovuto al rilevamento dei dati. Definiamo numero di Péclet globale il rapporto Peg =
|b|L , 2μ
essendo L la dimensione lineare del dominio (1 nel nostro caso). Esso rappresenta una misura di quanto il termine convettivo domini quello diffusivo, ed ha pertanto lo stesso ruolo del numero di Reynolds nelle equazioni di Navier-Stokes che vedremo nel Cap. 10. Calcoliamo, innanzitutto, la soluzione esatta di tale problema. L’equazione caratteristica ad esso associata è −μλ2 + bλ = 0 ed ha, come radici, i valori λ 1 = 0 e λ2 = b/μ. La soluzione generale è quindi: b
u(x) = C1 eλ1 x + C2 eλ2 x = C1 + C2 e μ x . Imponendo le condizioni al bordo si trovano le costanti C 1 e C2 , e, di conseguenza, la soluzione: exp( μb x) − 1
u(x) =
exp( μb ) − 1
.
Se b/μ 1, possiamo sviluppare in serie gli esponenziali ed arrestarci al secondo termine ottenendo così : u(x) =
1 + μb x + · · · − 1 1+
b μ
+ ···− 1
b μx b μ
= x.
Pertanto la soluzione è prossima alla retta interpolante i dati al bordo (che è la soluzione corrispondente al caso b = 0). Se, viceversa, b/μ 1, gli esponenziali sono molto grandi, per cui: b u(x) = exp − (1 − x) . μ exp( μb ) exp( μb x)
Dato che l’esponente è grande e negativo, la soluzione è prossima a zero in quasi tutto l’intervallo, tranne che in un intorno del punto x = 1, dove si raccorda ad 1 con un andamento esponenziale. Tale intorno ha un’ampiezza dell’ordine di μ/b ed è quindi
146
5 Equazioni di diffusione-trasporto-reazione 1 0.9
b/μ=−100 b/μ=−10
0.8 0.7
b/μ=0
0.6 0.5 0.4 0.3
b/μ=10
0.2 0.1
b/μ=100 0 0
0.1
0.2
0.3
0.4
0.5 x
0.6
0.7
0.8
0.9
1
Figura 5.1. Andamento della soluzione del problema (5.13) al variare del rapporto b/μ. Per completezza sono evidenziate anche le soluzioni relative al caso in cui b sia negativo
molto piccolo: la soluzione presenta uno strato limite di bordo (boundary layer in inglese) di ampiezza O( μb ) in corrispondenza di x = 1 (si veda la Fig. 5.1). Supponiamo ora di usare il metodo di Galerkin con elementi finiti lineari per approssimare (5.14): ◦1 ∀vh ∈X h , a(uh , vh ) = 0 1 trovare uh ∈ Xh : (5.16) uh (0) = 0, uh (1) = 1, dove, indicando con x i , per i = 0, . . . M , i vertici della partizione introdotta su (0, 1), abbiamo posto, coerentemente a (3.12), Xhr = {vh ∈ C 0 ([0, 1]) : vh ∈ Pr , i = 1, . . . , M }, [xi−1 ,xi ]
◦
r X hr = {vh ∈ Xh : vh (0) = vh (1) = 0},
per r ≥ 1. Scelto, per ogni i = 1, . . . , M − 1, v h = ϕi (l’i-esima funzione di base di Xh1 ), si ha: 1 1 μuh ϕi dx + buh ϕi dx = 0, 0
0
ovvero, essendo supp ϕ i = [xi−1 , xi+1 ], e potendo scrivere u h =
i
⎡ μ ⎣ui−1 ⎡
xi
xi−1
+b ⎣ui−1
xi
xi−1
ϕi−1 ϕi dx + ui
x i+1
(ϕi )2 dx + ui+1
xi−1
ϕi−1 ϕi dx + ui
ϕi ϕi dx + ui+1
⎤
ϕi+1 ϕi dx⎦
xi
x i+1
xi−1
x i+1
ui ϕi ,
x i+1
⎤
ϕi+1 ϕi dx⎦ = 0,
xi
5.2 Analisi di un problema di diffusione-trasporto monodimensionale
147
∀i = 1, . . . , M − 1. Se la partizione è uniforme, ovvero se x i = xi−1 + h, con i = 1 1 se xi−1 < x < xi , ϕi (x) = − se 1, . . . , M , ed osservando che ϕi (x) = h h xi < x < xi+1 , per i = 1, . . . , M − 1, si ha 1 2 1 1h 1h + b −ui−1 + ui+1 = 0, μ −ui−1 + ui − ui+1 h h h h2 h2 cioè μ 1 (−ui−1 + 2ui − ui+1 ) + b(ui+1 − ui−1 ) = 0, h 2 Riordinando i termini troviamo b μ 2μ b μ − ui+1 + ui − + ui−1 = 0, 2 h h 2 h
i = 1, . . . , M − 1.
(5.17)
i = 1, . . . , M − 1.
Dividendo per μ/h e definendo il numero di Péclet locale (o “di griglia”) Pe =
|b|h , 2μ
(5.18)
si ha infine (Pe − 1)ui+1 + 2ui − (Pe + 1)ui−1 = 0,
i = 1, . . . , M − 1.
(5.19)
Questa è un’equazione alle differenze di tipo lineare che ammette soluzioni di tipo esponenziale, ovvero della forma u i = ρi (si veda [QSS00]). Sostituendo tale espressione nella (5.19), otteniamo: (Pe − 1)ρ2 + 2ρ − (Pe + 1) = 0,
i = 1, . . . , M − 1,
dalla quale ricaviamo le due radici √ (1 + Pe)/(1 − Pe), −1 ± 1 + Pe2 − 1 ρ1,2 = = Pe − 1 1. Grazie alla linearità della (5.19), la soluzione generale di tale equazione assume la forma ui = A1 ρi1 + A2 ρi2 , con A1 e A2 costanti arbitrarie. Imponendo le condizioni al bordo si trova: u0 = 0
=⇒
uM = 1
=⇒
A2 = −A1 , M −1 1 + Pe A1 = 1 − . 1 − Pe
In conclusione, la soluzione del problema (5.16) ha i seguenti valori nodali:
148
5 Equazioni di diffusione-trasporto-reazione 1
esatta Pe locale= 2.63 Pe locale= 1.28 Pe locale= 0.63
0.5
0
−0.5 0.75
0.8
0.85
0.9
0.95
1
Figura 5.2. Soluzione agli elementi finiti del problema di diffusione trasporto (5.13) con Peg = 50 per diversi valori del numero di Péclet locale
i 1 + Pe 1− 1 − Pe ui = M , 1 + Pe 1− 1 − Pe
per i = 0, . . . , M.
Osserviamo che, se Pe > 1, al numeratore compare una potenza con base negativa e quindi la soluzione approssimata diviene oscillante, al contrario della soluzione esatta che è monotona! Questo fenomeno è esemplificato in Fig. 5.2 dove la soluzione della (5.19) per valori differenti del numero di Péclet locale è confrontata con la soluzione esatta 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 approssimata si discosta da quello della soluzione esatta, presentando oscillazioni che diventano sempre più marcate in corrispondenza dello strato limite. Il rimedio più ovvio è quello di scegliere il passo h della mesh sufficientemente piccolo, 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 introdurre sull’intervallo (0, 1) almeno 10000 intervalli! In particolare, tale strategia può rivelarsi assolutamente impraticabile per problemi ai limiti in più dimensioni. Una ragionevole soluzione alternativa è rappresentata da una strategia di raffinamento adattativo che infittisca la griglia solo in corrispondenza dello strato limite.
5.3 Analisi di un problema di diffusione-reazione monodimensionale Passiamo ora ad analizzare un problema monodimensionale di diffusione-reazione: −μu + σu = 0, 0 < x < 1, (5.20) u(0) = 0, u(1) = 1, con μ e σ costanti positive. La soluzione di tale problema è:
5.3 Analisi di un problema di diffusione-reazione monodimensionale
149
1
Esatta Pe locale= 5.56 Pe locale = 1.18 Pe locale= 0.27
0.5
0
−0.5 0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
Figura 5.3. Confronto tra soluzione numerica e soluzione esatta del problema di diffusionereazione (5.20) con Peg = 200. La soluzione numerica è stata ottenuta utilizzando il metodo di Galerkin-elementi finiti lineari su griglie uniformi
u(x) =
eαx − e−αx sinh(αx) = α sinh(α) e − e−α
con α = σ/μ. Anche in questo caso vi è uno strato limite per x → 1 con uno spessore dell’ordine di μ/σ (si osservi, ad esempio, la soluzione esatta per il caso riportato in Fig. 5.3). Lo spessore di tale strato limite decresce al crescere di α. È interessante definire 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 mesh uniforme. L’equazione relativa alla generica funzione di base ϕ i , i = 1, . . . , M − 1, è dunque: 1 0
μuh ϕi
1 dx +
σuh ϕi dx = 0. 0
Sviluppando i calcoli in maniera analoga a quanto fatto nel paragrafo precedente, ed osservando che xi xi+1 xi+1 h 2 h ϕi−1 ϕi dx = , ϕ2i dx = h, ϕi ϕi+1 dx = , 6 3 6 xi−1 xi−1 xi si ottiene 1 2 1 h 2 h + σ ui−1 + ui h + ui+1 = 0, μ −ui−1 + ui − ui+1 h h h 6 3 6 ossia:
(5.21)
150
5 Equazioni di diffusione-trasporto-reazione
μ h σ− 6 h
ui+1 +
2μ 2 h+σ 3 h
ui +
μ h σ− 6 h
ui−1 = 0.
Dividendo per μ/h e definendo il seguente numero di Péclet locale: Pe =
σh2 , 6μ
(5.22)
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 :
i i 1 + 2Pe + 3Pe(Pe + 2) 1 + 2Pe − 3Pe(Pe + 2) − 1 − Pe 1 − Pe ui = M M , 1 + 2Pe + 3Pe(Pe + 2) 1 + 2Pe − 3Pe(Pe + 2) − 1 − Pe 1 − Pe 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 del rapporto σμ (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, per brevità) applicato alla risoluzione di problemi di diffusione-trasporto e di diffusionereazione, ed evidenziarne analogie e differenze con il metodo agli Elementi Finiti (EF, per brevità). Ci limiteremo al caso monodimensionale e considereremo una mesh uniforme. Consideriamo ancora il problema (5.13) e approssimiamolo mediante differenze finite. Allo scopo di avere un errore di discretizzazione locale dello stesso ordine di grandezza su entrambi i termini, si approssimeranno le derivate utilizzando i rapporti incrementali centrati seguenti: u (xi ) =
u(xi+1 ) − u(xi−1 ) + O(h2 ), 2h
u (xi ) =
u(xi+1 ) − 2u(xi ) + u(xi−1 ) + O(h2 ), h2
i = 1, . . . , M − 1, i = 1, . . . , M − 1.
In entrambi i casi, come evidenziato, il resto è un infinitesimo rispetto al passo reticolare h, come si può facilmente provare invocando gli sviluppi troncati di Taylor
5.4 Relazioni tra elementi finiti e differenze finite
151
(si veda, ad esempio, [QSS00]). Sostituendo in (5.13) le derivate esatte con i rapporti incrementali (trascurando dunque l’errore infinitesimo), si ottiene: ⎧ ⎨ −μ ui+1 − 2ui + ui−1 + b ui+1 − ui−1 = 0, i = 1, . . . , M − 1, h2 2h (5.23) ⎩ u0 = 0, uM = 1. Per ogni i, l’incognita u i fornisce un’approssimazione per il valore nodale u(x i ). Moltiplicando per h otteniamo: μ 1 − (ui+1 − 2ui + ui−1 ) + b(ui+1 − ui−1 ) = 0, h 2
i = 1, . . . , M − 1,
cioè la stessa equazione (5.17) ottenuta usando elementi finiti lineari sulla stessa griglia uniforme. Consideriamo ora il problema di diffusione e reazione (5.20). Procedendo in modo analogo, la sua approssimazione con le differenze finite fornisce: ⎧ ⎨ −μ ui+1 − 2ui + ui−1 + σui = 0, i = 1, . . . , M − 1, h2 (5.24) ⎩ uM = 1. u0 = 0, Tale equazione risulta diversa dalla (5.21), che si è ottenuta con elementi finiti lineari, in quanto il termine di reazione, che in (5.24) compare con il contributo diagonale σui , nella (5.21) dà luogo alla somma di tre contributi differenti: h 2 h . σ ui−1 + ui h + ui+1 6 3 6 Dunque i due metodi EF e DF non sono in questo caso equivalenti. Osserviamo che la soluzione ottenuta con lo schema alle DF (5.24) non presenta oscillazioni, qualunque sia il valore scelto per il passo h di discretizzazione. Infatti la soluzione di (5.24) è M −1 i ui = (ρM (ρ1 − ρi2 ), 1 − ρ2 )
con ρ1,2 =
γ ± 2
γ2 −1 4
12
e γ =2+
σh2 . μ
Le potenze i-esime ora hanno una base positiva. Questo garantisce un andamento monotono alla soluzione discreta a differenze finite. Ciò differisce da quanto accade per gli EF; in quest’ultimo caso, come visto nella Sez. 5.3, occorre7garantire che il numero
6μ di Péclet locale (5.22) sia minore di 1, ovvero scegliere h ≤ σ . Si veda l’esempio riportato in Fig. 5.4 per avere un confronto tra un’approssimazione ad elementi finiti ed una a differenze finite.
152
5 Equazioni di diffusione-trasporto-reazione 1.2
Esatta Pe=10.20 (FEM) Pe=10.20 (FD) Pe= 0.57 (FEM) Pe= 0.57 (FD)
1
0.8
0.6
0.4
0.2
0
−0.2 0.8
0.82
0.84
0.86
0.88
0.9
0.92
0.94
0.96
0.98
1
Figura 5.4. Confronto tra soluzioni numeriche dell’equazione di diffusione-reazione monodimensionale (5.20) con Peg = 2000 ottenute utilizzando il metodo di Galerkin-elementi finiti lineari (FEM) ed il metodo alle differenze finite (FD), per diversi valori del numero di Péclet locale
5.5 La tecnica del mass-lumping Nel caso del problema di reazione-diffusione, per ottenere anche nell’ambito degli elementi finiti lineari lo stesso risultato ottenuto usando le differenze finite, si può far ricorso alla cosiddetta tecnica del mass-lumping nella quale si approssima la matrice di massa, definita da 1 M = (mij ),
mij =
ϕj ϕi dx, 0
che è tridiagonale, con una matrice diagonale detta matrice condensata. A tale scopo, si utilizzi la seguente formula di quadratura dei trapezi su ciascun intervallo (xi , xi+1 ), per ogni i = 0, . . . , M − 1: x i+1
f (x) dx
h (f (xi ) + f (xi+1 )). 2
xi
Grazie alle proprietà delle funzioni di base degli elementi finiti lineari, si trova allora: xi ϕi−1 ϕi dx h2 [ϕi−1 (xi−1 )ϕi (xi−1 ) + ϕi−1 (xi )ϕi (xi )] = 0, xxi−1 i+1 xi ϕ2i dx = 2 xi−1 ϕ2i dx 2 h2 ϕ2 i (xi−1 ) + ϕ2 i (xi ) = h, xxi−1 i+1 ϕi ϕi+1 dx h2 [ϕi (xi )ϕi+1 (xi ) + ϕi (xi+1 )ϕi+1 (xi+1 )] = 0. xi
Usando le formule precedenti per calcolare in modo approssimato gli elementi della matrice di massa, si perviene alla seguente matrice diagonale M L avente per elementi le somme degli elementi di ogni riga della matrice M , ovvero
5.5 La tecnica del mass-lumping
ML = diag(m 3 ii ), con m 3 ii =
i+1
mij .
153
(5.25)
j=i−1
Si noti che, grazie alla seguente proprietà di partizione dell’unità delle funzioni di base: M ϕj (x) = 1 ∀x ∈[0, 1], (5.26) j=0
gli elementi della matrice M L assumono la seguente espressione sull’intervallo [0, 1]: 1 ϕi dx,
m 3 ii =
i = 0, . . . , M.
0
La loro espressione è riportata 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 nel seguente modo 1 1 M−1 M−1 σ uh ϕi dx = σ uj ϕj ϕi dx = σ mij uj σ m 3 ii ui , 0
j=1
0
j=1
produce soluzioni coincidenti con quelle delle differenze finite, dunque monotone per ogni valore di h. Inoltre, la sostituzione di M con M L non riduce l’ordine di accuratezza del metodo. Il procedimento di mass-lumping (5.25) è generalizzabile al caso bidimensionale nel caso si usino elementi lineari. Per elementi finiti quadratici, invece, la procedura di somma per righe precedentemente descritta genererebbe una matrice di massa M L singolare (si veda l’Esempio 5.1). Una strategia di diagonalizzazione alternativa alla + = diag(m precedente consiste nell’utilizzare la matrice M + ii ) con elementi dati da mii . m + ii = j mjj + e ML Nel caso monodimensionale, per elementi finiti lineari e quadratici, le matrici M coincidono, mentre differiscono per elementi cubici (si veda l’Esercizio 3). La matrice + è non singolare anche per elementi finiti lagrangiani di ordine elevato, mentre può M risultare singolare se si utilizzano elementi finiti non lagrangiani, per esempio se si usano basi gerarchiche. In quest’ultimo caso, si ricorre a procedure di mass-lumping più sofisticate. Recentemente sono state infatti elaborate diverse nuove tecniche per eseguire il “mass lumping” anche per elementi finiti di grado elevato, e in grado di generare matrici condensate non-singolari. La descrizione di tali metodologie esula dallo scopo di questo libro; si rimanda il lettore interessato alla letteratura specializzata, per esempio a [CJRT01]. 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
154
5 Equazioni di diffusione-trasporto-reazione 2 6 −1 −1 0 6 −1 6 −1 0 6 1 6 −1 −1 6 −4 6 M= 0 −4 32 180 6 6 0 4 −4 0 0 16 0 −4 0 16
−4 0 0 16 32 16
0 −4 0 16 16 32
3 7 7 7 7, 7 7 5
mentre le matrici di massa condensate sono date da 1 diag(0 0 0 60 60 60), 180 1 b = M diag(6 6 6 32 32 32). 114
ML =
Come si vede la matrice ML è singolare.
La tecnica del mass-lumping verrà utilizzata anche in altri contesti, ad esempio nella risoluzione di problemi parabolici (si veda il Cap. 6) quando si utilizzano discretizzazioni spaziali agli elementi finiti e discretizzazioni temporali esplicite alle differenze finite (come il metodo di Eulero in avanti). In tal caso, ricorrendo al lumping della matrice di massa derivante dalla discretizzazione della derivata temporale, ci si riconduce alla soluzione di un sistema diagonale con conseguente riduzione del corrispondente costo computazionale.
5.6 Schemi decentrati e diffusione artificiale Il confronto con le differenze finite ci ha permesso di trovare una strada per risolvere i problemi degli schemi ad elementi finiti nel caso di un problema di diffusionereazione. Vogliamo ora trovare un rimedio anche per il caso del problema di diffusionetrasporto (5.13). Mettiamoci nell’ambito delle differenze finite. Le oscillazioni nella soluzione numerica 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 significato fisico del termine di trasporto suggerisce di discretizzare la derivata prima in un punto xi con un rapporto incrementale decentrato nel quale intervenga il valore in xi−1 se il campo è diretto verso destra (b > 0), e in x i+1 in caso contrario. Questa tecnica è detta di upwinding (DFUP) e lo schema risultante, denominato schema upwind, si scrive, nel caso b > 0, come −μ
ui+1 − 2ui + ui−1 ui − ui−1 = 0, +b h2 h
i = 1, . . . , M − 1
(5.27)
(si veda la Fig. 5.5 per un esempio di applicazione dello schema upwind). Il prezzo da pagare è una riduzione dell’ordine di convergenza in quanto il rapporto incrementale decentrato introduce un errore di discretizzazione locale che è O(h) e non O(h 2 ) come nel caso delle DFC. Osserviamo ora che ui − ui−1 ui+1 − ui−1 h ui+1 − 2ui + ui−1 = − , h 2h 2 h2
5.6 Schemi decentrati e diffusione artificiale
155
1.2
1
0.8
Esatta FDC Pe= 2.94 FDUP Pe= 2.94 FDC Pe= 0.70 FDUP Pe= 0.70
0.6
0.4
0.2
0
−0.2
−0.4 0.7
0.75
0.8
0.85
0.9
0.95
1
Figura 5.5. Soluzione ottenuta utilizzando lo schema delle differenze finite centrate (FDC) ed upwind (FDUP) per l’equazione di diffusione trasporto monodimensionale (5.13) con Peg = 50. Si può notare l’effetto stabilizzante anche ad alti numeri di Péclet locale della diffusione artificiale introdotta dallo schema upwind accompagnata, inevitabilmente, da una perdita di accuratezza
ovvero il rapporto incrementale decentrato si può scrivere come la somma di un rapporto incrementale centrato per approssimare la derivata prima e di un termine proporzionale alla discretizzazione della derivata seconda ancora con un rapporto incrementale centrato. Pertanto, lo schema upwind si può reinterpretare come uno schema alle differenze finite centrate in cui è stata aggiunta una diffusione artificiale proporzionale ad h. In effetti, la (5.27) è equivalente a −μh
ui+1 − 2ui + ui−1 ui+1 − ui−1 = 0, +b h2 2h
i = 1, . . . , M − 1,
(5.28)
dove μh = μ(1 + Pe), essendo Pe il numero di Péclet locale introdotto in (5.18). Lo schema (5.28) corrisponde alla discretizzazione con uno schema DFC del problema perturbato −μh u + bu = 0. (5.29) bh è detta viscosità numerica o La “correzione” della viscosità μ h − μ = μPe = 2 anche viscosità artificiale. Il nuovo numero di Péclet locale, associato allo schema (5.28) è Pe∗ =
bh Pe = , 2μh (1 + Pe)
e pertanto esso verifica Pe ∗ < 1, per ogni valore possibile di h > 0. Come vedremo nella prossima sezione, questa interpretazione consente di estendere la tecnica upwind agli elementi finiti ed anche al caso bidimensionale, dove il concetto di decentramento della derivata non è così ovvio. Più in generale, possiamo utilizzare in uno schema DFC della forma (5.28) il seguente coefficiente di viscosità numerica μh = μ(1 + φ(Pe)),
(5.30)
156
5 Equazioni di diffusione-trasporto-reazione
dove φ è una funzione opportuna del numero di Péclet locale che deve soddisfare la proprietà lim φ(t) = 0. È facile osservare che se φ = 0 si ottiene il metodo DFC t→0+
(5.23), mentre se φ(t) = t, si ottiene il metodo DFUP (o upwind) (5.27) (o (5.28)). 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 t et − 1
B(t) =
se t > 0,
B(0) = 1,
e
si ottiene lo schema comunemente chiamato di Scharfetter e Gummel, detto anche del fitting esponenziale (in realtà tale schema è stato originariamente introdotto da 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). Si può verificare che per ogni μ e b fissati, lo schema di Scharfetter e Gummel è del secondo ordine (rispetto ad h) e, per tale ragione, è anche detto schema upwind con viscosità 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 [x i , xi+1 ]), la soluzione numerica prodotta da questo schema coincide esattamente con la soluzione u nei nodi di discretizzazione x i interni all’intervallo (0, 1), ovvero si ha che ui = u(xi ) per i = 1, . . . , M − 1, indipendentemente dalla scelta fatta per h. In tal caso, si parla di superconvergenza della soluzione numerica a quella esatta (si veda la Fig. 5.7). Osserviamo che anche nel caso degli schemi upwind e di Scharfetter e Gummel il numero di Péclet locale, dato da Pe∗ =
bh Pe , = 2μh (1 + φ(Pe))
10 1
9
0.9 0.8 0.7
8
0.6 0.5
7
0.4 0.3 0.2
6
0.1 0 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
5 4 3 2 1 0 0
1
2
3
4
5
6
7
8
9
10
Figura 5.6. Le funzioni φU (in linea continua) e φSG (in linea tratteggiata) al variare del numero di Péclet
5.7 Autovalori del problema di diffusione-trasporto
157
1.2
Exact FDUP Pe= 2.94 FDSG Pe= 2.94 FDUP Pe= 0.70 FDSG Pe= 0.70
1
0.8
0.6
0.4
0.2
0
−0.2
−0.4
0.8
0.82
0.84
0.86
0.88
0.9
0.92
0.94
0.96
0.98
1
Figura 5.7. Confronto fra la soluzione con viscosità numerica upwind (FDUP) e quella di Scharfetter e Gummel (FDSG) nel caso in cui Peg = 50
è 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 numerica ha un andamento monotono (si veda [QSS00, Cap. 1]). •
5.7 Autovalori del problema di diffusione-trasporto Consideriamo l’operatore Lu = −μu +bu associato al problema (5.13) in un generico intervallo (α, β), e studiamo il comportamento degli autovalori λ ad esso associati. Essi verificano il problema Lu = λu, α < x < β, u(α) = u(β) = 0, u essendo un’autofunzione. Tali autovalori saranno, in generale, complessi per via della presenza del termine bu di ordine 1. Supponendo μ > 0 costante (e b a priori variabile), abbiamo: β β β 1 2 Lu u dx b |u|2 dx μ |u | dx − 2 α Re(λ) = α β = α . (5.31) β |u|2 dx |u|2 dx α
α
Si evince che se μ è piccolo e b è strettamente positivo la parte reale di λ non è necessariamente positiva. Grazie alla disuguaglianza di Poincaré, β
2
β
|u | dx ≥ Cα,β α
|u|2 dx,
(5.32)
α
essendo Cα,β una costante positiva che dipende da β − α, deduciamo da (5.31) che Re(λ) ≥ Cα,β μ −
1 b 2 max
158
5 Equazioni di diffusione-trasporto-reazione
essendo bmax = max b (s). Pertanto solo un numero finito di autovalori possono α≤s≤β
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 all’approssimazione di Galerkin-elementi finiti. Questi ultimi sono la soluzione del problema β trovare λh ∈ C, uh ∈ Vh :
μuh vh
β dx +
α
buh vh
β dx = λh
α
uh vh dx, ∀vh ∈ Vh , α
(5.33) dove Vh = {vh ∈ Xhr : vh (α) = vh (β) = 0}. Per dimostrarlo basta prendere ancora vh = uh in (5.33) ed operare come in precedenza. Possiamo invece ottenere una limitazione dall’alto scegliendo ancora v h = uh in (5.33) e prendendo il modulo in entrambi i membri: |λh | ≤
μuh 2L2 (α,β) + bL∞ (α,β) uh L2 (α,β) uh L2 (α,β) uh 2L2 (α,β)
.
Usando ora la disuguaglianza inversa (3.39) nel caso monodimensionale: ∃ CI = CI (r) > 0 : ∀vh ∈ Xhr ,
vh L2 (α,β) ≤ CI h−1 vh L2 (α,β) ,
(5.34)
troviamo facilmente che |λh | ≤ μ CI2 h−2 + bL∞ (α,β) CI h−1 . Nel caso di un’approssimazione spettrale di Legendre G-NI sul solito intervallo di riferimento (−1, 1), il problema agli autovalori assumerebbe la forma seguente: trovare λN ∈ C, uN ∈ P0N : (
μuN , vN
) N
) ( ) ( + buN , vN N = λN uN , vN N ∀vN ∈ P0N ,
(5.35)
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.23). Supporremo, per semplicità, che anche b sia costante. Prendendo v N = uN , otteniamo: Re(λN ) =
μuN 2L2 (−1,1) uN 2N
,
pertanto Re(λN ) > 0. Grazie alla disuguaglianza di Poincaré (5.32) (che nell’intervallo (−1, 1) vale con Cα,β = π 2 /4), otteniamo la stima inferiore
5.8 Metodi di stabilizzazione
Re(λN ) > μ
159
2 π 2 uN L2 (−1,1) . 4 uN 2N
Ricordiamo che, per un polinomio di grado al più N , la norma discreta · N e quella continua · L2 (−1,1) sono equivalenti (si veda la (4.49)). Pertanto π2 . 12 Usando invece la disuguaglianza inversa per i polinomi algebrici: Re(λN ) > μ
∃ C > 0 : ∀uN ∈ PN ,
uN L2 (−1,1) ≤ C N 2 uN L2 (−1,1)
(5.36)
e ancora una volta la (4.49), si trova Re(λN ) < C μ N 4 . In realtà, se N > 1/μ, si può provare che i moduli degli autovalori del problema di diffusione-trasporto (5.35) si comportano come quelli del problema di pura diffusione, ovvero C1 N −1 ≤ |λN | ≤ C2 N −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’approssimazione centrata del termine di trasporto poiché sceglie le funzioni test v h nello stesso spazio in cui cerca la soluzione u h . Un modo possibile per decentrare, o dissimmetrizzare tale approssimazione, consiste nello scegliere le funzioni test v h in uno spazio diverso da quello a cui appartiene u h : si ottiene così un metodo detto di Petrov-Galerkin, per il quale non vale più l’analisi basata sul Lemma di Céa. Analizzeremo più nel dettaglio questo approccio nella Sez. 5.8.2. In questa sezione ci occuperemo invece di un altro metodo, detto degli elementi finiti stabilizzati. Peraltro, come vedremo, gli schemi così prodotti si possono reinterpretare come particolari metodi di Petrov-Galerkin. L’idea è quella di sostituire il problema: trovare uh ∈ Vh : a(uh , vh ) = F (vh ) ∀vh ∈ Vh ,
(5.37)
◦r
che è l’approssimazione di Galerkin di (5.15), con V h = X h , con il seguente problema detto di Galerkin generalizzato: trovare uh ∈ Vh : ah (uh , vh ) = Fh (vh ) ∀vh ∈ Vh ,
(5.38)
in cui ah (uh , vh ) = a(uh , vh ) + bh (uh , vh ) e Fh (vh ) = F (vh ) + Gh (vh ). I termini aggiuntivi b h (uh , vh ) e Gh (vh ) hanno lo scopo di eliminare (o quanto meno di ridurre) le oscillazioni numeriche prodotte dal metodo di Galerkin e sono pertanto denominati termini di stabilizzazione. Essi dipendono parametricamente da h.
160
5 Equazioni di diffusione-trasporto-reazione
Osservazione 5.2 Si vuole far notare che il termine “stabilizzazione” è in realtà improprio. Il metodo di Galerkin è infatti già stabile, nel senso della continuità della soluzione rispetto ai dati del problema (si veda quanto dimostrato, ad esempio, nella Sez. 5.1 per il problema (5.1)). Stabilizzazione va intesa, in questo caso, nel senso di ridurre (idealmente di eliminare) le oscillazioni presenti nella soluzione numerica quando 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 caso monodimensionale, applichiamo il metodo di Galerkin al problema (5.13) sostituendo al coefficiente di viscosità μ un coefficiente μ h = μ(1+φ(Pe)). In tal modo si aggiunge 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.15): ◦
◦
trovare uh ∈ Vh :
ah (uh , vh ) = F (vh ) ∀vh ∈ Vh ,
(5.39)
◦r
essendo Vh = X h , con r ≥ 1, e ◦
◦
◦
ah (uh , vh ) = a(uh , vh ) + bh (uh , vh ).
(5.40)
Il termine aggiuntivo dato da 1 ◦ bh (uh , vh ) = μφ(Pe) uh vh dx, ◦
(5.41)
0
è il termine di stabilizzazione. Essendo ◦
◦
◦
ah (uh , uh ) ≥ μh | uh |2H1 (Ω) e μh ≥ μ, possiamo affermare che il problema (5.40) è “più coercivo” (ovvero ha una costante di coercività più grande) del problema discreto ottenuto con il metodo di Galerkin standard, che ritroviamo prendendo a h = a in (5.39). Il seguente risultato fornisce una stima a priori dell’errore commesso approssi◦ mando la soluzione del problema (5.15) con uh .
5.8 Metodi di stabilizzazione
161
Teorema 5.1 L’errore fra la soluzione del problema (5.15) e quella del problema approssimato (5.39) si può maggiorare come segue, nell’ipotesi che u ∈ Hr+1 (Ω): ◦
◦
u − uh H1 (Ω) ≤ C
(5.42)
φ(Pe) hr ◦ ◦ u Hr+1 (Ω) + u H1 (Ω) , μ(1 + φ(Pe)) 1 + φ(Pe)
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 M ◦ ◦ ◦ 1+ u −wh H1 (Ω) inf u − uh H1 (Ω) ≤ wh ∈Vh μh 2 (5.43) |a(wh , vh ) − ah (wh , vh )| 1 . + sup μh vh ∈Vh ,vh =0 vh H1 (Ω) ◦
◦
Scegliamo wh = Phr u, ovvero la proiezione ortogonale di u su Vh , rispetto al 1 prodotto scalare indotto dalla forma bilineare u v dx, ∀u, v ∈ H10 (Ω), cioè 0 ◦ Phr u∈
1 Vh :
◦
◦
(Phr u − u) vh dx = 0,
∀vh ∈ Vh .
0
Si può dimostrare che (si veda [QV94, Cap. 3]) ◦
◦
(Phr u) L2 (Ω) ≤ (u) L2 (Ω)
e
◦
◦
◦
Phr 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.43) con la quantità (C/μ h )hr u Hr+1 (Ω) . Ora, grazie alla (5.40), possiamo maggiorare il secondo addendo del termine di destra della (5.43) nel seguente modo: 1 |a(wh , vh ) − ah (wh , vh )| μh vh H1 (Ω)
1 μ 1 φ(Pe) wh vh dx. μh vh H1 (Ω)
≤
0
Usando la disuguaglianza di Cauchy-Schwarz, ed osservando che vh L2 (Ω) ≤ vh H1 (Ω)
e che
◦
◦
◦
(Phr u) L2 (Ω) ≤ Phr u H1 (Ω) ≤ u H1 (Ω) ,
162
5 Equazioni di diffusione-trasporto-reazione
otteniamo
◦ ◦ a(Phr u, vh ) − ah (Phr u, vh ) 1 φ(Pe) ◦ u H1 (Ω) . sup ≤ μh vh ∈Vh ,vh =0 vh H1 (Ω) 1 + φ(Pe)
La disuguaglianza (5.42) è 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 (Ω) , dove C1 è una costante positiva, indipendente da h, mentre, per h fissato e μ che tende a 0, si ha ◦ ◦ ◦ ◦ u − uh H1 (Ω) ≤ C2 hr−1 u Hr+1 (Ω) + u H1 (Ω) , dove C2 è una costante positiva indipendente da h e da μ. Dimostrazione. Basta osservare che, nel caso dell’upwind (φ U (Pe) = Pe) b μ(1 + φ(Pe)) = μ + h, 2 mentre φ(Pe) h = 1 + φ(Pe) h + 2μ/b e ricordare che, nel caso dello schema di Scharfetter-Gummel, φ SG (Pe) = O(h2 ) per μ fissato e h → 0, mentre φSG φU per h fissato e μ tendente a 0. In particolare, per μ fissato, il metodo stabilizzato genera un errore lineare rispetto ad h (indipendentemente dal grado r) se si usa la viscosità upwind, mentre con viscosità artificiale di tipo Scharfetter e Gummel la convergenza diviene quadratica se r ≥ 2.
5.8.2 Il metodo di Petrov-Galerkin Un modo equivalente di scrivere il problema di Galerkin generalizzato (5.39) con viscosità numerica è formularlo come un metodo di Petrov-Galerkin, nel quale 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.44)
5.8 Metodi di stabilizzazione
163
1
ψi
Bi 0.5
ϕi 0
x0 . . .
xi−1 xi
xi+1 . . . xN
x0 . . .
xi−1 xi
xi+1 . . . xN
-0.5
-1 -3
-2
-1
0
1
2
3
Figura 5.8. Esempio di funzione bolla Bi e di una funzione di base ψi dello spazio Wh
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.39)-(5.41) equivale al problema (5.44) in cui Wh è lo spazio generato dalle funzioni ψi (x) = ϕi (x) + Bi α (si veda la Fig. 5.8, a destra), dove le Biα = α Bi (x) sono le cosiddette funzioni a bolla, con ⎧ x−xi−1 ⎪ g 1 − , xi−1 ≤ x ≤ xi , ⎪ h ⎪ ⎨ ( x−x ) i Bi (x) = ⎪ −g h , xi ≤ x ≤ xi+1 , ⎪ ⎪ ⎩ 0 altrimenti, e g(ξ) = 3ξ(1 − ξ), con 0 ≤ ξ ≤ 1 (si veda la Fig. 5.8, a sinistra) [ZT00]. Nel caso delle differenze finite upwind si ha α = 1, mentre nel caso dello schema di Scharfetter e Gummel si ha α = coth(Pe) − 1/Pe. Si noti che le funzioni test si dissimmetrizzano (rispetto alle usuali funzioni di base lineari a tratti) sotto l’azione del campo convettivo.
5.8.3 Il metodo della diffusione artificiale e della streamline-diffusion nel caso bidimensionale Il metodo della viscosità artificiale upwind si può generalizzare al caso in cui si consideri un problema bidimensionale del tipo (5.1). In tal caso basterà aggiungere alla forma bilineare (5.3) un termine di tipo Qh ∇uh · ∇vh dΩ per un opportuno Q > 0, Ω
corrispondente ad aggiungere il termine di diffusione artificiale −QhΔu al problema di partenza (5.1). In tal modo si introduce una diffusione addizionale, non solo nella direzione del campo b, come è giusto che sia se l’obiettivo è quello di stabilizzare le oscillazioni generate dal metodo di Galerkin, ma anche in quella ad esso ortogonale il che, invece, non è affatto necessario. Se, ad esempio, considerassimo il problema −μΔu +
∂u =f ∂x
in Ω,
u=0
su ∂Ω,
164
5 Equazioni di diffusione-trasporto-reazione
in cui il campo di trasporto è dato dal vettore b = [1, 0] T , il termine di diffusione artificiale che vorremmo aggiungere sarebbe −Qh
∂ 2u ∂x2
e non −QhΔu = −Qh
∂2u ∂2u + 2 ∂x2 ∂y
.
Analogamente, per il problema −μΔu +
∂u =f ∂y
in Ω,
u=0
su ∂Ω,
il termine di diffusione artificiale sarebbe −Qh
∂ 2u . ∂y 2
In generale, il termine corretto di stabilizzazione da aggiungere è ∂u b −Qhdiv [(b · ∇u) b] = −Qhdiv ∂b con Q = |b|−1 . Nel problema di Galerkin esso dà luogo al seguente termine: ∂uh ∂vh bh (uh , vh ) = Qh(b · ∇uh , b · ∇vh ) = Qh , . ∂b ∂b Il problema discreto diventa quindi 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 nella direzione del campo b (in inglese streamline). Si noti che, in questo caso, il coefficiente 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 = Qhbi bj , essendo bi la i-esima componente di b. Anche per questo metodo, però, l’accuratezza è solamente O(h). Metodi di stabilizzazione più accurati sono descritti nelle prossime sezioni.
5.8 Metodi di stabilizzazione
165
5.8.4 Consistenza ed errore di troncamento per i metodi di Galerkin e di Galerkin generalizzato Per il problema di Galerkin generalizzato (5.37) definiamo errore di troncamento la differenza tra il primo ed il secondo membro quando si sostituisca la soluzione esatta u a quella approssimata u h , ovvero, per ogni v h ∈ Vh , τh (u; vh ) = ah (u, vh ) − Fh (vh ).
(5.45)
Esso è un funzionale della variabile v h . Possiamo anche “liberarci” della dipendenza da v h introducendo la quantità τh (u) =
|τh (u; vh )| . vh ∈Vh ,vh =0 vh V sup
(5.46)
Coerentemente con le definizioni date nella Sez. 1.2, diremo che il metodo di Galerkin generalizzato in esame è consistente se lim τh (u) = 0. h→0
Diremo inoltre che è fortemente consistente se l’errore di troncamento (5.46) risulta nullo per ogni valore di h. Il metodo standard di Galerkin, ad esempio, è fortemente consistente, come visto nel Cap. 3, in quanto, ∀v h ∈ Vh , si ha τh (u; vh ) = a(u, vh ) − F (vh ) = 0. Il metodo di Galerkin generalizzato, invece, è in generale solo consistente, come discende dal Lemma di Strang, purché a h − a e Fh − F “tendano a zero” quando h tende a zero. Per quanto riguarda i metodi di diffusione artificiale di tipo upwind e streamlinediffusion si ha: τh (u; vh ) =
ah (u, vh ) − F (vh )
ah (u, vh ) − a(u, vh ) =
=
Qh(∇u, ∇vh ) (Upwind), ∂u ∂vh Qh( ∂b , ∂b )
(Streamline).
Pertanto sono metodi consistenti, ma non fortemente consistenti.
5.8.5 Parte simmetrica e antisimmetrica di un operatore Diremo che un operatore L : V → V , V essendo lo spazio duale di V , è simmetrico se risulta V
V = V < u, Lv >V
∀u, v ∈ V.
Viceversa, diremo che un operatore è antisimmetrico quando V
V = − V < u, Lv >V
∀u, v ∈ V.
166
5 Equazioni di diffusione-trasporto-reazione
Possiamo sempre scrivere un operatore come somma di una parte simmetrica L S e di una parte antisimmetrica L SS : Lu = LS u + LSS u. Consideriamo, ad esempio, il seguente operatore di diffusione-trasporto-reazione Lu = −μΔu + div(bu) + σu,
x ∈ Ω ⊂ Rd , d ≥ 2.
(5.47)
Poiché div(bu) =
1 2 div(bu)
+ 12 div(bu)
=
1 2 div(bu)
+ 12 udiv(b) + 12 b · ∇u,
possiamo scomporlo nel modo seguente 1 1 div(b) u + [div(bu) + b · ∇u] . Lu = −μΔu + σ + 2 2 ./ 0 ./ 0 LSS u
LS u ∗
Si noti che il coefficiente di reazione è diventato σ = σ + 12 div(b). Verifichiamo che le due parti in cui è stato diviso l’operatore sono rispettivamente simmetrica e antisimmetrica se, ad esempio, V = H 01 (Ω). In effetti, integrando due volte per parti, si ottiene = μ(∇u, ∇v) + (σ ∗ u, v) V < LS u, v >V
V
V
=
−μ
=
V
V
< u, Δv >V +(u, σ ∗ v)
< u, LS v >V , ∀u, v ∈ V,
1 1 (div(bu), v) + (b · ∇u, v) 2 2 1 1 = − (bu, ∇v) + (∇u, bv) 2 2 1 1 = − (u, b · ∇v) − (u, div(bv)) 2 2 = − V < u, LSS v >V , ∀u, v ∈ V =
Osservazione 5.3 Ricordiamo che ogni matrice A si può scomporre nella somma A = AS + ASS , dove
1 (A + AT ) 2 è una matrice simmetrica, detta parte simmetrica di A e 1 ASS = (A − AT ) 2 è una matrice antisimmetrica, detta parte antisimmetrica di A. AS =
•
5.8 Metodi di stabilizzazione
167
5.8.6 Metodi fortemente consistenti (GLS, SUPG, DW) Consideriamo un problema di diffusione-trasporto-reazione che scriviamo nella forma astratta Lu = f definito in Ω, la cui soluzione sia nulla su ∂Ω. Consideriamo la corrispondente formulazione 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 fortemente consistente si può ottenere aggiungendo al problema di Galerkin un ulteriore termine, ovvero considerando il problema seguente: trovare uh ∈ Vh :
a(uh , vh ) + Lh (uh , f ; vh ) = (f, vh ) ∀vh ∈ Vh ,
(5.48)
per un’opportuna forma L h , purché si faccia l’ipotesi che Lh (u, f ; vh ) = 0 ∀vh ∈ Vh .
(5.49)
Osserviamo che la forma L h tiene conto di entrambi i contributi, dipendendo sia dalla soluzione approssimata u h che dal termine forzante f . Una scelta possibile che verifichi la (5.49) è la seguente: (ρ)
Lh (uh , f ; vh ) =Lh (uh , f ; vh ) =
(ρ)
δ(Luh − f , SK (vh ))L2 (K) ,
K∈Th
dove si è usata la notazione (u, v) L2 (K) = assegnare e si è posto (ρ)
SK (vh ) =
uv dK, ρ e δ sono parametri da K
hK [LSS vh + ρLS vh ], |b|
essendo b il campo di moto, L S e LSS rispettivamente la parte simmetrica e antisimmetrica dell’operatore L considerato e h K il diametro del generico elemento K. Per verificare la consistenza di (5.48), poniamo: (ρ)
ah (uh , vh ) = a(uh , vv ) + Lh (uh , f ; vh ). Allora (ρ)
τh (u; vh ) = ah (u, vh ) − (f, vh ) = a(u, vh ) + Lh (u, f ; vh ) − (f, vh ) (ρ)
= Lh (u, f ; vh ) = 0, essendo Lu − f = 0. Vediamone ora alcuni casi particolari associati a diverse scelte per il parametro ρ:
168
5 Equazioni di diffusione-trasporto-reazione
- se ρ = 1 si ottiene il metodo detto Galerkin Least-Squares (GLS) nel quale: (1)
SK (vh ) =
hK Lvh . |b|
Se prendiamo v h= uh si vede che, su ogni triangolo, è stato aggiunto un termine (Luh )2 dK;
proporzionale a K
- se ρ = 0 si ottiene il metodo denominato Streamline Upwind Petrov-Galerkin (SUPG) in cui: hK (0) SK (vh ) = LSS vh ; |b| - se ρ = −1 si ottiene il metodo detto di Douglas-Wang (DW) nel quale: (−1)
SK
(vh ) =
hK (LSS − LS )vh . |b|
Notiamo, tra l’altro, che nel caso in cui non vi sia assorbimento (σ ∗ = 0) e si usino elementi finiti P1 , i tre metodi precedenti sono tutti coincidenti, in quanto −Δu h |K = 0 ∀K ∈ Th . Limitiamoci ora ai due casi più classici, GLS (ρ = 1) e SUPG (ρ = 0). Definiamo la “norma ρ” : 1 √ (ρ) v(ρ) = {μ∇v2L2 (Ω) + γv2L2 (Ω) + δ (LSS + ρLS )v, SK (v) L2 (K) } 2 , K∈Th
dove γ è una costante positiva tale che − 12 divb+σ ≥ γ > 0; si ha dunque la seguente disuguaglianza (di stabilità): ∃α ∗ , dipendente da γ, tale che M f L2 (Ω) , (5.50) α∗ essendo M la costante di continuità associata alla forma bilineare a(·, ·). Infine vale la seguente stima dell’errore: uh (ρ) ≤
u − uh (ρ) ≤ Chr+1/2 |u|Hr+1 (Ω)
(5.51)
per cui l’ordine di accuratezza del metodo cresce all’aumentare del grado r dei polinomi usati, come succede nel metodo standard di Galerkin. Le dimostrazioni di (5.50) e (5.51) verranno fornite nella Sez. 5.8.7. Di fondamentale importanza pratica è poi la scelta del parametro δ, detto parametro di stabilizzazione, che misura quanta viscosità artificiale si sta introducendo. A questo proposito si riportano in Tabella 5.1 gli intervalli dei valori ammissibili per tale parametro in funzione dello schema stabilizzato scelto. In tale tabella C 0 è la costante della seguente disuguaglianza inversa h2K |Δvh |2 dK ≤ C0 ∇vh 2L2 (Ω) ∀vh ∈ Xhr . (5.52) K∈Th
K
Per un’analisi più approfondita di questi metodi e per le dimostrazioni dei casi qui menzionati rinviamo a [QV94], Cap. 8, ed a [RST96]. Segnaliamo anche [Fun97] relativamente al caso di un’approssimazione con elementi spettrali.
5.8 Metodi di stabilizzazione
169
SUPG 0 < δ < 1/C0 GLS 0 0 e σ ≥ 0 costanti, essendo assegnate ancora condizioni al bordo di Dirichlet omogenee. La forma bilineare a(·, ·) : V × V → R associata all’operatore L è dunque a(u, v) = μ ∇u · ∇v dΩ + div(bu) v dΩ + σu v dΩ, Ω
Ω
Ω
Per semplicità supponiamo nel seguito che esistano due essendo V = costanti γ0 e γ1 tali che H10 (Ω).
0 < γ0 ≤ γ(x) =
1 div(b(x)) + σ ≤ γ1 2
∀ x ∈ Ω.
(5.53)
Seguendo quanto fatto nella Sez. 5.8.5, possiamo scrivere la parte simmetrica e antisimmetrica associate a L, rispettivamente, come 1 LS u = −μΔu + γu, LSS u = div(bu) + b · ∇u . 2 Riscriviamo inoltre la formulazione stabilizzata (5.48) scomponendo L h (uh , f ; vh ) in due termini, uno contenente u h , l’altro f : trovare uh ∈ Vh :
(1)
(1)
ah (uh , vh ) = fh (vh )
con (1) ah (uh , vh )
= a(uh , vh ) +
K∈Th
e (1)
fh (vh ) = (f, vh ) +
K∈Th
∀vh ∈ Vh ,
(5.54)
hK Lvh δ Luh , |b| K
(5.55)
hK Lvh δ f, . |b| K
(5.56)
Osserviamo che la proprietà di consistenza forte, utilizzando queste nuove notazioni, si esprime attraverso l’uguaglianza (1)
(1)
ah (u, vh ) = fh (vh ) ∀vh ∈ Vh . Possiamo a questo punto dimostrare il seguente risultato preliminare.
(5.57)
170
5 Equazioni di diffusione-trasporto-reazione (1)
Lemma 5.1 Per ogni δ > 0, la forma bilineare a h (·, ·) definita in (5.55) soddisfa la seguente relazione: √ (1) ah (vh , vh ) = μ||∇vh ||2L2 (Ω) + || γ vh ||2L2 (Ω) hK Lvh , Lvh + δ ∀ vh ∈ Vh . |b| K
(5.58)
K∈Th
Il risultato precedente segue dalla definizione (5.55) (scelto u h = vh ) e dall’ipotesi (5.53). Nel caso in esame la norma · (1) , che qui indicheremo per convenienza con il simbolo · GLS , diventa hK √ Lvh , Lvh vh 2GLS = μ||∇vh ||2L2 (Ω) + || γ vh ||2L2 (Ω) + δ . (5.59) |b| K K∈Th
Possiamo dimostrare il seguente risultato di stabilità. Lemma 5.2 Sia u h la soluzione fornita dallo schema GLS. Allora esiste una costante C > 0, indipendente da h, tale che uh GLS ≤ C f L2 (Ω) . Dimostrazione. Scegliamo v h = uh in (5.54). Sfruttando il Lemma 5.1 e la definizione (5.59), possiamo innanzitutto scrivere che hK (1) (1) 2 uh GLS = ah (uh , uh ) = fh (uh ) = (f, uh ) + Luh δ f, . (5.60) |b| K K∈Th
Nel seguito useremo spesso la seguente disuguaglianza di Young: 1 2 b 4ε la quale discende dalla disuguaglianza elementare 2 √ 1 ε a − √ b ≥ 0. 2 ε ∀a, b ∈ R,
ab ≤ εa2 +
∀ε > 0,
(5.61)
Maggioriamo separatamente i due termini di destra della (5.60), utilizzando opportunamente le disuguaglianze di Cauchy-Schwarz e di Young. Otteniamo così 1 1 √ 1 √ 1 1 1 (f, uh ) = √ f, γ uh ≤ 1 √ f 1 γ uh L2 (Ω) 2 γ γ L (Ω) 1 1 12 1 √ 1 1 2 ≤ γ uh L2 (Ω) + 1 √ f 1 , 4 γ L2 (Ω)
5.8 Metodi di stabilizzazione
K∈Th
hK Luh δ f, |b| K
"
171
!
hK Luh |b| K∈Th K " " 1 1 1 1 1 hK 1 hK 1 1 f1 Luh 1 ≤ δ 1 δ 1 |b| |b| L2 (K) L2 (K) K∈Th hK 1 hK f, f Luh , Luh ≤ δ + δ . |b| 4 |b| K K =
δ
hK f, |b|
"
δ
K∈Th
K∈Th
Sommando le due precedenti maggiorazioni e sfruttando ancora la definizione (5.59), abbiamo 1 1 12 hK 1 1 1 uh 2GLS ≤ 1 √ f 1 2 + δ + uh 2GLS , f, f γ L (Ω) |b| 4 K K∈Th
ovvero, ricordando che h K ≤ h, uh 2GLS
1 hK 4 1 1 1 12 f, f + δ 1√ f1 2 3 γ |b| L (Ω) K K∈Th h 4 1 2 +δ f L2 (Ω) , ≤ max x∈Ω 3 γ |b| ≤
che fornisce il risultato di stabilità cercato pur di porre C=
4 3
max x∈Ω
1 γ
+δ
h 1/2 . |b|
(5.62)
Osserviamo che il risultato precedente è valido con la sola restrizione che il parametro di stabilizzazione δ sia positivo. Peraltro tale parametro potrebbe anche variare su ogni elemento K. In tal caso avremmo δ K invece di δ nelle (5.55) e (5.56), mentre la costante δ in (5.62) avrebbe il significato di max δK . K∈Th
Procediamo ora all’analisi di convergenza del metodo GLS.
172
5 Equazioni di diffusione-trasporto-reazione
Teorema 5.2 Supponiamo innanzitutto che lo spazio V h soddisfi la seguente proprietà d’approssimazione locale: per ogni v ∈ V ∩H r+1 (Ω), esiste una funzione vˆh ∈ Vh tale che v − vˆh L2 (K) + hK |v − vˆh |H1 (K) + h2K |v − vˆh |H2 (K) ≤ Chr+1 K |v|Hr+1 (K) (5.63) per ogni K ∈ Th . Supponiamo inoltre che per il numero di Péclet locale valga la seguente disuguaglianza PeK (x) =
|b(x)| hK >1 2μ
∀x ∈ K.
(5.64)
Infine supponiamo che valga la disuguaglianza inversa (5.52) e che il parametro di stabilizzazione soddisfi la relazione 0 < δ ≤ 2C 0−1 . Allora per l’errore associato allo schema GLS vale la seguente stima uh − uGLS ≤ Chr+1/2 |u|Hr+1 (Ω) ,
(5.65)
a patto che u ∈ H r+1 (Ω). Dimostrazione. Innanzitutto riscriviamo l’errore eh = uh − u = σh − η,
(5.66)
con σh = uh − u ˆh , η = u − uˆh , dove u ˆ h ∈ Vh è una funzione che dipende da u e che soddisfa la proprietà (5.63). Se, ad esempio, V h = Xhr ∩ H01 (Ω), possiamo scegliere u ˆh = Πhr (u), ovvero l’interpolata ad elementi finiti di u. Incominciamo a stimare la norma σ h GLS . Sfruttando la consistenza forte dello schema GLS data dalla (5.57), grazie alla (5.54) otteniamo (1)
(1)
(1)
||σh ||2GLS = ah (σh , σh ) = ah (uh − u + η, σh ) = ah (η, σh ). Ora dalla definizione (5.55) segue che: (1) ah (η, σh ) = μ ∇η · ∇σh dΩ − η b · ∇σh dΩ + σ η σh dΩ Ω
Ω
Ω
hK Lσh δ Lη, = μ(∇η, ∇σh ) − (η, Lσh )K + 2(γ η, σh ) + - ./ 0 ./ 0 |b| K K∈Th K∈Th (I) (III) ./ 0 (II) hK Lσh + (η, −μΔσh )K + δ Lη, . |b| K K∈Th K∈Th ./ 0 ./ 0 (IV)
(V)
Maggioriamo ora separatamente i termini (I)-(V). Utilizzando opportunamente le disuguaglianze di Cauchy-Schwarz e di Young, otteniamo:
5.8 Metodi di stabilizzazione
173
μ ||∇σh ||2L2 (Ω) + μ∇η2L2 (Ω) , 4 " " |b| δ hK Lσh − (η, Lσh )K = − η, δ hK |b| K K∈Th K∈Th |b| 1 hK Lσh , Lσh δ + η, η , 4 |b| δ hK K K
(I) = μ(∇η, ∇σh ) ≤ (II) = ≤
K∈Th
K∈Th
√ √ 1 √ √ (III) = 2(γ η, σh ) = 2( γ η, γ σh ) ≤ γ σh 2L2 (Ω) + 2 γ η2L2 (Ω) . 2 Per il termine (IV), grazie ancora alle disuguaglianze di Cauchy-Schwarz e di Young e in virtù dell’ipotesi (5.64) e della disuguaglianza inversa (5.52), otteniamo: (IV)
=
(η, −μΔσh )K
K∈Th
≤ ≤ ≤
h |b| 1 K Δσh , Δσh δ μ2 + η, η 4 |b| δ hK K K K∈Th K∈Th |b| 1 h2K (Δσh , Δσh )K + η, η δμ 8 δ hK K K∈Th K∈Th |b| δ C0 μ ∇σh 2L2 (Ω) + η, η . 8 δ hK K K∈Th
Il termine (V) può infine essere maggiorato ancora grazie alle due disuguaglianze di Cauchy-Schwarz e Young: hK (V) = δ Lη, Lσh |b| K K∈Th hK 1 hK Lσh , Lσh Lη, Lη . ≤ δ + δ 4 |b| |b| K K K∈Th
K∈Th
Grazie a queste maggiorazioni e sfruttando ancora la definizione (5.59) di norma GLS, otteniamo la seguente stima 1 σh 2GLS 4 δC μ hK 1 √ 0 γ σh 2L2 (Ω) + Lσh , Lσh ∇σh 2L2 (Ω) + + δ 4 |b| 8 K K∈Th |b| hK √ Lη, Lη + μ ∇η2L2 (Ω) + 2 η, η + 2 γ η2L2 (Ω) + δ δ hK |b| K K K∈Th K∈Th ./ 0 (1)
σh 2GLS = ah (η, σh ) ≤
1 ≤ σh 2GLS + E(η), 2
E(η)
174
5 Equazioni di diffusione-trasporto-reazione
avendo sfruttato, nell’ultimo passaggio, l’ipotesi 0 < δ ≤ 2C 0−1 fatta sul parametro di stabilizzazione δ. Possiamo quindi, per il 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.63) e la richiesta fatta in (5.64) sul numero di Péclet locale Pe K . Osserviamo inoltre che le costanti C, introdotte nel seguito, non dipendono né da h né da Pe K , ma possono dipendere da altre quantità, come la costante γ 1 in (5.53), la costante di reazione σ, la norma ||b||L∞ (Ω) , il parametro di stabilizzazione δ. Abbiamo quindi: μ ∇η2L2 (Ω)
≤ C μ h2r |u|2Hr+1 (Ω)
||b||L∞ (Ω) h 2r 2 h |u|Hr+1 (Ω) ≤ C h2r+1 |u|2Hr+1 (Ω) ; 2 (5.67) |b| ||b||L∞ (Ω) 1 2(r+1) 2 2 η, η ≤ C h |u|Hr+1 (K) δ hK δ hK K K ≤ C
K∈Th
K∈Th
≤ Ch √ 2 γ η2L2 (Ω) ≤ 2 γ1 η2L2 (Ω) ≤ C h2(r+1) |u|2Hr+1 (Ω) , 2r+1
|u|2Hr+1 (Ω) ;
(5.68)
avendo sfruttato, per il controllo del terzo addendo, l’ipotesi (5.53). La maggiorazione del quarto addendo di E(η) risulta un po’ più laboriosa: esplicitando intanto il termine Lη, abbiamo " 12 1 hK 1 1 hK Lη, Lη Lη 1 δ = δ1 |b| |b| K L2 (K) K∈Th K∈Th " " " 1 hK hK hK 1 12 1 Δη + div(bη) + σ η1 2 = δ1−μ |b| |b| |b| L (K) K∈Th " " " 1 h 1 12 12 1 hK hK 1 1 1 1 1 1 12 K . ≤C δ 1μ +1 + 1σ Δη 1 2 div(bη)1 2 η1 2 |b| |b| |b| L (K) L (K) L (K) K∈Th (5.69) Ora, con conti analoghi a quelli seguiti per ottenere le stime (5.67) e (5.68), è facile dimostrare che il secondo e il terzo addendo del termine di destra della (5.69) sono maggiorabili con un termine della forma C h 2r+1 |u|2Hr+1 (Ω) , per un’opportuna scelta della costante C. Per il primo addendo invece si ha " 12 1 h2 μ hK 1 1 δ 1μ ≤ δ K Δη2L2 (K) Δη 1 2 |b| 2 L (K) K∈Th
≤ C δ ||b||L∞ (Ω)
K∈Th
K∈Th
h3K Δη2L2 (K) ≤ C h2r+1 |u|2Hr+1 (Ω) ,
5.8 Metodi di stabilizzazione
175
avendo ancora sfruttato le condizioni (5.63) e (5.64). Quest’ultima maggiorazione ci permette di concludere che E(η) ≤ C h2r+1 |u|2Hr+1 (Ω) , ovvero che σh GLS ≤ C hr+1/2 |u|Hr+1 (Ω) .
(5.70)
Ritornando alla (5.66), per ottenere la stima desiderata per la norma u h − uGLS , dovremmo ancora stimare η GLS . Questo porta nuovamente alla stima di tre contributi come in (5.67), (5.68) e (5.69), rispettivamente, ovvero alla stima ηGLS ≤ C hr+1/2 |u|Hr+1 (Ω) . Combinando questo risultato con la (5.70), ne segue la stima desiderata (5.65).
5.8.8 Stabilizzazione tramite funzioni a bolla Al fine di ottenere una soluzione numerica stabile si può anche utilizzare un sottospazio più ricco dello spazio V h standard, in alternativa all’arricchimento della forma bilineare a(·, ·) proposto dal metodo di Galerkin generalizzato, come illustrato nelle precedenti sezioni. L’idea è quella di scegliere sia la soluzione approssimata che la funzione test nello spazio arricchito, ovvero di rimanere nell’ambito di un metodo classico alla Galerkin. Facendo riferimento al problema standard di diffusione-trasporto-reazione della forma Lu = f , definito su Ω, completato con condizioni al bordo di Dirichlet omogenee, introduciamo lo spazio finito dimensionale Vhb = Vh ⊕ B, dove Vh = Xhr ∩ H01 (Ω) e B è lo spazio finito dimensionale delle cosiddette funzioni a bolla, ovvero B = {vB ∈ H01 (Ω) : vB |K = cK bK , bK |∂K = 0, e cK ∈ R}. Su ogni elemento K viene quindi aggiunto il termine correttivo b K per il quale sono possibili scelte differenti. Volendo lavorare solamente sulla griglia T h di partenza associata allo spazio Vh , una scelta standard porta a definire b K come bK = λ1 λ2 λ3 dove le λi , per i = 1, . . . , 3, sono le coordinate baricentriche, ovvero polinomi lineari, definiti su K, ciascuno dei quali si annulla su uno dei lati del triangolo e assume il valore 1 in corrispondenza del vertice opposto a tale lato. La funzione b K coincide in questo caso con la cosiddetta bolla cubica che vale 0 sul bordo di K e assume valori positivi al suo interno (si veda la Fig. 5.10 (a sinistra)). La costante c risulta essere così il solo grado di libertà associato al triangolo K (coinciderà, ad esempio, con il massimo valore assunto da b K su K o con il valore da essa assunto nel baricentro). Esse si possono ottenere per trasformazione delle coordinate baricentriche definite sul + λi = FK (λ +i ) (si veda la Fig. 5.9). triangolo di riferimento K,
176
5 Equazioni di diffusione-trasporto-reazione y
2
1
ˆ 1 = x, λ ˆ λ2 = 1 − (x + y), ˆ3 = y λ
ˆ K x 3
Figura 5.9. Coordinate baricentriche sul triangolo di riferimento
Osservazione 5.4 Allo scopo di introdurre sul dominio Ω una sottogriglia di calcolo (ottenuta come raffinamento opportuno della mesh T h ), si possono adottare definizioni più complesse per la funzione bolla b K . Ad esempio, la si può scegliere coincidente con una funzione lineare a pezzi definita sempre sull’elemento K e che assume ancora valore 0 sul bordo del triangolo (come la funzione di base degli elementi finiti lineari, associata ad un qualche punto interno a K) (si veda la Fig. 5.10 (a destra)) [EG04]. • Possiamo a questo punto introdurre l’approssimazione di Galerkin sullo spazio V hb del problema in esame, che assumerà la seguente forma: trovare ubh ∈ Vhb :
a(uh + ub , vhb ) = (f, vhb ) ∀vhb ∈ Vhb ,
(5.71)
essendo a(·, ·) la forma bilineare associata all’operatore differenziale L. Ci proponiamo di riscrivere la (5.71) come uno schema di Galerkin stabilizzato in V h , eliminando la funzione u b . Per il momento possiamo solo dire che, in ogni elemento K, ub K = cb,K bK , per una opportuna costante (incognita) c b,K , essendo ub ∈ B.
Figura 5.10. Un esempio di bolla cubica (a sinistra) e lineare (a destra)
5.8 Metodi di stabilizzazione
177
Scomponiamo sia u bh sia vhb come somma di una funzione di V h e di una di B, ovvero ubh = uh + ub ,
vhb = vh + vb
Scegliamo dapprima come funzione test v hb in (5.71) quella identificata da v h = 0 e vb ∈ B tale che in K, bK vb = 0 altrove. Abbiamo quindi a(uh + ub , vb ) = aK (uh + cb,K bK , bK ), avendo indicato con a K (·, ·) la restrizione della forma bilineare a(·, ·) all’elemento K. La (5.71) può dunque essere riscritta come aK (uh , bK ) + cb,K aK (bK , bK ) = (f, bK )K .
(5.72)
Sfruttando il fatto che b K si annulla sul bordo di K, possiamo integrare per parti il primo termine della (5.72), ottenendo a K (uh , bK ) = (Luh , bK )K , ovvero ricavare il valore incognito della costante c b,K , dato da cb,K =
(f − Luh , bK )K . aK (bK , bK )
Scegliamo ora come funzione test v hb in (5.71) quella identificata da una qualsiasi vh ∈ Vh , e vb = 0, ottenendo così a(uh , vh ) + cb,K aK (bK , vh ) = (f, vh ). (5.73) K∈Th
Riscriviamo opportunamente il termine a K (bK , vh ). Integrando per parti e sfruttando le definizioni di parte simmetrica e antisimmetrica dell’operatore differenziale L (si veda la Sez. 5.8.5), abbiamo
aK (bK , vh ) =
μ∇bK · ∇vh dK +
b · ∇bK vh dK +
σ bK vh dK
=
K K − μ bK Δvh dK + μ bK ∇vh · n dγ − bK ∇vh · b dK
+
K ∂K K b · n vh bK dγ + σ bK vh dK = (bK , (LS − LSS )vh )K ,
K
∂K
K
avendo sfruttato inoltre il fatto che la funzione a bolla b K si annulla sul bordo dell’elemento K ed inoltre che div(b) = 0. In maniera del tutto analoga possiamo riscrivere il denominatore della costante c b,K nel modo seguente aK (bK , bK ) = (LS bK , bK )K .
178
5 Equazioni di diffusione-trasporto-reazione
Tornando alla (5.73), abbiamo dunque a(uh , vh ) + aB (uh , f ; vh ) = (f, vh ) dove aB (uh , f ; vh ) =
∀ vh ∈ Vh ,
(Luh − f, bK )K (LSS vh − LS vh , bK )K . (LS bK , bK )K
K∈Th
Quello che abbiamo trovato è dunque uno schema di Galerkin stabilizzato, caso che si può porre nella forma (5.48), fortemente consistente. Nel caso in cui b sia costante, possiamo identificarlo con una sorta di metodo di Douglas-Wang generalizzato. Scegliendo opportunamente la bolla b K e seguendo una procedura analoga a quella sopra descritta è possibile definire anche dei metodi SUPG e GLS generalizzati [BFHR97].
5.9 Alcuni test numerici Mostriamo ora delle soluzioni numeriche ottenute con il metodo degli elementi finiti per il seguente problema di diffusione-trasporto bidimensionale: −μΔu + b · ∇u = 1 in Ω = (0, 1) × (0, 1), (5.74) u = 0 su ∂Ω, dove b = (1, 1)T . Osserviamo che la soluzione è caratterizzata da uno strato limite in corrispondenza dei lati x = 1 e y = 1. Sono stati considerati due diversi valori per la viscosità: μ = 10−3 e μ = 10−5 . Confrontiamo le soluzioni ottenute rispettivamente con il metodo standard di Galerkin e con il metodo GLS per entrambi i problemi, facendo due scelte differenti per il passo di discretizzazione h, scelto uniforme e pari a 1/20 e 1/80, rispettivamente. Le combinazioni incrociate dei 2 valori di μ ed h
Figura 5.11. Approssimazione del problema (5.74) per μ = 10−3 , h = 1/80, con il metodo di Galerkin standard (a sinistra) e GLS (a destra). Il numero di Péclet locale corrispondente è Pe = 8.84
5.10 Un esempio di adattività goal-oriented
179
4 1.6
3
1.4 1.2
2
1
1
0.8
0
0
0.6
0
0.4 0.2
−1 0.5 0
0.2
0.4
0.6
0.8
1
1
0 0
0.5 0.2
0.4
0.6
0.8
1
1
Figura 5.12. Approssimazione del problema (5.74) per μ = 10−3 , h = 1/20, con il metodo di 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.74) per μ = 10−5 , h = 1/80, con il metodo di Galerkin standard (a sinistra) e GLS (a destra). Il numero di Péclet locale corrispondente è Pe = 883.88
danno luogo a 4 valori distinti per il numero di Péclet locale Pe. Come si può osservare percorrendo le Fig. 5.11-5.14 (si faccia attenzione alle diverse scale verticali), per numeri di Péclet crescenti la soluzione fornita dal metodo di Galerkin standard manifesta oscillazioni sempre più marcate che arrivano a dominare completamente la soluzione numerica (si veda la Fig. 5.14). Il metodo GLS è invece in grado di formire una soluzione numerica accettabile 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.7, l’analisi a posteriori della Sez. 3.5.4 per il controllo di un opportuno funzionale dell’errore può essere estesa a problemi differenziali di varia natura previa un’opportuna ridefinizione del residuo locale (3.82) e del salto
180
5 Equazioni di diffusione-trasporto-reazione
120 1.6
100
1.4
80
1.2
60
1
40 0.8
20
0.6
0 0
−40 0
0
0.4
−20
0.2
0.5 0.2
0.4
0.6
0.8
1
0 0
0.5 0.2
1
0.4
0.6
0.8
1
1
Figura 5.14. Approssimazione del problema (5.74) per μ = 10−5 , h = 1/20, con il metodo di Galerkin standard (a sinistra) e GLS (a destra). Il numero di Péclet locale corrispondente è Pe = 3535.5
generalizzato (3.78). L’adattazione di griglia risulta infatti particolarmente utile in presenza di problemi di diffusione-trasporto, a trasporto dominante, quando un’accurata disposizione dei triangoli della mesh in corrispondenza, ad esempio, degli eventuali strati 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 identicamente nulli, e Ω coincidente con il dominio a forma di L descritto dalla relazione (0, 4)2 \(0, 2)2 (riportato in Fig. 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} e una 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 di validare la sensibilità della griglia adattata rispetto alla scelta fatta per il funzionale J, consideriamo le due seguenti scelte: J(v) = J1 (v) =
b · n v ds,
con
Γ1 = {x = 4} ∪ {y = 0},
Γ1
per il controllo del flusso normale uscente attraverso i lati {x = 4} e {y = 0}, e J(v) = J2 (v) =
b · n v ds,
con
Γ2 = {x = 4},
Γ2
nel caso in cui si sia interessati a controllare ancora il flusso ma attraverso il solo lato {x = 4}. Partendo da una comune griglia iniziale quasi uniforme di 1024 elementi, mostriamo in Fig. 5.15 le griglie (anisotrope) ottenute per la scelta J = J 1 (a sinistra) e J = J2 (a destra), rispettivamente alla quarta e alla seconda iterazione del procedimento adattivo. Come si può osservare, mentre entrambi gli strati limite sono responsabili del flusso attraverso Γ 1 , con conseguente infittimento della griglia in corrispondenza dei due strati limite, il solo strato limite superiore è “riconosciuto”
5.11 Esercizi 4
4
3.5
3.5
3
3
2.5
2.5
2
2
1.5
1.5
1
1
0.5
0.5
0
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0
0.5
1
1.5
2
2.5
3
3.5
181
4
Figura 5.15. Quarta griglia adattata per il funzionale J1 (a sinistra); seconda griglia adattata per il funzionale J2 (a destra)
come portatore di informazioni al flusso lungo Γ 2 . Si noti infine la natura fortemente anisotropa delle mesh in figura, ovvero non solo l’infittimento bensì anche la corretta orientazione dei triangoli della griglia in modo da seguire le caratteristiche direzionali (gli strati limite) della soluzione (per ulteriori dettagli si rimanda a [FMP04]).
5.11 Esercizi 1. Si scomponga nelle sue parti simmetrica e non simmetrica l’operatore di diffusionetrasporto-reazione monodimensionale Lu = −μu + bu + σu. 2. Si scomponga nelle sue parti simmetrica e antisimmetrica l’operatore di diffusionetrasporto scritto in forma non di divergenza Lu = −μΔu + b · ∇u. 3. Si dimostri che gli elementi finiti lineari, quadratici e cubici conducono sull’intervallo di riferimento [0, 1] nel caso monodimensionale alle seguenti matrici condensate, ottenute tramite la tecnica del mass-lumping:
182
5 Equazioni di diffusione-trasporto-reazione
r=1 r=2 r=3
+ = 1 diag(1 1), ML = M 2 + = 1 diag(1 4 1), ML = M 6 ⎧ 1 ⎪ ⎨ ML = diag(1 3 3 1), 8 ⎪ ⎩ M + = 1 diag(128 648 648 128)= diag 8 , 81 , 81 , 8 . 1552 97 194 194 97
4. Si consideri il problema: −u (x) + bu (x) = 1, 0 < x < 1, u(0) = α, u(1) = β, dove > 0 e α, β, b ∈ R sono dati. Si trovi la sua formulazione ad elementi finiti con viscosità artificiale upwind. Si discutano le proprietà di stabilità e di convergenza e le si confrontino con quella della formulazione Galerkin-elementi finiti 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 di tipo Galerkin con elementi finiti. Si verifichi che lo schema è stabile e si giustifichi tale 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 di R 2 di frontiera Γ = Γ D ∪ΓN , ΓD ∩ΓN = ∅, n è la normale uscente 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 sotto quali ipotesi sui coefficienti μ, σ e β il metodo risulta inaccurato e si propongano nei vari casi gli opportuni rimedi. 7. Si consideri il problema di diffusione-trasporto monodimensionale −(μu − ψ u) = 1, 0 < x < 1, (5.75) u(0) = u(1) = 0, dove μ è una costante positiva e ψ una funzione assegnata.
5.11 Esercizi
183
a) Si studino esistenza ed unicità della soluzione debole del problema (5.75) introducendo opportune ipotesi sulla funzione ψ e se ne proponga un’approssimazione numerica agli elementi finiti stabile. b) Si consideri il cambio di variabile u = ρe ψ/μ , essendo ρ una funzione incognita ausiliaria. Si studino esistenza ed unicità della soluzione debole del problema (5.75) nella nuova incognita ρ e se ne fornisca l’approssimazione numerica con il metodo degli elementi finiti. c) Si confrontino i due approcci seguiti in (a) e (b), sia dal punto di vista astratto che da quello numerico. 8. Si consideri il problema di diffusione-trasporto-reazione: ⎧ −Δu + div(bu) + u = 0 in Ω ⊂ R2 , ⎪ ⎪ ⎪ ⎪ ⎨ u=ϕ su ΓD , ⎪ ⎪ ⎪ ⎪ ⎩ ∂u = 0 su ΓN , ∂n dove Ω è un aperto limitato, ∂Ω = Γ D ∪ ΓN , ΓD = ∅. Si provino esistenza ed unicità della soluzione facendo opportune ipotesi di regolarità sui dati bT = (b1 (x), b2 (x)) (x ∈ Ω) e ϕ = ϕ(x) (x ∈ ΓD ). Nel caso in cui |b| 1, si approssimi lo stesso problema con il metodo di 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 ⎪ ∂2u ∂2u ∂2u ∂ 2u ∂u ⎪ ⎪ − +β 2 +γ +δ 2 +η = f in Ω, ⎨ ∂xi ∂xj ∂x1 ∂x1 ∂x2 ∂x2 ∂x1 i,j=1 ⎪ ⎪ ⎪ ⎩ 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 una soluzione debole. b) Si indichi un’approssimazione con il metodo di Galerkin-elementi finiti e se ne 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 problema algebrico.
6 Equazioni paraboliche
In questo capitolo consideriamo equazioni della forma ∂u + Lu = f, ∂t
x ∈ Ω, t > 0,
(6.1)
dove Ω è un dominio di R d , 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 queste ipotesi la (6.1) è un’equazione parabolica. In molti casi si è interessati a risolverla solo per un intervallo temporale finito, diciamo per 0 < t < T . In tal caso la regione QT = Ω × (0, T ) è detta cilindro nello spazio R d × R+ (si veda la Fig. 6.1). Nel caso in 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)
unitamente a condizioni al contorno, che possono assumere la forma seguente
t
x1
x2
T Ω
∂Ω
Figura 6.1. Il cilindro QT = Ω × (0, T ), Ω ⊂ R2
186
6 Equazioni paraboliche
⎧ ⎪ ⎨ u(x, t) = ϕ(x, t), ⎪ ⎩ ∂u(x, t) = ψ(x, t), ∂n
x ∈ ΓD e t > 0, (6.3)
x ∈ ΓN e t > 0, ◦
◦
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 ∂2u ⎪ ⎪ − ν = f, 0 < x < L, t > 0, ⎪ ⎪ ∂x2 ⎪ ⎨ ∂t (6.4) u(x, 0) = u0 (x), 0 < x < L, ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ u(0, t) = u(L, t) = 0, t > 0, descrive ad esempio l’evoluzione della temperatura u(x, t) nel punto x ed al tempo t di una barra metallica di lunghezza L che occupa l’intervallo [0, L], la cui conducibilità termica è ν e i cui estremi sono tenuti ad una temperatura costante di zero gradi. La funzione u 0 descrive la temperatura iniziale, mentre f rappresenta la produzione calorica (per unità di lunghezza) fornita alla barra. Per tale ragione la (6.4) è chiamata equazione 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 la trattazione dei problemi ellittici. Procediamo in modo formale, moltiplicando l’equazione differenziale per ogni t > 0 per una funzione test v = v(x) ed integrando su Ω. Poniamo V = H 1ΓD (Ω) e per ogni t > 0 cerchiamo u(t) ∈ V : Ω
∂u(t) v dΩ + a(u(t), v) = F (v) ∂t
∀v ∈ V,
(6.5)
con u(0) = u0 , dove a(·, ·) e F (·) sono la forma bilineare e il funzionale associati rispettivamente all’operatore ellittico L e al termine noto f , e dove si è supposto per semplicità ϕ = 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) + λv2L2 (Ω) ≥ αv2V ∀v ∈ V ,
ritrovando per λ = 0 la definizione standard di coercività; inoltre, chiediamo u 0 ∈ L2 (Ω) e f ∈ L2 (Q). Allora il problema (6.5) ammette un’unica soluzione u ∈
6.1 Formulazione debole e sua approssimazione
187
L2 (R+ ; V ) ∩ C 0 (R+ ; L2 (Ω)), e ∂u/∂t ∈ L2 (R+ ; V ), essendo V il duale di V (ricordiamo che V = H−1 (Ω) se V = H10 (Ω)). Abbiamo definito: L (R ; W ) = {v : R → W : t → v(t) 2
+
+
+∞ è misurabile e v(t)2W < +∞}, 0
mentre C 0 (R+ ; W ) = {v : R+ → W : ∀t ≥ 0 v(t)W ∈ C 0 (R+ )}, essendo W uno spazio di Hilbert con norma · W . Valgono inoltre delle stime a priori della soluzione u, che verranno fornite nella prossima sezione. Consideriamo ora l’approssimazione di Galerkin del problema (6.5): per ogni t > 0, trovare u h (t) ∈ Vh t.c. ∂uh (t) vh dΩ + a(uh (t), vh ) = F (vh ) ∀vh ∈ Vh (6.6) ∂t Ω
con uh (0) = u0h , dove Vh ⊂ V è un opportuno spazio a dimensione finita e u 0h è una conveniente approssimazione di u 0 nello spazio Vh . Tale problema è detto semidiscretizzazione di (6.5), in quanto rappresenta una discretizzazione nelle sole variabili spaziali. Per fornire un’interpretazione algebrica di (6.6) procediamo come segue. Introducendo una base {ϕj } per Vh (come fatto nei capitoli precedenti), basta che la (6.6) sia verificata per 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 appartiene al sottospazio, avremo uh (x, t) =
Nh
uj (t)ϕj (x),
j=1
.
dove i coefficienti {u j (t)} rappresentano le incognite del problema (6.6). Indicando con uj (t) la derivata della funzione u j (t) rispetto al tempo, la (6.6) diviene: ⎛ ⎞ Nh Nh u j(t)ϕj ϕi dΩ + a ⎝ uj (t)ϕj , ϕi ⎠ = F (ϕi ), i = 1, 2, . . . , Nh
.
Ω j=1
j=1
ossia Nh
.u (t) ϕ ϕ dΩ +u (t) a(ϕ , ϕ ) = F (ϕ ), Nh
j
j=1
j
Ω
-
i
./ mij
j
0
j=1
-
j
./
aij
i
0
i
- ./ 0 fi (t)
i = 1, 2, . . . , Nh .
(6.7)
188
6 Equazioni paraboliche
Definendo il vettore delle incognite u = [u 1 (t), u2 (t), . . . , uNh (t)]T , la matrice di massa M = [mij ], la matrice di rigidezza A = [a ij ] ed il vettore dei termini noti f = [f1 (t), f2 (t), . . . , fNh (t)]T , il sistema (6.7) può essere riscritto in forma matriciale
.
Mu(t) + Au(t) = f (t). Per risolverlo si può usare, ad esempio, il θ-metodo, che discretizza la derivata temporale con un semplice rapporto incrementale e sostituisce gli altri termini con una combinazione lineare, dipendente dal parametro reale θ (0 ≤ θ ≤ 1), del valore al tempo tk e di quello al tempo t k+1 : M
uk+1 − uk + A[θuk+1 + (1 − θ)uk ] = θf k+1 + (1 − θ)f k . Δt
(6.8)
Come d’abitudine, il parametro Δt = t k+1 − tk , k = 0, 1, ..., indica il passo di discretizzazione temporale (qui supposto costante), mentre il sopraindice k sta a significare che la quantità in questione è riferita al tempo t k . Vediamo alcuni casi particolari della (6.8). - Per θ = 0 si ottiene il metodo di Eulero in avanti (o Eulero esplicito): M
uk+1 − uk + Auk = f k Δt
che è accurato al primo ordine rispetto a Δt; - per θ = 1 si ha il metodo di Eulero all’indietro (o Eulero implicito): M
uk+1 − uk + Auk+1 = f k+1 Δt
che è anch’esso del prim’ordine rispetto a Δt; - per θ = 1/2 si ha il metodo di Crank-Nicolson (o dei trapezi): M
) 1 ( k+1 ) uk+1 − uk 1 ( + A uk+1 + uk = f + fk Δt 2 2
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 sistema M , nel secondo caso di equazioni lineari: se θ = 0 il sistema da risolvere ha matrice Δt M ha matrice Δ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 le equazioni del sistema. Questa operazione viene fatta eseguendo il cosiddetto lumping della 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 V h sia un sottospazio di elementi finiti, si ha una condizione di stabilità del tipo
6.2 Stime a priori
189
1 0.8 0.6
1
0.4 0.2 0
0.5
−0.2 −0.4 −0.6
−1 −1.5
1
0
−0.8
0.5
0.5 −1
−0.5
0
0.5
1
1.5
0
0
−0.5 −0.5
−1
Figura 6.2. Soluzione dell’equazione del calore per il problema dell’Esempio 6.1
Δt ≤ ch2 ,
c > 0,
la quale non permette una scelta arbitraria di Δt rispetto ad h. Nel caso θ > 0, il sistema avrà la forma Ku k+1 = g, dove g è il termine noto M e K = Δt + θA. Tale matrice è però invariante nel tempo (essendo L, e quindi 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 H T con H triangolare inferiore. Ad ogni passo temporale andranno quindi risolti due sistemi triangolari in Nh incognite Hy = g, HT uk+1 = y, che richiedono ciascuno N h2 /2 operazioni (si veda l’Appendice B ed anche [QSS00, Cap. 3]). Esempio 6.1 Supponiamo di risolvere l’equazione del calore ∂u − 0.1Δu = 0 sul dominio ∂t Ω ⊂ 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 prendendo u(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 tempo t = 1. Sono stati usati elementi finiti lineari in spazio ed il metodo di Eulero implicito in tempo con Δt = 0.01. Come si vede la discontinuità iniziale è stata regolarizzata, compatibilmente con le condizioni al contorno.
6.2 Stime a priori Consideriamo il problema (6.5); dato che le equazioni corrispondenti devono valere per ogni v ∈ V , sarà lecito porre v = u(t) (essendo t fissato), soluzione del problema
190
6 Equazioni paraboliche
stesso:
Ω
∂u(t) u(t) dΩ + a(u(t), u(t)) = F (u(t)) ∂t
∀t > 0.
(6.9)
Considerando i singoli termini, si ha: Ω
∂u(t) 1 ∂ u(t) dΩ = ∂t 2 ∂t
|u(t)|2 dΩ; Ω
per la coercività della forma bilineare: a(u(t), u(t)) ≥ αu(t)2V ; per le disuguaglianze di Cauchy-Schwarz e di Young: F (u(t)) = (f (t), u(t)) ≤ f (t)L2 (Ω) u(t)L2 (Ω) ≤
1 1 f (t)2L2 (Ω) + u(t)2L2 (Ω) . 2 2
Supponiamo per ora f =0. Utilizzando allora le prime due relazioni e il fatto che F (v)=0, si ottiene ∂ u(t)2L2 (Ω) + 2αu(t)2V ≤ 0 ∂t
∀t > 0.
Dato che quest’ultima equazione vale per ogni t > 0 possiamo integrarla rispetto al tempo sull’intervallo (0, t), ottenendo u(t)2L2 (Ω)
t + 2α u(s)2V ds ≤ u0 2L2 (Ω)
∀t > 0;
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 tempo. Questo è logico e plausibile per un’equazione parabolica del tipo (6.1) la quale rappresenta 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 aspetta tuttavia 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 ∂ 1 1 |u(t)|2 dΩ + αu(t)2V ≤ f (t)2L2 (Ω) + u(t)2L2 (Ω) ∀t > 0, 2 ∂t Ω 2 2 da cui ∂ u(t)2L2 (Ω) + 2αu(t)2V ≤ f (t)2L2 (Ω) + u(t)2L2 (Ω) ∂t
∀t > 0.
6.2 Stime a priori
191
Integrando in tempo fra 0 e t si ottiene u(t)2L2 (Ω)
+
t 2α u(s)2V ds 0
≤
t
u0 2L2 (Ω)
+
u(s)2L2 (Ω) ds.
+
0
t
(6.10)
t f (s)2L2 (Ω) ds
0
Per “rimuovere” il termine 0 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 ∈ L 1 (t0 , T ) una funzione non negativa, g e ϕ delle funzioni continue su [t 0 , T ]. Se ϕ è tale che
t
A(τ )ϕ(τ )dτ
∀t ∈ [to , T ],
(6.11)
⎞ ⎛ t ϕ(t) ≤ g(t)exp ⎝ A(τ )dτ ⎠
∀t ∈ [to , T ].
(6.12)
ϕ(t) ≤ g(t) + t0
allora, se g è non-decrescente,
t0
La funzione
g(t) = u0 2L2 (Ω)
t
+ 0
f (s)2L2 (Ω) ds
è ovviamente non decrescente. Applicando allora il Lemma di Gronwall a (6.10), con A(τ ) = 1 e g(t) definita come sopra, si trova la seguente stima a priori: u(t)2L2 (Ω)
t + 2α u(s)2V ds ⎡0 ≤ et ⎣u0 2L2 (Ω) +
t
⎤ f (s)2L2 (Ω) ds⎦
∀t > 0.
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 problema (6.5) e che esso, sotto opportune ipotesi, ammette soluzione unica. Analogamente a quanto fatto per il problema (6.5) possiamo dimostrare la seguente stima a priori (di stabilità) per la soluzione del problema (6.6):
192
6 Equazioni paraboliche
uh (t)2L2 (Ω)
t + 2α uh (s)2V ds ⎡0 ≤ et ⎣u0h 2L2 (Ω) +
t
⎤ f (s)2L2 (Ω) ds⎦
(6.14) ∀t > 0.
0
6.3 Analisi di convergenza del problema semi-discreto Consideriamo il problema (6.5) e la sua approssimazione (6.6). Vogliamo dimostrare la convergenza di u h 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 w h = vh − uh si ha ∂(u − uh ) , wh + a(u − uh , wh ) = 0 ∂t e quindi αu −
uh 2H1 (Ω)
≤ a(u − uh , u − vh ) −
∂(u − uh ) , wh . ∂t
(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 (Ω) ≤
α M2 u − uh 2H1 (Ω) + u − vh 2H1 (Ω) ; 2 2α
- scrivendo wh nella forma wh = (vh − u) + (u − uh ) si ottiene ∂(u − uh ) ∂(u − uh ) 1 d − , wh = , u − vh − u − uh 2L2 (Ω) . (6.16) ∂t ∂t 2 dt Sostituendo questi due risultati nella (6.15) otteniamo 1 d α u − uh 2L2 (Ω) + u − uh 2H1 (Ω) 2 dt 2 M2 ∂(u − uh ) ≤ u − vh 2H1 (Ω) + ( , u − vh ). 2α ∂t Moltiplicando per 2 ambo i membri ed integrando in tempo tra 0 e t:
6.3 Analisi di convergenza del problema semi-discreto
(u −
uh )(t)2L2 (Ω)
M2 α
+
t
193
t + α (u − uh )(s)2H1 (Ω) ds ≤ (u − uh )(0)2L2 (Ω) 0
t
u(s) − vh 2H1 (Ω) ds + 2 0
0
∂ (u − uh )(s), u(s) − vh ∂t
(6.17)
ds.
Integriamo per parti l’ultimo termine rispetto alla variabile temporale. Utilizzando la disuguaglianza di Young si ottiene: t 0
∂ (u − uh )(s), u(s) − vh ∂t
t ∂ ds = − (u − uh )(s), (u(s) − vh ) ds ∂t 0
+((u − uh )(t), (u − vh )(t)) − ((u − uh )(0), (u − vh )(0))
1 ≤ 4
t
t (u −
uh )(s)2L2 (Ω)
ds +
0
0
∂(u(s) − vh ) 2 1 L2 (Ω) ds + (u − uh )(t)2L2 (Ω) ∂t 4
+(u − vh )(t)2L2 (Ω) + (u − uh )(0)L2 (Ω) (u − vh )(0)L2 (Ω) .
Dalla (6.17) otteniamo pertanto t 1 2 (u − uh )(t)L2 (Ω) + α (u − uh )(s)2H1 (Ω) ds 2 ≤
2
M α
0
t
0
t
u(s) − vh 2H1 (Ω) ds + 2
0
∂(u(s) − vh ) 2 L2 (Ω) ds ∂t
(6.18)
+2(u − vh )(t)2L2 (Ω) + (u − uh )(0)2L2 (Ω) 1 +2(u − uh )(0)L2 (Ω) (u − vh )(0)L2 (Ω) + 2
t (u − uh )(s)2L2 (Ω) ds. 0
Supponiamo ora che V h sia lo spazio degli elementi finiti di grado r, più precisamente Vh = {vh ∈ Xhr : vh |ΓD = 0}, e scegliamo, ad ogni t, v h = Πhr u(t), l’interpolante di u(t) in Vh (si veda la (3.18)). Grazie alla (3.56) abbiamo, nell’ipotesi che u sia sufficientemente regolare, hu − Πhr uH1 (Ω) + u − Πhr uL2 (Ω) ≤ C2 hr+1 |u|Hr+1 (Ω) . Pertanto i vari addendi del termine di destra della disuguaglianza (6.18) si maggiorano come segue:
194
6 Equazioni paraboliche
t
t
E1
M2 = α
E2
t 1 t 1 1 ∂(u − vh ) 12 ∂u 2 2r (s)1 2 =2 1 ds ≤ C2 h ds, (s) r ∂t ∂t L (Ω) H (Ω)
E3
= 2(u − vh )(t)2L2 (Ω) ≤ C3 h2r |u|2Hr (Ω) ,
E4
= (u − uh )(0)2L2 (Ω) + 2(u − uh )(0)L2 (Ω) (u − vh )(0)L2 (Ω)
u(s) −
vh 2H1 (Ω)
ds ≤ C1 h
|u(s)|2Hr+1 (Ω) ds,
2r
0
0
0
0
≤ C4 h2r |u(0)|2Hr (Ω) . Di conseguenza E1 + E2 + E3 + E4 ≤ Ch2r N (u), ∂u . In questo modo si ottiene dove N (u) è una funzione opportuna dipendente da u e ∂t la disuguaglianza: t 1 2 (u − uh )(t)L2 (Ω) + α (u − uh )(s)2H1 (Ω) ds 2 1 ≤ Ch2r N (u) + 2
0
t
(u − uh )(s)2L2 (Ω) 0
e, infine, applicando il Lemma di Gronwall, otteniamo la stima a priori dell’errore: t 2 u − uh 2H1 (Ω) ≤ Ch2r N (u) et . ∀t > 0, (u − uh )(t)L2 (Ω) + 2α 0
Abbiamo dunque dimostrato che u h converge a u con ordine r rispetto ad h nella norma 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+1 − ukh h , vh + a θuk+1 + (1 − θ)ukh , vh h Δt = θF k+1 (vh ) + (1 − θ)F k (vh )
(6.19)
∀vh ∈ Vh ,
per ogni k ≥ 0, con u 0h = u0 h ; F k indica che il funzionale è valutato al tempo t k . Ci limiteremo al caso in cui F = 0 ed inizieremo a considerare il caso in cui θ = 1 (metodo di Eulero implicito), ovvero
6.4 Analisi di stabilità del θ-metodo
− ukh uk+1 h , vh Δt
!
( ) + a uk+1 h , vh = 0
195
∀vh ∈ Vh .
Scelto vh = uk+1 h , si ottiene
( k+1 k+1 ) k+1 = (ukh , uk+1 (uk+1 h , uh ) + Δt a uh , uh h ).
Sfruttando ora le seguenti disuguaglianze k+1 k+1 2 a(uk+1 h , uh ) ≥ αuh V ,
(ukh , uk+1 h )≤
1 k 2 1 u 2 + uk+1 2L2 (Ω) , 2 h L (Ω) 2 h
derivanti la prima dalla coercività della forma bilineare a(·, ·) e la seconda dalle disuguaglianze di Cauchy-Schwarz e di Young, otteniamo k+1 2 2 k 2 uk+1 h L2 (Ω) + 2αΔtuh V ≤ uh L2 (Ω) .
(6.20)
Sommando sull’indice k da 0 a n − 1 deduciamo che unh 2L2 (Ω) + 2αΔt
n−1
2 2 uk+1 h V ≤ uh0 L2 (Ω) .
k=0
Nel caso in cui f = 0, utilizzando una versione discreta del Lemma di Gronwall [QV94] si può dimostrare in maniera analoga che ! n n unh 2L2 (Ω) +2αΔt ukh 2V ≤ C(tn ) u0h 2L2 (Ω) + Δtf k 2L2 (Ω) . (6.21) k=1
k=1
t Questa relazione è molto simile alla (6.14), pur di sostituire gli integrali 0 · ds con una formula di integrazione numerica composita con passo Δt. k+1 Infine, osservando che u k+1 h V ≥ uh L2 (Ω) , si deduce dalla (6.20) che, per ogni Δt > 0 fissato, lim ukh L2 (Ω) = 0,
k→∞
ovvero il metodo di Eulero all’indietro è assolutamente stabile senza che si debba fare alcuna ipotesi limitativa sul passo Δt. Prima di analizzare il caso generale in cui θ è un parametro arbitrario compreso tra 0 e 1, introduciamo la seguente definizione. Diremo che il numero λ è un autovalore della forma bilineare a(·, ·) : V × V → R e che 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 reali positivi i quali formano una successione non limitata; inoltre le sue autofunzioni formano una base dello spazio V .
196
6 Equazioni paraboliche
Nel discreto gli autovalori e le autofunzioni di a(·, ·) possono essere approssimate cercando 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 = λh Mw, in cui A è la matrice di rigidezza e M la matrice di massa. Trattasi pertanto di un problema generalizzato agli autovalori. Tali autovalori sono tutti positivi ed in numero pari ad N h (essendo, al solito, N h la dimensione del sottospazio V h ); se ordinati in modo crescente si ha λNh → ∞
per Nh → ∞.
Inoltre le corrispondenti autofunzioni formano una base per il sottospazio V h e possono essere scelte in modo da essere ortonormali rispetto al prodotto scalare di L 2 (Ω). Ciò significa che, indicando con w hi l’autofunzione corrispondente all’autovalore λ i , si ha (whi , whj ) = δij , ∀i, j = 1, . . . , Nh . Pertanto ogni v h ∈ Vh può essere rappresentato nel modo seguente Nh vh (x) = vj whj (x) j=1
e, grazie all’ortonormalità delle autofunzioni, vh 2L2 (Ω) =
Nh
vj2 .
(6.23)
j=1
Consideriamo ora θ ∈ [0, 1] arbitrario e limitiamoci al caso in cui la forma bilineare 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 non formerebbero necessariamente una base). Siano {w hi } le autofunzioni (ortonormali) di a(·, ·). Poiché ukh ∈ Vh , possiamo scrivere ukh (x) =
Nh
ukj whj (x).
j=1
Osserviamo che in questo sviluppo gli u kj non rappresentano i valori nodali di u kh . Se ora nella (6.19) poniamo F = 0 e prendiamo v h = whi , troviamo: Nh Nh 1 j k i + [uk+1 − u ] w , w [θuk+1 + (1 − θ)ukj ]a(whj , whi ) = 0, j h j h Δt j=1 j j=1
per ogni i = 1, . . . , Nh . Per ogni coppia i, j = 1, . . . , N h si ha
6.4 Analisi di stabilità del θ-metodo
197
a(whj , whi ) = λj (whj , whi ) = λj δij = λi , e quindi, per ogni i = 1, . . . , N h , uk+1 − uki i + [θuk+1 + (1 − θ)uki ]λi = 0. i Δt Risolvendo ora rispetto a u k+1 si trova: i = uki uk+1 i
1 − (1 − θ)λi Δt . 1 + θλi Δt
Ricordando la (6.23) possiamo concludere che affinché il metodo sia assolutamente stabile deve essere soddisfatta la disuguaglianza 1 − (1 − θ)λi Δt 1 + θλi Δt < 1, ovvero: −1 − θλi Δt < 1 − (1 − θ)λi Δt < 1 + θλi Δt. Pertanto, −
2 − θ < θ − 1 < θ. λi Δt
La seconda disuguaglianza è sempre verificata, mentre la prima si può riscrivere come: 2θ − 1 > −
2 . λi Δt
Se θ ≥ 1/2, il primo membro è non negativo, mentre il secondo membro è negativo, per cui la disuguaglianza risulta verificata per ogni Δt. Se invece θ < 1/2, la disuguaglianza è soddisfatta e dunque il metodo è stabile solo se Δt
0 che appare nell’ultimo passaggio deriva dalla seguente disuguaglianza inversa ∇vh L2 (Ω) ≤ Ch−1 vh L2 (Ω)
∀vh ∈ Vh ,
per la cui dimostrazione si rinvia a [QV94, Cap. 3]. Pertanto, per h sufficientemente piccolo, λ Nh ≤ Ch−2 . In realtà si può mostrare che λNh è effettivamente dell’ordine di h −2 , ovvero λNh = λmax ch−2 . Tenendo conto di questo fatto si ottiene che per θ < 1/2 il metodo è assolutamente stabile solo se Δt ≤ C(θ)h2 , (6.24) dove C(θ) indica una costante positiva dipendente da θ. Quest’ultima relazione implica che, per θ < 1/2, Δt non può essere scelto arbitrariamente ma è limitato dalla scelta di h.
6.5 Analisi di convergenza del θ-metodo Per confronto fra la soluzione del problema totalmente discretizzato (6.19) e quella del problema semidiscreto, utilizzando opportunamente il risultato di stabilità (6.21), nonché l’errore di troncamento della discretizzazione in tempo, si può dimostrare il seguente teorema Teorema 6.1 Nell’ipotesi che u 0 , f e la soluzione esatta siano sufficientemente regolari, vale la seguente stima a priori dell’errore: u(tn ) − unh 2L2 (Ω) + 2αΔt
n
u(tk ) − ukh 2V ≤ C(u0 , f, u)(Δtp(θ) + h2r ),
k=1
dove p(θ) = 2 se θ = 1/2, p(1/2) = 4 e C è una costante che dipende opportunamente dai suoi argomenti.
6.5 Analisi di convergenza del θ-metodo
199
Dimostrazione. Per semplicità, ci limiteremo a considerare il metodo di Eulero all’indietro (corrispondente a θ = 1): 1 k+1 k+1 (u − ukh , vh ) + a(uk+1 , vh ) h , vh ) = (f Δt h
∀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’operatore di proiezione ortogonale: r r Π1,h : V → Vh : ∀w ∈ V, a(Π1,h w − w, vh ) = 0
∀vh ∈ Vh .
(6.26)
Utilizzando i risultati visti nel Cap. 3, si può facilmente dimostrare che esiste una costante C > 0 t.c., ∀w ∈ V ∩ H r+1 (Ω), r r w − wH1 (Ω) + h−1 Π1,h w − wL2 (Ω) ≤ Chr |w|Hr+1 (Ω) . Π1,h
(6.27)
Osserviamo che r r u(tk )L2 (Ω) + Π1,h u(tk ) − ukh L2 (Ω) . (6.28) u(tk ) − ukh L2 (Ω) ≤ u(tk ) − Π1,h
Il primo termine può essere stimato ricorrendo alla (6.27). Per analizzare il secondo r termine, posto ε kh = ukh − Π1,h u(tk ), otteniamo 1 k+1 k+1 (ε − εkh , vh ) + a(εk+1 , vh ) h , vh ) = (δ Δt h
∀vh ∈ Vh ,
(6.29)
avendo posto, ∀v h ∈ Vh , (δ k+1 , vh ) = (f k+1 , vh )−
1 (Π r (u(tk+1 )−u(tk )), vh )−a(u(tk+1 ), vh ), (6.30) Δt 1,h
r . La ed avendo sfruttato sull’ultimo addendo l’ortogonalità (6.26) dell’operatore Π 1,h k successione {εh , k = 0, 1 . . .} soddisfa il problema (6.29) che è del tutto simile a (6.25) (pur di prendere δ k+1 al posto di f k+1 ). Adattando la stima di stabilità (6.21), si ottiene, per ogni n ≥ 1, ! n n n 2 k 2 n 0 2 k 2 εh L2 (Ω) + 2αΔt εh V ≤ C(t ) εh L2 (Ω) + Δtδ L2 (Ω) . (6.31) k=1
k=1
La norma associata all’istante iniziale può essere facilmente stimata; se, ad esempio, u0h è l’interpolato ad elementi finiti di u 0 , Πhr u0 , utilizzando opportunamente le stime (3.56) e (6.27) otteniamo: ε0h L2 (Ω)
= ≤
r u0h − Π1,h u0 L2 (Ω)
r Πhr u0 − u0 L2 (Ω) + u0 − Π1,h u0 L2 (Ω) ≤ C hr |u0 |Hr (Ω) . (6.32) Concentriamoci ora sulla stima della norma δ k L2 (Ω) . Osserviamo che, grazie alla (6.5),
200
6 Equazioni paraboliche
(f
k+1
, vh ) − a(u(t
k+1
), vh ) =
∂u(tk+1 ) , vh . ∂t
Questo ci permette di riscrivere la (6.30) come 1 ∂u(tk+1 ) k+1 (δ , vh − (Π r (u(tk+1 ) − u(tk )), vh ) , vh ) = ∂t Δt 1,h u(tk+1 ) − u(tk ) ∂u(tk+1 ) u(tk+1 ) − u(tk ) r − , vh + , vh . = I − Π1,h ∂t Δt Δt (6.33) Usando la formula di Taylor con resto in forma integrale, otteniamo ∂u(tk+1 ) u(tk+1 ) − u(tk ) 1 − = ∂t Δt Δt
tk+1
(s − tk ) tk
∂2u (s) ds, ∂t2
(6.34)
fatte le opportune richieste di regolarità sulla funzione u rispetto alla variabile temporale. Usando ora il teorema fondamentale del calcolo integrale e sfruttando la r commutatività tra l’operatore di proiezione Π 1,h e la derivata temporale, otteniamo:
t ( ∂u ) r (s) ds. u(tk+1 ) − u(tk ) = I − Π1,h ∂t k+1
I−
r Π1,h
(6.35)
tk
Scelto ora vh = δ k+1 in (6.33), grazie alle relazioni (6.34) e (6.35), possiamo dedurre la seguente maggiorazione: δ k+1 L2 (Ω) 1 1 1 t 1 1 1 t ∂u 2 1 1 1 1 k ∂ u r (s) ds1 2 I − Π1,h ≤1 (s − t ) 2 (s) ds1 2 +1 Δt ∂t Δt ∂t L (Ω) L (Ω) k+1
k+1
tk
tk
tk+1
tk+1
tk
tk
≤
1 ∂2u 1 1 1 1 ds + 1 2 (s)1 2 ∂t Δt L (Ω)
1 ∂u 1 1 1 r (s)1 2 ds. 1 I − Π1,h ∂t L (Ω)
(6.36) Ritornando alla stima di stabilità (6.31) e sfruttando la (6.32) e la stima (6.36) con gli indici opportunamente scalati, si ha εnh 2L2 (Ω)
tk 1 2 2 n 1 1∂ u 1 2r 2 ≤ C(t ) h |u0 |Hr (Ω) + Δt ds 1 2 (s)1 2 ∂t L (Ω) n
k=1
+
1 Δt2
k t
tk−1
tk−1
2 1 ∂u 1 1 1 r (s)1 2 , ds 1 I − Π1,h ∂t L (Ω)
6.6 Il caso dell’approssimazione spettrale G-NI
201
ovvero, utilizzando la disuguaglianza di Cauchy-Schwarz e la stima (6.27) per l’oper ratore di proiezione Π 1,h , εnh 2L2 (Ω)
≤
k t 1 2 n 1 1 ∂ u 12 C(tn ) h2r |u0 |2Hr (Ω) + Δt Δt ds 1 2 (s)1 2 ∂t L (Ω)
k=1
+
≤
1 Δt2
tk tk−1
tk−1
∂u hr (s) r ds ∂t H (Ω)
2
k n t 1 2 1 1 ∂ u 12 C(tn ) h2r |u0 |2Hr (Ω) + Δt2 ds 1 2 (s)1 2 ∂t L (Ω)
k=1
+
tk−1
tk n 1 2r ∂u 2 h Δt ds. (s) r Δt ∂t H (Ω) k=1
tk−1
Questo permette di maggiorare il secondo termine in (6.28) nel seguente modo 1 ∂2u 1 1 1 n 2 ∗ n εh L (Ω) ≤ C (t ) hr |u0 |Hr (Ω) + Δt 1 2 1 ∂t L2 (0,tn ;L2 (Ω)) 1 1 r 1 ∂u 1 . + h 1 1 2 ∂t L (0,tn ;Hr (Ω)) Combinando tale risultato con la stima (6.27) per la maggiorazione del primo termine in (6.28), otteniamo, per ogni n ≥ 0, 1 ∂u 1 1 3 n ) hr |u0 |Hr (Ω) + 1 u(tn ) − unh L2 (Ω) ≤ C(t 1 1 2 ∂t L (0,tn ;Hr (Ω)) 1 ∂2u 1 1 1 . + |u(tn )|Hr (Ω) + Δt 1 2 1 2 n 2 ∂t L (0,t ;L (Ω))
6.6 Il caso dell’approssimazione spettrale G-NI Consideriamo ora un’approssimazione spaziale basata sul metodo spettrale G-NI discusso nelle Sez. 4.3 e 4.4. Il θ-metodo applicato alla discretizzazione spaziale 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 u kN ∈ VN = {vN ∈ QN : vN (−1) = vN (1) = 0} t.c. k+1 uN − ukN , vN + aN (θuk+1 + (1 − θ)ukN , vN ) N Δt N = θ (f k+1 , vN )N + (1 − θ) (f k , vN )N
∀vN ∈ VN ,
202
6 Equazioni paraboliche
con u0N = u0,N ∈ VN . Ricordiamo che (·, ·) N denota il prodotto scalare discreto ottenuto usando la formula di integrazione numerica di Gauss-Legendre-Lobatto (GLL), mentre aN (·, ·) è l’approssimazione della forma bilineare a(·, ·) ottenuta sostituendo gli integrali esatti con la suddetta formula di integrazione numerica. Si può dimostrare che il θ−metodo è anche in questo caso incondizionatamente assolutamente stabile se θ ≥ 12 , mentre per θ < 12 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 precedenza nel caso dell’approssimazione agli elementi finiti. In particolare, definiamo j ) della forma bilineare a N (·, ·), per ogni le coppie autovalore-autofunzione (λ j , wN j = 1, . . . , N − 1, attraverso la relazione j j j wN ∈ VN : aN (wN , vN ) = λj (wN , vN )
Pertanto λj =
j j aN (wN , wN ) j 2 wN N
∀vN ∈ VN .
.
Usando la continuità della forma bilineare a N (·, ·), troviamo λj ≤
j 2 H1 (−1,1) M wN j 2 wN N
.
Ricordiamo ora la seguente disuguaglianza inversa per polinomi algebrici ([CHQZ06]): 2 L2 (−1,1) ≤ CI vN 2L2 (−1,1) ∃ CI > 0 : vN
Allora λj ≤
j 2 L2 (−1,1) CI2 M N 4 wN j 2 wN N
∀vN ∈ QN .
.
Ricordando la proprietà di equivalenza (4.49), concludiamo che λj ≤ 3CI2 M N 4
∀j = 1, . . . , N − 1.
Si ha inoltre la seguente stima di convergenza: t ∂u n −r 3 |u0 |Hr (Ω) + (s) C(t ) N ds ∂t Hr (Ω) n
u(tn ) − unN L2 (Ω)
≤
+
|u(tn )|Hr (Ω)
0
tn1 2 1 1∂ u 1 + Δt 1 2 (s)1 ds . ∂t L2 (Ω) 0
Per la dimostrazione si veda [CHQZ06], Cap. 7.
6.7 Esercizi
203
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 pseudospettrale 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 soluzione ad elementi finiti e si invochino le proprietà riportate nei Lemmi 4.2 e 4.3.] 3. Si consideri il problema: ⎧ ∂u ∂ ∂u ⎪ ⎪ − α − βu = 0 in QT = (0, 1) × (0, ∞), ⎪ ⎪ ∂t ∂x ∂x ⎪ ⎪ ⎪ ⎪ per x ∈ (0, 1), t = 0, ⎨ u = u0 ⎪ u=η ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ α ∂u + γu = 0 ∂x
per x = 0, t > 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à sulle funzioni α e u 0 . b) Si faccia la semidiscretizzazione spaziale del problema con il metodo di Galerkin-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 di Eulero 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 ∂v ⎪ ⎪ + = 0, 0 < x < 1, t > 0, ⎪ ⎪ ∂t ∂x ⎪ ⎪ ⎪ ⎪ ∂u ⎨ − γ(x)u = 0, 0 < x < 1, t > 0, v + α(x) ∂x ⎪ ⎪ ⎪ v(1, t) = β(t), u(0, t) = 0, t > 0, ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ 0 < x < 1, u(x, 0) = u0 (x), 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.
204
6 Equazioni paraboliche
5. Si consideri il seguente problema ai valori iniziali e al contorno (di diffusionetrasporto-reazione): trovare u : (0, 1) × (0, T ) → R tale che: ⎧ ⎪ ⎪ ∂u − ∂ α ∂u + ∂ (βu) + γu = 0, 0 < x < 1, 0 < t < T, ⎪ ⎪ ∂t ∂x ∂x ∂x ⎪ ⎪ ⎪ ⎪ ⎨ u=0 per x = 0, 0 < t < T, ⎪ ∂u ⎪ ⎪ ⎪ + δu = 0 α ⎪ ⎪ ∂x ⎪ ⎪ ⎩ u(x, 0) = u0 (x),
per x = 1, 0 < t < T, 0 < x < 1, t = 0,
ove α = α(x), β = β(x), γ = γ(x), δ = δ(x), u 0 = u0 (x), x ∈ [0, 1] sono funzioni 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 ben posto. Si dia inoltre una stima a priori della soluzione. Si tratti lo stesso problema con u = g per x = 0 e 0 < t < T . c) Si consideri una semidiscretizzazione basata sul metodo degli elementi finiti lineari 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 ∂ 2 u ⎪ ⎪ − 2 = 0, −1 < x < 1, t > 0, ⎨ ∂t ∂x ⎪ −1 < x < 1, u(x, 0) = u0 (x), ⎪ ⎩ u(−1, t) = u(1, t) = 0, t > 0, la si approssimi con il metodo pseudo-spettrale in spazio e con il metodo di Eulero implicito in 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 ⎪ ⎪ − div(μ∇u) + Δ2 u + σu = 0 in Ω × (0, T ), ⎪ ⎪ ⎪ ⎨ ∂t in Ω, u(x, 0) = u0 ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ ∂u = u = 0 su ΣT = ∂Ω × (0, T ), ∂n
6.7 Esercizi
205
dove Ω ⊂ R2 è un aperto limitato con bordo ∂Ω regolare, Δ 2 = ΔΔ è l’operatore biarmonico, μ(x), σ(x) e u 0 (x) sono funzioni note definite in Ω. È noto che: |Δu|2 dΩ u2H2 (Ω) ,
∀ u ∈ H20 (Ω)
Ω
ove H20 (Ω) = {u ∈ H2 (Ω) : u = ∂u/∂n = 0 su ∂Ω}. a) Se ne scriva la formulazione debole e si verifichi che la soluzione esiste ed è unica, sotto opportune condizioni sulla regolarità dei dati. b) Si consideri una semidiscretizzazione basata sul metodo degli elementi finiti triangolari e si indichi il minimo grado che tali elementi devono avere per risolvere adeguatamente il problema dato. (Osserviamo che, se T h è una triangolazione di Ω e vh|K è un polinomio per ogni K ∈ T h , allora vh ∈ H2 (Ω) se e solo se vh ∈ C 1 (Ω).)
7 Differenze finite per equazioni iperboliche
In questo capitolo ci occuperemo di problemi evolutivi di tipo iperbolico. Per la loro derivazione e per un’analisi approfondita si veda, ad esempio, [Sal04], Cap. 4. Noi ci limiteremo a considerarne l’approssimazione numerica con il metodo delle differenze finite, storicamente il primo ad essere utilizzato per questo tipo di equazioni. Per introdurre in modo semplice i concetti di base della teoria, buona parte della nostra presentazione riguarderà problemi dipendenti da una sola variabile spaziale.
7.1 Un problema di trasporto scalare Consideriamo il seguente problema iperbolico scalare ⎧ ⎨ ∂u + a ∂u = 0, t > 0, x ∈ R, ∂t ∂x ⎩ u(x, 0) = u0 (x), x ∈ R,
(7.1)
dove a ∈ R \ {0}. La soluzione di tale problema è un’onda viaggiante con velocità a data da u(x, t) = u0 (x − at), t ≥ 0. Consideriamo le curve x(t) nel piano (x, t), soluzioni delle seguenti equazioni differenziali ordinarie ⎧ ⎨ dx = a, t > 0, dt ⎩ x(0) = x0 , al variare di x0 ∈ R. Tali curve sono dette linee caratteristiche (o spesso semplicemente caratteristiche) e lungo di esse la soluzione rimane costante in quanto du ∂u ∂u dx = + = 0. dt ∂t ∂x dt
208
7 Differenze finite per equazioni iperboliche
Nel caso del problema più generale ⎧ ⎨ ∂u + a ∂u + a u = f, t > 0, x ∈ R, 0 ∂t ∂x ⎩ x ∈ R, u(x, 0) = u0 (x),
(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 = a(x, t), t > 0, dt ⎩ x(0) = x0 . In tal caso, le soluzioni di (7.2) soddisfano la seguente relazione d u(x(t), t) = f (x(t), t) − a0 (x(t), t)u(x(t), t). dt È quindi possibile ricavare la soluzione u risolvendo un’equazione differenziale ordinaria su ogni curva caratteristica (questo approccio porta al cosiddetto metodo delle caratteristiche). Consideriamo ora il problema (7.1) in un intervallo limitato. Ad esempio supponiamo x ∈ [0, 1] e a > 0. Poiché u è costante sulle caratteristiche, dalla Fig. 7.1 si deduce che il valore della soluzione nel punto P coincide con il valore di u 0 nel piede P0 della caratteristica uscente da P. La caratteristica uscente dal punto Q, invece, interseca la retta x = 0 per t > 0. Il punto x = 0 è, quindi, di inflow ed in esso è necessario assegnare 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 u 0 fosse una funzione discontinua nel punto x 0 , allora tale discontinuità si propagherebbe lungo la caratteristica uscente da x0 (questo processo può essere formalizzato rigorosamente dal punto di vista matematico, introducendo il concetto di soluzione debole per i problemi iperbolici). Per regolarizzare le discontinuità si potrebbe approssimare il dato iniziale u 0 con una successione di funzioni regolari u ε0 (x), ε > 0. Questo procedimento è efficace, però,
Q
t t¯
P P0
0
x 1
Figura 7.1. Esempi di linee caratteristiche (delle rette in questo caso) uscenti dai punti P e Q
7.1 Un problema di trasporto scalare
209
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. In tale prospettiva, si può considerare la seguente equazione parabolica di diffusione e trasporto: ∂uε ∂uε ∂ 2 uε +a = ε 2 , t > 0, x ∈ R, ∂t ∂x ∂x 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 uε (x, t) = u0 (x − at), t > 0, x ∈ R.
ε→0+
7.1.1 Una stima a priori Ritorniamo ora a considerare il problema di trasporto-reazione (7.2) su un intervallo limitato ⎧ ∂u ∂u ⎪ +a + a0 u = f, t > 0, x ∈ (α, β), ⎪ ⎪ ⎨ ∂t ∂x (7.3) x ∈ [α, β], u(x, 0) = u0 (x), ⎪ ⎪ ⎪ ⎩ u(α, t) = ϕ(t), t > 0, 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), mentre x = β è quello di outflow. Moltiplicando la prima equazione di (7.3) per u, integrando rispetto a x e usando la formula di integrazione per parti, per ogni t > 0 si ottiene 1 d 2 dt
β
β u dx + 2
α
1 1 1 (a0 − ax )u2 dx + (au2 )(β) − (au2 )(α) = 2 2 2
α
β f u dx. α
Supponendo a0 − 12 ax ≥ μ0 ≥ 0
∀x ∈ [α, β],
si trova: 1 d 1 u(t)2L2 (α,β) + μ0 u(t)2L2 (α,β) + (au2 )(β) ≤ 2 dt 2 Se f e ϕ sono identicamente nulle, allora
β α
1 f u dx + a(α)ϕ2 (t). 2
210
7 Differenze finite per equazioni iperboliche
u(t)L2 (α,β) ≤ u0 L2 (α,β)
∀t > 0.
Nel caso generale, se supponiamo μ 0 > 0, grazie alle disuguaglianze di CauchySchwarz e di Young si ha β f u dx ≤ f L2 (α,β) uL2 (α,β) ≤ α
μ0 1 u2L2 (α,β) + f 2L2 (α,β) . 2 2μ0
Dunque, integrando rispetto al tempo, si perviene alla seguente stima a priori t u(t)2L2 (α,β)
μ0
+
u(s)2L2 (α,β)
t ds + a(β) u2 (β, s) ds
0
0
t t 1 2 2 f 2L2 (α,β) ds. u0 L2 (α,β) + a(α) ϕ (s) ds + μ0
≤
0
0
Essa mostra come la soluzione del problema si possa maggiorare in funzione dei dati del problema stesso. Una stima alternativa che non richiede la differenziabilità di a(x) ma usa l’ipotesi che a0 ≤ a(x) ≤ a1 per due opportune costanti positive a 0 e a1 può essere ottenuta moltiplicando l’equazione per a −1 , a−1
∂u ∂u + = a−1 f. ∂t ∂x
Moltiplicando ora per u e integrando tra α e β si ottiene, dopo semplici passaggi, 1 d 2 dt
β a
−1
1 (x)u (x, t) dx + u2 (β, t) = 2
β
2
α
1 a−1 (x)f (x, t)u(x, t)dx + ϕ2 (t). 2
α
Se f = 0 si ottiene immediatamente t u(t)2a
t u (β, s)ds = 2
+
u0 2a
0
dove
ϕ2 (s)ds, t > 0,
+ 0
⎛ β ⎞ 12 ua = ⎝ a−1 (x)v 2 (x)dx⎠ α
è una norma equivalente a quella di L 2 (α, β). Se invece f = 0 si può procedere come segue: t u(t)2a
t u (β, s) ds ≤ 2
+ 0
u0 2a
t ϕ (s) ds +
+ 0
t f 2a
2
0
ds +
u(s)2a ds 0
7.2 Sistemi di equazioni iperboliche lineari
211
avendo usato la disuguaglianza di Cauchy-Schwarz. Applicando ora il Lemma di Gronwall si ottiene, per ogni t > 0, ⎞ ⎛ t t t u(t)2a + u2 (β, s) ds ≤ et ⎝u0 2a + ϕ2 (s)ds + f 2a ds⎠ . (7.4) 0
0
0
7.2 Sistemi di equazioni iperboliche lineari Consideriamo un sistema lineare della forma ∂u ∂u +A = 0, ∂t ∂x u(0, x) = u0 (x), x ∈ R,
t > 0, x ∈ R,
(7.5)
dove u : [0, ∞) × R → Rp , A : R → Rp×p è una matrice assegnata, e u 0 : R → Rp è il dato iniziale. Consideriamo dapprima il caso in cui i coefficienti di A siano costanti (ovvero indipendenti sia da x sia da t). Il sistema (7.5) è detto iperbolico se A è diagonalizzabile ed ha autovalori reali. In tal caso esiste T : R → R p×p non singolare tale che A = TΛT−1 , essendo Λ = diag(λ1 , ..., λp ), con λi ∈ R per i = 1, . . . , p, la matrice diagonale degli autovalori di A mentre T = (ω 1 , ω 2 , . . . , ω p ) è la matrice i cui vettori colonna sono gli 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 ∂w +Λ = 0, (7.6) ∂t ∂x dove w = T−1 u sono dette variabili caratteristiche. In questo modo, si ottengono p equazioni indipendenti della forma ∂wk ∂wk + λk = 0, k = 1, . . . , p, ∂t ∂x del tutto analoghe a quella del problema (7.1) (pur di supporre a 0 e f nulle). La soluzione wk è dunque costante lungo ogni curva caratteristica, soluzione del problema di Cauchy ⎧ ⎨ dx = λ , t > 0, k dt (7.7) ⎩ x(0) = x0 .
212
7 Differenze finite per equazioni iperboliche
Essendo i λk costanti, le curve caratteristiche sono le rette x(t) = x 0 + λk t e le soluzioni sono nella forma w k (x, t) = ψk (x − λk t), dove ψk è una funzione di una sola variabile. Il suo valore è determinato dalle condizioni iniziali e dalle eventuali condizioni 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
wk (x − λk t, 0)ω k .
k=1
Come si vede, essa è composta da p onde viaggianti non interagenti. Poiché in un sistema strettamente iperbolico p linee caratteristiche distinte passano per ogni punto del piano (x, t), per ogni t e x fissati, u(x, t) dipenderà solo dal dato iniziale nei punti x − λk t, per k = 1, . . . , p. Per questa ragione, l’insieme dei p punti che formano i piedi delle caratteristiche uscenti dal punto (x, t), cioè D(x, t)={x ∈ R | x = x − λk t , 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 variabili caratteristiche. La funzione ψ k nel caso di un problema posto su intervallo limitato sarà determinata non solo dalle condizioni iniziali, ma anche dalle condizioni al bordo fornite all’inflow di ciascuna variabile caratteristica. Dato un punto (x, t) con x ∈ (α, β) e t > 0, se x − λk t ∈ (α, β) allora wk (x, t) è determinato dalla condizione iniziale, in particolare si ha w k (x, t) = wk (x − λk t, 0). Se invece x − λk t ∈ / (α, β) allora il valore di wk (x, t) dipenderà dalla condizione al bordo (si veda la Fig. 7.2): ⎧ x−α ⎪ ⎪ ), ⎨ se λk > 0 , wk (x, t) = wk (α, λk x−β ⎪ ⎪ ⎩ se λk < 0 , wk (x, t) = wk (β, ). λk Conseguentemente, il numero di autovalori positivi determina il numero di condizioni al bordo da assegnare in x = α, mentre in x = β andranno assegnate tante condizioni quanti 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 ⎡
⎤ lT1 ⎢ . ⎥ L = ⎣ .. ⎦
e
R = [r1 . . . rp ] ,
lTp le matrici degli autovettori sinistri e destri di A, i cui elementi soddisfano le relazioni: Ark = λk rk ,
lTk A = λk lTk ,
7.2 Sistemi di equazioni iperboliche lineari t
t
(x1,t1)
t= (x1 − α)/ λ k
(x1 ,t 1)
(x2,t 2)
t=(x1 − β)/ λ k
(x2,t 2)
x
x 0
213
α x− λ t k 2 2
β
0
α
x− 2 λkt 2 β
Figura 7.2. Il valore di wk in un punto del piano (x, t) dipende o dalla condizione al bordo o dalla condizione iniziale, a seconda del valore di x − λk t. A sinistra e a destra viene rispettivamente riportato il caso di λk positivo o negativo
ovvero: AR = RΛ,
LA = ΛL.
Senza perdita di generalità possiamo supporre che LR = I. Supponiamo ora che esista una funzione vettoriale w soddisfacente le relazioni ∂w = R−1 , ∂u
ovvero
∂uk = rk , ∂w
k = 1, . . . , p.
Procedendo come fatto in precedenza, otteniamo R−1
∂u ∂u + ΛR−1 =0 ∂t ∂x
e dunque di nuovo il sistema diagonale (7.6). Introducendo di nuovo le curve caratteristiche (7.7) (ora non saranno più delle rette in quanto gli autovalori λ k variano al variare di x e t), avremo ancora che w è costante lungo le curve caratteristiche. Le componenti di w si chiameranno pertanto di nuovo variabili caratteristiche. Essendo R−1 = L (grazie alla relazione di normalizzazione) otteniamo ∂wk · rm = lk · rm = δkm , ∂u
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 2 ∂2u 2∂ u − γ = f, ∂t2 ∂x2
t > 0, x ∈ (α, β).
Siano u(x, 0) = u0 (x)
e
∂u (x, 0) = v0 (x) ∂t
x ∈ (α, β),
(7.9)
214
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 elastica vibrante di lunghezza pari a β −α, fissata agli estremi, e γ è un coefficiente dipendente dalla massa specifica della corda e dalla sua tensione. La corda è sottoposta ad una densità di forza verticale f . Le funzioni u 0 (x) e v0 (x) descrivono, rispettivamente, lo spostamento iniziale e la velocità iniziale della corda. 2 2 Come già notato nel Cap. 1, se si sostituisce ∂∂tu2 con t2 , ∂∂xu2 con x2 e f con k (costante), l’equazione delle onde diventa t2 − γ 2 x2 = k che rappresenta un’iperbole nel piano (x, t). ∂u Indichiamo per semplicità di notazioni con u t la derivata ∂u ∂t , ux la derivata ∂x e usiamo notazioni analoghe per le derivate seconde. Supponiamo ora che f sia nulla. Dall’equazione (7.9) si può dedurre che in questo caso 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 ∂ω ∂ω +A = f, ∂t ∂x dove
ω=
ω1 ω2
, A=
t > 0, x ∈ (α, β),
0 −γ 2
−1 0
,
f=
(7.12)
0 f
,
e le condizioni iniziali sono date da ω 1 (x, 0) = u0 (x) e ω2 (x, 0) = v0 (x). Poiché gli autovalori di A sono i due numeri reali distinti ±γ (le velocità di propagazione dell’onda), il sistema (7.12) è iperbolico. Si noti che, anche in questo caso, a dati iniziali regolari corrispondono soluzioni regolari, mentre discontinuità nei dati iniziali si propagheranno lungo le linee dx caratteristiche = ±γ. dt
7.3 Il metodo delle differenze finite
215
7.3 Il metodo delle differenze finite Considereremo ora per semplicità il caso del problema (7.1), con f = 0. Per risolverlo numericamente si possono utilizzare discretizzazioni spazio-temporali basate sul metodo delle differenze finite. In tal caso il semipiano {t > 0} viene discretizzato scegliendo un passo temporale Δt, un passo di discretizzazione spaziale h e definendo i punti di griglia (xj , tn ) nel seguente modo j ∈ Z,
xj =jh,
tn =nΔt,
n ∈ N.
Sia λ=Δt/h, e definiamo xj+1/2 =xj + h/2. Cerchiamo soluzioni discrete u nj che approssimano u(x j , tn ) per ogni j e n. I problemi ai valori iniziali iperbolici, sono spesso discretizzati in tempo con metodi espliciti. Questo, naturalmente, impone delle restrizioni sui valori di λ, restrizioni 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 n n un+1 = unj − λ(Hj+1/2 − Hj−1/2 ), j
(7.13)
dove Hj+1/2 = H(uj , uj+1 ); la funzione H(·, ·) è detta flusso numerico. Lo schema numerico (7.13) nasce, essenzialmente, dalla seguente considerazione. Supponiamo che a sia costante e scriviamo l’equazione (7.1) in forma conservativa. Si ha ∂u ∂(au) + = 0, ∂t ∂x dove au è il flusso associato all’equazione (7.1). Integrando in spazio si ottiene
xj+1/2
xj−1/2
∂u x dx + [au]xj+1/2 = 0, j−1/2 ∂t
j∈Z
ovvero x
1
j+ 2 (au)(xj+ 12 ) − (au)(xj− 12 ) ∂ −1 Uj + = 0, dove Uj = h u(x) dx. ∂t h xj− 1
2
La (7.13) può ora interpretarsi come un’approssimazione in cui si discretizzi la derivata temporale con la differenza finita di Eulero in avanti, U j sia sostituita da uj e Hj+1/2 sia una opportuna approssimazione di (au)(x j+ 12 ).
216
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 come viene scelto il flusso numerico H. In particolare, citiamo i metodi seguenti: - Eulero in avanti/centrato (EA/C) un+1 = unj − j
λ a(unj+1 − unj−1 ), 2
(7.14)
1 a(uj+1 + uj ). 2
(7.15)
che è della forma (7.13) con Hj+1/2 = - Lax-Friedrichs (LF) = un+1 j
1 n λ (u + unj−1 ) − a(unj+1 − unj−1 ), 2 j+1 2
(7.16)
anch’esso della forma (7.13) con Hj+1/2 =
1 [a(uj+1 + uj ) − λ−1 (uj+1 − uj )]. 2
(7.17)
- Lax-Wendroff (LW) un+1 = unj − j
λ λ2 a(unj+1 − unj−1 ) + a2 (unj+1 − 2unj + unj−1 ), 2 2
(7.18)
che si può riscrivere nella forma (7.13) pur di prendere Hj+1/2 =
1 [a(uj+1 + uj ) − λa2 (uj+1 − uj )]. 2
(7.19)
- Upwind (o Eulero in avanti/ decentrato) (U) un+1 = unj − j
λ λ a(unj+1 − unj−1 ) + |a|(unj+1 − 2unj + unj−1 ), 2 2
(7.20)
corrispondente alla forma (7.13) pur di definire nel modo seguente il flusso numerico: 1 Hj+1/2 = [a(uj+1 + uj ) − |a|(uj+1 − uj )]. (7.21) 2 Il metodo LF rappresenta una modifica del metodo EA/C consistente nel sostituire il valore nodale u nj in (7.14) con la media dei valori nodali precedente u nj−1 e successivo unj+1 . Il metodo LW si può derivare applicando dapprima lo sviluppo di Taylor rispetto alla variabile temporale: un+1 = un + (∂t u)n Δt + (∂tt u)n
Δt2 + O(Δt3 ), 2
7.3 Il metodo delle differenze finite
217
ove (∂t u)n indica la derivata parziale di u al tempo t n . Indi, usando l’equazione (7.1), si sostituisce ∂t u con −a∂x u, e ∂tt u con a2 ∂xx u. Trascurando il resto O(Δt 3 ) ed approssimando le derivate spaziali con differenze finite centrate, si perviene alla (7.18). Infine il metodo U si ottiene discretizzando il termine convettivo a∂ x u dell’equazione con la differenza finita upwind, come visto nel Cap. 5, Sez. 5.6. Tutti gli schemi precedentemente introdotti sono espliciti. Un esempio di metodo implicito è il seguente: - Eulero all’indietro/centrato (EI/C) un+1 + j
λ n+1 n a(un+1 j+1 − uj−1 ) = uj . 2
(7.22)
Naturalmente, anche gli schemi impliciti si possono scrivere in una forma generale simile alla (7.13) in cui H n sia sostituito da H n+1 . Nel caso specifico, il flusso numerico sarà ancora definito dalla (7.15). Il vantaggio della formulazione (7.13) è che essa può essere estesa facilmente al caso di problemi iperbolici più generali. Esamineremo, in particolare, il caso dei sistemi lineari nel Cap. 7.3.2. L’estensione al caso 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 [leap]un+1 − 2unj + un−1 = (γλ)2 (unj+1 − 2unj + unj−1 ). j j
(7.23)
- Newmark − 2unj + un−1 = un+1 j j
) (γλ)2 ( n−1 wj + 2wjn + wjn+1 , 4
(7.24)
dove wjn = 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 numerico di approssimazione alle differenze finite può essere scritto nella forma un+1 = unj − λ(Hnj+1/2 − Hnj−1/2 ), j dove unj è il vettore approssimante u(x j , tn ) e Hj+1/2 è, ora, il flusso numerico vettoriale. La sua espressione formale si può derivare facilmente, generalizzando il caso scalare e sostituendo, a, a 2 , |a| rispettivamente con A, A 2 , |A|, nelle (7.15), (7.17), (7.19), (7.21), essendo |A|=T|Λ|T−1 ,
218
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, si ottiene il seguente schema numerico upwind per il sistema di partenza: un+1 = unj − j
λ λ A(unj+1 − unj−1 ) + |A|(unj+1 − 2unj + unj−1 ). 2 2
Il flusso numerico di tale schema è Hj+ 12 =
1 [A(uj+1 + uj ) − |A|(uj+1 − uj )]. 2
Il metodo di Lax-Wendroff diventa 1 1 un+1 = unj − λA(unj+1 − unj−1 ) + λ2 A2 (unj+1 − 2unj + unj−1 ) j 2 2 ed il suo flusso numerico è Hj+ 12 =
1 [A(uj+1 − uj ) − λA2 (uj+1 − uj )]. 2
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 le condizioni al bordo, ovvero u n+1 = φ(tn+1 ), mentre in tutti gli altri nodi x j , 1 ≤ j ≤ m 0 (compreso quello di outflow x m = β) si scriverà lo schema alle differenze finite. Va tuttavia osservato che gli schemi che fanno uso di una discretizzazione centrata della derivata spaziale richiedono un particolare trattamento in x m . In effetti essi richiederebbero l’uso del valore u m+1 , che non è disponibile essendo relativo al punto di coordinate β + h che giace al di fuori dell’intervallo di integrazione. Il problema può essere risolto in vari modi. Una possibilità è utilizzare unicamente per l’ultimo nodo una discretizzazione decentrata di tipo “upwind”, che non richiede la conoscenza del dato in xm+1 . Lo svantaggio è quello di usare uno schema numerico diverso e, in generale, meno accurato, per il solo nodo di bordo. Alternativamente, il valore un+1 può essere ottenuto tramite estrapolazione dai valori disponibili nei nodi interni. m Per esempio, una estrapolazione lungo le linee caratteristiche applicata ad uno schema per cui λa ≤ 1 fornisce u n+1 = unm−1 λa + unm (1 − λa). m Un’ultima possibilità consiste nell’applicare anche al nodo di outflow x m lo schema alle differenze finite centrate ed utilizzare, ove compaia u nm+1 , una sua approssimazione basata sulla estrapolazione costante (u nm+1 = unm ), o lineare (u nm+1 = 2unm − unm−1 ). La questione diviene più problematica nel caso dei sistemi iperbolici, ove si deve ricorrere al concetto di equazioni di compatibilità. Per approfondire questi aspetti ed analizzare le possibili instabilità derivanti dal trattamento numerico al bordo, il lettore può riferirsi a Strickwerda [Str89] e [QV94, Cap. 14].
7.4 Analisi dei metodi alle differenze finite
219
7.4 Analisi dei metodi alle differenze finite Analizziamo le proprietà di consistenza, stabilità e dissipazione dei metodi 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 genera pretendendo che la soluzione esatta verifichi lo schema numerico stesso. Ad esempio, nel caso dello schema (7.14), indicata con u la soluzione del problema esatto (7.1), possiamo definire l’errore di troncamento nel punto (x j , tn ) come segue τjn =
u(xj+1 , tn ) − u(xj−1 , tn ) u(xj , tn+1 ) − u(xj , tn ) +a . Δt 2h
Se l’errore di troncamento τ (Δt, h)=max|τjn | j,n
tende a zero quando Δt e h tendono a zero, indipendentemente, allora lo schema numerico si dirà consistente. Si dirà inoltre che uno schema numerico è accurato all’ordine p in tempo e all’ordine q in spazio (per opportuni interi p e q), se per una soluzione sufficientemente regolare del problema esatto, si ha τ (Δt, h) = O(Δtp + hq ). Utilizzando gli sviluppi di Taylor in modo opportuno, si può allora vedere che l’errore di troncamento dei metodi precedentemente introdotti si comporta come segue: -
Eulero in avanti o all’indietro/centrato: O(Δt + h 2 ); Upwind: O(Δt + h) ; h2 Lax-Friedrichs : O( Δt + Δt + h2 ) ; 2 Lax-Wendroff : O(Δt + h2 + h2 Δt).
Diremo infine che uno schema è convergente (nella norma del massimo) se lim (max|u(xj , tn ) − unj |) = 0.
Δt,h→0
j,n
7.4.2 Stabilità Diremo che un metodo numerico per un problema iperbolico (lineare o non lineare) è stabile se per ogni tempo T esistono una costante C T > 0 (eventualmente dipendente da T ) e un δ0 > 0 tali che un Δ ≤ CT u0 Δ , (7.25)
220
7 Differenze finite per equazioni iperboliche
per ogni n tale che nΔt ≤ T , per ogni Δt, h tali che 0 < Δt ≤ δ 0 , 0 < h ≤ δ0 e per ogni dato iniziale u 0 . Si noti che CT non deve dipendere da Δt e h. Spesso la stabilità richiede una condizione che lega il passo temporale a quello spaziale. La · Δ rappresenta una norma discreta opportuna, ad esempio ⎛ vΔ,p = ⎝h
∞
⎞ p1 |vj |p ⎠
per p = 1, 2, vΔ,∞ =sup|vj |.
(7.26)
j
j=−∞
Si noti come vΔ,p rappresenti un’approssimazione della norma L p (R), per p = 1, 2 o +∞. 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). Nel caso in cui si abbia un Δ ≤ un−1 Δ , n ≥ 1,
(7.27)
(il che implica che la (7.25) sia verificata con C T = 1) lo schema è detto fortemente stabile rispetto alla norma · Δ . Osservazione 7.1 Molto spesso nel contesto di problemi iperbolici si cercano soluzioni per tempi lunghi (cioè per T 1). In questi casi è normalmente richiesta la forte stabilità dello schema, in quanto essa garantisce che la soluzione numerica sia limitata per ogni valore di T . • Come vedremo, condizione necessaria affinché uno schema numerico esplicito della forma (7.13) sia stabile, è che il passo di discretizzazione temporale e quello spaziale 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) ed il numero aλ viene comunemente chiamato numero di CFL. Esso è un numero adimensionale (essendo a una velocità). L’interpretazione geometrica della condizione di stabilità CFL è la seguente. In uno schema alle differenze finite, il valore di u n+1 dipende, in generale, dai valori di j un nei tre punti xj+i , i = −1, 0, 1. Allora la soluzione u n+1 dipenderà solo dai dati j iniziali nei punti xj+i , per i = −(n + 1), ..., (n + 1) (si veda la Fig. 7.3). Il cosiddetto dominio di dipendenza numerico D Δt (xj , tn ) di unj verificherà, quindi DΔt (xj , tn ) ⊂ {x ∈ R : |x − xj | ≤ nh = Conseguentemente, per ogni punto fissato (x, t) si ha
tn }. λ
7.4 Analisi dei metodi alle differenze finite
(¯ x, t¯)
t¯ (¯ x, t¯)
t¯ r1 t¯ − Δt
x ¯ − Δx
r1
r2 x ¯
221
x ¯ + Δx
x ¯ − Δx
r2
x ¯
x ¯ + Δx
Figura 7.3. Interpretazione geometrica della condizione CFL per un sistema con p = 2, dove ¯ − λi (t − t¯) i = 1, 2. La condizione CFL è soddisfatta nel caso di sinistra, è violata nel ri = x caso di destra
t }. λ In particolare, prendendo il limite per Δt → 0, e fissando λ, il dominio di dipendenza numerico diventa DΔt (x, t) ⊂ {x ∈ R : |x − x| ≤
t }. λ La condizione (7.28) è allora equivalente all’inclusione D0 (x, t) = {x ∈ R : |x − x| ≤
D(x, t) ⊂ D0 (x, t),
(7.29)
dove D(x, t) è il dominio di dipendenza definito nella (7.8). Si noti che nel caso scalare, p = 1 e λ1 = a. Osservazione 7.2 La condizione CFL stabilisce, in particolare, che non esistono schemi alle differenze finite espliciti, incondizionatamente stabili e consistenti per problemi ai valori iniziali iperbolici. Infatti, se fosse violata la condizione CFL, esisterebbe almeno un punto x ∗ nel dominio di dipendenza non appartenente al dominio di dipendenza numerico. Cambiando il dato iniziale in x ∗ muterà allora solo la soluzione esatta e non quella numerica. Questo implica una non-convergenza del metodo e quindi anche la sua instabilità dato che, per un metodo consistente il Teorema di equivalenza di Lax-Richtmyer afferma che la stabilità è condizione necessaria e sufficiente per la convergenza di un metodo consistente. • Osservazione 7.3 Nel caso in cui a = a(x, t) non sia più costante nella (7.1), la condizione CFL diventa: h Δt ≤ , sup |a(x, t)| x∈R, t>0
e se anche il passo di discretizzazione spaziale viene fatto variare si ha Δt ≤ min k
hk sup
|a(x, t)|
,
x∈(xk ,xk+1 ), t>0
essendo hk = xk+1 − xk .
•
222
7 Differenze finite per equazioni iperboliche
Facendo riferimento al sistema iperbolico (7.5), la condizione di stabilità CFL, del tutto analoga alla (7.28), sarà Δt λk h ≤ 1, k = 1, . . . , p, dove {λk , k = 1 . . . , p} sono gli autovalori di A. Equivalentemente, Δt ≤ maxhk |λk | . Anche questa condizione può scriversi nella forma (7.29), nel senso che ogni retta x = x − λk (t − t), k = 1, . . . , p, deve intersecare la retta temporale t = t − Δt in punti x(k) appartenenti al dominio di dipendenza numerico. Teorema 7.1 Se la condizione CFL (7.28) è soddisfatta, gli schemi upwind, di Lax-Friedrichs e Lax-Wendroff sono fortemente stabili nella norma · Δ,1 . Dimostrazione. Per dimostrare la stabilità dello schema upwind (7.20) lo riscriviamo nella forma seguente (avendo supposto a > 0) un+1 = unj − λa(unj − unj−1 ). j Allora un+1 Δ,1 ≤ h
|(1 − λa)unj | + h
j
|λaunj−1 |.
j
Nell’ipotesi (7.28) entrambi i valori λa e 1 − λa sono non negativi. Pertanto: un+1 Δ,1 ≤ h(1 − λa) |unj | + hλa |unj−1 | = un Δ,1 . j
j
Dunque la disuguaglianza (7.25) è valida con C T = 1. Lo schema è dunque fortemente stabile rispetto alla norma · Δ = · Δ,1 . Per lo schema di Lax-Friedrichs, sempre nell’ipotesi (7.28), dalla (7.16) discende = un+1 j
1 1 (1 − λa)unj+1 + (1 + λa)unj−1 , 2 2
dunque un+1 Δ,1
≤ ≤
⎤ ⎡ 1 ⎣ (1 + λa)unj−1 ⎦ (1 − λa)unj+1 + h 2 j j 1 1 (1 − λa)un Δ,1 + (1 + λa)un Δ,1 = un Δ,1 . 2 2
Per lo schema di Lax-Wendroff la dimostrazione è analoga (si veda ad esempio [QV94, Cap. 14] o [Str89]).
7.4 Analisi dei metodi alle differenze finite
223
Si può infine verificare che, se la condizione CFL è verificata, lo schema upwind soddisfa un Δ,∞ ≤ u0 Δ,∞ ∀n ≥ 0, (7.30) ovvero è fortemente stabile nella norma · Δ,∞ . La relazione (7.30) è detta principio di massimo discreto (si veda l’Esercizio 4). Teorema 7.2 Lo schema di Eulero all’indietro è fortemente stabile nella norma || · ||Δ,2 , senza alcuna restrizione su Δt. Quello di Eulero in avanti, invece, non è mai fortemente stabile. Tuttavia esso è stabile con costante C T = eT /2 pur di assumere che Δt soddisfi la seguente condizione (più restrittiva della condizione CFL) 2 h Δt ≤ . (7.31) a Dimostrazione. Osserviamo che (B − A)B =
1 2 (B − A2 + (B − A)2 ) ∀A, B ∈ R. 2
(7.32)
Infatti: (B − A)B = (B − A)2 + (B − A)A =
1 ((B − A)2 + (B − A)(B + A)). 2
si trova Moltiplicando la (7.22) per u n+1 j n+1 n+1 )2 + (un+1 − unj )2 = (unj )2 − λa(un+1 . (un+1 j j j+1 − uj−1 )uj
Osservando che
n+1 n+1 (un+1 =0 j+1 − uj−1 )uj
j∈Z
(essendo una somma telescopica), si ottiene subito che ||u n+1 ||2Δ,2 ≤ ||un ||2Δ,2 , che è il risultato cercato. Moltiplichiamo ora la (7.14) per u nj . Osservando che (B − A)A =
1 2 (B − A2 − (B − A)2 ) ∀A, B ∈ R, 2
troviamo )2 = (unj )2 + (un+1 − unj )2 − λa(unj+1 − unj−1 )unj . (un+1 j j D’altro canto dalla (7.14) otteniamo che un+1 − unj = − j
λa n (u − unj−1 ) 2 j+1
(7.33)
224
7 Differenze finite per equazioni iperboliche
e dunque (un+1 )2 j
=
(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 somma telescopica (e pertanto non fornisce alcun contributo) si ottiene, dopo aver moltiplicato per h, un+1 2Δ,2
=
un 2Δ,2
+
λa 2
2 h (unj+1 − unj−1 )2 , j∈Z
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 + λ2 a2 )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.
7.4.3 Analisi di Von Neumann e coefficienti di amplificazione La stabilità di una schema nella norma || · || Δ,2 si può studiare anche con l’analisi di Von Neumann. A tal fine, facciamo l’ipotesi che la funzione u 0 (x) sia 2π-periodica e dunque si possa scrivere in serie di Fourier come segue u0 (x) =
∞ k=−∞
dove
αk eikx ,
(7.34)
7.4 Analisi dei metodi alle differenze finite
225
2π u0 (x) e−ikx dx
1 αk = 2π
0
è il k-esimo coefficiente di Fourier. Pertanto, u0j
∞
= u0 (xj ) =
αk eikjh ,
j = 0, ±1, ±2, · · ·
k=−∞
Si può verificare che applicando uno qualunque degli schemi alle differenze visti nella Sez. 7.3.1 si perviene alla seguente relazione ∞
unj =
αk eikjh γkn , j = 0, ±1, ±2, . . . ,
n ≥ 1.
(7.35)
k=−∞
Il numero γ k ∈ C è detto coefficiente d’amplificazione della k-esima frequenza (o armonica), e caratterizza lo schema in esame. Ad esempio, nel caso di Eulero in avanti centrato (EA/C) si trova u1j
aΔt ikh (e − e−ikh ) αk eikjh 1 − 2h k=−∞ ∞ aΔt ikjh i sin(kh) . 1− αk e = h =
∞
k=−∞
Pertanto, γk = 1 −
aΔt i sin(kh). h
Poiché, nel caso EA/C |γk | =
1+
2 2 12 aΔt sin(kh) , h
esistono valori di k per i quali |γ k | > 1. Pertanto per nessun valore di Δt e h lo schema è fortemente stabile. Procedendo in modo analogo per gli altri schemi si trovano i coefficienti riportati nella 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 caratteristiche di dissipazione e di dispersione.
226
7 Differenze finite per equazioni iperboliche Schema γk Eulero 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))
Tabella 7.1. Coefficiente d’amplificazione per i differenti schemi numerici presentati nella Sez. 7.3.1. Si ricorda che λ = Δt/h
Dimostriamo a tal fine il seguente risultato: Teorema 7.3 Se esiste un numero β ≥ 0, e un intero positivo m tale per cui, 1 per scelte opportune di Δt e h, si abbia |γ k | ≤ (1 + βΔt) m per ogni k, allora lo schema è stabile rispetto alla norma · Δ,2 con costante di stabilità C T = eβT /m . In particolare, se si può prendere β = 0 (e quindi |γ k | ≤ 1 ∀k) allora lo schema è fortemente stabile rispetto alla stessa norma.
Dimostrazione. Supporremo che il problema (7.1) sia posto sull’intervallo [0, 2π]. In tale 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), e un dato iniziale con uno sviluppo di Fourier −1
N 2
u0 (x) =
αk eikx .
(7.36)
k=− N 2
Si noti che u0 è una funzione periodica di periodicità 2π. Si avrà, grazie alla (7.35), −1
N 2
u0j
= u0 (xj ) =
−1
N 2
αk e
ikjh
k=− N 2
,
unj
=
αk γkn eikjh .
k=− N 2
Osserviamo che un 2Δ,2
=h
N −1 j=0
−1
N 2
k,m=− N 2
αk αm (γk γ m )n ei(k−m)jh .
7.4 Analisi dei metodi alle differenze finite
227
Essendo h
N −1
ei(k−m)jh = 2πδkm ,
−
j=0
N N ≤ k, m ≤ − 1, 2 2
(si veda, per esempio, [QSS00]) si trova −1
N 2
un 2Δ,2
= 2π
|αk |2 |γk |2n .
k=− N 2
Grazie all’ipotesi abbiamo un 2Δ,2
≤ (1 + βΔt)
2n m
−1
N 2
2π
2n
|αk |2 = (1 + βΔt) m u0 2Δ,2 , ∀n ≥ 0.
k=− N 2
Poiché 1 + βΔt ≤ eβΔt , si deduce che un Δ,2 ≤ e
βΔtn m
βT
u0 Δ,2 = e m u0 Δ,2 ∀n : nΔt ≤ T.
Ciò prova il Teorema.
Osservazione 7.4 Nel caso si richieda la stabilità forte, la condizione |γ k | ≤ 1 indicata 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, si ottiene ∀k, |γk | ≤ 1 se Δt ≤
h , |a|
(7.37)
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 LaxFriedrichs vale la (7.37). Lo schema di Eulero all’indietro centrato è invece incondizionatamente fortemente stabile nella norma · Δ,2 , essendo |γk | ≤ 1, per ogni k e per ogni possibile scelta di Δt e h, come già ottenuto per altra via nel Teorema 7.2. Nel caso del metodo di Eulero in avanti centrato si ha |γk |2 = 1 +
a2 Δt2 a2 Δt2 sin2 (kh) ≤ 1 + , 2 h h2
Se β > 0 è una costante tale che
k ∈ Z.
228
7 Differenze finite per equazioni iperboliche 1.2
Δt = 2 Δ t* Δt = 0.98 Δ t*
1
0.8
u0
2
0.6
0.4
0.2
0
1/3
2/3
1
x
0 0
0.5
1
1.5
2
2.5
Figura 7.4. La figura a destra mostra l’andamento di u Δ,2 , dove u è la soluzione dell’equazione (7.39) (con a = a0 = 1) ottenuta con il metodo EA/C, per due valori di Δt, uno inferiore e l’altro superiore al valore critico Δt∗ . A sinistra, il dato iniziale utilizzato n
Δt ≤ β
n
h2 a2
(7.38)
allora |γk | ≤ (1 + βΔt)1/2 . Pertanto applicando il Teorema 7.3 (con m = 2) si deduce che il metodo EA/C è stabile, seppure con una condizione più restrittiva della condizione CFL, come già dimostrato per altra via nel Teorema 7.2. Si può trovare una condizione di stabilità forte per il metodo di Eulero in avanti centrato nel caso si consideri l’equazione di trasporto e reazione ∂u ∂u +a + a0 u = 0, ∂t ∂x
(7.39)
con a0 > 0. In tal caso si ha infatti |γk |2 = 1 − 2a0 Δt + Δt2 a20 + λ2 sin2 (kh) ≤ 1 − 2a0 Δt + Δt2 a20 +
aΔt h
2
e quindi lo schema risulta essere fortemente stabile sotto la condizione Δt
0) v(x, t + Δt) − v(x, t) v(x, t) − v(x − h, t) +a = 0. Δt h
(7.43)
234
7 Differenze finite per equazioni iperboliche
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 C 4 rispetto a x e a t, v(x, t + Δt) − v(x, t) Δt Δt2 = vt + vtt + vttt + O(Δt3 ), Δt 2 6 a
v(x, t) − v(x − h, t) ah ah2 = avx − vxx + vxxx + O(h3 ), h 2 6
dove le derivate a secondo membro sono tutte valutate nel punto (x, t). Grazie alla (7.43) deduciamo che, in ogni punto (x, t), la funzione v soddisfa la relazione vt + avx = RU + O(Δt3 + h3 ),
(7.44)
con
1 1 (ah vxx − Δt vtt ) − (ah2 vxxx + Δt2 vttt ). 2 6 Derivando formalmente tale equazione rispetto a t, troviamo: RU =
vtt + avxt = RtU + O(Δt3 + h3 ). Derivandola invece rispetto a x, abbiamo: vxt + avxx = RxU + O(Δt3 + h3 ).
(7.45)
vtt = a2 vxx + RtU − aRxU + O(Δt3 + h3 )
(7.46)
Pertanto, il che ci consente di ottenere dalla (7.44) 1 Δt U (Rt − aRxU )+ O(Δt3 + h3 ), (7.47) vt + avx = μvxx − (ah2 vxxx + Δt2 vttt )− 6 2 con
1 ah(1 − (aλ)). (7.48) 2 Ricordiamo che λ = Δt/h. Derivando ora formalmente la (7.46) rispetto a t, quindi la (7.45) rispetto a x, troviamo: μ=
vttt
=
U U a2 vxxt + Rtt − aRxt + O(Δt3 + h3 )
=
U U U + Rtt − aRxt + O(Δt3 + h3 ). −a3 vxxx + a2 Rxx
(7.49)
Abbiamo inoltre che RtU = RxU
1 Δt ah2 Δt2 ah vxxt − vttt − vxxxt − vtttt , 2 2 6 6
1 Δt ah2 Δt2 vttx − vxxxx − vtttx . = ah vxxx − 2 2 6 6
(7.50)
7.5 Equazioni equivalenti
Usando le relazioni (7.49) e (7.50) nella (7.47) otteniamo: a2 Δt2 ah2 3aΔt 1− vxxx vt + avx = μvxx − − 2 6 h 2h Δt Δt vttt − ah vxxt − aΔt vttx + -4 ./ 0 (A)
+
Δt (Δt2 vtttt − aΔt2 vtttx + ah2 vxxxt − a2 h2 vxxxx ) 12
−
a2 Δt2 U Δt2 U Δt2 U Rxx − Rtt + a R + O(Δt3 + h3 ). 6 6 6 xt
235
(7.51)
Interessiamoci ora delle derivate terze di v contenute nel termine (A). Grazie alla (7.49), alla (7.45) e alla (7.46), troviamo, rispettivamente: vttt = −a3 vxxx + r1 , vxxt = −a vxxx + r2 , vttx = a2 vxxx + r3 , essendo r1 , r2 ed r3 termini che contengono derivate di v di ordine non inferiore al quarto, nonché infinitesimi di ordine O(Δt 3 + h3 ). (Si osservi che dalla definizione di RU discende che le sue derivate di ordine due si esprimono attraverso derivate di v di ordine non inferiore al quarto.) Raccogliendo i coefficienti che moltiplicano v xxx , deduciamo pertanto dalla (7.51) che: vt + avx = μvxx + νvxxx + R4 (v) + O(Δt3 + h3 ),
(7.52)
essendo
ah2 (1 − 3aλ + 2(aλ)2 ), (7.53) 6 ed avendo indicato con R 4 (v) l’insieme dei termini contenenti le derivate di v di ordine non inferiore al quarto. Possiamo concludere che la funzione v soddisfa l’equazione ν=−
vt + avx = 0
(7.54)
se si trascurano i termini contenenti derivate di ordine superiore al primo, l’equazione vt + avx = μvxx
(7.55)
se si trascurano i termini contenenti derivate di ordine superiore al secondo, e l’equazione vt + avx = μvxx + νvxxx (7.56) se si trascurano le derivate di ordine superiore al terzo, essendo μ e ν definiti in (7.48) e (7.53). Le (7.54), (7.55) e (7.56) si chiamano equazioni equivalenti (al primo, secondo e terz’ordine, rispettivamente) relative allo schema upwind.
236
7 Differenze finite per equazioni iperboliche
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 qualunque schema numerico. Ad esempio, nel caso dello schema di Lax-Friedrichs, indicata con v un’ipotetica funzione che verifichi l’equazione (7.16) in ogni punto (x, t), osservato che ) 1( h2 v(x + h, t) + v(x − h, t) = v + vxx + O(h4 ), 2 2 ) h3 1( v(x + h, t) − v(x − h, t) = h vx + vxxx + O(h4 ), 2 6 otteniamo vt + avx = RLF + O
h4 Δt
+ Δt3 ,
(7.57)
questa volta essendo RLF =
h2 a h2 λ2 (vxx − λ2 vtt ) − (vxxx + vttt ). 2Δt 6 a
Procedendo come fatto in precedenza, calcoli tediosi consentono di dedurre dalla (7.57) le equazioni equivalenti (7.54)-(7.56), in questo caso essendo μ=
h2 ah2 (1 − (aλ)2 ), ν = (1 − (aλ)2 ). 2Δt 3
Nel caso dello schema di Lax-Wendroff le equazioni equivalenti sono caratterizzate dai seguenti parametri: μ = 0,
ν=
ah2 ((aλ)2 − 1). 6
7.5.3 Sul significato dei coefficienti nelle equazioni equivalenti In generale, nelle equazioni equivalenti, il termine μv xx rappresenta una dissipazione, mentre νvxxx una dispersione. Ce ne possiamo rendere conto in modo euristico esaminando la soluzione del problema vt + avx = μvxx + νvxxx , x ∈ R, t > 0, (7.58) k ∈ Z. v(x, 0) = eikx , 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
7.5 Equazioni equivalenti 2
v(x, t) = e−μk t eik[x−(a+νk
2
)t]
237
.
Confrontando queste due relazioni si vede che il modulo della soluzione viene abbattuto tanto maggiormente quanto più μ è grande. Tale effetto è tanto più rilevante quanto più la frequenza k è grande (fenomeno già rilevato, con argomentazioni in parte differenti, nella precedente sezione). Il termine μvxx nella (7.58) ha pertanto un effetto dissipativo sulla soluzione. Confrontando ancora fra loro le due espressioni precedenti, si vede che la presenza del termine ν modifica la velocità di propagazione della soluzione, aumentandola nel caso ν > 0, diminuendola se ν < 0. Anche in questo caso l’effetto è più rilevante ad alte frequenze. Quindi, il termine di derivata terza νv xxx introduce un effetto dispersivo. In generale, nell’equazione equivalente, derivate spaziali di ordine pari rappresentano termini diffusivi, mentre derivate di ordine dispari rappresentano termini dispersivi. Per gli schemi del prim’ordine (come l’upwind) l’effetto dispersivo è spesso poco visibile, in quanto mascherato da quello dissipativo. Prendendo Δt e h dello stesso ordine, dalla (7.55) e (7.56) si evince che ν