99
Larissa de Souza Martins Aspectos matemáticos subjacentes ao método de elementos finitos para problemas elípticos: O Teorema de Lax-Milgram Volta Redonda, RJ 2017

Aspectosmatemáticossubjacentesaométodo ... · problemas elí pticos: o Teorema de Lax -Milgram / Larissa de Souza Martins . ± 201 7. 73 f. Orientador: Honório Joaquim Fernando

Embed Size (px)

Citation preview

Larissa de Souza Martins

Aspectos matemáticos subjacentes ao métodode elementos finitos para problemas elípticos: O

Teorema de Lax-Milgram

Volta Redonda, RJ

2017

Larissa de Souza Martins

Aspectos matemáticos subjacentes ao método deelementos finitos para problemas elípticos: O Teorema de

Lax-Milgram

Trabalho de Conclusão de Curso submetidoao Curso de Matemática da UniversidadeFederal Fluminense como requisito parcialpara a obtenção do título de Bacharel emMatemática.

Universidade Federal Fluminense

Instituto de Ciências Exatas

Curso de Matemática

Orientador: Prof. Dr. Honório Joaquim Fernando

Volta Redonda, RJ2017

Ficha Catalográfica elaborada pela Biblioteca do Aterrado de Volta Redonda da UFF

M379 Martins, Larissa de Souza

Aspectos matemáticos subjacentes ao método de elementos finitos para

problemas elípticos: o Teorema de Lax-Milgram / Larissa de Souza

Martins. – 2017.

73 f.

Orientador: Honório Joaquim Fernando

Trabalho de Conclusão de Curso (Graduação em Matemática com

ênfase em Matemática Computacional). – Universidade Federal

Fluminense, Instituto de Ciências Exatas, Departamento de Matemática,

Volta Redonda, 2017.

1. Equação diferencial parcial elíptica. 2. Análise funcional. 3.

Elemento finito. I. Universidade Federal Fluminense. Instituto de Ciências

Exatas. Departamento de Matemática. II. Fernando, Honório Joaquim,

orientador. III. Título. CDD 515.3533

Larissa de Souza Martins

Aspectos matemáticos subjacentes ao método deelementos finitos para problemas elípticos: O Teorema de

Lax-Milgram

Trabalho de Conclusão de Curso submetidoao Curso de Matemática da UniversidadeFederal Fluminense como requisito parcialpara a obtenção do título de Bacharel emMatemática.

Trabalho aprovado. Volta Redonda, RJ, 11 de julho de 2017:

Prof. Dr. Honório Joaquim Fernando – UFFOrientador

Prof. Dr. Gilmar Garbugio – UFF

Prof. Dr. Marina Sequeiros Dias – UFF

Volta Redonda, RJ2017

Dedico este trabalho aos meus pais, Rosilene Martins e Valter Martins,que sempre acreditaram no meu potencial e sempre me incentivaram a correr atrás dos

meus sonhos.

Agradecimentos

Primeiramente quero agradecer a Deus que permitiu que tudo isso acontecesse eem todos os momentos me deu forças nessa jornada.

Desejo expressar minha gratidão ao meu orientador, Professor Dr. Honório JoaquimFernando, pelo seu empenho e dedicação ao analisar linha por linha desse trabalho paraque tudo saísse como desejado, por entender minhas preocupações quando achava que nãoiria conseguir e me acalmar nos emails com a frase "não entre em pânico", a qual sempreme trazia conforto. Agradeço por todas as conversas e reuniões, o senhor me apresentouum mundo de conhecimentos e pode ter certeza, levarei cada frase de efeito, cada sutilezae cada ensinamento comigo. O senhor foi o melhor orientador que eu poderia ter escolhido,obrigada pela cuidadosa orientação e por ter acreditado no meu potencial.

Agradeço a Universidade Federal Fluminense-UFF por ter nos dado a oportunidadede realizar este curso e a direção e administração, que realizam seu trabalho incansavelmentepara que nós, alunos, possamos contar com um ensino de extrema qualidade.

Gostaria de agradecer aos meus professores da UFF pelos fundamentais conhe-cimentos transmitidos, pelo carinho e paciência e por não somente terem me ensinado,mas por terem me feito aprender. Em especial à professora e coordenadora RosemaryPires, que nunca me deixou desistir e sempre acreditou na minha capacidade de concluir ocurso, à professora Marina Ribeiro, que sempre deixou sua porta aberta para conversas econselhos, ao professor Ivan Aguilar, por todo o conhecimento, amizade e disponibilidadequando precisávamos, à professora Marina Sequeiros, que foi um anjo nas nossas vidas, aosprofessores Adriano Caminha e Vera Caminha, sem os ensinamentos de vocês eu nuncateria me apaixonado pelo mundo da computação, obrigada pela paciência e dedicação.

Aos meus amigos que estiveram presentes na minha vida, sempre me apoiandoe acreditando no meu potencial. Aos meus amigos do ensino médio, que mesmo coma distância, sempre estiveram comigo e aos amigos que fiz na vida universitária, vocêsfizeram dessa época uma fase memorável, obrigada por compartilharem comigo todasas alegrias. Gostaria de agredecer em especial a Ádina, Bianca e Larissa, sem vocês eunão teria conseguido, obrigada pela amizade, por compartilharem as crises, as nossaspequenas alegrias do dia, como comer um bombom ou simplesmente ficar sentadas nosol conversando, vocês foram essenciais para que eu nunca perdesse o foco, obrigada porestarem comigo desde o início. Julia e Amanda, me faltam palavras para agradecer o apoioe amizade de vocês, obrigada por tudo.

Com enorme satisfação, agradeço a todos os meus familiares, meus avós, Aurilio,Annete e Elsina, meus padrinhos Rosane, Aline e Paulo, meus tios, tias e primos, agradeço

todos os dias a Deus pela família que tenho. À minha mãe Rosilene e meu pai Valter, vocêssão os exemplos da minha vida, obrigada pelo apoio incondicional, por me forneceremmais do que a educação formal, a qual se esforçaram para que fosse a melhor, a formaçãohumana foi o que de mais importante vocês fizeram por mim, vocês fizeram de mim apessoa que hoje sou, e eu só tenho motivos para agradecer, sou e serei eternamente gratapor tudo que vocês dedicaram a mim. Eu tenho muito orgulho de ser filha de vocês.

Finalmente, gostaria de agradecer imensamente aos professores participantes dabanca examinadora, Gilmar Garbugio e Marina Sequeiros Dias, que dividiram comigo estemomento tão importante e esperado.

"O único lugar aonde o sucesso vem antes do trabalho é no dicionário."(Albert Einstein)

ResumoEste trabalho apresenta de modo central a demonstração do Teorema de Lax-Milgram,que é um dos resultados mais importantes da análise funcional aplicada, e que fornece afundamentação matemática necessária à construção de formulações de elementos finitos.Para maior clareza da sua demonstração, foram introduzidos dois teoremas auxiliares soba forma de lema. Tratam-se do Teorema da Projeção e do Teorema da Representação deRiesz. Com a finalidade de confirmar os resultados teóricos demonstrados, foram realizadassimulações numéricas considerando como problema modelo a equação de Poisson comcondições de contorno de Dirichlet homogêneas. Os resultados obtidos através dessassimulações são discutidos à luz dos resultados teóricos, tornado possível a identificação daspotencialidades da formulação de elementos finitos usada, assim como de suas limitações.

Palavras-chave: EDP elíptica. Análise funcional. Elementos finitos.

AbstractThe main purpose of this work is to demonstrate the Lax-Milgram theorem, which is one ofthe most important results of applied functional analysis, that provides the mathematicalfoundation necessary to the construction of finite element formulations. The proof of theLax-Migram theorem has two main arguments: the Riesz Representation theorem and theProjection theorem, which were introduced as lemmas. In order to confirm the theoreticalresults, numerical simulations were performed considering the Poisson equation withhomogeneous Dirichlet boundary conditions as the model problem. The results obtainedthrough these simulations were confronted with the theoretical results, making it possibleto identify the potentialities of the finite element formulation used, as well as its limitations.

Keywords: Eliptical PDE. Functional Analysis. Finite Elements.

Lista de ilustrações

Figura 1 – Fluxograma com a estruturação do trabalho. . . . . . . . . . . . . . . . 3Figura 2 – Representação esquemática de Bola Aberta, Bola Fechada e Esfera. . . 6Figura 3 – Representação esquemática de conjunto normado aberto e conjunto

normado fechado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Figura 4 – Ilustração da decomposição X = V ⊕ V ⊥. . . . . . . . . . . . . . . . . 17Figura 5 – Representação esquemática do Teorema da Representação de Riesz. . . 26Figura 6 – Exemplos de polinômios de Lagrange característicos no caso de interpo-

lação linear por partes. . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Figura 7 – Solução numérica aproximando-se da solução exata à medida que a

malha é refinada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Figura 8 – Estudo da convergência do MEF para exemplo teste 01. . . . . . . . . 49Figura 9 – Análise da sensibilidade do MEF ao parâmetro h para ε = 1 fixo. . . . 50Figura 10 – Análise da sensibilidade do MEF ao parâmetro ε = CteDifu, para

h = 1/32 fixo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Lista de tabelas

Tabela 1 – Sequência de simulações do exemplo teste 01 . . . . . . . . . . . . . . . 48

Lista de abreviaturas e siglas

EDP Equações Diferenciais Parciais

MEF Método de Elementos Finitos

Lista de símbolos

τh Malha de elementos finitos

Ω Região do espaço euclidiano Rd, d = 1, 2, 3

∂Ω Fronteira da região Ω

h Dimensão característica da malha τh

n Dimensão do espaço Rn

Sumário

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 ELEMENTOS DA ANÁLISE FUNCIONAL . . . . . . . . . . . . . . 52.1 Espaços Métricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Normas e Espaços de Banach . . . . . . . . . . . . . . . . . . . . . . 82.2.1 Espaço Vetorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.2 Espaço Normado e Espaço de Banach . . . . . . . . . . . . . . . . . . . . 102.3 Espaços de Hilbert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.4 Projeções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.5 Operadores Lineares e Dualidade . . . . . . . . . . . . . . . . . . . . . 172.5.1 Operadores lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.5.2 Funcionais e Espaço Dual . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.6 Formas Bilineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.7 Formulação Variacional Abstrata . . . . . . . . . . . . . . . . . . . . . 21

3 O TEOREMA DE LAX-MILGRAM . . . . . . . . . . . . . . . . . . 233.1 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.2 O Teorema de Lax-Milgram . . . . . . . . . . . . . . . . . . . . . . . . 28

4 O MÉTODO DE ELEMENTOS FINITOS . . . . . . . . . . . . . . . 334.1 O Espaço H1(Ω) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.1.1 O Espaço H1

0 (Ω) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.2 Método de Galerkin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.3 Método de Elementos Finitos . . . . . . . . . . . . . . . . . . . . . . 384.3.1 Matriz Rigidez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.3.2 Vetor Fonte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.4 Decomposição LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.5 Algoritmo de Thomas . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5 SIMULAÇÕES NUMÉRICAS . . . . . . . . . . . . . . . . . . . . . . 475.1 Exemplos numéricos com solução exata . . . . . . . . . . . . . . . . . 475.1.1 Exemplo teste 01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475.1.2 Exemplo teste 02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6 CONSIDERAÇÕES FINAIS . . . . . . . . . . . . . . . . . . . . . . . 53

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

APÊNDICES 57

APÊNDICE A – ALGORITMO . . . . . . . . . . . . . . . . . . . . 59A.1 RotinasPoisson1DCPPTemplatesV0.cpp . . . . . . . . . . . . . . . . 59A.2 Poisson1DCPPHonorioLarissaMainV0.cpp . . . . . . . . . . . . . . . 70

1

1 Introdução

Muitos processos físicos na natureza, os quais a compreensão adequada, predição econtrole são significativos, são descritos por equações que envolvem quantidades físicasjunto com suas taxas de variação espacial e temporal (derivadas parciais). Disso resulta oschamados modelos matemáticos. Entre tais modelos, podemos citar modelos atmosféricos,de escoamento de fluídos, de problemas de elasticidade, de reações químicas, de eletro-magnetismo, e muitos outros. Conforme [1], uma equação contendo, além das variáveisindependente e dependente, uma ou mais derivadas parciais da variável dependente échamada de equação diferencial parcial (EDP). As soluções para essas equações são funções,contrapondo-se ao padrão das equações algébricas cujas soluções são números. Para amaioria das EDP’s, não somos capazes de encontrar a solução analítica, e as vezes nãosabemos se tal solução existe. Por essas razões, na maioria dos casos a única maneira deresolver EDP’s é aproximando numericamente suas soluções.

A característica fundamental que transformou o método de elementos finitos (MEF)no método mais amplamente usado na aproximação numérica de soluções para problemas domundo real de interesse prático e/ou científico, é certamente a sua sólida base matemática,cujo suporte é a análise funcional.

Embuidos dessa ideia, o principal objetivo deste trabalho consiste em apresentarferramentas básicas da análise funcional necessárias ao estudo das EDP’s em geral. Nestetrabalho, centramos nosso foco nas EDP’s elípticas na qual escolhemos o problema devalor de contorno dado pela equação de Poisson para representar tal classe. Esperamos nofinal de nossa jornada, que estejam colocadas de maneira clara e sucinta, as justificativasmatemáticas essenciais à aplicação do método de elementos finitos baseado na formulaçãoclássica de Galerkin para o problema de Poisson, que respondem em grande medidapelo sucesso alcançado pelo MEF na área da análise numérica. Em outras palavras, arobustez das justificativas matemáticas subjacentes ao MEF respondem pelo alto grau deconfiabilidade nos resultados numéricos por ele gerados. O Teorema de Lax-Milgram é umdesses pilares teóricos, o qual, sob alguns pressupostos como continuidade e coercividadeda forma bilinear dada pelo problema variacional contínuo correlato ao problema de valorde contorno original, assegura a existência e a unicidade de solução.

Em linhas gerais, este trabalho está organizado da seguinte maneira: no capítulo 2iremos apresentar as ferramentas necessárias da análise funcional visando a boa colocaçãoda formulação variacional do problema de valor de contorno. Nesse contexto a teoria dosespaços de Hilbert, que generaliza a ideia de ortogonalidade em Rn que conhecemos, àespaços funcionais mais abstratos. É com a caracterização dos espaços de Hilbert que

2 Capítulo 1. Introdução

finalizamos o capítulo apresentando a formulação variacional abstrata.

Dada a relevância do Teorema de Lax-Milgram para o nosso trabalho e consequen-temente constituir o cerne do mesmo, dedicamos um capítulo especial, capítulo 3, parasua demonstração. Nesse capítulo, por clareza de apresentação, introduzimos previamentedois resultados auxiliares a saber: Teorema da Projeção e Teorema da Representação deRiesz. Novamente, importa ressaltar que o Teorema de Lax-Milgram garante a existênciae a unicidade de solução da formulação variacional abstrata e consequentemente, daformulação variacional discreta associada obtida através do MEF. Em outras palavras, pormeio de escolhas adequadas de espaços de busca da solução aproximada, as propriedadesde existência e unicidade do problema contínuo são transferidas naturalmente para oproblema discreto.

No capítulo 4 apresentamos o Método de Elementos Finitos, cuja ideia consiste emsubstituir um espaço de Hilbert no qual estabelecemos a formulação variacional abstratapor um subespaço de dimensão finita, espaço no qual, o problema aproximado se reduza simples solução de um sistema linear da forma Ax = b, onde a matriz A obtida seráuma tridiagonoal, no caso em que o problema modelo, problema de Poisson é definidoem um domínio unidimensional e a formulação de elementos finitos emprega funções debase lineares. Sob essas condições, usamos o algoritmo de Thomas para resolver algunsexemplos do problema de Poisson.

Reservamos o capítulo 5 à apresentação de resultados numéricos de dois problemasexemplo usando o MEF. Com o primeiro exemplo, pretendemos mostrar a precisão e aconvergência do MEF, enquanto que o segundo tem como objetivo ilustrar a sensibilidadedo MEF à variação do parâmetro ε na equação de Poisson. Importa ressaltar que assimulações numéricas foram realizadas por meio de um código computacional implementadoem linguagem C++ de autoria própria e disponibilizado no apêndice deste trabalho.

Finalmente, dedicamos o capítulo 6 às conclusões e considerações finais, no qualchamamos atenção às questões centrais tratadas neste trabalho e apontamos para possíveisdesdobramentos.

Encerramos nossa introdução com a apresentação na Figura 1 de um fluxogramamostrando a forma como organizamos os principais tópicos abordados neste trabalho.

3

Elementos da Análise Funcional

Teorema da Projeção Teorema da Representação de Riesz

Teorema de Lax-Milgram MEF

Figura 1 – Fluxograma com a estruturação do trabalho.

5

2 Elementos da Análise Funcional

Uma das funções mais importantes da matemática moderna é alcançar uma visãounificada de grandes classes de problemas sujeitos a uma estrutura comum, capaz de nãosomente aumentar o entendimento teórico como também fornecer a flexibilidade necessáriapara guiar os métodos numéricos que serão utilizados na busca por soluções aproximadas.

Conforme [2], baseado na introdução de métodos abstratos, originados historica-mente de tentativas, em vão, de resolver problemas básicos no final do Século XIX, essesalto conceitual requer uma mudança de perspectiva.

