introdução problemas de contorno - fisica.ufpb.brarosas/fisicacomputacional/aula06... ·...

117
Introdução Problemas de valor inicial Problemas de Contorno Equações diferenciais ordinárias Alexandre Rosas Departamento de Física Universidade Federal da Paraíba 24 de Junho de 2009 Alexandre Rosas Equações diferenciais ordinárias

Upload: hoangquynh

Post on 07-Nov-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Equações diferenciais ordinárias

Alexandre Rosas

Departamento de FísicaUniversidade Federal da Paraíba

24 de Junho de 2009

Alexandre Rosas Equações diferenciais ordinárias

Page 2: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Motivação

Problemas envolvendo equações diferenciais são muitocomuns em físicaExceto pelos mais simples, que podemos resolveranaliticamente, temos que recorrer a métodos numéricosDe forma geral, não existe um "melhor método"A compreensão dos diferentes métodos, seus pontosfortes e suas deficiências é fundamental parapodermos ter confiança nos resultados

Alexandre Rosas Equações diferenciais ordinárias

Page 3: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Motivação

Problemas envolvendo equações diferenciais são muitocomuns em físicaExceto pelos mais simples, que podemos resolveranaliticamente, temos que recorrer a métodos numéricosDe forma geral, não existe um "melhor método"A compreensão dos diferentes métodos, seus pontosfortes e suas deficiências é fundamental parapodermos ter confiança nos resultados

Alexandre Rosas Equações diferenciais ordinárias

Page 4: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Motivação

Problemas envolvendo equações diferenciais são muitocomuns em físicaExceto pelos mais simples, que podemos resolveranaliticamente, temos que recorrer a métodos numéricosDe forma geral, não existe um "melhor método"A compreensão dos diferentes métodos, seus pontosfortes e suas deficiências é fundamental parapodermos ter confiança nos resultados

Alexandre Rosas Equações diferenciais ordinárias

Page 5: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Motivação

Problemas envolvendo equações diferenciais são muitocomuns em físicaExceto pelos mais simples, que podemos resolveranaliticamente, temos que recorrer a métodos numéricosDe forma geral, não existe um "melhor método"A compreensão dos diferentes métodos, seus pontosfortes e suas deficiências é fundamental parapodermos ter confiança nos resultados

Alexandre Rosas Equações diferenciais ordinárias

Page 6: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

O problema

Resolver uma equação do tipo

d2ydx2 + q(x)

dydx

= r(x)

Sempre podemos reescrever equações diferenciais deordem superior como um conjunto de equaçõesdiferenciais de primeira ordem

dydx

= z(x)

dzdx

= r(x)− q(x)z(x)

Portanto, o problema passa a ser estudar um conjunto deN equações diferenciais ordinárias de primeira ordem

dyi

dx= fi(x , y1, y2, . . . , yN)

Alexandre Rosas Equações diferenciais ordinárias

Page 7: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

O problema

Resolver uma equação do tipo

d2ydx2 + q(x)

dydx

= r(x)

Sempre podemos reescrever equações diferenciais deordem superior como um conjunto de equaçõesdiferenciais de primeira ordem

dydx

= z(x)

dzdx

= r(x)− q(x)z(x)

Portanto, o problema passa a ser estudar um conjunto deN equações diferenciais ordinárias de primeira ordem

dyi

dx= fi(x , y1, y2, . . . , yN)

Alexandre Rosas Equações diferenciais ordinárias

Page 8: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

O problema

Resolver uma equação do tipo

d2ydx2 + q(x)

dydx

= r(x)

Sempre podemos reescrever equações diferenciais deordem superior como um conjunto de equaçõesdiferenciais de primeira ordem

dydx

= z(x)

dzdx

= r(x)− q(x)z(x)

Portanto, o problema passa a ser estudar um conjunto deN equações diferenciais ordinárias de primeira ordem

dyi

dx= fi(x , y1, y2, . . . , yN)

Alexandre Rosas Equações diferenciais ordinárias

Page 9: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

O problema

Às vezes é conveniente incluir prefatores (funções davariável independente) na definição das novas variáveispara evitar problemas numéricosTentativa e erro, senso comum, experiência→ indicam ocaminho

Alexandre Rosas Equações diferenciais ordinárias

Page 10: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

O problema

Às vezes é conveniente incluir prefatores (funções davariável independente) na definição das novas variáveispara evitar problemas numéricosTentativa e erro, senso comum, experiência→ indicam ocaminho

Alexandre Rosas Equações diferenciais ordinárias

Page 11: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Condições de contorno

O conjunto de equações diferenciais não definecompletamente o problemaO tipo das condições de contorno são determinantes paraa solução numérica a ser empregada

1 Problemas de valor inicial – todos os yi são conhecidos emum determinado ponto x0

2 Programas de valor de contorno – informação sobre ocomportamento da função na fronteira da região deintegração

Alexandre Rosas Equações diferenciais ordinárias

Page 12: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Condições de contorno

O conjunto de equações diferenciais não definecompletamente o problemaO tipo das condições de contorno são determinantes paraa solução numérica a ser empregada

1 Problemas de valor inicial – todos os yi são conhecidos emum determinado ponto x0

2 Programas de valor de contorno – informação sobre ocomportamento da função na fronteira da região deintegração

Alexandre Rosas Equações diferenciais ordinárias

Page 13: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Condições de contorno

O conjunto de equações diferenciais não definecompletamente o problemaO tipo das condições de contorno são determinantes paraa solução numérica a ser empregada

1 Problemas de valor inicial – todos os yi são conhecidos emum determinado ponto x0

2 Programas de valor de contorno – informação sobre ocomportamento da função na fronteira da região deintegração

Alexandre Rosas Equações diferenciais ordinárias

Page 14: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Condições de contorno

O conjunto de equações diferenciais não definecompletamente o problemaO tipo das condições de contorno são determinantes paraa solução numérica a ser empregada

1 Problemas de valor inicial – todos os yi são conhecidos emum determinado ponto x0

2 Programas de valor de contorno – informação sobre ocomportamento da função na fronteira da região deintegração

Alexandre Rosas Equações diferenciais ordinárias

Page 15: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Idéia geral

Reescrever dy e dx como diferenças finitas ∆y e ∆xMultiplicar a equação por ∆xAssim obtemos expressões para a variação das funçõesquando um passo de tamanho ∆x é dadoNo limite em que ∆x é muito pequeno, temos uma boaaproximação para a equação diferencial

Alexandre Rosas Equações diferenciais ordinárias

Page 16: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Idéia geral

