Comparação de Malhas Automáticas para o Método dos Elementos Finitos Aplicados à Simulação...

10
VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Natal-RN -2011 CONNEPI 2011 1 COMPARAÇÃO DE MALHAS AUTOMÁTICAS PARA O MÉTODO DOS ELEMENTOS FINITOS APLICADOS À SIMULAÇÃO MATEMÁTICA DA EQUAÇÃO DE POISSON T. S.Murilo 1 e S. B.Lurimar 1 1 Instituto Federal da Bahia- Campus Salvador [email protected] [email protected] RESUMO A simulação computacional através de métodos numéricos é uma área importante para a Engenharia, possibilitando o desenvolvimento tecnológico sem o uso direto de protótipos físicos. Para a realização de simulações são utilizadas equações diferenciais, as quais descrevem o comportamento de estruturas submetidas a fenômenos complexos. A Equação de Poisson é uma equação diferencial utilizada na Física e na Engenharia para descrever fenômenos de geração de potencial em que a fonte é conhecida. Para solucionar a equação diferencial no domínio definido para a simulação, utiliza-se o Método dos Elementos Finitos, que apresenta a vantagem de solucionar equações em domínios de geometria complexa, o qual deve ser discretizado em subdomínios, chamados elementos. Apresentam- se dois métodos de discretização de domínios ou de geração de malhas, o Método de Divisão Baricêntrica e o Método de Delaunay, que devem ser comparados em termos da qualidade na geração dos elementos. Utilizando uma estrutura quadrada como domínio, esta foi discretizada utilizando os dois métodos e submetida à simulação com a Equação de Poisson e o Método do Elementos Finitos. A partir dos resultados destas simulações, verificou-se que o Método de Delaunay gera melhores resultados que o Método de Divisão Baricêntrica, mas que a Divisão Baricêntrica serve como geradora de nós internos à malha. Palavras-chave:Método de Delaunay, método de divisão baricêntrica, método dos elementos finitos, simulação computacional

Transcript of Comparação de Malhas Automáticas para o Método dos Elementos Finitos Aplicados à Simulação...

VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Natal-RN -2011

CONNEPI 2011

1

COMPARAÇÃO DE MALHAS AUTOMÁTICAS PARA O MÉTODO DOS ELEMENTOS FINITOS APLICADOS À SIMULAÇÃO MATEMÁTICA DA EQUAÇÃO DE POISSON

T. S.Murilo1 e S. B.Lurimar

1

1Instituto Federal da Bahia- Campus Salvador

[email protected][email protected]

RESUMO

A simulação computacional através de métodos numéricos é uma área importante para a Engenharia, possibilitando o desenvolvimento tecnológico sem o uso direto de protótipos físicos. Para a realização de simulações são utilizadas equações diferenciais, as quais descrevem o comportamento de estruturas submetidas a fenômenos complexos. A Equação de Poisson é uma equação diferencial utilizada na Física e na Engenharia para descrever fenômenos de geração de potencial em que a fonte é conhecida. Para solucionar a equação diferencial no domínio definido para a simulação, utiliza-se o Método dos Elementos Finitos, que apresenta a vantagem de solucionar equações em domínios de geometria complexa, o qual deve ser discretizado em subdomínios, chamados elementos. Apresentam-se dois métodos de discretização de domínios ou de geração de malhas, o Método de Divisão Baricêntrica e o Método de Delaunay, que devem ser comparados em termos da qualidade na geração dos elementos. Utilizando uma estrutura quadrada como domínio, esta foi discretizada utilizando os dois métodos e submetida à simulação com a Equação de Poisson e o Método do Elementos Finitos. A partir dos resultados destas simulações, verificou-se que o Método de Delaunay gera melhores resultados que o Método de Divisão Baricêntrica, mas que a Divisão Baricêntrica serve como geradora de nós internos à malha.

Palavras-chave:Método de Delaunay, método de divisão baricêntrica, método dos elementos finitos, simulação computacional

VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Natal-RN -2011

CONNEPI 2011

2

1. INTRODUÇÃO