Métodos abstratos nos quais existe uma fusão de aspectos analíticos e geométricos,representam o núcleo de um dos ramos da Matemática, chamado de Análise Funcional.

Neste capítulo, iremos desenvolver as ferramentas necessárias da Análise Funcional,essenciais para uma formulação variacional correta de uma grande variedade de problemasde valor do contorno, em particular, vamos introduzir os conceitos básicos da teoriade espaços de Hilbert, que é uma formulação abstrata e muito eficiente da ideia deortogonalidade bastante enraizada nos problemas do mundo real.

Os resultados apresentados constituem a fundamentação teórica para o Métodode Elementos Finitos, baseado no Método de Galerkin, e isso torna a teoria ainda maisatrativa e importante.

Os desenvolvimento subsequêntes podem ser encontrados em [3], [4], [5], [6], [19],[20].

2.1 Espaços MétricosEm cálculo elementar, estudamos funções definidas na reta real R, conjunto no qual

definimos uma função distância, denotada por d, a qual associa a distância d(x, y) = |x−y|para todo par de pontos x, y ∈ R.

Em análise funcional iremos estudar espaços e funções mais gerais. Iremos substituiro conjunto dos números reais R por um conjunto abstrato X e introduziremos em X a"função distância", a qual tem somente algumas das propriedades fundamentais de funçãodistância em R.

Definição 2.1. (Espaço métrico, métrica) Um espaço métrico é o par (X, d), ondeX é um conjunto e d é a métrica em X (ou função distância em X), isto é, uma funçãodefinida em X × X com valores em R, ou seja, d : X × X → R, tal que, ∀x, y, z ∈ Xtemos:

6 Capítulo 2. Elementos da Análise Funcional

1. d(x, y) ≥ 0 e d(x, y) = 0⇔ x = y (Positividade),

2. d(x, y) = d(y, x) (Simetria),

3. d(x, y) ≤ d(x, z) + d(z, y) (Desigualdade triangular).

Existe um número considerável de conceitos auxiliares que desempenham um papelrelevante no âmbito dos espaços métricos, parte dos quais apresentamos em seguida.Primeiramente, iremos considerar alguns tipos notáveis de subconjuntos dados por umespaço métrico X = (X, d).

Definição 2.2. (Bola e esfera) Dado um ponto x0 ∈ X e um número real r > 0,definimos três tipos de conjuntos:

(a) B(x0; r) = x ∈ X | d(x, x0) < r (Bola aberta)

(b) B(x0; r) = x ∈ X | d(x, x0) ≤ r (Bola fechada)

(c) S(x0; r) = x ∈ X | d(x, x0) = r (Esfera)

Em todos os três casos, x0 é chamado de centro e r de raio.

x0

r

x0

r

x0

r

Figura 2 – Representação esquemática de Bola Aberta, Bola Fechada e Esfera.

Definição 2.3. (Conjunto aberto, conjunto fechado) Um subconjunto M de umespaço métrico X é dito aberto se contém um bola aberta em torno de cada um deseus pontos inteiramente contida em M . Um subconjunto K de X é dito fechado se seucomplementar (em X) é aberto, isto é, KC = X −K é aberto.

Sabemos que sequências de números reais exercem um papel importante em cálculoe é a métrica em R que nos permite definir conceitos básicos de convergência de taissequências. Num espaço métrico arbitrário X = (X, d) a situação é bem parecida, isto é,podemos considerar uma sequência (xn) de elementos x1, x2, · · · de X e usar a métrica dpara definir a convergência de modo análogo.

Entretanto, antes de prosseguir com o nosso estudo sobre espaços de funções maisabstratos, gostaríamos de apresentar as definições de ínfimo e de supremo estabelecida emsubconjuntos da reta real, conforme [7], às quais recorreremos mais adiante, especificamente,no Capítulo 3.

2.1. Espaços Métricos 7

Definição 2.4. (Supremo) Dizemos que um conjunto X ⊂ R é limitado superiormentequando existe algum b ∈ R tal que x ≤ b para todo x ∈ X. Neste caso, b é chamadode cota superior de X. Seja X ⊂ R limitado superiormente e não vazio. Dizemos que onúmero b ∈ R é o supremo do conjunto X quando é a menor das cotas superiores de X.Mais explicitamente, b é o supremo de X quando satisfaz duas condições:

S1) Para todo x ∈ X, temos x ≤ b;

S2) Se c < b então existe x ∈ X com c < x.

Com efeito, S2) diz que nenhum número real menor do que b pode ser cota superior deX. Às vezes, exprimimos S2) da seguinte maneira: para todo ε > 0 existe x ∈ X tal queb− ε < x.

Definição 2.5. (Ínfimo) Dizemos que um conjunto X ⊂ R é limitado inferiormentequando existe a ∈ R tal que a ≤ x para todo x ∈ X. O número a é chamado então umacota inferior de X. Seja X ⊂ R limitado inferiormente e não vazio, o número real a échamado ínfimo do conjunto X, e escrevemos a = inf X, quando é a maior das cotasinferiores de X. Isto equivale às duas afirmações:

I1) Para todo x ∈ X, temos a ≤ x;

I2) Se a < c então existe x ∈ X com x < c.

De fato, I2) diz que nenhum número maior do que a é cota inferior de X. Equivalentemente:para todo ε > 0 existe x ∈ X tal que x < a+ ε.

Definição 2.6. (Convergência de uma sequência, limite) Uma sequência (xn) emum espaço métrico X = (X, d) é dita convergente se existe um x ∈ X tal que

limn→∞

d(xn, x) = 0.

O elemento x ∈ X é chamado limite de (xn) e escrevemos

limn→∞

xn = x

ou, simplesmente,xn → x

Dizemos que (xn) converge para x ou tem limite x. Se (xn) não é convergente, dizemosque é divergente.

8 Capítulo 2. Elementos da Análise Funcional

2.2 Normas e Espaços de Banach

2.2.1 Espaço Vetorial

Espaços vetoriais constituem um sistema matemático abstrato de grande utilidadeem várias áreas da matemática e suas aplicações. De fato, em vários problemas práticos,temos um conjunto X no qual seus elementos podem ser vetores num espaço tridimensional,ou sequências de números, ou funções, e esses elementos podem ser somados e multiplicadospor constantes de modo natural1, o resultado sendo, novamente, um elemento de X. Taissituações concretas sugerem o conceito de espaço vetorial.

Definição 2.7. (Espaço vetorial) Um espaço vetorial (ou espaço linear) sobre o corpo Ré um conjunto não vazio X de elementos x, y, · · · (denotados por vetores) juntamente comduas operações algébricas. Essas operações são chamadas soma vetorial e multiplicação devetores por um escalar, isto é, por elementos de R.

1. Soma vetorial associa cada par ordenado (x, y) de vetores, um vetor x+y chamadosoma de x e y, de tal modo que a seguinte propriedade é válida. Soma vetorial écomutativa e associativa, isto é, para todos vetores, temos

x+ y = y + x

x+ (y + z) = (x+ y) + z;

Além disso, existe um vetor 0, chamado vetor nulo, e para todo vetor x existe umvetor −x, tal que para todos os vetores temos

x+ 0 = x

x+ (−x) = 0

2. Multiplicação por escalar associa com todo vetor x e escalar α um vetor xα,chamado produto de α e x, de tal modo que, para todos os vetores x, y e escalaresα, β temos

α(βx) = (αβ)x

1x = x

e as leis distributivas,α(x+ y) = αx+ αy

(α + β)x = αx+ βx.

1 Aqui, modo natural significa realizar tais operações de modo similar as operações em R.

2.2. Normas e Espaços de Banach 9

Um subespaço de um espaço vetorial X é um conjunto não vazio Y de X tal quepara todo y1, y2 ∈ Y e todos escalares α, β temos αy1 + βy2 ∈ Y . Consequentemente, Y é,ele mesmo, um espaço vetorial, sendo que as duas operações algébricas são induzidas porX.

Uma combinação linear de vetores x1, · · · , xm de um espaço vetorial X é umaexpressão da forma

α1x1 + α2x2 + · · ·+ αmxm

onde os coeficientes α1, · · · , αm são quaisquer escalares.

Para qualquer subconjunto não vazio M ⊂ X, o conjunto de todas as combinaçõeslineares de vetores de M é chamado de conjunto gerado por M , sendo M chamado deconjunto gerador.

Definição 2.8. (Independência linear, dependência linear) Independência e depen-dência linear de um conjunto M de vetores x1, · · · , xr (r ≥ 1) em um espaço vetorial Xsão definidos pela equação

α1x1 + α2x2 + · · ·+ αrxr = 0 (2.1)

onde α1, · · · , αr são escalares. Claramente, a equação (2.1) é válida para α1 = α2 = · · · =αr = 0. Se esta é a única combinação de escalares para o qual (2.1) é válida, o conjunto Mé dito linearmente independente. M é dito linearmente dependente se M não é linearmenteindependente, isto é, se (2.1) é válida para algum escalar não nulo.

Podemos usar os conceitos de dependência e independência linear para definir adimensão de um espaço vetorial.

Definição 2.9. (Espaço vetorial de dimensão finita e infinita) Um espaço vetorialX é dito de dimensão finita se existe um inteiro positivo n tal que X contém um conjuntolinearmente independente de n vetores, visto que, qualquer conjunto de n + 1 ou maisvetores de X são linearmente dependentes. Portanto, n indica a dimensão de X, que daquiem diante será denotada por dimX. Se X não tem dimensão finita, dizemos que X é dedimensão infinita.

Em análise, espaços vetoriais de dimensão infinita são de maior interesse que os dedimensão finita.

Se dimX = n, uma combinação linear de n vetores linearmente independentes deX é chamada base em X. Se e1, · · · , en é uma base em X, todo x ∈ X tem uma únicarepresentação como combinação linear de vetores da base:

x = α1e1 + · · ·+ αnen.

10 Capítulo 2. Elementos da Análise Funcional

2.2.2 Espaço Normado e Espaço de Banach

Em vários casos, um espaço vetorial X pode ser, ao mesmo tempo, um espaçométrico, pois a métrica d é definida em X. Para garantir tal relação entre propriedadesalgébricas e geométricas de X, definimos em X uma métrica d de um modo diferente.Primeiramente iremos introduzir um conceito auxiliar, a norma. Então, usamos a normapara obter uma métrica d. Essa ideia nos leva ao conceito de espaço normado.

Todo espaço vetorial normado possui uma métrica definida a partir da norma. Aspropriedades requeridas para uma métrica, são verificadas facilmente a partir da definiçãode norma, que será dada a seguir.

Definição 2.10. (Norma) Seja X um espaço vetorial sobre R. A norma em X é umafunção real

‖ · ‖X : X → R (2.2)

tal que, para cada escalar λ e para todos x, y ∈ X, as seguintes propriedades são válidas:

1. ‖x‖X ≥ 0; ‖x‖X = 0⇔ x = 0 (positividade)

2. ‖λx‖X = |λ|‖x‖X (homogeneidade)

3. ‖x+ y‖X ≤ ‖x‖X + ‖y‖X (desigualdade triangular)

A norma é introduzida como uma métrica em X, ou seja, como um instrumento demensuração dos elementos de X, de tal modo que as propriedades acima sejam satisfeitas.

Definição 2.11. (Espaço normado) Um espaço normado é um espaço vetorialX munidocom a norma ‖ · ‖X . A norma em X define uma métrica d em X, dada por

d(x, y) = ‖x− y‖X

e é chamada de métrica induzida pela norma.

Essa definição torna X um espaço métrico e permite a noção de convergência deum modo simples como apresentamos em seguida.

Definição 2.12. (Convergência) Dizemos que a sequência (xn) ⊂ X converge para xem X, e escrevemos xm → x em X, se

d(xm, x) = ‖xm − x‖X → 0 quando m→∞

A definição de uma sequência convergente de elementos (xn) em um espaço normadoX como definido acima, é extrínseca, pois lança mão de um dado externo à tal sequência,a saber, seu limite. Ocorre que, em muitas situações, não se conhece, ou mesmo se

2.2. Normas e Espaços de Banach 11

está procurando determinar, ou mostrar que existe, ou aproximar esse limite. Esta é ajustificativa para introduzir o chamado critério de Cauchy sintetizado na definição seguinte,veja [6] para mais detalhes.

Definição 2.13. (Sequência de Cauchy) Uma sequência (xm) ⊂ X é uma sequênciade Cauchy se

d(xm, xk) = ‖xm − xk‖X → 0 quando m, k →∞.

Importa ressaltar que a Definição 2.12 implica na Definição 2.13, mas a recíprocanão é necessariamente verdadeira, como mostra o exemplo seguinte.

Exemplo 2.1. Se xm → x em X, da desigualdade triangular, podemos escrever

‖xm − xk‖X = ‖xm − xk + x− x‖X

= ‖(xm − x) + (x− xk)‖X

≤ ‖xm − x‖X + ‖xk − x‖X → 0 quando m, k →∞

e então,

(xm) convergente implica que (xm) é uma sequência de Cauchy.

Em geral, a recíproca não é verdadeira. Como contra-exemplo, seja X = Q, com o normausual dada por |x|. A sequência de números racionais

xm =(

1 + 1m

)m

é um sequência de Cauchy, mas não é convergente em Q, visto que o seu limite é o númeroirracional e, veja [7], capítulo 3, página 30, para mais detalhes.

Em seguida apresentamos as definições de conjunto fechado, conjunto aberto econjunto denso, explorando as noções de convergência apresentadas anteriormente.

Definição 2.14. (Conjunto Aberto) Seja X um espaço normado. Para u0 ∈ X fixo eε > 0, o conjunto

Uε(u0) := u ∈ X : ‖u− u0‖X < ε

é chamado uma ε-vizinhança do ponto u0. Observe a semelhança com a bola aberta deraio ε centrada em u0 da Definição 2.3.

O subconjunto M de X é chamado aberto se, para cada ponto u0 ∈ M , existealguma ε-vizinhança Uε(u0) tal que

Uε(u0) ⊆M

(conforme Figura 3 a)).

12 Capítulo 2. Elementos da Análise Funcional

u0Uε(u0)

a)u1 u2

un

u

b)

Figura 3 – Representação esquemática de conjunto normado aberto e conjunto normadofechado.

Definição 2.15. (Conjunto Fechado) Diz-se que um subconjunto M de um espaçonormado X é fechado se o limite de qualquer sequência convergente (un) de elementosde M está necessariamente em M . Em outras palavras, os elementos de M só podemaproximar elementos do próprio M . Veja Figura 3 b).

O conceito de conjunto fechado pode ser resumido através da proposição abaixo:

Proposição 2.1. Seja M ⊆ X, onde X é um espaço normado. Então, as seguintesafirmações são equivalentes:

(i) M é fechado.

(ii) Segue-se de un ∈M , para todo n e

un → u quando n→∞

que u ∈M .

Demonstração. Veja [5] página 15.

Definição 2.16. (Fecho de um conjunto) Seja X um espaço normado. ConsideremosM ⊂ X como sendo o conjunto de todos os elementos de X que podem ser aproximadospor elementos de M . Esse conjunto é chamado de fecho de M e denotado por M . Emoutras palavras, m ∈ M se, e somente se, m for limite de alguma sequência (un) comun ∈M .

Definição 2.17. (Conjunto Denso) Dizemos que M ⊂ X é denso em X, ou simples-mente denso, se M = X, isto é, se todo elemento de X pode ser aproximado por elementosde M . Em outras palavras, M é denso em X se dado ε > 0, existe (un) ∈ M tal que‖un − u‖X < ε para todo u ∈ X.

Um espaço normado no qual toda sequência de Cauchy converge, é chamadocompleto e merece um nome especial.

Definição 2.18. (Espaço de Banach) Um espaço normado e completo é chamadoespaço de Banach.

2.3. Espaços de Hilbert 13

A noção de convergência (ou de limite) pode ser estendida a espaços normadosdistintos cujos elementos são associados através de um determinado mapeamento, tambémchamado de transformação ou operador, reduzindo sempre essa noção de convergência àconvergência das distâncias entre elementos nos espaços correspondentes, como mostra adefinição abaixo.

Definição 2.19. (Continuidade) Sejam X, Y espaços vetorias, munidos com as normas‖ · ‖X e ‖ · ‖Y , respectivamente, e F : X → Y . Dizemos que o mapeamento F é contínuoem x ∈ X se

‖F (y)− F (x)‖Y → 0 quando ‖y − x‖X → 0

ou, equivalentemente, se, para cada sequência (xm) ⊂ X,

‖xm − x‖X → 0 implica ‖F (xm)− F (x)‖Y → 0.

F é contínua em X se é contínua em todo x ∈ X. Um exemplo particular desse fato éilustrado na proposição seguinte.

Proposição 2.2. Toda norma em um espaço linear X é contínua em X.

Demonstração. Seja ‖ · ‖X uma norma em X. Da desigualdade triangular ‖a + b‖X ≤‖a‖X + ‖b‖X , fazendo a = x e b = y − x segue

‖x+ (y − x)‖X ≤ ‖x‖X + ‖y − x‖X

⇒ ‖y‖X ≤ ‖x‖X + ‖y − x‖X

logo,|‖y‖X − ‖x‖X | ≤ ‖y − x‖X