Reescrever dy e dx como diferenças finitas ∆y e ∆xMultiplicar a equação por ∆xAssim obtemos expressões para a variação das funçõesquando um passo de tamanho ∆x é dadoNo limite em que ∆x é muito pequeno, temos uma boaaproximação para a equação diferencial

Alexandre Rosas Equações diferenciais ordinárias

Page 17: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Idéia geral

Reescrever dy e dx como diferenças finitas ∆y e ∆xMultiplicar a equação por ∆xAssim obtemos expressões para a variação das funçõesquando um passo de tamanho ∆x é dadoNo limite em que ∆x é muito pequeno, temos uma boaaproximação para a equação diferencial

Alexandre Rosas Equações diferenciais ordinárias

Page 18: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Idéia geral

Reescrever dy e dx como diferenças finitas ∆y e ∆xMultiplicar a equação por ∆xAssim obtemos expressões para a variação das funçõesquando um passo de tamanho ∆x é dadoNo limite em que ∆x é muito pequeno, temos uma boaaproximação para a equação diferencial

Alexandre Rosas Equações diferenciais ordinárias

Page 19: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Método de Euler

Consideremos a equação y ′(x) = f (x , y) com a condiçãode contorno y(x0) = y0Desejamos encontrar y(x)

Fazendo uma expansão em série de Taylor, temos

y(x) = y(x0) + (x − x0)y ′(x0) +O[(x − x0)2]

Definindo o tamanho do passo como h = x − x0,

y(x0 + h) = y(x0) + hf (x0, y0)

O método de Euler consiste na iteração desta equação

yn+1 = yn + hf (xn, yn)

Alexandre Rosas Equações diferenciais ordinárias

Page 20: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Método de Euler

Consideremos a equação y ′(x) = f (x , y) com a condiçãode contorno y(x0) = y0Desejamos encontrar y(x)

Fazendo uma expansão em série de Taylor, temos

y(x) = y(x0) + (x − x0)y ′(x0) +O[(x − x0)2]

Definindo o tamanho do passo como h = x − x0,

y(x0 + h) = y(x0) + hf (x0, y0)

O método de Euler consiste na iteração desta equação

yn+1 = yn + hf (xn, yn)

Alexandre Rosas Equações diferenciais ordinárias

Page 21: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Método de Euler

Consideremos a equação y ′(x) = f (x , y) com a condiçãode contorno y(x0) = y0Desejamos encontrar y(x)

Fazendo uma expansão em série de Taylor, temos

y(x) = y(x0) + (x − x0)y ′(x0) +O[(x − x0)2]

Definindo o tamanho do passo como h = x − x0,

y(x0 + h) = y(x0) + hf (x0, y0)

O método de Euler consiste na iteração desta equação

yn+1 = yn + hf (xn, yn)

Alexandre Rosas Equações diferenciais ordinárias

Page 22: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Método de Euler

Consideremos a equação y ′(x) = f (x , y) com a condiçãode contorno y(x0) = y0Desejamos encontrar y(x)

Fazendo uma expansão em série de Taylor, temos

y(x) = y(x0) + (x − x0)y ′(x0) +O[(x − x0)2]

Definindo o tamanho do passo como h = x − x0,

y(x0 + h) = y(x0) + hf (x0, y0)

O método de Euler consiste na iteração desta equação

yn+1 = yn + hf (xn, yn)

Alexandre Rosas Equações diferenciais ordinárias

Page 23: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Método de Euler

Consideremos a equação y ′(x) = f (x , y) com a condiçãode contorno y(x0) = y0Desejamos encontrar y(x)

Fazendo uma expansão em série de Taylor, temos

y(x) = y(x0) + (x − x0)y ′(x0) +O[(x − x0)2]

Definindo o tamanho do passo como h = x − x0,

y(x0 + h) = y(x0) + hf (x0, y0)

O método de Euler consiste na iteração desta equação

yn+1 = yn + hf (xn, yn)

Alexandre Rosas Equações diferenciais ordinárias

Page 24: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Método de Euler

Consideremos a equação y ′(x) = f (x , y) com a condiçãode contorno y(x0) = y0Desejamos encontrar y(x)

Fazendo uma expansão em série de Taylor, temos

y(x) = y(x0) + (x − x0)y ′(x0) +O[(x − x0)2]

Definindo o tamanho do passo como h = x − x0,

y(x0 + h) = y(x0) + hf (x0, y0)

O método de Euler consiste na iteração desta equação

yn+1 = yn + hf (xn, yn)

Alexandre Rosas Equações diferenciais ordinárias

Page 25: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Implementação

Para calcularmos y(x), dividimos o intervalo x − x0 em Npartes h = x−x0

N

Usamos o método de Euler

yn+1 = yn + hf (xn, yn)

x1 x2 x3

Alexandre Rosas Equações diferenciais ordinárias

Page 26: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Implementação

Para calcularmos y(x), dividimos o intervalo x − x0 em Npartes h = x−x0

N

Usamos o método de Euler

yn+1 = yn + hf (xn, yn)

x1 x2 x3

Alexandre Rosas Equações diferenciais ordinárias

Page 27: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Implementação

Para calcularmos y(x), dividimos o intervalo x − x0 em Npartes h = x−x0

N

Usamos o método de Euler

yn+1 = yn + hf (xn, yn)

x1 x2 x3

Alexandre Rosas Equações diferenciais ordinárias

Page 28: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Implementação

Para calcularmos y(x), dividimos o intervalo x − x0 em Npartes h = x−x0

N

Usamos o método de Euler

yn+1 = yn + hf (xn, yn)

x1 x2 x3

Alexandre Rosas Equações diferenciais ordinárias

Page 29: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Implementação

Para calcularmos y(x), dividimos o intervalo x − x0 em Npartes h = x−x0

N

Usamos o método de Euler

yn+1 = yn + hf (xn, yn)

x1 x2 x3

Alexandre Rosas Equações diferenciais ordinárias

Page 30: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Implementação

Para calcularmos y(x), dividimos o intervalo x − x0 em Npartes h = x−x0

N

Usamos o método de Euler

yn+1 = yn + hf (xn, yn)

x1 x2 x3

Alexandre Rosas Equações diferenciais ordinárias

Page 31: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Implementação

Para calcularmos y(x), dividimos o intervalo x − x0 em Npartes h = x−x0

N

Usamos o método de Euler

yn+1 = yn + hf (xn, yn)

x1 x2 x3

Alexandre Rosas Equações diferenciais ordinárias

Page 32: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Deficiências do método

O erro é de ordem hA derivada é considerada constante ao longo do intervalohSeu valor no fim do intervalo não é considerado

