Capitolo 4 Approssimazione di PDE con il metodo della
by user
Comments
Transcript
Capitolo 4 Approssimazione di PDE con il metodo della
Capitolo 4 Approssimazione di PDE con il metodo della decomposizione di domini (DD) Prof. Alfio Quarteroni 4.1 Introduzione Sia Ω un dominio di dimensione d, per d = 2, 3, con frontiera Lipschitziana ∂Ω; si consideri su Ω il seguente problema differenziale: Lu = f in Ω, u=ϕ su ΓD , (4.1) ∂u = ψ su ΓN , ∂n dove L è un operatore ellittico su Ω (ad esempio, il Laplaciano o l’operatore di diffusione e trasporto), mentre ϕ, ψ sono due funzioni assegnate su ΓD e ΓN , rispettivamente, con ΓD ∪ ΓN = ∂Ω. Vogliamo calcolare una soluzione per il problema modello (4.1), utilizzando uno schema numerico efficiente. A tal fine, come primo passo, introduciamone un’approssimazione alla Galerkin. Utilizzeremo quindi le tecniche della decomposizione di domini (DD) per calcolare la soluzione di tale problema approssimato. L’idea alla base dei metodi DD è quella di suddividere il dominio globale Ω in due o più sottodomini su cui risolvere dei problemi di dimensione minore rispetto a quello iniziale, utilizzando possibilmente degli algoritmi paralleli. In particolare, esistono due modi differenti con cui fare una decomposizione del dominio Ω: si possono cioè considerare dei sotto-domini con o senza sovrapposizione (si veda la Figura 4.1). Tale scelta individuerà metodi differenti per la risoluzione del problema assegnato. 95 CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 96 Ω1 Γ Ω Ω2 PSfrag replacements Ω1 Γ 2 Γ Γ12 Ω Ω2 1 Figura 4.1: Esempi di partizione del dominio Ω senza e con sovrapposizione. Come lettura di riferimento per le tecniche di decomposizione di domini, rimandiamo, ad esempio, a [30, 41, 36, 25]. 4.2 Tre classici metodi iterativi basati su DD Introduciamo in questa sezione tre diversi schemi iterativi partendo dal problema modello (4.1) fatte le scelte ϕ = 0 e ΓN = ∅: trovare u : Ω → R tale che ( Lu = f in Ω, u=0 su ∂Ω, (4.2) con L operatore ellittico generico del second’ordine. 4.2.1 Il metodo di Schwarz Consideriamo una decomposizione del dominio Ω in due sotto-domini Ω 1 e Ω2 tali che Ω = Ω1 ∪ Ω2 , Ω1 ∩ Ω2 = Γ12 6= ∅ (si veda la Figura 4.1) e sia Γi = ∂Ωi \ (∂Ω ∩ ∂Ωi ). (0) Consideriamo il seguente metodo iterativo: dato u2 su Γ1 , si risolvano i seguenti problemi per k ≥ 1: (k) Lu1 = f in Ω1 , (k) (k−1) (4.3) u1 = u 2 su Γ1 , (k) u1 = 0 su ∂Ω1 \ Γ1 , PSfrag replacements 4.2. TRE CLASSICI METODI ITERATIVI BASATI SU DD 97 Ω2 γ2 a γ1 b Ω1 Figura 4.2: Esempio di decomposizione con sovrapposizione in dimensione 1. (k) Lu2 = f (k) (k) u2 = u 1 (k) u2 = 0 in Ω2 , (4.4) su Γ2 , su ∂Ω2 \ Γ2 . Abbiamo così due problemi ellittici con condizioni al bordo di Dirichlet per i due sotto-domini (k) (k) Ω1 e Ω2 , e vogliamo che le due successioni {u1 } e {u2 } tendano alle rispettive restrizioni della soluzione u del problema (4.2) quando k tende a infinito: (k) lim u1 = u|Ω1 e k→∞ (k) lim u2 = u|Ω2 . k→∞ Si può dimostrare che il metodo di Schwarz applicato al problema (4.2) converge sempre alla soluzione del problema di partenza, con una velocità che aumenta all’aumentare della misura |Γ12 | di Γ12 . Mostriamo questo risultato in un caso semplice monodimensionale. Esempio 4.1. Sia Ω = (a, b) e siano γ1 , γ2 ∈ (a, b) tali che a < γ2 < γ1 < b (si veda la Figura 4.2). I due problemi (4.3) e (4.4) diventano (k) Lu1 = f a < x < γ1 , (k) (k−1) (4.5) u1 = u 2 x = γ1 , (k) u1 = 0 x = a, (k) Lu2 = f γ2 < x < b, (k) (k) u2 = u 1 x = γ 2 , (k) u2 = 0 x = b. Per dimostrare la convergenza di tale schema, consideriamo il problema semplificato ( −u00 (x) = 0 a < x < b, u(a) = u(b) = 0, (4.6) (4.7) ovvero il problema modello (4.2) con L = −d2 /dx2 e f = 0, la cui soluzione è evidentemente u = 0 in (a, b). (1) (1) Sia k = 1; dal momento che (u1 )00 = 0, u1 (x) è una funzione lineare e, in particolare, coincide (0) con la retta che assume il valore zero in x = a e u2 in x = γ1 . Conoscendo dunque il valore PSfrag replacements CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 98 (0) u2 (1) u1 (2) u1 a γ2 (1) u2 (2) u2 γ1 b Figura 4.3: Alcune iterazioni del metodo di Schwarz per il problema (4.7). (1) di u1 in γ2 si può risolvere il problema (4.6) che, a sua volta, è caratterizzato da una soluzione lineare. Si procede poi in modo analogo. Mostriamo in Figura 4.3 alcune iterazioni: si vede chiaramente che il metodo converge e che la velocità di convergenza si riduce al ridursi della lunghezza dell’intervallo (γ2 , γ1 ). • Osserviamo che il metodo iterativo di Schwarz (4.3)-(4.4) richiede, ad ogni passo, la risoluzione di due sotto-problemi con condizioni al bordo dello stesso tipo di quelle del problema di partenza: infatti si parte da un problema con condizioni di Dirichlet omogenee in Ω e si risolvono due problemi con condizioni al bordo ancora di Dirichlet su Ω1 e Ω2 . Se il problema differenziale (4.2) fosse stato completato invece da una condizione di tipo Neumann su tutto il bordo ∂Ω, ci si sarebbe ricondotti alla risoluzione di un problema misto (di tipo Dirichlet-Neumann) su ciascuno dei sotto-domini Ω1 e Ω2 . 4.2.2 Il metodo di Dirichlet-Neumann Decomponiamo ora il dominio Ω in due sotto-domini senza sovrapposizione (si veda la Figura 4.1): siano dunque Ω1 , Ω2 ⊂ Ω, tali che Ω1 ∪ Ω2 = Ω, Ω1 ∩ Ω2 = Γ e Ω1 ∩ Ω2 = ∅. Nel seguito indicheremo con ni la normale esterna al dominio Ωi , utilizzando la seguente convenzione n = n1 = −n2 . Si può dimostrare il seguente risultato (si veda [30]): Teorema 4.1 (d’equivalenza). La soluzione u del problema (4.2) è tale che u |Ωi = ui per i = 1, 2, dove ui è la soluzione del problema ( Lui = f in Ωi , (4.8) ui = 0 su ∂Ωi \ Γ, con condizioni di interfaccia e u1 = u 2 (4.9) ∂u2 ∂u1 = ∂nL ∂nL (4.10) su Γ, avendo indicato con ∂/∂nL la derivata conormale. 4.2. TRE CLASSICI METODI ITERATIVI BASATI SU DD 99 Grazie a tale risultato di equivalenza, si può decomporre il problema (4.2) utilizzando le condizioni di accoppiamento (4.9)-(4.10) come condizioni al bordo sull’interfaccia Γ. In particolare si (0) può costruire il seguente metodo iterativo: assegnato u2 su Γ, si risolvano i seguenti problemi per k ≥ 1: (k) Lu1 = f in Ω1 , (k) (k−1) (4.11) u1 = u 2 su Γ, (k) u1 = 0 su ∂Ω1 \ Γ, (k) Lu2 = f in Ω2 , (k) (k) ∂u1 ∂u2 = su Γ, ∂n ∂n (k) u2 = 0 su ∂Ω2 \ Γ. (4.12) Si è utilizzata la (4.9) come condizione di Dirichlet su Γ per il sotto-problema associato a Ω 1 e la (4.10) come condizione di Neumann su Γ per il problema assegnato su Ω 2 . Si nota dunque che, a differenza del metodo di Schwarz, il metodo di Dirichlet-Neumann introduce un problema di Neumann sul secondo sotto-dominio Ω 2 . La soluzione del problema di partenza è dunque ottenuta risolvendo, successivamente, un problema di Dirichlet e un problema misto sui due sotto-domini. Inoltre il Teorema di equivalenza 4.1 garantisce che, se le successioni (k) (k) {u1 } e {u2 } convergono, allora convergono sempre alla soluzione esatta del problema (4.2). Il metodo di Dirichlet-Neumann è dunque consistente. Tuttavia la convergenza di tale metodo non è sempre garantita. Andiamo a verificarlo con l’aiuto di un semplice esempio. Esempio 4.2. Sia Ω = (a, b), γ ∈ (a, b), L = −d2 /dx2 e f = 0. Si hanno dunque i due seguenti sotto-problemi: (k) −(u1 )00 = 0 a < x < γ, (k) (k−1) (4.13) u1 = u 2 x = γ, (k) u1 = 0 x = a, (k) −(u2 )00 = 0 γ < x < b, (k) (k) (4.14) (u2 )0 = (u1 )0 x = γ, (k) u2 = 0 x = b. Procedendo come nell’Esempio 4.1, si può dimostrare che le successioni ottenute convergono solamente se γ > (a + b)/2 come mostrato nelle Figure 4.4 e 4.5. • In generale, per i problemi di dimensione generica d > 1, si deve avere che la misura del sottodominio Ω1 sia più grande di quella del dominio Ω2 al fine di garantire la convergenza del metodo (4.11)-(4.12). Tuttavia questo rappresenta un vincolo molto forte e difficile da soddisfare, soprattutto nel momento in cui si debbano utilizzare parecchi sotto-domini. CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 100 (0) u2 PSfrag replacements (2) u2 a+b 2 a γ b (1) u2 Figura 4.4: Esempio di iterazione convergente per il metodo di Dirichlet-Neumann in 1D. (0) u2 PSfrag replacements a γ a+b 2 b (1) u2 Figura 4.5: Esempio di iterazione non convergente per il metodo di Dirichlet-Neumann in 1D. 4.2. TRE CLASSICI METODI ITERATIVI BASATI SU DD 101 Tale limitazione viene superata introducendo una variante del metodo iterativo Dirichlet-Neumann, rimpiazzando la condizione di Dirichlet (4.11)2 nel primo sotto-problema con la seguente (k) (k−1) u1 = θu2 (k−1) + (1 − θ)u1 su Γ, (4.15) introducendo cioè un rilassamento che dipende da un parametro positivo θ. Si osservi che in questo modo è sempre possibile ridurre l’errore da un’iterata alla successiva. Nel caso rappresentato in Figura 4.5 si può facilmente dimostrare che, se si sceglie (k−1) θopt = − u1 (k−1) u2 (k−1) − u1 , il metodo converge in una sola iterata. Più in generale si può dimostrare che, in dimensione 1 e 2, esiste un intervallo in cui scegliere il parametro θ in modo da garantire la convergenza del metodo di Dirichlet-Neumann e, in particolare, è possibile determinare un valore massimo θmax < 1 per il parametro di rilassamento tale che l’intervallo di cui sopra sia (0, θmax ). 4.2.3 Il metodo di Neumann-Neumann Si consideri ancora una partizione del dominio Ω senza sovrapposizione e sia λ il valore della soluzione u in corrispondenza dell’interfaccia Γ. Introduciamo lo schema iterativo seguente: dato λ(0) su Γ, si risolvano i seguenti problemi per k ≥ 0: (k+1) = f in Ωi , −4ui (k+1) (4.16) ui = λ(k) su Γ, (k+1) ui =0 su ∂Ωi \ Γ, (k+1) =0 in Ωi , −4ψi (k+1) (k+1) (k+1) ∂u1 ∂u2 ∂ψi (4.17) = − su Γ, ∂n ∂n ∂n (k+1) ψi =0 su ∂Ωi \ Γ, con (k+1) (k+1) , (4.18) λ(k+1) = λ(k) − θ σ1 ψ1|Γ − σ2 ψ2|Γ essendo θ un parametro d’accelerazione positivo, σ1 e σ2 due coefficienti positivi. Esempio 4.3. Fatte per i dati le stesse scelte dell’Esempio 4.2, si risolvono ora i seguenti quattro sotto-problemi: (k+1) 00 −(u1 ) = 0 a < x < γ, (k+1) (4.19) u1 = λ(k) x = γ, (k+1) u1 =0 x = a, CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 102 (k+1) 00 −(u2 ) = 0 γ < x < b, (k+1) u2 = λ(k) x = γ, (k+1) u2 =0 x = b, con (k+1) 00 −(ψ1 ) =0 (k+1) 0 (k+1) 0 (k+1) 0 (ψ1 ) = (u1 ) − (u2 ) (k+1) ψ1 =0 (k+1) 00 −(ψ2 ) =0 (k+1) 0 (k+1) 0 (k+1) 0 (ψ2 ) = (u1 ) − (u2 ) (k+1) ψ2 =0 a < x < γ, x = γ, (4.21) x = a, γ < x < b, x = γ, (4.22) x = b, (k+1) (k+1) λ(k+1) = λ(k) − θ σ1 ψ1 − σ 2 ψ2 θ, σ1 e σ2 definiti come sopra. (4.20) x = γ, (4.23) • 4.3 Formulazione multi-dominio del problema di Poisson ed equazioni di interfaccia In questa sezione scegliamo L = −4 e consideriamo il problema di Poisson con condizioni al bordo di Dirichlet omogenee: ( −4u = f in Ω, (4.24) u=0 su ∂Ω. Il Teorema di equivalenza 4.1 ci permette di riscrivere questo problema nella formulazione multidominio seguente: −4u1 = f in Ω1 , u1 = 0 su ∂Ω1 \ Γ, −4u2 = f in Ω2 , (4.25) u2 = 0 su ∂Ω2 \ Γ, u1 = u 2 su Γ, ∂u1 = ∂u2 su Γ. ∂n ∂n 4.3.1 L’operatore di Steklov-Poincaré Indichiamo ora con λ il valore incognito della soluzione u del problema (4.24) sull’interfaccia Γ, cioè λ = u|Γ . Se si conoscesse a priori il valore di λ su Γ, si potrebbero risolvere i due problemi 4.3. FORMULAZIONE MULTI-DOMINIO 103 seguenti con condizioni al bordo di Dirichlet, in corrispondenza di Γ, pari a λ: −4wi = f in Ωi (i = 1, 2), wi = 0 su ∂Ωi \ Γ, wi = λ su Γ. (4.26) Si noti che tali problemi possono essere risolti indipendentemente uno dall’altro. Il problema è dunque come ottenere il valore di λ su Γ. Possiamo scomporre intanto le funzioni wi , soluzioni di (4.26), nel seguente modo: wi = wi∗ + u0i , dove wi∗ e u0i sono le soluzioni dei due problemi −4wi∗ = f in Ωi (i = 1, 2), wi∗ = 0 su ∂Ωi ∩ ∂Ω, ∗ wi = 0 su Γ, e (4.27) −4u0i = 0 in Ωi (i = 1, 2), su ∂Ωi ∩ ∂Ω, u0i = 0 0 ui = λ su Γ, (4.28) rispettivamente. Osserviamo che le funzioni wi∗ (i = 1, 2) dipendono solamente dal dato f , mentre u0i (i = 1, 2) dipende soltanto dal valore λ su Γ. Inoltre, entrambe queste dipendenze sono lineari, e quindi possiamo scrivere wi∗ come wi∗ = Gi f , con Gi operatore lineare, e u0i come u0i = Hi λ, essendo Hi l’operatore d’estensione armonico di λ sul dominio Ωi , per i = 1, 2. Ora, confrontando formalmente il problema (4.25) con (4.26), si osserva che l’uguaglianza ui = wi∗ + u0i (i = 1, 2) vale se e solamente se le funzioni wi soddisfano la condizione (4.25)6 sulle derivate normali su Γ, ovvero se e solamente se ∂w1 ∂w2 = su Γ. ∂n ∂n Utilizzando le notazioni introdotte sopra, possiamo riscrivere quest’ultima condizione come ∂ ∂ (w1∗ + u01 ) = (w ∗ + u02 ), ∂n ∂n 2 ovvero e quindi ∂ ∂ (G1 f + H1 λ) = (G2 f + H2 λ), ∂n ∂n ∂H1 ∂H2 − ∂n ∂n λ= ∂G2 ∂G1 − ∂n ∂n f su Γ. CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 104 λ H1 λ H2 λ l1 a Ω1 γ l2 Ω2 b Figura 4.6: Estensioni armoniche in una dimensione. Abbiamo ottenuto in tal modo un’equazione sull’interfaccia Γ per l’incognita λ, nota come equazione d’interfaccia di Steklov-Poincaré, espressa, in forma più compatta, come Sλ = χ su Γ. (4.29) S è l’operatore pseudo-differenziale di Steklov-Poincaré definito formalmente come 2 X ∂ ∂ ∂ Hi µ, H1 µ − H2 µ = Sµ := ∂n ∂n ∂n i i=1 (4.30) mentre χ è un funzionale lineare dipendente dai dati del problema: 2 χ := X ∂ ∂ ∂ G2 f − G1 f = − Gi f. ∂n ∂n ∂n i i=1 (4.31) Ricordiamo che ni è la normale esterna al sotto-dominio Ωi , per i = 1, 2. ∂ Si noti che S = S1 + S2 , dove Si = Hi , per i = 1, 2. ∂ni Esempio 4.4. Consideriamo un caso semplice monodimensionale per fornire un esempio di operatore S. Sia Ω = (a, b) ⊂ R come illustrato in Figura 4.6 e Lu = −u00 . Se suddividiamo Ω in due sotto-domini senza sovrapposione, l’interfaccia Γ si riduce ad un punto solo γ ∈ (a, b), e l’operatore di Steklov-Poincaré S diventa dH1 dH2 1 1 Sλ = λ= + λ, − dx dx l1 l2 con l1 = γ − a e l2 = b − γ. • Usando la formula di Green si può fornire la seguente caratterizzazione variazionale dell’operatore di Steklov-Poincaré: < Si λ, µ >= ai (Hi λ, Hi µ), 1/2 (4.32) ∀λ, µ ∈ Λ. (4.33) ∀λ, µ ∈ Λ = H00 (Γ) per i = 1, 2. Pertanto < Sλ, µ >= 2 X i=1 ai (Hi λ, Hi µ), 4.3. FORMULAZIONE MULTI-DOMINIO 105 4.3.2 Proprietà dell’operatore di Steklov-Poincaré Sia Ωi ⊂ Rd un dominio limitato e Lipschitziano, con i = 1, 2. Definiamo lo spazio Vi = {v ∈ H 1 (Ωi )| v = 0 su ∂Ωi \ Γ}. Teorema 4.2 (Disuguaglianza di Poincaré). ∀v ∈ Vi kvk2L2 (Ωi ) ≤ CΩi k∇vk2L2 (Ωi ) . (4.34) Corollario 4.1. ( p 1 + CΩi )−1 kvkH 1 (Ωi ) ≤ k∇vkL2 (Ωi ) ≤ kvkH 1 (Ωi ) , ∀v ∈ Vi . (4.35) Per ogni funzione v ∈ H 1 (Ωi ) è possibile definire l’operatore di traccia γ : Vi → L2 (Γ) t.c. γw = w|Γ ∀w ∈ C 0 (Ω) ∩ Vi . È noto che, se d > 1, H 1 (Ω) * C 0 (Ω) ma tale definizione può essere estesa per densità, ovvero esiste un operatore γ continuo tale che kv|Γ kL2 (Γ) = kγvkL2 (Γ) ≤ CkvkH 1 (Ωi ) . Inoltre, poiché γ(Vi ) ( L2 (Γ), si definisce l’immagine di γ in L2 (Γ) introducendo lo spazio di traccia Λ = Im(γ). Si può dimostrare che Λ ⊂ L2 (Γ) e che è possibile definire una norma sullo spazio Λ kηkΛ := inf kvkH 1 (Ωi ) v∈Vi v|Γ =η rispetto alla quale (Λ, k · kΛ ) sia uno spazio di Banach. L’operatore γ : Vi → Λ è continuo rispetto a tale norma, cioè si ha che ∃C > 0 : kv|Γ kΛ ≤ CkvkH 1 (Ωi ) , ∀v ∈ H 1 (Ωi ). Consideriamo ora alcune proprietà del rilevamento armonico Hi η. Si consideri il problema armonico seguente −4(Hi η) = 0 in Ωi , Hi η = η su Γ, Hi η = 0 su ∂Ωi \ Γ. (4.36) La forma debole associata è data da: trovare Hi η ∈ Vi , con Hi η = η su Γ ed η ∈ Λ, tale che Z ∇(Hi η) · ∇v dΩi = 0 ∀v ∈ Vi0 , (4.37) Ωi dove Vi0 = {v ∈ H 1 (Ωi )|v = 0 su ∂Ωi }. CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 106 Teorema 4.3 (Teorema di estensione). Esistono due costanti C1 , C2 > 0 tali che C1 kηkΛ ≤ kHi ηkH 1 (Ωi ) ≤ C2 kηkΛ i = 1, 2, ∀η ∈ Λ. (4.38) Dimostrazione. Grazie alla (4.36)2 , si ha che γ(Hi η) = Hi η |Γ = η e dunque la disuguaglianza a sinistra segue dalla continuità di γ: kηkΛ ≤ CkHi ηkH 1 (Ωi ) . D’altro canto, poiché η ∈ Λ = Im(γ), esiste una funzione u∗ ∈ H 1 (Ωi ) tale che γu∗ = η. Possiamo allora riscrivere Hi η come la somma Hi η = u∗ + u0 , essendo u0 una funzione di H01 (Ωi ) tale che γu0 = 0. La forma debole del problema (4.36) può essere riformulata come: trovare u0 ∈ H01 (Ωi ) tale che Z Z 0 ∇u · ∇v dΩi = − ∇u∗ · ∇v dΩi ∀v ∈ H01 (Ωi ). Ωi Ωi Sia v = u0 ; dunque k∇u0 k2L2 (Ωi ) =− Z ∇u∗ · ∇u0 dΩi . Ωi Grazie alla disuguaglianza di Poincaré (4.34), si ha 1 ku0 k2H 1 (Ωi ) ≤ k∇u∗ kL2 (Ωi ) k∇u0 kL2 (Ωi ) ≤ ku∗ kH 1 (Ωi ) ku0 kH 1 (Ωi ) , 1 + C Ωi e dunque ku0 kH 1 (Ωi ) ≤ (1 + CΩi )ku∗ kH 1 (Ωi ) . Ma kHi ηkH 1 (Ωi ) = ku0 + u∗ kH 1 (Ωi ) ≤ ku0 kH 1 (Ωi ) + ku∗ kH 1 (Ωi ) ≤ (2 + CΩi )ku∗ kH 1 (Ωi ) e tale disuguaglianza è vera per ogni u∗ ∈ Vi tale che u∗ |Γ = η. Da ciò segue kHi ηkH 1 (Ωi ) ≤ (2 + CΩi ) inf ku∗ kH 1 (Ωi ) = (2 + CΩi )kηkΛ . ∗ u ∈Vi u∗ |Γ =η Come abbiamo visto, l’operatore di Steklov-Poincaré S può essere riscritto come la somma di due operatori S1 e S2 tali che Si : η ∈ Λ → ∂ (Hi η) ∈ Λ0 ∂ni Definiamo la forma bilineare seguente su Λ: Z ∂ < Si η, µ >:= µ (Hi η) dγ ∂ni Γ i = 1, 2. ∀η, µ ∈ Λ. 4.3. FORMULAZIONE MULTI-DOMINIO 107 Scriviamo la formulazione debole del problema (4.36) scegliendo una funzione test v ∈ V i : trovare Hi η ∈ Vi tale che Z ∇(Hi η) · ∇v dΩi = Ωi Z Γ ∂ (Hi η) v dγ. ∂ni (4.39) Per ogni µ ∈ Λ, esiste Ri µ ∈ Vi tale che Ri µ|Γ = µ. Scegliendo allora v = Ri µ e grazie alla (4.39), si ha Z < Si η, µ >= ∇(Hi η) · ∇(Ri µ) dΩi , (4.40) Ωi e dunque < Sη, µ >= 2 X < Si η, µ >= i=1 2 Z X i=1 ∇(Hi η) · ∇(Ri µ) dΩi . (4.41) Ωi Infine, essendo Ri un operatore d’estensione qualsiasi, possiamo fare la scelta particolare R i = Hi , da cui: Z < Si η, µ >= ∇(Hi η) · ∇(Hi µ) dΩi . (4.42) Ωi Proprietà 4.1. La forma bilineare (4.42) è simmetrica, coerciva e continua. Dimostrazione. La simmetria è evidente. Per quanto riguarda la coercività, grazie alla (4.35) ed alla (4.38), si ha < Si η, η > = k∇(Hi η)k2L2 (Ωi ) ≥ 1 2 kHi ηk2H 1 (Ωi ) ≥ kηk2Λ , 1 + C Ωi 1 + C Ωi ovvero < Si η, η > ≥ αkηk2Λ ∀η ∈ Λ, dove α è la costante positiva α := 2 . 1 + C Ωi Infine, grazie ancora a (4.38), < Si η, µ >= Z ∇(Hi η) · ∇(Hi µ) dΩi ≤ k∇(Hi η)kL2 (Ωi ) k∇(Hi µ)kL2 (Ωi ) Ωi ≤ C22 kηkΛ kµkΛ e dunque la forma è continua con costante di continuità β = C22 > 0. ∀η, µ ∈ Λ, CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 108 4.3.3 Equivalenza tra il metodo di Dirichlet-Neumann e il metodo di Richardson Il metodo di Dirichlet-Neumann può essere reinterpretato come un metodo iterativo di Richardson precondizionato per risolvere l’equazione d’interfaccia di Steklov-Poincaré. Consideriamo ancora un dominio Ω suddiviso in due sotto-domini senza sovrapposizione Ω 1 e Ω2 con interfaccia Γ. Nella Sezione 4.2.2 abbiamo considerato il metodo di Dirichlet-Neumann, e dopo aver introdotto l’equazione d’interfaccia di Steklov-Poincaré abbiamo anticipato che tale metodo è equivalente allo schema di Richardson applicato alla risoluzione dell’equazione di Steklov-Poincaré su Γ. Vogliamo dimostrare ora tale risultato di equivalenza sul problema di Laplace. Ricordiamo innanzitutto il metodo di Dirichlet-Neumann: dato λ0 , si risolva, per k ≥ 1, (k) −4u1 = f1 in Ω1 , (k) (4.43) u1 = λ(k−1) su Γ, (k) u1 = 0 su ∂Ω1 \ Γ, (k) −4u2 = f2 in Ω2 , (k) (k) ∂u2 ∂u1 = su Γ, ∂n2 ∂n2 (k) u2 = 0 su ∂Ω2 \ Γ, (k) λ(k) = θu2 |Γ + (1 − θ)λ(k−1) . (4.44) (4.45) Ricordiamo anche il metodo di Richardson precondizionato per l’equazione d’interfaccia di Steklov-Poincaré (4.29): P (λ(k) − λ(k−1) ) = θ(χ − Sλ(k−1) ), (4.46) essendo P un precondizionatore opportuno. Si ha il risultato seguente: Teorema 4.4. Il metodo di Dirichlet-Neumann (4.43)-(4.45) è equivalente al metodo di Richardson precondizionato (4.46) con precondizionatore P = S 2 = ∂(H2 µ)/∂n2 . In versione algebrica tale metodo è equivalente allo schema di Richardson precondizionato Ph (λ(k) − λ(k−1) ) = θ(χΓ − Σλ(k−1) ), con precondizionatore Ph = Σ2 . Dimostrazione. Consideriamo innanzitutto il caso differenziale. Abbiamo già visto che la solu(k) zione u1 di (4.43) può essere scritta come (k) u1 = H1 λ(k−1) + G1 f1 . (4.47) 4.3. FORMULAZIONE MULTI-DOMINIO 109 Inoltre G2 f2 soddisfa il problema differenziale ( −4(G2 f2 ) = f2 in Ω2 , G2 f2 = 0 su ∂Ω2 . (k) (k) Dunque, dalla (4.44) si ha che u2 − G2 f2 soddisfa l’equazione −4(u2 − G2 f2 ) = 0 sul (k) dominio Ω2 , assieme alla condizione u2 − G2 f2 = 0 su ∂Ω2 \ Γ, e (k) ∂ ∂u ∂ (k) (u2 − G2 f2 ) = 2 − (G2 f2 ) ∂n2 ∂n2 ∂n2 (k) (k) = ∂ ∂u ∂ ∂u1 − (G2 f2 ) = − 1 + (G2 f2 ) ∂n2 ∂n2 ∂n ∂n su Γ, (k) con n = n1 = −n2 , essendo ni la normale esterna al dominio Ωi . Si ha allora che u2 − G2 f2 è la soluzione del problema differenziale (k) −4(u2 − G2 f2 ) = 0 in Ω2 , (k) ∂ ∂u1 ∂ (k) (4.48) (u − G f ) = − + (G2 f2 ) su Γ, 2 2 2 ∂n ∂n ∂n 2 (k) u2 − G 2 f 2 = 0 su ∂Ω2 \ Γ. (k) (k) In particolare u2 |Γ = (u2 − G2 f2 )|Γ . Ora ricordiamo che S i : µ |Γ → ∂ (Hi µ)|Γ ∂ni (i = 1, 2), cioè che l’operatore di Steklov-Poincaré ci permette di passare da un dato di Dirichlet ad un dato di Neumann su Γ. Il suo inverso Si−1 , partendo da un dato di Neumann, ci fornisce invece un dato di Dirichlet su Γ. Si può esprimere ciò dicendo anche che S2−1 η = µ se esiste w tale che w|Γ = µ e w è la soluzione del seguente problema: −4w = 0 in Ω2 , ∂w (4.49) = η su Γ, ∂n 2 w=0 su ∂Ω2 \ Γ. Allora, se si pone (k) ∂u1 ∂ + (G2 f2 ), ∂n ∂n e se si confronta la (4.48) con la (4.49), si può concludere che η=− (k) u2 (k) |Γ = (u2 − G2 f2 )|Γ = S2−1 ! (k) ∂ ∂u1 + (G2 f2 ) . − ∂n ∂n CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 110 Ma, grazie alla (4.47), si ottiene ∂ ∂ ∂ (k) −1 (k−1) u2 |Γ = S 2 − (H1 λ )− (G1 f1 ) + (G2 f2 ) = S2−1 (−S1 λ(k−1) + χ), ∂n ∂n ∂n ricordata la definizione (4.31) di χ. Utilizzando la (4.45), possiamo dunque scrivere che λ(k) = θ S2−1 (−S1 λ(k−1) + χ) + (1 − θ)λ(k−1) λ(k) − λ(k−1) = θ S2−1 (−S1 λ(k−1) + χ) − λ(k−1) . Ma −S1 = S2 − S, dunque λ(k) − λ(k−1) = θ S2−1 ((S2 − S)λ(k−1) + χ) − λ(k−1) = θS2−1 (χ − Sλ(k−1) ), ovvero S2 (λ(k) − λ(k−1) ) = θ(χ − Sλ(k−1) ). 4.4 Approssimazione con elementi finiti del problema di Poisson e formulazione per sotto-domini In questa sezione introduciamo l’approssimazione discreta del problema (4.24) basata sullo schema degli elementi finiti, e studiamo la forma algebrica della corrispondente formulazione multi-dominio (4.25) e dell’equazione d’interfaccia di Steklov-Poincaré (4.29). Innanzitutto identifichiamo V con lo spazio H01 (Ω) definito in (1.50). Dal Capitolo 1, ne segue che, indicata con Th una triangolazione del dominio Ω, la formulazione alla Galerkin del problema (4.24) può essere scritta come trovare uh ∈ Vh : a(uh , vh ) = F (vh ) con a(w1 , w2 ) = Z ∀vh ∈ Vh , ∇w1 · ∇w2 dΩ ∀w1 , w2 ∈ V, (4.50) (4.51) Ω F (v) = Z f v dΩ ∀v ∈ V, (4.52) Ω k h = vh ∈ Xhk : vh |∂Ω = 0 spazio degli elementi finiti di grado k con base {ϕj }N Vh = Xh,∂Ω j=1 . (1) Introduciamo la partizione seguente dei nodi del dominio Ω: siano {x j , 1 ≤ j ≤ N1 } i nodi (2) (Γ) ubicati dentro il sotto-dominio Ω1 , {xj , 1 ≤ j ≤ N2 } quelli in Ω2 e, infine, {xj , 1 ≤ j ≤ NΓ } quelli posizionati sull’interfaccia Γ. Ripartiamo in modo analogo anche le funzioni di base: 4.4. APPROSSIMAZIONE CON ELEMENTI FINITI 111 (1) (1) (2) indicheremo dunque con ϕj le funzioni di base associate ai nodi xj , con ϕj quelle associate (2) (Γ) (Γ) ai nodi xj , e con ϕj quelle relative ai nodi xj di interfaccia. Ciò significa che δij 1 ≤ i, j ≤ Nα se α = β, (α) (β) ϕj (xj ) = 0 se α 6= β, con α, β = 1, 2, Γ, e δij il simbolo di Kronecker. Scelto ora in (4.50) vh coincidente con una funzione test, possiamo dare la seguente formulazione equivalente della (4.50): trovare uh ∈ Vh tale che (1) (1) a(uh , ϕi ) = F (ϕi ) ∀i = 1, . . . , N1 (2) (2) (4.53) a(uh , ϕj ) = F (ϕj ) ∀j = 1, . . . , N2 (Γ) (Γ) a(uh , ϕk ) = F (ϕk ) ∀k = 1, . . . , NΓ . Sia ora ai (v, w) := Z ∇v · ∇w dΩ ∀v, w ∈ V, i = 1, 2 Ωi la restrizione della forma bilineare a(., .) al sotto-dominio Ωi e Vi,h = {v ∈ H 1 (Ωi ) | v = 0 su ∂Ωi \ Γ} (i = 1, 2). Analogamente sia Fi la restrizione del funzionale lineare F al sotto(i) dominio Ωi , per i = 1, 2. Indichiamo infine con uh = uh|Ωi la restrizione di uh al sotto-dominio Ωi , con i = 1, 2. (2) (1) Il problema (4.53) può così essere riscritto nella forma equivalente: trovare u h ∈ V1,h , uh ∈ V2,h tali che (1) (1) (1) ∀i = 1, . . . , N1 , a1 (uh , ϕi ) = F1 (ϕi ) (2) (2) (2) ∀j = 1, . . . , N2 a2 (uh , ϕj ) = F2 (ϕj ) (4.54) (1) (Γ) (2) (Γ) a1 (uh , ϕk |Ω1 ) + a2 (uh , ϕk |Ω2 ) = F (ϕ(Γ) | ) + F (ϕ(Γ) | ) ∀k = 1, . . . , NΓ . 1 2 k Ω1 k Ω2 Si osservi che la condizione (4.25)5 di continuità della soluzione all’interfaccia è automatica(i) mente verificata grazie alla definizione delle funzioni uh . Osserviamo inoltre che le equazioni (4.54)1 -(4.54)3 corrispondono alla discretizzazione ad elementi finiti delle (4.25) 1 -(4.25)6 , rispettivamente. Possiamo ora esprimere la funzione uh come una somma rispetto alla base dello spazio Vh : uh (x) = N1 X (1) (1) uh (xj )ϕj (x) j=1 + NΓ X + N2 X (2) (2) uh (xj )ϕj (x) j=1 (Γ) (Γ) uh (xj )ϕj (x), (4.55) j=1 (α) dove uh (xj ), con α = 1, 2, Γ, sono i coefficienti della combinazione lineare, indicati d’ora in (α) (α) avanti come uj = uh (xj ), per j = 1, . . . , Nα e α = 1, 2, Γ. CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 112 Utilizzando la relazione (4.55), possiamo riscrivere il problema (4.54) nel seguente modo: NΓ N1 X X (Γ) (Γ) (1) (1) (1) (1) (1) uj a1 (ϕj , ϕi ) = F1 (ϕi ) ∀i = 1, . . . , N1 , uj a1 (ϕj , ϕi ) + j=1 j=1 NΓ N2 X X (Γ) (Γ) (2) (2) (2) (2) (2) uj a2 (ϕj , ϕi ) = F2 (ϕi ) ∀i = 1, . . . , N2 , uj a2 (ϕj , ϕi ) + j=1 j=1 N Γ h i X (Γ) (4.56) (Γ) (Γ) (Γ) (Γ) u a (ϕ , ϕ ) + a (ϕ , ϕ ) 1 2 j j i j i j=1 N1 N2 X X (2) (2) (Γ) (1) (1) (Γ) + uj a1 (ϕj , ϕi ) + uj a2 (ϕj , ϕi ) j=1 j=1 = F (ϕ(Γ) | ) + F (ϕ(Γ) | ) ∀i = 1, . . . , NΓ . 1 Ω1 2 Ω2 i i Introduciamo ora le seguenti matrici e vettori: (1) (1) (A1Γ )ij = a1 (ϕj , ϕi ), (2) (2) (A2Γ )ij = a2 (ϕj , ϕi ), (A11 )ij = a1 (ϕj , ϕi ), (A22 )ij = a2 (ϕj , ϕi ), (Γ) (Γ) (1) (Γ) (Γ) (1) (Γ) (2) (Γ) (Γ) (2) (Γ) (A1ΓΓ )ij = a1 (ϕj , ϕi ), (A2ΓΓ )ij = a2 (ϕj , ϕi ), (AΓ1 )ij = a1 (ϕj , ϕi ), (1) e sia (f1 )i = F1 (ϕi ), (Γ) f1Γ i = F1 (ϕi ), (AΓ2 )ij = a2 (ϕj , ϕi ), (2) (f2 )i = F2 (ϕi ), (Γ) (1) f2Γ i = F2 (ϕi , ϕi ), u = (u1 , u2 , λ)T , (1) (2) (Γ) con u1 = uj , u2 = uj e λ = uj . Il problema (4.56) può dunque essere scritto in forma algebrica nel seguente modo: A11 u1 + A1Γ λ = f1 , A22 u2 + A2Γ λ = f2 , A u + A u + A(1) + A(2) λ = f Γ + f Γ , Γ1 1 Γ2 2 1 2 ΓΓ ΓΓ o, in forma matriciale, come Au = f , ovvero u1 f1 A11 0 A1Γ 0 A22 A2Γ u2 = f2 , λ fΓ AΓ1 AΓ2 AΓΓ (1) (2) avendo indicato con AΓΓ = AΓΓ + AΓΓ e con fΓ = f1Γ + f2Γ . (4.57) (4.58) 4.4. APPROSSIMAZIONE CON ELEMENTI FINITI 113 4.4.1 Il complemento di Schur Consideriamo ora l’equazione all’interfaccia di Steklov-Poincaré (4.29). Vogliamo approssimarla con gli elementi finiti. Poiché λ rappresenta il valore di u su Γ, essa corrisponde, in dimensione finita, al vettore λ dei valori di uh sull’interfaccia. Applicando il metodo di eliminazione Gaussiana al sistema (4.58), possiamo scrivere un problema algebrico per l’incognita vettoriale λ. Le matrici A11 e A22 sono invertibili in quanto associate a due problemi di Dirichlet omogenei per l’equazione di Laplace, e quindi si può facilmente ricavare u1 = A−1 11 (f1 − A1Γ λ) , (4.59) u2 = A−1 22 (f2 − A2Γ λ) . (4.60) e Si può allora rimpiazzare (4.59) e (4.60) in (4.57), ottenendo così: (1) (2) −1 (f − A λ) + A + A − A λ) + A A AΓ1 A−1 (f 2 2Γ 1 1Γ Γ2 22 11 ΓΓ ΓΓ λ = fΓ , ovvero h i (1) (2) −1 AΓΓ − AΓ1 A−1 A + A − A A A λ= Γ2 22 2Γ 11 1Γ ΓΓ fΓ − AΓ1 A−1 11 f1 − (4.61) AΓ2 A−1 22 f2 . Introduciamo ora le seguenti definizioni: (i) Σi := AΓΓ − AΓi A−1 ii AiΓ i = 1, 2, (4.62) Σ := Σ1 + Σ2 , (4.63) −1 χΓ := fΓ − AΓ1 A−1 11 f1 − AΓ2 A22 f2 . (4.64) e Dalla (4.61) possiamo allora derivare l’approssimazione ad elementi finiti desiderata per l’equazione di Steklov-Poincaré (4.29): Σλ = χΓ , (4.65) rappresentando Σ e χΓ le approssimazioni alla Galerkin di S e χ, rispettivamente. La matrice Σ rappresenta il cosiddetto complemento di Schur della matrice A rispetto alle incognite vettoriali u1 e u2 , mentre le matrici Σi sono i complementi di Schur relativi ai sotto-domini Ωi (i = 1, 2). Il problema (4.65) è un sistema lineare nella sola incognita λ. Risolto tale sistema rispetto all’incognita λ, in virtù delle (4.59) e (4.60), possiamo calcolare u 1 e u2 . Tale calcolo equivale a risolvere due problemi di Poisson in corrispondenza dei due sotto-domini Ω 1 e Ω2 , con (i) condizione al bordo di Dirichlet uh |Γ = λh , (i = 1, 2), sull’interfaccia Γ. Per quanto concerne le proprietà del complemento di Schur Σ rispetto alla matrice A, si può dimostrare il risultato seguente: CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 114 Lemma 4.1. La matrice Σ soddisfa le proprietà seguenti: 1. se A è una matrice singolare, allora Σ è singolare; 2. se A (rispettivamente, Aii ) è simmetrica, allora Σ (rispettivamente, Σi ) è simmetrica; 3. se A è definita positiva, allora Σ è definita positiva. Per quanto riguarda il numero di condizionamento delle matrici A e Σ, si ricorda che A è una matrice mal condizionata, il suo numero di condizionamento essendo dato da K(A) ' C . h2 Quanto alla matrice Σ, si può invece dimostrare che K(Σ) ' C . h (4.66) Osserviamo infine che, nel caso specifico preso in considerazione, la matrice A (e dunque la matrice Σ, grazie al Lemma 4.1) è una matrice simmetrica definita positiva. È possibile dunque utilizzare il metodo del Gradiente Coniugato per risolvere il sistema (4.65). Ad ogni passo, bisognerà risolvere due problemi di Dirichlet indipendenti sui sotto-domini Ω i . 4.4.2 L’operatore di Steklov-Poincaré discreto Ci proponiamo di trovare l’operatore discreto associato al complemento di Schur. A tal fine de0 finiamo, oltre allo spazio Vi,h introdotto all’inizio di questa sezione, lo spazio Vi,h generato dalle (i) funzioni {ϕj } associate ai soli nodi interni al dominio Ωi , e lo spazio Λh generato dall’insieme (Γ) {ϕj | }. La formulazione discreta del problema (4.37) può così essere espressa come: trovare Γ Hi,h ηh ∈ Vi,h , con Hi,h ηh = ηh su Γ, tale che Z 0 ∇(Hi,h ηh ) · ∇vh dΩi = 0 ∀vh ∈ Vi,h . (4.67) Ωi Riscriviamo la soluzione Hi,h ηh come combinazione lineare delle funzioni di base Hi,h ηh = Ni X j=1 (i) (i) uj ϕ j + NΓ X (Γ) η k ϕk k=1 |Ω i , arrivando così a riscrivere la (4.67) sotto forma matriciale come Aii u(i) = −AiΓ η. (4.68) Il teorema d’estensione uniforme enunciato nel caso continuo vale analogamente nel caso discreto: 4.4. APPROSSIMAZIONE CON ELEMENTI FINITI 115 Teorema 4.5. Esistono due costanti Ĉ1 , Ĉ2 > 0 che dipendono dalle dimensioni relative di Ω1 e Ω2 ma independenti da h, tali che Ĉ1 kηh kΛ ≤ kHi,h ηh kH 1 (Ωi ) ≤ Ĉ2 kηh kΛ i = 1, 2, ∀ηh ∈ Λh . (4.69) Dimostrazione. Poiché ηh è la traccia sull’interfaccia Γ sia di H1,h ηh che di H2,h ηh , esistono, grazie alla disuguaglianza di traccia, due costanti C1∗ e C2∗ positive, tali che kηh kΛ ≤ Ci∗ kHi,h ηh kH 1 (Ωi ) ∀ηh ∈ Λh , i = 1, 2. La prima disuguaglianza della (4.69) è dunque immediatamente verificata fatta la scelta Ĉ1 = min 1 1 , . C1∗ C2∗ D’altro canto, abbiamo che kHi,h ηh kH 1 (Ωi ) ≤ kHi,h ηh − Hi ηh kH 1 (Ωi ) + kHi ηh kH 1 (Ωi ) . (4.70) Ora, grazie al Teorema 4.3, si ha che kHi ηh kH 1 (Ωi ) ≤ C2 kηh kΛ i = 1, 2. Poiché ηh è una funzione polinomiale a tratti e continua sull’interfaccia Γ, la soluzione H i ηh ∗ appartiene ad un opportuno spazio di Sobolev H 1+s (Ωi ), con s∗ > 1/2. Vale dunque la seguente stima di regolarità: kHi ηh kH 1+s∗ (Ωi ) ≤ Ckηh kH 1/2+s∗ (Γ) . Sul primo termine della (4.70) utilizziamo invece la stima per l’errore di discretizzazione degli elementi finiti: ∗ kHi,h ηh − Hi ηh kH 1 (Ωi ) ≤ Chs kHi ηh kH 1+s∗ (Ωi ) . Infine, grazie alla disuguaglianza inversa standard, si ha che ∗ hs kηh kH 1/2+s∗ (Γ) ≤ Ckηh kΛ ∀ηh ∈ Λh , con C costante indipendente da h. Possiamo quindi concludere che, per un’opportuna costante Ĉ2 indipendente da h, kHi,h ηh kH 1 (Ωi ) ≤ Ĉ2 kηh kΛ ovvero dimostrare la seconda disuguaglianza della (4.69). Partendo da tale teorema, è facile verificare il seguente risultato Corollario 4.2. Gli operatori discreti di Steklov-Poincaré S1,h , S2,h e Sh = S1,h + S2,h sono continui e coercivi in Λh , uniformemente rispetto ad h. Inoltre sono equivalenti spettralmente in modo uniforme (ovvero le costanti dell’equivalenza spettrale non dipendono da h). CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 116 Corollario 4.3. Esistono due costanti K1 , K2 > 0, independenti da h, tali che K1 kH1,h ηh kH 1 (Ω1 ) ≤ kH2,h ηh kH 1 (Ω2 ) ≤ K2 kH1,h ηh kH 1 (Ω1 ) ∀ηh ∈ Λh . (4.71) Possiamo a questo punto fornire la seguente Definizione 4.1. Definiamo l’operatore Si,h : Λh → Λ0h dato da Z < Si,h ηh , µh >= ∇(Hi,h ηh ) · ∇(Hi,h µh ), ∀ηh , µh ∈ Λh . (4.72) Ωi Lemma 4.2. L’operatore di Steklov-Poincaré discreto può essere espresso in funzione del complemento di Schur come < Si,h ηh , µh >= µT Σi η dove ηh = NΓ X (Γ) η k ϕ k |Γ , µh = (Γ) µk ϕ k |Γ k=1 k=1 e NΓ X η = (η1 , . . . , ηNΓ )T , µ = (µ1 , . . . , µNΓ )T . Pertanto, Sh = S1,h + S2,h verifica la relazione < Sh ηh , µh >= µT Σ η. (4.73) Dimostrazione. Si ha: < Si,h ηh , µh > = ai (Hi,h ηh , Hi,h µh ) = ai NΓ X (i) uj ϕ j + j=1 = NΓ X NΓ X k=1 (Γ) η k ϕ k |Ω , i (i) (i) wl ai (ϕj , ϕl )uj + NΓ X (i) w l ϕl + NΓ X (Γ) wl ai (ϕk k,l=1 (i) |Ω i , ϕl )ηk + µm ϕ(Γ) m |Ω m=1 l=1 (i) i NΓ X (Γ) µm ai (ϕk k,m=1 (Γ) |Ωi , ϕm |Ωi )ηk (i) = wT Aii u + µT AΓi u + wT AiΓ η + µT AΓΓ η. Ma, usando la (4.68), si ottiene: (i) T T < Si,h ηh , µh > = −wT AiΓ η − µT AΓi A−1 ii AiΓ η + w AiΓ η + µ AΓΓ η (i) T −1 = µ AΓΓ − AΓi Aii AiΓ η = µT Σi η. i µm ai (ϕj , ϕ(Γ) m |Ω )uj j,m=1 j,l=1 + NΓ X NΓ X 4.4. APPROSSIMAZIONE CON ELEMENTI FINITI 117 Grazie al Teorema 4.5 d’estensione uniforme per il caso discreto ed alla (4.72), si può dimostrare l’esistenza di due costanti K̂1 , K̂2 > 0, indipendenti da h, tali che K̂1 < S1,h µh , µh > ≤ < S2,h µh , µh > ≤ K̂2 < S1,h µh , µh > ∀µh ∈ Λh . (4.74) Infine, utilizzando il Lemma 4.2 e la (4.74), si può affermare che esistono due costanti K̃1 , K̃2 > 0, indipendenti da h, tali che ∀µ ∈ RNΓ . (4.75) K̃1 µT Σ1h µ ≤ µT Σ2h µ ≤ K̃2 µT Σ1h µ 4.4.3 Equivalenza tra il metodo di Dirichlet-Neumann e il metodo di Richardson precondizonato: il caso algebrico Dimostriamo ora il risultato di equivalenza del Teorema 4.4 nel caso algebrico. L’approssimazione con elementi finiti dei problemi (4.43)-(4.44) si scrive in forma matriciale come (k) A11 u1 = f1 − A1Γ λ(k−1) , A22 A2Γ (2) AΓ2 AΓΓ " (k) u2 λ(k−1/2) # = (4.76) f2 (k) (1) fΓ − AΓ1 u1 − AΓΓ λ(k−1) , (4.77) mentre la (4.45) diventa λ(k) = θλ(k−1/2) + (1 − θ)λ(k−1) . (4.78) (k) Eliminiamo u2 dalla (4.77) usando il metodo di Gauss: (2) (k) (1) −1 AΓΓ − AΓ2 A22 A2Γ λ(k−1/2) = fΓ − AΓ1 u1 − AΓΓ λ(k−1) − AΓ2 A−1 22 f2 . Grazie alla definizione (4.62) di Σ2 ed alla (4.76), si ha Σ2 λ (k−1/2) = fΓ − AΓ1 A−1 11 f1 − AΓ2 A−1 22 f2 − (1) AΓΓ − AΓ1 A−1 11 A1Γ ovvero, usando la definizione (4.62) di Σ1 e la (4.64), (k−1) λ(k−1/2) = Σ−1 χ − Σ λ . 1 Γ 2 Ora, in virtù della (4.78), ricaviamo (k−1) λ(k) = θΣ−1 χ − Σ λ + (1 − θ)λ(k−1) , 1 Γ 2 cioè, poiché −Σ1 = −Σ + Σ2 : (k−1) (k−1) λ(k) = θΣ−1 χ − Σλ + Σ λ + (1 − θ)λ(k−1) ; 2 Γ 2 λ(k−1) , CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 118 Dunque abbiamo (k−1) λ(k) − λ(k−1) = θΣ−1 χ − Σλ . Γ 2 Σ2 (λ(k) − λ(k−1) ) = θ(χΓ − Σλ(k−1) ), ovvero il metodo di Richardson per il sistema Σλ = χΓ con precondizionatore Σ2 . Osservazione 4.1. Il precondizionatore del metodo di Dirichlet-Neumann è sempre l’operatore di Steklov-Poincaré associato al sotto-dominio su cui si risolve il problema di Neumann. Dunque, se si risolve il problema di Dirichlet su Ω2 e quello di Neumann su Ω1 , il precondizionatore per il metodo di Richardson sarà S1 anziché S2 . Per quanto riguarda il condizionamento del sistema Σλ = χΓ , dalla (4.66) si ha che la matrice Σ è mal condizionata. L’uso di un precondizionatore per la risoluzione di tale sistema è dunque fortemente raccomandato. Nella Sezione 4.6 considereremo il problema della costruzione di un opportuno precondizionatore per l’equazione di Steklov-Poincaré. Possiamo comunque proporre già fin d’ora i precondizionatori Σi , i = 1, 2, per i quali si può dimostrare il seguente risultato: Teorema 4.6. Se si sceglie come precondizionatore Ph = Σ1 o Ph = Σ2 , allora il numero di condizionamento spettrale K(Ph−1 Σ) è indipendente da h, ovvero K(Σ−1 i Σ) = O(1) , i = 1, 2. Corollario 4.4. Il numero d’iterazioni del metodo di Dirichlet-Neumann è indipendente da h. Osservazione 4.2. Per quel che concerne il metodo di Neumann-Neumann introdotto nella Sezione 4.2.3, si può dimostrare un risultato dello stesso tipo di quello enunciato nel Teorema 4.4, il che ci garantisce che questo metodo è equivalente al metodo di Richardson per l’equazione di Steklov-Poincaré con precondizionatore P −1 = σ1 S1−1 + σ2 S2−1 . Nel caso algebrico −1 Ph−1 = σ1 Σ−1 1 + σ 2 Σ2 con σ1 e σ2 coefficienti positivi opportuni. Si può inoltre dimostrare che −1 K((σ1 Σ−1 1 + σ2 Σ2 )Σ) = O(1) ovvero che, anche per lo schema di Neumann-Neumann, il numero di iterazioni è indipendente dal parametro h. Ricordiamo la definizione seguente: 4.5. GENERALIZZAZIONE AL CASO DI PIÙ SOTTO-DOMINI 119 Definizione 4.2. Sia Ax = b un sistema lineare con A ∈ RN ×N . Un precondizionatore P per A è detto ottimale se il numero di condizionamento di P −1 A è uniformemente limitato rispetto alla dimensione N della matrice A. Possiamo allora concludere che, per la risoluzione del sistema Σλ = χ Γ , si può ricorrere ai seguenti precondizionatori ottimali: Ph−1 −1 Σ per il metodo di Dirichlet-Neumann, 2 Σ−1 per il metodo di Neumann-Dirichlet, = 1 −1 σ1 Σ−1 per il metodo di Neumann-Neumann. 1 + σ 2 Σ2 (4.79) Anticipiamo il fatto che nel caso di molti sotto-domini tale risultato non risulta più essere valido nel senso che, se si considera, ad esempio, il metodo di Dirichlet-Neumann, si dovranno risolvere M/2 problemi di Dirichlet in Ω1 e M/2 problemi di Neumann in Ω2 , ma il precondizionatore Σ2 non è più ottimale per questo algoritmo. In questo caso il numero di condizionamento della matrice Σ è così maggiorabile H K(Σ) ≤ C , (4.80) 2 hHmin essendo H il diametro massimo dei sotto-domini e Hmin quello minimo. Ricordiamo che il metodo di Dirichlet-Neumann è equivalente ad uno schema di Richardson con precondizionatore Σ2 : Σ2 (λ(k+1) − λ(k) ) = θ(χΓ − Σλ(k) ), mentre il metodo di Neumann-Neumann è equivalente allo schema di Richardson con precondi−1 −1 −1 zionatore Ph,N N = (Σ1 + Σ2 )/2 (si rimanda alla (4.79) per σ1 = σ2 = 1/2). Ora, dalla teoria della convergenza del metodo iterativo di Richardson, sappiamo che la velocità di convergenza ottimale è data da ρ= K(Ph−1 Σ) − 1 , K(Ph−1 Σ) + 1 da cui, ricordando la (4.75), segue il risultato seguente: Teorema 4.7. Il numero di condizionamento di Ph−1 Σ è indipendente da h quando Ph = Σ2 ovvero Ph = Ph,N N . Conseguentemente, la velocità di convergenza non dipende da h, cioè questi due precondizionatori sono ottimali. 4.5 Generalizzazione al caso di più sotto-domini Vogliamo ora generalizzare i risultati ottenuti nelle sezioni precedenti al caso in cui il dominio Ω sia suddiviso in un numero M > 2 arbitrario di sotto-domini (vedremo svariati esempi nel seguito). CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 120 Indichiamo con Ωi , con i S = 1, . . . , M , gli M sotto-domini senza sovrapposizione tali che Ω, Γi = ∂Ωi \ ∂Ω e Γ = Γi . S Ωi = A livello differenziale si può generalizzare la formulazione (4.25) del problema di Poisson (4.24) affermando che è equivalente alla seguente formulazione −4ui = f in Ωi , i = 1, . . . , M, ui = u k su Γik , (4.81) ∂ui ∂uk = su Γ , ik ∂ni ∂ni ui = 0 su ∂Ωi ∩ ∂Ω, con Γik = ∂Ωi ∩ ∂Ωk 6= ∅ e dove ni indica la normale esterna al sotto-dominio Ωi . A livello discreto, seguendo le idee presentate nella Sezione 4.4 ed indicando con u = (u I , uΓ )T il vettore delle incognite scomposto in quelle relative ai nodi interni (u I ) e a quelli sull’interfaccia Γ (uΓ ), si può pervenire alla formulazione algebrica seguente fI uI AII AIΓ , (4.82) = fΓ uΓ AΓI AΓΓ essendo AΓI = ATIΓ . Osserviamo che ogni sotto-dominio interno non comunica con gli altri, e dunque AII coincide con la matrice diagonale a blocchi A11 0 . . . 0 .. .. . . 0 AII = . . .. .. . 0 0 . . . 0 AM M Al contrario AIΓ è una matrice a banda, poiché ci sono delle intersezioni solamente con le interfacce locali Γi , ma non con le interfacce locali non adiacenti al sotto-dominio considerato. Su ciascun sotto-dominio ci troveremo dunque a risolvere un problema di Neumann che è rappresentato dalla matrice locale Aii AiΓ Ai = (i) AΓi AΓΓ , con (Aii )lj = ai (ϕj , ϕl ) 1 ≤ l, j ≤ Ni , (i) (AΓΓ )sr = ai (ψr , ψs ) 1 ≤ r, s ≤ NΓi , (AiΓ )lr = ai (ψr , ϕl ) 1 ≤ r ≤ N Γi 1 ≤ l ≤ Ni , essendo Ni il numero di nodi in Ωi , NΓi quello dei nodi sull’interfaccia Γi , ϕj e ψr le funzioni di base associate ai nodi interni e di interfaccia, rispettivamente. La matrice AII è non singolare, e dunque dalla (4.82) possiamo ricavare uI = A−1 II (fI − AIΓ uΓ ). (4.83) 4.5. GENERALIZZAZIONE AL CASO DI PIÙ SOTTO-DOMINI 121 Eliminando l’incognita uI del sistema (4.82), si ha AΓΓ uΓ = fΓ − AΓI A−1 II (fI − AIΓ uΓ ), ovvero Ora ponendo −1 AΓΓ − AΓI A−1 II AIΓ uΓ = fΓ − AΓI AII fI . (4.84) Σ := AΓΓ − AΓI A−1 II AIΓ e χΓ := fΓ − AΓI A−1 II fI , ed introducendo λ = uΓ , la (4.84) diviene Σλ = χΓ . (4.85) L’equazione (4.85) è dunque l’approssimazione agli elementi finiti del problema all’interfaccia di Steklov-Poincaré nel caso di M sotto-domini. Un algoritmo generale per risolvere il problema di Poisson su Ω potrà dunque essere così formulato: 1. calcolare la soluzione di (4.85) per ottenere il valore di λ sull’interfaccia Γ; 2. risolvere (4.83) e, poiché AII è una matrice diagonale a blocchi, ciò implica la risoluzione parallela di M problemi indipendenti di dimensione ridotta su ciascun sotto-dominio, ovvero Aii uiI = gi , i = 1, . . . , M . 4.5.1 Alcuni risultati numerici Consideriamo il problema modello ( −∆u = f u =0 in Ω = (0, 1)2 , su ∂Ω, (4.86) la cui formulazione ad elementi finiti coincide con la (4.50). Decomponiamo il dominio Ω in M regioni quadrate Ωi , di dimensione caratteristica H, tali che ∪M i=1 Ωi = Ω. Un esempio di tale decomposizione basata su 4 sotto-domini è riportato in Figura 4.7 (sulla sinistra). In Tabella 4.1 riportiamo i valori numerici di K(Σ) relativi al problema in esame. Possiamo osservare che K(Σ) cresce linearmente con 1/h e con 1/H, come indicato dalla formula (4.80) per Hmin = H. In Figura 4.7 (sulla destra) riportiamo il pattern di sparsità della matrice Σ associata alle scelte h = 1/8 e H = 1/2. La matrice ha una struttura a blocchi, che tiene conto delle interfacce Γ1 , Γ2 , Γ3 e Γ4 , più il contributo dovuto al punto di intersezione Γc delle quattro interfacce. Si osservi che Σ è densa. Per questo motivo, quando si utilizzano metodi iterativi per risolvere il sistema (4.85), non è conveniente, dal punto di vista dell’occupazione CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 122 K(Σ) h=1/8 h=1/16 h=1/32 h=1/64 H = 1/2 H = 1/4 H = 1/8 9.77 14.83 25.27 21.49 35.25 58.60 44.09 75.10 137.73 91.98 155.19 290.43 Tabella 4.1: Numero di condizionamento del complemento di Schur Σ. 0 Γ1 5 PSfrag replacements Γ4 PSfrag replacements Γ3 Γ1 Γc Γ2 Γ3 Γ1 Γ4 Γc Γ2 10 Γ2 Γ 15 c Γ 3 20 Γ4 25 30 0 5 10 15 nz = 597 20 25 30 Figura 4.7: Esempio di decomposizione del dominio Ω = (0, 1) 2 in quattro sotto-domini quadrati (a sinistra). Pattern di sparsità del complemento di Schur Σ (sulla destra) associato alla decomposizione di domini riportata sulla sinistra. di memoria, calcolare in modo esplicito gli elementi di Σ. Al contrario, usando l’Algoritmo 4.1 è possibile calcolare il prodotto ΣxΓ , per ogni vettore xΓ . In tale algoritmo abbiamo indicato con RΓi : Γ → Γi = ∂Ωi \ ∂Ω un opportuno operatore di restrizione, mentre x ← y indica l’operazione x = x + y. Algoritmo 4.1 (applicazione del complemento di Schur). Dato xΓ , calcolare yΓ = ΣxΓ nel modo seguente: a. Porre yΓ = 0 b. For i = 1, . . . , M Do in parallelo: c. x i = R Γ i xΓ d. zi = AiΓi xi e. zi ← A−1 ii zi f. sommare nel vettore globale yΓi ← AΓi Γi xi − AΓi i zi g. sommare nel vettore globale yΓ ← RΓTi yΓi h. EndFor Si osservi che l’Algoritmo 4.1 è completamente parallelo, nel senso che non è richiesta alcuna comunicazione tra i vari sotto-domini. Prima di utilizzare per la prima volta il complemento di Schur, è necessario avviare una fase di startup descritta nell’Algoritmo 4.2. Questo è un calcolo off-line. 4.6. PRECONDIZIONATORI NEL CASO DI PIÙ SOTTO-DOMINI 123 Algoritmo 4.2 (fase di startup per la risoluzione del sistema associato al complemento di Schur). Dato xΓ , calcolare yΓ = ΣxΓ nel modo seguente: a. For i = 1, . . . , M Do in parallelo: b. Costruire la matrice Ai c. Riordinare Ai come Aii AiΓi Ai = A Γi i A Γi Γi d. e. ed estrarre le sotto-matrici Aii , AiΓi , AΓi i e AΓi Γi Calcolare la fattorizzazione LU di Aii EndFor 4.6 Precondizionatori nel caso di più sotto-domini Vediamo come si possono ottenere dei precondizionatori scalabili per il caso in cui il dominio Ω sia partizionato in più sotto-domini. Forniamo dapprima la seguente Definizione 4.3. Si definisce scalabile un precondizionatore che permette di ottenere una matrice precondizionata Ph−1 Σ con un numero di condizionamento indipendente dal numero di sottodomini. I metodi iterativi con precondizionatori scalabili consentono velocità di convergenza indipendenti dal numero dei sotto-domini. Tale proprietà è senza dubbio auspicabile nel momento in cui si ricorra ad un calcolo parallelo su più processori. Sappiamo che ad un problema globale su Ω si associa una matrice globale A e che a ciascun problema su un sotto-dominio Ωi con i = 1, . . . , M , corrisponde una matrice locale Aii AiΓ Ai = . (i) AΓi AΓΓ Definiamo un operatore di restrizione Ri che associa ad un vettore vh del dominio globale Ω la sua restrizione al sotto-dominio Ωi : i Ri : vh|Ω → vh| . Ω ∪Γ i Sia inoltre RiT , i i RiT : vh| → v h |Ω Ω ∪Γ i i l’operatore d’estensione (o prolungamento) a zero di vhi . In forma algebrica Ri può essere rappresentato da una matrice che coincide con la matrice identità in corrispondenza del sottodominio Ωi a cui essa è associata: 0 ... 0 0 ... 0 1 .. . . .. . .. Ri = ... . . . ... . . . . 1 0 ... 0 0 ... 0 CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 124 Ω e3 e2 e1 v1 e6 e8 v3 Ωi e4 v2 e5 e7 e9 v4 e10 e12 e11 Figura 4.8: Esempio di decomposizione in pù sotto-domini. | {z Ωi Analogamente possiamo definire il precondizionatore Ph = M X } RΓTi Σi RΓi , i=1 che agisce sui vettori i cui valori sono associati ai soli nodi della griglia che vivono sull’unione delle interfacce. L’idea seguita per costruire un precondizionatore per il complemento di Schur Σ della matrice globale è di combinare opportunamente i contributi dovuti ai precondizionatori locali, ovvero che si possono costruire sui singoli sotto-domini, in modo da fornire un contributo globale ottenuto a partire da una griglia più grossolana (coarse) di Ω, ad esempio quella, di ampiezza H, i cui elementi sono i sotto-domini stessi di Ω. Possiamo esprimere questa idea attraverso la seguente relazione M X −1 RΓi + RΓT PH−1 RΓ . (Ph )−1 = RΓTi Pi,h i=1 Abbiamo indicato con H la massima ampiezza dei diametri Hi dei sotto-domini Ωi . Esistono diverse scelte possibili per il precondizionatore Pi,h che daranno luogo ad andamenti differenti per quel che concerne la convergenza dell’algoritmo adottato per risolvere il problema. 4.6.1 Il precondizionatore di Jacobi Sia {e1 , . . . , em } l’insieme dei lati e {v1 , . . . , vn } l’insieme dei vertici di una partizione del dominio Ω (si veda la Figura 4.8). 4.6. PRECONDIZIONATORI NEL CASO DI PIÙ SOTTO-DOMINI 125 Per la matrice Σ possiamo allora fornire una rappresentazione a blocchi della forma seguente: Σee Σev , Σ= ΣTev Σvv con Σe1 e1 . . . Σe1 em .. .. Σee = ... , . . Σem e1 . . . Σem em Σev e Σe1 v1 . . . Σe1 vn .. .. = ... . . Σem v1 . . . Σem vn Σv1 v1 Σvv = 0 .. . 0 0 ... 0 .. .. . . .. . 0 . . . 0 Σ vn vn . Il precondizionatore di Jacobi del complemento di Schur Σ è dunque definito come Σ̂ee 0 J Ph = 0 Σvv dove Σ̂ee coincide con la stessa Σee o con una sua opportuna approssimazione. Tale precondizionatore non tiene conto in alcun modo delle interazioni tra i lati e i vertici della griglia essendo caratterizzato da una matrice che è diagonale. Inoltre anche la matrice Σ̂ee è diagonale essendo data da Σ̂e1 e1 0 . . . 0 .. .. 0 . . , Σ̂ee = . .. . . . 0 0 . . . 0 Σ̂em em con Σ̂ek ek coincidente con Σek ek o con una sua opportuna approssimazione. Si può dimostrare il risultato seguente: Teorema 4.8. K con H = maxi (diam(Ωi )) . (PhJ )−1 Σ ≤ CH −2 H 1 + log h 2 , CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 126 Il numero delle iterazioni necessarie per la convergenza del metodo del Gradiente Coniugato è dunque proporzionale ad H −1 , e la presenza di H fa perdere la scalabilità desiderata per l’algoritmo. Osserviamo inoltre che la presenza del termine log(H/h) introduce un legame tra la dimensione di ciascun sotto-dominio e quella degli elementi della griglia computazionale T h . Ciò genera una propagazione dell’informazione tra i vari sotto-domini caratterizzata da una velocità finita anziché infinita. Il precondizionatore PhJ può essere anche espresso in funzione degli operatori di restrizione e di prolungamento nel seguente modo: PhJ −1 = m X T −1 ReTk Σ̂−1 ek ek Rek + Rv Σvv Rv , (4.87) k=1 dove Rek e Rv sono gli operatori di restrizione sui lati e sui vertici, rispettivamente. 4.6.2 Il precondizionatore di Bramble-Pasciak-Schatz Per accelerare la velocità di propagazione delle informazioni all’interno del dominio Ω, bisogna ricorrere ad un accoppiamento globale. Dopo aver decomposto Ω in sotto-domini, si può considerare questa stessa decomposizione come una griglia grossolana T H del dominio. In Figura 4.9, per esempio, abbiamo una griglia coarse composta da 9 elementi e 4 nodi interni. Si può dunque associare a tale griglia una matrice di rigidezza AH (nel caso in Figura 4.9 sarà una matrice di dimensione 4 × 4). Possiamo introdurre inoltre un operatore di restrizione RH : Γh → ΓH , definito sui nodi delle T interfacce Γh a valori sui nodi interni della griglia grossolana. Il suo trasposto R H è sempre l’operatore di estensione. La matrice AH è quella che permette un accoppiamento globale all’interno del dominio Ω. Possiamo allora definire il precondizionatore seguente, detto di Bramble-Pasciak-Schatz: (PhBP S )−1 = m X T −1 ReTk Σ̂−1 ek ek R ek + R H AH R H . (4.88) k=1 A differenza del precondizionatore di Jacobi (4.87), nel secondo addendo non compare più una matrice legata ai vertici (che non fornisce alcun accoppiamento interno, dal momento che ciascun vertice comunica soltanto con se stesso rendendo Σvv diagonale), ma la matrice globale AH . Per il precondizionatore di Bramble-Pasciak-Schatz valgono i seguenti risultati: i) nel caso 2D K ii) nel caso 3D (PhBP S )−1 Σ H ≤ C 1 + log h H K (PhBP S )−1 Σ ≤ C . h 2 ; 4.6. PRECONDIZIONATORI NEL CASO DI PIÙ SOTTO-DOMINI 127 PSfrag replacements Figura 4.9: Esempio di griglia grossolana su Ω. Come si può osservare è stata eliminata la dipendenza della velocità di convergenza dal parametro H. Il numero di iterazioni del metodo del Gradiente Coniugato è dunque proporzionale a log(H/h) in 2D. 4.6.3 Il precondizionatore di Neumann-Neumann Il precondizionatore di Bramble-Pasciak-Schatz introduce un miglioramento sul numero di condizionamento della matrice associata al problema di Schur precondizionato, tuttavia nel caso 3D si ha ancora una dipendenza da H e da h. Si consideri allora il precondizionatore seguente, detto di Neumann-Neumann: (PhN N )−1 = M X RΓTi Di Σ−1 i Di R Γ i , (4.89) i=1 essendo RΓi ancora l’operatore di restrizione di Γ ai valori sulle interfacce locali Γi . Sia invece Di d1 .. Di = , . dn una matrice diagonale di pesi positivi, con dj > 0, per i = 1, . . . , n, essendo n il numero di nodi su Γi ; per la precisione, dj coincide con l’inverso del numero di sotto-domini che condividono lo stesso nodo j-esimo. Esempio 4.5. Se si considerano i quattro nodi interni in Figura 4.9, si avrà d j = 1/4. • Teorema 4.9. Per il precondizionatore (4.89) si ha K (PhN N )−1 Σ ≤ CH −2 H 1 + log h 2 . L’introduzione di Di e RΓi in (4.89) implica solamente dei prodotti tra matrici. Al contrario si vorrebbe poter esprimere Σ−1 i in funzione delle matrici Ai . È possibile far ciò nel modo seguente: sia q il vettore delle incognite su ciascuna interfaccia locale Γi ; allora T −1 Σ−1 i q = [0, I]Ai [0, I] q. CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 128 In particolare, [0, I]T q = [0, q]T , e | nodi interni bordo {z A−1 i 0 .. . 0 q } corrisponde alla risoluzione sul sotto-dominio Ωi del problema di Neumann −4wi = 0 in Ωi , ∂wi = q ∂n sur Γi . (4.90) Ora, poiché Σ−1 associa un dato di Dirichlet sull’interfaccia ad un dato di Neumann, bisogna i considerare soltanto i valori della soluzione wi del problema (4.90) sull’interfaccia. Si moltiplica dunque tale vettore per [0, I], la qual cosa annulla le sue componenti associate all’interno di Ω i , conservando soltanto quelle relative all’interfaccia locale Γi . Si osservi anche che se Ωi è un sotto-dominio interno ad Ω, allora Γi = ∂Ωi . In tal caso il problema di Neumann (4.90) non risulta ben posto. Bisognerà rimpiazzarlo, per esempio, con il problema −(4 + αI)wi = 0 in Ωi , con α coefficiente piccolo opportunamente scelto. Algoritmo 4.3 (precondizionatore Neumann-Neumann). Dato il vettore rΓ , calcolare zΓ = (PhN N )−1 rΓ nel modo seguente: a. Porre zΓ = 0 b. For i = 1, . . . , M Do in parallelo: c. restringere il residuo su Ωi : ri = RΓi rΓ T d. zi = [0, I]A−1 i [0, ri ] e. Aggiungere nel residuo globale: zΓ ← RΓTi zi f. EndFor Anche in questo caso è richiesta una fase di startup: questa consiste semplicemente nel preparare il codice per la risoluzione del sistema lineare con matrice dei coefficienti A i . Si osservi che, nel caso del nostro problema modello (4.86), la matrice Ai non è definita se ∂Ωi \ ∂Ω = ∅. Una delle seguenti strategie deve essere dunque adottata: 1. calcolare la fattorizzazione LU di Ai +I, con > 0 opportunamente piccolo ed assegnato; 1 2. calcolare la fattorizzazione LU di Ai + 2 Mi , dove Mi è la matrice di massa le cui entrare H sono date da Z Mi (k, j) = ϕk ϕj dΩi ; Ωi 4.6. PRECONDIZIONATORI NEL CASO DI PIÙ SOTTO-DOMINI 129 Convergence history using PNN 0 10 −1 10 −2 scaled residual 10 −3 10 H=1/8 −4 10 H=1/4 −5 10 H=1/2 −6 10 −7 10 0 2 4 6 8 10 Conjugate gradient iterations 12 14 16 Figura 4.10: Storia di convergenza per il metodo del gradiente coniugato precondizionato con la matrice PhN N e per h = 1/32. 3. calcolare la decomposizione ai valori singolari di Ai ; 4. utilizzare un solutore iterativo per calcolare A−1 i ri , per un certo ri . Per i nostri risultati numerici abbiamo adottato il terzo approccio. La storia di convergenza per K((PhN N )−1 Σ) h = 1/16 h = 1/32 h = 1/64 h = 1/128 H = 1/2 H = 1/4 H = 1/8 H = 1/16 2.55 15.20 47.60 3.45 20.67 76.46 194.65 4.53 26.25 105.38 316.54 5.79 31.95 134.02 438.02 Tabella 4.2: Numero di condizionamento per la matrice precondizionata (P hN N )−1 Σ. il metodo del gradiente coniugato precondizionato con la matrice P hN N in corrispondenza della scelta h = 1/32 è riportata in Figura 4.10. Osserviamo che il precondizionatore NeumannNeumann non ha quasi nessun effetto nel caso in cui il numero M dei sotto-domini sia grande. In Tabella 4.2 riportiamo infine i valori del numero di condizionamento per la matrice precondizionata (PhN N )−1 Σ in corrispondenza di scelte differenti per H. 4.6.4 Il precondizionatore di Neumann-Neumann con bilanciamento Osserviamo che nella definizione del precondizionatore di Neumann-Neumann non compare alcun termine globale. Introducendo un termine di tale natura, si ottiene il cosiddetto precondizionatore di Neumann-Neumann con bilanciamento: −1 N N −1 T −1 T −1 PhBN N = [(I −RΓT A−1 ) +(RΓT A−1 H RΓ Σ)(Ph H RΓ )](I −ΣRΓ AH RΓ )+RΓ AH RΓ . (4.91) CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 130 Per passare da λ(k) a λ(k+1) utilizzando tale precondizionatore, si devono seguire i passi seguenti: i) (k) λ(k+1/3) = λ(k) + RΓT A−1 H RΓ (χΓ − Σλ ) ii) λ(k+2/3) = λ(k+1/3) + (PhN N )−1 (χΓ − Σλ(k+1/3) ) (k+2/3) iii) λ(k+1) = λ(k+2/3) + RΓT A−1 ) H RΓ (χΓ − Σλ Teorema 4.10. Sia in 2D che in 3D si ha K (PhBN N )−1 Σ H ≤ C 1 + log h 2 . Si è ottenuto un miglioramento per il numero di condizionamento rispetto al precondizionatore di Bramble-Pasciak-Schatz per il quale, nel caso 3D, si aveva ancora una dipendenza da H. Tuttavia anche il precondizionatore di Neumann-Neumann con bilanciamento non garantisce la scalabilità ottimale propria dell’algoritmo di Dirichlet-Neumann, ma soltanto una dipendenza logaritmica da H e h. Il precondizionatore di Neumann-Neumann con bilanciamento aggiunge una matrice coarse A 0 alle correzioni locali introdotte dal precondizionatore di Neumann-Neumann. La matrice A 0 viene costruita utilizzando l’Algoritmo 4.4. Algoritmo 4.4 (costruzione della matrice coarse per PhBN N ). Dato il vettore rΓ , calcolare zΓ = (PhN N )−1 rΓ nel modo seguente: a. Costruire l’operatore di restrizione R̄0 che restituisce, per ogni sotto-dominio, la somma pesata dei valori di tutti i nodi sul bordo di quel sotto-dominio. I pesi sono determinati dall’inverso del numero di sotto-domini che contengono ogni nodo i b. Costruire la matrice A0 = R̄0 S R̄0T Il passo a. dell’Algoritmo 4.4 è computazionalmente molto economico. Al contrario il passo b. richiede molti (ad esempio, `) prodotti matrice-vettore con il complemento di Schur Σ. Ciò significa, nel caso in cui Σ non sia costruita esplicitamente, dover risolvere ` × M problemi di Dirichlet per generare la matrice A0 . Osserviamo inoltre che l’operatore di restrizione introdotto al passo a. definisce uno spazio coarse le cui funzioni di base sono costanti a tratti su ciascun Γi . Per questo motivo, il precondizionatore di Neumann-Neumann con bilanciamento è spesso una scelta obbligata quando o la griglia o la decomposizione in sotto-domini (o entrambe) è non strutturata (si veda, ad esempio, la Figura 4.11). Confrontando i risultati numerici ottenuti per il complemento di Schur e il precondizionatore di Neumann-Neumann, con e senza bilanciamento, possiamo trarre le seguenti conclusioni: • anche se meglio condizionata rispetto ad A, Σ è mal-condizionata, e perciò si deve ricorrere ad un opportuno precondizionatore; 4.7. I METODI ITERATIVI DI SCHWARZ 131 Plotmesh 1 0.8 0.6 0.4 Y − Axis 0.2 0 −0.2 −0.4 −0.6 −0.8 −1 −1 −0.5 0 X − Axis 0.5 1 Figura 4.11: Esempio di decomposizione non strutturata in 8 sotto-domini. K((PhBN N )−1 Σ) h = 1/16 h = 1/32 h = 1/64 h = 1/128 H = 1/2 H = 1/4 H = 1/8 H = 1/16 1.67 1.48 1.27 2.17 2.03 1.47 1.29 2.78 2.76 2.08 1.55 3.51 3.67 2.81 2.07 Tabella 4.3: Numero di condizionamento di (P hBN N )−1 Σ al variare di H. • il precondizionatore di Neumann-Neumann può essere applicato in modo soddisfacente utilizzando un numero relativamente piccolo di sotto-domini (ad esempio, fino a 16), mentre, per grandi valori di M , K((PhN N )−1 Σ) > K(Σ); • il precondizionatore di Neumann-Neumann con bilanciamento è quasi ottimale e scalabile, e dunque dovrebbe esser una scelta obbligata nel caso in cui il numero dei sotto-domini sia grande. 4.7 I metodi iterativi di Schwarz Il metodo di Schwarz è stato in origine proposto come schema iterativo per dimostrare l’esistenza della soluzione delle equazioni ellittiche definite su domini a forma di L (si veda la Figura 4.12). Sebbene venga ancora utilizzato come metodo di soluzione per tali equazioni su domini di forma generica, è oggigiorno più comunemente impiegato come precondizionatore di tipo domain decomposition per lo schema del gradiente coniugato (o per i metodi di Krylov) nella risoluzione dei sistemi algebrici derivanti dalla discretizzazione di problemi ai valori al bordo. Riprendiamo l’idea generale già esposta nella Sezione 4.2.1. Una caratteristica essenziale del metodo di Schwarz è che si basa su di una suddivisione del dominio computazionale in sottodomini con sovrapposizione. Tuttavia, per semplificare le notazioni, indicheremo nel seguito CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 132 Ω1 Γ 12 Ω2 Figura 4.12: Esempio di dominio a forma di L. ancora con Ωm il sotto-dominio “esteso”. Inoltre, per semplicità di esposizione, consideriamo come problema di riferimento il problema di Poisson (4.24). Per incominciare, supponiamo che Ω sia un dominio bidimensionale e siano Ω 1 ed Ω2 due sottodomini con sovrapposizione la cui unione coincide con Ω stesso. Denotiamo allora con Γ 1 = ∂Ω1 \ ∂Ω e con Γ2 = ∂Ω2 \ ∂Ω. Il metodo classico di Schwarz prevede la generazione di una successione di funzioni convergente (0) alla soluzione del problema (4.24) ed è definito nel seguente modo: data û 2 , per k ≥ 0, risolvere (k+1) −4û1 = f in Ω1 , (k+1) (k) û1 = û2 su Γ1 , (k+1) û1 = 0 su ∂Ω1 \ Γ1 , (k+1) −4û2 = f ( (k+1) û1 (k+1) û = 2 (k) û1 (k+1) û2 = 0 (4.92) in Ω2 , su Γ2 , (4.93) su ∂Ω2 \ Γ2 . Le funzioni ûi sono definite solamente su Ωi . Come si osserva, in (4.93) vengono contemplate (k+1) (k+1) due alternative: la scelta û2 = û1 porta ad una versione di tipo sequenziale, detta molti(k+1) (k) plicativa, mentre ponendo û2 = û1 individuiamo una versione parallela detta additiva. Il motivo dietro tale terminologia è fornito nell’Osservazione 4.3. 4.7.1 Interpretazione variazionale del metodo di Schwarz Al metodo (4.92)-(4.93) può essere data un’interpretazione variazionale introducendo opportuni operatori di proiezione. Tale interpretazione, oltre ad essere essenziale per effettuare un’analisi di convergenza del metodo, suggerirà il modo per generalizzare il metodo di Schwarz a for- 4.7. I METODI ITERATIVI DI SCHWARZ 133 me più interessanti. Ricordiamo che il problema in esame (4.24) ammette come formulazione variazionale la (4.50), rimpiazzati uh e vh con u e v. Facciamo notare inltre che il teorema che stiamo per dimostrare è molto tecnico e non essenziale per la comprensione degli aspetti algoritmici che vedremo nel seguito. Teorema 4.11. Un’iterazione moltiplicativa di Schwarz può essere interpretata come un’iterazione del metodo di Richardson per il problema Qm u = g m . (4.94) Analogamente, un’iterazione additiva di Schwarz è equivalente ad un’iterazione del metodo di Richardson per il problema Qa u = g a , (4.95) con Q m = P 1 + P 2 − P 2 P1 , Qa = P 1 + P 2 , gm e ga termini noti dipendenti da f , e P1 e P2 operatori di proiezione opportuni. Dimostrazione. Siano V = H01 (Ω), Vi0 = H01 (Ωi ) e Vi∗ = {v ∈ V | v = 0 in Ω \ Ωi }. Definiamo dunque, per il caso moltiplicativo, ( (k+1) û1 in Ω1 , u(k+1/2) = (k) û2 |Ω2 \Ω1 in Ω \ Ω1 , u (k+1) = ( (k+1) û2 (k+1) û1 in Ω2 , |Ω1 \Ω2 in Ω \ Ω2 . (k) Ne segue che u(k+1/2) = u(k) + w̃1 , essendo ( (k) w1 in Ω1 , (k) w̃1 = 0 in Ω \ Ω1 . (k) La funzione w1 ∈ V10 soddisfa su Ω1 il seguente problema di Dirichlet: (k) aΩ1 (w1 , v1 ) = (f, v1 )Ω1 − aΩ1 (u(k) , v1 ) (k) Inoltre, u(k+1) = u(k+1/2) + w̃2 con (k) w̃2 = ( (k) w2 in Ω2 , 0 in Ω \ Ω2 , ∀v1 ∈ V10 . (4.96) CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 134 (k) e w2 ∈ V20 soluzione su Ω2 del problema di Dirichlet: (k) aΩ2 (w2 , v2 ) = (f, v2 )Ω2 − aΩ2 (u(k+1/2) , v2 ) ∀v2 ∈ V20 . (4.97) Dalla (4.96), per ogni v ∈ V1∗ , otteniamo (k) (k) (k) a(u(k+1/2) − u(k) , v) = a(w̃1 , v) = aΩ1 (w̃1 , v) = aΩ1 (w1 , v|Ω1 ) = (f, v|Ω1 )Ω1 − aΩ1 (u(k) , v|Ω1 ) = (f, v)Ω − a(u(k) , v) = a(u, v) − a(u(k) , v) = a(u − u(k) , v). Analogamente, partendo dalla (4.97), si ha a(u(k+1) − u(k+1/2) , v) = a(u − u(k+1/2) , v). Per i = 1, 2, sia ora Pi∗ : V → Vi∗ l’operatore di proiezione ortogonale rispetto al prodotto scalare a(., .), cioè ∀w ∈ V, Pi∗ w ∈ Vi∗ : a(Pi∗ w − w, v) = 0 ∀v ∈ Vi∗ . (4.98) Abbiamo allora che u(k+1/2) − u(k) = P1∗ (u − u(k) ) (4.99) u(k+1) − u(k+1/2) = P2∗ (u − u(k+1/2) ). (4.100) e Sia ora Ji : Vi∗ → V un operatore di iniezione e defiamo Pi come Pi = Ji Pi∗ : V → V . Sia inoltre G : H −1 (Ω) → V definito nel modo seguente: Gg = ψ se e solo se ( −4ψ = g in Ω ψ = 0 su ∂Ω. Quindi u = Gf . Dalla (4.99) e dalla (4.100), ricaviamo u(k+1/2) = u(k) + P1∗ (u − u(k) ) = (I − P1 )u(k) + P1 Gf = u(k) + P1 G(f − Lu(k) ), u(k+1) = (I − P2 )u(k+1/2) + P2 Gf = u(k+1/2) + P2 G(f − Lu(k+1/2) ), (4.101) (4.102) avendo posto L = −4. Dunque u(k+1) = (I − P2 )[(I − P1 )u(k) + P1 Gf ] + P2 Gf = (I − P2 )(I − P1 )u(k) + (I − P2 )P1 Gf + P2 Gf, ed otteniamo u(k+1) = u(k) + Qm (Gf − u(k) ). (4.103) 4.7. I METODI ITERATIVI DI SCHWARZ Posto gm = Qm Gf , si ha 135 u(k+1) − u(k) = gm − Qm u(k) . (4.104) Si osservi che il termine di destra di tale equazione è il residuo associato al problema Q m u = gm . Ciò prova la (4.94). In modo del tutto analogo, possiamo dimostrare che un’iterazione additiva di Schwarz può essere scritta come u(k+1) − u(k) = ga − Qa u(k) (4.105) con ga = Qa Gf , il che prova la (4.95). Per definizione ga = Qa Gf = P1 Gf + P2 Gf. Posto gi = Pi Gf , per i = 1, 2 e sfruttata la definizione di Pi , otteniamo ∀vi ∈ Vi∗ a(gi , vi ) = a(Gf, vi ) = a(u, vi ) = (f, vi ) (i = 1, 2). Il calcolo di ga richiede dunque la soluzione di due problemi di Dirichlet indipendenti, su Ω 1 ed Ω2 , rispettivamente. Osservazione 4.3. Gli aggettivi moltiplicativa ed additiva nascono, rispettivamente, dalla struttura moltiplicativa di Qm ed additiva di Qa . Per studiare la convergenza delle iterazioni di Schwarz, introduciamo l’errore e k = u − uk associato alla k-esima iterata. Utilizzando la (4.104), troviamo la seguente formula ricorsiva ek+1 = (I − P2 )(I − P1 )ek , k≥0 per la versione moltiplicativa, mentre dalla (4.105) si ha che ek+1 = (I − P1 − P2 )ek , k≥0 per il caso additivo. Utilizzando queste formule ricorsive e il principio del massimo per gli operatori di proiezione, si può verificare che, in entrambi i casi, kek kL∞ (Ω) ≤ C(δ)2k ke0 kL∞ (Ω) per un’opportuna costante 0 < C(δ) < 1, che diventa tanto più prossima ad 1 quanto più la misura δ della zona di sovrapposizione si riduce a zero. Nel caso moltiplicativo, ad esempio, se Ω coincide con un intervallo monodimensionale, abbiamo C(δ) = 1 − δ/2 , 1 + δ/2 espressione che conferma appunto il vantaggio nell’aumentare la sovrapposizione tra i sottodomini. CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 136 4.7.2 Forma algebrica dei metodi di Schwarz per una discretizzazione ad elementi finiti I metodi di Schwarz possono essere adattati alla soluzione dei sistemi algebrici che derivano dall’approssimazione numerica di problemi ai valori al bordo. Consideriamo il sistema Au = f che supponiamo generato dalla discretizzazione ad elementi finiti del problema di Poisson. Supponiamo ancora che il dominio Ω sia decomposto in due sotto-domini, Ω 1 ed Ω2 , con sovrapposizione come mostrato in Figura 4.1 (in basso). Indichiamo con Nh il numero totale dei nodi interni di Ω, e con n1 e n2 , rispettivamente, i nodi interni di Ω1 e Ω2 . Osserviamo che Nh ≤ n1 + n2 e che l’uguaglianza vale soltanto se la sovrapposizione si riduce ad una singola striscia di elementi. Sia I = {1, . . . , N h } l’insieme degli indici dei nodi di Ω, mentre denotiamo con I1 e I2 quelli associati, rispettivamente, ad Ω1 ed Ω2 . Abbiamo dunque che I = I1 ∪ I2 , mentre I1 ∩ I2 = ∅ solo nel caso in cui la sovrapposizione si riduca ad una singola fascia di elementi. Ordiniamo i nodi nei tre blocchi in modo tale che il primo blocco corrisponda ai nodi di Ω 1 \ Ω2 , il secondo a Ω1 ∩ Ω2 , e il terzo a Ω2 \ Ω1 . La matrice di stiffness A contiene due sotto-matrici, A1 ed A2 , che corrispondono, rispettivamente, alle matrici di stiffness locali associate ai problemi di Dirichlet in Ω1 e Ω2 (si veda la Figura 4.13). Possono essere ottenute nel modo seguente: n1 PSfrag replacements A1 Nh A A2 n2 Figura 4.13: Le sotto-matrici A1 ed A2 della matrice di stiffness A. A1 = R1 AR1T ∈ Rn1 ×n1 e A2 = R2 AR2T ∈ Rn2 ×n2 , dove Ri ed RiT , con i = 1, 2, sono gli operatori di restrizione e di prolungamento la cui rappresentazione matriciale è data da 1 ... 0 .. . . .. 0 . . . Nh ×n1 T T 0 . . . 1 , R2 = 1 . . . 0 ∈ RNh ×n2 . R1 = ∈R .. . . .. . . . 0 0 ... 1 Se v è un vettore di RNh , allora R1 v è un vettore di Rn1 le cui componenti coincidono con le prime n1 componenti di v. Se v è invece un vettore di Rn1 , allora R1T v è un vettore di dimensione Nh le cui ultime Nh − n1 componenti sono nulle. 4.7. I METODI ITERATIVI DI SCHWARZ 137 Sfruttando tali definizioni, possiamo rappresentare un’iterata del metodo di Schwarz, nella versione moltiplicativa, applicata al sistema Au = f nel seguente modo: k uk+1/2 = uk + R1T A−1 1 R1 (f − Au ), (4.106) k+1/2 uk+1 = uk+1/2 + R2T A−1 ), 2 R2 (f − Au (4.107) in analogia alle (4.101) e (4.102). Equivalentemente, posto Pi = RiT A−1 i Ri A, con i = 1, 2, abbiamo, in analogia con la (4.103), uk+1/2 = (I − P1 )uk + P1 u, uk+1 = (I − P2 )uk+1/2 + P2 u = (I − P2 )(I − P1 )uk + (P1 + P2 − P2 P1 )u. In modo analogo, un’iterata del metodo di Schwarz, nella versione additiva, diventa T −1 (k) u(k+1) = u(k) + (R1T A−1 1 R1 + R2 A2 R2 )(f − Au ), (4.108) u(k+1) = (I − P1 − P2 )u(k) + (P1 + P2 )u. (4.109) ovvero Se ora introduciamo le matrici −1 Qi := RiT A−1 i Ri = P i A , per i = 1, 2, allora dalle (4.106) e (4.107) deriviamo che uk+1 = uk + Q1 (f − Auk ) + Q2 [f − A(uk + Q1 (f − Auk ))] = uk + (Q1 + Q2 − Q2 Q1 )(f − Auk ) per il metodo di Schwarz moltiplicativo, mentre, per il caso additivo, ricaviamo dalla (4.108) che uk+1 = uk + (Q1 + Q2 )(f − Auk ). (4.110) Quest’ultima formula può essere facilmente estesa al caso di una decomposizione di Ω in M ≥ 2 sotto-domini {Ωi } con sovrapposizione (si veda la Figura 4.14), avendosi in tal caso u k+1 k =u + M X i=1 Qi (f − Auk ). (4.111) CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 138 4.7.3 Il metodo di Schwarz come precondizionatore Indicato con Pas = M X Qi i=1 −1 , (4.112) segue immediatamente dalla (4.111) che un’iterata del metodo di Schwarz additivo corrisponde ad un’iterata dello schema di Richardson precondizionato con la matrice P as applicato alla risoluzione del sistema lineare Au = f . Per questo motivo, Pas è noto come precondizionatore di Schwarz additivo. Analogamente, se introduciamo la matrice precondizionata Qa = −1 Pas A = M X Pi , i=1 un’iterata del metodo di Schwarz additivo corrisponde ad un’iterata dello schema di Richardson −1 applicato al sistema Qa u = ga , con ga = Pas f. Lemma 4.3. La matrice Pi è simmetrica e non negativa rispetto al prodotto scalare indotto da A (w, v)A := (Aw, v) ∀w, v ∈ RNh . Dimostrazione. Abbiamo, per i = 1, 2, T −1 (Pi w, v)A = (APi w, v) = (RiT A−1 i Ri Aw, Av) = (Aw, Ri Ai Ri Av) = (w, Pi v)A , ∀v, w ∈ RNh . Inoltre, Nh −1 . (Pi v, v)A = (APi v, v) = (RiT A−1 i Ri Av, Av) = (Ai Ri Av, Ri Av) ≥ 0. ∀v ∈ R Lemma 4.4. La matrice precondizionata Qa del metodo di Schwarz additivo è simmetrica e definita positiva rispetto al prodotto scalare indotto da A. Dimostrazione. Dimostriamo, per primo, la simmetria: per ogni u, v ∈ R Nh , in virtù della simmetria di A e Pi , otteniamo X (Qa u, v)A = (AQa u, v) = (Qa u, Av) = (Pi u, Av) i = X (Pi u, v)A = i X (u, Pi v)A = (u, Qa v)A . i Per quel che riguarda la positività, scegliendo nelle precedenti identità u = v, otteniamo: X X X (Qa v, v)A = (Pi v, v)A = (RiT A−1 (A−1 i Ri Av, Av) = i qi , qi ) ≥ 0 i i i 4.7. I METODI ITERATIVI DI SCHWARZ 139 con qi = Ri Av. Segue che (Qa v, v)A = 0 se e solo se qi = 0, per ogni i, ovvero se e solo se Av = 0; poiché A è definita positiva, ciò si verifica se e solo se v = 0. Si può dunque ottenere un metodo iterativo più efficiente per risolvere il sistema lineare Au = f utilizzando lo schema del gradiente coniugato precondizionato con il precondizionatore di Schwarz additivo Pas . Tale precondizionatore non è tuttavia ottimale poiché il numero di condizionamento della matrice precondizionata Qa cresce al ridursi della misura dei sotto-domini. Infatti si ha: 1 −1 , K(Pas A) ≤ C δH con C costante indipendente da h, H e δ, ed essendo H = max i=1,...,M {diam(Ωi )}. Ciò è dovuto al fatto che lo scambio di informazione avviene soltanto tra sotto-domini vicini, in quanto l’applicazione di (Pas )−1 coinvolge soltanto risolutori locali. Tale limite può essere superato introducendo un problema globale coarse definito sull’intero dominio Ω e in grado di garantire una comunicazione globale tra tutti i sotto-domini. Questa correzione ci porterà a considerare una strategia generale di tipo multi-livello, come avremo modo di vedere nella Sezione 4.7.4. Per applicare i metodi di decomposizione di domini con sovrapposizione, dividiamo Ω in M M sotto-domini {Ωi }M i=1 tali che ∪i=1 Ωi = Ω. Gli Ωi condividono una sovrapposizione almeno + pari a δ = ξh, con ξ ∈ N . In particolare, ξ = 1 corrisponde alla sovrapposizione minimale, cioè al caso in cui la sovrapposizione si riduce ad una sola fila di elementi. Da un punto di vista algoritmico, si procede nel seguente modo: Algoritmo 4.5 (definizione di sotto-domini con sovrapposizione). a. Costruire una triangolazione Th del dominio computazionale Ω b. Suddividere la griglia Th in M sotto-domini {Ω̂i }M i=1 senza sovrapposizione tali che ∪M i=1 Ω̂i = Ω c. Estendere ogni sotto-dominio Ω̂i aggiungendo tutte le strisce di elementi di Ω entro una certa distanza δ da Ω̂i . Sono così individuati i domini Ωi Riferiamo alla Figura 4.14 per una rappresentazione di una regione bidimensionale rettangolare suddivisa in 9 regioni Ω̂i senza sovrapposizione (sulla sinistra) ed un esempio di sotto-dominio esteso (sulla destra). Per applicare il precondizionatore di Schwarz (4.112), procediamo come indicato nell’Algoritmo 4.6. Ricordiamo che ni indica il numero dei nodi contenuti in Ωi , RiT ∈ Rn×ni è una matrice di prolungamento la cui azione è quella di estendere a zero un vettore definito su Ω i , Ri è la sua trasposta e Ai = Ri ARiT . Riportiamo in Figura 4.15 un esempio di pattern di sparsità per la matrice Ri . Algoritmo 4.6 (fase di startup per applicare Pas ). a. Su ogni sotto-dominio Ωi , costruire Ri ed RiT b. Costruire la matrice A corrispondente alla discretizzazione ad elementi finiti sulla griglia Th CAPITOLO 4. DECOMPOSIZIONE DI DOMINI PSfrag 140 replacements Ω̂1 Ω̂4 Ω̂7 Ω̂2 Ω̂5 Ω̂8 Ω̂3 Ω̂6 Ω̂9 Ω5 Figura 4.14: Partizione di una regione rettangolare 2D Ω suddivisa in 9 regioni senza sovrapposizione Ω̂i (sulla sinistra), e un esempio di sotto-dominio esteso Ω 5 (sulla destra). 0 5 10 15 20 25 0 10 20 30 40 nz = 27 50 60 70 80 Figura 4.15: Esempio di pattern di sparsità della matrice R i per una partizione del dominio in 4 sottodomini. c. Su ogni Ωi , costruire le sotto-matrici locali Ai = Ri ARiT d. Su ogni Ωi , predisporre il codice alla risoluzione di un sistema lineare con matrice associata Ai . Per esempio, si può calcolare la fattorizzazione LU di Ai Alcuni commenti generali sugli Algoritmi 4.5 e 4.6 sono d’obbligo: • i passi a. e b. dell’Algoritmo 4.5 possono essere effettuati in ordine inverso, ovvero si può prima suddividere il dominio computazionale (utilizzando, ad esempio, informazioni tratte dal problema fisico in esame), e poi triangolare; • a seconda di quella che è la struttura generale del codice, si potrebbe pensare di unire i passi b. e c. dell’Algoritmo 4.6 al fine di ottimizzare sia le risorse di memoria che i tempi di CPU; • nel passo d. dell’Algoritmo 4.6, la fattorizzazione esatta potrebbe essere rimpiazzata da una fattorizzazione incompleta. L’implementazione finale del precondizionatore Pas può essere effettuata nel seguente modo: Algoritmo 4.7 (precondizionatore di Schwarz ad un livello). Dato un vettore r, −1 calcolare z = Pas r nel modo seguente: 4.7. I METODI ITERATIVI DI SCHWARZ 141 a. Porre z = 0 b. For i = 1, . . . , M Do in parallelo: c. restringere il residuo su Ωi : ri = Ri r d. calcolare zi = A−1 i ri e. sommare nel residuo globale: z ← RiT zi f. EndFor Osserviamo che nel passo b. si considerano soltanto i nodi interni di Ω i dal momento che stiamo imponendo condizioni al bordo omogenee su ∂Ωi \∂Ω. Inoltre, nel passo d., il calcolo di zi viene spesso effettuato in modo approssimato. Per esempio, si può ricorrere ad una fattorizzazione incompleta di Ai . In alternativa, si potrebbe utilizzare un risolutore iterativo annidato (munito di un precondizionatore locale), arrestato in corrispondenza di una tolleranza relativamente alta. Quest’ultima soluzione richiede tuttavia cautela dal momento che il precondizionatore risultante non è costante ad ogni applicazione, ed il risolutore iterativo che ne deriva potrebbe dunque divergere. In Tabella 4.4, analizziamo il caso di una sovrapposizione minimale (δ = h) considerando diversi valori per il numero M di sotto-domini. Per quel che riguarda la decomposizione di domini, consideriamo dei quadrati Ωi , con sovrapposizione, ciascuno di area H 2 . Come previsto dalla −1 teoria, si osserva che K(Pas A) ≤ C/(Hδ). −1 K(Pas A) h = 1/16 h = 1/32 h = 1/64 h = 1/128 H = 1/2 H = 1/4 H = 1/8 H = 1/16 15.95 27.09 52.08 31.69 54.52 104.85 207.67 63.98 109.22 210.07 416.09 127.99 218.48 420.04 832.57 −1 A al variare di h e H. Tabella 4.4: Numero di condizionamento di Pas 4.7.4 Metodi di Schwarz a due livelli Come anticipato in Sezione 4.7.3, il limite principale del metodo di Schwarz sta nel fatto che l’informazione si propaga soltanto tra i sotto-domini adiacenti. Per ovviarvi, come già precedentemente fatto per il metodo di Neumann-Neumann, si può introdurre un termine di scambio di informazioni globale all’interno del dominio Ω. L’idea è sempre quella di considerare i sottodomini Ωi come dei macro-elementi su Ω costituenti una griglia coarse TH a cui si può associare la matrice AH . Si può dunque introdurre l’operatore QH associato alla soluzione ad elementi finiti globale: T −1 QH = R H AH RH , CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 142 dove RH denota l’operatore di restrizione sulla griglia coarse. Posto Q0 := QH , possiamo allora definire una nuova matrice di precondizionamento −1 Pcas = M X Qi , (4.113) i=0 per la quale è possibile dimostrare il risultato seguente: Teorema 4.12. Esiste una costante C > 0, indipendente da h ed H, tale che −1 K(Pcas A) ≤ C H . δ −1 Si osserva dunque che, utilizzando il precondizionatore Pcas , si perviene ad un metodo scalabile e quindi parallelizzabile. L’applicazione di Pcas richiede le stesse operazioni necessarie per l’utilizzo di Pas , più le seguenti altre: Algoritmo 4.8 (fase di startup per applicare Pcas ). a. Eseguire l’Algoritmo 4.6 b. Definire una triangolazione grossolana T0 i cui elementi sono dell’ordine di H, e porre n0 = dim(V0 ). Supponiamo che Th sia annidata in T0 (si veda, per esempio, la Figura 4.16 o 4.17) c. Costruire l’operatore di restrizine R0 ∈ Rn0 ×n . questa matrice sono date da Le entrate di R0 (i, j) = Φi (xj ), dove Φi è la funzione di base associata al nodo i della griglia grossolana mentre con xj indichiamo le coordinate del nodo j sulla griglia fine d. Costruire la matrice coarse A0 . Ciò può esser fatto discretizzando il problema variazionale originale su T0 , ovvero calcolando A0 come Z X d ∂Φi ∂Φj A0 (i, j) = a(Φj , Φi ) = , Ω `=1 ∂x` ∂x` oppure come A0 = R0 AR0T . 4.7. I METODI ITERATIVI DI SCHWARZ 143 Figura 4.16: Esempio di griglia coarse per un dominio 2D basata su una mesh strutturata. I triangoli della griglia fine sono in linea sottile mentre le linee spesse identificano i triangoli associati alla mesh coarse. Figura 4.17: Esempio di griglia coarse per un dominio 2D basata su una mesh non strutturata. I triangoli della griglia fine sono in linea sottile mentre le linee rosse identificano i triangoli associati alla mesh coarse. CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 144 Se il dominio computazionale ha una forma “semplice” (come nel caso del problema che stiamo considerando), viene solitamente costruita prima la griglia grossolana T 0 e poi, raffinandola un certo numero di volte, si genera la griglia fine Th . In presenza invece di domini caratterizzati da una forma complessa o di griglie non uniformi, la generazione della griglia coarse costituisce l’aspetto più problematico degli algoritmi a due livelli. In tal caso, si può costruire prima la griglia fine Th e poi, deraffinandola opportunamente, si genera la griglia grossolana T 0 . Operativamente ciò significa che i nodi di T0 sono un sotto-insieme dei nodi di Th . Gli elementi costituenti T0 verranno quindi costruiti a partire da tale insieme di nodi, operazione questa abbastanza semplice nel caso bi-dimensionale, meno banale nel caso 3D. Come alternativa si potrebbero generare le due griglia Th e T0 indipendentemente una dall’altra e poi costruire gli operatori R0 ed R0T (si osservi che, in tal caso, le due mesh potrebbero non essere annidate). È importante inoltre ricordare che il problema sulla griglia coarse dovrà essere completato da condizioni al bordo opportune, che tengano conto di quanto assegnato sulla griglia fine. L’implementazione finale di Pcas può dunque essere realizzata nel seguente modo: −1 Algoritmo 4.9 (applicazione di Pcas ). Dato un vettore r, calcolare z = Pcas r nel modo seguente: a. b. c. d. e. f. g. h. Porre z = 0 For i = 1, . . . , M Do in parallelo: restringere il residuo su Ωi : ri = Ri r calcolare zi = A−1 i ri sommare nel residuo globale: z ← RiT zi EndFor Risolvere z0 = A−1 0 (R0 r) sommare nel residuo globale: z ← R0T z0 I passi a.-f. dell’Algoritmo 4.9 sono esattamente gli stessi dell’Algoritmo 4.7. Perciò, una volta che R0 ed A0 sono stati generati, è estremamente facile modificare una function che implementa Pas includendo la correzione basata sulla griglia coarse. −1 In Tabella 4.5 riportiamo il numero di condizionamento di Pcas A. La sovrapposizione è identificata da δ = h. Osserviamo che il numero di condizionamento è pressoché costante per valori fissati del rapporto H/δ. −1 K(Pcas A) h = 1/32 h = 1/64 h = 1/128 h = 1/256 H = 1/4 H = 1/8 H = 1/16 H = 1/32 7.03 4.94 12.73 7.59 4.98 23.62 13.17 7.66 4.99 45.33 24.34 13.28 - −1 A al variare di h e H. Tabella 4.5: Numero di condizionamento di Pcas 4.7. I METODI ITERATIVI DI SCHWARZ 145 È possibile definire lo spazio coarse in modo alternativo a quanto fatto fino ad ora. Supponiamo che gli elementi identificanti l’operatore R0 di restrizione dalla griglia fine a quella grossolana siano dati da ( 1 se il nodo j ∈ Ωi , R̂0 (i, j) = 0 altrimenti, e che Â0 = R̂0 AR̂0T . Questa procedura è detta aggregazione (o agglomerato), poiché gli elementi di Â0 sono costruiti semplicemente sommando gli elementi di A. Tale procedimento non richiede l’introduzione di una griglia coarse. Il precondizionatore risultante è dato da −1 Paggre = R̂0T Â−1 0 R̂0 + Pas . Si può dimostrare che −1 K(Paggre A) H ≤C 1+ δ . Riportiamo in Tabella 4.6 alcuni risultati numerici associati a tale precondizionatore. −1 Paggre A h = 1/16 h = 1/32 h = 1/64 h = 1/128 H = 1/4 H = 1/8 H = 1/16 13.37 8.87 26.93 17.71 9.82 54.33 35.21 19.70 109.39 70.22 39.07 −1 A al variare di h e H. Tabella 4.6: Numero di condizionamento di Paggre Occupiamoci ora dei tempi di CPU richiesti dai metodi a due livelli su architetture parallele. Utilizziamo a tal fine il seguente precondizionatore di Schwarz a due livelli: −1 −1 Phybrid2 = Pas + B0 − Pas AB0 , con B0 = R0T A−1 0 R0 . Questo precondizionatore è non simmetrico; si dovrà perciò ricorrere, in questo caso, ad opportuni risolutori alla Krylov, quali il GMRES, il TFQMR, il CGS, o il Bi-CGSTAB. Quest’ultimo schema è quello da noi adottato nei test numerici a cui faremo riferimento. Il problema di riferimento è ( −∆u = xey in Ω = (0, 1)2 , u = −xey su ∂Ω. Come criterio globale di convergenza per lo schema iterativo abbiamo adottato il seguente: kAuk − f k2 ≤ tol, kuk k2 (4.114) CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 146 essendo tol ≤ 10−6 la tolleranza richiesta. Sui vari sotto-domini abbiamo risolto il problema utilizzando il metodo CG precondizionato con RILU. Il criterio locale di convergenza è stato ancora identificato con la (4.114), scelto però tol = 10−4 . Per la discretizzazione del problema è stata utilizzata una griglia fine costituita da 480×480 elementi Q1 , ed una griglia coarse costituita da 60 × 60 elementi Q1 . Riportiamo: • il numero di iterazioni richiesto per la convergenza: Pas Phybrid2 M =4 M =9 91 112 11 11 M = 16 M = 25 M = 36 132 145 157 11 12 11 • il tempo di CPU in ambiente parallelo: Pas Phybrid2 M =4 M =9 558.25 174.89 169.32 40.83 • il corrispondente speed-up1 , definito come speedup ideale Pas Phybrid2 M =4 4 4 4 M = 16 M = 25 M = 36 79.07 45.53 31.96 18.25 11.16 5.87 T4procs ∗ 4 : Tnprocs M = 9 M = 16 M = 25 M = 36 9 16 25 36 12.76 28.24 49.05 69.86 16.48 37.05 61.45 115.37 • il numero di iterazioni richiesto per la convergenza fissata una sovrapposizione pari ad h: Pas Phybrid2 1 M =4 M =9 91 112 11 11 M = 16 M = 25 M = 36 132 145 157 11 12 11 Lo speedup di un algoritmo è definito come sp = Tp , T1 dove Tp è il tempo richiesto per risolvere il problema considerato servendosi di p processori, mentre T 1 è l’analogo tempo servendosi però di un solo processore. A volte viene considerato invece lo speedup relativo, definito come: s0p = Tp , T` × ` essendo ` il numero minimo di processori utilizzabile per la risoluzione del problema in esame. 4.8. ALCUNE ESTENSIONI 147 • il numero di iterazioni richiesto per la convergenza fissata una sovrapposizione pari ad Pas Phybrid2 M =4 M =9 35 51 4 4 1 : 20 M = 16 M = 25 M = 36 67 81 96 5 6 6 Osserviamo che, come anticipato dalla teoria, il numero di iterazioni richiesto per la convergenza aumenta all’aumentare del numero di sotto-domini se si adotta il precondizionatore P as . Per i metodi a due livelli abbiamo invece un numero di condizionamento limitato da un fattore costante indipendente da H ed h, poiché H/δ =costante. In questo caso perciò il precondizionatore a due livelli è ottimale (nel senso che il numero di condizionamento non dipende da h) e scalabile (nel senso che il numero di condizionamento non dipende da H). In base ai risultati presentati per i precondizionatori di Schwarz a uno e a due livelli, possiamo concludere che: - i metodi a due livelli sono sempre caratterizzati da performance migliori di quelli ad un solo livello, anche se, per h piccoli e per un ridotto numero di sotto-domini, P as fornisce risultati comunque soddisfacenti; - per valori di M grandi è fondamentale utilizzare metodi a due livelli, di tipo additivo o ibrido; - possono essere adottate tecniche di aggregazione per la definizione della griglia coarse nel caso in cui tale costruzione risulti difficile o computazionalmente onerosa. 4.8 Alcune estensioni Le tecniche di decomposizione in sotto-domini illustrate nelle Sezioni precedenti per il problema di Poisson, possono essere applicate, in modo analogo, a problemi qualsiasi, anche evolutivi, della forma ( Lu = f in Ω, (4.115) condizioni al bordo su ∂Ω, o ∂u + Lu = f in Ω × (0, T ), ∂t condizioni al bordo su ∂Ω × (0, T ), condizione iniziale in Ω, con t = 0, (4.116) con L operatore differenziale qualsiasi, lineare o non lineare. Identifichiamo, ad esempio, l’operatore L in (4.115) con Lu = −∇ · (a∇u) + b · ∇u + cu, (4.117) CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 148 dove a, b e c sono funzioni assegnate opportune. Considerando una decomposizione senza sovrapposizione, avremo le seguenti condizioni d’interfaccia su Γ: u1 = u 2 , (a∇u1 ) · n = (a∇u2 ) · n. Nel caso evolutivo, identificato ancora L in (4.116) con seguenti problemi, per ogni t > 0: ∂u1 + Lu1 = f ∂t ∂u2 + Lu2 = f ∂t u1 = u 2 (a∇u ) · n = (a∇u ) · n 1 2 (4.117), bisognerà risolvere invece i in Ω1 , in Ω2 , su Γ, su Γ. Bisognerà in questo caso discretizzare la derivata temporale utilizzando un metodo implicito piuttosto che esplicito. Nel caso in cui si utilizzi, ad esempio, il metodo di Eulero implicito si avrà un+1 − un + Lun+1 = f ∆t e poi andranno applicate le condizioni di interfaccia. 4.8.1 Condizioni all’interfaccia per problemi differenti Introduciamo in questa sezione le condizioni di interfaccia associate alla risoluzione con il metodo della decomposizione di domini di alcuni problemi interessanti per le applicazioni. La Tabella 4.7 riassume le condizioni da imporsi sull’interfaccia Γ per alcuni tra i più diffusi problemi differenziali. Forniamo qualche spiegazione riguardo ai problemi di trasporto e di Stokes. Problemi di trasporto. Consideriamo il problema Lu = ∇ · (bu) + a0 u = f in Ω, (4.118) completato su ∂Ω da condizioni al bordo opportune. È un problema del prim’ordine e dunque all’interfaccia si avrà una sola condizione. Introduciamo una partizione dell’interfaccia Γ (si veda la Figura 4.18): Γ = Γin ∪ Γout , dove Γin = {x ∈ Γ| b(x) · n(x) > 0 } e Γout = Γ \ Γin . Si può utilizzare allora il seguente metodo di tipo Dirichlet-Neumann (con rilassamento): ( Luk+1 =f in Ω1 , 1 (b · n)uk+1 = (b · n)uk2 su Γout , 1 4.8. ALCUNE ESTENSIONI 149 PSfrag replacements Ω1 Ω Γin n Γ Γout Ω2 Figura 4.18: Decomposizione del dominio per il problema di trasporto (4.118). ( Luk+1 =f 2 in Ω2 , (b · n)uk+1 = (b · n)uk1 su Γin . 2 Il problema di Stokes. Osserviamo che per il problema di Stokes ci sono due incognite: la velocità e la pressione del fluido. Tuttavia all’interfaccia si impone solamente la continuità della velocità e non quella della pressione. Ciò è dovuto al fatto che p ∈ L 2 (Ω) e che, se una funzione ϕ appartiene ad L2 (Ω), allora le sue restrizioni ai sotto-domini Ω1 ed Ω2 appartengono ancora ad L2 (Ω1 ) e L2 (Ω2 ), e viceversa. Al contrario se f ∈ H 1 (Ωi ), per i = 1, 2, allora in generale f∈ / H 1 (Ω): questo giustifica l’imposizione della continuità su Γ per la velocità. Il problema che si considera è il seguente: −ν4u + ∇p = f in Ω, ∇·u=0 in Ω, u=0 su ∂Ω. Quello che si fa è imporre sull’interfaccia Γ la continuità della velocità u e del tensore di Cauchy ∂u − pn. ∂n Sia S l’operatore di Stokes. Si può allora applicare uno schema di tipo Dirichlet-Neumann e, in tal caso, si è ricondotti alla risoluzione dei due seguenti problemi: k+1 S(uk+1 in Ω2 , 2 , p2 ) = f ∂uk1 ∂uk+1 (4.119) = ν − pk1 su Γ, ν 2 − pk+1 2 ∂n ∂n uk+1 = 0 su ∂Ω \ Γ, ν 2 2 k+1 S(uk+1 in Ω1 , 1 , p1 ) = f k+1 k+1 u1 = θu2 + (1 − θ)uk1 su Γ, uk+1 = 0 su ∂Ω1 \ Γ. 1 (4.120) CAPITOLO 4. DECOMPOSIZIONE DI DOMINI 150 Osserviamo che, se si considera come condizione al bordo per la velocità u = 0, la pressione p non è univocamente determinata, ovvero è definita a meno R di una costante additiva. Bisogna dunque fissare tale costante, imponendo, ad esempio, che Ω p = 0. Ora la questione è: come si può garantire che tale vincolo venga rispettato quando k tende all’infinito in (4.119) e (4.120)? Quando si risolve il problema di Neumann (4.119) sul sotto-dominio Ω 2 , la velocità uk+1 e 2 k+1 la pressione p2 sono determinate univocamente. Successivamente si risolve il problema di Dirichlet (4.120) su Ω1 , ma, poiché la pressione è definita a meno di una costante additiva, si deve aggiungere la condizione Z Z k+1 p1 dΩ1 = − pk+1 dΩ2 . 2 Ω1 Ω2 Ora è evidente che quando le successioni {uk1 }, {uk2 }, pk1 e pk2 convergono, la condizione sulla media nulla per la pressione è automaticamente verificata. Consideriamo ora il metodo di Schwarz per il problema di Stokes. In tal caso si impone soltanto la continuità della velocità u: k+1 S(uk+1 1 , p1 ) = f in Ω1 , uk+1 = uk2 su Γ1 , (4.121) 1 uk+1 = 0 su ∂Ω \ Γ , 1 1 1 k+1 S(uk+1 2 , p2 ) = f in Ω2 , uk+1 = uk+1 su Γ2 , 2 1 uk+1 = 0 su ∂Ω2 \ Γ2 . 2 (4.122) Come si vede non vi è alcuna condizione sulla pressione ora. La velocità del fluido deve avere divergenza nulla in Ω. Ora, quando si risolve (4.121), si ha ∇ · u1 = 0 in Ω1 e, grazie alla formula di Green, ne segue che Z u1 · n = 0. ∂Ω1 Dunque uk2 in (4.121)2 non può assumere un valore prefissato, ma deve soddisfare piuttosto la condizione seguente: Z Z Z Z Z 0= u1 · n dγ = u1 · n dγ + u1 · n dγ = u1 · n dγ = uk2 · n dγ. (4.123) ∂Ω1 ∂Ω1 \Γ1 Γ1 Γ1 Γ1 Alla prima iterazione si può scegliere uk2 in modo tale che la (4.123) sia soddisfatta, ma successivamente si perde del tutto il controllo su tale quantità. Inoltre, per lo stesso motivo, quando si risolve (4.122), si deve avere che uk+1 soddisfa la condizione 1 Z uk+1 · n = 0. (4.124) 1 Γ 4.8. ALCUNE ESTENSIONI 151 Bisogna dunque garantire a priori che tale condizione sia sempre soddisfatta. Fortunatamente, il metodo di Schwarz garantisce automaticamente tale condizione. Sia infatti Γ 12 = Ω1 ∩ Ω2 ; ora in Γ12 si ha ∇ · u2 = 0, ma su Γ12 \ (Γ1 ∪ Γ2 ) uk2 è nulla in virtù delle condizioni al bordo. Allora ne segue che Z Z Z 0= ∂Γ12 uk+1 · n dγ = 1 Γ1 · n dγ + uk+1 1 Γ2 uk+1 · n dγ, 1 essendo nullo il primo integrale a causa della (4.123), e dunque la (4.124) è verificata. 152 Operatore CAPITOLO 4. DECOMPOSIZIONE DI DOMINI Tabella 4.7: Condizioni di accoppiamento su Γ Problema Continuità (D) Laplace −4u = f Elasticità −∇ · (σ(u)) = f con σkj = µ̂(Dk uj + Dj uk ) + λ̂divuδkj , u spostamento della membrana nel piano P − kj Dk (Akj Dj u) + div(bu) + a0 u = f Diffusione-trasporto Trasporto Stokes (fluidi viscosi incomprimibili) Stokes (fluidi viscosi comprimibili) Stokes (fluidi non viscosi comprimibili) Maxwell (regime armonico) u −α2 εE + iασE = f σ(u) · n u u X ∂u akj Dj u · nk = ∂nL k b ·nu div(bu) + a0 u = f −divT(u, p) + (u∗ · ∇)u = f divu = 0 con Tkj = ν(Dk uj + Dj uk ) − pδkj , (Stokes) 0 u∞ (Oseen) u∗ = u (Navier-Stokes) αu − divT̂(u, σ) = f ασ + divu = g con T̂kj = ν(Dk uj +Dj uk ), −βσδkj + g − 2ν divuδkj , d ρ = densità del fluido = log σ αu + β∇σ = f ασ + divu = 0 1 rotE rot µ Continuità (N) ∂u ∂n u T(u, p) · n u T̂(u, σ) · n u·n σ n×E n× 1 rotE µ