4.9 Modelos constitutivos para o mioc´ ardio
5.1.4 M´ etodos para solu¸c˜ ao dos sistemas lineares
Como discutido, independente do modelo utilizado para a eletrofisiologia (monodom´ınio ou bidom´ınio), ap´os a discretiza¸c˜ao temporal e espacial das equa¸c˜oes governantes, chega-se a um sistema de equa¸c˜oes lineares Ax = b que precisa ser resolvido a cada passo de tempo. Existem diversos m´etodos num´ericos que podem ser usados na solu¸c˜ao de sistemas lineares (Golub e Loan, 2012). Sendo assim, ´
e importante considerar as caracter´ısticas do problema em quest˜ao para que um m´etodo adequado seja usado levando em considera¸c˜ao a eficiˆencia e robustez.
As matrizes resultantes da discretiza¸c˜ao espacial pelo m´etodo dos elementos finitos para o presente problema s˜ao esparsas e sim´etricas, e em geral, devido `a alta
resolu¸c˜ao espacial exigida nas simula¸c˜oes, por conta de geometrias anatomicamente detalhadas como as da Figura 7.16, os sistemas lineares s˜ao de grande porte. Nesse sentido, devido ao alto n´ıvel de mem´oria exigido por m´etodos diretos para solu¸c˜ao de sistemas lineares, como por exemplo as decomposi¸c˜oes LU e de Cholesky, esses m´etodos tem sido pouco utilizados nesse contexto (Vigmond et al., 2008).
Levando em considera¸c˜ao essas quest˜oes, m´etodos iterativos como o m´etodo dos gradientes conjugados ou conjugate gradient method (CG) e o generalized mini- mal residual method (GMRES) tem sido muito utilizados por diversos grupos (Ber- nabeu et al., 2009; Oliveira et al., 2012c; Potse et al., 2006; Vigmond et al., 2008). Em particular como a matriz do sistema ´e sim´etrica, o m´etodo dos gradientes con- jugados precondicionado (PCG) ´e a escolha padr˜ao para a solu¸c˜ao dos sistemas lineares dentro do contexto da eletrofisiologia card´ıaca. Tendo em vista que o de- sempenho de m´etodos iterativos depende muito do uso de um precondicionador (PC), a escolha de um PC adequado ´e crucial para um bom desempenho.
Alguns estudos, como aquele realizado por Sundnes et al. (2006), mostraram que como as propriedades espectrais das matrizes dos modelos monodom´ınio e bi- dom´ınio s˜ao diferentes. Como o modelo bidom´ınio ´e mais complexo, a sua solu¸c˜ao ´
e muito mais custosa do que a do monodom´ınio e portanto exige que precondicio- nadores mais eficientes sejam utilizados.
Para a solu¸c˜ao num´erica do modelo monodom´ınio, o m´etodo CG com pre- condicionadores cl´assicos e baratos como os precondicionadores de Jacobi, SOR (Symmetric Successive Over-Relaxation) e fatora¸c˜ao LU incompleta sem preenchi- mento (ILU(0)), mostram um desempenho satisfat´orio. Para ilustrar o desempenho desses precondicionadores um problema bidimensional com uma onda plana de ex- cita¸c˜ao el´etrica usando o modelo monodom´ınio foi resolvido utilizando diferentes discretiza¸c˜oes. Para mais detalhes sobre essa simula¸c˜ao veja a Se¸c˜ao 7.4 do Cap´ı- tulo 7. A Tabela 5.1 mostra, para cada n´ıvel de discretiza¸c˜ao, o n´umero de graus de liberdade do sistema (ndofs), a m´edia do n´umero de itera¸c˜oes do m´etodo dos gradientes conjugados sem precondicionador e para diferentes precondicionadores
analisados durante 5 ms de simula¸c˜ao.
Tabela 5.1: Desempenho de diferentes precondicionadores para o modelo monodo- m´ınio em termos do n´umero m´edio de itera¸c˜oes usando o m´etodo PCG. O crit´erio de parada utilizado foi a norma do res´ıduo relativo com uma tolerˆancia de 10−12.
∆x (µm) ndofs sem PC Jacobi SOR ILU(0)
100 40000 27 16 7 6
50 160000 44 34 12 11
25 640000 81 70 24 19
Os dados da Tabela 5.1 deixam claro que o precondicionador ILU(0) possui um bom desempenho em compara¸c˜ao com os outros precondicionadores testados. Portanto, nesse trabalho o m´etodo PCG com ILU(0) foi utilizado como precondi- cionador em todos as simula¸c˜oes do modelo monodom´ınio, escolha consistente com a de outros trabalhos da literatura como em dos Santos et al. (2004). Esse precon- dicionador tamb´em foi usado para solu¸c˜ao da EDP parab´olica em simula¸c˜oes do modelo bidom´ınio.
Como o modelo bidom´ınio ´e mais complexo, sua discretiza¸c˜ao resulta em uma matriz mal-condicionada e assim sua solu¸c˜ao num´erica atrav´es de m´etodos iterativos exige um maior esfor¸co computacional (Pennacchio e Simoncini, 2002). Nesse contexto, a escolha de um precondicionador eficiente para o modelo bidom´ı- nio foi analisada em diversos estudos (dos Santos et al., 2004; Giorda et al., 2009; Pavarino e Scacchi, 2008; Pennacchio e Simoncini, 2009). Precondicionadores do tipo multigrid (Briggs et al., 2000) tem sido bastante utilizados para o problema do bidom´ınio devido ao seu bom desempenho, sobretudo em implementa¸c˜oes paralelas usando clusters de computadores, como apresentado por dos Santos et al. (2004). A Tabela 5.2 mostra um estudo computacional realizado com o modelo bido- m´ınio e diferentes precondicionadores como Jacobi, o m´etodo de Schwarz aditivo (ASM) e um precondicionador do tipo multigrid. A tabela mostra apenas a m´edia do n´umero de itera¸c˜oes necess´arias na solu¸c˜ao do sistema de equa¸c˜oes lineares do problema el´ıptico associado ao modelo bidom´ınio.
condicionada, n˜ao foi poss´ıvel resolver o sistema de equa¸c˜oes lineares com o CG sem precondicionador. Assim, para comparar o desempenho dos outros precondiciona- dores, o precondicionador de Jacobi foi utilizado como base para as compara¸c˜oes.
Tabela 5.2: Desempenho de diferentes precondicionadores para o modelo bidom´ınio em termos do n´umero m´edio de itera¸c˜oes usando o m´etodo PCG. O crit´erio de parada utilizado foi a norma do res´ıduo relativo com uma tolerˆancia de 10−8.
∆x (µm) ndofs Jacobi ASM Multigrid
100 40000 960 267 17
50 160000 1931 535 17
25 640000 3798 1070 23
Os dados da Tabela 5.2 mostram, de forma clara, que o precondicionador multigrid apresenta um bom desempenho na solu¸c˜ao do sistema de equa¸c˜oes do problema el´ıptico associado ao modelo bidom´ınio. Logo, esse precondicionador foi utilizado em todas as simula¸c˜oes computacionais do modelo bidom´ınio deste trabalho, assim como reportado por Plank et al. (2007) e Vigmond et al. (2008).
Os m´etodos iterativos e os precondicionadores utilizados na implementa¸c˜ao computacional desse trabalho s˜ao da biblioteca de ´algebra linear computacional PETSc (Portable, Extensible Toolkit for Scientific Computation). Mais detalhes sobre a integra¸c˜ao da biblioteca PETSc nesse trabalho podem ser encontrados adi- ante no Cap´ıtulo 7, enquanto mais detalhes sobre a implementa¸c˜ao dos resolvedores e precondicionares s˜ao encontrados em Balay et al. (2013).
5.1.5 Solu¸c˜ao num´erica de sistemas de EDOs dos modelos celulares