Questo è principalmente rivolto a PDE ellittici su domini convessi, in modo che io possa avere una buona panoramica dei due metodi.
Questo è principalmente rivolto a PDE ellittici su domini convessi, in modo che io possa avere una buona panoramica dei due metodi.
Risposte:
I metodi di decomposizione di domini multigrid e multilivello hanno così tanto in comune che ciascuno può essere scritto come un caso speciale dell'altro. I quadri di analisi sono in qualche modo diversi, come conseguenza delle diverse filosofie di ciascun campo. In generale, i metodi multigrid utilizzano tassi di irruvidimento moderati e smoother semplici mentre i metodi di decomposizione del dominio utilizzano accuratezza estremamente rapida e smoother forti .
Multigrid utilizza tassi di ingrossamento moderati e raggiunge la robustezza attraverso la modifica dell'interpolazione e degli smoothers. Per problemi ellittici, gli operatori di interpolazione dovrebbero essere "a bassa energia", in modo tale da preservare lo spazio quasi nullo dell'operatore (ad es. Modalità del corpo rigido). Un esempio di approccio geometrico a questi interpolanti a bassa energia è Wan, Chan, Smith (2000) , paragonabile alla costruzione algebrica dell'aggregazione levigata Vaněk, Mandel, Brezina (1996) (implementazioni parallele in ML e PETSc tramite PCGAMG, il sostituto di Prometheus ) . Il libro di Trottenberg, Oosterlee e Schüller è un buon riferimento generale sui metodi Multigrid.
La maggior parte dei leviganti multigrid comportano rilassamento puntuale, sia in modo additivo (Jacobi) o moltiplicativo (Gauss Seidel). Questi corrispondono a piccoli problemi di Dirichlet (singolo nodo o singolo elemento). Alcuni adattamenti spettrali, robustezza e vettorializzabilità possono essere raggiunti usando i leviganti Chebyshev, vedi Adams, Brezina, Hu, Tuminaro (2003) . Per problemi non simmetrici (ad es. Trasporto), sono generalmente necessari leviganti moltiplicativi come Gauss-Seidel e possono essere utilizzati interpolanti controvento. In alternativa, i smoothers per i punti di sella e i problemi di onde rigide possono essere costruiti trasformando tramite "precondizionatori di blocchi" ispirati al complemento di Schur o mediante il relativo "rilassamento distribuito", in sistemi in cui i smoothers semplici sono efficaci.
L'efficienza multigrid dei libri di testo si riferisce alla risoluzione dell'errore di discretizzazione in un piccolo multiplo del costo di alcune valutazioni residue, fino a quattro, sulla griglia fine. Ciò implica che il numero di iterazioni a una tolleranza algebrica fissa diminuisce all'aumentare del numero di livelli. Parallelamente, la stima del tempo implica un termine logaritmico derivante dalla sincronizzazione implicita dalla gerarchia multigrid.
I primi metodi di decomposizione del dominio avevano solo un livello. Senza un livello approssimativo, il numero di condizione dell'operatore precondizionato non può essere inferiore a doveLè il diametro del dominio eHè la dimensione nominale del sottodominio. In pratica, i numeri delle condizioni per DD di un livello rientrano tra questo limite eO(L2dovehè la dimensione dell'elemento. Si noti che il numero di iterazioni necessarie per un metodo Krylov viene ridimensionato come radice quadrata del numero della condizione. I metodi Schwarz ottimizzati(Gander 2006)migliorano le costanti e la dipendenza daH/hrispetto ai metodi di Dirichlet e Neumann, ma generalmente non includono livelli grossolani e quindi si degradano nel caso di molti sottodomini. Vedi i libri diSmith, Bjørstad e Gropp (1996)oToselli e Widlund (2005)per un riferimento generale ai metodi di decomposizione del dominio.
Per tassi di convergenza ottimali o quasi ottimali, sono necessari più livelli. La maggior parte dei metodi DD è proposta come metodi a due livelli e alcuni sono molto difficili da estendere a più livelli. I metodi DD possono essere classificati come sovrapposti o non sovrapposti.
Questi metodi di Schwarz utilizzano la sovrapposizione e si basano generalmente sulla risoluzione dei problemi di Dirichlet. La forza dei metodi può essere aumentata aumentando la sovrapposizione. Questa classe di metodi è generalmente robusta, non richiede l'identificazione locale dello spazio nullo o modifiche tecniche per problemi con vincoli locali (comuni nella meccanica dei solidi di ingegneria), ma comporta un lavoro extra (specialmente in 3D) a causa della sovrapposizione. Inoltre, per problemi vincolati come incomprimibili, di solito appare la costante inf-sup della striscia sovrapposta, che porta a tassi di convergenza non ottimali. I moderni metodi di sovrapposizione che utilizzano spazi approssimativi simili a BDDC / FETI-DP (discussi di seguito) sono sviluppati da Dorhmann, Klawonn e Widlund (2008) e Dohrmann e Widlund (2010) .
Questi metodi di solito risolvono problemi di Neumann di qualche tipo, il che significa che, a differenza dei metodi di Dirichlet, non possono lavorare con una matrice assemblata a livello globale e richiedono invece matrici non assemblate o parzialmente assemblate. I metodi Neumann più popolari o impongono la continuità tra i sottodomini bilanciandosi ad ogni iterazione o tramite i moltiplicatori di Lagrange che imporranno la continuità solo una volta raggiunta la convergenza. I primi metodi di questo tipo (Bilanciamento di Neumann-Neumann e FETI) richiedono una caratterizzazione precisa dello spazio nullo di ciascun sottodominio, sia per costruire il livello approssimativo sia per rendere non singolari i problemi del sottodominio. I metodi successivi (BDDC e FETI-DP) selezionano gli angoli del sottodominio e / o i momenti bordo / faccia come gradi di libertà a livello grossolano. Vedi Klawonn e Rheinbach (2007)per una discussione approfondita della selezione dello spazio approssimativo per l'elasticità 3D. Mandel, Dohrmann e Tazaur (2005) hanno mostrato che BDDC e FETI-DP hanno tutti gli stessi autovalori, ad eccezione dei possibili 0 e 1.
La maggior parte dei metodi DD sono proposti solo come metodi a due livelli e alcuni selezionano spazi approssimativi che sono scomodi per l'uso con più di due livelli. Sfortunatamente, specialmente in 3D, i problemi di livello grossolano diventano rapidamente un collo di bottiglia, limitando le dimensioni del problema che possono essere risolte. Inoltre, i numeri delle condizioni degli operatori precondizionati, in particolare per i metodi DD basati su problemi di Neumann, tendono a ridimensionarsi come
Questo è un eccellente commento ma penso che dire che (multilivello) DD e MG hanno molto in comune non è accurato, o almeno non utile. I metodi sono molto diversi e non credo che la competenza in uno sia molto utile nell'altro.
Innanzitutto, le due comunità utilizzano diverse definizioni di complessità: DD ottimizza il numero di condizioni dei sistemi precondizionati e MG ottimizza la complessità lavoro / memoria. Questa è una grande differenza fondamentale: "ottimalità" ha un significato totalmente diverso in questi due contesti. Le cose non cambiano quando si aggiunge una complessità parallela (anche se si ottiene un termine di registro aggiunto in MG). Le due comunità parlano quasi lingue diverse.
In secondo luogo, MG ha incorporato multilivello e i metodi DD multilivello sono stati tutti sviluppati con teoria e implementazioni a due livelli. Ciò limita lo spazio degli spazi della griglia grossolana che è possibile utilizzare in MG: devono essere ricorsivi. Ad esempio, non è possibile implementare FETI in un framework MG. Le persone usano alcuni metodi DD multilivello come menzionato da Jed ma almeno alcuni degli attuali metodi DD popolari non sembrano essere implementabili in modo ricorsivo.
Terzo, vedo gli algoritmi stessi, come praticati, molto diversi. Dal punto di vista qualitativo, direi che i metodi DD proiettano sui confini del dominio e risolvono questo problema di interfaccia. MG funziona direttamente con le equazioni native. Evitare questa proiezione consente di applicare facilmente MG a problemi non lineari e asimmetrici. Sebbene la teoria quasi scompaia per problemi non lineari e asimmetrici, hanno lavorato per molte persone. MG inoltre disaccoppia esplicitamente il problema in due parti: lo spazio della griglia grossolana per il ridimensionamento e un solutore iterativo (il più fluido) per risolvere la fisica. Questo è fondamentale per comprendere e lavorare con MG ed è una proprietà attraente per me.
Sebbene teoricamente gli smussatori e gli spazi della griglia grossolana siano strettamente accoppiati, in pratica è spesso possibile scambiare diversi passaggi più agevolmente come parametri di ottimizzazione. Come indicato da Jed, i rasoi per punti o vertici sono popolari e di solito più veloci, ma per problemi impegnativi possono essere utili raschiatori più pesanti. Questo diagramma è tratto dalla mia tesi di laurea che mostra il tempo di risoluzione in funzione del rapporto di Poisson per Jacobi, blocco Jacobi e "additivo Schwarz" (sovrapposti). È un po 'difficile da leggere ma con il rapporto di Poisson più alto (0.499) sovrapposto Schwarz è circa 2 volte più veloce di (vertice) Jocobi mentre è circa 3 volte più lento nei rapporti pedonali di Poisson.
Secondo la risposta di Jed, MG usa un grossolano moderato mentre DD usa un ravvicinamento rapido. Penso che questo faccia la differenza quando sono parallelizzati. Ci saranno multipli di comunicazioni e sincronizzazioni affinché MG attraversi molti livelli di ingrossamento che sono equivalenti a un singolo ingrossamento di DD. Un altro punto della risposta di Jed è che MG usa un materiale più liscio e DD usa un materiale più fluido. Considerando i due punti, è stato riportato che MG a livelli grossolani avrà cattivi rapporti di comunicazione / calcolo. Quindi, secondo la legge di Amdahl , l'accelerazione parallela non è buona. Un rimedio è la correzione di griglie grosse parallele come il precondizionatore BPX. Inoltre, MG può usare DD più agevolmente come sottolineato da Adams, e MG può anche essere usato nei sottodomini di DD. Sulla base delle considerazioni che Barker ha sottolineato, suppongo che usare MG all'interno di DD sia migliore, che sfrutta sia il parallelismo tra DD sia la complessità ottimale di MG.
Voglio fare una piccola aggiunta all'ottima risposta di Jed, vale a dire che le motivazioni alla base dei due approcci sono (o almeno erano) diverse.
La decomposizione del dominio è motivata come tecnica per il calcolo parallelo. Soprattutto per i metodi a un livello, DD è molto naturale da implementare su una macchina parallela: dividi il dominio in pezzi e dai ogni pezzo a un processore diverso. In un certo senso la motivazione dietro DD è di dividere le operazioni aritmetiche tra i processori.
Esistono buone implementazioni multigrid parallele, ma spesso è meno naturale fare in parallelo. Invece, la motivazione dietro multigrid è di fare prima meno operazioni aritmetiche.