Alexandre Rosas Equações diferenciais ordinárias

Page 33: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Deficiências do método

O erro é de ordem hA derivada é considerada constante ao longo do intervalohSeu valor no fim do intervalo não é considerado

Alexandre Rosas Equações diferenciais ordinárias

Page 34: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Deficiências do método

O erro é de ordem hA derivada é considerada constante ao longo do intervalohSeu valor no fim do intervalo não é considerado

Alexandre Rosas Equações diferenciais ordinárias

Page 35: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de segunda ordem

No caso do método de Euler, expandimos y(x) atéprimeira ordemSe expandirmos até segunda ordem, teremos

y(x) = y(x0) + hf (x0, y0) + y ′′(x0)h2

2+O[h3]

Alexandre Rosas Equações diferenciais ordinárias

Page 36: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de segunda ordem

No caso do método de Euler, expandimos y(x) atéprimeira ordemSe expandirmos até segunda ordem, teremos

y(x) = y(x0) + hf (x0, y0) + y ′′(x0)h2

2+O[h3]

Alexandre Rosas Equações diferenciais ordinárias

Page 37: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de segunda ordem

No caso do método de Euler, expandimos y(x) atéprimeira ordemSe expandirmos até segunda ordem, teremos

y(x) = y(x0) + hf (x0, y0) + y ′′(x0)h2

2+O[h3]

Precisamos, portanto, determinar y ′′(x0)

Alexandre Rosas Equações diferenciais ordinárias

Page 38: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de segunda ordem

No caso do método de Euler, expandimos y(x) atéprimeira ordemSe expandirmos até segunda ordem, teremos

y(x) = y(x0) + hf (x0, y0) + y ′′(x0)h2

2+O[h3]

Precisamos, portanto, determinar y ′′(x0)

y ′′(x0) = fx (x0, y0) + fy (x0, y0)f (x0, y0)

Alexandre Rosas Equações diferenciais ordinárias

Page 39: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de segunda ordem

No caso do método de Euler, expandimos y(x) atéprimeira ordemSe expandirmos até segunda ordem, teremos

y(x) = y(x0) + hf (x0, y0) + y ′′(x0)h2

2+O[h3]

Logo a expansão se torna

y(x) = y(x0)+hf (x0, y0)+h2

2fx (x0, y0)+

h2

2fy (x0, y0)f (x0, y0)

Alexandre Rosas Equações diferenciais ordinárias

Page 40: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de segunda ordem

O método Runge-Kutta assume que a inclinação nointervalo h pode ser escrita como uma combinação linearde f (x , y) em certos pontos do intervaloNo Runge-Kutta de segunda ordem

y(x) = y(x0) + Ahf0 + Bhf1

Alexandre Rosas Equações diferenciais ordinárias

Page 41: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de segunda ordem

O método Runge-Kutta assume que a inclinação nointervalo h pode ser escrita como uma combinação linearde f (x , y) em certos pontos do intervaloNo Runge-Kutta de segunda ordem

y(x) = y(x0) + Ahf0 + Bhf1

Alexandre Rosas Equações diferenciais ordinárias

Page 42: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de segunda ordem

O método Runge-Kutta assume que a inclinação nointervalo h pode ser escrita como uma combinação linearde f (x , y) em certos pontos do intervaloNo Runge-Kutta de segunda ordem

y(x) = y(x0) + Ahf0 + Bhf1

onde f0 = f (x0, y0), f1 = f (x0 + a1h, y0 + a2hf0), sendoA, B, a1 e a2 constantes a determinar

Alexandre Rosas Equações diferenciais ordinárias

Page 43: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de segunda ordem

O método Runge-Kutta assume que a inclinação nointervalo h pode ser escrita como uma combinação linearde f (x , y) em certos pontos do intervaloNo Runge-Kutta de segunda ordem

y(x) = y(x0) + Ahf0 + Bhf1Expandindo f1 em série de Taylor, temos

f1 = f (x0, y0) + a1hfx (x0, y0) + a2hfy (x0, y0)f (x0, y0)

Alexandre Rosas Equações diferenciais ordinárias

Page 44: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de segunda ordem

O método Runge-Kutta assume que a inclinação nointervalo h pode ser escrita como uma combinação linearde f (x , y) em certos pontos do intervaloNo Runge-Kutta de segunda ordem

y(x) = y(x0) + Ahf0 + Bhf1Expandindo f1 em série de Taylor, temos

f1 = f (x0, y0) + a1hfx (x0, y0) + a2hfy (x0, y0)f (x0, y0)

Portanto, temos

y(x) = y(x0)+(A+B)hf (x0, y0)+Bh2a1fx (x0, y0)+Bh2a2fy (x0, y0)f (x0, y0)

Alexandre Rosas Equações diferenciais ordinárias

Page 45: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de segunda ordemComparando a aproximação de Runge-Kutta

y(x) = y(x0)+(A+B)hf (x0, y0)+Bh2a1fx (x0, y0)+Bh2a2fy (x0, y0)f (x0, y0)

com a expansão em série de Taylor,

y(x) = y(x0) + hf (x0, y0) +h2

2fx (x0, y0) +

h2

2fy (x0, y0)f (x0, y0)

temos

A + B = 1

Ba1 =12

Ba2 =12

Alexandre Rosas Equações diferenciais ordinárias

Page 46: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de segunda ordemComparando a aproximação de Runge-Kutta

y(x) = y(x0)+(A+B)hf (x0, y0)+Bh2a1fx (x0, y0)+Bh2a2fy (x0, y0)f (x0, y0)

com a expansão em série de Taylor,

y(x) = y(x0) + hf (x0, y0) +h2

2fx (x0, y0) +

h2

2fy (x0, y0)f (x0, y0)

temos

A + B = 1

Ba1 =12

Ba2 =12

Alexandre Rosas Equações diferenciais ordinárias

Page 47: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de segunda ordemComparando a aproximação de Runge-Kutta

y(x) = y(x0)+(A+B)hf (x0, y0)+Bh2a1fx (x0, y0)+Bh2a2fy (x0, y0)f (x0, y0)

com a expansão em série de Taylor,

y(x) = y(x0) + hf (x0, y0) +h2

2fx (x0, y0) +

h2

2fy (x0, y0)f (x0, y0)

temos

A + B = 1

Ba1 =12

Ba2 =12

Alexandre Rosas Equações diferenciais ordinárias

Page 48: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Escolha dos parâmetros

Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamente

Alexandre Rosas Equações diferenciais ordinárias

Page 49: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Escolha dos parâmetros

Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 0, B = 1, a1 = a2 = 1/2

