89

Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

Embed Size (px)

Citation preview

Page 1: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

O uso do estimador residual no renamento adaptativo de malhasem elementos nitos

Marco Alexandre Claudino

Dissertação apresentadaao

Instituto de Matemática e Estatísticada

Universidade de São Paulopara

obtenção do títulode

Mestre em Ciências

Programa: Matemática Aplicada

Orientador: Prof. Dr. Nelson Mugayar Kuhl

Durante o desenvolvimento deste trabalho o autor recebeu auxílio nanceiro do CNPq

São Paulo, fevereiro de 2015

Page 2: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

O uso do estimador residual no renamento adaptativo de malhasem elementos nitos

Esta é a versão original da dissertação elaborada pelo

candidato Marco Alexandre Claudino, tal como

submetida à Comissão Julgadora.

Page 3: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

Agradecimentos

Primeiramente, agradeço a Deus pela saúde, pela coragem e pela fé que sempre me guiou frente

aos momentos mais complicados da vida.

A minha esposa, Stéfany, pelo carinho, atenção e paciência tidos comigo desde o início. Seu apoio

e incentivo nos momentos mais difíceis desta jornada foram fundamentais para que eu chegasse até

aqui.

Aos meus pais, Marco e Oneide, e minha irmã, Cristiane, pelo apoio e incentivo constantes.

Ao professor Nelson Mugayar Kuhl por toda paciência e atenção, além dos valorosos conse-

lhos dados durante as reuniões de iniciação cientíca que se tornaram um trabalho de conclusão de

curso e posteriormente evoluíram para o mestrado que se encerra com a conclusão desta dissertação.

Aos amigos Willian Hans Corrêa (79), Lucas Reis e Eli Enrico pela companhia e apoio durante

a jornada acadêmica. Em especial, ao brother Guilherme Salomão pela amizade e companheirismo,

além do auxílio nas disciplinas de análise.

Aos professores Alexandre Megiorin Roma e Pedro Peixoto pelos valorosos conselhos, sugestões

e orientações durante o período em que fui estagiário PAE.

Aos professores Claudio Possani, Luis Carlos Santos, Pierluigi Benevieri, Ricardo Freire, Sal-

vador Zanata e Saulo Maciel, cujos conhecimentos transmitidos em aula foram muito importantes

para o meu desenvolvimento acadêmico e me ajudaram a entender um pouco mais do vasto universo

que consiste a matemática (e suas aplicações).

Ao CNPq pelo suporte nanceiro.

iii

Page 4: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

"If something is obviously not impossible

Then must be a way to doing it".

Sir Nicholas Winton

Page 5: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

Resumo

Claudino, M.A. O uso do estimador residual no renamento adaptativo de malhas em

elementos nitos. 2015. 75 f. Dissertação - Instituto de Matemática e Estatística, Universidade

de São Paulo, São Paulo, 2015.

Na obtenção de aproximações numéricas para Equações Diferenciais Parciais Elípticas utilizando

o Método dos Elementos Finitos (MEF) alguns problemas apresentam valores maiores para o erro

somente em algumas determinadas regiões do domínio como, por exemplo, regiões onde existam sin-

gularidades na solução contínua do problema. Uma possível alternativa para reduzir o erro cometido

nestas regiões é aumentar o número de elementos nos trechos onde o erro cometido foi consider-

ado grande. A questão principal é como identicar essas regiões, dado que a solução do problema

contínuo é desconhecida.

Neste trabalho iremos apresentar a chamada estimativa residual, que fornece um estimador do

erro cometido na aproximação utilizando apenas os valores conhecidos dos contornos e a aproxi-

mação obtida sobre uma dada partição de elementos. Vamos discutir a relação entre a estimativa

residual e o erro cometido na aproximação, além de utilizar as estimativas na construção de um

algoritmo adaptativo para as malhas em estudo.

Utilizando o software FreeFem++ serão obtidas aproximações para a Equação de Poisson e

para o sistema de equações associado à Elasticidade Linear e por meio do estimador residual será

analisado o erro cometido nas aproximações e a necessidade do renamento adaptativo das malhas.

Palavras-chave: Método dos Elementos Finitos, Estimativas residuais, Renamento adaptativo

de malhas.

v

Page 6: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

vi

Page 7: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

Abstract

Claudino, M.A. A Posteriori Error Estimates for Finite Element Method. 2015. 75 f. Dis-

sertação - Instituto de Matemática e Estatística, Universidade de São Paulo, São Paulo, 2015.

In obtaining numerical approximations for Elliptic Partial Dierential Equations using the Finite

Element Method (FEM) some problems have higher values for the error only in certain domain

regions such as, for example, regions where the solution of the continous problem is singular. A

possible alternative to reduce the error in these regions is to increase the number of elements in

the excerpts where the error was considered large. The main issue is how to identify these regions,

since the solution of the continuous problem is unknown.

In this work we present the so-called residual estimate, which provides an error estimation

approach using only the known values on the contours and the obtained approximation on a given

discretization. We will discuss the relationship between the residual estimate and the error, and

how to use the estimate for adaptively rene the mesh.

Solutions for the Poisson equation and the Linear elasticity system of equations, and the residual

estimates for the analysis of mesh renement will be computed using the FreeFem++ software.

Keywords: Finite Element Method, Residual estimates, adaptive mesh renement.

vii

Page 8: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

viii

Page 9: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

Sumário

Lista de Figuras xi

Lista de Tabelas xiii

1 Introdução 1

1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Conceitos e resultados preliminares 3

2.1 Ferramentas de análise funcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2 Formulação Equivalente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Problemas de valor de contorno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.4 Método de Ritz-Galerkin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.4.1 Partições do domínio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4.2 Funções de forma e funções teste . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.4.3 Operador de quasi-interpolação . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.4.4 Função de salto (jump) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.4.5 Estimativas na aproximação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.5 Renamento das malhas de estudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.5.1 Particionamento uniforme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.5.2 Particionamento orientado por funções indicadoras . . . . . . . . . . . . . . . 15

3 Problema de Poisson 17

3.1 Formulação fraca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2 Estimativa residual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.3 Simulações Numéricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.3.1 Problema com solução conhecida . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.3.2 Problema com singularidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4 Elasticidade Linear 33

4.1 As equações da elasticidade linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.2 Formulação variacional (fraca) do problema: Minimizando a energia associada . . . . 34

4.3 Resultados auxiliares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.4 Estimativa residual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.5 Simulações Numéricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

ix

Page 10: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

x SUMÁRIO

5 Conclusões 41

A FreeFem++ 43

A.1 Apresentação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

A.2 Como funciona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

A.3 Outros comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

B Códigos utilizados 45

C Figuras 57

C.1 Problema de Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

C.1.1 Problema 3.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

C.1.2 Problema 3.16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

C.2 Elasticidade Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Page 11: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

Lista de Figuras

2.1 Exemplos de malhas de um domínio Ω. A gura a) mostra uma malha admissível

enquanto que a gura b) mostra uma malha não admissível, pois possui um elemento

cujos vértices estão situados nos pontos médios das arestas de outros elementos. . . . 9

2.2 Exemplos dos conjuntos apresentados na denição (2.4.5). . . . . . . . . . . . . . . . 10

2.3 As guras (a) e (b) mostram elementos lineares em R2 e a gura (c) apresenta o

elemento linear em R3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.4 Aplicações do renamento por splitting . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.5 Malha inicial e estimativa do erro cometido. As cores mais escuras indicam um maior

erro cometido nestas regiões. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.6 Malha obtida pelo renamento indicado pelo estimador de erro . . . . . . . . . . . . 16

3.1 Solução exata do problema (3.15). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.2 Resultados obtidos sobre os elementos triangulares. . . . . . . . . . . . . . . . . . . . 24

3.3 Resultados obtidos na primeira iteração do renamento uniforme. . . . . . . . . . . . 25

3.4 Resultados obtidos na primeira iteração do renamento adaptativo. . . . . . . . . . . 25

3.5 Resultados obtidos na quarta iteração do renamento uniforme. . . . . . . . . . . . . 26

3.6 Resultados obtidos na quarta iteração do renamento adaptativo. . . . . . . . . . . . 26

3.7 Comportamento do estimador de erro nas iterações de renamento adaptativo. . . . 27

3.8 Dominio do problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.9 Resultados obtidos sobre os elementos triangulares no problema 3.16. . . . . . . . . . 29

3.10 Resultados da primeira iteração do renamento uniforme. . . . . . . . . . . . . . . . 30

3.11 Resultados da primeira iteração do renamento adaptativo. . . . . . . . . . . . . . . 30

3.12 Comparativo das aproximações obtidas na quarta iteração de renamento. . . . . . . 31

4.1 Malha inicial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.2 Resultados obtidos na malha inicial. . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.3 Deformação sofrida pela chapa (fator de escala 106). . . . . . . . . . . . . . . . . . . 38

4.4 Aproximação obtida na terceira iteração do renamento uniforme. . . . . . . . . . . . 38

4.5 Aproximação obtida na terceira iteração do renamento adaptativo. . . . . . . . . . 39

4.6 Comparação dos resíduos obtidos na terceira iteração de renamento. . . . . . . . . . 39

C.1 Aproximação obtida com elementos lineares - Fig (3.2a) . . . . . . . . . . . . . . . . 57

C.2 Residuo obtido na aproximação - Fig (3.2b) . . . . . . . . . . . . . . . . . . . . . . . 58

C.3 Aproximação obtida na primeira iteração do renamento uniforme - Fig (3.3a) . . . . 58

xi

Page 12: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

xii LISTA DE FIGURAS

C.4 Residuo obtido na aproximação da malha gerada pela primeira iteração do rena-

mento uniforme - Fig (3.3b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

C.5 Aproximação obtida na primeira iteração do renamento adaptativo - Fig (3.4a) . . . 59

C.6 Residuo obtido na aproximação da malha gerada pela primeira iteração do rena-

mento adaptativo - Fig (3.4b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

C.7 Aproximação obtida na quarta iteração do renamento uniforme - Fig (3.5a) . . . . . 60

C.8 Residuo obtido na aproximação da malha gerada pela quarta iteração do renamento

uniforme - Fig (3.5b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

C.9 Aproximação obtida na quarta iteração do renamento adaptativo - Fig (3.6a) . . . . 61

C.10 Residuo obtido na aproximação da malha gerada pela quarta iteração do renamento

adaptativo - Fig (3.6b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

C.11 Estimador residual obtido na primeira iteração do renamento adaptativo - Fig (3.7a) 62

C.12 Estimador residual obtido na segunda iteração do renamento adaptativo - Fig (3.7b) 63

C.13 Estimador residual obtido na terceira iteração do renamento adaptativo - Fig (3.7c) 63

C.14 Estimador residual obtido na quarta iteração do renamento adaptativo - Fig (3.7d) 64

C.15 Aproximação inicial para o problema 3.16 - Fig (3.9a) . . . . . . . . . . . . . . . . . 65

C.16 Estimador residual obtido para a aproximação inicial - Fig (3.9b) . . . . . . . . . . . 65

C.17 Aproximação obtida na primeira iteração do renamento uniforme - Fig (3.10a) . . . 66

C.18 Estimador residual obtido na primeira iteração do renamento uniforme - Fig (3.10b) 66

C.19 Aproximação obtida na primeira iteração do renamento adaptativo - Fig (3.11a) . . 67

C.20 Estimador residual obtido na primeira iteração do renamento adaptativo - Fig (3.11b) 67

C.21 Aproximação obtida na quarta iteração do renamento uniforme - Fig (3.12a) . . . . 68

C.22 Estimador residual obtido na quarta iteração do renamento adaptativo - Fig (3.12b) 68

C.23 Aproximação inicial para o problema da placa com furo - Fig (4.2a) . . . . . . . . . . 69

C.24 Estimador residual obtido na aproximação inicial - Fig (4.2b) . . . . . . . . . . . . . 70

C.25 Deslocamento obtido na terceira iteração de renamento uniforme - Fig (4.4a) . . . . 71

C.26 Estimador residual obtido na terceira iteração de renamento uniforme - Fig (4.6a) . 72

C.27 Estimador residual obtido na terceira iteração de renamento adaptativo - Fig (4.6b) 73

Page 13: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

Lista de Tabelas

3.1 Comparação entre o renamento uniforme e o renamento adaptativo. . . . . . . . . 26

3.2 Comparação entre o renamento uniforme e o renamento adaptativo na quarta

iteração de renamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.3 Comparação entre o número de nós de cada um dos renamentos para obter um erro

L2 de mesma ordem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.4 Comparação entre o renamento uniforme e o renamento adaptativo na primeira

iteração de renamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.5 Erro obtido avaliado pelo estimador residual . . . . . . . . . . . . . . . . . . . . . . . 31

3.6 Comparação do número de vértices nas malhas construidas com ambos os renamentos. 31

4.1 Erro obtido avaliado pelo estimador residual . . . . . . . . . . . . . . . . . . . . . . . 38

4.2 Comparação do número de vértices nas malhas construidas com ambos os renamentos. 39

xiii

Page 14: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

xiv LISTA DE TABELAS

Page 15: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

Capítulo 1

Introdução

Na simulação numérica de problemas físicos, como dinâmica dos uídos ou elasticidade, é comumobservarmos que a qualidade das aproximações numéricas diminui de forma considerável em regiõescontendo singularidades locais ou cuja solução varia de maneira brusca. Para aumentar a qualidadeda aproximação nestas regiões é necessário inserir um maior número de pontos na malha de estudoao redor destas regiões, com o objetivo de reduzir o erro cometido pela aproximação. A principalquestão é saber quais trechos do domínio possuem um erro maior, dado que a solução exata édesconhecida.

Inspirado nesta questão, nosso objetivo será construir um estimador de erro utilizando somentea aproximação obtida pelo Método dos Elementos Finitos (MEF) e as informações do contorno.De posse deste estimador, vamos utilizar um algoritmo para particionar o domínio do problema deacordo com os valores fornecidos pelo estimador, ou seja, quanto maior a estimativa do erro cometidonuma certa região, maior a quantidade de pontos a serem distribuidos (e consequentemente, maioro número de elementos) nesta região.

Utilizando um estimador de erro a posteriori e um algoritmo de renamento de malha, a dis-cretização por meio do renamento adaptativo possui a seguinte estrutura:

- Dada uma discretização inicial e uma tolerância ε:

I) Obtenha a aproximação pelo MEF;

II) Estime o erro cometido na aproximação;

III) Em cada um dos elementos:

a) Se o erro for maior que a tolerância ε, rene o elemento;

b) Se o erro estimado em todos os elementos for menor que a tolerância ε, encerre.

IV) Se algum elemento foi renado volte para o item [I].

Na literatura do MEF encontramos diversas estratégias para avaliação a posteriori do errocometido. A obra [AO00] é uma referência clássica no assunto e apresenta diversas técnicas quepodem ser utilizadas na estimação do erro. Porém, é importante frisar que a escolha da estimativado erro deve ser feita de maneira criteriosa, pois é fundamental que o renamento seja realizadosomente nas regiões cujo erro cometido é maior, evitando assim um aumento desnecessário nonúmero de incógnitas do problema. Por outro lado, como o resultado obtido consiste em um dospassos de um algoritmo maior, é importante que a estimativa utilizada seja qualitativamente precisae de fácil obtenção.

Neste trabalho iremos analisar a construção da estimativa residual para o erro, pois trata-se deuma ferramenta bastante simples porém capaz de fornecer uma estimativa robusta e direta para aestimação do erro cometido. Serão apresentados os resultados de simulações envolvendo a equaçãode Poisson e problemas de elasticidade linear, onde iremos avaliar o comportamento do estimadorresidual e comparar as aproximações obtidas utilizando o renamento uniforme e o renamentoadaptativo das discretizações utilizadas.

1

Page 16: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

2 INTRODUÇÃO 1.2

Neste trabalho buscamos condensar as principais ideias das obras [Ver13], [Ver99], [BS08] e[Bra07]. A obra [Wat06], apesar de ser voltada para escoamentos compressíveis em dinâmica dosuídos, apresenta de forma bastante direta a construção do estimador residual para alguns prob-lemas modelos, dentre eles a Equação de Poisson. As simulações computacionais foram realizadasutilizando o software FreeFem++, que tem como objetivo a construção de aproximações numéricaspara a solução de equações diferenciais através do MEF. A referência [Hec14] apresenta diversosmodelos de códigos, alguns deles aos quais utilizamos como base para a construção das simulaçõesapresentadas aqui.

1.1 Objetivos

O presente trabalho possui como objetivos principais

• Construir um estimador de erro a posteriori, baseado no resíduo entre a aproximação peloMétodo dos Elementos Finitos e o problema contínuo;

• Discutir a relação do estimador obtido com o erro cometido na aproximação;

• Apresentar uma possível estratégia para o uso de malhas adaptativas para a redução do errocometido na aproximação utilizando o estimador residual como função indicadora para orenamento da malha de elementos utilizada;

• Análise e comparação dos resultados obtidos na aplicação dos renamentos uniforme e adap-tativo em problemas elípticos como a Equação de Poisson e o modelo de Elasticidade Linear

1.2 Organização do Trabalho

No Capítulo (2) apresentamos alguns dos conceitos associados ao MEF e, em particular, ire-mos considerar o método de Ritz-Galerkin. Serão abordadas também as ideias principais de duasestratégias para renamento das malhas: o renamento uniforme e o renamento orientado.

O Capítulo (3) apresenta a formulação do método para o Problema de Poisson, a construção doestimador residual para este problema e a implementação do estimador e do esquema adaptativoaplicado à um problema cuja solução exata é conhecida e um problema contendo uma singularidadeno contorno.

No capítulo (4) generalizamos a teoria aplicada para a solução numérica de problemas envolvendoelasticidade linear e aplicamos o esquema adaptativo utilizando a estimativa residual no problemada placa com furo.

Por m, o Capítulo (5) encerra o trabalho apresentando um resumo das conclusões obtidas. NoApêndice (A) apresentamos um pequeno tutorial para o software FreeFem++, utilizado nas simu-lações apresentadas no texto e no Apêndice (B) encontram-se os códigos utilizados nas simulações.Para facilitar a interpretação dos resultados grácos optamos por utilizar as guras do texto emescala reduzida e fornecer no Apêndice (C) as guras em sua escala original.

Page 17: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

Capítulo 2

Conceitos e resultados preliminares

Neste capítulo serão apresentados alguns resultados teóricos associados à formulação variacional(formulação fraca) das EDP's elípticas e a construção do método de Ritz-Galerkin para a obtençãodas aproximações pelo Método dos Elementos Finitos. Numa abordagem mais abstrata, a solução daformulação variacional é vista como a minimização de um dado funcional em um determinado espaçode funções. Desta forma, utilizando técnicas de análise funcional, é possível concluir a existência ea unicidade de soluções em problemas de valor de contorno para equações diferenciais.

