Waldemar Celes. 2 de Setembro de 2014

Documentos relacionados
Cálculo Numérico. Resumo e Exercícios P2

As bases da Dinâmica Molecular - 1

Métodos de Runge-Kutta

Lista de Exercícios 3 e soluções

Funções podem ser representadas como série de potências Uma série de potências centrada em x 0 tem a seguinte forma:

Sabendo que f(x) é um polinômio de grau 2, utilize a formula do trapézio e calcule exatamente

Exercícios de MATEMÁTICA COMPUTACIONAL Capítulo V

Equações Diferenciais Ordinárias

10 Estabilidade de Métodos de Passo Simples

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Universidade de Coimbra Departamento de Engenharia Electrotecnica e Computadores Matemática Computacional

Adérito Araújo. Gonçalo Pena. Adérito Araújo. Adérito Araújo. Gonçalo Pena. Método da Bissecção. Resolução dos exercícios 2.14, 2.15, 2.16 e 2.17.

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

3 Sistema de Partículas na CPU

SUMÁRIO PARTE 1 MODELAGEM, COMPUTADORES E ANÁLISE DE ERROS 3. PT1.1 Motivação... 3 Pt1.2 Fundamentos Matemáticos... 5 Pt1.3 Orientação...

dy dt d 2 y dt 2 d n y dt n y dy y= F t a= f t, v, x dv dt = f t, a dx = f t, v

étodos uméricos SOLUÇÃO NUMÉRICA DE EQUAÇÕES DIFERENCIAIS ORDINÁRIOAS Prof. Erivelton Geraldo Nepomuceno

Trajetórias de objetos: fundamentos

As bases da Dinâmica Molecular - 2

Algoritmos Numéricos 2 a edição

Erros nas aproximações numéricas

Queremos resolver uma equação diferencial da forma. dy dx. = f(x, y), (1)

Modelagem Computacional. Aula 5 2

Métodos Numéricos em Engenharia Química

Lista de Exercícios 2 Cálculo Numérico - Professor Daniel

Solução Numérica de EDOs

Métodos de passo simples para equações diferenciais ordinárias. Nelson Kuhl

Equações diferenciais ordinárias

EXERCICIOS RESOLVIDOS - INT-POLIN - MMQ - INT-NUMERICA - EDO

Equações Diferenciais Ordinárias

Matemática Computacional

Os vórtices da turbulência bidimensional

Métodos Previsor-Corretor

Universidade de Coimbra Departamento de Engenharia Electrotecnica e Computadores Matemática Computacional

Cálculo Numérico P2 EM33D

Cap. 10. Resolução Numérica de Equações Diferenciais Ordinárias: Problemas de Valor Inicial. Filipe J. Romeiras

Métodos tipo quadratura de Gauss-Radau

Cálculo Numérico Lista 03

4 Modelagem Numérica. 4.1 Método das Diferenças Finitas

Equações Diferenciais Métodos Adaptativos e Rigidez. Computação 2º Semestre 2016/2017

Matemática Computacional. Exercícios. Teoria dos erros

EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

y(x n+1 ) = y(x n ) + hy (x n ) + h2 q! y (q) (x n )

3 Métodos Numéricos Análise das Equações de Movimento

Física Computacional 5

MAP CÁLCULO NUMÉRICO (POLI) Lista de Exercícios sobre Interpolação e Integração. φ(x k ) ψ(x k ).

Equações Diferenciais Problemas de Valor Inicial. Computação 2º Semestre 2016/2017

Sistemas Dinâmicos e Caos Lista de Problemas 2.1 Prof. Marco Polo

Métodos Numéricos para EDOs. 2 de abril de 2012

O Teorema de Peano. f : D R n. uma função contínua. Vamos considerar o seguinte problema: Encontrar um intervalo I R e uma função ϕ : I R n tais que

3ª LISTA DE EXERCÍCIOS CÁLCULO NUMÉRICO Prof.: Magnus Melo