A modelagem matemática através de métodos numéricos é uma área importante para a engenharia, pois possibilita o teste de novas tecnologias e materiais sem a necessidade de protótipos, o que representa uma economia em materiais e na produção de novas peças. Uma das técnicas utilizadas, devido a sua flexibilidade, é o Método dos Elementos Finitos, que é notável pela resolução de equações diferenciais mesmo em domínios de geometria complexa, desta forma, sendo utilizado para resolver um grande número de problemas da engenharia, geofísica e física matemática. (BATISTA, 1991)

O sucesso do Método dos Elementos Finitos para a resolução de equações diferenciais em domínios de geometria complexa se deve à discretização destes domínios em subdomínios, chamados de elementos. Cada um dos elementos é tratado como um domínio e a solução geral para o sistema é formada pela união dos resultados em cada elemento. Portanto, para uma aplicação efetiva do Método dos Elementos Finitos, faz-se necessária uma discretização de domínio com elementos que não gerem erros numéricos, discretização esta que é conhecida como malha.

Para que uma simulação utilizando o Método dos Elementos Finitos seja efetiva, a malha deve ser gerada com o mínimo possível de elementos que causem erros numéricos, pois suas geometrias podem alterar o resultado significativamente. O desejável para uma malha é que os seus elementos sejam o mais próximo possível de triângulos equiláteros. Quando o maior ângulo de um elemento se aproxima do ângulo raso e o seu tamanho diminui, o erro atrelado a ele aumenta consideravelmente e a convergência do sistema é comprometida. Entretanto, ângulos muito pequenos também devem ser evitados, por que graças à forma que o elemento possui, as equações atreladas a ele podem gerar sistemas mal condicionados. Com sistemas mal condicionados, o erro de arredondamento prejudica a precisão da solução do sistema, no caso de soluções por métodos diretos, enquanto que em métodos iterativos, a convergência será lenta.

Existem métodos de divisão de vários tipos, formas de divisão regulares, onde se utilizam pontos como em uma malha quadriculada, e divisões não regulares, cada um com suas próprias vantagens. Um dos métodos de divisão não regular referenciados na literatura é a triangulação de Delaunay.

A triangulação de Delaunay apresenta vantagens sobre outros tipos de discretização para análise em elementos finitos por tentar sempre gerar elementos mais próximo possível de triângulos equiláteros. Para o refinamento desta técnica, um dos métodos de subdivisão de elementos é a subdivisão baricêntrica (HSU, 2007).

Este trabalho apresenta a comparação de dois métodos de geração de malhas, aplicados sobre um domínio homogêneo, com as mesmas características físicas. O primeiro é uma modificação da subdivisão baricêntrica, que permite a discretização de domínios convexos. O segundo método é a triangulação de Delaunay, utilizando como base a divisão baricêntrica como geradora de nós internos ao domínio. As malhas geradas por estes métodos são submetidas a uma simulação com o Método dos Elementos Finitos, onde estes domínios são submetidos a ação de um campo definido pela equação de Poisson.

2. FUNDAMENTAÇÃO TEÓRICA

A equação de Poisson é a equação diferencial parcial elíptica simples. Ela é descrita pela relação matemática exposta na Equação (1).

, [Eq. 01]

VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Natal-RN -2011

CONNEPI 2011

3

onde é a função fonte.

A equação de Poisson possui aplicações na física e na Engenharia. Por exemplo, pode representar o campo de temperaturas de um corpo, assim como pode modelar problemas de eletromagnetismo, gravitação, entre outros (ELMAN, 2005).

A equação de Poisson, como a maioria das equações diferenciais encontradas em problemas de engenharia, pode ser escrita da forma apresentada na Equação (2) (BATISTA, 1991).

[Eq. 02]

Na forma simplificada, é um operador diferencial, é o campo a ser determinado e é a sua fonte.

O Método dos Elementos Finitos se propõe a solucionar estas equações, através de uma coleção de funções básicas distribuídas por todo o domínio estudado. Geralmente, esta função depende apenas da relação espacial de cada domínio para aproximar uma solução. Estas funções básicas são aplicadas em uma discretização do domínio principal, e cada função básica atua sobre um subdomínio, chamado de elemento. O conjunto destes elementos formam uma malha.