Iniciaremos o capítulo apresentando alguns resultados de análise funcional que irão garantira existência e a unicidade de soluções para os problemas em estudo. Em seguida apresentamos ométodo de Ritz-Galerkin e discutiremos algumas condições e propriedades das malhas utilizadas edas aproximações obtidas, além de demonstrar o resultado que garante a convergência do método.Por m, apresentamos duas possíveis estratégias para o renamento da malha em estudo.

As referências [AH08], [Bra07] e [BS08] apresentam em detalhes os tópicos descritos.

2.1 Ferramentas de análise funcional

Nesta seção apresentaremos uma série de denições e resultados que serão utilizados com fre-quência durante o texto.

Denição 2.1.1. Dado 1 ≤ p < ∞, uma função f : Ω ⊂ Rn 7→ R é dita localmente p-integrável,f ∈ Lploc(Ω) se, para cada x ∈ Ω existe uma vizinhança aberta Ω′ de x tal que Ω′ ⊂ Ω e f ∈ Lp(Ω′).

Denição 2.1.2 (Notação multi-índice). Dados m ∈ N e f ∈ Cm(Ω), denotamos a derivada parcialde ordem α como

Dαf =∂|α|f

∂xα11 ∂xα2

2 · · · ∂xαnn

(2.1)

onde α ∈ Nn : |α| =∑n

i=1 αi ≤ m

Denição 2.1.3. Dada v : Ω ⊂ Rn 7→ R, dizemos que v ∈ C∞0 (Ω) quando v se anula na fronteirade Ω e é uma função de classe C∞ no interior de Ω.

Como exemplo, considere Ω = x ∈ Rn : |x| ≤ 1 e a função v : Ω→ R dada por

v(x) =

exp

(1

|x|2−1

)se |x| < 1

0 se |x| ≥ 1

Pode-se mostrar que esta função é de classe C∞(Ω) em todo o espaço1 e, pela denição da função,

temos que v∣∣∣∂Ω

= 0. Logo v ∈ C∞0 (Ω).

1Veja em [BS08], exemplo 1.2.2 - pág 27

3

Page 18: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

4 CONCEITOS E RESULTADOS PRELIMINARES 2.1

Para motivarmos a denição a seguir, considere a função real f(x) = |x| denida no intervalo[−1, 1]. Apesar da função f não ser diferenciável no ponto x = 0 gostaríamos de construir umoperador semelhante a derivação, no sentido que se a função for de classe C1 a aplicação do operadorobtido seja equivalente ao cálculo da derivada da função. Considerando uma função v ∈ C∞0 ([−1, 1])arbitrária, podemos multiplicar f por v′ e integrar sobre o domínio de denição, de modo que∫ 1

−1f(x)v′(x)dx = f(x)v(x)

∣∣∣1−1︸ ︷︷ ︸

=0

−∫ 1

−1f ′(x)v(x)dx = −

∫ 1

−1f ′(x)v(x)dx

Apesar da função f não ser derivável em todo ponto do intervalo, sua derivada está bem denidapara todo ponto diferente da origem. Considerando a função

g(x) =

−1 se x < 01 se x ≥ 0

temos que ∫Ωf(x)v′(x)dx = −

∫Ωg(x)v(x)dx

e g é dita uma derivada fraca da função f . Uma vez que a fórmula de Green funciona de formaanáloga à integração por partes, a denição a seguir pode ser vista como uma generalização desteresultado para funções em Rn.

Denição 2.1.4 (Derivadas fracas). Sejam Ω um conjunto aberto em Rn, não vazio, f, g ∈L1loc(Ω).Se ∫

Ωf(x)Dαv(x)dx = (−1)|α|

∫Ωg(x)v(x)dx ∀v ∈ C∞0 (2.2)

então g é chamada de derivada fraca de ordem α da função f .

A denição da derivada fraca de uma função pode ser vista como uma generalização da integralpor partes para equações de R em R: dado um intervalo real [a, b] e v ∈ C∞0 ([a, b]), se existe umafunção g tal que g = f ′ em quase todo ponto do intervalo [a, b] (ou seja, g(x) 6= f ′(x) somente emum conjunto enumerável de pontos) temos que∫

Ωf(x)v′(x)dx = f(x)v(x)

∣∣∣ba︸ ︷︷ ︸

=0

−∫

Ωf ′(x)v(x)dx = −

∫Ωg(x)v(x)dx

Logo, dizemos que g é uma derivada fraca da função f .Um questionamento natural neste ponto é sobre a unicidade da derivada fraca de uma função.

Para demonstrarmos este resultado, considere o seguinte Lema:

Lema 2.1.5. Sejam Ω um aberto não vazio de Rn e u ∈ L1loc(Ω). Se∫

Ωuv = 0, ∀v ∈ C∞0 (Ω) (2.3)

então u = 0 em Ω, a menos de um conjunto de medida nula.

De posse deste resultado, vamos a seguinte proposição

Proposição 2.1.6 (Unicidade da derivada fraca). Sejam Ω um conjunto aberto não vazio em Rne f ∈ L1

loc(Ω). Se f possui derivada fraca então a derivada fraca é única, a menos de um conjunto

de medida nula.

Demonstração. Por absurdo, suponha que f admita duas derivadas fracas de uma certa ordem α,

Page 19: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

2.1 FERRAMENTAS DE ANÁLISE FUNCIONAL 5

digamos g1 e g2. Pela denição das derivadas fracas∫Ωf(x)Dαv(x)dx = (−1)|α|

∫Ωg1(x)v(x)dx∫

Ωf(x)Dαv(x)dx = (−1)|α|

∫Ωg2(x)v(x)dx

Subtraindo as equações, temos que∫Ω

(g1(x)− g2(x)) v(x)dx = 0

onde, pelo Lema (2.1.5), temos que g1 = g2 a menos de um conjunto de medida nula.

Apresentaremos a seguir um espaço de funções muito importante que será utilizado com fre-quência na construção das aproximações pelo Método dos Elementos Finitos:

Denição 2.1.7 (Espaços Hk). Dados Ω ⊂ Rn e k ∈ N, denimos

Hk(Ω) =

f ∈ L2(Ω) : ∀α : |α| ≤ k, ||Dαf ||L2 =

(∫Ω

(Dαf)2

) 12

<∞

(2.4)

ou seja, o espaço das funções L2(Ω) tal que todas as derivadas fracas até a ordem k estão em L2(Ω).Considerando o produto interno em Hk dado por

< u, v >=∑|α|<k

< Dαu ·Dαv >L2=∑|α|<k

∫ΩDαu ·Dαv (2.5)

podemos denir a norma neste espaço como

||u||Hk(Ω) =√< u, u > =

∑|α|<k

||Dαu||2L2(Ω)

12

(2.6)

Quando não houver risco de ambiguidade em relação ao domínio Ω, vamos considerar ||u||Hk(Ω) =||u||k.

Proposição 2.1.8. Nas condições da denição anterior, temos que o espaço Hk(Ω) é um espaço

de Hilbert.

Teorema 2.1.9 (Desigualdade de Poincaré). Seja Ω ⊂ Rn um conjunto aberto e limitado, com

fronteira seccionalmente diferenciavel e u ∈ H10 (Ω). Então, vale a desigualdade

||u||L2(Ω) ≤ C||∇u||L2(Ω) (2.7)

onde a constante C depende apenas do domínio Ω.

Teorema 2.1.10. Seja Ω ⊂ Rn um aberto com fronteira seccionalmente diferenciavel e k ∈ N.Então C∞(Ω) ∩Hk(Ω) é denso em Hk(Ω).

A demonstração destes resultados utiliza algumas denições que não serão apresentadas aqui,mas podem ser encontradas em [AH08], [Bra07], [BS08], [Eva98] ou diversas outras referências sobreespaços de Sobolev.

Page 20: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

6 CONCEITOS E RESULTADOS PRELIMINARES 2.2

Denição 2.1.11 (Forma bilinear). Dado V um espaço vetorial, dizemos que um operador a éuma forma bilinear se, xado u ∈ V , temos que v 7→ a(u, v) e v 7→ a(v, u) são operadores linearesem V . Além disso, se a(u, v) = a(v, u), a forma bilinear é dita simétrica.

Denição 2.1.12 (Continuidade e coercividade). Uma forma bilinear a(·, ·) num espaço normadoV é dita limitada ou continua se ∃ C <∞ tal que

|a(u, v)| ≤ C||u||.||v|| ∀u, v ∈ V (2.8)

e é dita coerciva em W ⊂ V se ∃ α > 0 tal que

a(w,w) ≥ α||w||2 ∀w ∈W (2.9)

onde || · || representa a norma de V.

Proposição 2.1.13. Seja H um espaço de Hilbert, W um subespaço fechado de H e a(·, ·) uma

forma bilinear simétrica contínua em H e coerciva em W . Então, (W,a(·, ·)) é um espaço de Hilbert.

Demonstração. Da coercividade da forma bilinear a temos que se w ∈ W e a(w,w) = 0, entãow = 0. Logo, a(·, ·) dene um produto interno em W . Seja ||w||E =

√a(w,w) e considere wn uma

sequência de Cauchy em (W, ||·||E). Pela coercividade wn é uma sequência de Cauchy em (H, ||·||H).Como H é completo, ∃w ∈ H : wn → w. Sendo W fechado em H, temos que w ∈W . Mas

||w − wn||E ≤√C||w − wn||H

pois a(·, ·) é continua. Logo, wn → w na norma || · ||E e, portanto (W, || · ||E) é completo.

Teorema 2.1.14. Suponha que sejam válidas as seguintes condições

1. (H, (·, ·)) é um espaço de Hilbert

2. V é um subespaço fechado de H

3. a(·, ·) é uma forma bilinear simétrica, contínua em H e coerciva em V .

Então, dado um funcional linear f ∈ V ′, existe uma única u ∈ V tal que:

a(u, v) =< f, v >, ∀v ∈ V (2.10)

Demonstração. Como a(·, ·) é um produto interno em V e (V, a(·, ·)) é um espaço de Hilbert, oresultado segue da aplicação do Teorema da Representação de Riesz2.

No caso em que a forma bilinear a não é simétrica, temos o seguinte resultado:

Teorema 2.1.15 (Lax-Milgram). Dados um espaço de Hilbert (V, (·, ·)), uma forma bilinear con-

tínua e coerciva a(·, ·) e f ∈ V ′, existe um único u ∈ V satisfazendo a relação (2.10).

A demonstração deste resultado é feita reescrevendo-se o problema como um problema de pontoxo e aplicando-se o teorema do ponto xo de Banach. Para o leitor interessado, a demonstraçãoencontra-se completa em [BS08].

2O teorema da representação de Riesz arma que, dado um espaço de Hilbert V e um funcional f : V 7→ R, existeum único u ∈ V tal que para todo v ∈ V temos que f(v) =< u, v >, onde < ·, · > é o produto interno em V. Ademonstração deste resultado pode ser obtida em [AH08] ou outras referências de análise funcional.

Page 21: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

2.3 FORMULAÇÃO EQUIVALENTE 7

2.2 Formulação Equivalente

O problema anterior pode ser analisado numa formulação equivalente, através do estudo doponto de mínimo do funcional associado ao problema, como mostra o teorema a seguir:

Teorema 2.2.1 (Formulação Equivalente). Seja V um espaço vetorial normado, a : V × V → Ruma forma bilinear simétrica positiva (isto é, a(v, v) > 0, ∀v ∈ V, v 6= 0), limitada e coerciva.

Considere ainda f ∈ V ′. Então, o funcional dado por

J(v) =1

2a(v, v)− < f, v > (2.11)

atinge seu mínimo em u ∈ V se, e somente se

a(u, v) =< f, v >, ∀v ∈ V (2.12)

Demonstração. Para todo u, v ∈ V e t ∈ R temos que

J(u+ tv) = 12a(u+ tv, u+ tv)− < f, u+ tv >

= J(u) + t [a(u, v)− < f, v >] + t2

2 a(v, v)(2.13)

Se u ∈ V satisfaz (2.12), então para t = 1 temos que

J(u+ tv) = J(u) +1

2a(v, v)︸ ︷︷ ︸>0

> J(u), ∀v ∈ V : v 6= 0(2.14)

concluindo assim que u é ponto de mínimo. Por outro lado, se J admite valor mínimo em u, paracada v ∈ V , a derivada do operador t 7→ J(u + tv) deve ser nula em t = 0. Por (2.13), a derivadadeste operador ser nula equivale a condição (2.12), concluindo assim o resultado desejado.

2.3 Problemas de valor de contorno

Dado um domínio Ω, para que uma EDP elíptica possua solução única é necessária a prescriçãode informações sobre a solução no contorno do domínio. A denição a seguir apresenta duas possíveiscondições3 e apresenta a notação que será utilizada em cada um destes trechos.

Denição 2.3.1 (Condições de Fronteira). Sejam Ω ⊂ Rn um aberto e Γ a sua fronteira. Deno-taremos o trecho da fronteira onde é conhecida a solução do problema de valor de contorno por ΓDe o trecho da fronteira onde é conhecida a derivada normal da solução por por ΓN .

A nomenclatura destes conjuntos está diretamente ligada com a descrição utilizada nos proble-mas de valor de contorno: o conjunto ΓD remete as condições de Dirichlet enquanto o conjunto ΓNrefere-se as condições de Neumann associada ao problema.

Para os trechos onde são conhecidas as condições de Neumann do problema será necessário ouso de uma função capaz de restingir a solução na fronteira de maneira limitada. O resultado aseguir garante a existência de um operador com esta propriedade.

Teorema 2.3.2 (Teorema do traço). Seja Ω um conjunto poligonal limitado. Então, existe um

operador linear limitado

γ : H1(Ω)→ L2(Γ) : ||γ(u)||L2(Γ) ≤ ||u||1

tal que γ(u) = u∣∣∣∂Ω

para toda u ∈ C1(Ω)

3Neste trabalho não iremos trabalhar com as chamadas condições de Robin, que consistem em um trecho dafronteira onde é conhecida uma combinação da solução e da derivada normal.

Page 22: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

8 CONCEITOS E RESULTADOS PRELIMINARES 2.4

Este resultado garante dada uma função u ∈ H1, sua restrição a fronteira será pelo menosuma função contida em L2(Γ). A demonstração deste resultado é bastante técnica e encontra-se em[Bra07].

Encerramos esta seção denindo os espaços de funções sobre os quais serão construídos os espaçosde dimensão nita para a construção das aproximações:

Denição 2.3.3. Nas condições das denições (2.1.7) e (2.3.1), denotaremos por H10 (Ω) e H1

D(Ω)as funções emH1(Ω) que se anulam em Γ e em ΓD, respectivamente. Denotamos também o conjuntoH

12 (Γ) composto pelas funções ψ em L2(Γ) tais que ψ = φ|Γ para alguma φ ∈ H1(Ω).

2.4 Método de Ritz-Galerkin

A idéia do método de Ritz-Galerkin é substituir o espaço H1D(Ω) por um espaço de dimensão

nita Vh ⊂ H1D(Ω) associado a um determinado conjunto de pontos do domínio, de forma a obter

uma aproximação uh ∈ Vh tal que:

a(uh, vh) =< f, vh >, ∀v ∈ Vh (2.15)

onde o subscrito h remete ao espaçamento que da malha que será relacionada com o espaço dedimensão nita.

Uma importante propriedade do Método de Ritz-Galerkin é o resultado a seguir:

Lema 2.4.1 (Ortogonalidade de Galerkin). Sejam u ∈ H1D(Ω) e uh ∈ Vh as soluções de (2.10) e

(2.15), respectivamente. Então:

a(u− uh, vh) = 0 (2.16)

para toda função vh ∈ Vh.

Demonstração. Como Vh ⊂ H1D(Ω) podemos escolher v = vh em (2.10) e subtrair (2.15), de forma

quea(u, vh)− a(uh, vh) =< f, vh > − < f, vh >= 0

⇒ a(u− uh, vh) = 0

Este resultado indica que o erro cometido na aproximação pelo método de Galerkin é ortogonalao subespaço Vh em relação ao produto interno induzido pelo operador a. Ou seja, a solução obtidapela método de Galerkin é exatamente a projeção ortogonal da solução exata no subespaço Vh.

O espaço de dimensão nita Vh ⊂ H1D(Ω) é obtido através do particionamento do domínio em

um número nito de elementos que apresentam as mesmas propriedades do domínio completo. Peladenição de Ciarlet [Cia78]:

Denição 2.4.2 (Elemento Finito). Seja

i) K ⊂ Rn um conjunto fechado e limitado, com interior não vazio e fronteira suave por partes(chamado elemento).

ii) P um espaço de dimensão nita de funções denidas sobre K (espaço das funções de forma

ou shape-functions).

iii) NK uma base para P (chamado conjunto das variaveis nodais).

Então (K,P,NK) é chamado um elemento nito.

Em geral, utiliza-se triangulos e quadriláteros para problemas em R2 e tetrahedros e para-lelepípedos para problemas em R3. Já as funções de forma podem ser denidas por polinômios oufunções trigonométricas e relacionam-se com o conjunto de variáveis nodais pela propriedade de quecada função de forma é não nula em apenas um dos nós.

Page 23: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

2.4 MÉTODO DE RITZ-GALERKIN 9

2.4.1 Partições do domínio

Considerando Ω ⊂ R2 um conjunto poligonal e uma discretização de Ω composta por triângulos,vamos a seguinte denição:

Denição 2.4.3 (Partição admissível). Uma partição (ou discretização) T do domínio Ω é ditaadmissível se

i)⋃K∈T

K = Ω ∪ Γ.

ii) Se K,K ′ ∈ T : K ∩K ′ = x, x ∈ Ω, então x é um vértice de K e de K ′

iii) Dados dois elementos K1 e K2 se a intersecção entre eles for maior que um ponto, entãoK1 ∩K2 é uma aresta (ou uma face) em comum entre K1 e K2

As condições acima garantem que todos os pontos da malha sejam nós dos elementos, de formaque nenhuma aresta possui um nó que não esteja em seus extremos. A Figura (2.1) contém exemplosde malhas admissíveis e malhas não-admissíveis.

(a) (b)

Figura 2.1: Exemplos de malhas de um domínio Ω. A gura a) mostra uma malha admissível enquantoque a gura b) mostra uma malha não admissível, pois possui um elemento cujos vértices estão situados nospontos médios das arestas de outros elementos.

Denição 2.4.4. Para cada partição admissível T , denimos os seguintes conjuntos

• NT : Conjunto dos vértices de todos os elementos da partição.

• Eτ : Conjunto das arestas (ou faces) de todos os elementos da partição.

• NT ,ΓD : Vértices contidos no contorno ΓD.