Introdução aos Métodos Numéricos

Métodos Numéricos para EDO S

Prof.: Roberto F. Ausas. Semestre

MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA IFPB Campus João Pessoa Departamento de Ensino Superior

Universidade Federal de Campina Grande

Capítulo 7 - Equações Diferenciais Ordinárias

Resolução do exame de matemática computacional

3 SPH. 3.1 Introdução

SME Cálculo Numérico. Lista de Exercícios: Gabarito

Linearização de Modelos e Teoremas Locais

Dinâmica Estrutural. Múltiplos Graus de Liberdade Equações de Euler Lagrange. Ramiro Brito Willmersdorf DEMEC/UFPE 2014.

Sistemas Dinâmicos e Caos Lista de Problemas 2.2 Prof. Marco Polo

Capítulo 10 Solução de Equações Diferenciais Ordinárias

Equações diferenciais ordinárias EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

MAP2310. Análise Numérica e Equações Diferenciais I. 1 Equações Diferenciais Ordinárias

USANDO O MODELLUS. Aula 3

y x f x y y x y x a x b

O Circuito de Chua. 1 O circuito de Chua. Segundo Exercício Programa MAP3121 Para Engenharia Elétrica Entrega: até 22 de Junho de 2017

Notas de Aula de Cálculo Numérico

Equações diferenciais ordinárias

Modelagem Matemática para Controle de Nível de um Tanque

Tópicos Especiais em Animação de Fluidos e Visualização Cientíca (GB 500)

Modelagem Computacional. Parte 4 2

Apresentação do Curso

Problemas com Valores de Fronteira para Equações Diferenciais Ordinárias

Apresentação do Curso

Aula 6. Doravante iremos dizer que r(t) é uma parametrização da curva, e t é o parâmetro usado para descrever a curva.

MAP Primeiro exercício programa Osciladores Harmônicos

y (n) (x) = dn y dx n(x) y (0) (x) = y(x).

Introdução às Equações Diferenciais e Ordinárias

Plasmas. Teoria de Partículas. Teoria Cinética. Teoria Magnetohidrodinâmica (MHD)

O que é o Cálculo Numérico? 05/06/13. Prof. Dr. Alexandre Passito

Capítulo 5 - Integração e Diferenciação Numérica

ELT062 - OFICINA DE SIMULAÇÃO ANALÓGICA E DIGITAL EM CONTROLE LINEARIZAÇÃO DE SISTEMAS

Atividades Práticas Supervisionadas (APS)

Plano de Ensino. Identificação. Câmpus de Bauru. Curso Engenharia de Produção. Ênfase. Disciplina EM1 - Cálculo Numérico Computacional

Exame de Análise Numérica, 1ª Parte/ 1º Teste (LMAC, MMA) Instituto Superior Técnico, 30 de Janeiro de 2017, 18h30-19h45-21h00

Introdução à Física Computacional

Prof. MSc. David Roza José -

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE MATEMÁTICA DEPARTAMENTO DE MATEMÁTICA PURA E APLICADA

Matemática Aplicada. Retomar o meu cargo habitual

Capítulo 6 - Integração e Diferenciação Numérica

Métodos de Aproximação em Engenharia

INSTITUTO SUPERIOR TÉCNICO Licenciatura em Engenharia Física Tecnológica Licenciatura em Engenharia e Gestão Industrial Ano Lectivo: 2002/2003

Capítulo 6 - Integração e Diferenciação Numérica

Universidade Tecnológica Federal do Paraná

Modelagem de Contaminações Periódicas por Radionuclídeos

Transcrição:

Simulação Física Métodos Numéricos de Integração Waldemar Celes celes@inf.puc-rio.br Tecgraf, DI/PUC-Rio 2 de Setembro de 2014 W. Celes, DI/PUC-Rio Simulação Física 1