Portanto, se ‖y− x‖X → 0 então |‖y‖X − ‖x‖X | → 0, o qual representa a continuidade danorma.

2.3 Espaços de HilbertA análise funcional fornece as ferramentas adequadas para descrição de fenômenos

do mundo real de interesse prático em termos matemáticos. Nesse contexto os espaços deHilbert desempenham um papel central por generalizarem a ideia de ortogonalidade queconhecemos em Rn à espaços funcionais mais abstratos como veremos na seção 2.4.

Definição 2.20. (Produto interno) Seja X um espaço linear sobre o corpo R. Umproduto interno ou escalar em X é uma função

(·, ·)X : X ×X → R

com as três seguintes propriedade. Para todo x, y, z ∈ X e escalares λ, µ ∈ R:

14 Capítulo 2. Elementos da Análise Funcional

1. (x, x)X ≥ 0 e (x, x)X = 0⇔ x = 0 (positividade)

2. (x, y)X = (y, x)X (simetria)

3. (µx+ λy, z)X = µ(x, z)X + λ(y, z)X (bilinearidade)

Um espaço linear dotado de um produto interno é chamado espaço com produtointerno. A propriedade 3 mostra que o produto interno é linear com respeito ao primeiroargumento. De 2, o mesmo é válido para o segundo argumento. Então, dizemos que (·, ·)X

constitui uma forma bilinear simétrica em X.

Um produto interno induz uma norma, dada por

‖x‖X =√

(x, x)X (2.3)

De fato, as propriedades 1 e 2 da definição de norma são imediatas, enquanto a desigualdadetriangular é uma consequência do seguinte teorema na qual apresentamos como um dosresultados, a desigualdade de Schwarz, que representa a mais importante desigualdade nateoria de espaços de Hilbert [5].

Teorema 2.1. Seja x, y ∈ X. Então:

1. Desigualdade de Cauchy-Schwarz:

|(x, y)X | ≤ ‖x‖X‖y‖X . (2.4)

Além disso, a igualdade em (2.4) é válida se, e somente se, x e y são linearmentedependentes.

2. Lei do paralelogramo:

‖x+ y‖2X + ‖x− y‖2

X = 2‖x‖2X + 2‖y‖2

X . (2.5)

Demonstração. 1. Seja t ∈ R e x, y ∈ X. Usando as propriedades de produto interno e(2.3), podemos escrever:

0 ≤ (tx+ y, tx+ y)X = t2‖x‖2X + 2t(x, y)X + ‖y‖2

X := P (t).

Portanto, o polinômio de segunda ordem P (t) é sempre não negativo, logo o discri-minante deve ser não negativo, isto é,

(x, y)2X − ‖x‖2

X‖y‖2X ≤ 0

que representa a desigualdade de Schwarz. A igualdade é somente possível se tx+y = 0,isto é, se x e y são linearmente dependentes.

2.4. Projeções 15

2. Basta observar que

‖x+ y‖2X = (x+ y, x+ y)X = ‖x‖2

X + 2(x, y)X + ‖y‖2X (2.6)

‖x− y‖2X = (x− y, x− y)X = ‖x‖2

X − 2(x, y)X + ‖y‖2X (2.7)

Somando (2.6) e (2.7) completamos a demonstração.

Definição 2.21. (Espaço de Hilbert) Seja H um espaço com produto interno. Dizemosque H é um espaço de Hilbert se é completo com respeito a norma (2.3), induzida peloproduto interno.

Definição 2.22. (Isomorfismo) Dois espaços de Hilbert, H1 e H2 são isomorfos se existeum mapeamento linear L : H1 → H2 o qual preserva o produto interno, isto é,

(x, y)H1 = (Lx, Ly)H2 , ∀x, y ∈ H1

Em particular,

‖x‖H1 = ‖Lx‖H2

2.4 ProjeçõesEspaços de Hilbert representam o conjunto ideal para resolver problemas em

dimensão infinita. Eles unificam, através do produto interno e da norma induzida, estruturasanalíticas e geométricas. Portanto, a ideia de ortogonalidade constitui o conceito chavedos espaços de Hilbert. Para ilustrar essa ideia, revisitamos tal conceito em espaços dedimensão finita considerando particularmente o espaço Rn e em seguida, no Capítulo 3,estendemos o mesmo conceito aos espaços de dimensão infinita com produto interno.

Lembramos que em um espaço vetorial de dimensão finita, dois elementos x, ypertencentes ao espaço com produto interno, X, são chamados ortogonais se (x, y)X = 0,e escrevemos x ⊥ y.

Com isso, se considerarmos um subespaço V de Rn, isto é, um hiperplano passandopela origem, todo x ∈ Rn tem uma única projeção ortogonal em V . De fato, se dim V = k

e os vetores unitários v1,v2, · · · ,vk constituem uma base ortonormal em V , é semprepossível achar uma base ortonormal em Rn, veja por exemplo [8], [9], [10], [11] dada por

v1,v2, · · · ,vk,wk+1, · · · ,wn,

16 Capítulo 2. Elementos da Análise Funcional

onde wk+1, · · · ,wn são vetores unitários adequados. Então, se

x =k∑

j=1xjvj +

n∑j=k+1

xjwj, (2.8)

a projeção de x em V é dada por

PV x =k∑

j=1xjvj. (2.9)

Por outro lado, denotando a norma em Rn, n > 1, por ‖ · ‖, a projeção PV x podeser caracterizada através da seguinte propriedade, a qual não envolve uma base em Rn:PV x é o ponto em V que minimiza a distância de x, isto é,

‖x− PV x‖ = infy∈V‖x− y‖ (2.10)

De fato, se y =k∑

j=1yjvj, temos

‖x− y‖2 =k∑

j=1(xj − yj)2 +

n∑j=k+1

x2j

≥n∑

j=k+1x2

j

= ‖x− PV x‖2 (subtraindo (2.9) de (2.8)) (2.11)

Neste caso, o "ínfimo"em (2.10) é, na verdade, um "mínimo".

A unicidade de PV x segue do fato que, se y∗ ∈ V e y∗ satisfaz (2.10), isto é,

‖x− y∗‖ = infy∗∈V

‖x− y∗‖,

então devemos ter

‖x− y∗‖2 =k∑

j=1(xj − y∗j )2 +

n∑j=k+1

x2j

= ‖x− PV x‖2 (de (2.11))

=n∑

j=k+1x2

j

a partir da qual obtemosk∑

j=1(xj − y∗j )2 +

n∑j=k+1

x2j =

n∑j=k+1

x2j ,

que, por comparação, implica emk∑

j=1(xj − y∗j )2 = 0,

2.5. Operadores Lineares e Dualidade 17

de onde y∗j = xj para j = 1, · · · , k e portanto, y∗ = PV x, levando em conta (2.9). Como,por construção,

(x− PV x) ⊥ v, ∀v ∈ V

todo x ∈ Rn pode ser escrito de uma maneira única como

x = y + z

com y ∈ V e z ∈ V ⊥, onde V ⊥ denota o subespaço dos vetores ortogonais a V .

Dizemos então que Rn é uma soma direta dos subespaços V e V ⊥ e denotamos por

Rn = V ⊕ V ⊥.

Podemos estender todas as considerações acima para espaços de Hilbert, H, dedimensão infinita, se considerarmos subespaços fechados V de H. Mais precisamente,um subconjunto U ⊂ H é fechado em H se cada um de seus elementos é o limite de algumasequência em U . Observe que se V tem dimensão finita k, é automaticamente fechado,visto que é isomorfo a Rk. Igualmente, um subespaço fechado de um espaço de Hilbert étambém um espaço de Hilbert, com respeito ao produto interno em H.

0 PV x

x

V

V ⊥X

x− PV x

Figura 4 – Ilustração da decomposição X = V ⊕ V ⊥.

2.5 Operadores Lineares e DualidadeO conceito de operador em espaços vetoriais normados é uma generalização de

ideia de função de uma variável real. Operadores lineares em espaços vetoriais normadossão especialmente usados para representar quantidades físicas, portanto são de grandeimportância na matemática aplicada.

Nesta seção estudamos operadores lineares em espaços de Hilbert.

18 Capítulo 2. Elementos da Análise Funcional

2.5.1 Operadores lineares

Definição 2.23. (Operador Linear)Sejam H1 e H2 espaços de Hilbert. Um operadorlinear de H1 em H2 é uma função

L : H1 → H2

tal que, ∀α, β ∈ R e ∀x, y ∈ H1

L(αx+ βy) = αLx+ βLy.

Para todo operador linear definimos seu Núcleo, N (L) e sua Imagem, I(L), daseguinte forma:

Definição 2.24. (Núcleo e Imagem) O núcleo de L, é a pré-imagem do vetor nulo emH2:

N (L) = x ∈ H1 : Lx = 0.

A imagem de L é o conjunto de todos os elementos que estão associados à pelo menos umelemento de H1, isto é,

I(L) = y ∈ H2 : ∃x ∈ H1, Lx = y.

Proposição 2.3. Sejam H1 e H2 espaços vetoriais sobre o corpo R e L : H1 → H2 umatransformação linear.

(i) N (L) e I(L) são subespaços vetoriais de H1 e H2, respectivamente.

(ii) L é injetora ⇔ N (L) = 0

(iii) L é sobrejetora ⇔ dim I(L) = dimH2, isto é, I(L) = H2.

Demonstração. (i) Lembramos primeiramente que se E é um espaço vetorial, então umsubespaço vetorial de E, é um subconjunto F ⊂ E satisfazendo as duas propriedadesseguintes:

SV1) 0 ∈ F ;

SV2) Se u1, u2 ∈ F e λ ∈ R, então u1 + λu2 ∈ F .

De fato, N (L) ⊂ H1 e I(L) ⊂ H2 satisfazem SV1) e SV2).

Lembramos que, por definição, N (L) = u ∈ H1 : L(u) = 0. Queremos provarSV1), ou seja, que 0 ∈ N (L). Com efeito, da homogeneidade de L temos queL(λu) = λL(u). Fazendo λ = 0, segue que

L(0u) = L(0)

= 0L(u)

= 0,

2.5. Operadores Lineares e Dualidade 19

o que mostra que L(u) = 0 implica em u = 0 e portanto, 0 ∈ N (L), o que completaa prova de SV1). Por outro lado,considerando u1, u2 ∈ N (L) e λ ∈ R, segue que

L(u1 + λu2) = L(u1) + λL(u2)

= 0 + λ0

= 0, (2.12)

o que prova SV2), ou seja, (u1 + λu2) ∈ N (L). Isso completa a prova.

De igual modo, por definição, I(L) = v ∈ H2 : ∃ u ∈ H1 com L(u) = v. De (2.12)concluímos que 0 ∈ H2, o que prova SV1). Visando provar SV2), sejam v1, v2 ∈ H2,tais que v1 = L(u1) e v2 = L(u2), para u1, u2 ∈ H1 quaisquer. Além disso, considereλ ∈ R. Logo,

L(u1 + λu2) = L(u1) + λL(u2)

= v1 + λv2,

o que prova SV2). Consequentemente, I(L) é subespaço vetorial de H2.

(ii) (⇒) Seja L é injetora. Então para u ∈ N (L), temos

Lu = 0 (pois u ∈ N (L))

= L0, (reescrevendo 0 como L0)

e levando em conta a injetividade da L, obtemos u = 0, logo N (L) = 0.

(⇐) Seja N (L) = 0 e sejam u1, u2 ∈ H1 tais que L(u1) = L(u2). Queremos provara injetividade de L, ou seja, que u1 = u2. De fato,

0 = L(u1)− L(u2)

= L(u1 − u2).

Portanto, u1 − u2 ∈ N (L) = 0. Daí segue que u1 = u2. Logo, L é injetora.

(iii) (⇒) L é sobrejetora, logo a imagem é igual ao contra domínio. Portanto I(L) = H2.

(⇐) Observe que I(L) ⊂ H2 e I(L) 6= ∅, pois 0 = L(0) ∈ I(L). Como por hipóteseI(L) = H2, temos que ∀v ∈ H2 existe pelo menos um u ∈ H1 tal que L(u) = v, logo,L é sobrejetora.

Definição 2.25. (Operador linear limitado) Um operador linear L : H1 → H2 élimitado se existe um número C tal que

‖Lx‖H2 ≤ C‖x‖H1 , ∀x ∈ H1. (2.13)

20 Capítulo 2. Elementos da Análise Funcional

O número C controla a taxa de crescimento do operador L aplicado a cada elementode H1. Em particular, se C < 1, então o operador L é exatamente o operador contração,fornecendo assim o tamanho da contração dos elementos de H1.

Se x 6= 0, usando a linearidade de L, mais precisamente, a homogeneidade de L,podemos escrever (2.13) na forma∥∥∥∥∥L

(x

‖x‖H1

)∥∥∥∥∥H2

≤ C

que é equivalente asup

‖x‖H1=1‖Lx‖H2 = K <∞, (2.14)

uma vez que x/‖x‖H1 é um vetor unitário em H1. Claramente K ≤ C.

Proposição 2.4. Um operador linear L : H1 → H2 é limitado se, e somente se, é contínuo.

Demonstração. Veja [3], página 327.

Definição 2.26. (Conjunto de todos os operadores lineares) Dados dois espaços deHilbert H1 e H2, denotamos por L(H1, H2) como sendo o conjunto de todos os operadoreslineares de H1 em H2. Se H1 = H2, simplesmente escrevemos L(H).

O conjunto L(H1, H2) torna-se um espaço vetorial se definimos, para x ∈ H1 eλ ∈ R,

(G+ λL)(x) = Gx+ λLx.

Explorando o número real K introduzido em (2.14) apresentamos em seguida umadefinição para norma no espaço L(H1, H2), isto é, para norma de um operador.

Definição 2.27. (Norma de um operador) Sejam H1, H2, espaços de Hilbert, eL(H1, H2) o conjunto de todos os operadores lineares de H1 em H2. Para todo L ∈L(H1, H2), a norma do operador L, denotada por ‖L‖L(H1,H2), é dada por

‖L‖L(H1,H2) = sup‖x‖H1=1

‖Lx‖H2 . (2.15)

Além disso, para todo L ∈ L(H1, H2) temos

‖Lx‖H2 ≤ ‖L‖‖x‖H1 . (2.16)

Importa ressaltar que o espaço L(H1, H2) munido com a norma em (2.15), é umespaço de Banach.

Como o número real K em (2.14) é menor ou igual do que a constante real C de(2.13), fazendo C = K em (2.13) somos conduzidos a desigualdade

‖Lx‖H2 ≤ ‖L‖‖x‖H1 , (2.17)

que guarda uma grande semelhança com a desigualdade de Cauchy-Schwarz.

2.6. Formas Bilineares 21

2.5.2 Funcionais e Espaço Dual

Quando H2 = R, um operador linear L : H → R leva o nome de funcional.

Definição 2.28. (Espaço Dual) A coleção de todos os funcionais lineares limitados emum espaço de Hilbert H é chamado de espaço dual de H e denotado por H∗.

Identificar o espaço dual de um espaço de Hilbert H é crucial em diversos casos. Oproduto interno com um elemento fixo y em H define um elemento de H∗, cuja norma éexatamente ‖y‖H . Da Álgebra Linear, sabemos que todos os funcionais lineares em umespaço de dimensão finita podem ser representados de uma certa forma. Precisamente, seL é linear em Rn, existe um vetor a ∈ Rn tal que, para todo h ∈ Rn,

Lh = a · h, e ‖L‖∗ = ‖a‖, (2.18)

onde ‖ · ‖∗ denota a norma do espaço dual, veja [9] para mais detalhes.

Formas bilineares estão quase sempre presentes na formulação variacional de umaampla classe de problemas físicos de interesse prático. Por essa razão apresentamos emseguida sua definição.

2.6 Formas BilinearesPara maior clareza de exposição, antecedendo à apresentação da formulação varia-

cional abstrata, introduzimos a definição que se segue.

Definição 2.29. (Formas bilineares) Sejam V1 e V2 espaços vetorias reais. Dizemosque a : V1 × V2 → R é uma forma bilinear se é linear em cada uma das suas componentes,isto é, para todo α, β ∈ R,

i) a(αu+ βv, w) = αa(u,w) + βa(v, w) ∀u, v ∈ V1, ∀w ∈ V2,

ii) a(u, αv + βw) = αa(u, v) + βa(u,w), ∀u ∈ V1, ∀v, w ∈ V2.

Quando V1 = V2, dizemos simplesmente que a é uma forma bilinear em V .

Considerando as formas lineares e bilineares introduzidas nas definições 2.23 e 2.29,respectivamente, finalizamos nosso capítulo sobre Elementos da Análise Funcional com aapresentação da formulação variacional abstrata.

2.7 Formulação Variacional AbstrataSeja H um espaço de Hilbert, a(·, ·) uma forma bilinear em H e F ∈ H∗. Considere

o seguinte problema, chamado problema variacional abstrato: Encontrar u ∈ H tal que

a(u, v) = 〈F, v〉 ∀v ∈ H, (2.19)

22 Capítulo 2. Elementos da Análise Funcional

onde 〈F, v〉 denota produto interno entre v ∈ H e F ∈ H∗.

Muitos problemas de valor do contorno podem ser reformulados para esta forma.

23

3 O Teorema de Lax-Milgram