O MEF consiste em combinar os coeficientes da função básica para determinar o valor de em cada ponto da malha. Os pontos de uma malha são chamados de nós. A forma mais simples que esta função básica pode adotar no domínio bidimensional cartesiano e retangular está disposta na Equação (3).

[Eq. 03]

Uma solução aproximada do campo em cada elemento pode ser obtida através do somatório do produto entre a função básica e o campo em cada nó do elemento.

[Eq. 04]

Nesta equação, representa o valor do campo em cada nó, e é o número total de nós do elemento. No caso de elementos triangulares, por exemplo, é igual a 3.

Ao substituir a Equação (4) na Equação (2), obtém-se a seguinte configuração.

[Eq. 05]

Neste caso, surge o termo , que representa o erro de aproximação. A medida que tende a zero, a Equação (4) tende à solução da Equação (5).

Assim, para minimizar o erro na Equação (5), escolhe-se uma função peso , de forma que o

produto interno entre as funções peso e a função erro seja nulo, ou seja, de forma que a função peso seja ortogonal à função erro, como mostrado na Equação (6). A este método de escolha para a função base dá-se o nome de Método Residual de Galerkin.

, [Eq. 06]

onde representa a notação de produto interno. O produto interno, neste caso é igual à integral de superfície do produto entre e , onde a superfície é o elemento em questão. Utilizando a notação integral para este problema, a partir da Equação (6), obtém-se;

[Eq. 07]

Ao desenvolver o somatório da Equação (7) e em seguida variando o índice , obtém-se o Sistema de Equações (8)

VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Natal-RN -2011

CONNEPI 2011

4

, [Eq. 08]

onde, e estão expressos respectivamente nas Equações (9) e (10).

[Eq. 09]

[Eq. 10]

O Sistema de Equações (8) representa a solução local, ou seja, em cada elemento. As soluções aproximadas em toda a malha são obtidas através da adição das soluções locais, somando as contribuições de cada elemento para os nós. Como os elementos são adjuntos na malha, alguns nós pertencem tanto a um elemento com a outros, de forma que a adição entre as equações possibilita a interação entre os elementos da malha. Este novo sistema, compreendendo todo o domínio, está expresso na Equação (11)

[Eq. 11]

A matriz é chamada de matriz global, matriz essa com dimensões , onde é o número total de nós da malha, enquanto os vetores e são de dimensões . Devido à disposição dos elementos na malha, a combinação de um nó com o outro e vice-versa são iguais, tornando a matriz simétrica. Além de simétrica, ao isolar um nó da matriz, percebe-se que os nós que não possuem conexão através de algum elemento com este possuem valores nulos. Assim, a matriz é simétrica e esparsa.

Ao observar a Equação (3), que constitui o passo inicial para todo o desenvolvimento do Método dos Elementos Finitos, percebe-se que esta é fortemente dependente da localização dos nós, reforçando assim a necessidade de uma discretização do domínio com o mínimo de elementos indesejados. Sabendo-se da necessidade da geração de uma malha com bons padrões formais, seguem-se dois métodos de discretização do domínio: o método de divisão baricêntrica e o método de Delaunay com divisão baricêntrica.

Baricentro, ou centroide, de uma figura plana é o ponto de interseção das semirretas entre os vértices opostos a um lado e o ponto médio deste lado, ou seja, a interseção entre as medianas. Dado um conjunto de pontos que forma um polígono, o baricentro é a média aritmética da posição dos pontos para cada eixo coordenado.

Quando uma malha necessita de refinamento, uma das formas possíveis é a obtenção de novos nós internos à malha, nós estes situados no baricentro dos elementos antigos. A este tipo de divisão dá-se o nome de subdivisão baricêntrica (HSU, 2007).

Baseado na ideia de subdivisão baricêntrica, obtém-se um método mais abrangente de divisão, que não envolve apenas a subdivisão de elementos, como também a triangulação inicial de um domínio. A este método, deu-se o nome de divisão baricêntrica.