Regra do ponto médio

Alexandre Rosas Equações diferenciais ordinárias

Page 50: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Escolha dos parâmetros

Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 0, B = 1, a1 = a2 = 1/2

Regra do ponto médio

x1 x2 x3

Alexandre Rosas Equações diferenciais ordinárias

Page 51: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Escolha dos parâmetros

Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 0, B = 1, a1 = a2 = 1/2

Regra do ponto médio

x1 x2 x3

Alexandre Rosas Equações diferenciais ordinárias

Page 52: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Escolha dos parâmetros

Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 0, B = 1, a1 = a2 = 1/2

Regra do ponto médio

x1 x2 x3

Alexandre Rosas Equações diferenciais ordinárias

Page 53: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Escolha dos parâmetros

Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 0, B = 1, a1 = a2 = 1/2

Regra do ponto médio

x1 x2 x3

Alexandre Rosas Equações diferenciais ordinárias

Page 54: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Escolha dos parâmetros

Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 0, B = 1, a1 = a2 = 1/2

Regra do ponto médio

x1 x2 x3

Alexandre Rosas Equações diferenciais ordinárias

Page 55: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Escolha dos parâmetros

Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 0, B = 1, a1 = a2 = 1/2

Regra do ponto médio

x1 x2 x3

Alexandre Rosas Equações diferenciais ordinárias

Page 56: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Escolha dos parâmetros

Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 0, B = 1, a1 = a2 = 1/2

Regra do ponto médio

x1 x2 x3

Alexandre Rosas Equações diferenciais ordinárias

Page 57: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Escolha dos parâmetros

Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 1/3, B = 2/3, a1 = a2 = 3/4 → valores ótimos(minimiza coeficiente do erro)

Alexandre Rosas Equações diferenciais ordinárias

Page 58: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de quarta ordem

Runge-Kutta de segunda ordem é apenas didático

Alexandre Rosas Equações diferenciais ordinárias

Page 59: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de quarta ordem

Runge-Kutta de segunda ordem é apenas didáticoPara uso prático → quarta ordem

Alexandre Rosas Equações diferenciais ordinárias

Page 60: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de quarta ordem

Dedução segue a mesma linha de raciocínio:

Alexandre Rosas Equações diferenciais ordinárias

Page 61: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de quarta ordem

Dedução segue a mesma linha de raciocínio:1 Expandir y(x0 + h) até quarta ordem

Alexandre Rosas Equações diferenciais ordinárias

Page 62: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de quarta ordem

Dedução segue a mesma linha de raciocínio:1 Expandir y(x0 + h) até quarta ordem2 Assumir que

y(x0 + h) = y(x0) + h [Af0 + Bf1 + Cf2 + Df3]

Alexandre Rosas Equações diferenciais ordinárias

Page 63: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de quarta ordem

Dedução segue a mesma linha de raciocínio:1 Expandir y(x0 + h) até quarta ordem2 Assumir que

y(x0 + h) = y(x0) + h [Af0 + Bf1 + Cf2 + Df3]

onde f0 = f (x0, y0)

f1 = f (x0 + αh, y0 + a0f0h)

f2 = f (x0 + βh, y0 + b0f0h + b1f1h)

f3 = f (x0 + γh, y0 + c0f0h + c1f1h + c2f2h)

Alexandre Rosas Equações diferenciais ordinárias

Page 64: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de quarta ordem

Dedução segue a mesma linha de raciocínio:1 Expandir y(x0 + h) até quarta ordem2 Assumir que

y(x0 + h) = y(x0) + h [Af0 + Bf1 + Cf2 + Df3]

onde f0 = f (x0, y0)

f1 = f (x0 + αh, y0 + a0f0h)

f2 = f (x0 + βh, y0 + b0f0h + b1f1h)

f3 = f (x0 + γh, y0 + c0f0h + c1f1h + c2f2h)

3 Expandir f1, f2 e f3 em série de Taylor até terceira ordem

Alexandre Rosas Equações diferenciais ordinárias

Page 65: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de quarta ordem

Dedução segue a mesma linha de raciocínio:1 Expandir y(x0 + h) até quarta ordem2 Assumir que

y(x0 + h) = y(x0) + h [Af0 + Bf1 + Cf2 + Df3]

onde f0 = f (x0, y0)

f1 = f (x0 + αh, y0 + a0f0h)

f2 = f (x0 + βh, y0 + b0f0h + b1f1h)

f3 = f (x0 + γh, y0 + c0f0h + c1f1h + c2f2h)

3 Expandir f1, f2 e f3 em série de Taylor até terceira ordem4 Equacionar os termos das duas séries

Alexandre Rosas Equações diferenciais ordinárias

Page 66: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de quarta ordem

Dedução segue a mesma linha de raciocínio:1 Expandir y(x0 + h) até quarta ordem2 Assumir que

y(x0 + h) = y(x0) + h [Af0 + Bf1 + Cf2 + Df3]

onde f0 = f (x0, y0)

f1 = f (x0 + αh, y0 + a0f0h)

f2 = f (x0 + βh, y0 + b0f0h + b1f1h)

f3 = f (x0 + γh, y0 + c0f0h + c1f1h + c2f2h)

3 Expandir f1, f2 e f3 em série de Taylor até terceira ordem4 Equacionar os termos das duas séries5 Serão 10 equações e 13 icógnitas → diversas

possibilidadesAlexandre Rosas Equações diferenciais ordinárias

Page 67: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta de quarta ordem

Escolha mais comum:

f0 = f (x0, y0)

f1 = f (x0 +h2, y0 +

h2

f0)

f2 = f (x0 +h2, y0 +

h2

f1)

f3 = f (x0 + h, y0 + hf2)

comy(x0 + h) = y(x0) +

h6

(f0 + 2f1 + 2f2 + f3)

Note que no caso f (x , y) = g(x), o método equivale àregra de Simpson

Alexandre Rosas Equações diferenciais ordinárias

Page 68: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Precisão

Como saber se nossa resposta é precisa?Como avaliar o erro?Possível solução: calcular y(x) usando dois tamanhos depasso diferentes e comparar os resultadosPodemos fazer essa comparação depois de vários passosContudo, a natureza da solução pode depender da regiãoPortanto, os resultados devem ser comparadosfrequentemente

Alexandre Rosas Equações diferenciais ordinárias

Page 69: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Precisão

Como saber se nossa resposta é precisa?Como avaliar o erro?Possível solução: calcular y(x) usando dois tamanhos depasso diferentes e comparar os resultadosPodemos fazer essa comparação depois de vários passosContudo, a natureza da solução pode depender da regiãoPortanto, os resultados devem ser comparadosfrequentemente