O Teorema de Lax-Milgram é o principal ingrediente que estabelece a existência ea unicidade de solução da formulação variacional abstrata em (2.19) e consequentemente,da solução da formulação variacional discreta associada obtida através do Método deElementos Finitos discutido no próximo capítulo.

3.1 PreliminaresPara a demonstração do teorema de Lax-Milgram são necessários dois importantes

resultados, os quais serão tratados como lemas, a saber: o Teorema da Projeção e o Teoremada Representação de Riesz.

Por simplicidade de notação, neste capítulo, no lugar da norma no espaço de HilbertH, ‖ · ‖H , usaremos ‖ · ‖.

Lema 3.1. (Teorema da Projeção) Seja V um subespaço fechado de um espaço deHilbert H. Então, para todo x ∈ H, existe um único elemento PV x ∈ V tal que

‖PV x− x‖ = infv∈V‖v − x‖. (3.1)

Além disso, valem as seguintes propriedades:

P1) PV x = x se, e somente se, x ∈ V .

P2) Seja QV x = x− PV x. Então QV x ∈ V ⊥ e

‖x‖2 = ‖PV x‖2 + ‖QV x‖21. (3.2)

Demonstração. Sejad = inf

v∈V‖v − x‖. (3.3)

Como (3.3) vale para todo v ∈ V , em especial, podemos escolher uma sequência (vm) ∈ Vtal que

‖vm − x‖ → d, quando m→∞ (3.4)

pois, V é um subespaço fechado de H. De fato, para todo inteiro m ≥ 1, existe vm ∈ Vtal que

d ≤ ‖vm − x‖ < d+ 1m

(3.5)

onde a desigualdade decorre de (3.3) e desigualdade estrita é uma consequência imediata dadefinição 2.5 (ínfimo de um conjunto). Fazendo m→∞ em (3.5), obtemos ‖vm − x‖ → d.1 Observe que (3.2) é exatamente o Teorema de Pitágoras em espaços de Hilbert.

24 Capítulo 3. O Teorema de Lax-Milgram

Agora mostraremos que (vm) é um sequência de Cauchy. De fato, usando a lei doparalelogramo, equação (2.5), para os vetores vk − x e vm − x, obtemos

‖(vk − x) + (vm − x)‖2 + ‖(vk − x)− (vm − x)‖2 = 2‖vk − x‖2 + 2‖vm − x‖2

que implica em

‖vk + vm − 2x‖2 + ‖vk − vm‖2 = 2‖vk − x‖2 + 2‖vm − x‖2. (3.6)

Como vk + vm

2 ∈ V , podemos escrever

‖vk + vm − 2x‖2 =∥∥∥∥2(vk + vm

2

)− 2x

∥∥∥∥2

=∥∥∥∥2(vk + vm

2 − x)∥∥∥∥2

= 4∥∥∥∥vk + vm

2 − x∥∥∥∥2

≥ 4d2. (usando (3.4)) (3.7)

Logo,passando o primeiro termo no lado esquerdo de (3.6) para o lado direito, e levandoem conta (3.7), somos conduzidos a

‖vk − vm‖2 = 2‖vk − x‖2 + 2‖vm − x‖2 − ‖vk + vm − 2x‖2

≤ 2‖vk − x‖2 + 2‖vm − x‖2 − 4d2.

Fazendo k,m→∞, o lado direito na desigualdade acima tende a zero, consequentemente,

‖vk − vm‖ → 0.

Ficando assim provado que (vm) é uma sequência de Cauchy.

Como H é completo, vm converge para um elemento w ∈ H o qual pertence a V ,pois V é fechado. Usando a continuidade da norma, podemos concluir

‖vm − x‖ → ‖w − x‖ = d (3.8)

de modo que w é o elemento cuja distância a x é mínima dentre todos os elementos de V .

Precisamos provar a unicidade de w. Suponhamos que w seja outro elemento de Vtal que ‖w − x‖ = d. Combinando a lei do paralelogramo aplicada aos elementos w − x ew − x, com a equação (3.8), concluímos que

‖w − w‖2 = 2‖w − x‖2 + 2‖w − x‖2 − 4∥∥∥∥w + w

2 − x∥∥∥∥2

≤ 2d2 + 2d2 − 4d2

= 0,

3.1. Preliminares 25

e consequentemente, w = w.

Provamos então que existe um único elemento w = PV x ∈ V tal que

‖x− PV x‖ = d. (3.9)

Para provar P1), observe que, como V é fechado, x ∈ V se, e somente se, d = 0, oque significa que x = PV x.

Para provar P2), seja QV x = x− PV x, v ∈ V e t ∈ R. Como PV x+ tv ∈ V , paratodo t, temos

d2 ≤ ‖x− (PV x+ tv)‖2 (de (3.9))

= ‖QV x− tv‖2

= ‖QV x‖2 − 2t(QV x, v)H + t2‖v‖2

= d2 − 2t(QV x, v)H + t2‖v‖2

Cancelando d2 em ambos as lados da desigualdade anterior e dividindo por t 6= 0, obtemos

(QV x, v)H ≤t

2‖v‖2, ∀t 6= 0. (3.10)

Considerando primeiramente t > 0, da passagem ao limite com t → 0, de (3.10)somos conduzidos a

(QV x, v)H ≤ 0. (3.11)

De igual modo, considerando nesse segundo momento, t < 0, da passagem ao limitecom t→ 0, de (3.10) chegamos a

(QV x, v)H ≥ 0. (3.12)

Portanto, de (3.11) e (3.12), concluímos que

(QV x, v)H = 0, (3.13)

o que significa que QV x ∈ V ⊥. Dessa forma,

‖x‖2 = ‖PV x+QV x‖2 (da definição de QV x = x− PV x)

= (PV x+QV x, PV x+QV x)

= (QV x,QV x) + 2(PV x,QV x) + (PV x, PV x)

= ‖PV x‖2 + ‖QV x‖2 (de (3.13)),

o que conclui a demonstração.

26 Capítulo 3. O Teorema de Lax-Milgram

Os elementos PV x, QV x são chamados projeções ortogonais de x sobre V eV ⊥, respectivamente. A menor das cotas superiores em (3.1) é, na verdade, um mínimo.Além disso, em virtude das propriedades P1) e P2), dizemos que H é soma direta de V eV ⊥:

H = V ⊕ V ⊥.

Note queV ⊥ = 0 se e somente se V = H.

O lema seguinte estende o resultado em (2.18) válido para o Rn aos espaços deHilbert.

A Figura 5 é uma tentativa de ilustrar graficamente o Teorema da Representaçãode Riesz demonstrado na sequência.

RHH∗ L : H → R

xy = Lx

uLL

Figura 5 – Representação esquemática do Teorema da Representação de Riesz.

Lema 3.2. (Teorema da Representação de Riesz) Sejam H um espaço de Hilbert eL : H → R um funcional linear limitado. Lembramos que H∗ denota o dual de H. Assim,para todo L ∈ H∗, existe um único uL ∈ H tal que

R1) Lx = (uL, x)H , ∀x ∈ H,

R2) ‖L‖∗ = ‖uL‖.

Demonstração. Inicialmente, vamos provar que R1), ou seja, provaremos primeiramente aexistência e a unicidade de uL. Com efeito, seja N o núcleo de L. Se N = H, então L éo operador nulo e o resultado fica provado tomando uL = 0. Se N ⊂ H, então N é umsubespaço fechado de H.

De fato, se (xn) ⊂ N e xn → x, então

0 = Lxn

= Lx (pela continuidade de L),

e portanto x ∈ N . Logo, N contém todos os elementos que são limite de alguma sequênciaconvergente e consequentemente, é fechado.

3.1. Preliminares 27

Com isso, sendo N um subespaço fechado de um espaço de Hilbert H, por (3.1),Teorema da Projeção, existe z ∈ N⊥, z 6= 0, tal que (x, z)H = 0. Logo, Lz 6= 0 e, dadoqualquer x ∈ H, o elemento

w = x− Lx

Lzz (3.14)

pertence a N .

De fato,

Lw = L(x− Lx

Lzz)

= Lx− Lx

LzLz

= Lx− Lx

= 0.

Como z ∈ N⊥, temos

0 = (z, w)H

=(z, x− Lx

Lzz)

H

= (z, x)H −(z,Lx

Lzz)

H

= (z, x)H −Lx

Lz(z, z)H

= (z, x)H −Lx

Lz‖z‖2

o que resulta emLx = Lz

‖z‖2 (z, x)H ,

que pode ser reescrito comoLx = (Lz‖z‖−2z, x)H .

Portanto, se uL = Lz‖z‖−2z, então

Lx = (uL, x)H , (3.15)

o que completa e prova da existência de uL.

Para a unicidade, observe que, se v ∈ H e

Lx = (v, x)H ∀x ∈ H (3.16)

subtraindo (3.16) de (3.15), obtemos

(uL − v, x)H = 0 x ∈ H

28 Capítulo 3. O Teorema de Lax-Milgram

a partir da qual chegamos a v = uL, o que conclui a prova da unicidade de uL.

Para mostrar R2), combinamos a desigualdade de Cauchy-Schwarz em (2.4) com adefinição de norma de um operador em (2.15) para obter

|(uL, x)H | ≤ ‖x‖‖uL‖

que implica em

supx∈H‖x‖=1

|(uL, x)H | ≤ supx∈H‖x‖=1

[‖uL‖‖x‖]

= supx∈H‖x‖=1

‖uL‖ (pois ‖x‖ = 1)

= ‖uL‖ (pois uL está fixo), (3.17)

a partir da qual chegamos a

‖L‖ = sup‖x‖=1

|Lx|

= sup‖x‖=1

|(uL, x)H | ( de R1) )

≤ ‖uL‖ (de (3.17)).

Por outro lado,

‖uL‖2 = (uL, uL)

= LuL ( fazendo x = uL em R1) )

≤ ‖L‖‖uL‖ (por (2.17))

logo‖uL‖ ≤ ‖L‖.

Portanto ‖L‖ = ‖uL‖.

3.2 O Teorema de Lax-MilgramAntes de enunciar o Teorema de Lax-Milgram vamos revisitar a formulação

variacional abstrata introduzida na seção 2.7.

Seja V um espaço de Hilbert, a : V × V → R uma forma bilinear em V e F ∈ V ∗.Considere o seguinte problema, chamado problema variacional abstrato: Encontrar u ∈ Vtal que

a(u, v) = 〈F, v〉 ∀v ∈ V. (3.18)

3.2. O Teorema de Lax-Milgram 29

Teorema 3.1. (Lax-Milgram) Seja V um espaço vetorial real de Hilbert munido comproduto interno (·, ·)V e norma ‖ · ‖. Considere a = a(u, v) uma forma bilinear em V . Se:

i) a é contínua, isto é, existe uma constante M tal que

|a(u, v)| ≤M‖u‖‖v‖, ∀u, v ∈ V ; (3.19)

ii) a é coerciva, isto é, existe uma constante α > 0 tal que

a(v, v) ≥ α‖v‖2, ∀v ∈ V, (3.20)

então existe uma única solução u ∈ V do problema (3.18). Além disso, a seguinte estimativade estabilidade com respeito aos dados é válida:

‖u‖ ≤ 1α‖F‖V ∗ . (3.21)

Observação 3.1. A desigualdade (3.21) é chamada estimativa de estabilidade com respeitoaos dados pela seguinte razão. O funcional F , elemento de V ∗, engloba os "dados"doproblema (3.18). Como para cada F existe uma única solução u(F ), o mapeamento

F 7→ u(F )

é um função bem definida de V ∗ em V . Além disso, tudo tem natureza linear, logo, asolução mapeada também é linear. Para provar essa afirmação, sejam λ, µ ∈ R, F1, F2 ∈ V ∗

e u1, u2 as soluções correspondentes. A bilinearidade de a(·, ·) conduz a

a(λu1 + µu2, v) = λa(u1, v) + µa(u2, v)

= λF1v + µF2v.

Portanto, a mesma combinação linear das soluções corresponde a uma combinação lineardos dados; isso expressa o princípio da superposição para o problema (3.18). Aplicando(3.21) a u1 − u2, obtemos

‖u1 − u2‖ ≤1α‖F1 − F2‖V ∗ . (3.22)

Assim, dados próximos implicam soluções próximas. A constante de estimativa de es-tabilidade, 1/α tem um papel importante, visto que controla a variação da norma dasolução em termos das variações dos dados, medidas por ‖F1 − F2‖V ∗ . Isso resulta, emparticular, que quanto maior a constante de coercividade α, mais "estável"é a solução,veja [3]. Comparando (3.21) com (2.13) podemos concluir que (3.21) indica exatamente acontinuidade da solução u com respeito aos dados representados pelo funcional F .

Demonstração. Por questões de clareza de apresentação, separamos a prova em 6 etapas aseguir.

30 Capítulo 3. O Teorema de Lax-Milgram

1. Reformulação do problema (3.18). Para todo u ∈ V fixo, pela continuidade de a(·, ·),o mapeamento linear

v 7→ a(u, v)

é limitado em V e portanto define um elemento de V ∗. Pelo Teorema da Representaçãode Riesz, lema 3.2, existe um único A[u] ∈ V tal que

a(u, v) = (A[u], v)V , ∀v ∈ V. (3.23)

Como F ∈ V ∗, existe um único zF ∈ V tal que

〈F, v〉 := F (v) = (zF , v)V , ∀v ∈ V (3.24)

e além disso, ‖F‖V ∗ = ‖zF‖. Então o problema (3.18) pode ser reescrito como:Encontrar u ∈ V tal que

(A[u], v)V = (zF , v)V , ∀v ∈ V

que, por sua vez, é equivalente a achar u tal que

A[u] = zF (3.25)

Queremos mostrar que (3.25) tem exatamente uma solução. Para isso, vamos mostrarque

A : V → V

é um mapeamento linear, contínuo e bijetor.

2. Linearidade e continuidade de A. Para mostrar a linearidade, escrevemos, para todou1, u2, v ∈ V e, para todo λ1, λ2 ∈ R,

(A[λ1u1 + λ2u2], v)V = a(λ1u1 + λ2u2, v) ( de (3.23) )

= λ1a(u1, v) + λ2a(u2, v)

= λ1(A[u1], v)V + λ2(A[u2], v)V ( de (3.23) )

= (λ1A[u1] + λ2A[u2], v)V ,

de onde, segue que

A[λ1u1 + λ2u2] = λ1A[u1] + λ2A[u2].

Logo, A é linear. Doravante, por simplicidade de notação, substituiremos A[u] porAu. Para continuidade, observe que

‖Au‖2 = (Au,Au)V

= a(u,Au)

≤M‖u‖‖Au‖, ( por (3.19) )

3.2. O Teorema de Lax-Milgram 31

e consequentemente,‖Au‖ ≤M‖u‖,

o que prova a continuidade de A : V → V dado por (3.23) na qual fixamos u, ouseja, A é o operador linear induzido pela forma bilinear a(u, v), para todo v ∈ V eu ∈ V fixo.

3. A é injetiva e tem imagem fechada, isto é,

N (A) = 0 e I(A) é subespaço fechado de V.

De fato, usando consecutivamente a coercividade de a(·, ·), a Representação de Rieszem (3.23) e a Desigualdade de Cauchy-Schwarz dada por (2.4), somos conduzidos a

α‖u‖2 ≤ a(u, u)

= (Au, u)V

≤ ‖Au‖‖u‖

a partir da qual obtemos‖u‖ ≤ 1

α‖Au‖. (3.26)

Logo, Au = 0 implica u = 0 e por conseguinte N (A) = 0.

Para provar que I(A) é fechado, devemos considerar a sequência (ym) ⊂ I(A) talque

ym → y ∈ V quando m→∞,

e mostrar que y ∈ I(A). Como ym ∈ I(A), existe um tal que Aum = ym. De (3.26),segue que

‖uk − um‖ ≤1α‖yk − ym‖

e, portanto, como (ym) é convergente, (um) é uma sequência de Cauchy. Como V écompleto, existe u ∈ V tal que

um → u

e pela continuidade de A temos que Aum → Au, quando m→∞. Por outro lado,visto que Aum = ym e ym → y, quando m→∞, podemos escrever Au = y, de modoque y ∈ I(A), o que permite concluir que I(A) é fechada.

4. A é sobrejetiva, isto é, I(A) = V . Suponhamos que I(A) seja um subconjuntopróprio de V , ou seja, I(A) ⊂ V . Como I(A) é um subespaço fechado, pelo Teoremada Projeção, lema 3.1, existe z 6= 0, z ∈ I(A)⊥, tal que (z, v)V = 0, para todov ∈ I(A). Explorando consecutivamente esse fato, a Representação de Riesz, lema3.2, e a coercividade de a(·, ·) em (3.20), obtemos

0 = (Az, z)

= a(z, z)

≥ α‖z‖2,

32 Capítulo 3. O Teorema de Lax-Milgram

que implica em z = 0, o que é uma contradição, pois por hipótese, z 6= 0. Portanto,I(A) = V .

5. Unicidade de solução do problema (3.18). Como A é injetiva e I(A) = V , existeexatamente uma solução u ∈ V da equação

Au = zF (3.27)

Da equivalência entre os problemas (3.25) e (3.18), veja passo 1, concluímos que u éa única solução do problema (3.18).