• NT ,ΓN : Vértices contidos no contorno ΓN .

• NT ,Ω: Vértices contidos no interior do domínio.

• Eτ,ΓD : Arestas (ou faces) contidas no contorno ΓD.

• Eτ,ΓN : Arestas (ou faces) contidas no contorno ΓN .

• Eτ,Ω: Arestas (ou faces) contidas no interior do domínio.

Page 24: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

10 CONCEITOS E RESULTADOS PRELIMINARES 2.4

Denição 2.4.5. Dada uma partição T , sejam K, E e x um elemento, uma aresta e um ponto dapartição, respectivamente. Denimos então os conjuntos

• ωK =⋃

EK∩EK′ 6=∅K ′: Conjunto dos elementos que são vizinhos de K.

• ωK =⋃

NK∩NK′ 6=∅K ′: Conjunto dos elementos que possuem pontos em comum com o elemento

K.

• ωE =⋃

E∈EK′

K ′: Conjunto dos elementos que possuem a aresta E

• ωE =⋃

NE∩NK′ 6=∅K ′: Conjunto dos elementos que são vizinhos aos elementos que possuem a

aresta E.

• ωx =⋃

x∈NK′

K ′: Conjunto dos elementos que possuem o ponto x como vértice.

K

(a)

ωK

K

(b)

ωK

K

(c)

E

(d)

ωE

E

(e)

ωE

E

(f)

Figura 2.2: Exemplos dos conjuntos apresentados na denição (2.4.5).

Considerando uma partição admissível do domínio, gostaríamos de denir uma medida para amalha utilizada através de algum parâmetro relacionado a discretização.

Denição 2.4.6 (Partição shape-regular). Considere T uma partição do domínio, K um elementoda partição, hK o diâmetro do elemento e ρK o diâmetro da maior bola contida em K. Dado δ ∈ R,dizemos que uma partição é de forma regular (shape-regular) se

CK =hKρK

< δ

para todo K ∈ T . Denimos o parâmetro de renamento da partição T como

CT = maxK∈T

hKρK

Page 25: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

2.4 MÉTODO DE RITZ-GALERKIN 11

2.4.2 Funções de forma e funções teste

Denição 2.4.7 (Conjunto Pk). Dado k ∈ N, denimos Pk como o conjunto dos polínômios degrau menor ou igual a k.

Denição 2.4.8 (Conjunto Sk,0D (T )). Seja T uma partição por elementos do domínio. Associamosà essa partição o espaço Sk(T ), composto pelas funções polinomiais de ordem menor ou igual a kno interior de cada um dos elementos da partição e contínua no bordo dos elementos, isto é

ψ ∈ Sk(T )⇒ ψ|K ∈ Pk, para todo K ∈ T e ψ ∈ C(K)

Para obtermos as aproximações do método de Ritz-Galerkin, consideramos o espaço

Sk,0D (T ) = Sk(T ) ∩H1D(Ω) =

ψ ∈ Sk(T ) : ψ = 0 em ΓD

(2.17)

Desta forma, substituindo Vh por S1,0D (T ) em (2.15) obtemos como aproximação a projeção da

solução u ∈ H1D(Ω) sobre o espaço de dimensão nita dado pela partição T do domínio Ω.

Para cada um dos elementos K ∈ T , a restrição da solução sobre K será feita utilizando achamada Base de Lagrange em cada um dos pontos que compõem o elemento. Dado x ∈ NT , afunção de forma nodal associada a este ponto consiste em um determinado polinômio λx, denidosobre os elementos K : x ∈ NK e tal que λx = 1 no vértice x e λx = 0 nos outros vértices. Destaforma, dada uma função f ∈ C(Ω), a interpolação de f sobre os vértices de K pode ser escrita comouma combinação linear das funções de forma:

JT f =

N−1∑i=0

f(ni)λni(x)

onde N é a quantidade de vértices do elemento K. Na literatura de elementos nitos, a aproximaçãoobtida sobre o domínio Ω é chamada de função teste.

n0 n1

n2

(a)

n0 n1

n2n3

(b)

n0

n1

n2

n3

(c)

Figura 2.3: As guras (a) e (b) mostram elementos lineares em R2 e a gura (c) apresenta o elementolinear em R3.

Vamos apresentar a construção das funções de forma para alguns elementos:

a) Considere um triângulo K com vértices n0, n1 e n2 numerados no sentido anti-horário, comodescrito na Figura (2.3a). Para cada um dos vértices ni, i = 0, 1, 2 a função de forma associadaao vértice é dada por

λni(x) =det(x− ni+1, ni+2 − ni+1)

det(ni − ni+1, ni+2 − ni+1), i = 0, 1, 2

onde os índices utilizados em λni são considerados em módulo 3.

b) Utilizando um paralelogramo K com vértices n0, n1, n2 e n3 numerados no sentido anti-horário,como descrito na Figura (2.3b), a função de forma associada a cada um dos vértices é dada

Page 26: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

12 CONCEITOS E RESULTADOS PRELIMINARES 2.4

por

λni(x) =det(x− ni+2, ni+3 − ni+2)

det(ni − ni+2, ni+3 − ni+2)· det(x− ni+2, ni+1 − ni+2)

det(ni − ni+2, ni+1 − ni+2), i = 0, 1, 2, 3

onde os índices utilizados em λni são considerados em módulo 4.

c) No caso do tetrahedro K com vértices n0, n1, n2 e n3 enumerados como na Figura (2.3c) afunção de forma associada a cada um dos vértices é dada por

λni(x) =det(x− ni+1, ni+2 − ni+1, ni+3 − ni+ 1)

det(ni − ni+1, ni+2 − ni+1, ni+3 − ni+1), i = 0, 1, 2, 3

onde os índices utilizados em λni são de módulo 4.

2.4.3 Operador de quasi-interpolação

Dado que o operador padrão de interpolação JT apresentado na seção anterior só faz sentidoquando aplicado em funções contínuas e o espaço H1 admite funções descontínuas, será necessárioa utilização de um operador de interpolação mais fraco para a construção do estimador, conhecidocomo operador de quasi-interpolação ou operador de Clèment.

Denição 2.4.9 (Operador de Clèment). Considere o operador IT : L1(Ω)→ S1,0D (T ) denido por

IT v =∑

x∈NT ,Ω∪NT ,ΓN

λx1

|ωx|

∫ωx

v (2.18)

onde |ωx| representa a área (em R2) ou o volume (em R3) do conjunto ωx.

Apesar deste operador não interpolar de fato a função v ∈ L1(Ω) nos pontos x ∈ NT , suaprincipal característica é que o erro cometido na interpolação depende somente da malha utilizadana região onde o operador foi aplicado, como mostra o resultado a seguir:

Proposição 2.4.10. Dada T uma partição admissível do domínio, o operador de Clément satisfaz

as estimativas||v − IT v||L2(K) ≤ αhK ||v||H1(ωK)

||v − IT v||L2(∂K) ≤ β√hE ||v||H1(ωE)

(2.19)

para toda v ∈ H1D e para todos os elementos K ∈ T , onde hK representa o diâmetro do elemento

K, hE representa o diâmetro da aresta (ou face) E e as constantes α e β dependem apenas do

parâmetro de renamento de malha CT .

Apesar de ser bastante simples, a demonstração deste resultado envolve alguns resultados quenão serão apresentados aqui, como o Lema de Bramble-Hilbert. A demonstração deste resultadoencontra-se em [Bra07], pág 84.

2.4.4 Função de salto (jump)

Na avaliação da estimativa residual sobre cada um dos elementos do domínio será necessárioavaliar a diferença que ocorre entre os gradientes de dois elementos adjacentes. Para isto, vamos aseguinte denição:

Denição 2.4.11 (Função de Salto). Dados dois elementos adjacentes K e K ′ conectados pelaaresta E ∈ Eτ,Ω, consideramos o salto ocorrido em E como:

JE(~nE · ∇uτ )(x) = limε→0

[∇uτ

∣∣∣K

(x+ ε~nE)−∇uτ∣∣∣K′

(x− ε~nE)]

(2.20)

Page 27: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

2.4 MÉTODO DE RITZ-GALERKIN 13

onde ε ∈ R, x ∈ E e ~nE é o vetor normal exterior a aresta E. Como todos os elementos possuem osvértices enumerados no sentido anti-horário, a normal exterior ao elemento K ′ na aresta E equivalea normal exterior ao elemento K na aresta E com o sinal negativo.

No caso onde forem utilizados elementos triangulares e as funções de forma forem polinômiosde primeiro grau, o gradiente em cada um dos elementos adjacentes será constante sobre cada umdos elementos. Neste caso, a função de salto é simplicada como

JE(~nE · ∇uτ )(x) =1

2

(∇uKτ −∇uK

′τ

)· ~nE (2.21)

onde ∇uKτ e ∇uK′τ são os gradientes nos elementos K e K ′ que possuem a aresta E em comum.

2.4.5 Estimativas na aproximação

Sendo u a solução do problema variacional e uh a solução do problema aproximado, o resultadoa seguir4 fornece uma estimativa do erro cometido nesta aproximação.

Teorema 2.4.12 (Teorema de Céa). Seja u solução de (2.10) e suponha que sejam válidas as

condições do teorema (2.1.15). Temos então que a solução uh do problema discreto satisfaz a seguinte

relação:

||u− uh||V ≤C

αminv∈Vh||u− v||V (2.22)

onde C é a constante de continuidade e α a constante de coercividade do operador bilinear em V.

Demonstração. Utilizando a relação (2.16), a coercividade e a continuidade do operador a(·, ·),temos que para todo v ∈ Vh

α||u− uh||2V ≤ a(u− uh, v − uh) (Coercividade)

= a(u− uh, u− v) + a(u− uh, v − uh)︸ ︷︷ ︸=0

(pois v − uh ∈ Vh)

= a(u− uh, u− v)

≤ C||u− uh||V ||u− v||V (Continuidade)

Logo, temos que

||u− uh||V ≤C

α||u− v||V

e, pela arbitrariedade de v em Vh concluimos a demonstração.

No caso em que o operador a(·, ·) é simétrico temos que o erro cometido na aproximação pelométodo de Galerkin é ortogonal ao subespaço Vh em relação ao produto interno induzido pelooperador a. Ou seja, a solução obtida pela método de Galerkin é a projeção ortogonal da soluçãoexata no subespaço Vh. Neste caso, a desigualdade de Céa (2.22) pode ser substituida por

||u− uh||E = infv∈Vh||u− v||E

e a aproximação uh é a aproximação ótima de u no subespaço Vh, com a norma ||u||E =√a(u, u).

Utilizando a desigualdade de Céa, temos o seguinte resultado de convergência:

Corolário 2.4.13 (Convergência do Método de Galerkin). Suponha que sejam válidas as condições

do teorema (2.4.12). Considere então Vh1 ⊂ Vh2 ⊂ Vh3 ⊂ · · · uma sequência de subespaços de Vcom a propriedade: ⋃

i≥1

Vhi = V (2.23)

4Apesar de algumas referências apresentarem esse resultado como Lema de Céa preferimos apresentá-lo como umteorema pela sua importância no contexto deste trabalho.

Page 28: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

14 CONCEITOS E RESULTADOS PRELIMINARES 2.5

Então o Método de Galerkin converge

||u− uhi ||V → 0, i→∞ (2.24)

Demonstração. Pelo argumento de densidade (2.23), podemos encontrar uma sequência vi ∈ Vhi ,i ≥ 1 tal que

||u− vi||V → 0, i→∞

Aplicando (2.22) temos que

||u− uhi ||V ≤C

α||u− vi||V

e, portanto, concluimos a convergência do método.

2.5 Renamento das malhas de estudo

Nesta seção vamos analisar duas possíveis estratégias para o renamento da malha utilizada naconstrução das aproximações por elementos nitos: as malhas obtidas por particionamento uniformedos elementos (splitting) e as malhas renadas por funções indicadoras de erro.

2.5.1 Particionamento uniforme

O renamento uniforme (ou renamento por splitting) é feito por meio da subdivisão de cadaum dos elementos triangulares5 que compõem o domínio, de modo a gerar elementos menores comas mesmas propriedades geométricas do elemento original.

A principal vantagem deste renamento é a simplicidade: cada triângulo pode ser dividido emoutros 4 com a inserção dos novos nós nos pontos médios de cada aresta que compõem o elemento.Desta forma, todos os elementos serão admissíveis e as aproximações podem ser obtidas sobre anova malha de elementos.

(a) Malha inicial (b) Primeiro renamento (c) Segundo renamento

Figura 2.4: Aplicações do renamento por splitting

A principal desvantagem deste esquema deve-se ao fato de que o renamento uniforme inserenovos nós em todo o domínio, inclusive em regiões onde o erro cometido na aproximação era sucien-temente pequeno. Com isto, temos um aumento considerável no número de incógnitas do sistemalinear a ser resolvido, de modo que o algoritmo irá utiizar um maior tempo computacional paraobter as aproximações desejadas.

5A ideia é análoga para elementos quadriláteros ou, no caso no R3, prismas e tetrahedros.

Page 29: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

2.5 REFINAMENTO DAS MALHAS DE ESTUDO 15

2.5.2 Particionamento orientado por funções indicadoras

Como alternativa ao particionamento uniforme, vamos construir uma estratégia de renamentocujo objetivo é inserir novos nós somente nas regiões onde o erro cometido na aproximação foiconsiderado grande.

O primeiro desao reside em como obter os erros cometidos nas aproximações, levando-se emconta que para problemas reais a solução exata do problema é desconhecida. A construção desteestimador será feita em detalhes mais adiante e, como exemplo, considere que utilizemos a malhadescrita na Figura (2.2a) para a obtenção das aproximações pelo MEF. Utilizando os resultadosobtidos, estimamos o erro cometido na aproximação conforme apresentado na Figura (2.2b).

(a) Malha inicial

(b) Estimativa do erro

Figura 2.5: Malha inicial e estimativa do erro cometido. As cores mais escuras indicam um maior errocometido nestas regiões.

Observamos que a estimativa de erro não é uniforme em todo o domínio: as regiões onde oindicador apresentou valores maiores (cores entre azul escuro e vermelho) estão concentradas nocentro e na região superior esquerda enquanto que o restante do domínio apresentou valores menoresna estimativa do erro cometido. Ao invés de renarmos todo o domínio por igual vamos reduzira área dos elementos conforme o valor obtido pelo estimador do erro: quanto maior a estimativa,maior a quantidade de partições a serem construidas na região em estudo.

Existem diversas técnicas de geração e renamento de malha, cujos objetivos vão além doescopo deste trabalho. Em nossas simulações vamos considerar a estratégia sugerida em [Hec14]:dado x ∈ Ω e uma discretização Tn, seja ηn(x) é o valor do indicador para o erro no ponto x ∈ Tn,

Page 30: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

16 CONCEITOS E RESULTADOS PRELIMINARES 2.5

hn o diâmetro do elemento ao qual o ponto x esteja contido, η? é o produto da média dos erroscometidos nos elementos por uma constante6 e fn = min(3,max(1/3, ηn/η

?n)). Nestas condições,

denimos o diâmetro do elemento onde esteja o ponto x na nova discretização Tn+1, como

hn+1(x) =hn(x)

fn(ηK(x))(2.25)

A função fn é utilizada para certicar-se de que a nova malha será de forma regular, evitando assimo surgimento de erros causados por problemas na geometria do domínio.

Utilizando a estratégia (2.25) na malha contida na Figura(2.2a), obtivemos a malha contida naFigura (2.3a):

(a) Nova malha

(b) Nova estimativa do erro

Figura 2.6: Malha obtida pelo renamento indicado pelo estimador de erro

Conforme esperado, podemos observar que a nova discretização apresentou um número maiorde elementos nas regiões onde o estimador apontou valores maiores para os erros cometidos naaproximação. A nova estimativa de erro, apresentada na Figura (2.3b), mostra como as regiões demaior erro variam entre as discretizações.

6Em geral, a constante utilizada é sucientemente próxima de 1.0 [Hec14], pág 238.

Page 31: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

Capítulo 3

Problema de Poisson

Vamos introduzir o estudo da estimativa residual a partir do Problema de Poisson. Iniciamos ocapítulo com a apresentação do problema, sua formulação fraca e a obtenção das aproximações pelométodo de Ritz-Galerkin. Em seguida, construiremos a estimativa residual associada ao problemae apresentamos o resultado que relaciona a estimativa residual com o erro cometido pela aproxi-mação. Por m, vamos comparar as aproximações obtidas nas discretizações construidas por meiodo renamento uniforme e do renamento adaptativo, ambos aplicados à um problema com soluçãoconhecida e um problema que apresenta uma singularidade em seu contorno.

3.1 Formulação fraca

Considere o problema de Poisson−∆u = f(x, y), (x, y) ∈ Ωu(x, y) = 0, (x, y) ∈ Γ

(3.1)

Vamos então introduzir a formulação fraca deste problema e discutir suas relações entre si.Uma solução clássica de (3.1) é uma função u ∈ C2(Ω)∩ C(Ω) que satisfaz a equação diferencial

para todo ponto no interior do domínio e satisfaz a condição de contorno para todo ponto nafronteira do domínio. Vamos supor que f ∈ L2(Ω), apesar de que esta condição não é sucientepara garantir a existência de uma solução clássica para o problema.

Para obtermos a formulação fraca associada ao problema, suponha que exista uma soluçãou ∈ C2(Ω) ∩ C(Ω) do problema (3.1). Multiplicamos a equação diferencial do problema por umafunção v ∈ C∞0 (Ω), a qual denominamos função de ponderação (ou função peso) e integramos oproduto obtido sobre o domínio do problema, obtendo que

−∫

Ωv∆u = −

∫Ωv∇ · (∇u) =

∫Ωvf

Utilizando integração por partes na integral do lado esquerdo da equação acima, como v = 0em Γ, temos que ∫

Ω∇u · ∇v =

∫Ωvf (3.2)

Observe que a relação acima não utiliza o fato de que u ∈ C2(Ω)∩C(Ω) mas sim que u ∈ H10 (Ω).

Desta forma, o problema de valor de contorno (3.1) é equivalente à:

Denição 3.1.1 (Formulação fraca do problema de Poisson homogêneo). Obter u ∈ H10 (Ω) tal

que1: ∫Ω∇u · ∇v =

∫Ωfv (3.3)

1Pelo Teorema (2.1.10), temos que C∞0 (Ω) é denso em H10 (Ω) de modo que a relação 3.2 é valida para qualquer

v ∈ H10

17

Page 32: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

18 PROBLEMA DE POISSON 3.1

para toda função v ∈ H10 (Ω).

Observe que a condição f ∈ L2(Ω) é mais forte do que o necessário neste caso: é suciente quef esteja no conjunto dual de H1