Alexandre Rosas Equações diferenciais ordinárias

Page 70: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Precisão

Como saber se nossa resposta é precisa?Como avaliar o erro?Possível solução: calcular y(x) usando dois tamanhos depasso diferentes e comparar os resultadosPodemos fazer essa comparação depois de vários passosContudo, a natureza da solução pode depender da regiãoPortanto, os resultados devem ser comparadosfrequentemente

Alexandre Rosas Equações diferenciais ordinárias

Page 71: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Precisão

Como saber se nossa resposta é precisa?Como avaliar o erro?Possível solução: calcular y(x) usando dois tamanhos depasso diferentes e comparar os resultadosPodemos fazer essa comparação depois de vários passosContudo, a natureza da solução pode depender da regiãoPortanto, os resultados devem ser comparadosfrequentemente

Alexandre Rosas Equações diferenciais ordinárias

Page 72: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Precisão

Como saber se nossa resposta é precisa?Como avaliar o erro?Possível solução: calcular y(x) usando dois tamanhos depasso diferentes e comparar os resultadosPodemos fazer essa comparação depois de vários passosContudo, a natureza da solução pode depender da regiãoPortanto, os resultados devem ser comparadosfrequentemente

Alexandre Rosas Equações diferenciais ordinárias

Page 73: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Passos de tamanho variável

Para atingirmos uma determinada precisão ε, podemosusar o seguinte algoritmo

1 Calcular y(x0 + h) e y(x0 + h/2)2 Se |y(x0 + h)− y(x0 + h/2)|<ε

Erro é pequeno e estamos realizando um esforçocomputacional desnecessárioAceitamos o passo e diminuimos h para o próximo passo

3 Se |y(x0 + h)− y(x0 + h/2)|>εO erro é muito grandeRejeitamos o passo, diminuimos h e tentamos de novo

Alexandre Rosas Equações diferenciais ordinárias

Page 74: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta Fehlberg

Alternativa aos passos de tamanho variávelUtiliza o conhecimento do erro para estimar o tamanho dopasso necessário para manter uma dada precisão

O método

Alexandre Rosas Equações diferenciais ordinárias

Page 75: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta Fehlberg

Alternativa aos passos de tamanho variávelUtiliza o conhecimento do erro para estimar o tamanho dopasso necessário para manter uma dada precisão

O método

Alexandre Rosas Equações diferenciais ordinárias

Page 76: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta Fehlberg

Alternativa aos passos de tamanho variávelUtiliza o conhecimento do erro para estimar o tamanho dopasso necessário para manter uma dada precisão

O método

Para um método de Runge-Kutta de ordem n, temos

y(x0 + h) = yexato + khn+1

Alexandre Rosas Equações diferenciais ordinárias

Page 77: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta Fehlberg

Alternativa aos passos de tamanho variávelUtiliza o conhecimento do erro para estimar o tamanho dopasso necessário para manter uma dada precisão

O método

Para um método de Runge-Kutta de ordem n, temos

y(x0 + h) = yexato + khn+1

Portanto, a diferença entre Runge-Kutta de ordem n e n + 1 é

yn(x0 + h)− yn+1(x0 + h) = khn+1 − k̂hn+2 ≈ khn+1

Alexandre Rosas Equações diferenciais ordinárias

Page 78: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta Fehlberg

Alternativa aos passos de tamanho variávelUtiliza o conhecimento do erro para estimar o tamanho dopasso necessário para manter uma dada precisão

O método

Para um método de Runge-Kutta de ordem n, temos

y(x0 + h) = yexato + khn+1

Portanto, a diferença entre Runge-Kutta de ordem n e n + 1 é

yn(x0 + h)− yn+1(x0 + h) = khn+1 − k̂hn+2 ≈ khn+1

Logo k ≈ yn−yn+1hn+1

Alexandre Rosas Equações diferenciais ordinárias

Page 79: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta Fehlberg

Alternativa aos passos de tamanho variávelUtiliza o conhecimento do erro para estimar o tamanho dopasso necessário para manter uma dada precisão

O método

Portanto, se hnew é o tamanho do novo passo de forma a essasduas expressões concordarem (aceitando um erro ε)

Alexandre Rosas Equações diferenciais ordinárias

Page 80: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta Fehlberg

Alternativa aos passos de tamanho variávelUtiliza o conhecimento do erro para estimar o tamanho dopasso necessário para manter uma dada precisão

O método

Portanto, se hnew é o tamanho do novo passo de forma a essasduas expressões concordarem (aceitando um erro ε)

hnewε = khn+1new =

hn+1new

hn+1 |yn − yn+1|

Alexandre Rosas Equações diferenciais ordinárias

Page 81: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta Fehlberg

Alternativa aos passos de tamanho variávelUtiliza o conhecimento do erro para estimar o tamanho dopasso necessário para manter uma dada precisão

O método

Portanto, se hnew é o tamanho do novo passo de forma a essasduas expressões concordarem (aceitando um erro ε)

hnewε = khn+1new =

hn+1new

hn+1 |yn − yn+1|

Dondehnew = h n

√hε

|yn(x0 + h)− yn+1(x0 + h)|

Alexandre Rosas Equações diferenciais ordinárias

Page 82: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Implementação

1 A partir de um passo de tamanho h, calculamos o erro|yn − yn+1|

2 Se o erro for maior do que o aceitável, rejeitamos o passoe repetimos o processo com um passo menor hnew

3 Se o erro for menor que o aceitável, estamos usando umpasso grande demais. Aceitamos o passo e aumentamoso passo para a próxima iteração.

Atenção

Como o custo computacional de repetir um passo é relativa-mente alto, é aconselhável ser conservador e usar um passomenor que o estimado. Digamos, 0.9hnew

Alexandre Rosas Equações diferenciais ordinárias

Page 83: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Implementação

1 A partir de um passo de tamanho h, calculamos o erro|yn − yn+1|

2 Se o erro for maior do que o aceitável, rejeitamos o passoe repetimos o processo com um passo menor hnew

3 Se o erro for menor que o aceitável, estamos usando umpasso grande demais. Aceitamos o passo e aumentamoso passo para a próxima iteração.

Atenção

Como o custo computacional de repetir um passo é relativa-mente alto, é aconselhável ser conservador e usar um passomenor que o estimado. Digamos, 0.9hnew

Alexandre Rosas Equações diferenciais ordinárias

Page 84: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Implementação

1 A partir de um passo de tamanho h, calculamos o erro|yn − yn+1|