6. Estimativa de estabilidade. Fazendo u = u em (3.26), levando em conta (3.27) eusando a Representação de Riesz em (3.24), obtemos

‖u‖ ≤ 1α‖Au‖

= 1α‖zF‖

= 1α‖F‖V ∗ ,

o que encerra a demonstração.

33

4 O Método de Elementos Finitos

Neste capítulo, iremos apresentar o Método de Elementos Finitos, frequente-mente abreviado por MEF, que escolhemos para obter soluções aproximadas da equaçãode Poisson com condições de contorno de Dirichlet homogêneas definida em um domí-nio unidimensional dado por Ω = (0, 1). O princípio desse método vem diretamente daabordagem variacional.

A ideia base do MEF é substituir o espaço de Hilbert H no qual estabelecemos aformulação variacional, equação (3.18), por um subespaço Vh de dimensão finita, onde oíndice h em Vh é o parâmetro característico da malha de discretização de Ω a ser definamais adiante. Esse procedimento permite formular um novo problema sobre Vh chamadoproblema variacional discreto, ou simplesmente, problema aproximado, que em últimainstância resulta num sistema de equações lineares da forma AU = B, onde a matrizA é chamada matriz rigidez, U é o vetor das incógnitas contendo os valores da soluçãoaproximada em pontos discretos da malha e B é conhecido como vetor de carga e englobaos termos de fonte do problema original e os decorrentes das condições de contorno. Osdetalhes da construção de A, U e B encontram-se na seção 4.3. Sendo Vh ⊂ H, todas aspropriedades referentes à existência e a unidade de solução de (3.18) são imediatamentetransferidas para o problema variacional discreto, e consequentemente, explorando aortogonalidade, equação (3.1), o MEF provê a solução uh satisfazendo

‖u− uh‖ = infv∈Vh

‖u− v‖. (4.1)

Em outras palavras, (4.1) significa que a solução de elementos finitos uh é a melhoraproximação de u no subespaço Vh no sentido da norma definida em H.

De acordo com [12], historicamente, as primeiras ideias do método de elementosfinitos foram propostas pelo matemático Richard Courant (sem usar esse nome) por voltados anos 40, mas foram os engenheiros mecânicos que desenvolveram, popularizaram eprovaram a eficiência do método entre 1950 e 1960, passando a partir dai a ser utilizada aterminologia Método de Elementos Finitos. Esse sucesso inicial promovido por engenheirosna aplicação do MEF à problemas práticos, chamou atenção dos matemáticos que passarama se ocupar do desenvolvimento dos fundamentos teóricos do método propondo avançossubstanciais. Esse é o caso de um bom exemplo de cooperação interdisciplinar onde oesforço conjunto de engenheiros e matemáticos aplicados resultou num imenso progressona área de simulação numérica, sem negligenciar o crescimento vertiginoso da capacidadecomputacional.

A construção do MEF declarada no início deste capítulo, pressupõe preliminarmente

34 Capítulo 4. O Método de Elementos Finitos

o estabelecimento da formulação variacional abstrata similar à (3.18), onde agora precisamoscaracterizar o espaço H em (3.18). A seção que se segue introduz tal caracterização.Recomendamos as referências [13], [14], [15] e [16] para mais detalhes.

Como os espaços funcionais declarados na sequência são definidos em termosdo espaço das funções de quadrado integrável, denotado por L2(Ω) com Ω ⊂ Rn, porconveniência, apresentamos imediatamente.

L2(Ω) =u : Ω ⊂ Rn → R |

∫Ω|u|2dx <∞

. (4.2)

4.1 O Espaço H1(Ω)

Definição 4.1. (Espaço H1(Ω)) Seja Ω ⊂ Rn um domínio. O espaço de Hilbert H1(Ω) édefinido por

H1(Ω) =u : Ω ⊂ Rn → R | u ∈ L2(Ω), ∂xi

u ∈ L2(Ω), (4.3)

onde∂xiu = ∂u

∂xi

, 1 ≤ i ≤ n.

4.1.1 O Espaço H10(Ω)

Seja Ω ⊂ Rn e ∂Ω sua fronteira. Introduzimos um importante subespaço de H1(Ω).

Definição 4.2. (Espaço H10 (Ω)) O subespaço de H1(Ω) denotado por H1

0 (Ω), é definidocomo

H10 (Ω) =

u ∈ H1(Ω) | u|∂Ω = 0

. (4.4)

Notemos que denotando por C∞0 (Ω) o espaço das funções de suporte compacto1 em Ω einfinitamente diferenciáveis em Ω, podemos adicionalmente caracterizar o espaço H1

0 (Ω)como sendo o fecho de C∞0 (Ω).

Definição 4.3. (Dual de H10 (Ω)) O dual do espaço de Hilbert H1

0 (Ω) é designado porH−1(Ω). Denotamos por 〈L,w〉(H−1(Ω),H1

0 (Ω)) = Lw o par de dualidade entre H10 (Ω) e seu

dual H−1(Ω) para todos os funcionais lineares contínuos L ∈ H−1(Ω) e todo elementow ∈ H1

0 (Ω).

Podemos caracterizar o dual H−1(Ω) conforme proposição abaixo, veja [12] paradetalhes.1 Dizemos que a função w : Ω ⊂ Rn → R é de suporte compacto em Ω1 ⊆ Ω se w ≡ 0 para todo x

pertencente ao complementar de Ω1 em Ω.

4.2. Método de Galerkin 35

Proposição 4.1. O espaço H−1(Ω) é caracterizado por

H−1(Ω) =T = v0 +

n∑i=1

∂vi

∂xi

com v0, v1, · · · , vn ∈ L2(Ω). (4.5)

Em outras palavras, todo funcional linear contínuo sobre H10 (Ω), denotado por L ∈ H−1(Ω),

é escrito comoLw =

∫Ω

(v0w −

n∑i=1

vi∂w

∂xi

)dx , ∀w ∈ H1

0 (Ω) , (4.6)

com v0, v1, · · · , vn ∈ L2(Ω).

Definição 4.4. (Densidade) O espaço C∞0 (Ω), conhecido no contexto da teoria dasdistribuições como espaço das funções testes, é denotado nesse âmbito por D(Ω)2. Dizemosque D(Ω) é denso em H1

0 (Ω) na norma do H1(Ω), ou seja, para qualquer função u ∈ H10 (Ω),

existe uma sequência de funções (um) ∈ D(Ω) convergente para u em H1(Ω).

Identificamos o espaço L2(Ω) com o seu dual (L2(Ω))′, ou seja, o dual do espaçoL2(Ω) é o próprio L2(Ω), e das definições anteriores, podemos concluir as seguintesinclusões:

D(Ω) ⊂ H10 (Ω) ⊂ L2(Ω) ≡ (L2(Ω))′ ⊂ H−1(Ω) ⊂ D′(Ω)

para as quais recomendamos as referências [16], [3], [15], [18], [19], [20] para estudopormenorizado.

4.2 Método de GalerkinA formulação de elementos finitos abordada neste trabalho é construída a partir

do método de Galerkin cujo emprego transcende o MEF, sendo bastante usado no estudoteórico de EDP’s. Esse método aparece na forma da aproximação do problema variacionalcomo descrevemos em seguida.

O método de Galerkin é baseado no conceito de ortogonalidade de funções. Dadasduas funções integráveis u e v definidas em Ω = [0, 1], dizemos que são ortogonais se

(u, v) =∫ 1

0u(x)v(x)dx = 0. (4.7)

Apesar de termos tratado apenas o caso unidimensional em nossas simulaçõesnuméricas do problema de Poisson desenvolvido no capítulo 5, apresentamos em seguida,a heurística que conduz ao chamado problema generalizado, passível de ser aplicado auma classe maior de problemas, não somente aos problemas variacionais, e que aqui, porconveniência, será aplicada ao problema de Poisson bidimensional.2 Veja detalhes em teoria das distribuições que pode ser encontrada nas referências [17], [15] e [12].

36 Capítulo 4. O Método de Elementos Finitos

Uma justificativa para aplicarmos a heurística ao problema de Poisson bidimensionalé que tanto a extensão do problema generalizado resultante ao caso tridimensional, quantosua restrição ao caso unidimensional, são imediatos.

Como dissemos anteriormente, nosso problema modelo dado pela equação de Poissonbidimensional, pode ser formulado da seguinte maneira: Dados f : Ω ⊂ R2 → R e ε ∈ R+,encontrar a função u : Ω ⊂ R2 → R tal que −ε∆u = f em Ω

u = 0 sobre ∂Ω(4.8)

O processo heurístico que transforma (4.8) no problema generalizado associado,consiste nos 3 passos seguintes:

1. Multiplicar a EDP em (4.8) por uma função v ∈ V tal que

−ε∆u v = fv. (4.9)

Em especial, no nosso caso temos V = H10 (Ω).

2. Integrar (4.9) sobre Ω ∫Ω−ε∆u v dΩ =

∫Ωfv dΩ (4.10)

3. Aplicar integração por partes ao lado esquerdo da equação (4.10). Como este passoenvolve algumas manipulações algébricas intermediárias, apresentamos em seguidatais desenvolvimentos. Para tanto, usando em (4.10) a identidade de Green (integraçãopor partes em Ω ⊂ Rn, n > 1), dada por

−∫

Ωv∆u dΩ =

∫Ω∇v · ∇u dΩ−

∫∂Ωv∇u · n d∂Ω, (4.11)

onde n é a normal unitária exterior à ∂Ω, obtemos

ε∫

Ω∇u · ∇v dΩ−

∫∂Ω

(∇u · n)v d∂Ω

=∫

Ωfv dΩ,

que implica emε∫

Ω∇u · ∇v dΩ =

∫Ωfv dΩ, (4.12)

pois v ∈ H10 (Ω).

O passo 3 que finaliza a heurística fornece o problema generalizado dado por (4.12),às vezes também chamado de formulação fraca ou problema variacional contínuo associadoà (4.8), sempre que não houver perigo de ambiguidade.

Supondo f ∈ L2(Ω) e ε ∈ R+, o Teorema de Lax-Milgram garante a existência deuma única solução u ∈ H1

0 (Ω) para o problema (4.12), que pode ser formulado da seguintemaneira:

4.2. Método de Galerkin 37

Dados f ∈ L2(Ω) e ε ∈ R+, encontrar u ∈ H10 (Ω) tal que

a(u, v) = l(v), ∀v ∈ H10 (Ω) (4.13)

onde a forma bilinear a : H10 (Ω)×H1

0 (Ω)→ R é dada por

a(u, v) := ε∫

Ω∇u · ∇v dΩ ≡ ε(∇u,∇v)Ω

e o funcional linear l : H10 (Ω)→ R é definido por

l(v) :=∫

Ωfv dΩ ≡ (f, v)Ω.

O método de Galerkin consiste em encontrar uh ∈ Vh ⊂ H10 (Ω) tal que

a(uh, vh) = l(vh), ∀vh ∈ Vh (4.14)

onde Vh é um subespaço de dimensão finita,

Vh = spanw1, · · · , wm. (4.15)

Como uh ∈ Vh, de (4.15) segue que

uh =m∑

j=1ujwj, uj ∈ R . (4.16)

Usando (4.16) em (4.14), chegamos à

a

m∑j=1

ujwj, vh

= l(vh), ∀vh ∈ Vh. (4.17)

Observe que a expressão acima é válida ∀vh ∈ Vh. Com isso, fixando

vh = wk, k ∈ Id = 1, 2, · · · ,m

(4.17) fornece

a

m∑j=1

ujwj, wk

= l(wk), ∀wk ∈ Vh, k ∈ Id. (4.18)

Por conseguinte, para cada k ∈ Id, (4.18) permite escrever

k = 1 : a m∑

j=1ujwj, w1

= l(w1),

k = 2 : a m∑

j=1ujwj, w2

= l(w2),

...

k = m : a m∑

j=1ujwj, wm

= l(wm),

38 Capítulo 4. O Método de Elementos Finitos

cuja expansão do somatório conduz a

k = 1 : a(u1w1 + · · ·+ umwm, w1) = l(w1),

k = 2 : a(u1w1 + · · ·+ umwm, w2) = l(w2),...

k = m : a(u1w1 + · · ·+ umwm, wm) = l(wm),

a partir da qual obtemos

k = 1 : a(u1w1, w1) + · · ·+ a(unwm, w1) = l(w1),

k = 2 : a(u1w1, w2) + · · ·+ a(unwm, w2) = l(w2),...

k = m : a(u1w1, wm) + · · ·+ a(umwm, wm) = l(wm),

que pode ser reescrito como

k = 1 : a(w1, w1)u1 + · · ·+ a(wm, w1)um = l(w1),

k = 2 : a(w1, w2)u1 + · · ·+ a(wm, w2)um = l(w2),...

k = m : a(w1, wm)u1 + · · ·+ a(wm, wm)um = l(wm),

que apresenta a forma matricial abaixo

AU = B (4.19)

onde Ajk = a(wj, wk) = (∇wj,∇wk)Ω, U = (u1, · · · , um)T e Bk = B(wk) = (f, wk)Ω,para todo j, k ∈ Id.

Como sabemos, o custo computacional de resolver o sistema (4.19), supondo mfixo, depende da escolha da base em (4.15), obviamente uma escolha adequada da base em(4.15) deve ser aquela que torna A uma matriz esparsa3. Como veremos na seção seguinte,o MEF é considerado a técnica mais bem sucedida nessa tarefa, o que em certa medidaexplica sua popularidade.

4.3 Método de Elementos FinitosNos métodos numéricos pertencentes à classe conhecida como métodos de projeção,

na qual o MEF é membro, o problema computacional central resume-se em resolver umsistema algébrico similar a (4.19), podendo ser não linear. Assim, é desejável que a matrizdos coeficientes, A, tenha algumas propriedades que tornem menos onerosa a resolução3 Matriz esparsa é aquela que contém uma quantidade significativa de elementos nulos

4.3. Método de Elementos Finitos 39

do sistema, como por exemplo, o bom condicionamento4 e a esparsidade. Como a matrizdos coeficientes A depende, essencialmente, das funções de base wk, k ∈ Id, em (4.15) quedaqui em diante serão denotadas por ψk, k ∈ Id, em se tratando do MEF que geram osubespaço onde estamos procurando a solução aproximada uh, o MEF alcança a esparsidadede A escolhendo ψk como sendo funções de suporte compacto em um subdomínio de Ωconstituído por elementos que compartilham o nó k da malha de discretização do domínioΩ. Em seguida, apresentamos a implementação desse processo considerando nosso problemamodelo em (4.8) fixando agora Ω = (0, 1), através da seguinte sequência:

1. Sejam os conjuntos de índices IK = 0, 1, 2, · · · , J − 1, IN = 0, 1, 2, · · · , J,e INint

= 1, 2, · · · , J − 1. Inicialmente consideramos a triangulação (partição)uniforme τh(Ω) do domínio Ω = [0, 1] em J elementos Kj, j ∈ IK definido por

τh(Ω) = Kj ⊂ Ω | Kj = [xj, xj+1], j ∈ IK, (4.20)

tal que 0 = x0 < x1 < · · · < xj < · · · < xJ = 1, com J elementos de tamanhoh = 1/J . Notemos que xi = hi, i ∈ IN , de modo que xi é chamado de ponto nodal eo índice i de nó da malha ou partição τh(Ω), que por simplicidade, será denotadapor τh.

2. Em seguida, devemos definir funções de base sobre cada nó i ∈ IN da partição τh.Aqui, nossa base é a lagrangeana, isto é, consiste de polinômios de Lagrange linearesdefinidos em (4.22), o que permite expressar uh como

uh(x) =J∑

i=0Ciψi(x), x ∈ Ω. (4.21)

O objetivo principal na escolha de ψi é fazer com que a matriz Ajk seja uma matriz especialcom muitos elementos nulos. Esse tipo de matriz é denominada matriz esparsa.

As funções ψi escolhidas, são funções de interpolação linear por partes que satisfa-zem:

ψi(xj) =

1, se i = j,

0, se i 6= j.(4.22)

Em cada nó i ∈ INint, definimos a função ψi linear por partes satisfazendo a

condição (4.22), ou seja, para ψi, i ∈ INint,

ψi(x) =

x− xi−1

h, ∀x ∈ [xi−1, xi],

xi+1 − xh

, ∀x ∈ [xi, xi+1],0, caso contrário.

(4.23)

4 Detalhes sobre número de condição de uma matriz podem ser encontrados em [21].

40 Capítulo 4. O Método de Elementos Finitos

Adicionalmente, satisfazendo ainda (4.22), definimos ψ0 e ψJ como

ψ0(x) =

x− x1

h, ∀x ∈ [x0, x1],

0, caso contrário,(4.24)

e

ψJ(x) =

xJ − xh

, ∀x ∈ [xJ−1, xJ ],0, caso contrário.

(4.25)

As funções de base ψi em (4.24), (4.23) e (4.25) são mostradas na Figura 6 daesquerda para direita, respectivamente. Observe que a forma geométrica da função ψi comsuporte compacto nos elementos contiguos ao nó xi sugere um chapéu, sendo por essarazão também conhecida como função chapéu.

y

x

1

x0 = a

ψ0

xJ = b

ψJ

ψj

xj

Figura 6 – Exemplos de polinômios de Lagrange característicos no caso de interpolaçãolinear por partes.