0 (Ω) dado que podemos interpretar a integral∫

Ω f(x)v(x)dx comoo operador dual < f, v > entre (H1

0 (Ω))′ e H10 (Ω).

Vamos mostrar agora que se u é solução da formulação fraca (3.6), então u é uma soluçãoclassica do problema (3.1). Supondo f ∈ C(Ω) e que u tenha a condição adicional de regularidadeu ∈ C2(Ω) ∩ C(Ω), temos que ∫

Ω(−∆u− f)v = 0

para toda v ∈ C∞0 ⊂ H10 (Ω). Portanto, pelo Lema (2.1.5) temos que −∆u = f em Ω, ou seja,

a equação diferencial (3.1) será satisfeita. Concluimos então que o problema de contorno (3.1) éformalmente equivalente a formulação fraca (3.3).

Considere V = H10 (Ω), a(·, ·) : V × V → R a forma bilinear denida por

a(u, v) =

∫Ω∇u∇v

e l : V → R um funcional denido por

l(v) =

∫Ωfv

Para a aplicação do Lema de Lax-Milgram é necessário que a forma bilinear seja contínua ecoerciva, dado que a linearidade e a continuidade do funcional são imediatas. A continuidade daforma bilinear é obtida utilizando-se da desigualdade de Cauchy-Schwarz:

|a(u, v)| =∣∣∣ ∫

Ω∇u · ∇v

∣∣∣ ≤ ∫Ω|∇u · ∇v|

≤ ||∇u||L2(Ω)||∇v||L2(Ω) (Cauchy-Schwarz)

≤ ||u||H10 (Ω)||v||H1

0 (Ω)

Por outro lado, a demonstração da coercividade é feita utilizando a desigualdade de Poincaré:

||w||2H10 (Ω) = ||w||2L2(Ω) + ||∇w||2L2(Ω)

≤ (1 + C)||∇w||2L2(Ω) (Desig. Poincaré)

= (1 + C)a(w,w)

Logo, a formulação variacional do problema (3.1) consiste em obter u ∈ V tal que

a(u, v) = l(v), ∀v ∈ V (3.4)

e, pelo Lema de Lax-Milgram, temos que o problema possui uma única solução.No caso mais geral, consideramos o problema onde são prescritas diferentes tipos de condições

no contorno: −∆u = f(x, y), (x, y) ∈ Ω∇u · ~n = g, (x, y) ∈ ΓNu = 0, (x, y) ∈ ΓD

(3.5)

onde ~n é o vetor normal unitário exterior a ΓN . Neste caso, da integração por partes, temos que∫Ωv∇ · (∇u) =

∫ΓN

gv −∫

Ω∇u · ∇v

e a formulação fraca do problema é dada pelo seguinte problema:

Page 33: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

3.2 ESTIMATIVA RESIDUAL 19

Denição 3.1.2 (Formulação fraca do problema de Poisson com condições mistas.). Obter u ∈H1D(Ω) tal que: ∫

Ω∇u · ∇v =

∫Ωfv +

∫ΓN

gv (3.6)

para toda função v ∈ H1D(Ω).

Assim, considerando V = H1D(Ω), o problema é escrito na forma (2.10) com

a(u, v) =

∫Ω∇u · ∇v

e

l(v) =

∫Ωfv +

∫Γgv

onde, sob as condições de que f ∈ L2(Ω) e g ∈ L2(ΓN ), temos que

l(v1 + v2) =

∫Ωf(v1 + v2) +

∫ΓN

g(v1 + v2)

=

∫Ωfv1 +

∫ΓN

gv1 +

∫Ωfv2 +

∫ΓN

gv2

= l(v1) + l(v2) (Linearidade)

e

|l(v)| =∣∣∣ ∫

Ωfv +

∫ΓN

gv∣∣∣ ≤ ∫

Ω

∣∣∣fv∣∣∣+

∫ΓN

∣∣gv∣∣∣≤ ||f ||L2 · ||v||L2 + ||g||L2 · ||v||L2

≤ (||f ||L2 + ||g||L2) ||v||L2

≤ C||v||L2 ≤ C||v||H1D(Continuidade)

podemos aplicar novamente o Lema de Lax-Milgram e concluir a existência e unicidade de soluçãodo problema.

Dado que a forma bilinear associada ao problema satisfaz as hipóteses para existência e unici-dade de solução do problema contínuo, vamos aplicar o Método de Ritz-Galerkin para obter umasolução aproximada para o problema. Considere T uma partição admissível do domínio contendoum conjunto NT de vértices dos elementos e um conjunto de funções de forma denidas sobre asvariáveis nodais.

Nestas condições, a formulação fraca do problema denido sobre esta partição é descrita como:

Denição 3.1.3 (Formulação Fraca para a partição T ). Obter uτ ∈ S1,0D (T ) é tal que:∫

Ω∇uτ · ∇vτ =

∫Ωfvτ +

∫ΓN

gvτ (3.7)

para toda função vτ ∈ S1,0D (T ).

3.2 Estimativa residual

Dado que a forma bilinear a(·, ·) dene um produto interno e uma norma em H1D(Ω), nosso

objetivo será construir um estimador de erro η para a forma bilinear tal que

a(u− uτ , u− uτ ) ≤ η||u− uτ ||1

Page 34: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

20 PROBLEMA DE POISSON 3.2

Utilizando a coercividade do operador a(·, ·) obtemos que

||u− uτ ||21 ≤ Ca(u− uτ , u− uτ ) ≤ Cη||u− uτ ||1

e, portanto||u− uτ ||1 ≤ Cη

onde C é uma constante que depende apenas da partição T .Sendo u e uτ as soluções dos problemas (3.6) e (3.7), respectivamente, observe que u e uτ

satisfazem a seguinte relação

a(u− uτ , v) =

∫Ω∇ (u− uτ ) · ∇v =

∫Ωfv +

∫ΓN

gv −∫

Ω∇uτ · ∇v (3.8)

para toda v ∈ H1D(Ω). Desta forma, podemos denir o resíduo obtido de uτ como

R(uτ , v) =

∫Ωfv +

∫ΓN

gv −∫

Ω∇uτ · ∇v (3.9)

O resultado a seguir relaciona o resíduo com o erro cometido pela aproximação, utilizando anorma de H1

D(Ω):

Teorema 3.2.1 (Relação entre o resíduo e o erro). O erro cometido na aproximação uτ é limitado

pela norma do resíduo no espaço dual de H1D(Ω).

Demonstração. Inicialmente, observe que o resíduo R(uτ , v) é um elemento contido no espaço dualdo conjunto H1

D(Ω). Além disso, utilizando as desigualdades de Cauchy-Schwarz e de Poincaré,temos que

1√1 + c2

||u||1 ≤ supw∈H1

D(Ω)||w||1=1

∫Ω∇u · ∇w ≤ ||u||1

para toda função v ∈ H1D(Ω). Isto implica que a forma bilinear

H1D(Ω) 3 u,w 7→

∫Ω∇u · ∇w

dene um isomorsmo de H1D(Ω) no seu espaço dual. As constantes multiplicativas dos termos a

direita e a esquera da desigualdade são relacionadas pela norma do isomorsmo e da sua inversa.Da denição do resíduo e da desigualdade anterior, segue que

supw∈H1

D(Ω)||w||1=1

R(uτ , w) ≤ ||u− uτ ||1 ≤√

1 + c2 supw∈H1

D(Ω)||w||1=1

R(uτ , w)

Como o termo

supw∈H1

D(Ω)||w||1=1

∫Ωfw +

∫ΓN

gw −∫

Ω∇uτ · ∇w

é equivalente a norma do resíduo no espaço dual, concluimos o resultado.

Nosso objetivo será construir uma estimativa para a norma do resíduo no espaço dual utilizandoos dados da partição T , as aproximações uτ obtidas e as funções f e g.

Page 35: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

3.2 ESTIMATIVA RESIDUAL 21

Dado que a aproximação obtida é de classe C2 no interior dos elementos é possível aplicar ooperador laplaciano sobre a aproximação uτ e aplicar a integração por partes no último termo adireita do resíduo, de forma que

∫Ω∇uτ · ∇v =

∑K∈T

∫K∇uτ · ∇v

=∑K∈T

(∫K

∆uτv −∫∂K

~nK · ∇uτv)

Substituindo no resíduo, obtemos que

R(uτ , v) =∑K∈T

∫K

(f + ∆uτ )v +∑

E∈Eτ,ΓN

∫E

(g − ~nE · ∇uτ )v −∑

E∈Eτ,Ω

∫EJ(~nE · ∇uτ )v (3.10)

onde J é a função de salto descrita em (2.20). Denimos o resíduo interior e o resíduo do bordo

associado a cada elemento K ∈ T como

RK(uτ ) = f + ∆uτ (3.11)

e

RE(uτ ) =

−JE(~nE · ∇uτ ), se E ∈ Eτ,Ωg − ~nE · ∇uτ , se E ∈ Eτ,ΓN0, se E ∈ Eτ,ΓD

(3.12)

respectivamente. Desta forma, temos a chamada representação L2 do resíduo:

R(uτ , v) =∑K∈T

∫KRK(uτ )v +

∑E∈Eτ

∫ERE(uτ )v

Pela denição do resíduo e pela ortogonalidade de Galerkin (2.16) temos que

R(uτ , vτ ) = a(u− uτ , vτ )︸ ︷︷ ︸=0

= 0

de modo que podemos escrever

R(uτ , v) = R(uτ , v)−R(uτ , vτ )︸ ︷︷ ︸=0

=∑K∈T

∫KRK(uτ )(v − vτ ) +

∑E∈Eτ

∫ERE(uτ )(v − vτ ) (3.13)

Fixada uma função v ∈ H1D(Ω), considere vτ = Iτv a projeção de v pelo operador de quasi -

interpolação (2.18). Da desigualdade de Cauchy-Schwarz para integrais e das estimativas do opera-dor (2.19), temos que

R(uτ , v) =∑K∈T

∫KRK(uτ )(v − Iτv) +

∑E∈Eτ

∫ERE(uτ )(v − Iτv)

≤∑K∈T

||RK(uτ )||K ||v − Iτv||K︸ ︷︷ ︸≤αhK ||v||H1(ωK )

+∑E∈Eτ

||RE(uτ )||E ||v − Iτv||E︸ ︷︷ ︸β√hE ||v||H1(ωE)

≤∑K∈T

||RK(uτ )||K · αhK ||v||1,vK +∑E∈Eτ

||RE(uτ )||E · β√hE ||v||1,vE

Page 36: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

22 PROBLEMA DE POISSON 3.2

Da desigualdade de Cauchy-Schwarz para as somas, temos que

R(uτ , v) ≤ maxα,β

∑K∈T

h2K ||RK(uτ )||2K +

∑E∈Eτ

hE ||RE(uτ )||2E

12

·

·

∑K∈T

||v||21,vK +∑E∈Eτ

||v||21,vE

12

Da regularidade da malha T , temos que∑K∈T

||v||21,vK +∑E∈Eτ

||v||21,vE

12

≤ c||v||1

onde c é uma constante que depende apenas da malha utilizada. Da coercividade da forma bilinear,concluimos que

||u− uτ ||1 ≤ C

(∑K∈T

h2K ||RK(uτ )||2K +

∑E∈Eτ

hE ||RE(uτ )||2E

) 12

onde C é uma constante que depende somente da malha em estudo. Logo, provamos o seguinteteorema:

Teorema 3.2.2 (Estimador de Erro Residual a Posteriori). Sejam u ∈ H1D(Ω) e uτ ∈ S1,0

D (T )as soluções dos problemas (3.6) e (3.7), respectivamente. Para cada elemento K ∈ T , denimos o

estimador de erro residual a posteriori ηK como:

η2K = h2

K ||fK + ∆uτ ||2K +1

2

∑E∈EK∩Eτ,Ω

hE ||J(~nE · ∇uτ )||2E

+∑

E∈EK∩Eτ,ΓN

hE ||gE − ~nE · ∇uτ ||2E

Sob estas condições, temos que

||u− uτ ||1 ≤ C

(∑K∈T

η2K

) 12

(3.14)

onde C é uma constante que depende apenas da malha utilizada.

O primeiro termo do estimador ηK está relacionado ao resíduo da aproximação uτ com respeitoa EDP em sua formulação forte. Já os outros termos estão associados as condições de contornodo problema e são particularmente importantes devido ao fato que, se uτ /∈ H2(Ω), então uτ nãonecessariamente satisfaz exatamente a condição de Neumann na fronteira. Logo, para aproximaçõesde baixa ordem os termos associados as fronteiras são de fundamental importância para o estimadorresidual.

Page 37: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

3.3 SIMULAÇÕES NUMÉRICAS 23

A implementação computacional do estimador residual descrito no Teorema(3.2.2) encontra-sedescrita no Algoritmo 1.

Algorithm 1 Construção do estimador residual

Entrada: Informações da partição T , funções f , g e a aproximação uτpara (K ∈ T ) faça

hK = diâmetro do elemento K;RK1 = h2

K

∫K(f + ∆uτ )2;

para (E ∈ EK) façaRK2 = 0;hE = Comprimento do segmento E;~nE = Componente normal ao segmento E;se (E ∈ Eτ,Ω) então

RK2 = R2(K) + hE2

∫E(J(~nE · ∇uτ ))2;

m se

se (E ∈ Eτ,ΓN ) entãoRK2 = R2(K) + hE

∫E(g− ~nE · ∇uτ )2;

m sem para

ηR(K) = RK1 +RK2;m para

Saída: Vetor com os estimadores ηR(K) para cada K ∈ T .

3.3 Simulações Numéricas

Para analisarmos os erros obtidos pelo estimador residual e as vantagens da aplicação do re-namento adaptativo das malhas, consideramos as seguintes quantidades:

NN: Quantidade de nós da malha

NT: Quantidade de elementos triangulares

E2: Erro calculado pela norma L2

ER: Erro obtido pelo estimador residual

ε: Erro relativo estimado, calculado por η||uτ ||1

Nossos objetivos serão comparar as soluções obtidas com os renamentos uniforme e adaptativo,além de analisar o comportamento das aproximações obtidas e os erros cometidos. As guras uti-lizadas neste capítulo encontram-se em escala reduzida para facilitar a visualização e a comparaçãodos resultados. As guras encontram-se em seus tamanhos originais no Apêndice (C).

3.3.1 Problema com solução conhecida

Vamos iniciar nossas simulações analisando os resultados obtidos na solução numérica do seguinteproblema de Poisson:

−∆u = 2π sin(πx) sin(πy), (x, y) ∈ Ωu(x, y) = 0, (x, y) ∈ Γ

(3.15)

onde Ω é o quadrado unitário. A solução deste problema é dada por u(x, y) = sin(πx) sin(πy).

Page 38: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

24 PROBLEMA DE POISSON 3.3

(a) (b)

Figura 3.1: Solução exata do problema (3.15).

Utilizando elementos triangulares e funções de forma lineares sobre cada um dos elementos,obtivemos as aproximações e os estimadores residuais contidos na Figura (3.2).

(a) Aproximação obtida

(b) Estimativa residual

Figura 3.2: Resultados obtidos sobre os elementos triangulares.

Page 39: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

3.3 SIMULAÇÕES NUMÉRICAS 25

É possível observar que existe uma maior variação na região central e ao redor dos pontos(0, 0), (1, 0), (1, 1) e (0, 1). Nas extremidades do domínio, o erro observado deve-se ao fato de queos três pontos dos elementos estão no bordo e, como a condição de contorno é nula, a aproximaçãoobtida é nula em todo ponto contido nestes elementos. Em relação à região central, dado que asolução varia suavemente entre os bordos do domínio e as aproximações geradas não são tão suavesquanto à solução exata, temos que a diferença observada é maior no ponto máximo da solução que,neste caso, é o centro do domínio.

Para aumentar a precisão das aproximações realizamos uma iteração de renamento uniforme,particionando cada um dos elementos triangulares em quatro novos elementos. A aproximaçãoobtida e o estimador residual obtido encontram-se na Figura (3.3):

(a) Aproximação obtida (b) Estimativa residual

Figura 3.3: Resultados obtidos na primeira iteração do renamento uniforme.

Utilizando a mesma malha inicial, realizamos uma iteração do renamento adaptativo, obtendoa aproximação e o estimador contidos na Figura (3.4):

(a) Aproximação obtida (b) Estimativa residual

Figura 3.4: Resultados obtidos na primeira iteração do renamento adaptativo.

Page 40: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

26 PROBLEMA DE POISSON 3.3

Uniforme AdaptativoNN 137 73NT 232 120E2 0.01143 0.01646ER 1.98439 2.40086ε 0.88055 1.07

Tabela 3.1: Comparação entre o renamento uniforme e o renamento adaptativo.

A comparação entre a primeira iteração de ambos os renamentos mostrou que o renamentoadaptativo foi capaz de obter uma aproximação com o erro na norma L2 da mesma ordem degrandeza (10−2) utilizando uma quantidade de nós muito menor do que aquela utilizada no rena-mento uniforme (redução de aproximadamente 46% do número de nós).

Para reduzirmos ainda mais o erro cometido realizamos mais três iterações de renamento,obtendo as aproximações e os estimadores residuais contidos nas Figuras (3.5) e (3.6).

(a) Aproximação obtida (b) Estimativa residual

Figura 3.5: Resultados obtidos na quarta iteração do renamento uniforme.

(a) Aproximação obtida (b) Estimativa residual

Figura 3.6: Resultados obtidos na quarta iteração do renamento adaptativo.

Page 41: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

3.3 SIMULAÇÕES NUMÉRICAS 27

Uniforme AdaptativoNN 7585 573NT 14848 1062E2 0.000182 0.001692ER 0.259999 0.817044ε 0.114203 0.359378

Tabela 3.2: Comparação entre o renamento uniforme e o renamento adaptativo na quarta iteração derenamento.

Comparando os estimadores residuais obtidos no renamento uniforme (Figuras (3.2b), (3.3b) e(3.5b)), observamos que as regiões onde o estimador indica valores maiores para o erro não variamentre as iterações de renamento, ou seja, as regiões onde o estimador indica um valor maior de erropermanecem constantes mesmo após o renamento. Por outro lado, o erro residual apresentado namalha gerada pelo renamento adaptativo apresenta uma variação das regiões onde o erro é maior,como podemos observar na Figura (3.7).

(a) Primeiro renamento (b) Segundo renamento

(c) Terceiro renamento (d) Quarto renamento

Figura 3.7: Comportamento do estimador de erro nas iterações de renamento adaptativo.

As regiões onde o estimador apresenta valores maiores para o erro mudam de lugar a cadaiteração pelo fato do renamento adaptativo aumentar o número de elementos somente nas regiõesonde o indicador fornece valores maiores.

Page 42: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

28 PROBLEMA DE POISSON 3.3