2 Se o erro for maior do que o aceitável, rejeitamos o passoe repetimos o processo com um passo menor hnew

3 Se o erro for menor que o aceitável, estamos usando umpasso grande demais. Aceitamos o passo e aumentamoso passo para a próxima iteração.

Atenção

Como o custo computacional de repetir um passo é relativa-mente alto, é aconselhável ser conservador e usar um passomenor que o estimado. Digamos, 0.9hnew

Alexandre Rosas Equações diferenciais ordinárias

Page 85: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Implementação

1 A partir de um passo de tamanho h, calculamos o erro|yn − yn+1|

2 Se o erro for maior do que o aceitável, rejeitamos o passoe repetimos o processo com um passo menor hnew

3 Se o erro for menor que o aceitável, estamos usando umpasso grande demais. Aceitamos o passo e aumentamoso passo para a próxima iteração.

Atenção

Como o custo computacional de repetir um passo é relativa-mente alto, é aconselhável ser conservador e usar um passomenor que o estimado. Digamos, 0.9hnew

Alexandre Rosas Equações diferenciais ordinárias

Page 86: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Ganho computacional

Qual o ganho computacional do método?Em geral, nenhum.O que se ganha com a otimização do passo, se perde coma aplicação de dois Runge-Kutta para cada passo.A Sacada:Usar métodos Runge-Kutta de diferentes ordens, com asmesmas funções intermediárias!!!

Alexandre Rosas Equações diferenciais ordinárias

Page 87: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Ganho computacional

Qual o ganho computacional do método?Em geral, nenhum.O que se ganha com a otimização do passo, se perde coma aplicação de dois Runge-Kutta para cada passo.A Sacada:Usar métodos Runge-Kutta de diferentes ordens, com asmesmas funções intermediárias!!!

Alexandre Rosas Equações diferenciais ordinárias

Page 88: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Ganho computacional

Qual o ganho computacional do método?Em geral, nenhum.O que se ganha com a otimização do passo, se perde coma aplicação de dois Runge-Kutta para cada passo.A Sacada:Usar métodos Runge-Kutta de diferentes ordens, com asmesmas funções intermediárias!!!

Alexandre Rosas Equações diferenciais ordinárias

Page 89: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Ganho computacional

Qual o ganho computacional do método?Em geral, nenhum.O que se ganha com a otimização do passo, se perde coma aplicação de dois Runge-Kutta para cada passo.A Sacada:Usar métodos Runge-Kutta de diferentes ordens, com asmesmas funções intermediárias!!!

Alexandre Rosas Equações diferenciais ordinárias

Page 90: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta-Fehlberg de quarta/quinta ordem

Funções intermediárias

f0 = f (x0, y0)

f1 = f (x0 +h4, y0 +

h4

f0)

f2 = f (x0 +3h8, y0 +

3h32

f0 +9h32

f1)

f3 = f (x0 +12h13

, y0 +1932h2197

f0 −7200h2197

f1 +7296h2197

f2)

f4 = f (x0 + h, y0 +439h216

f0 − 8hf1 +3680h

513f2 −

845h4104

f3)

f5 = f (x0 +h2, y0 −

8h27

f0 + 2hf1 −3544h2565

f2 +1859h4104

f3 −11h40

f4)

Alexandre Rosas Equações diferenciais ordinárias

Page 91: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta-Fehlberg de quarta/quinta ordem

Aproximações

y4 = y0 + h(

25216

f0 +14082565

f2 +21974104

f3 −15

f4

)y5 = y0 + h

(16

135f0 +

665612825

f2 +2856156430

f3 −9

50f4 +

255

f5

)

Alexandre Rosas Equações diferenciais ordinárias

Page 92: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg

Runge-Kutta-Fehlberg de quarta/quinta ordem

Erro

∆ = |y4−y5| = h∣∣∣∣ 1360

f0 −128

4275f2 −

219775240

f3 +1

50f4 +

255

f5

∣∣∣∣Não é necessário calcular y explicitamente para aceitar ounão o passo

hnew = 0.9h 4

√hε∆

Alexandre Rosas Equações diferenciais ordinárias

Page 93: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Problemas com condições de contorno fixas

Neste caso, queremos resolver uma EDO de ordem nsujeita a condições de contorno na superfíciePrimeiramente, reescrevemos a EDO como um conjuntode n equações de primeira ordem

Y =

yy ′

y ′′...

yn−1

Assim, teremos n1 condições de contorno no ponto inicial(t = 0) e n2 = n − n1 condições de contorno no ponto final(t = tf )

Alexandre Rosas Equações diferenciais ordinárias

Page 94: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Problemas com condições de contorno fixas

Neste caso, queremos resolver uma EDO de ordem nsujeita a condições de contorno na superfíciePrimeiramente, reescrevemos a EDO como um conjuntode n equações de primeira ordem

Y =

yy ′

y ′′...

yn−1

Assim, teremos n1 condições de contorno no ponto inicial(t = 0) e n2 = n − n1 condições de contorno no ponto final(t = tf )

Alexandre Rosas Equações diferenciais ordinárias

Page 95: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Problemas com condições de contorno fixas

Neste caso, queremos resolver uma EDO de ordem nsujeita a condições de contorno na superfíciePrimeiramente, reescrevemos a EDO como um conjuntode n equações de primeira ordem

Y =

yy ′

y ′′...

yn−1

Assim, teremos n1 condições de contorno no ponto inicial(t = 0) e n2 = n − n1 condições de contorno no ponto final(t = tf )

Alexandre Rosas Equações diferenciais ordinárias

Page 96: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Problemas com condições de contorno fixas

Neste caso, queremos resolver uma EDO de ordem nsujeita a condições de contorno na superfíciePrimeiramente, reescrevemos a EDO como um conjuntode n equações de primeira ordem

Y =

yy ′

y ′′...

yn−1

Assim, teremos n1 condições de contorno no ponto inicial(t = 0) e n2 = n − n1 condições de contorno no ponto final(t = tf )

Alexandre Rosas Equações diferenciais ordinárias

Page 97: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Método da tentativa e erro

1 Escolhemos n2 condições contorno arbitrárias (chute)complementanto as n1 condições já existentes no pontoinicial

2 Usando um método para problemas de valor inicial,deixamos o sistema evoluir até o ponto tf

3 Calculamos o erro em relação às condições de contornono ponto final

Se o erro (todas as componentes) for menor que atolerância, achamos a soluçãoSe não, escolhemos um novo chute voltamos ao passo 2

Alexandre Rosas Equações diferenciais ordinárias

Page 98: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Método da tentativa e erro