De (4.23) podemos calcular a derivada de ψi,

dψi

dx(x) =

1h, ∀x ∈ (xi−1, xi),

−1h, ∀x ∈ (xi, xi+1),

0, caso contrário,

(4.26)

válida para todo i ∈ INint. De maneira análoga, (4.24) e (4.25) fornecem as derivadas

dψ0

dx(x) =

−1h, ∀x ∈ (x0, x1),

0, caso contrário,(4.27)

e

dψJ

dx(x) =

1h, ∀x ∈ (xJ−1, xJ),

0, caso contrário.(4.28)

A derivada da função ψi é descontínua no ponto xi, mas isto não afeta o cálculo damatriz Aij, pois um ponto tem medida nula.

4.3. Método de Elementos Finitos 41

4.3.1 Matriz Rigidez

Utilizando a função ψi, vemos que a matriz Kij é uma matriz tridiagonal. De fato,como

Kij =∫ 1

0

(εdψi

dx

dψj

dx

)dx

e ψiψj = 0 se |i− j| ≥ 2, os termos da matriz Kij não necessariamente nulos são Ki−1,i,Ki,i e Ki,i+1, ou seja, a matriz tem a seguinte forma:

K =

∗ ∗ 0 0 0 0 0∗ ∗ ∗ 0 0 0 00 ∗ ∗ ∗ 0 0 0... ... . . . . . . . . . ... ...0 0 0 ∗ ∗ ∗ 00 0 0 0 ∗ ∗ ∗0 0 0 0 0 ∗ ∗

(4.29)

Como a matriz K é simétrica, então somente são necessários o cálculo de Ki,i eKi,i+1 dados por

K00 = ε∫ 1

0

(dψ0

dx

)2

dx

= ε∫ x1

x0

(dψ0

dx

)2

dx, (4.30)

Kii = ε∫ 1

0

(dψi

dx

)2

dx

= ε∫ xi+1

xi−1

(dψi

dx

)2

dx

= ε∫ xi

xi−1

(dψi

dx

)2

dx+ ε∫ xi+1

xi

(dψi

dx

)2

dx, i ∈ INint, (4.31)

KJJ = ε∫ 1

0

(dψj

dx

)2

dx

= ε∫ xJ

xJ−1

(dψJ

dx

)2

dx. (4.32)

Calculando cada uma das integrais em (4.30), (4.31) e (4.32), obtemos

Kii = 2εh, ∀i ∈ IN . (4.33)

42 Capítulo 4. O Método de Elementos Finitos

Para o elemento Ki,i+1, i ∈ IK , temos:

Ki,i+1 = ε∫ 1

0

dψi

dx

dψi+1

dxdx

= ε∫ xi+1

xi

dψi

dx

dψi+1

dxdx

= ε∫ xi+1

xi

(−1h

1h

)dx

= − εh

Logo,Ki,i+1 = Ki+1,i = − ε

h(4.34)

Assim, a matriz dos coeficientes de ordem (J + 1)× (J + 1) é da forma

K =

d0 e0 0 0 · · · 0 0c1 d1 e1 0 · · · 0 00 c2 d2 e2 · · · 0 00 0 c3

. . . · · · 0 0... ... ... ... . . . eJ−3 00 0 0 0 · · · dJ−1 eJ−2

0 0 0 0 · · · cJ−1 dJ

(4.35)

ondedi = 2ε

h, i ∈ IN (4.36)

eci = ei−1 = − ε

h, i ∈ INint

. (4.37)

4.3.2 Vetor Fonte

Através da função de interpolação ψi(x) dada por (4.23), o vetor fonte F definidopor

Fi =∫ 1

0fψidx, i ∈ IN . (4.38)

pode ser calculado diretamente, o que resulta em

Fi = hf(xi), i ∈ IN

como consequência da adoção de uma malha uniforme.

Finalmente, para obter o sistema AU = B em (4.19) cuja solução U desejamosobter, resta-nos apenas impor as condições de contorno do problema original, o quetransforma a matriz rigidez K na matriz A e o vetor de fonte F no vetor carga B. Após

4.4. Decomposição LU 43

esse procedimento, a matriz A e o vetor B decorrentes de K e F , respectivamente, assumema forma

A =

1 0 0 0 · · · 0 00 d1 e1 0 · · · 0 00 c2 d2 e2 · · · 0 00 0 c3

. . . · · · 0 0... ... ... ... . . . eJ−3 00 0 0 0 · · · dJ−1 00 0 0 0 · · · 0 1

(4.39)

e o vetor B =(u(0), hf(x1) + u(0)

h, hf(x2), · · · , hf(xJ−2), hf(xJ−1) + u(1)

h, u(1)

)T

.

Agora, utilizando a matriz rigidez K em(4.35) e a força F em (4.38), obtemos osistema linear

KC = F (4.40)

onde C = (C2, · · · , Cm)T é o vetor incógnita. As componentes Ci do vetor C são, exata-mente, os valores da solução aproximada nos pontos nodais, isto é, Ci = uh(xi) para todoi ∈ IN . Com efeito, fazendo x = xi em (4.21) temos:

uh(xi) =J∑

j=0Cjψj(xi)

= Ci.

Para resolver o sistema linear obtido acima, existem vários métodos diretos ouiterativos. Em razão da matriz K ser tridiagonal, utilizaremos um método de decomposiçãoLU, mais precisamente, o Algoritmo de Thomas, conforme [22].

4.4 Decomposição LUUma importante característica de uma matriz quadrada não singular A, isto é,

uma matriz quadrada cujo determinante é não nulo, é que pode ser decomposta em umpar de matrizes triangular superior e inferior, U e L, da seguinte forma:

a11 a12 · · · a1n

a21 a22 · · · a2n

... ... . . . ...an1 an2 · · · ann

=

l11 0 · · · 0l21 l22 0 0... · · · . . . ...ln1 ln2 · · · lnn

u11 u12 · · · u1n

0 u22 · · · u2n

... ... . . . ...0 0 · · · unn

(4.41)

ou seja,A = LU, onde L = [lij], lij = 0 para i < j, e uij = 0 para i > j,

44 Capítulo 4. O Método de Elementos Finitos

onde os índices i, j percorrem o conjunto de índices IS = 1, 2, · · · , n.

A decomposição em matrizes triangulares ajuda a resolver as equações lineares talque as variáveis podem ser determinadas diretamente através de substituições progressivasou regressivas.

Os valores uij e lij para i, j ∈ IS podem ser obtidos comparando as duas matrizes,elemento por elemento. Comparando os termos um por um, temos a11 = l11u11, a12 = l11u12,e assim sucessivamente. Dessas relações, os valores de todos os elementos em L e U podemser determinados.

O objetivo é resolver o sistema de equações lineares dado por Ay = d. Efetuamos adecomposição A = LU para obter

(LU)y = d,

que pode ser colocado sob a forma

L(Uy) = d. (4.42)

FazendoUy = w (4.43)

onde w = [wi] para i ∈ IS é um vetor temporário, podemos escrever (4.42) como

Lw = d (4.44)

onde os valores em w podem ser determinados através de substituições progressivas.Finalizada essa etapa, os valores de y são obtidos através de substituições regressivas em(4.43).

No nosso caso especial onde A é tridiagonal, os coeficientes lij e uij em (4.41) sãoprontamente calculados fixando ujj = 1, j ∈ IS, condição explorada pelo Algoritmo deThomas, apresentado em seguida.

4.5 Algoritmo de ThomasEste algoritmo só pode ser aplicado na solução de um sistema de equações lineares

no qual a matriz dos coeficientes é um tipo especial de matriz, chamada matriz tridiagonal.

Como toda decomposição LU , o algoritmo de Thomas considera inicialmente adecomposição A = LU . Como A é matriz de coeficientes tridiagonal, as matrizes L e Ucontém elementos não necessariamente nulos apenas na diagonal principal e nas diagonaisadjacentes. A imposição ujj = 1, j ∈ IS permite determinar de forma imediata atravésde simples manipulação algébrica as componentes uij, j 6= i e lij, i, j ∈ IS. Ilustramos asimplicidade desse procedimento através do exemplo que se segue.

4.5. Algoritmo de Thomas 45

Exemplo 4.1. Resolver o seguinte sistema usando o Algoritmo de Thomas:4 −2 0 01 −5 1 00 2 4 10 0 −1 −3

x1

x2

x3

x4

=

12−13

Solução. A matriz dos coeficientes A é tridiagonal. Para a matriz A com entradas

arbitrárias impomos a decomposição nos seus fatores, L e U como se segue.

A =

d1 e1 0 0c2 d2 e2 00 c3 d3 e3

0 0 c4 d4

, U =

1 β1 0 00 1 β2 00 0 1 β3

0 0 0 1

, e L =

α1 0 0 0c2 α2 0 00 c3 α3 00 0 c4 α4

Em U , todos os elementos da diagonal tem valores igual a 1. O próximo passo consiste emconsiderar a fatoração A = LU e determinar os coeficientes βi e αi:

d1 e1 0 0c2 d2 e2 00 c3 d3 e3

0 0 c4 d4

=

α1 0 0 0c2 α2 0 00 c3 α3 00 0 c4 α4

1 β1 0 00 1 β2 00 0 1 β3

0 0 0 1

,

4 −2 0 01 −5 1 00 2 4 10 0 −1 −3

=

α1 α1β1 0 0c2 c2β1 + α2 α2β2 00 c3 c3β2 + α3 α3β3

0 0 c4 c4β3 + α4

Comparando as duas matrizes, elemento por elemento, obtemos as seguintes matrizes:

L =

4 0 0 01 −4.5 0 00 2 4.444 00 0 −1 −2.755

e U =

1 −0.5 0 00 1 −0.222 00 0 1 0.2250 0 0 1

Agora, vamos obter w através de Lw = b por substituições progressivas:

4 0 0 01 −4.5 0 00 2 4.444 00 0 −1 −2.755

w1

w2

w3

w4

=

12−13

Segue que w = [0.25 − 0.389 − 0.5 − 1.063]T . Finalmente, aplicando substituiçõesregressivas a Ux = w:

1 −0.5 0 00 1 −0.222 00 0 1 0.2250 0 0 1

x1

x2

x3

x4

=

0.25−0.389−0.5−1.063

46 Capítulo 4. O Método de Elementos Finitos

produz a solução x = [0.077 − 0.347 0.189 − 1.063]T .

47

5 Simulações numéricas

Neste capítulo, apresentamos os resultados numéricos obtidos para dois exemplosteste, que foram especialmente selecionados de modo a possuir uma solução analítica paraefeitos de comparação com a solução aproximada calculada.

Como sabemos dos capítulos prévios, as soluções aproximadas dos exemplos testeforam obtidas através do método de elementos finitos usando códigos computacionaisimplementados em linguagem C++.

Embora a análise numérica do MEF não faça parte do escopo deste trabalho,assunto que recomendamos em desenvolvimentos futuros, extraímos de nosso primeiroexemplo o erro entre as soluções aproximada e analítica medido na norma do máximo, oque permitiu comprovar a convergência do MEF.

5.1 Exemplos numéricos com solução exataCom a finalidade de observar numericamente a convergência do MEF aplicado ao

problema de Poisson com condições de contorno de Dirichlet homogêneas dado por−εd

2u

dx2 = f, em (0, 1)u(0) = 0u(1) = 0

(5.1)

onde u ∈ C2(Ω), definida por u : Ω → R, com Ω = Ω⋃ ∂Ω é a incógnita (pressão,temperatura, deslocamento, por exemplo), e a função f ∈ C0(Ω) definida por f : Ω→ R éum termo de fonte.

5.1.1 Exemplo teste 01

Em nosso primeiro exemplo teste, consideramos um termo de fonte da forma

f(x) = επ2 sen(πx), ∀x ∈ (0, 1), (5.2)

o que permite obter a solução analítica

u(x) = sen(πx). (5.3)

Aqui, os testes numéricos foram realizados e organizados de acordo com a tabela

48 Capítulo 5. Simulações numéricas

Tabela 1 – Sequência de simulações do exemplo teste 01

Ordem h Numéro de Nós (NNos) Erro Máximo1 1/4 5 0.05302930002 1/8 9 0.01295070003 1/16 17 0.00321896004 1/32 32 0.00080357805 1/64 65 0.00020082206 1/128 129 5.02009e-0057 1/256 257 1.25499e-0058 1/512 513 3.13747e-0069 1/1024 1025 7.84366e-00710 1/2048 2049 1.96092e-007

onde na primeira coluna são apresentados um total de 10 simulações que foramrealizadas considerando um refinamento que aumenta segundo uma progressão geométricade razão 1/2. A terceira e a quarta colunas exibem o número de nós e o erro máximo dapartição τh respectivamente, para cada parâmetro característico da malha h na segundacoluna.

O erro máximo, eh, mostrado na quarta coluna da tabela acima é definido por

eh = maxi∈IN

u(xi)− uh(xi). (5.4)

Figura 7 – Solução numérica aproximando-se da solução exata à medida que a malha érefinada.

Na Figura 7 exibimos quatro gráficos contendo as soluções aproximada e analíticapara valores de h = 1/4, 1/8, 1/16 e 1/32, com ε = 1. A convergência visual observada é

5.1. Exemplos numéricos com solução exata 49

confirmada através do gráfico de h versus eh ambos na escala logarítmica apresentado naFigura 8.

Figura 8 – Estudo da convergência do MEF para exemplo teste 01.

5.1.2 Exemplo teste 02

Neste segundo exemplo, consideramos

f(x) = 4

cosh(

1√ε

) [cosh(

2x− 1√ε

)](5.5)

e consequentemente,

u(x) =

1−cosh

(2x− 1√

ε

)

cosh(

1√ε

) (5.6)

Este exemplo teste tem como finalidade avaliar a sensibilidade do MEF à variaçãodos parâmetros h e ε. Para fazer isso, inicialmente, fixamos ε = 1 e variamos h de acordocom a lista 1/16, 1/32, 1/64, 1/128. Os resultados obtidos são mostrados na Figura 9.

Como podemos ver, para ε = 1 a solução analítica (5.6) é suficientemente suave,de modo que o MEF não apresenta quaisquer dificuldades na aproximação dessa solução.

Em segundo lugar, fixamos h = 1/32 e variamos o parâmetro ε conforme a lista10−2, 10−3, 10−4, 10−5.

50 Capítulo 5. Simulações numéricas

Figura 9 – Análise da sensibilidade do MEF ao parâmetro h para ε = 1 fixo.

Figura 10 – Análise da sensibilidade do MEF ao parâmetro ε = CteDifu, para h = 1/32fixo.

Como podemos observar na Figura 10, a medida que ε diminui verificamos umdescolamento entre as soluções analítica e aproximada, ou seja, constatamos um aumentodo erro com a diminuição do parâmetro ε. Esse comportamento pode ser explicado pormeio da estimativa de estabilidade em (3.22). Fazendo um paralelo com essa estimativa,observamos que a constante de coercividade α é neste caso igual a ε de maneira que quanto

5.1. Exemplos numéricos com solução exata 51

menor o valor do parâmetro ε, mais instável a solução se torna. Tal comportamento revelaque novas formulações de elementos finitos devam ser desenvolvidas visando contornar asdificuldades numéricas dessa natureza, como apontamos nas considerações finais.

53

6 Considerações finais

Neste trabalho, procuramos cobrir os aspectos teóricos e práticos do MEF. Emrelação aos aspectos teóricos, apoiados na análise funcional, apresentamos resultadosteóricos suficientemente gerais considerando um problema variacional abstrato que permitetratar uma classe ampla de problemas de campo de interesse prático e/ou científico.Destacamos o Teorema da Projeção que está por trás do princípio da ortogonalidade e oTeorema da Representação de Riesz. Tornamos evidente que esses dois resultados teóricosconstituem os pilares sob os quais é construído o resultado central deste trabalho que é oTeorema de Lax-Milgram, garantidor da boa colocação do problema variacional abstrato.

Outra vertente não menos interessante deste trabalho, é a possibilidade que eleoferece de comprovar através de testes numéricos os resultados teóricos estabelecidos. Nessaoportunidade, apresentamos dois testes numéricos confirmando os resultados esperados,onde o primeiro mostra a convergência assintótica do MEF e o segundo as limitações do tipode formulação de elementos finitos empregada aqui no tratamento nos problemas de camadalimite, abrindo assim uma nova linha de estudo para trabalhos futuros. Adicionalmente,propomos os seguintes tópicos que podem ser abordados como continuação deste trabalho:

• Estender a demonstração do Teorema de Lax-Milgram à problemas variacionaisabstratos nos quais os espaços das funções tentativas (espaço das funções de buscada solução) e testes são distintos.

• Implementação computacional do problema modelo, problema de Poisson, definidoem Ω ⊂ Rn para n = 2 e n = 3.

• Estudo de novas formulações de elementos finitos para tratar o caso de problemacom camada limite, isto é, problema cuja solução possui regiões de alta variação dogradiente.

• Considerar o problema modelo tratado aqui para outras condições de contorno,nomeadamente condições de contorno do tipo Neumann e do tipo Robin.

• Considerar no problema modelo uma equação elíptica completa, ou seja, incorporarno problema modelo abordado aqui, o termo reativo e o termo convectivo.