Pelos dados das Tabelas (3.1) e (3.2), observamos que o renamento uniforme gera uma quanti-dade consideravelmente maior de nós em cada iteração, fazendo com que o sistema linear associadoao problema possua a dimensão do número de nós da malha. Para reduzir a quantidade de nósutilizamos o renamento adaptativo para construir uma aproximação cujo erro L2 é mesma ordemde grandeza daquele obtido na quarta iteração do renamento uniforme, conforme mostra a Tabela(3.3).

Uniforme (4 iterações) Adaptativo (6 iterações)NN 7585 2351NT 14848 4352E2 0.000182 0.000393ER 0.259999 0.394425ε 0.114203 0.173283

Tabela 3.3: Comparação entre o número de nós de cada um dos renamentos para obter um erro L2 demesma ordem.

Observamos que a malha gerada pelo renamento adaptativo foi capaz de obter uma aproxi-mação com a mesma ordem de grandeza utilizando aproximadamente 30% da quantidade de nósutilizada pelo renamento uniforme. Como a quantidade de nós implica diretamente no esforço com-putacional necessário para a obtenção das aproximações (pois o sistema a ser resolvido depende daquantidade de nós) podemos concluir que o renamento adaptativo reduz de maneira signicativao tempo necessário para a construção das aproximações.

3.3.2 Problema com singularidade

Consideramos agora o PVC −∆u = 1, (x, y) ∈ Ωu(x, y) = 0, (x, y) ∈ Γ

(3.16)

onde Ω é um conjunto da forma L-shaped, conforme descrito na Figura [??]:

Ω

(−1,−1)

(−1, 1) (1, 1)

(1, 0)

Figura 3.8: Dominio do problema

É possível mostrar que a solução deste problema ao redor da origem pode ser aproximada pelafunção

u(r, θ) = r23 sin

((2θ + π)

3

)onde r representa a distância radial até a origem e θ o ângulo em relação ao eixo vertical (istoé, coordenadas polares). Como as derivadas radiais de u não são limitadas na origem temos umasingularidade neste ponto de modo que é esperado que o erro cometido ao redor da origem seja maior

Page 43: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

3.3 SIMULAÇÕES NUMÉRICAS 29

do que o erro cometido no restante do domínio. A referência [SF73] faz uma discussão bastanteaprofundada sobre problemas desta natureza.

Com o uso de um renamento simples do dominio Ω, obtivemos as aproximações e os estimadoresresiduais contidos nas Figuras (3.9a) e (3.9b).

(a) Aproximação inicial

(b) Estimativa residual

Figura 3.9: Resultados obtidos sobre os elementos triangulares no problema 3.16.

Nesta aproximação inicial não foi possível identicar a necessidade de um maior número deelementos ao redor da origem. Porém, como a aproximação inicial é bastante grosseira e a soluçãoexata do problema é considerada suave, vamos realizar algumas iterações de renamento e analisaro comportamento das aproximações obtidas. As Figuras (3.10) e (3.11) apresentam os resultadosobtidos na primeira iteração de renamento com ambos os algoritmos de renamento. Os dadoscomparativos entre as malhas obtidas encontram-se na Tabela (3.4).

Page 44: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

30 PROBLEMA DE POISSON 3.3

(a) Aproximação obtida (b) Estimativa residual

Figura 3.10: Resultados da primeira iteração do renamento uniforme.

(a) Aproximação obtida (b) Estimativa residual

Figura 3.11: Resultados da primeira iteração do renamento adaptativo.

Uniforme AdaptativoNN 215 148NT 368 249ER 0.544687 0.541737ε(%) 1.14936 1.1418

Tabela 3.4: Comparação entre o renamento uniforme e o renamento adaptativo na primeira iteração derenamento.

Como a solução exata deste problema é desconhecida vamos utilizar a estimativa residual paraanalisar o comportamento do erro. Na primeira iteração de renamento observamos novamenteque o algoritmo adaptativo fornece uma aproximação com o erro residual bastante próximo daaproximação obtida sobre a malha do renamento uniforme utilizando uma quantidade de nósconsideravelmente menor, reduzindo assim o esforço computacional utilizado na construção dasaproximações.

Page 45: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

3.3 SIMULAÇÕES NUMÉRICAS 31

Para avaliar a convergência do método realizamos mais duas iterações de renamento e avaliamosa convergência das aproximações construidas em ambos os renamentos (uniforme e adaptativo)por meio do erro residual cometido em cada uma das discretizações utilizadas. Pelos resultadoscontidos na Tabela (3.5) observamos que o erro residual é reduzido em ambos os renamentos,indicando assim a convergência das aproximações obtidas.

Iteração Uniforme Adaptativo

(1) 0.544687 0.541737(2) 0.298928 0.361026(3) 0.161553 0.231439(4) 0.0878034 0.146224

Tabela 3.5: Erro obtido avaliado pelo estimador residual

As aproximações obtidas com as malhas do renamento adaptativo possuem uma velocidade deconvergência aparentemente menor em comparação com as aproximações obtidas com o renamentouniforme. No entanto, a quantidade de nós utilizada é signicantemente menor, como mostra aTabela (3.6).

Iteração Uniforme Adaptativo Redução(%)

(1) 368 148 59.78(2) 1472 348 76.35(3) 5888 857 85.44(4) 23552 2198 90.66

Tabela 3.6: Comparação do número de vértices nas malhas construidas com ambos os renamentos.

Tomando como exemplo a quarta iteração de renamento, as aproximações contidas na Figura(3.12) mostram que ambos os renamentos fornecem soluções bem próximas, porém o renamentoadaptativo apresentou uma quantidade 90% menor de nós em comparação a malha obtida comrenamento uniforme.

(a) Renamento uniforme (b) Renamento adaptativo

Figura 3.12: Comparativo das aproximações obtidas na quarta iteração de renamento.

Isto mostra a utilização do renamento adaptativo de malhas permite reduzir de maneira con-siderável o tempo computacional utilizado para obter as soluções numéricas do problema sem afetara convergência do método numérico, gerando assim aproximações bastante precisas utilizando umnúmero consideravelmente baixo de incógnitas no sistema.

Page 46: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

32 PROBLEMA DE POISSON 3.3

Page 47: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

Capítulo 4

Elasticidade Linear

Neste capítulo apresentaremos a aplicação das estimativas residuais para estimar o erro cometidona aplicação do MEF em problemas envolvendo elasticidade linear. Visando simplicar a apre-sentação do modelo e suas respectivas hipóteses, seguiremos o conteúdo apresentado em [Ver99]complementando com a teoria contida em [Bra07] e [BS08]. O estudo será feito para pequenasdeformações, de maneira que as equações envolvidas possam ser consideradas lineares.

A teoria da elasticidade relaciona as deformações sofridas por um determinado corpo com astensões e trações aplicadas sobre o mesmo. Com isto, para obtermos as equações que regem o modeloé preciso que sejam obtidas as equações associadas a cinemática do corpo em estudo, suas relaçõesconstitutivas e as equações de equilibrio. A partir destes três componentes será obtida a formulaçãoforte do problema de valor de contorno que fornece o deslocamento em cada ponto do domínio.

Para a aplicação do MEF iremos construir a formulação variacional associada a este métodoutilizando alguns resultados análogos aqueles utilizados nos problemas abordados até aqui. A grandediculdade neste ponto reside na obtenção destes resultados análogos para o sistema de equaçõesem estudo. A partir daí, a construção da estimativa é feita exatamente como nos casos anteriores,com a aplicação do teorema da divergência de Gauss sobre cada um dos elementos e a avaliação doresiduo cometido sobre cada componente do domínio.

4.1 As equações da elasticidade linear

Considere Ω uma superfície poligonal e Γ = ∂Ω sua fronteira, de forma que Γ é dividida em doistrechos: ΓD a região onde o deslocamento é conhecido e ΓN a região onde as tensões são conhecidas.

Considere ~u : Ω → R2 o deslocamento ocorrido em cada ponto e ε(~u) o tensor de deformaçãodo corpo dado por

ε(~u) =1

2

(∇u+∇ut

)=

1

2

(∂uj∂xi

+∂ui∂xj

)1≤i,j≤2

Da relação constitutiva, consideramos que o tensor de tensões é dado por

σ(ε) = λtr(ε)I + 2µε

onde I ∈ R2×2 é o tensor unitário, tr(ε) é o traço de ε e λ, µ são os chamados parâmetros de Lamée dependem do coeciente de elasticidade e de Poisson do material. Para garantir a existência e aunicidade de soluções do problema vamos assumir1 que o trecho do contorno onde o deslocamentoé conhecido possui medida positiva em R (ou seja, o deslocamento não é conhecido somente em umconjunto enumerável de pontos, mas sim em um segmento todo da fronteira).

Denotando por ~f o vetor de forças de volume aplicadas sobre a placa e ~g o vetor de forças detração aplicadas sobre a placa, os deslocamentos ocorridos em cada ponto da placa são obtidos pela

1Esta hipótese será utilizada pelo o Teorema (4.3.2) para mostrar que o problema admite solução única

33

Page 48: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

34 ELASTICIDADE LINEAR 4.3

resolução do seguinte problema de valor de contorno: −div(σ(ε)) = ~f em Ωσ(ε(~n)) = ~g em ΓN

~u = 0 em ΓD

(4.1)

4.2 Formulação variacional (fraca) do problema: Minimizando aenergia associada

A formulação fraca deste problema é construida exatamente como nos problemas anteriores:multiplicamos a formulação forte por uma função de ponderação ~v e integramos sobre o domínioda superfície em estudo. Aplicando o teorema da Divergência de Gauss o problema descrito emsua formulação fraca é equivalente a obtermos o valor mínimo do funcional de energia associadoao modelo. Portanto, resolver o problema de valor de contorno (4.1) é equivalente à minimizar ofuncional que representa a energia contida no sistema

Π(u) =

∫Ω

[1

2σ(~u) : ε(~u)− ~f · ~u

]+

∫ΓN

~g · ~u

para ~u ∈ H1D(Ω)×H1

D(Ω), onde H1D(Ω) é um espaço de Sobolev em Ω que se anula no trecho ΓD

da fronteira e ε : σ é o produto tensorial padrão, isto é

ε : σ =∑

1≤i,j≤2

εi,jσi,j

Observe que as variáveis ε, σ e ~u não são independentes, mas são relacionadas pela relação con-stitutiva do material e pela cinemática do problema. Além disso, diferente do que ocorria para osproblemas anteriores onde apenas uma função incognita era construída, estamos buscando duasfunções para aproximar os deslocamentos nos dois sentidos da superfície em estudo.

Observe que o funcional energia pode ser escrito como a formulação equivalente descrita naSeção (2.2): Sendo V = H1

D(Ω)×H1D(Ω) um espaço normado, a(·, ·) uma forma bilinear dada por

a(u, u) =

∫Ωσ(~u) : ε(~u)

e o funcional linear < f, u > é descrito como

< f, u >=

∫Ω

~f · ~u+

∫ΓN

~g · ~u

Se a forma bilinear for positiva denida, limitada e coerciva então podemos aplicar o Teorema(2.2.1) e concluir que a energia mínima ~u ∈ H1

D(Ω)×H1D(Ω) satisfaz a igualdade∫

Ωσ(~u) : ε(~u) =

∫Ω

~f · ~u+

∫ΓN

~g · ~u

A solução aproximada pelo MEF será construída por meio da discretização do domínio em umconjunto de partições regulares T , onde a aproximação ~uτ ∈ S1,0

D (T ) × S1,0D (T ) é obtida de modo

que satisfaça a igualdade ∫Ωσ( ~uτ ) : ε( ~vτ ) =

∫Ω

~f · ~vτ +

∫ΓN

~g · ~vτ

para toda ~vτ ∈ S1,0D (T )× S1,0

D (T ).

Page 49: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

4.4 RESULTADOS AUXILIARES 35

4.3 Resultados auxiliares

Apesar da estrutura do problema ser similar aquela utilizada para o problema de Poisson, nãosabemos se o problema apresentado possui solução única. Para isto, iremos apresentar agora algunsimportantes resultados capazes de mostrar que a forma bilinear associada ao problema é contínua ecoerciva e o funcional linear é contínuo. Com isto, pelo Teorema de Lax-Milgram (2.1.15), podemosconcluir que o problema possui solução única.

Teorema 4.3.1 (Primeira desigualdade de Korn). Seja Ω ⊂ R3 um conjunto aberto com fronteira

seccionalmente diferenciável. Assim, existe um número c = c(Ω) > 0 tal que∫Ωε(v) : ε(v) + ||v||20 ≥ c||v||21

para toda função v ∈ H1(Ω)×H1(Ω).

SendoH1Γ(Ω) o fecho do conjunto v ∈ C∞(Ω)2 : v(x) = 0 para x ∈ ΓD na norma ||·||1, o resultado

a seguir mostra que a forma bilinear associada é coerciva.

Teorema 4.3.2 (Segunda desigualdade de Korn). Seja Ω ⊂ R2 um conjunto aberto com fronteira

seccionalmente diferenciável e suponha que ΓD seja um conjunto de medida positiva em R. Nestascondições, existem um número positivo c′ = c′(Ω,ΓD) tal que∫

Ωε(v) : ε(v) ≥ c′||v||21

para toda função v ∈ H1Γ(Ω).

As demonstrações destes resultados vão além dos objetivos deste trabalho. As referências [BS08]e [Bra07] apresentam ambas as demonstrações em detalhes.

4.4 Estimativa residual

Assim como zemos na estimativa residual para o problema de Poisson iremos avaliar a difer-ença entre a solução exata (inicialmente desconhecida) e a aproximação obtida sobre a formulaçãodiferencial, utilizando que para cada um dos elementos K ∈ T temos que:∫

Kσ(~u− ~uτ ) : ε(~v) =

∫K

~f · ~v +

∫E~g · ~v −

∫Kσ( ~uτ ) : ε(~v)

Denimos implicitamente o resíduo cometido na aproximação como o lado direito da equaçãoanterior, isto é

R( ~uτ , ~vτ ) =

∫K

~f · ~v +

∫E~g · ~v −

∫Kσ( ~uτ ) : ε(~v)

Sendo as aproximações são de classe C2 no interior dos elementos podemos desfazer as integrais porpartes e reorganizar os termos, de modo que

R( ~uτ , ~v) =∑K∈T

∫K

(~f + σ(uτ ))~v +∑

E∈Eτ,ΓN

∫E

(g − ~nEσ)~v −∑

E∈Eτ,Ω

∫EJ(~nE · σ)~v

onde, sendoK um elemento da partição T , EK é o conjunto dos segmentos que compõem o elementoK, ~nE o vetor normal associado ao segmento E, Eτ,Ω e Eτ,ΓN os segmentos que compõem os elementose estão contidos no interior do domínio e na fronteira ΓN , respectivamente e J representa o saltocometido pela solução através das bordas de dois elementos adjacentes.

Observe que a forma bilinear∫

Ω σ(~u) : ε(~u) possui as mesmas características da forma∫

Ω∇u·∇wutilizada na formulação do resíduo para o problema de Poisson. Desta forma, é possível mostrar

Page 50: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

36 ELASTICIDADE LINEAR 4.5

que o Teorema (3.2.1) pode ser generalizado para o problema em estudo e que o erro cometido naaproximação ~uτ é limitado pela norma do resíduo no espaço dual de H1

D(Ω)×H1D(Ω).

Assim seguimos os mesmos passos utilizados na construção do estimador residual para o prob-lema de Poisson denindo o resíduo interior e o resíduo do bordo associado a cada elemento K ∈ Tcomo

RK(uτ ) = ~f + div(σ( ~uτ )) (4.2)

e

RE(uτ ) =

−JE(~nE · σ( ~uτ )), se E ∈ Eτ,Ω~g − ~nE · σ( ~uτ ), se E ∈ Eτ,ΓN0, se E ∈ Eτ,ΓD

(4.3)

respectivamente. Com isto o resíduo pode ser reescrito como

R(uτ , v) =∑K∈T

∫KRK(uτ )v +

∑E∈Eτ

∫ERE(uτ )v

e, de maneira análoga ao que zemos no problema de Poisson, podemos estimar o resíduo em cadaelemento K ∈ T como:

ηR,K =

h2K ||fτ + div(σ(uτ ))||2K +

1

2

∑E∈EK∩Eτ,Ω

hE ||JE(~n · σ(uτ ))||2E +∑

E∈EK∩Eτ,ΓN

hE ||g − ~n · σ(uτ )||2E

12

onde || · ||K e || · ||E representam a norma L2 nos elementos K ∈ T e nas arestas E ∈ Eτ , respecti-vamente.

A implementação computacional do estimador residual possui estrutura muito semelhante aquelautilizada no problema de Poisson, modicando apenas o operador a ser integrado em cada uma dascomponentes da estimativa.

Algorithm 2 Estimador residual: elasticidade linear

Entrada: Informações da partição T , funções f , g e a aproximação uτpara (K ∈ T ) faça

hK = diâmetro do elemento K;RK1 = h2

K

∫K(f + div(σ(uτ )))2;

para (E ∈ EK) façaRK2 = 0;hE = Comprimento do segmento E;~nE = Componente normal ao segmento E;se (E ∈ Eτ,Ω) então

RK2 = R2(K) + hE2