1 Escolhemos n2 condições contorno arbitrárias (chute)complementanto as n1 condições já existentes no pontoinicial

2 Usando um método para problemas de valor inicial,deixamos o sistema evoluir até o ponto tf

3 Calculamos o erro em relação às condições de contornono ponto final

Se o erro (todas as componentes) for menor que atolerância, achamos a soluçãoSe não, escolhemos um novo chute voltamos ao passo 2

Alexandre Rosas Equações diferenciais ordinárias

Page 99: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Método da tentativa e erro

1 Escolhemos n2 condições contorno arbitrárias (chute)complementanto as n1 condições já existentes no pontoinicial

2 Usando um método para problemas de valor inicial,deixamos o sistema evoluir até o ponto tf

3 Calculamos o erro em relação às condições de contornono ponto final

Se o erro (todas as componentes) for menor que atolerância, achamos a soluçãoSe não, escolhemos um novo chute voltamos ao passo 2

Alexandre Rosas Equações diferenciais ordinárias

Page 100: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Método da tentativa e erro

1 Escolhemos n2 condições contorno arbitrárias (chute)complementanto as n1 condições já existentes no pontoinicial

2 Usando um método para problemas de valor inicial,deixamos o sistema evoluir até o ponto tf

3 Calculamos o erro em relação às condições de contornono ponto final

Se o erro (todas as componentes) for menor que atolerância, achamos a soluçãoSe não, escolhemos um novo chute voltamos ao passo 2

Alexandre Rosas Equações diferenciais ordinárias

Page 101: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Método da tentativa e erro

1 Escolhemos n2 condições contorno arbitrárias (chute)complementanto as n1 condições já existentes no pontoinicial

2 Usando um método para problemas de valor inicial,deixamos o sistema evoluir até o ponto tf

3 Calculamos o erro em relação às condições de contornono ponto final

Se o erro (todas as componentes) for menor que atolerância, achamos a soluçãoSe não, escolhemos um novo chute voltamos ao passo 2

Alexandre Rosas Equações diferenciais ordinárias

Page 102: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Aprendendo a chutar

Queremos, a partir de um conjunto de condições decontorno α = {α1, α2, · · · , αn2}, encontrar um novoconjunto que faça o erro diminuir

α′ = α + ∆α

Para isso, escolhemos ∆α tal que

ε = J∆α J = [jij ] =

[∂εi

∂αj

]E aproximamos

∂εi

∂αj=εi(α1, · · · , αj + ∆αj , · · · , αn2)− εi(α1, · · · , αn2)

∆αj

Alexandre Rosas Equações diferenciais ordinárias

Page 103: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Aprendendo a chutar

Queremos, a partir de um conjunto de condições decontorno α = {α1, α2, · · · , αn2}, encontrar um novoconjunto que faça o erro diminuir

α′ = α + ∆α

Para isso, escolhemos ∆α tal que

ε = J∆α J = [jij ] =

[∂εi

∂αj

]E aproximamos

∂εi

∂αj=εi(α1, · · · , αj + ∆αj , · · · , αn2)− εi(α1, · · · , αn2)

∆αj

Alexandre Rosas Equações diferenciais ordinárias

Page 104: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Aprendendo a chutar

Queremos, a partir de um conjunto de condições decontorno α = {α1, α2, · · · , αn2}, encontrar um novoconjunto que faça o erro diminuir

α′ = α + ∆α

Para isso, escolhemos ∆α tal que

ε = J∆α J = [jij ] =

[∂εi

∂αj

]E aproximamos

∂εi

∂αj=εi(α1, · · · , αj + ∆αj , · · · , αn2)− εi(α1, · · · , αn2)

∆αj

Alexandre Rosas Equações diferenciais ordinárias

Page 105: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Aprendendo a chutar

Queremos, a partir de um conjunto de condições decontorno α = {α1, α2, · · · , αn2}, encontrar um novoconjunto que faça o erro diminuir

α′ = α + ∆α

Para isso, escolhemos ∆α tal que

ε = J∆α J = [jij ] =

[∂εi

∂αj

]E aproximamos

∂εi

∂αj=εi(α1, · · · , αj + ∆αj , · · · , αn2)− εi(α1, · · · , αn2)

∆αj

Alexandre Rosas Equações diferenciais ordinárias

Page 106: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Exemplo: EDO de segunda ordem

1 Escrevemos y ′′ = F (x , y , y ′) como 2 EDOs de ordem 1

dy1

dx= y2

dy2

dx= F (x , y , y ′)

2 As condições de contorno do problema são, portanto,3 Chute inicial: dois valores iniciais para y ′(x0), α1, α2

4 Usamos, por exemplo, o método de Runge-Kutta5 Calculamos o erro ε1,2 = y1,2(xf , α1,2)6 Como a mudança no erro deverá ser contrária ao erro,

temos7 Repetimos o processo, desde o passo 4 até que |ε2| se

torne menor que a tolerância

Alexandre Rosas Equações diferenciais ordinárias

Page 107: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Exemplo: EDO de segunda ordem

1 Escrevemos y ′′ = F (x , y , y ′) como 2 EDOs de ordem 12 As condições de contorno do problema são, portanto,

y1(x0) = y0 e y1(xf ) = yf

3 Chute inicial: dois valores iniciais para y ′(x0), α1, α2

4 Usamos, por exemplo, o método de Runge-Kutta5 Calculamos o erro ε1,2 = y1,2(xf , α1,2)6 Como a mudança no erro deverá ser contrária ao erro,

temos7 Repetimos o processo, desde o passo 4 até que |ε2| se

torne menor que a tolerância

Alexandre Rosas Equações diferenciais ordinárias

Page 108: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Exemplo: EDO de segunda ordem

1 Escrevemos y ′′ = F (x , y , y ′) como 2 EDOs de ordem 12 As condições de contorno do problema são, portanto,3 Chute inicial: dois valores iniciais para y ′(x0), α1, α2

4 Usamos, por exemplo, o método de Runge-Kutta5 Calculamos o erro ε1,2 = y1,2(xf , α1,2)

6 Como a mudança no erro deverá ser contrária ao erro,temos

7 Repetimos o processo, desde o passo 4 até que |ε2| setorne menor que a tolerância

Alexandre Rosas Equações diferenciais ordinárias

Page 109: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Exemplo: EDO de segunda ordem

1 Escrevemos y ′′ = F (x , y , y ′) como 2 EDOs de ordem 12 As condições de contorno do problema são, portanto,3 Chute inicial: dois valores iniciais para y ′(x0), α1, α2

4 Usamos, por exemplo, o método de Runge-Kutta paraobter