• Estender o trabalho à problemas transientes, isto é, à problemas dependentes dotempo.

55

Referências

1 MYINT-U, T. Partial Differential Equations of Mathematical Physics. Amsterdam:North Holland, 1982. Citado na página 1.

2 SALSA, S. et al. A Primer on PDEs - Models, Methods, Simulations. Verlag Italia:Springer, 2009. Citado na página 5.

3 SALSA, S. Partial Differential Equations in Action - From Modelling to Theory. VerlagItalia, Milano: Springer, 2008. Citado 4 vezes nas páginas 5, 20, 29 e 35.

4 KREYSZIG, E. Introductory Functional Analysis with Applications. New York: JohnWiley & Sons. Inc., 1978. Citado na página 5.

5 ZEIDLER, E. Applied Functional Analysis: Applications to Mathematical Physics. NewYork: Springer Verlag, 1995. Citado 3 vezes nas páginas 5, 12 e 14.

6 MOURA, C. A. de. Análise Funcional para Aplicações: Posologia. Rio de Janeiro:Ciência Moderna, 2002. Citado 2 vezes nas páginas 5 e 11.

7 LIMA, E. L. Análise Real: Volume 1. Rio de Janeiro: IMPA, 2016. Citado 2 vezes naspáginas 6 e 11.

8 LIMA, E. L. Álgebra Linear. Rio de Janeiro: IMPA, 1996. Citado na página 15.

9 LANG, S. Álgebra Linear. Rio de Janeiro: Edgard Blücher Ltda., 1971. Citado 2 vezesnas páginas 15 e 21.

10 HOFFMAN, K.; KUNZE, R. Álgebra Linear. Rio de Janeiro: Rio de Janeiro: LTC,1979. Citado na página 15.

11 ARAUJO, T. de. Álgebra Linear: Teoria e Aplicações. Rio de Janeiro: SBM, 2014.Citado na página 15.

12 ALLAIRE, G. Numerical Analysis and Optimization - An introduction to mathematicalmodelling and numerical simulation. New York: Oxford University Press Inc., 2007.Citado 3 vezes nas páginas 33, 34 e 35.

13 ZEIDLER, E. Nonlinear functional analysis and its Applications, II/A: LinearMonotone Operators. New York: Springer Science+Business Media, 1990. Citado napágina 34.

14 ZEIDLER, E. Nonlinear functional analysis and its Applications, II/B: NonlinearMonotone Operators. New York: Springer Science+Business Media, 1990. Citado napágina 34.

15 MEDEIROS, L. A. da J.; MIRANDA, M. A. M. Espaços de Sobolev: iniciação aosproblemas elípticos não homogêneos. Rio de Janeiro: UFRJ. IM, 2000. Citado 2 vezes naspáginas 34 e 35.

56 Referências

16 RINCON, M. A.; LIU, I.-S. Introdução ao Método de Elementos Finitos - Computaçãoe Análise em Equações Diferenciais Parciais. Rio de Janeiro: UFRJ. IM, 2013. Citado 2vezes nas páginas 34 e 35.

17 SCHWARTZ, L. Théorie des Distributions. Paris: Hermann & Cie, 1950–1951. Citadona página 35.

18 GILBARG, D.; TRUNDINGER, N. S. Elliptic partial equations of second order.Berlin: Springer, 2001. Citado na página 35.

19 BREZIS, H. Functional Analysis, Sobolev Spaces and Partial Differential Equations.New York: Springer, 2011. Citado 2 vezes nas páginas 5 e 35.

20 BREZIS, H. Análisis funcional. Teoría y aplicaciones. Paris: Alianza Editorial, 1983.Citado 2 vezes nas páginas 5 e 35.

21 C.CUNHA, M. C. Métodos Numérisoc. São Paulo: UNICAMP, 2003. Citado napágina 39.

22 SALLEH, S.; ZOMAYA, A. Y.; BAKAR, S. A. Computing for numerical methodsusins visuas C++. New Jersey: John Wiley & Sons, Inc., 1956. Citado na página 43.

Apêndices

59

APÊNDICE A – Algoritmo

A.1 RotinasPoisson1DCPPTemplatesV0.cpp

1 #i n c l u d e <ios t r eam >2 #i n c l u d e <vec to r >3 #i n c l u d e <v a l a r r a y >4 #i n c l u d e <cmath>5 #i n c l u d e <s t r i n g >6 #i n c l u d e <fs t ream >7 #i n c l u d e <iomanip>8 #i n c l u d e <c s t d l i b >9 u s i n g namespace s td ;

10

11 s t r u c t Sa idaPo i s son1D12 13 doub l e CoordX ;14 doub l e SolAproCoordX ;15 doub l e SolExataCoordX ;16 doub l e ErroNormaMaxCoordX ;17 ;18

19

20 s t r u c t DadosEntradaPoisson1D21 22 s t r i n g NomeDoDado ;23 doub l e ValorDoDado ;24 ;25

26

27 template <typename T>28 T tmax ( con s t T &x , con s t T &y )29 30 r e t u r n ( x>y ) ? x : y ;31

32 33

34

35 // Funcao para o S o l v e r T r i d i a g o n a l v i a a l g o r i t m o de Thomas36

37 i n l i n e vo i d S o l v e r S i s t e m a T r i d i a g o n a l ( doub l e ∗ vDiag I , doub l e ∗vDiagP ,38 doub l e ∗vDiagS , doub l e ∗vCarga , doub l e ∗ vSolAprox , i n t NumNos)39 40

60 APÊNDICE A. Algoritmo

41 doub l e ∗vAuxCarga = new doub l e [ NumNos ] ;42 doub l e ∗vAuxDI = new doub le [ NumNos ] ;43 doub l e ∗vAuxDP = new doub l e [ NumNos ] ;44 doub l e ∗vAuxDS = new doub l e [ NumNos ] ;45

46 f o r ( i n t i =0; i < NumNos ; i ++)47 48 vAuxDI [ i ] = vD iag I [ i ] ;49 vAuxDP [ i ] = vDiagP [ i ] ;50 vAuxDS [ i ] = vDiagS [ i ] ;51 vAuxCarga [ i ] = vCarga [ i ] ;52

53 54

55 f o r ( i n t i =1; i < NumNos ; i ++)56 57 vAuxDI [ i ] = vAuxDI [ i ] / vAuxDP [ i −1] ;58 vAuxDP [ i ] = vAuxDP [ i ] − vAuxDI [ i ]∗ vAuxDS [ i −1] ;59 60 f o r ( i n t i =1; i < NumNos ; i ++)61 vAuxCarga [ i ] = vAuxCarga [ i ] − vAuxDI [ i ]∗ vAuxCarga [ i −1] ;62

63

64 f o r ( i n t i=NumNos−2; i >= 0 ; i−−)65 66 vSo lAprox [ i ] = ( vAuxCarga [ i ] − vAuxDS [ i ]∗ vSo lAprox [ i +1])/vAuxDP [ i ] ;67 68

69 d e l e t e [ ] vAuxCarga ;70 d e l e t e [ ] vAuxDI ;71 d e l e t e [ ] vAuxDP ;72 d e l e t e [ ] vAuxDS ;73

74 75

76

77 i n l i n e vo i d P r e encheVe to r e sDaMat r i zT r i d i a gona l ( doub l e ∗ vDiag I ,78 doub l e ∗vDiagP , doub l e ∗vDiagS , doub l e CteDi fusao ,79 doub l e hMalha , i n t NumNos )80 81

82 f o r ( uns i gned i n t i =0; i < NumNos ; i ++)83 84

85 vD iag I [ i ] = 0 .0 ;86 vDiagP [ i ] = 0 .0 ;87 vDiagS [ i ] = 0 .0 ;

A.1. RotinasPoisson1DCPPTemplatesV0.cpp 61

88 89

90 f o r ( uns i gned i n t i =1; i < NumNos−2 ; i ++)91 vDiagS [ i ] = − CteD i fu sao /hMalha ;92

93

94 f o r ( uns i gned i n t i =0; i < NumNos ; ++i )95 vDiagP [ i ] = CteD i fu sao ∗2 .0/ hMalha ;96

97 vDiagP [ 0 ] = 1 .0 ;98 vDiagP [ NumNos−1] = 1 .0 ;99

100

101 102

103 i n l i n e vo i d PreencheVeto rSo lucaoExata ( doub l e ∗ vSo lExata , doub l e hMalha ,104 doub l e CteDi fusao , doub l e Ldominio ,105 i n t F lagSo lExata , i n t NumNos)106 107

108 con s t doub l e PI = 3.141592653589793 ;109

110 doub l e ∗ vAuxSolExata = new doub l e [ NumNos ] ;111 doub l e Va lo rDeSo lExatanox i , x no i ;112

113 i f ( F l agSo lExa ta == 0)114 115 f o r ( uns i gned i n t i =0; i < NumNos ; i ++)116 vAuxSolExata [ i ] = 0 .0 ;117

118 119

120 //==========Solucao exa ta do exemplo t e s t e 01===========121 /∗122 i f ( F l agSo lExa ta == 1)123 124 f o r ( uns i gned i n t i =0; i < NumNos ; i ++)125 126 xno i = i ∗hMalha ;127 Va lo rDeSo lExa tanox i = s i n ( CteD i fu sao ∗PI∗ xno i / Ldominio ) ;128 vAuxSolExata [ i ] = Va lo rDeSo lExa tanox i ;129

130 131

132 133 ∗/134 //=======Fim do exemplo t e s t e 01=====================

62 APÊNDICE A. Algoritmo

135

136 //===========Solucao exa ta do exemplo t e s t e 02===============137 // /∗138 i f ( F l agSo lExa ta == 1)139 140 f o r ( uns i gned i n t i =0; i < NumNos ; i ++)141 142 xno i = i ∗hMalha ;143 Va lo rDeSo lExa tanox i = 1 .0 − ( cosh ( ( 2 . 0∗ xno i −1.0)/144 ( s q r t ( CteD i fu sao ) ) ) ) / ( cosh (1 . 0/ s q r t ( CteD i fu sao ) ) ) ;145 vAuxSolExata [ i ] = Va lo rDeSo lExa tanox i ;146

147 148

149 150 // ∗/151 //=========Fim do exemplo t e s t e 02=====================152

153 f o r ( uns i gned i n t i =0; i < NumNos ; i ++)154 vSo lExa ta [ i ] = vAuxSolExata [ i ] ;155

156 d e l e t e [ ] vAuxSolExata ;157

158 159

160 //===============================================================161

162 i n l i n e vo i d PreencheVetorTermoDeFonte ( doub l e ∗ vFonte , doub l e hMalha ,163 doub l e CteFonte , doub l e CteDi fusao , doub l e Ldominio ,164 i n t F lagFonte , i n t NumNos)165 166

167 con s t doub l e PI = 3.141592653589793 ;168

169 doub l e ∗ vAuxFonte = new doub l e [ NumNos ] ;170 doub l e ValorDeFnox i , x no i ;171

172 i f ( F lagFonte == 0)173 174 f o r ( uns i gned i n t i =0; i < NumNos ; i ++)175 vAuxFonte [ i ] = CteFonte ;176

177 178

179 //==========Exemplo t e s t e 01==========================180 /∗181 i f ( F lagFonte == 1)

A.1. RotinasPoisson1DCPPTemplatesV0.cpp 63

182 183 f o r ( uns i gned i n t i =0; i < NumNos ; i ++)184 185 xno i = i ∗hMalha ;186 ValorDeFnox i = CteD i fu sao ∗PI∗PI∗ s i n ( PI∗ xno i / Ldominio ) ;187 vAuxFonte [ i ] = ValorDeFnox i ;188

189 190

191 192 ∗/193 //========Fim exemplo t e s t e 01===================194

195 //==========Exemplo t e s t e 02============================196 // /∗197 i f ( F lagFonte == 1)198 199 f o r ( uns i gned i n t i =0; i < NumNos ; i ++)200 201 xno i = i ∗hMalha ;202 ValorDeFnox i = (4 . 0∗ cosh ( ( 2 . 0∗ xno i −1.0)/( s q r t ( CteD i fu sao ) ) ) ) /203 ( cosh (1 . 0/ s q r t ( CteD i fu sao ) ) ) ;204 vAuxFonte [ i ] = ValorDeFnox i ;205

206 207

208 209 // ∗/210 //========Fim exemplo t e s t e 02=======================211

212 // Repassando vAuxFonte para vFonte213 f o r ( uns i gned i n t i =0; i < NumNos ; i ++)214 vFonte [ i ] = vAuxFonte [ i ] ;215

216 d e l e t e [ ] vAuxFonte ;217

218 219

220 i n l i n e vo i d PreencheVetorTermoDeCarga ( doub l e ∗vCarga , doub l e ∗vDeFonte ,221 doub l e hMalha , doub l e c c e U l e f t , doub l e cceUr i gh t ,222 doub l e CteFonte , doub l e Ldominio , i n t F lagFonte , i n t NumNos)223 224

225 con s t doub l e PI = 3.141592653589793 ;226

227 doub l e ∗vAuxDeFonte = new doub l e [ NumNos ] ;228 doub l e ValorDeFnox i , x no i ;

64 APÊNDICE A. Algoritmo

229

230 f o r ( uns i gned i n t i =0; i < NumNos ; i ++)231 vAuxDeFonte [ i ] = vDeFonte [ i ] ;232

233

234 vCarga [ 0 ] = c c e U l e f t ;235 vCarga [ NumNos−1] = c c e U r i g h t ;236

237 vCarga [ 1 ] = hMalha∗vAuxDeFonte [ 1 ] + c c e U l e f t /hMalha ;238 vCarga [ NumNos−2] = hMalha∗vAuxDeFonte [ NumNos−2] + c c e U r i g h t /hMalha ;239

240 f o r ( uns i gned i n t i =2; i < NumNos−2 ; i ++)241 vCarga [ i ] = hMalha∗vAuxDeFonte [ i ] ;242

243 d e l e t e [ ] vAuxDeFonte ;244

245 246

247 i n l i n e vo i d PreencheVetorErroNormaDoMaximo ( doub l e ∗ vSo lExata ,248 doub l e ∗ vSolAprox , doub l e ∗vErroNormaMax , i n t NumNos)249 250

251 con s t doub l e PI = 3.141592653589793 ;252

253 doub l e ErroNoXi = 0 .0 ;254 doub l e ∗ vAuxDeSolAprox = new doub l e [ NumNos ] ;255 doub l e ∗ vAuxDeSolExata = new doub le [ NumNos ] ;256

257

258 f o r ( uns i gned i n t i =0; i < NumNos ; i ++)259 260 vAuxDeSolExata [ i ] = vSo lExa ta [ i ] ;261 vAuxDeSolAprox [ i ] = vSo lAprox [ i ] ;262 263

264

265 f o r ( uns i gned i n t i =0; i < NumNos ; i ++)266 267 ErroNoXi = abs ( vAuxDeSolExata [ i ] − vAuxDeSolAprox [ i ] ) ;268 vErroNormaMax [ i ] = ErroNoXi ;269 270

271 d e l e t e [ ] vAuxDeSolExata ;272 d e l e t e [ ] vAuxDeSolAprox ;273

274 275

A.1. RotinasPoisson1DCPPTemplatesV0.cpp 65

276 i n l i n e doub l e BuscaValorErroMaximo ( doub l e ∗vErroNormaMax , i n t NumNos)277 278

279 con s t doub l e PI = 3.141592653589793 ;280

281 doub l e ∗vAuxErroNormaMax = new doub l e [ NumNos ] ;282 doub l e ErroMaxNoXi = 0 .0 ;283 doub l e ErroMax ;284

285 f o r ( uns i gned i n t i =0; i < NumNos ; i ++)286 vAuxErroNormaMax [ i ] = vErroNormaMax [ i ] ;287

288

289 ErroMaxNoXi = vAuxErroNormaMax [ 0 ] ;290 f o r ( uns i gned i n t i =0; i < NumNos ; i ++)291 292 i f ( vAuxErroNormaMax [ i ] > ErroMaxNoXi )293 294 ErroMaxNoXi = vAuxErroNormaMax [ i ] ;295 ErroMax = ErroMaxNoXi ;296

297 298

299 300

301 d e l e t e [ ] vAuxErroNormaMax ;302

303 r e t u r n ErroMax ;304

305 306

307 i n l i n e i n t BuscaPosicaoErroMaximo ( doub l e ∗vErroNormaMax , i n t NumNos)308 309

310 con s t doub l e PI = 3.141592653589793 ;311

312 i n t Pos i cao = 0 ;313 doub l e ∗vAuxErroNormaMax = new doub l e [ NumNos ] ;314 doub l e ErroMaxNoXi = 0 .0 ;315 doub l e ErroMax ;316

317

318 f o r ( uns i gned i n t i =0; i < NumNos ; i ++)319 vAuxErroNormaMax [ i ] = vErroNormaMax [ i ] ;320

321 ErroMaxNoXi = vAuxErroNormaMax [ 0 ] ;322 f o r ( uns i gned i n t i =0; i < NumNos ; i ++)

66 APÊNDICE A. Algoritmo

323 324 i f ( vAuxErroNormaMax [ i ] > ErroMaxNoXi )325 326 ErroMaxNoXi = vAuxErroNormaMax [ i ] ;327 ErroMax = ErroMaxNoXi ;328 Pos i cao = i ;329