∫E(JE(~n · σ(uτ ))2;

m se

se (E ∈ Eτ,ΓN ) entãoRK2 = R2(K) + hE

∫E(g − ~n · σ(uτ ))2;

m sem para

ηR(K) = RK1 +RK2;m para

Saída: Vetor com os estimadores ηR(K) para cada K ∈ T .

Page 51: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

4.5 SIMULAÇÕES NUMÉRICAS 37

4.5 Simulações Numéricas

Considere uma na placa de aluminio com um furo circular em seu centro2 e sua extremidadeinferior xa e que sofre a ação de uma força constante de 5kN sobre a extremidade superior daplaca. Sendo o módulo de Young E = 70GPa e o coeciente de Poisson ν = 0.28, vamos analisar adeformação sofrida pela placa.

Vamos utilizar inicialmente uma malha contendo 10 pontos em cada um dos trechos que com-põem o contorno externo e 30 pontos no contorno que representa o furo central, conforme descritona Figura (4.1):

Figura 4.1: Malha inicial.

Utilizando funções interpoladoras de segunda ordem obtivemos as aproximações e o estimadorresidual descritos nas Figuras (4.2a) e (4.2b).

(a) Aproximações obtidas (b) Estimador residual

Figura 4.2: Resultados obtidos na malha inicial.

Os resultados obtidos condizem com o comportamento físico esperado: a placa deslocou-se nadireção da força constante, de modo a deformar a circunferência contida em seu interior. Paravisualizar a deformação ocorrida na chapa iremos aplicar os deslocamentos nodais obtidos em cadaum dos pontos da malha de estudo, obtendo os resultados da Figura (4.4).

2O furo central será aproximado por um polígono, de modo que toda a teoria desenvolvida até aqui poderá seraplicada ao problema.

Page 52: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

38 ELASTICIDADE LINEAR 4.5

Figura 4.3: Deformação sofrida pela chapa (fator de escala 106).

Para aumentar a qualidade das aproximações obtidas realizamos mais três iterações de rena-mento de malha e apresentamos os resultados obtidos na terceira iteração nas Figuras (4.4) e (4.5).Como a solução exata do problema é desconhecida, utilizamos o erro estimado pelo resíduo paraavaliar a convergência das aproximações, conforme mostra a Tabela (4.1).

Iteração Uniforme Adaptativo

(1) 159.066 142.853(2) 92.1796 77.1377(3) 54.4152 43.7675

Tabela 4.1: Erro obtido avaliado pelo estimador residual

Como era esperado, observa-se que o estimador residual indica que o erro é reduzido a cadaiteração do renamento de malhas, indicando assim que as aproximações obtidas convergem paraa solução do problema contínuo.

(a) Deslocamento obtido (b) Deformação na placa

Figura 4.4: Aproximação obtida na terceira iteração do renamento uniforme.

Page 53: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

4.5 SIMULAÇÕES NUMÉRICAS 39

(a) Deslocamento obtido (b) Deformação na placa

Figura 4.5: Aproximação obtida na terceira iteração do renamento adaptativo.

Observe que a quantidade de nós do terceiro renamento uniforme é tão grande que a imagemca bastante escura com a visualização dos elementos triangulares, enquanto que o renamentoadaptativo apresenta somente algumas regiões com um maior número de elementos. A Tabela (4.2)compara a quantidade de nós utilizados nas malhas geradas pela terceira iteração do renamentodas malhas.

Iteração Uniforme Adaptativo Redução(%)

(1) 974 603 38.09(2) 3756 1190 68.31(3) 14744 2580 82.50

Tabela 4.2: Comparação do número de vértices nas malhas construidas com ambos os renamentos.

Assim como no problema de Poisson, observa-se que o uso do renamento adaptativo é capazde reduzir de maneira considerável o número de incógnitas do sistema, diminuindo assim o esforçocomputacional necessário para a construção das aproximações.

(a) Renamento uniforme (b) Renamento adaptativo

Figura 4.6: Comparação dos resíduos obtidos na terceira iteração de renamento.

Page 54: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

40 ELASTICIDADE LINEAR 4.5

Por m, analisando o comportamento do estimador do erro na terceira iteração de renamento,cujos resíduos encontram-se na Figura (4.6), observamos as estimativas locais obtidas na malhagerada pelo renamento uniforme encontram-se numa faixa de valores muito maior do que aquelesobtidos na malha gerada pelo renamento adaptativo. Isto mostra que o erro cometido no interiordo domínio varia de uma maneira mais uniforme na malha gerada pelo renamento adaptativo,impedindo assim que determinadas regiões possuam o erro muito maior em relação ao restante dodomínio.

Page 55: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

Capítulo 5

Conclusões

O controle do erro cometido na aproximação numérica de EDPs consiste em uma vasta área deestudo e diversas pesquisas vêm sendo realizadas com o objetivo de construir algoritmos capazes deaproximações mais precisas utilizando o menor esforço computacional possível.

Nosso objetivo neste trabalho foi apresentar uma estimativa a posteriori para o erro cometidoque fornecesse uma aproximação quantitativamente precisa do erro cometido na aproximação dasolução pelo Metódo dos Elementos Finitos. De posse desta estimativa, analisamos o comportamentode um algoritmo adaptativo para a construção das discretizações do domínio, de maneira a distribuirum maior número de elementos nas regiões onde o erro cometido foi maior.

Partindo da formulação variacional dos problemas em estudo, construímos o estimador residualassociado a cada um dos problemas e observamos que o estimador apresentou todas as carac-terísticas esperadas: fácil implementação (utiliza somente os dados da discretização do domínio,as informações do contorno e as aproximações obtidas) e ecácia na identicação das regiões dodomínio onde o erro cometido era maior com relação ao restante do domínio. Além disso, com o usodos estimadores locais foi possível avaliar o erro total cometido na aproximação, o que nos permitevalidar também a convergência do método numérico utilizando apenas os dados do problema e asaproximações obtidas.

Com o uso do algoritmo adaptativo para a construção das malhas foi possível observar que aquantidade de nós da malha pode ser reduzida de maneira expressiva sem afetar a convergência dométodo numérico. Ou seja, o erro cometido pode ser reduzido sem a necessidade de um aumentoexpressivo do número de incógnitas do problema, equilibrando assim a redução no erro cometidopelo aumento no esforço computacional a ser realizado.

O estudo da aplicação da estimativa residual e do algoritmo adaptativo nos problemas envol-vendo elasticidade linear mostram que a teoria pode ser aplicadade forma análoga à problemaselípticos mais gerais. Isto reforça o fato do estimador residual ser uma poderosa ferramenta noestudo do comportamento do erro cometido nas aproximações pelo MEF.

41

Page 56: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

42 CONCLUSÕES

Page 57: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

Apêndice A

FreeFem++

Este apêndice tem como objetivo realizar uma breve apresentação do software FreeFem++utilizado para obter as aproximações apresentadas neste trabalho, de modo que o leitor seja capaz decompreender os códigos utilizados nas simulações (que se encontram no Apêndice (B)). A referência[Hec14] apresenta a descrição de todas as funcionalidades do programa de maneira muito maiscompleta, inclusive contendo diversos códigos modelos que serviram como base para os resultadosdeste trabalho.

A.1 Apresentação

O FreeFem++ é um software livre utilizado para resolver EDPs utilizando o Método dos Ele-mentos Finitos (FEM, em inglês) com o uso de diversos tipos de elementos e malhas para problemasem 2D ou em 3D.

Podemos destacar como principais características do programa a simplicidade do gerador demalhas incluso no programa, a facilidade na construção do espaço de funções (é feita com apenasum comando), a grande variedade de espaços de funções disponíveis (como polinômios lineares,quadráticos, Raviart-Thomas, etc) e a maneira eciente e direta com que são feitas a implementaçãoda formulação fraca associada ao MEF e a resolução do sistema linear associado (que permiteutilizar diversos solvers: Gradientes Conjugados, GMRes, etc). Além disso, o programa dispõe deum visualizador gráco bastante simples, que auxilia na visualização dos resultados obtidos.

A escolha do FreeFem++ para a implementação das simulações contidas neste trabalho ocorreudevido a facilidade na construção e obtenção das aproximações por elementos nitos para os prob-lemas aqui apresentados. No entanto, o programa mostrou-se capaz de analisar problemas bastantecomplexos.

A.2 Como funciona

Dado um domínio Ω ⊂ R2 (ou R3) e uma EDP em sua formulação integral, o esquema geralpara o funcionamento do programa utiliza os seguintes componentes:

1. Descrição da(s) fronteira(s) do domínio ΩO comando border Fronteira (t=a,b)x = x(t), y = y(t) dene a curva (x,y) parametrizadapelo parâmetro t variando de a até b, com a, b ∈ R. Por exemplo, considerando Ω sendo ocirculo unitário temos que a fronteira do circulo é obtida por

border F(t=0,2*pi)x = cos(t); y = sin(t);

2. Discretização do domínio Ω em um conjunto de elementos triangulares TO comando mesh cria uma variável que as informações de uma determinada discretização dodomínio por elementos nitos. A construção da discretização é feita pelo comando buildmesh

43

Page 58: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

44 APÊNDICE A

(Fronteira(n)), onde n indica a quantidade de nós que estarão na fronteira. Por exemplo, paraconstruirmos uma malha Th contendo 60 pontos na fronteira utilizamos o comando

mesh Th = buildmesh (F(50));

3. Geração do espaço de funções de forma denida sobre os elementos triangulares:Para a geração do espaço de funções é utilizado o comando fespace(Th,Tipo), onde Th é adiscretização do domínio em elementos triangulares e Tipo indica o tipo de elemento que seráutilizado. Por exemplo, para aproximações lineares (polinômios de primeira ordem), utilizamoso comando

fespace Vh = (Th,P1);

4. Denição das funções do problemaNo FreeFem++ funções são denidas utilizando o comando func. Para denirmos a funçãof(x, y) = xy utilizamos

func f = x*y;

5. Implementação da formulação variacional e dos respectivos valores de contornoNeste ponto serão necessárias três etapas:

• Integração numérica: A integração bidimensional sobre cada um dos elementos da dis-cretização Th é feita utiliza-se o comando int2d(Th). As derivadas de u em relação a xe em relação a y são descritas por dx(u) e dx(u), respectivamente.

• Atribuição das condições de contorno: As condições de contorno são impostas por meiodo comando on(Fronteira,u=...).

• Solução do sistema linear: É obtida por meio do comando solve(u,v).

Tomando como exemplo o problema de Poisson com f(x, y) = xy e condições de contornonulas, utilizaremos que a formulação fraca para este problema é dada por (3.3) e a resoluçãodo problema é obtida com o comando

solve Poisson (u,v) = int2d(Th)dx(u)dx(v) + dy(u)dy(v) - int2d fv + on(F,u=0);

6. Visualização dos resultados obtidosAs aproximações obtidas são visualizadas por meio do comando plot(Aprox, wait=1). Oparâmtro wait=1 é utilizado para que a aproximação se mantenha na tela até que seja pres-sionada alguma tecla. O capítulo 7 da referência [Hec14] apresenta em detalhes todos osparâmetros que podem ser utilizados nesta função (alguns deles facilitam bastante a geraçãodas imagens).

A.3 Outros comandos

Nas simulações realizadas foram utilizados também os comandos auxiliares

• varf: Funciona como uma função global do programa

• intalledges(Th): Avalia um determinado operador em todas as arestas internas dos elementosda discretização Th.

• adaptmesh(Th,h,...): Dada uma malha inicial Th, este comando faz o renamento adaptativoda malha de acordo com uma função h previamente denida. Os parâmetros auxiliares sãoencontrados na seção 5.5 da referência [Hec14], pág 115.

Page 59: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

Apêndice B

Códigos utilizados

Apresentamos a seguir os códigos utilizados nas simulações nos capítulos 3 e 4.

Listing B.1: testes_cap3/teste1.edp

1 /∗−−−−−Problema modelo 1 : Problema com so lucao conhec ida −−−−−∗/2 /∗−−−−−−−−−−−−−−−Refinamento uniforme−−−−−−−−−−−−−−−−−−−−−−−−−∗/3 //Comando para imprimir somente o que f o i pedido4 ve rbo s i t y =0;5

6 //Def in indo o contorno7 border ba ( t =0 ,1)x=t ; y=0; l a b e l =1; ;8 border bb( t =0 ,1)x=1; y=t ; l a b e l =2; ;9 border bc ( t =0 ,1)x=1−t ; y=1; l a b e l =3; ;

10 border bd( t =0 ,1)x=0; y=1−t ; l a b e l =4; ;11

12 //Gerando a malha13 mesh Th = buildmesh ( ba (5 ) + bb (5) + bc (5 ) +bd (5) ) ;14

15 //Gera os espacos de funcoes16 f e spac e Vh(Th, P1) ;17 f e spac e Nh(Th, P0) ;18 Vh phi ,w;19 Nh rho ;20

21 //Funcoes do problema22 func f=2∗pi ∗ pi ∗ s i n ( p i ∗x ) ∗ s i n ( p i ∗y ) ;23 func ph iexact=s i n ( p i ∗x ) ∗ s i n ( p i ∗y ) ;24

25 //Calcu lo do est imador r e s i d u a l26 var f est imador (uu , chiK ) =27 i n t a l l e d g e s (Th) ( chiK∗ lenEdge∗ square ( jump(N. x∗dx ( phi )+N. y∗dy ( phi ) ) ) )+int2d (Th) ( chiK∗

square ( hTr iang le ∗( f+dxx ( phi )+dyy ( phi ) ) ) ) ;28

29 r e a l [ i n t ] L2error (5 ) ;30 r e a l [ i n t ] normaH1 (5) ;31 r e a l [ i n t ] erroRes (5 ) ;32

33 f o r ( i n t n=0;n<5;n++)34 //Obtem as aproximacoes pe lo MEF35 s o l v e po i s son ( phi ,w)=int2d (Th) (dx ( phi ) ∗dx (w) + dy ( phi ) ∗dy (w) )− int2d (Th) ( f ∗w) + on

(1 , 2 , 3 , 4 , phi = 0) ;36

37 //Plotando a malha38 p lo t (Th, wait=1) ;39

40 //Plotando a aproximacao obt ida41 p lo t ( phi , wait=1, va lue=1, f i l l =1,cmm="Aproximacao obt ida " ) ;42

43 //Calcu lo do est imador r e s i d u a l

45

Page 60: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

46 APÊNDICE B

44 Nh etak ;45 etak [ ]= est imador (0 ,Nh) ;46

47 //Calcu lo da norma L2 do e r ro48 L2error [ n]= sq r t ( int2d (Th) ( ( phi−phiexact ) ^2) ) ;49

50 //Calculando a norma H1 da so lucao51 normaH1 [ n ] = sq r t ( int2d (Th) ( ( phi ) ^2) + int2d (Th) ( ( dx ( phi ) ) ^2) + int2d (Th) ( ( dy ( phi )

) ^2) ) ;52

53 //Calcu lo do e r ro do est imador54 erroRes [ n]= sq r t ( etak [ ] . sum) ;55

56 // Imprime os dados57 cout << " NV = "<< Th. nv << " NT = " << Th. nt << " ErroL2 = "<<L2error [ n ] <<" Erro

estimado : " << erroRes [ n ] <<" E = " << erroRes [ n ] / normaH1 [ n ] << endl ;58 p lo t (Th, etak , wait=1, va lue=1, f i l l =1,cmm="Est imativa r e s i d u a l " ) ;59

60 //Refinamento da malha61 Th=trunc (Th, 1 , s p l i t =2) ;62 phi=phi ;63 rho=rho ;64 65 // Imprimindo a convergenc ia66 f o r ( i n t n=0;n<4;n++)67 cout <<" convergence ra t e = "<< log ( L2error [ n ] / L2error [ n+1]) / l og ( 2 . )<< " " << log (

erroRes [ n ] / erroRes [ n+1]) / l og ( 2 . ) <<endl ;

Listing B.2: testes_cap3/teste1_adapt.edp

1 /∗−−−−Problema modelo 1 : Problema com so lucao conhec ida −−−−−−−∗/2 /∗−−−−−−−−−−−−Refinamento adaptat ivo−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/3

4 //Comando para imprimir somente o que f o i pedido5 ve rbo s i t y =0;6

7 /∗−−−−−−−−−−−−−−−−−−−Refinamento adaptat ivo.−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8 /∗ Codigo d i s p on i v e l em f ree f em++/examples++−t u t o r i a l /AdaptRes idua lError Ind icator .

edp ∗/9

10 // macro the get the cur rent mesh s i z e11 // parameter12 // in : Th the mesh13 // Vh P1 f e spac e on Th14 // out :15 // h : the Vh f i n i t e element f i n i t e s e t to the cur rent mesh s i z e16 macro MeshSizecomputation (Th,Vh, h)17 /∗ Th mesh18 Vh P1 f i n i t e element space19 h the P1 mesh s i z e va lue ∗/20 r e a l [ i n t ] count (Th . nv ) ;21 /∗ mesh s i z e ( lenEdge = $\ int_e 1$ ) ∗/22 var f vmeshsizen (u , v )=i n t a l l e d g e s (Th, qfnbpE=1) (v ) ;23 /∗ number o f edge / par ver tex ∗/24 var f vedgecount (u , v )=i n t a l l e d g e s (Th, qfnbpE=1) (v/ lenEdge ) ;25 /∗26 computation o f the mesh s i z e27 −−−−−−−−−−−−−−−−−−−−−−−−−−−−− ∗/28 count=vedgecount (0 ,Vh) ;29 h [ ] = 0 . ;30 h [ ]= vmeshsizen (0 ,Vh) ;31 h [ ]=h [ ] . / count ;32 // end o f macro MeshSizecomputation33

34 // macro to remesh accord ing the de r e s i d u a l i n d i c a t o r

Page 61: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

CÓDIGOS UTILIZADOS 47

35 // in :36 // Th the mesh37 // Nh P0 f e spac e on Th38 // Vh P1 f e spac e on Th39 // v i nd i c a t o r the va r f o f to eva luate the i nd i c a t o r to ^240 // co e f on etameam . .41 // −−−−−−42 macro ReMeshIndicator (Th,Nh,Vh, v ind i ca to r , c o e f )43 44 Vh h=0;45 /∗Aval ia o tamanho da malha ∗/46 MeshSizecomputation (Th,Vh, h) ;47 Nh etak ;48 etak [ ]= v ind i c a t o r (0 ,Nh) ;49 etak [ ]= sq r t ( etak [ ] ) ;50 p lo t ( etak , wait=1, f i l l =1, va lue=1,cmm="Estimador Res idua l " ) ;51 r e a l e t a s t a r= coe f ∗( etak [ ] . sum/ etak [ ] . n ) ;52

53 /∗ Calcula o novo espacamento ∗/54

55 Vh fn , sigma ;56 var f veta ( unused , v )=int2d (Th) ( etak ∗v ) ;57 var f vun ( unused , v )=int2d (Th) (1∗v ) ;58 fn [ ] = veta (0 ,Vh) ;59 sigma [ ]= vun (0 ,Vh) ;60 fn [ ]= fn [ ] . / sigma [ ] ;61 fn = max(min ( fn / e ta s ta r , 3 . ) , 0 . 3333 ) ;62

63 /∗ new mesh s i z e ∗/64 h = h / fn ;65 /∗ p lo t (h , wait=1) ; ∗/66 Th=adaptmesh (Th, I sMet r i c =1,h , sp l i t pbedge=1,nbvx=10000) ;67 68

69 // Problema modelo 170

71 // mesh d e f i n i t i o n72 border ba ( t =0 ,1)x=t ; y=0; l a b e l =1; ;73 border bb( t =0 ,1)x=1; y=t ; l a b e l =2; ;74 border bc ( t =0 ,1)x=1−t ; y=1; l a b e l =3; ;75 border bd( t =0 ,1)x=0; y=1−t ; l a b e l =4; ;76

77 //Gerando a malha e os espacos de funcoes78 mesh Th = buildmesh ( ba (5 ) + bb (5) + bc (5 ) +bd (5) ) ;79

80 f e spac e Vh(Th, P1) ;81 f e spac e Nh(Th, P0) ;82