y1(xf , α1) e y1(xf , α2)

5 Calculamos o erro ε1,2 = y1,2(xf , α1,2)6 Como a mudança no erro deverá ser contrária ao erro,

temos7 Repetimos o processo, desde o passo 4 até que |ε2| se

torne menor que a tolerância

Alexandre Rosas Equações diferenciais ordinárias

Page 110: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Exemplo: EDO de segunda ordem

1 Escrevemos y ′′ = F (x , y , y ′) como 2 EDOs de ordem 12 As condições de contorno do problema são, portanto,3 Chute inicial: dois valores iniciais para y ′(x0), α1, α2

4 Usamos, por exemplo, o método de Runge-Kutta5 Calculamos o erro ε1,2 = y1,2(xf , α1,2) e estimamos

∂ε

∂α=

ε2 − ε1

α2 − α1

6 Como a mudança no erro deverá ser contrária ao erro,temos

7 Repetimos o processo, desde o passo 4 até que |ε2| setorne menor que a tolerância

Alexandre Rosas Equações diferenciais ordinárias

Page 111: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Exemplo: EDO de segunda ordem

1 Escrevemos y ′′ = F (x , y , y ′) como 2 EDOs de ordem 12 As condições de contorno do problema são, portanto,3 Chute inicial: dois valores iniciais para y ′(x0), α1, α2

4 Usamos, por exemplo, o método de Runge-Kutta5 Calculamos o erro ε1,2 = y1,2(xf , α1,2)

6 Como a mudança no erro deverá ser contrária ao erro,temos

∆α = − ε2∂ε∂α

7 Repetimos o processo, desde o passo 4 até que |ε2| setorne menor que a tolerância

Alexandre Rosas Equações diferenciais ordinárias

Page 112: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Exemplo: EDO de segunda ordem

1 Escrevemos y ′′ = F (x , y , y ′) como 2 EDOs de ordem 12 As condições de contorno do problema são, portanto,3 Chute inicial: dois valores iniciais para y ′(x0), α1, α2

4 Usamos, por exemplo, o método de Runge-Kutta paraobter

y1(xf , α1) e y1(xf , α2)

5 Calculamos o erro ε1,2 = y1,2(xf , α1,2)6 Como a mudança no erro deverá ser contrária ao erro,

temos7 Repetimos o processo, desde o passo 4 até que |ε2| se

torne menor que a tolerância

Alexandre Rosas Equações diferenciais ordinárias

Page 113: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Método dos elementos finitos

Mais uma vez, queremos resolver uma EDO comcondições de contorno nas bordas y(x0) = y0 e y(xf ) = yfPara isso, dividimos o intervalo em N partes iguais detamanho h, de forma que temos N + 1 pontos (yi , xi), ondeyi = y(xi)Discretizamos as derivadas da EDO (para uma EDO desegunda ordem, poderíamos escrever)

dyi

dx=

yi+1 − yi−1

2he

d2yi

dx2 =yi+1 − 2yi + yi−1

h2

Introduzindo essa discretização na EDO, calculamos umanova aproximação para yi em função dos valores de yi±1Repetimos o processo, até que a precisão desejada sejaobtida

<++>Alexandre Rosas Equações diferenciais ordinárias

Page 114: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Método dos elementos finitos

Mais uma vez, queremos resolver uma EDO comcondições de contorno nas bordas y(x0) = y0 e y(xf ) = yfPara isso, dividimos o intervalo em N partes iguais detamanho h, de forma que temos N + 1 pontos (yi , xi), ondeyi = y(xi)Discretizamos as derivadas da EDO (para uma EDO desegunda ordem, poderíamos escrever)

dyi

dx=

yi+1 − yi−1

2he

d2yi

dx2 =yi+1 − 2yi + yi−1

h2

Introduzindo essa discretização na EDO, calculamos umanova aproximação para yi em função dos valores de yi±1Repetimos o processo, até que a precisão desejada sejaobtida

<++>Alexandre Rosas Equações diferenciais ordinárias

Page 115: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Método dos elementos finitos

Mais uma vez, queremos resolver uma EDO comcondições de contorno nas bordas y(x0) = y0 e y(xf ) = yfPara isso, dividimos o intervalo em N partes iguais detamanho h, de forma que temos N + 1 pontos (yi , xi), ondeyi = y(xi)Discretizamos as derivadas da EDO (para uma EDO desegunda ordem, poderíamos escrever)

dyi

dx=

yi+1 − yi−1

2he

d2yi

dx2 =yi+1 − 2yi + yi−1

h2

Introduzindo essa discretização na EDO, calculamos umanova aproximação para yi em função dos valores de yi±1Repetimos o processo, até que a precisão desejada sejaobtida

<++>Alexandre Rosas Equações diferenciais ordinárias

Page 116: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Método dos elementos finitos

Mais uma vez, queremos resolver uma EDO comcondições de contorno nas bordas y(x0) = y0 e y(xf ) = yfPara isso, dividimos o intervalo em N partes iguais detamanho h, de forma que temos N + 1 pontos (yi , xi), ondeyi = y(xi)Discretizamos as derivadas da EDO (para uma EDO desegunda ordem, poderíamos escrever)

dyi

dx=

yi+1 − yi−1

2he

d2yi

dx2 =yi+1 − 2yi + yi−1

h2

Introduzindo essa discretização na EDO, calculamos umanova aproximação para yi em função dos valores de yi±1Repetimos o processo, até que a precisão desejada sejaobtida

<++>Alexandre Rosas Equações diferenciais ordinárias

Page 117: Introdução Problemas de Contorno - fisica.ufpb.brarosas/FisicaComputacional/aula06... · Alexandre Rosas Equações diferenciais ordinárias. Introdução Problemas de valor inicial

IntroduçãoProblemas de valor inicial

Problemas de Contorno

Método da tentativa e erro (shooting method)Elementos Finitos

Método dos elementos finitos

Mais uma vez, queremos resolver uma EDO comcondições de contorno nas bordas y(x0) = y0 e y(xf ) = yfPara isso, dividimos o intervalo em N partes iguais detamanho h, de forma que temos N + 1 pontos (yi , xi), ondeyi = y(xi)Discretizamos as derivadas da EDO (para uma EDO desegunda ordem, poderíamos escrever)

dyi

dx=

yi+1 − yi−1

2he

d2yi

dx2 =yi+1 − 2yi + yi−1

h2

Introduzindo essa discretização na EDO, calculamos umanova aproximação para yi em função dos valores de yi±1Repetimos o processo, até que a precisão desejada sejaobtida

<++>Alexandre Rosas Equações diferenciais ordinárias