Dado um domínio convexo qualquer, o primeiro passo da triangulação por divisão baricêntrica dá-se encontrando o centroide da região. Em seguida, os vértices do domínio são unidos ao baricentro, gerando assim uma primeira triangulação. As iterações seguintes do algoritmo tomarão cada elemento como um subdomínio e o procedimento se repete, encontrando um novo baricentro e unindo os vértices do subdomínio ao baricentro deste. O número de elementos que cada iteração gerará é regido pela relação matemática apresentada na Equação (12).

, [Eq. 12]

VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Natal-RN -2011

CONNEPI 2011

5

onde é o número de elementos, é o número de lados do domínio e é o número de iterações.

Baseando-se na função do número de elementos, a função de número de nós por iteração está disposta na Equação (13).

, [Eq. 13]

onde é o número de lados do domínio, é o número de iterações, é o número de elementos e é o número de nós do domínio.

A triangulação de Delaunay é um padrão formal de triangulação utilizado em simulações com elementos finitos que traz a vantagem de tentar maximizar os menores ângulos dos elementos. Ao maximizar os menores ângulos do elemento, estes se aproximam de triângulos equiláteros, gerando assim menos elementos deformados.

Seja D a triangulação de Delaunay do domínio V. Qualquer círculo no plano é considerado vazio se nenhum vértice de V for interno a ele, contudo vértices podem se situar nas fronteiras do circulo. Sejam u e v dois vértices quaisquer de V. A aresta uv pertence a D se, e somente se, existir um círculo vazio em que estes dois nós estejam na fronteira. Uma aresta que satisfaça esta condição é conhecida como uma aresta Delaunay. Quando um triangulo é composto apenas por arestas Delaunay, diz-se que este é um triângulo Delaunay. Desta forma, uma Triangulação de Delaunay é qualquer triangulação D em que todos os elementos são Delaunay. Ao teste descrito, dá-se o nome de teste do circuncirculo (SHEWCHUK, 1997).

Quando uma aresta qualquer da triangulação não é Delaunay, uma das alternativas conhecidas para a remoção deste problema é a troca de arestas. Dados dois elementos adjacentes em que uma das arestas não é Delaunay, a troca de arestas se dá pelo seguinte procedimento: Primeiro, a aresta não-Delaunay deve ser identificada; em seguida, esta aresta deve ser removida, transformando os dois elementos adjacentes em um quadrilátero; toma-se então os dois vértices opostos à aresta não-Delaunay removida e traça uma nova aresta para os elementos. Desta forma, os dois elementos anteriormente não-Delaunay tornam-se dois elementos Delaunay através da troca de arestas, maximizando o menor ângulo do elemento. (HSU, 2007).

Utilizando o método de divisão baricêntrica para a geração dos nós internos da malha e a troca de arestas, a malha toma o padrão da triangulação de Delaunay. Para que uma malha se transforme numa malha Delaunay, aplica-se o teste do circuncirculo em cada um dos elementos gerados a cada iteração do algoritmo de divisão baricêntrica. Caso a necessidade de troca de arestas seja constatada, lista-se o elemento para que este seja incluido na troca de arestas. Depois que todos os elementos são checados, o procedimento de troca de arestas é ativado, tornando assim a malha composta apenas por elementos Delaunay. Deve-se observar que caso um par de elementos seja listado por que um deles não passou no teste do circuncirculo, o outro elemento também não passará. Assim, para evitar que uma troca de arestas ocorra duas vezes sobre o mesmo elemento, deve-se checar se a troca de arestas já foi exigida para aquele elemento.

3. METODOLOGIA

Muitos são os fenômenos físicos e de engenharia que podem ser descritos como a relação entre fonte e potencial, como a propagação de calor em superfícies, equações de campo elétrico e campo gravitacional. Problemas deste tipo são descritos matematicamente através da equação de Poisson.

VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Natal-RN -2011

CONNEPI 2011

6

Assim, por se tratar de um problema comum de engenharia e da física, a equação de Poisson foi utilizada como

Como método de solução numérica de equações diferenciais, o Método dos Elementos Finitos apresenta resultados muito bons, mas depende fortemente da discretização do domínio em questão. Malhas mal condicionadas geram resultados com aproximações ruins.