83 Vh u , v ;84 r e a l cc =0.7 ;85 func f=2∗pi ∗ pi ∗ s i n ( p i ∗x ) ∗ s i n ( p i ∗y ) ;86 func uexata=s i n ( p i ∗x ) ∗ s i n ( p i ∗y ) ;87

88 problem Poisson (u , v ) =89 int2d (Th, q f o rde r=5) (dx (u) ∗dx (v ) + dy (u) ∗dy (v ) )90 − int2d (Th, q f o rde r=5) ( f ∗v )+ on (1 , 2 , 3 , 4 , u = 0) ; ;91

92 var f est imador ( unused , chiK ) =93 i n t a l l e d g e s (Th) ( chiK∗ lenEdge∗ square ( jump(N. x∗dx (u)+N. y∗dy (u) ) ) )94 +int2d (Th) ( chiK∗ square ( hTr iang le ∗( f+dxx (u)+dyy (u) ) ) ) ;95

96 r e a l [ i n t ] L2error (7 ) ;97 r e a l [ i n t ] normaH1 (7) ;98 r e a l [ i n t ] erroRes (7 ) ;99

Page 62: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

48 APÊNDICE B

100 f o r ( i n t n=0;n< 7 ; n++)101 //Obtem as aproximacoes102 u=u ;103 Poisson ;104

105 //Calculando a norma H1 da so lucao106 normaH1 [ n ] = sq r t ( int2d (Th) ( ( u) ^2) + int2d (Th) ( ( dx (u) ) ^2) + int2d (Th) ( ( dy (u) ) ^2) ) ;107

108 //Calcu lo da norma L2 do e r ro109 L2error [ n]= sq r t ( int2d (Th) ( ( u−uexata ) ^2) ) ;110

111 //Calcu lo do est imador r e s i d u a l112 Nh etak ;113 etak [ ]= est imador (0 ,Nh) ;114

115 //Calcu lo do e r ro do est imador116 erroRes [ n]= sq r t ( etak [ ] . sum) ;117

118 // Imprime os dados119 cout << " NV = "<< Th. nv << " NT = " << Th. nt << " ErroL2 = "<<L2error [ n ] <<" Erro

estimado : " << erroRes [ n ] <<" E = " << erroRes [ n ] / normaH1 [ n ] << endl ;120 p lo t (u , wait=1, va lue=1, f i l l =1,cmm="Aproximacao Obtida" ) ;121

122 //Ref ina a malha123 ReMeshIndicator (Th,Nh,Vh, estimador , cc ) ;124

Listing B.3: testes_cap3/teste2.edp

1 /∗−−−−−Problema modelo 2 : Problema com s i ngu l a r i d ade −−−−−−−−∗/2 /∗−−−−−−−−−−−Refinamento uniforme−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/3

4 //Comando para imprimir somente o que f o i pedido5 ve rbo s i t y =0;6

7 //Def in indo o contorno8 border ba ( t =−1.0 ,0.0) x=t ; y=−1; l a b e l =1; ; // see Fig , 5 . 1 59 border bb( t =0 ,1)x=0; y=−1+t ; l a b e l =2; ;

10 border bc ( t =0 ,1)x=t ; y=0; l a b e l =3; ;11 border bd( t =0 ,1)x=1; y=t ; l a b e l =4; ;12 border be ( t =0 ,1)x=1−2∗t ; y=1; l a b e l =5; ;13 border bf ( t =0 ,1)x=−1; y=1−2∗t ; l a b e l =6; ;14

15 //Gera a malha16 mesh Th = buildmesh ( ba (5 ) + bb (5) + bc (5 ) +bd (5) + be (5 ) + bf (5 ) ) ;17

18 //Gera os espacos de funcoes19 f e spac e Vh(Th, P1) ;20 f e spac e Nh(Th, P0) ;21 Vh phi ,w;22 Nh rho ;23

24 //Funcao f25 func f =1;26

27 //Calcu lo do est imador r e s i d u a l28 var f est imador (uu , chiK ) =29 i n t a l l e d g e s (Th) ( chiK∗ lenEdge∗ square ( jump(N. x∗dx ( phi )+N. y∗dy ( phi ) ) ) )+int2d (Th) ( chiK∗

square ( hTr iang le ∗( f+dxx ( phi )+dyy ( phi ) ) ) ) ;30

31 r e a l [ i n t ] normaH1 (5) ;32 r e a l [ i n t ] erroRes (5 ) ;33

34 //Gera as aproximacoes com ref inamento uniforme35 f o r ( i n t n=0;n<5;n++)

Page 63: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

CÓDIGOS UTILIZADOS 49

36 //Obtem as aproximacoes pe lo MEF37 s o l v e l a p l a c e ( phi ,w)=int2d (Th) (dx ( phi ) ∗dx (w) + dy ( phi ) ∗dy (w) )− int2d (Th) ( f ∗w) + on

(1 , 2 , 3 , 4 , 5 , 6 , phi = 0) ;38

39 //Plotando a malha40 p lo t (Th, wait=1) ;41

42 //Plotando a aproximacao obt ida43 p lo t ( phi , wait=1, va lue=1, f i l l =1,cmm="Aproximacao obt ida " ) ;44

45 //Calcu lo do est imador r e s i d u a l46 Nh etak ;47 etak [ ]= est imador (0 ,Nh) ;48

49 //Calculando a norma H1 da so lucao50 normaH1 [ n ] = sq r t ( int2d (Th) ( ( phi ) ^2) + int2d (Th) ( ( dx ( phi ) ) ^2) + int2d (Th) ( ( dy ( phi )

) ^2) ) ;51

52 //Calcu lo do e r ro do est imador53 erroRes [ n]= sq r t ( etak [ ] . sum) ;54

55 // Imprime os dados56 cout << " NV = "<< Th. nv << " NT = " << Th. nt << " Erro estimado : " << erroRes [ n ]

<<" E = " << erroRes [ n ] / normaH1 [ n ] << endl ;57 p lo t (Th, etak , wait=1, va lue=1, f i l l =1,cmm="Est imativa r e s i d u a l " ) ;58

59 //Refinamento da malha60 Th=trunc (Th, 1 , s p l i t =2) ;61 phi=phi ;62 rho=rho ;63

Listing B.4: testes_cap3/teste2_adapt.edp

1 /∗−−−−−−Problema modelo 2 : Problema com s i ngu l a r i d ade −−−−−∗/2 /∗−−−−−−−−−−−−−−−−Refinamento adaptat ivo−−−−−−−−−−−−−−−−−−−∗/3

4 //Comando para imprimir somente o que f o i pedido5 ve rbo s i t y =0;6

7 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Refinamento adaptat ivo.−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/

8 /∗ Codigo d i s p on i v e l em f ree f em++/examples++−t u t o r i a l /AdaptRes idua lError Ind icator .edp ∗/

9

10 // macro the get the cur rent mesh s i z e11 // parameter12 // in : Th the mesh13 // Vh P1 f e spac e on Th14 // out :15 // h : the Vh f i n i t e element f i n i t e s e t to the cur rent mesh s i z e16 macro MeshSizecomputation (Th,Vh, h)17 /∗ Th mesh18 Vh P1 f i n i t e element space19 h the P1 mesh s i z e va lue ∗/20 r e a l [ i n t ] count (Th . nv ) ;21 /∗ mesh s i z e ( lenEdge = $\ int_e 1$ ) ∗/22 var f vmeshsizen (u , v )=i n t a l l e d g e s (Th, qfnbpE=1) (v ) ;23 /∗ number o f edge / par ver tex ∗/24 var f vedgecount (u , v )=i n t a l l e d g e s (Th, qfnbpE=1) (v/ lenEdge ) ;25 /∗26 computation o f the mesh s i z e27 −−−−−−−−−−−−−−−−−−−−−−−−−−−−− ∗/28 count=vedgecount (0 ,Vh) ;29 h [ ] = 0 . ;

Page 64: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

50 APÊNDICE B

30 h [ ]= vmeshsizen (0 ,Vh) ;31 h [ ]=h [ ] . / count ;32 // end o f macro MeshSizecomputation33

34 // macro to remesh accord ing the de r e s i d u a l i n d i c a t o r35 // in :36 // Th the mesh37 // Nh P0 f e spac e on Th38 // Vh P1 f e spac e on Th39 // v i nd i c a t o r the va r f o f to eva luate the i nd i c a t o r to ^240 // co e f on etameam . .41 // −−−−−−42 macro ReMeshIndicator (Th,Nh,Vh, v ind i ca to r , c o e f )43 44 Vh h=0;45 /∗Aval ia o tamanho da malha ∗/46 MeshSizecomputation (Th,Vh, h) ;47 Nh etak ;48 etak [ ]= v ind i c a t o r (0 ,Nh) ;49 etak [ ]= sq r t ( etak [ ] ) ;50 r e a l e t a s t a r= coe f ∗( etak [ ] . sum/ etak [ ] . n ) ;51

52 /∗ Calcula o novo espacamento ∗/53

54 Vh fn , sigma ;55 var f veta ( unused , v )=int2d (Th) ( etak ∗v ) ;56 var f vun ( unused , v )=int2d (Th) (1∗v ) ;57 fn [ ] = veta (0 ,Vh) ;58 sigma [ ]= vun (0 ,Vh) ;59 fn [ ]= fn [ ] . / sigma [ ] ;60 fn = max(min ( fn / e ta s ta r , 3 . ) , 0 . 3333 ) ;61

62 /∗ new mesh s i z e ∗/63 h = h / fn ;64 /∗ p lo t (h , wait=1) ; ∗/65 Th=adaptmesh (Th, I sMet r i c =1,h , sp l i t pbedge=1,nbvx=10000) ;66 67

68 /∗−−−−−−−−−−−−−−−−−−Problema modelo 2 : Problema com s i ngu l a r i d ade−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/

69

70 //Def in indo o contorno71 border ba ( t =−1.0 ,0.0) x=t ; y=−1; l a b e l =1; ;72 border bb( t =0 ,1)x=0; y=−1+t ; l a b e l =2; ;73 border bc ( t =0 ,1)x=t ; y=0; l a b e l =3; ;74 border bd( t =0 ,1)x=1; y=t ; l a b e l =4; ;75 border be ( t =0 ,1)x=1−2∗t ; y=1; l a b e l =5; ;76 border bf ( t =0 ,1)x=−1; y=1−2∗t ; l a b e l =6; ;77

78 //Geracao da malha79 mesh Th = buildmesh ( ba (5 ) + bb (5) + bc (5 ) +bd (5) + be (5 ) + bf (5 ) ) ;80

81 // De f in i cao dos espacos de e lementos f i n i t o s82 f e spac e Vh(Th, P1) ;83 f e spac e Nh(Th, P0) ; // Armazena o ind i cado r do e r ro84

85 Vh u , v ; //Espacos de funcoes86 r e a l cc =0.65; //Constante para o re f inamento adaptat ivo87

88 func f =1;89

90 //Resolve o problema − l a p l a c i ano u = f91 problem Poisson (u , v ) =92 int2d (Th, q f o rde r=5) (dx (u) ∗dx (v ) + dy (u) ∗dy (v ) )93 − int2d (Th, q f o rde r=5) ( f ∗v )+ on (1 , 2 , 3 , 4 , 5 , 6 , u = 0) ;

Page 65: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

CÓDIGOS UTILIZADOS 51

94

95 // est imador r e s i d u a l96 var f es t imadorRes idua l ( unused , chiK ) =97 i n t a l l e d g e s (Th) ( chiK∗ lenEdge∗ square ( jump(N. x∗dx (u)+N. y∗dy (u) ) ) )98 +int2d (Th) ( chiK∗ square ( hTr iang le ∗( f+dxx (u)+dyy (u) ) ) ) ;99

100 r e a l [ i n t ] normaH1 (5) ;101 r e a l [ i n t ] erroRes (5 ) ;102

103 //Gera as aproximacoes com ref inamento adaptat ivo104 f o r ( i n t n=0;n< 5 ; n++)105 //Obtem as aproximacoes106 u=u ;107 Poisson ;108

109 //Calculando a norma H1 da so lucao110 normaH1 [ n ] = sq r t ( int2d (Th) ( ( u) ^2) + int2d (Th) ( ( dx (u) ) ^2) + int2d (Th) ( ( dy (u) ) ^2) ) ;111

112 //Calcu lo do est imador r e s i d u a l113 Nh etak ;114 etak [ ]= est imadorRes idua l (0 ,Nh) ;115

116 //Calcu lo do e r ro r e s i d u a l117 erroRes [ n]= sq r t ( etak [ ] . sum) ;118

119 // Imprime os dados120 cout << " NV = "<< Th. nv << " NT = " << Th. nt <<" Erro estimado : " << erroRes [ n ]

<<" E = " << erroRes [ n ] / normaH1 [ n ] << endl ;121 p lo t (u , wait=1, va lue=1, f i l l =1,cmm="Aproximacao Obtida" ) ;122

123 //Ref ina a malha124 ReMeshIndicator (Th,Nh,Vh, est imadorRes idual , cc ) ;125

Listing B.5: testes_cap4/teste3_unif.edp

1 /∗−−−−−−−−−− Problema modelo 3 : E l a s t i c i d ad e Linear−−−−−−−−−−−−−−−−−−−∗/2 /∗−−−−−−−−−−−−−−−−−−−−Refinamento uniforme−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/3 // Imprime somente o que f o i pedido4 ve rbo s i t y = 0 ;5 /∗−−−−−−−−−−−−−−−−−−−− Anal i s e do problema : p laca com furo c i r c u l a r c e n t r a l

−−−−−−−−−−−−−−−−−−−−−−−−∗/6

7 // Geometria ( f r o n t e i r a parametr izada por t )8 border a ( t=0 ,2∗ pi ) x=0.5+0.2∗ s i n ( t ) ; y=1.0+0.2∗ cos ( t ) ; l a b e l =1; ;9 border b( t =0 ,1)x=t ; y=0; l a b e l =2; ;

10 border c ( t =0 ,2)x=1;y=t ; l a b e l =3; ;11 border d( t =0 ,1)x=1−t ; y=2; l a b e l =4; ;12 border e ( t =0 ,2)x=0;y=2−t ; l a b e l =5; ;13

14

15 // Var i ave i s a u x i l i a r e s16 i n t NITER = 4 ; // numero de i t e r a c o e s de re f inamento17 r e a l c o e f = 1e6 ; // Co e f i c i e n t e a u x i l i a r para p l o t a r os r e s u l t ado s18 r e a l [ i n t ] erroRes (NITER) ; // Armazena o e r ro r e s i d u a l cometido19

20 //Parametros do problema21 r e a l E = 7e10 ; // Modulo de E l a s t i c i d ad e (Young ' s modulus )22 r e a l nu = 0 . 2 8 ; // Coe f i c i e n t e de Poisson23 r e a l Forcex= 0 ; // Forca ho r i z on t a l24 r e a l Forcey= 5e3 ; // Forca v e r t i c a l25 r e a l rhsx=0; // Forca de campo f na d i r e cao x26 r e a l rhsy=0; // Forca de campo f na d i r e cao y27

28 // Var i ave i s dependentes

Page 66: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

52 APÊNDICE B

29 r e a l mu = E/(2∗(1+nu) ) ; // Modulo de r i g i d e z30 r e a l lambda = E∗nu/((1+nu) ∗(1−2∗nu) ) ; // Constantes de Lame31 r e a l lm=lambda+mu, l2m=lambda+2∗mu; // v a r i a v e i s a u x i l i a r e s32

33 cout << "lambda ,mu, Force ="<<lambda<< " " << mu << " " << Forcey << endl ;34

35 mesh Th = buildmesh ( a (30)+b (10)+c (10)+d (10)+e (10) ) ; // Th : i n i t i a l mesh withp r e s c r i b ed number o f knots on borders

36 p lo t (Th, wait=1, cmm="Di s c r e t i z a c ao i n i c i a l " ) ;37

38 //Espacos de funcoes39 f e spac e Vh(Th , [ P2 , P2 ] ) ;40 Vh [ u1 , u2 ] , [ v1 , v2 ] ;41 f e spac e zVh(Th, P1) ;42 f e spac e Gh(Th, P1) ;43 f e spac e Nh(Th, P0) ;44 //Componentes para o t enso r de t r a co e s45 zVh s11 , s22 , s12 , DS;46

47 // macros para a formulacao f r a c a48 macro Div (u1 , u2 ) (dx ( u1 )+dy (u2 ) ) // end o f macro49 macro St ra in (u1 , u2 , v1 , v2 ) ( dx ( u1 ) ∗dx ( v1 ) +0.5∗(dy ( u1 )+dx (u2 ) ) ∗( dy ( v1 )+dx ( v2 ) )+dy (u2 ) ∗

dy ( v2 ) ) // end o f macro50

51

52 problem Beam( [ u1 , u2 ] , [ v1 , v2 ] )=53 int2d (Th) ( lambda∗Div (u1 , u2 ) ∗Div ( v1 , v2 ) + 2∗mu∗ St ra in (u1 , u2 , v1 , v2 ) )54 +int2d (Th) ( rhsy ∗v2 )55 −int1d (Th, 4 ) ( Forcey∗v2 )56 + on (2 , u1=0,u2=0) ;57 ;58

59

60 macro DivStressx (u1 , u2 ) ( l2m∗dxx ( u1 )+lm∗dxy ( u2 )+mu∗dyy ( u1 ) ) // end o f macro61 macro DivStressy (u1 , u2 ) ( l2m∗dyy ( u2 )+lm∗dxy ( u1 )+mu∗dxx ( u2 ) ) // end o f macro62 macro StressNx (u1 , u2 ) ( ( l2m∗dx ( u1 )+lambda∗dy ( u2 ) ) ∗N. x + mu∗( dx ( u2 )+dy (u1 ) ) ∗N. y ) //

end o f macro63 macro StressNy (u1 , u2 ) (mu∗( dx ( u2 )+dy (u1 ) ) ∗N. x + ( l2m∗dy ( u2 )+lambda∗dx ( u1 ) ) ∗N. y ) //

end o f macro64

65 var f Est imadorResidual ( unused , chiK ) =66 int2d (Th) ( chiK∗ square ( hTr iang le ) ∗( square ( rhsx+DivStres sx (u1 , u2 ) )+square ( rhsy+

DivStres sy (u1 , u2 ) ) ) )67 +i n t a l l e d g e s (Th) ( chiK∗ lenEdge ∗( square ( jump( StressNx (u1 , u2 ) ) ) + square ( jump(

StressNy (u1 , u2 ) ) ) ) )68 +int1d (Th, d) ( chiK∗ lenEdge ∗( square ( StressNx (u1 , u2 )−Forcex )+square ( StressNy (u1 , u2 )

−Forcey ) ) ) ;69

70

