Isso é direcionado principalmente para PDEs elípticos sobre domínios convexos, para que eu possa ter uma boa visão geral dos dois métodos.
fonte
Isso é direcionado principalmente para PDEs elípticos sobre domínios convexos, para que eu possa ter uma boa visão geral dos dois métodos.
Os métodos de decomposição de domínios multinível e multinível têm tanto em comum que cada um pode ser escrito como um caso especial do outro. As estruturas de análise são um pouco diferentes, como consequência das diferentes filosofias de cada campo. De um modo geral, os métodos multigrid usam taxas moderadas de aumento e smoothers simples, enquanto os métodos de decomposição de domínio utilizam smoothers extremamente grosseiros e fortes .
O Multigrid usa taxas moderadas de engrossamento e alcança robustez através da modificação de interpolação e smoothers. Para problemas elípticos, os operadores de interpolação devem ser de "baixa energia", de modo a preservar o espaço quase nulo do operador (por exemplo, modos de corpo rígido). Um exemplo de abordagem geométrica para esses interpolantes de baixa energia é Wan, Chan, Smith (2000) , comparado à construção algébrica da agregação suavizada Vaněk, Mandel, Brezina (1996) (implementações paralelas em ML e PETSc via PCGAMG, o substituto para Prometheus ) . O livro de Trottenberg, Oosterlee e Schüller é uma boa referência geral sobre métodos multigrid.
A maioria das mães multigrid envolve relaxamento pontual, seja de forma aditiva (Jacobi) ou multiplicativamente (Gauss Seidel). Eles correspondem a pequenos problemas de Dirichlet (nó único ou elemento único). Alguma adaptabilidade espectral, robustez e vetorizabilidade podem ser alcançadas usando smoothers de Chebyshev, ver Adams, Brezina, Hu, Tuminaro (2003) . Para problemas não simétricos (por exemplo, transporte), geralmente são necessárias somas multiplicativas como Gauss-Seidel e podem ser usados interpolantes contra o vento. Como alternativa, smoothers para problemas de ponto de sela e ondas fortes podem ser construídos através da transformação via "pré-condicionadores de bloco" inspirados no complemento Schur ou pelo "relaxamento distribuído" relacionado, em sistemas nos quais smoothers simples são eficazes.
A eficiência multigrid dos livros didáticos refere-se à solução de erros de discretização em um pequeno múltiplo do custo de algumas avaliações residuais, até quatro, na grade fina. Isso implica que o número de iterações para uma tolerância algébrica fixa diminui à medida que o número de níveis aumenta. Paralelamente, a estimativa de tempo envolve um termo logarítmico decorrente da sincronização implícita na hierarquia multigrid.
Os primeiros métodos de decomposição de domínio tinham apenas um nível. Sem nível aproximado, o número da condição do operador pré-condicionado não pode ser menor que ondeLé o diâmetro do domínio eHé o tamanho nominal do subdomínio. Na prática, os números de condição para DD de um nível ficam entre esse limite eO(L2ondehé o tamanho do elemento. Observe que o número de iterações necessárias para um método de Krylov é escalado como a raiz quadrada do número da condição. Os métodos de Schwarz otimizados(Gander 2006)melhoram as constantes e a dependência deH/h emrelação aos métodos de Dirichlet e Neumann, mas geralmente não incluem níveis grosseiros e, portanto, degradam-se no caso de muitos subdomínios. Veja os livros deSmith, Bjørstad e Gropp (1996)ouToselli e Widlund (2005)para uma referência geral aos métodos de decomposição de domínio.
Para taxas de convergência ótimas ou quase ótimas, vários níveis são necessários. A maioria dos métodos de DD são apresentados como métodos de dois níveis e alguns são muito difíceis de estender para mais níveis. Os métodos DD podem ser classificados como sobrepostos ou não sobrepostos.
Esses métodos de Schwarz usam sobreposição e geralmente são baseados na solução de problemas de Dirichlet. A força dos métodos pode ser aumentada aumentando a sobreposição. Essa classe de métodos geralmente é robusta, não requer identificação local de espaço nulo ou modificações técnicas para problemas com restrições locais (comuns em engenharia de mecânica de sólidos), mas envolve trabalho extra (especialmente em 3D) devido à sobreposição. Além disso, para problemas restritos como incompressível, a constante inf-sup da faixa sobreposta geralmente aparece, levando a taxas de convergência abaixo do ideal. Métodos modernos de sobreposição usando espaços grossos semelhantes ao BDDC / FETI-DP (discutidos abaixo) são desenvolvidos por Dorhmann, Klawonn e Widlund (2008) e Dohrmann e Widlund (2010) .
Esses métodos geralmente resolvem problemas de Neumann de algum tipo, o que significa que, diferentemente dos métodos de Dirichlet, eles não podem trabalhar com uma matriz globalmente montada e, em vez disso, exigem matrizes não montadas ou parcialmente montadas. Os métodos mais populares de Neumann reforçam a continuidade entre subdomínios equilibrando a cada iteração ou multiplicadores de Lagrange que reforçam a continuidade somente quando a convergência é alcançada. Os métodos iniciais desse tipo (Balanceamento de Neumann-Neumann e FETI) requerem caracterização precisa do espaço nulo de cada subdomínio, tanto para construir o nível grosseiro quanto para tornar os problemas do subdomínio não-singulares. Os métodos posteriores (BDDC e FETI-DP) selecionam cantos de subdomínios e / ou momentos de aresta / face como graus de liberdade de nível aproximado. Vejo Klawonn e Rheinbach (2007)para uma discussão aprofundada da seleção de espaço aproximado para elasticidade 3D. Mandel, Dohrmann e Tazaur (2005) mostraram que BDDC e FETI-DP têm todos os mesmos autovalores, exceto para possíveis 0 e 1.
A maioria dos métodos DD são colocados apenas como métodos de dois níveis, e alguns selecionam espaços grossos que são inconvenientes para uso com mais de dois níveis. Infelizmente, especialmente em 3D, os problemas de nível aproximado rapidamente se tornam um gargalo, limitando os tamanhos de problemas que podem ser resolvidos. Além disso, os números de condição dos operadores pré-condicionados, especialmente para os métodos DD baseados em problemas de Neumann, tendem a escalar conforme
Este é um excelente artigo, mas acho que dizer que DD e MG (multinível) têm muito em comum não é preciso ou, pelo menos, não é útil. Os métodos são muito diferentes e não acho que a experiência em um seja muito útil no outro.
Primeiro, as duas comunidades usam definições diferentes de complexidade: o DD otimiza o número de condição dos sistemas pré-condicionados e o MG otimiza a complexidade do trabalho / memória. Essa é uma grande diferença fundamental - "otimização" tem um significado totalmente diferente nesses dois contextos. As coisas não mudam quando você adiciona complexidade paralela (embora você tenha um termo de log adicionado em MG). As duas comunidades estão quase falando idiomas diferentes.
Segundo, a MG incorporou vários níveis e os métodos DD multiníveis foram desenvolvidos com teoria e implementações de dois níveis. Isso limita o espaço dos espaços de grade grosseiros que você pode usar em MG - eles devem ser recursivos. Por exemplo, você não pode implementar FETI em uma estrutura MG. As pessoas usam alguns métodos DD de vários níveis, como Jed mencionou, mas pelo menos alguns dos atuais métodos populares de DD não parecem ser implementáveis recursivamente.
Terceiro, vejo os próprios algoritmos, como praticados, como muito diferentes. Qualitativamente falando, eu diria que os métodos DD se projetam nos limites do domínio e resolvem esse problema de interface. MG trabalha diretamente com as equações nativas. Evitar esta projeção permite que o MG seja aplicado facilmente a problemas não-lineares e assimétricos. Embora a teoria quase desapareça por problemas não-lineares e assimétricos, eles trabalharam para muitas pessoas. MG também explicitamente desacopla o problema em duas partes: o espaço da grade grosseira para dimensionar e um solucionador iterativo (o mais suave) para resolver a física. Isso é fundamental para entender e trabalhar com a MG e é uma propriedade atraente para mim.
Embora teoricamente os suaves e os espaços de grade grosseiros estejam fortemente acoplados, na prática você pode alternar entre diferentes suaves e inativos como um parâmetro de otimização. Como Jed mencionou, as esponjas de ponto ou vértice são populares e geralmente mais rápidas, mas para problemas desafiadores, esponjas mais pesadas podem ser úteis. Este gráfico é da minha dissertação mostrando o tempo de resolução em função da razão de Poisson para Jacobi, bloco Jacobi e "aditivo Schwarz" (sobreposto). É um pouco difícil de ler, mas na Schwarz sobreposta mais alta da razão de Poisson (0,499) é cerca de duas vezes mais rápida que Jocobi (vértice), enquanto é cerca de 3x mais lenta nas proporções de Poisson para pedestres.
De acordo com a resposta de Jed, MG usa espessamento moderado, enquanto DD usa espessamento rápido. Eu acho que isso faz diferença quando eles são paralelos. Haverá múltiplos de comunicações e sincronizações para MG passar por muitos níveis de espessamento que são equivalentes a um único espessamento de DD. Outro ponto da resposta de Jed é que MG usa mais barato e DD e mais forte. Considerando os dois pontos, foi relatado que MG em níveis aproximados terá más relações de comunicação / computação. Portanto, de acordo com a lei de Amdahl , a aceleração paralela não é boa. Um remédio para isso é a correção de redes paralelas grossas, como o pré-condicionador BPX. Além disso, o MG pode usar o DD de maneira mais suave, como Adams apontou, e o MG também pode ser usado nos subdomínios do DD. Com base nas considerações que Barker apontou, acho que usar o MG no DD é melhor, o que explora paralelamente o DD e a complexidade ideal do MG.
Quero fazer uma pequena adição à excelente resposta de Jed, a saber, que as motivações por trás das duas abordagens são (ou pelo menos eram) diferentes.
A decomposição de domínio é motivada como uma técnica para computação paralela. Especialmente para métodos de um nível, o DD é muito natural de implementar em uma máquina paralela - você divide o domínio em partes e entrega cada parte a um processador diferente. Em certo sentido, a motivação por trás do DD é dividir as operações aritméticas entre os processadores.
Existem boas implementações multigrid paralelas, mas geralmente é menos natural fazer paralelamente. Em vez disso, a motivação por trás do multigrid é fazer menos operações aritméticas em primeiro lugar.
@Jed Brown Sobre o número de condição do DD de um nível, acho que o tamanho do subdomínioH deve estar no denominador para multiplicar pelo tamanho da malha h . É comum para o método de um nível que o uso de mais subdomínios precise de mais iterações. Pode-se também referir-se ao livro de Toselli e Widlund . Por exemplo, o número da condição do complemento Schur éO ( 1Hh) da página 98 do livro.
Outro ponto é sobre o número da condição dos métodos Schwarz otimizados. Na verdade, melhora o expoente deh para o método de um nível ( sem sobreposição e sobreposição ) e, além disso, o expoente deH para o método de dois níveis .
fonte