Sumário Método de Euler Método de Runge-Kutta Passo Adaptativo Método de Verlet Bibliografia: Physics Based Animation Erleben et al. (2005) Game Physics Eberly (2004) Physically Based Modeling: Principles and Practice Witkin and Baraff (1997) W. Celes, DI/PUC-Rio Simulação Física 2

Integração Numérica Equação Diferencial Ordinária (EDO): Problema de valor inicial: ẋ = f (t, x) x(t 0 ) = x 0 ẋ = f (t, x) Simulação física (2 a Lei de Newton): f = m a Duas EDO de 1 a ordem acopladas: { ẋ = v v = f/m W. Celes, DI/PUC-Rio Simulação Física 3

Método de Euler Série de Taylor Se x é uma função contínua e diferenciável, tem-se: x(t + h) = x(t) + h ẋ(t) + h2 h3 ẍ(t) + 2! 3! x(3)(t) +... Método de Euler Usa os dois primeiros termos da série: x(t + h) = x(t) + h ẋ(t) + O(h 2 ) x(t + h) = x(t) + h f (t, x) + O(h 2 ) y i+1 = y i + h f (t i, y i ) y: aproximação de x W. Celes, DI/PUC-Rio Simulação Física 4

Método de Euler Características: Assimétrico Impreciso Exige h muito pequeno Instável t t+h W. Celes, DI/PUC-Rio Simulação Física 5

Método via formulação da integral x(t + h) = x(t) + t+h t f (t, x(t))dt Aproximação por retângulo (Euler): y i+1 = y i + h f (t i, y i ) Aproximação por trapézio: t t+h y i+1 = y i + h 2 [f (t i, y i ) + f (t i+1, y i+1 )] Problema: como avaliar se precisamos de y i+1? W. Celes, DI/PUC-Rio Simulação Física 6

Método de Euler modificado Aproximação por trapézio Usa Euler para estimar y i+1 y i+1 = y i + h 2 [f (t i, y i ) + f (t i+1, y i + h f (t i, y i ))] Características: Exige duas avaliações de f Método de ordem 2 Erro = O(h 3 ) W. Celes, DI/PUC-Rio Simulação Física 7

Método do ponto médio Usa o valor da derivada no ponto médio do intervalo Avalia passo de Euler: y = h f (t i, y i ) Avalia f no ponto médio: f med = f (t i+1/2, y i + y/2) Avança usando f med y i+1 = y i + h f med Características iguais ao do Euler modificado: Exige duas avaliações de f Método de ordem 2 Erro = O(h 3 ) Também conhecido como Runge-Kutta de ordem 2 W. Celes, DI/PUC-Rio Simulação Física 8

Runge-Kutta de ordem 3 k 0 = h f (t i, y i ) k 1 = h f (t i+1/2, y i + k 0 /2) k 2 = h f (t i+1, y i + 2k 1 k 0 ) y i+1 = y i + 1 6 (k 0 + 4k 1 + k 2 ) Características: Exige três avaliações de f Erro = O(h 4 ) W. Celes, DI/PUC-Rio Simulação Física 9

Runge-Kutta de ordem 4 k 0 = h f (t i, y i ) k 1 = h f (t i+1/2, y i + k 0 /2) k 2 = h f (t i+1/2, y i + k 1 /2) k 3 = h f (t i+1, y i + k 2 ) y i+1 = y i + 1 6 (k 0 + 2k 1 + 2k 2 + k 3 ) Características: Exige quatro avaliações de f Erro = O(h 5 ) Método numérico mais popular Precisão & desempenho W. Celes, DI/PUC-Rio Simulação Física 10

Escolha do passo de integração O passo adotado deve: Assegurar precisão e estabilidade numérica Evitar perda de colisão Tratar descontinuidade das funções Tratar eventos externos Estratégia simplista (mas, muitas vezes, suficiente): Adoção de passo fixo. void Update () { system >Evolve(t, H) t = t + H; } W. Celes, DI/PUC-Rio Simulação Física 11

Escolha do passo de integração O passo adotado deve: Assegurar precisão e estabilidade numérica Evitar perda de colisão Tratar descontinuidade das funções Tratar eventos externos Estratégia simplista (mas, muitas vezes, suficiente): Adoção de passo fixo. void Update () { system >Evolve(t, H) t = t + H; } Pode não atender aos requisitos acima W. Celes, DI/PUC-Rio Simulação Física 11

Passo adaptativo Objetivo: assegurar precisão numérica Independente do método Usa maior passo possível Respeita erro máximo prescrito Passo adaptativo Se erro = O(h n ), então teoricamente: Se passo h produz erro e Então passo h/2 produzirá erro e/2 n É possível controlar o erro numérico W. Celes, DI/PUC-Rio Simulação Física 12

Passo adaptativo Avaliação do erro associado a h Estratégia de dobrar o passo y 0 y 1 t t+h y 0 y 2 t t+h/2 t+h W. Celes, DI/PUC-Rio Simulação Física 13

Euler com passo adaptativo Estratégia de dobrar o passo x = y 1 + h 2 φ + O(h 3 ) ( ) h 2 x = y 2 + 2 φ + O(h 3 ) 2 Desprezando O(h 3 ): = y 2 y 1 y 1 + h 2 φ = y 2 + h2 2 φ y 2 y 1 = h 2 φ h2 2 φ = h2 2 φ que representa o erro associado a y 2 W. Celes, DI/PUC-Rio Simulação Física 14

Como adaptar o passo Exemplo: Erro máximo permitido: e max = 10 4 Se erro obtido for y 2 y 1 = 10 5 Valida-se o passo Aumenta-se o passo h novo = ( emax e ) 1/2 h = 3.16 h Se erro obtido for y 2 y 1 = 10 3 Invalida-se o passo Refaz o avanço, diminuindo-se o passo h novo = ( emax e ) 1/2 h = 0.316 h W. Celes, DI/PUC-Rio Simulação Física 15

Euler com passo adaptativo Note que: x = y 2 + 2 ( ) h 2 φ + O(h 3 ) 2 x = y 2 + + O(h 3 ) Logo, pode-se pensar em avaliar a função com erro O(h 3 )? y = y 2 + Em geral, métodos de ordem superior são mais confiáveis Neste caso, no entanto, perderíamos o controle do erro W. Celes, DI/PUC-Rio Simulação Física 16

Euler com passo adaptativo Note que: x = y 2 + 2 ( ) h 2 φ + O(h 3 ) 2 x = y 2 + + O(h 3 ) Logo, pode-se pensar em avaliar a função com erro O(h 3 )? y = y 2 + Em geral, métodos de ordem superior são mais confiáveis Neste caso, no entanto, perderíamos o controle do erro Passo adaptativo para outros métodos Erro: O(h n ) h novo = ( emax e ) 1/n h W. Celes, DI/PUC-Rio Simulação Física 16

Embedded Runge-Kutta (ordem 4) Método de ordem 5 que tem embutido a avaliação de erro do método de ordem 4: k 1 = h f (t i, y i ) k 2 = h f (t i + a 2 h, y i + b 21 k 1 )... k 6 = h f (t i + a 6 h, y i + b 61 k 1 + + b 65 k 5 ) 6 y i+1 = y i + c i k i + O(h 6 ) y i+1 = y i + i=1 6 ci k i + O(h 5 ) i=1 = y i+1 yi+1 onde: a i, b ij, c i, ci são parâmetros da tabela Cash-Karp W. Celes, DI/PUC-Rio Simulação Física 17

Integração de Verlet Da série de Taylor: x(t + h) = x(t) + ẋ h + 1 2ẍ h2 + 1 6 x (3) (h) h 3 + O(h 4 ) x(t h) = x(t) ẋ h + 1 2ẍ h2 1 6 x (3) (h) h 3 + O(h 4 ) Somando as duas expressões: x(t + h) = 2x(t) x(t h) + ẍ(h) h 2 + O(h 4 ) Para a física de partícula: y i+1 = 2y i + y i 1 + h2 m f Não armazena explicitamente (e não avalia) a velocidade Reversível para sistemas conservativos: f = V(t, x) = f(t, x) W. Celes, DI/PUC-Rio Simulação Física 18

Utilização da integração de Verlet Sistemas conservativos: f(t, x) Condições iniciais: { y0 ẏ 0 Para determinação de y 1, pode-se usar Euler: y 1 = y 0 + h ẏ 0 y i+1 = 2y i y i 1 + h2 m f(t i, y i ) W. Celes, DI/PUC-Rio Simulação Física 19

Utilização da integração de Verlet Sistemas não conservativos: f(t, x, ẋ) Estimando a velocidade: ẏ 1 = y i y i 1, O(h) h ẏ 1 = y i+1 y i 1, O(h 2 ) 2h Evolução do sistema: y 1 = y 0 + h ẏ 0 ẏ i = y i y i 1 h y i+1 = 2y i y i 1 + h2 m f(t i, y i, ẏ i ) Observe que assume velocidade constante no 1 o passo W. Celes, DI/PUC-Rio Simulação Física 20

Estratégia de predição & correção Objetiva melhorar a estimativa de ẏ Predição: ẏ i = y i y i 1 h y i+1 = 2y i y i 1 + h2 m f(t i, y i, ẏ i ) Correção: ẏ i = y i+1 y i 1 2h y i+1 = 2y i y i 1 + h2 m f(t i, y i, ẏ i ) W. Celes, DI/PUC-Rio Simulação Física 21

Emulando viscosidade f d = k v Reescrevendo a equação de integração: y i+1 = y i + (y i y i 1 ) + h2 m f y i+1 = y i + (1 δ)(y i y i 1 ) + h2 m f onde δ representa o coeficiente de viscosidade (e.g. 10 2 ) W. Celes, DI/PUC-Rio Simulação Física 22

Método leap frog Série de Taylor para velocidade: ẋ(t + h) = ẋ(t) + h ẍ(t) + h2 2 x(3) (t) +... ẋ(t h) = ẋ(t) h ẍ(t) + h2 2 x(3) (t)... Subtraindo e usando metade do passo: ẋ(t + h/2) = ẋ(t h/2) + h ẍ(t) + O(h 3 ) W. Celes, DI/PUC-Rio Simulação Física 23

Método leap frog Série de Taylor para velocidade: ẋ(t + h) = ẋ(t) + h ẍ(t) + h2 2 x(3) (t) +... ẋ(t h) = ẋ(t) h ẍ(t) + h2 2 x(3) (t)... Subtraindo e usando metade do passo: ẋ(t + h/2) = ẋ(t h/2) + h ẍ(t) + O(h 3 ) Método Leap frog Sistemas conservativos x x Usa Euler para obter ẏ(h/2) t ẏ(t + h/2) = ẏ(t h/2) + h ÿ(t) y(t + h) = y(t) + h ẏ(t) W. Celes, DI/PUC-Rio Simulação Física 23

Método intercalado para sistemas não conservativos y 1 = y 0 + h 2 ẏ0 ẏ 1 = ẏ 0 + h 2m f(0, y 0, ẏ 0 ) y i+2 = y i + h ẏ i+1 ẏ i+2 = ẏ i + h m f(t i+1, y i+1, ẏ i+1 ) 0 h/2 h 3h/2 2h t W. Celes, DI/PUC-Rio Simulação Física 24

Referência Eberly, D. H. (2004). Game Physics. Morgan Kaufmann Publishers. Erleben, K., Sporring, J., Henriksen, K., and Dohlmann, H. (2005). Physics Based Animation. Charles River Media. Witkin, A. and Baraff, D. (1997). Physically based modeling: Principles and practice. http://www.cs.cmu.edu/ baraff/sigcourse/. W. Celes, DI/PUC-Rio Simulação Física 25