71 f o r ( i n t n=0; n < NITER; n++)72 73 Beam; // Obtem as aproximacoes74 s11= lambda ∗( dx ( u1 )+dy (u2 ) )+2∗mu∗dx ( u1 ) ; // Tensao na d i r e cao x75 s22= lambda ∗( dx ( u1 )+dy (u2 ) )+2∗mu∗dy ( u1 ) ; // Tensao na d i r e cao y76 s12= mu∗( dx ( u1 )+dy (u2 ) ) ; // Tensao de c i sa lhamento77 DS= ( abs ( s11+s22 )+sq r t ( ( s11−s22 )^2+s12 ^2) ) /2 ;78

79 //Apl ica o deslocamento obt ido na malha80 mesh th1 = movemesh(Th, [ x+coe f ∗u1 , y+coe f ∗u2 ] ) ;81

82 //Calcu lo do est imador r e s i d u a l83 Nh etak ;84 etak [ ]= EstimadorResidual (0 ,Nh) ;85

86 //Calcu lo do e r ro do est imador

Page 67: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

CÓDIGOS UTILIZADOS 53

87 erroRes [ n]= sq r t ( etak [ ] . sum) ;88

89 // Imprime os dados90 cout << "NN = "<< Th. nv << " NT = " << Th. nt << " etak = min " << etak [ ] . min << "

max=" << etak [ ] . max <<" Erro estimado : " << erroRes [ n ] <<endl ;91

92 //Gera as imagens93 p lo t (Th, etak , wait=1, va lue=1, f i l l =1,cmm="Est imativa r e s i d u a l " ) ;94 p lo t ( [ u1 , u2 ] , va lue=true , wait=1,cmm="Deslocamentos nodais " ) ;95 p lo t ( th1 , wait=1,cmm="Dominio des locado " ) ;96

97 //Refinamento da malha98 Th=trunc (Th, 1 , s p l i t =2) ;99 [ u1 , u2 ]=[ u1 , u2 ] ;

100 p lo t (Th, wait=1, cmm="Nova D i s c r e t i z a c ao " ) ;101

Listing B.6: testes_cap4/teste3_adapt.edp

1 /∗−−−−−−−− Problema modelo 3 : E l a s t i c i d ad e Linear −−−−−−−−−−−∗/2 /∗−−−−−−−−−−−−−−−Refinamento adaptat ivo−−−−−−−−−−−−−−−−−−−−−∗/3

4 // Imprime somente o que f o i pedido5 ve rbo s i t y = 0 ;6

7 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Refinamento adaptat ivo.−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/

8 /∗ Codigo d i s p on i v e l em http ://www. igpm . rwth−aachen . de/Download/ws0708/NumaIngII/elbow . edp ∗/

9

10 // macro to get the cur rent mesh s i z e11 // parameter12 // in : Th the mesh13 // Gh P1 FE−space on Th14 // out :15 // h : the Gh f i n i t e element s e t to the cur rent mesh s i z e16 macro MeshSizecomputation (Th,Gh, h)17 /∗ Th mesh18 Gh P1 f i n i t e element space19 h the P1 mesh s i z e va lue ∗/20 r e a l [ i n t ] count (Th . nv ) ;21 /∗ mesh s i z e ( lenEdge = $\ int_e 1$ ) ∗/22 var f vmeshsizen (u , v )=i n t a l l e d g e s (Th, qfnbpE=1) (v ) ;23 /∗ number o f edge / par ver tex ∗/24 var f vedgecount (u , v )=i n t a l l e d g e s (Th, qfnbpE=1) (v/ lenEdge ) ;25 /∗26 computation o f the mesh s i z e27 −−−−−−−−−−−−−−−−−−−−−−−−−−−−− ∗/28 count=vedgecount (0 ,Gh) ;29 h [ ] = 0 . ;30 h [ ]= vmeshsizen (0 ,Gh) ;31

32 h [ ]=h [ ] . / count ;33 // end o f macro MeshSizecomputation34

35 // macro to remesh accord ing the de r e s i d u a l i n d i c a t o r36 // in :37 // Th the mesh38 // Ph P0 f e spac e on Th39 // Gh P1 f e spac e on Th40 // v i nd i c a t o r the va r f o f to eva luate the i nd i c a t o r to ^241 // co e f on etameam . .42 // −−−−−−43 macro ReMeshIndicator (Th,Ph ,Gh, v ind i ca to r , c o e f )44

Page 68: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

54 APÊNDICE B

45 Gh h=0;46 Ph etak ;47 etak [ ]= v ind i c a t o r (0 ,Ph) ;48 etak [ ]= sq r t ( etak [ ] ) ;49

50 /∗ eva lu ta t e the mesh s i z e ∗/51 MeshSizecomputation (Th,Gh, h) ;52

53 r e a l e t a s t a r= coe f ∗( etak [ ] . sum/ etak [ ] . n ) ;54 /∗ here etaK i s d i s c on t i nou s55 we use the P1 L2 p r o j e c t i o n with mass lumping . ∗/56

57 Gh fn , nu ;58 var f veta ( unused , v )=int2d (Th) ( etak ∗v ) ;59 var f vun ( unused , v )=int2d (Th) (1∗v ) ;60 fn [ ] = veta (0 ,Gh) ;61 nu [ ]= vun (0 ,Gh) ;62 fn [ ]= fn [ ] . / nu [ ] ;63 fn = max(min ( fn / e ta s ta r , 3 . ) , 0 . 3333 ) ;64

65 /∗ new mesh s i z e ∗/66 h = h / fn ;67 Th=adaptmesh (Th, I sMet r i c =1,h , sp l i t pbedge=1,nbvx=10000) ;68 // end o f macro ReMeshIndicator69

70

71 /∗−−−−−−−−−−−−−−−−−−−− Anal i s e do problema : p laca com furo c i r c u l a r c e n t r a l−−−−−−−−−−−−−−−−−−−−−−−−∗/

72

73 // Geometria ( f r o n t e i r a parametr izada por t )74 border a ( t=0 ,2∗ pi ) x=0.5+0.2∗ s i n ( t ) ; y=1.0+0.2∗ cos ( t ) ; l a b e l =1; ;75 border b( t =0 ,1)x=t ; y=0; l a b e l =2; ;76 border c ( t =0 ,2)x=1;y=t ; l a b e l =3; ;77 border d( t =0 ,1)x=1−t ; y=2; l a b e l =4; ;78 border e ( t =0 ,2)x=0;y=2−t ; l a b e l =5; ;79

80

81 // Var i ave i s independentes82 i n t NITER = 4 ; // Numero de i t e r a c o e s de re f inamento83 r e a l [ i n t ] erroRes (NITER) ; // Armazena o e r ro r e s i d u a l cometido84 r e a l cc = 0 . 7 ; // Parametro para re f inamento da malha85 r e a l E = 7e10 ; // Modulo de e l a s t i c i d a d e86 r e a l nu = 0 . 2 8 ; // Coe f i c i e n t e de Poisson87 //Forcas ap l i c ada s88 r e a l Forcex= 0 ; // Forca ho r i z on t a l89 r e a l Forcey= 5e3 ; // Forca v e r f i c a l90 r e a l rhsx=0; // Forca de campo f na d i r e cao x91 r e a l rhsy=0; // Forca de campo f na d i r e cao y92

93 r e a l c o e f = 1e6 ; // Co e f i c i e n t e a u x i l i a r para p l o t a r os r e s u l t ado s94

95 // Var i ave i s dependentes96 r e a l mu = E/(2∗(1+nu) ) ; // Modulo de r i g i d e z97 r e a l lambda = E∗nu/((1+nu) ∗(1−2∗nu) ) ; // Constantes de Lame98 r e a l lm=lambda+mu, l2m=lambda+2∗mu; // v a r i a v e i s a u x i l i a r e s99

100 cout << "lambda ,mu, Force ="<<lambda<< " " << mu << " " << Forcey << endl ; // Imprimeas f o r c a s

101

102 //Gera e p lo ta a malha i n i c i a l103 mesh Th = buildmesh ( a (30)+b (10)+c (10)+d (10)+e (10) ) ;104 p lo t (Th, wait=1, cmm="Di s c r e t i z a c ao i n i c i a l " ) ;105

106 //Espacos de funcoes107 f e spac e Vh(Th , [ P2 , P2 ] ) ;

Page 69: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

CÓDIGOS UTILIZADOS 55

108 Vh [ u1 , u2 ] , [ v1 , v2 ] ;109 f e spac e zVh(Th, P1) ;110 f e spac e Gh(Th, P1) ;111 f e spac e Nh(Th, P0) ;112 //Componentes para o t enso r de t r a co e s113 zVh s11 , s22 , s12 , DS;114

115 // Macros para a formulacao f r a c a116 macro Div (u1 , u2 ) (dx ( u1 )+dy (u2 ) ) // end o f macro117 macro St ra in (u1 , u2 , v1 , v2 ) ( dx ( u1 ) ∗dx ( v1 ) +0.5∗(dy ( u1 )+dx (u2 ) ) ∗( dy ( v1 )+dx ( v2 ) )+dy (u2 ) ∗

dy ( v2 ) ) // end o f macro118

119

120 problem Beam ( [ u1 , u2 ] , [ v1 , v2 ] )=121 int2d (Th) ( lambda∗Div (u1 , u2 ) ∗Div ( v1 , v2 ) + 2∗mu∗ St ra in (u1 , u2 , v1 , v2 ) )122 +int2d (Th) ( rhsy ∗v2 )123 −int1d (Th, 4 ) ( Forcey∗v2 )124 + on (2 , u1=0,u2=0) ;125 ;126

127

128 macro DivStressx (u1 , u2 ) ( l2m∗dxx ( u1 )+lm∗dxy ( u2 )+mu∗dyy ( u1 ) ) // end o f macro129 macro DivStressy (u1 , u2 ) ( l2m∗dyy ( u2 )+lm∗dxy ( u1 )+mu∗dxx ( u2 ) ) // end o f macro130 macro StressNx (u1 , u2 ) ( ( l2m∗dx ( u1 )+lambda∗dy ( u2 ) ) ∗N. x + mu∗( dx ( u2 )+dy (u1 ) ) ∗N. y ) //

end o f macro131 macro StressNy (u1 , u2 ) (mu∗( dx ( u2 )+dy (u1 ) ) ∗N. x + ( l2m∗dy ( u2 )+lambda∗dx ( u1 ) ) ∗N. y ) //

end o f macro132

133 var f Est imadorResidual ( unused , chiK ) =134 int2d (Th) ( chiK∗ square ( hTr iang le ) ∗( square ( rhsx+DivStres sx (u1 , u2 ) )+square ( rhsy+

DivStres sy (u1 , u2 ) ) ) )135 +i n t a l l e d g e s (Th) ( chiK∗ lenEdge ∗( square ( jump( StressNx (u1 , u2 ) ) ) + square ( jump(

StressNy (u1 , u2 ) ) ) ) )136 +int1d (Th, d) ( chiK∗ lenEdge ∗( square ( StressNx (u1 , u2 )−Forcex )+square ( StressNy (u1 , u2 )

−Forcey ) ) ) ;137

138

139

140 f o r ( i n t n=0; n < NITER; n++)141 142 Beam; // Obtem as aproximacoes143 s11= lambda ∗( dx ( u1 )+dy (u2 ) )+2∗mu∗dx ( u1 ) ; // Tensao na d i r e cao x144 s22= lambda ∗( dx ( u1 )+dy (u2 ) )+2∗mu∗dy ( u1 ) ; // Tensao na d i r e cao y145 s12= mu∗( dx ( u1 )+dy (u2 ) ) ; // Tensao de c i sa lhamento146 DS= ( abs ( s11+s22 )+sq r t ( ( s11−s22 )^2+s12 ^2) ) /2 ;147

148 //Apl ica o deslocamento obt ido na malha149 mesh th1 = movemesh(Th, [ x+coe f ∗u1 , y+coe f ∗u2 ] ) ;150

151 //Calcu lo do est imador r e s i d u a l152 Nh etak ;153 etak [ ]= EstimadorResidual (0 ,Nh) ;154

155 //Calcu lo do e r ro do est imador156 erroRes [ n]= sq r t ( etak [ ] . sum) ;157

158 // Imprime os dados159 cout << "NN = "<< Th. nv << " NT = " << Th. nt << " etak = min " << etak [ ] . min << "

max=" << etak [ ] . max <<" Erro estimado : " << erroRes [ n ] <<endl ;160

161 //Gera as imagens162 p lo t (Th, etak , wait=1, va lue=1, f i l l =1,cmm="Est imativa r e s i d u a l " ) ;163 p lo t ( [ u1 , u2 ] , va lue=true , wait=1,cmm="Deslocamentos nodais " ) ;164 p lo t ( th1 , wait=1,cmm="Dominio des locado " ) ;165

Page 70: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

56 APÊNDICE B

166 ReMeshIndicator (Th,Nh,Gh, EstimadorResidual , cc ) ; // adaptat ion167 p lo t (Th, wait=1, cmm="Nova D i s c r e t i z a c ao " ) ;168

Page 71: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

Apêndice C

Figuras

Neste apêndice encontram-se as guras obtidas nas simulações em seus tamanhos originais.

C.1 Problema de Poisson

C.1.1 Problema 3.15

Figura C.1: Aproximação obtida com elementos lineares - Fig (3.2a)

57

Page 72: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

58 APÊNDICE C

Figura C.2: Residuo obtido na aproximação - Fig (3.2b)

Figura C.3: Aproximação obtida na primeira iteração do renamento uniforme - Fig (3.3a)

Page 73: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

PROBLEMA DE POISSON 59

Figura C.4: Residuo obtido na aproximação da malha gerada pela primeira iteração do renamento uni-forme - Fig (3.3b)

Figura C.5: Aproximação obtida na primeira iteração do renamento adaptativo - Fig (3.4a)

Page 74: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

60 APÊNDICE C

Figura C.6: Residuo obtido na aproximação da malha gerada pela primeira iteração do renamento adap-tativo - Fig (3.4b)

Figura C.7: Aproximação obtida na quarta iteração do renamento uniforme - Fig (3.5a)

Page 75: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

PROBLEMA DE POISSON 61

Figura C.8: Residuo obtido na aproximação da malha gerada pela quarta iteração do renamento uniforme- Fig (3.5b)

Figura C.9: Aproximação obtida na quarta iteração do renamento adaptativo - Fig (3.6a)

Page 76: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

62 APÊNDICE C

Figura C.10: Residuo obtido na aproximação da malha gerada pela quarta iteração do renamento adap-tativo - Fig (3.6b)

Figura C.11: Estimador residual obtido na primeira iteração do renamento adaptativo - Fig (3.7a)

Page 77: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

PROBLEMA DE POISSON 63

Figura C.12: Estimador residual obtido na segunda iteração do renamento adaptativo - Fig (3.7b)

Figura C.13: Estimador residual obtido na terceira iteração do renamento adaptativo - Fig (3.7c)

Page 78: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

64 APÊNDICE C

Figura C.14: Estimador residual obtido na quarta iteração do renamento adaptativo - Fig (3.7d)

Page 79: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

PROBLEMA DE POISSON 65

C.1.2 Problema 3.16

Figura C.15: Aproximação inicial para o problema 3.16 - Fig (3.9a)

Figura C.16: Estimador residual obtido para a aproximação inicial - Fig (3.9b)

Page 80: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

66 APÊNDICE C

Figura C.17: Aproximação obtida na primeira iteração do renamento uniforme - Fig (3.10a)

Figura C.18: Estimador residual obtido na primeira iteração do renamento uniforme - Fig (3.10b)

Page 81: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

PROBLEMA DE POISSON 67

Figura C.19: Aproximação obtida na primeira iteração do renamento adaptativo - Fig (3.11a)

Figura C.20: Estimador residual obtido na primeira iteração do renamento adaptativo - Fig (3.11b)

Page 82: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

68 APÊNDICE C

Figura C.21: Aproximação obtida na quarta iteração do renamento uniforme - Fig (3.12a)

Figura C.22: Estimador residual obtido na quarta iteração do renamento adaptativo - Fig (3.12b)

Page 83: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

ELASTICIDADE LINEAR 69

C.2 Elasticidade Linear

Figura C.23: Aproximação inicial para o problema da placa com furo - Fig (4.2a)

Page 84: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

70 APÊNDICE C

Figura C.24: Estimador residual obtido na aproximação inicial - Fig (4.2b)

Page 85: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

ELASTICIDADE LINEAR 71

Figura C.25: Deslocamento obtido na terceira iteração de renamento uniforme - Fig (4.4a)

Page 86: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

72 APÊNDICE C

Figura C.26: Estimador residual obtido na terceira iteração de renamento uniforme - Fig (4.6a)

Page 87: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

ELASTICIDADE LINEAR 73

Figura C.27: Estimador residual obtido na terceira iteração de renamento adaptativo - Fig (4.6b)

Page 88: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

74 APÊNDICE C

Page 89: Durante o desenvolvimento deste trabalho o autor recebeu ...cpg/teses/Dissertacao_MarcoAlexandreClaudino.pdf · Lista de Figuras 2.1 Exemplos de malhas de um domínio . A gura a)

Referências Bibliográcas

[AH08] Kendall Atkinson e Weimin Han. Theoretical Numeric Analysis: A Functional Analysis

Framework. Springer, 2nd edição, 2008. 3, 5, 6

[AO00] M Ainsworth e J.T. Oden. A posteriori error estimation in Finite Element Analysis. Wiley,1st edição, 2000. 1

[Bra07] Dietrich Braess. Finite Elements - Theory, fast solvers and applications in solid mechanics.Cambridge, 3rd edição, 2007. 2, 3, 5, 8, 12, 33, 35

[BS08] Sussane C. Brenner e L.Ridgway Scott. Mathematical Theory of Finite Element Methods.Springer, 3rd edição, 2008. 2, 3, 5, 6, 33, 35

[Cia78] P.G. Ciarlet. The Finite Element Method for Elliptic Problems. Oxford, 1978. 8

[Eva98] Lawrence C. Evans. Partial Dierential Equations. American Mathematical Society, 1998.5

[Hec14] Frédéric Hecht. FreeFem++, Version 3.32. 3rd edição, 2014. 2, 15, 16, 43, 44

[SF73] G. Strang e G. J. Fix. An Analysis of the Finite Element Method. Prentice-Hall, 1973. 29

[Ver99] Rudgier Verfuth. A review of a posteriori error estimation techniques for elasticity prob-lems. Computer Methods in applied mechanics and engineering, 176:419440, 1999. 2,33

[Ver13] Rudgier Verfuth. A Posteriori Error Estimation Techniques for Finite Element Methods.Oxford University Press, 2013. 2

[Wat06] Elman Silvester Watchen. Finite Elements and Fast Iterative Solvers with aplications in

incompressible uid dynamics. Oxford University Press, 2006. 2

75