A partir da equação diferencial de Poisson e do Método dos Elementos Finitos, define-se o domínio de estudo. O domínio é utilizado uma estrutura plana quadrada, com dez centímetros de lado, sob ação de um campo com fonte constante e igual a 12, tendo como valores iniciais nulos nas fronteiras da malha. As técnicas de divisão baricêntrica e de Delaunay foram utilizadas para a discretização da malha, utilizando a técnica de divisão regular como parâmetro de comparação.

A técnica de divisão regular foi escolhida como modelo de discretização de malha por apresentar bons resultados na simulação. A utilização de malhas regulares já é muito difundida na literatura, inclusive em simulações com equações diferenciais de maior complexidade, como pode ser observado em Batista (1991), onde são utilizadas malhas regulares para a simulação em elementos finitos com a equação de Helmholtz.

Para cada método de discretização cria-se um algoritmo em linguagem de programação $C$ que gera as malhas a partir dos dados de entrada. Este programa retorna a matriz de nós e a matriz de conectividade, bem como o número de nós e elementos e as condições de fronteira com os nós internos da malha. Para que os métodos possam ser analisados igualmente, são geradas malhas com o mesmo número de nós para os dois métodos. São feitas duas análises, a primeira para malhas com 1461 nós (Figura (1)) e segunda com 4377 nós (Figura (2)).

Figura 1 - Discretização de domínio pelo método de Divisão Baricêntrica (A) e de Delaunay (B), ambas com 1461 nós

O simulador de Elementos finitos foi construído em linguagem de programação C, tendo os seguintes parâmetros de entrada: uma matriz de nós, que detenha as posições de cada nó da malha, bem como suas informações físicas; uma matriz de conectividade, que informe os nós de cada elemento; o tamanho da matriz de nós e de conectividade, para que o programa tenha noção dos limites da matriz; e uma matriz de condições de fronteira e nós internos. Uma vez que o simulador recebe estes dados, cabe a ele processá-los e retornar os valores da solução da equação diferencial para aqueles nós.

VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Natal-RN -2011

CONNEPI 2011

7

Figura 2 - Discretização de domínio pelo método de Divisão Baricêntrica (A) e de Delaunay (B), ambas com 4377nós

Com a abordagem apresentada, pode-se realizar uma comparação imparcial entre os métodos, já que os domínios discretizados pelos dois métodos são iguais e estão submetidos às mesmas condições pela equação diferencial. Nesta situação, a geometria da malha é o único fator que interfere nos resultados, de forma que a abordagem do problema se mostra eficiente para a comparação dos métodos de discretização de malhas.

4. ANÁLISE E INTERPRETAÇÃO DOS DADOS

A Figura 3 mostra o resultado para divisão regular, que foi tomado como parâmetro de comparação. As Figuras 4 e 5 apresentam graficamente os resultados obtidos na simulação em elementos finitos para o mesmo domínio, utilizando o método da divisão baricêntrica e de Delaunay com 1461 e 4377 nós respectivamente.

Figura 3 - Equação de Poisson aplicada a uma malha de 4489 nós discretizada através do Método da Divisão Regular

A divisão baricêntrica não apresentou bons resultados, com erros numéricos que podem ser prejudiciais em uma simulação rigorosa, como pode ser observado por uma acentuação do centro da superfície e de uma deformação inexistente na regular, que não foi corrigido mesmo com o aumento de iterações, como pode ser confirmado comparando os gráficos.

VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Natal-RN -2011

CONNEPI 2011

8

Figura 4 - Discretização de domínio pelo método de Divisão Baricêntrica (A) e de Delaunay (B), ambas com 1461 nós

Os erros numéricos encontrados no método de divisão baricêntrica se devem à geometria dos elementos e a degeneração destes a cada iteração. Tomando um elemento e aplicando a divisão baricêntrica neste, os ângulos do elemento serão divididos em suas bissetrizes, gerando assim ângulos com a metade do comprimento. Como dois dos ângulos no novo elemento gerado serão provenientes de nós da fronteira do elemento anterior e a soma dos ângulos de um triângulo é sempre igual ao ângulo raso, o ângulo relacionado ao nó central do elemento sempre aumentará a cada iteração, até de degenerar o triângulo em uma análise superficial, o que pode ser observado na Figura 2.A, onde os elementos se degeneraram de forma a se tornarem mais próximos de segmentos de reta. O resultado confirma o que é dito na literatura, que ângulos muito pequenos e muito grandes devem ser evitados.