330 331

332 333

334 d e l e t e [ ] vAuxErroNormaMax ;335

336 r e t u r n Pos i cao ;337 338

339 i n l i n e vo i d ImprimeArrayLinhaNaTelaCPP ( doub l e v e t [ ] , i n t DimVet ,340 s t r i n g head )341 342

343 cout << head ;344

345 f o r ( uns i gned i n t i =0; i < DimVet ; ++i )346 cout << ve t [ i ] << " " ;347 cout << end l ;348

349 350

351 i n l i n e vo i d ImprimeArrayColunaNaTelaCPP ( doub l e v e t [ ] , i n t DimVet ,352 s t r i n g head )353 354

355 cout << head << " \n " ;356

357 f o r ( uns i gned i n t i =0; i < DimVet ; ++i )358 cout << ve t [ i ] << " \n " ;359 cout << end l ;360

361 362

363

364 i n l i n e vo i d Impr imeNaTelaVetorDeStructDadosDeEntrada ( con s t365 vec to r <DadosEntradaPoisson1D> &v )366 367 f o r ( uns i gned i n t i =0; i <v . s i z e ();++ i )368 cout << v [ i ] . NomeDoDado << " " << v [ i ] . ValorDoDado << end l ;369

A.1. RotinasPoisson1DCPPTemplatesV0.cpp 67

370

371 i n l i n e vo i d RepassaVetorDeStructDadosDeEntrada ( con s t372 vec to r <DadosEntradaPoisson1D> &v , doub l e ∗ vParamet rosEnt rada )373 374 f o r ( uns i gned i n t i =0; i <v . s i z e ();++ i )375 vParamet rosEnt rada [ i ] = v [ i ] . ValorDoDado ;376 377

378

379

380 i n l i n e vo i d Impr imeNaTe laVetorDeSt ructSa ida ( con s t vec to r <SaidaPoisson1D> &v )381 382 f o r ( uns i gned i n t i =0; i <v . s i z e ();++ i )383 cout << f i x e d << s e t p r e c i s i o n (10) << setw (12) << v [ i ] . CoordX <<384 " " << v [ i ] . SolAproCoordX << " " << v [ i ] . SolExataCoordX <<385 " " << v [ i ] . ErroNormaMaxCoordX << end l ;386 387

388 //===========================================================389

390 vo i d ImprimeVarrayNaTelaCPP ( cons t v a l a r r a y <T> &va , con s t s t r i n g &head=" " ,391 con s t s t r i n g &sep=" " )392 393

394 cout << head ;395

396 f o r ( uns i gned i n t i =0; i < va . s i z e ( ) ; ++i )397 cout << va [ i ] << sep ;398 cout << end l ;399

400 401

402 vo i d ImprimeNaTelaCPP ( con s t T &c , con s t s t r i n g &header=" " ,403 con s t s t r i n g &sep= " " )404 405 typename T : : c o n s t _ i t e r a t o r i t ;406 cout << header ;407 f o r ( i t=c . beg in ( ) ; i t !=c . end ();++ i t )408 cout << ∗ i t << sep ;409

410

411 412

413 vo i d ImprimeMatrizNaTelaCPP ( con s t v a l a r r a y <T> &va , con s t i n t &l i n ,414 con s t i n t &co l , c on s t s t r i n g head=" " )415 416

68 APÊNDICE A. Algoritmo

417 cout << head << end l ;418

419 f o r ( i n t i =0; i < l i n ; ++i )420 421 f o r ( i n t j =0; j<c o l ; ++j )422 423 cout << va [ i ∗ c o l + j ] << " " ;424 425

426 cout << end l ;427 428

429 430

431 i n l i n e boo l G r a va rA rqu i v oRe su l t ado s ( con s t vec to r <SaidaPoisson1D> &432 v_sa i dapo i s s on1d )433 434 i f ( ! v_sa i dapo i s s on1d . s i z e ( ) )435 r e t u r n f a l s e ;436

437 o f s t r eam f_out ; // c r i a a r q u i v o f_out para g ravacao ( e s c r i t a )438 f_out . open ( " F i l eOutPo i s sonV0 . t x t " ) ;439

440 i f ( ! f_out . good ( ) )441 r e t u r n f a l s e ;442

443 f o r ( uns i gned i n t i =0; i <v_sa i dapo i s s on1d . s i z e ();++ i )444 f_out << f i x e d << s e t p r e c i s i o n (10) << setw (12) <<445 v_sa i dapo i s s on1d [ i ] . CoordX << " " <<446 v_sa i dapo i s s on1d [ i ] . SolAproCoordX << " " <<447 v_sa i dapo i s s on1d [ i ] . SolExataCoordX << " " <<448 v_sa i dapo i s s on1d [ i ] . ErroNormaMaxCoordX << end l ;449

450 f_out . c l o s e ( ) ;451

452 r e t u r n t r u e ;453

454 455

456

457 i n l i n e vec to r <SaidaPoisson1D> PreencheSa idaPo i s son1D ( doub l e ∗ vSolAprox ,458 doub l e ∗ vSo lExata , doub l e ∗vErroNormaMax ,459 doub l e hMalha , i n t NumNos)460 461 vec to r <SaidaPoisson1D> v_sa i dapo i s s on1d ;462

463 Sa idaPo i s son1D s a i d a p o i s s o n 1 d ;

A.1. RotinasPoisson1DCPPTemplatesV0.cpp 69

464

465 f o r ( uns i gned i n t i =0; i < NumNos ; ++i )466 v_sa i dapo i s s on1d . push_back ( s a i d a p o i s s o n 1 d ) ;467

468 f o r ( uns i gned i n t i =0; i <v_sa i dapo i s s on1d . s i z e ();++ i )469 470 v_sa i dapo i s s on1d [ i ] . CoordX = i ∗hMalha ;471 v_sa i dapo i s s on1d [ i ] . SolAproCoordX = vSo lAprox [ i ] ;472 v_sa i dapo i s s on1d [ i ] . SolExataCoordX = vSo lExa ta [ i ] ;473 v_sa i dapo i s s on1d [ i ] . ErroNormaMaxCoordX = vErroNormaMax [ i ] ;474 475

476 r e t u r n v_sa i dapo i s s on1d ;477

478 479

480 i n l i n e vec to r <DadosEntradaPoisson1D> LerArqu ivoDadosDeEntrada ( )481 482

483

484 //==================================485

486 i f s t r e a m F i l e I n ( " F i l e I n P o i s s o n V 0 . t x t " , i o s : : i n ) ;487

488 vec to r <DadosEntradaPoisson1D> v_dadosen t radapo i s son1d ;489

490 i f ( ! F i l e I n . good ( ) )491 r e t u r n v_dadosen t radapo i s son1d ;492

493 i f ( ! F i l e I n )494 495 c e r r <<" Arqu ivo nao pode s e r abe r t o \n" ;496 e x i t ( 1 ) ;497 498

499 DadosEntradaPoisson1D dado s en t r adapo i s s on1d ;500

501 doub l e ValorDoDadoDeEntrada ;502 s t r i n g NomeDoDadoDeEntrada ;503

504 do505 506 F i l e I n >> NomeDoDadoDeEntrada >> ValorDoDadoDeEntrada ;507 dado s en t r adapo i s s on1d . NomeDoDado = NomeDoDadoDeEntrada ;508 dado s en t r adapo i s s on1d . ValorDoDado = ValorDoDadoDeEntrada ;509 i f ( d ado s en t r adapo i s s on1d . NomeDoDado != " " )510 v_dadosen t radapo i s son1d . push_back ( dado s en t r adapo i s s on1d ) ;

70 APÊNDICE A. Algoritmo

511 w h i l e ( ! F i l e I n . e o f ( ) ) ;512

513

514 F i l e I n . c l o s e ( ) ;515 r e t u r n v_dadosen t radapo i s son1d ;516

517 518

519 // ∗/

A.2 Poisson1DCPPHonorioLarissaMainV0.cpp1

2 #i n c l u d e <ios t r eam >3 #i n c l u d e <s t r i n g >4 #i n c l u d e <fs t ream >5 #i n c l u d e <vec to r >6 #i n c l u d e <c s t d l i b >7 #i n c l u d e <t ime . h>8 #i n c l u d e <cmath>9 #i n c l u d e <iomanip>

10 #i n c l u d e <c s t d i o >11 #i n c l u d e <v a l a r r a y >12

13 #i n c l u d e " RotinasPoisson1DCPPTemplatesV0 . h"14

15

16 i n t main ( vo i d )17 18

19 i n t NumDeNos , F lagFonte , F lagSo lExata ,20 F l a g L i n h a F i n a l L i d a , Pos icaoDoErro ;21 doub l e Ldominio , CteDIFUS , CCEesq , CCEdir , CteFonte , ErroMaximo ;22

23

24 i n t NumDeEl ;25 doub l e hmalha ;26

27 vec to r <DadosEntradaPoisson1D> v_dadosen t radapo i s son1d ;28

29 v_dadosen t radapo i s son1d = LerArqu ivoDadosDeEntrada ( ) ;30

31 i n t QtdeParametrosDeEntrada = v_dadosen t radapo i s son1d . s i z e ( ) ;32

33 doub l e ∗VetorParamet rosEnt rada = new doub le [ QtdeParametrosDeEntrada ] ;34

A.2. Poisson1DCPPHonorioLarissaMainV0.cpp 71

35 Impr imeNaTelaVetorDeStructDadosDeEntrada ( v_dadosen t radapo i s son1d ) ;36

37

38 RepassaVetorDeStructDadosDeEntrada ( v_dadosent radapo i s son1d ,39 VetorParamet rosEnt rada ) ;40

41 s t r i n g s t r V e t 1= " Vetor com os paramet ros l i d o s do a r q u i v o de en t r ada : " ;42

43 ImprimeArrayColunaNaTelaCPP ( VetorParametrosEnt rada ,44 QtdeParametrosDeEntrada , s t r V e t 1 ) ;45

46 Ldominio = Veto rParamet rosEnt rada [ 0 ] ;47 CteDIFUS = VetorParamet rosEnt rada [ 1 ] ;48 CCEesq = Veto rParamet rosEnt rada [ 2 ] ;49 CCEdir = VetorParamet rosEnt rada [ 3 ] ;50 CteFonte = Veto rParamet rosEnt rada [ 4 ] ;51 F lagFonte = ( i n t ) Veto rParamet rosEnt rada [ 5 ] ;52 F l agSo lExa ta = ( i n t ) Veto rParamet rosEnt rada [ 6 ] ;53 NumDeNos = ( i n t ) Veto rParamet rosEnt rada [ 7 ] ; malha54 F l a g L i n h a F i n a l L i d a = ( i n t ) Veto rParamet rosEnt rada [ 9 ] ;55

56 NumDeEl = NumDeNos − 1 ;57 hmalha = Ldominio /NumDeEl ;58

59

60 cout << "\n O v a l o r do comprimento L do domin io eh : "61 << Ldominio << end l ;62 cout << "O v a l o r da con s t an t e de d i f u s a o eh : " << CteDIFUS << end l ;63 cout << "O v a l o r da cond i cao de conto rno e s s e n c i a l no noh esque rdo eh : "64 << CCEesq << end l ;65 cout << "O v a l o r da cond i cao de conto rno e s s e n c i a l no noh d i r e i t o eh : "66 << CCEdir << end l ;67 cout << "O v a l o r da con s t an t e para o termo de f o n t e eh : "68 << CteFonte << end l ;69 cout << "O v a l o r do F lag para o termo de f o n t e eh : "70 << FlagFonte << end l ;71 cout << "O v a l o r do F lag para a s o l u c a o exa ta eh : "72 << FlagSo lExa ta << end l ;73 cout << "O v a l o r do numero de nos da malha eh : " << NumDeNos << end l ;74 cout << "O v a l o r do i n d i c a d o r de u l t ima l i n h a do a r q u i v o de en t r ada eh

: " << F l a g L i n h a F i n a l L i d a << end l ;75 cout << "\n O v a l o r da quant i dade de paramet ros l i d o s no a r q u i v o76 de en t r ada eh : " << QtdeParametrosDeEntrada << end l ;77

78

79

80 doub l e ∗Diag I = new doub l e [ NumDeNos ] ;

72 APÊNDICE A. Algoritmo

81 doub l e ∗DiagP = new doub l e [ NumDeNos ] ;82 doub l e ∗DiagS = new doub l e [ NumDeNos ] ;83 doub l e ∗ ve tFonte = new doub l e [ NumDeNos ] ;84 doub l e ∗ vetCarga = new doub l e [ NumDeNos ] ;85 doub l e ∗ ve tSo lAp rox = new doub l e [ NumDeNos ] ;86 doub l e ∗ v e tSo lExa t a = new doub l e [ NumDeNos ] ;87 doub l e ∗vetErroNormaMax = new doub l e [ NumDeNos ] ;88

89

90 Pre encheVe to r e sDaMat r i zT r i d i a gona l ( Diag I , DiagP , DiagS ,91 CteDIFUS , hmalha , NumDeNos) ;92

93 s t r i n g s t r V e t D i= " Ve to rD i ag I : " ;94 s t r i n g st rVetDp= " VetorDiagP : " ;95 s t r i n g s t rVetDs= " VetorDiagS : " ;96

97

98 ImprimeArrayLinhaNaTelaCPP ( DiagI , NumDeNos , s t r V e t D i ) ;99 ImprimeArrayLinhaNaTelaCPP ( DiagP , NumDeNos , s t rVetDp ) ;

100 ImprimeArrayLinhaNaTelaCPP ( DiagS , NumDeNos , s t rVe tDs ) ;101

102

103 PreencheVetorTermoDeFonte ( vetFonte , hmalha , CteFonte ,104 CteDIFUS , Ldominio , F lagFonte , NumDeNos) ;105

106 s t r i n g s t r V e t 2= " Vetor De Fonte : " ;107

108 ImprimeArrayLinhaNaTelaCPP ( vetFonte , NumDeNos , s t r V e t 2 ) ;109

110 PreencheVetorTermoDeCarga ( vetCarga , vetFonte , hmalha ,111 CCEesq , CCEdir , CteFonte , Ldominio , F lagFonte , NumDeNos) ;112

113 s t r i n g s t r V e t 3= " Vetor De Carga : " ;114

115 ImprimeArrayLinhaNaTelaCPP ( vetCarga , NumDeNos , s t r V e t 3 ) ;116

117

118 s t r i n g s t r V e t 4= " Vetor So lucao Exata : " ;119

120 PreencheVeto rSo lucaoExata ( ve tSo lExa ta , hmalha , CteDIFUS ,121 Ldominio , F lagSo lExata , NumDeNos) ;122

123 ImprimeArrayLinhaNaTelaCPP ( ve tSo lExa ta , NumDeNos , s t r V e t 4 ) ;124

125 S o l v e r S i s t e m a T r i d i a g o n a l ( DiagI , DiagP , DiagS , vetCarga ,126 vetSo lAprox , NumDeNos) ;127

A.2. Poisson1DCPPHonorioLarissaMainV0.cpp 73

128 s t r i n g s t r V e t 5= " Vetor So lucao Aproximada Problema Exemplo 01 : " ;129

130 ImprimeArrayLinhaNaTelaCPP ( vetSo lAprox , NumDeNos , s t r V e t 5 ) ;131

132 PreencheVetorErroNormaDoMaximo ( ve tSo lExa ta , ve tSo lAprox ,133 vetErroNormaMax , NumDeNos) ;134

135 s t r i n g s t r V e t 6= " Vetor Er ro Norma do Maximo Problema Exemplo 01 : " ;136

137 ImprimeArrayLinhaNaTelaCPP ( vetErroNormaMax , NumDeNos , s t r V e t 6 ) ;138

139 ErroMaximo = BuscaValorErroMaximo ( vetErroNormaMax , NumDeNos) ;140

141 Pos icaoDoErro = BuscaPosicaoErroMaximo ( vetErroNormaMax , NumDeNos) ;142

143 cout << " Va lo r do Er ro Maximo Problema Exemplo 01 : " << ErroMaximo << " "144 << "Na Pos i cao : " << Pos icaoDoErro << end l ;145

146 vec to r <SaidaPoisson1D> v_sa i dapo i s s on1d ;147

148 cout << " Coord X " << "\ t So l Aprox " << "\ t So l Exata "149 << "\ t Er ro " << end l ;150 v_sa i dapo i s s on1d = PreencheSa idaPo i s son1D ( vetSo lAprox , ve tSo lExa ta ,151 vetErroNormaMax , hmalha , NumDeNos) ;152

153 Impr imeNaTe laVetorDeSt ructSa ida ( v_sa i dapo i s s on1d ) ;154

155

156 i f ( G r a va rA rqu i v oRe su l t ado s ( v_sa i dapo i s s on1d ) )157 cout << " Arqu ivo gravado com s u c e s s o \n " ;158 e l s e159 cout << " Er ro na gravacao do a r q u i v o " ;160

161 d e l e t e [ ] D i ag I ;162 d e l e t e [ ] DiagP ;163 d e l e t e [ ] DiagS ;164 d e l e t e [ ] ve tCarga ;165 d e l e t e [ ] v e tSo lAp rox ;166 d e l e t e [ ] v e tFonte ;167 d e l e t e [ ] v e tSo lExa t a ;168

169

170