O método de divisão de Delaunay apresentou resultados próximos do referencial regular, não apresentando erros numéricos significativos. Observou-se também que os resultados para os nós de fronteira apresentavam mais erros numéricos que os resultados de nós centrais.

A diferença entre os resultados do centro e das bordas para o método aplicado já era prevista. Isso se deve a própria teoria da divisão baricêntrica, a qual foi tomada como base para a geração de nós, e da aplicação dos testes do circuncirculo. Tomando um elemento de fronteira, o centro da circunferência que envolve os nós que a limitam é externa ao domínio da figura, portanto nunca haverá nenhum nó que torne a aresta da borda não-Delaunay. Assim sendo, estes elementos nunca sofrem troca de arestas, tendo o mesmo problema que os elementos da divisão baricêntrica.

VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Natal-RN -2011

CONNEPI 2011

9

Figura 5 - Discretização de domínio pelo método de Divisão Baricêntrica (A) e de Delaunay (B), ambas com 4377 nós

Assim, pode-se observar que a divisão baricêntrica não deve ser utilizada em análises muito rigorosas, com risco de obter resultados com falhas. Por outro lado, a divisão de Delaunay é uma alternativa de correção da divisão baricêntrica, com resultados que se aproximam do parâmetro de comparação.

VI Congresso de Pesquisa e Inovação da Rede Norte e Nordeste de Educação Tecnológica Natal-RN -2011

CONNEPI 2011

10

5. CONCLUSÃO

Em face dos resultados expostos e discutidos, a divisão de Delaunay combinada à técnica de divisão baricêntrica, apresenta bons resultados mesmo com um número reduzido de nós na malha.

A técnica da divisão baricêntrica, por si gera elementos que causam erros numéricos na resolução do sistema. Uma forma de contornar o problema é uma correção na geometria da malha. A troca de arestas, oferecida pela triangulação de Delaunay, é uma alternativa de correção de geometria.

Para que os resultados dos elementos de fronteira na divisão de Delaunay sejam melhorados, estes devem sofrer uma subdivisão diferenciada. Esta divisão deve levar em conta o comprimento médio das arestas da malha, de forma a subdividir o elemento quando sua aresta tiver comprimento superior à média, gerando um novo nó na fronteira. Uma maneira de obter essa divisão é ligando o nó gerado pela divisão baricêntrica ao meio da aresta, caso esta supere o tamanho médio das arestas. Isso geraria mais nós na fronteira do domínio, permitindo uma análise detalhada desta região.

Para que os resultados apareçam de forma detalhada nas regiões em que a análise se mostra necessária, deve ser adicionado ao algoritmo de discretização de domínios um sistema de controle populacional. Este sistema deve controlar a subdivisão dos elementos, de forma que os resultados tenham maior definição nas regiões críticas e uma menor onde esta análise não é necessária. Isto geraria um método com melhor aproveitamento na engenharia, de forma que o simulador não precisasse processar dados desnecessários, facilitando a convergência dos resultados em um menor tempo de execução.

REFERÊNCIAS BILIOGRÁFICAS

Batista, Lurimar S.. Otimização Computacional da Técnica de Elementos Finitos Para o Modelamento Geofísico Eletromagnético. Pará: Universidade Federal do Pará, 1991. Shewchuk, Jonathan R.. Delaunay Refinement Mesh Generation. Pittsburgh: Pittsburgh University, 1997. Hsu, Atílio Cláudio. Gerador Adaptativo de Malhas 2-D para Problemas Eletromagnéticos. Campinas: Universidade Estadual de Campinas, 2007. Shimada, Kenji & Gossard, David C.. Bubble Mesh: Automated Triangular Meshing of Non-Manifold Geometry by Sphere Packing. Solid Modelin’95. Salt Lake City, Utah USA.1995. Elman, Howard C., Silvester, David J. & Wathen, Andrew J.. Finite Elements and Fast Iterative Solvers: With Applications in Incompressible Fluid Dynamics. Numerical Mathematics and Scientific Computation. Oxford: Oxford University Press. 2005.