problemas stiff & reação química -...

34
Problemas Stiff & Reação Química Guilherme Aguiar Análise Numérica II, 1 o Semestre 2013 Guilherme Aguiar Problemas Stiff & Reação Química

Upload: doankhanh

Post on 29-Sep-2018

237 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Problemas Stiff & Reação Química

Guilherme Aguiar

Análise Numérica II, 1o Semestre 2013

Guilherme Aguiar Problemas Stiff & Reação Química

Page 2: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Problemas Stiff

Stiff em português significa rígido, duro, inflexível.Não existe um consenso sobre a definição matemática deum problema stiff.Mas podemos entender que um problema stiff é umproblema duro de resolver com métodos explícitos.Em geral as solução tem uma estabilidade rápida.Ou seja,ficam inflexíveis a partir de um ponto

Guilherme Aguiar Problemas Stiff & Reação Química

Page 3: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Exemplo de problema Stiff em uma dimensão

Vamos pegar um exemplo em uma dimensão.Considere a equação y ′ = −50(y − cos(t)).A equação é uma E.D.O linear de primeira ordem.Uma solução analítica para o problema é dada por:

y(x) = c1e−50x +50 sin(x)

2501+

2500 cos(x)2501

.

O gráfico da solução

Figura : Gráfico do exemplo

Guilherme Aguiar Problemas Stiff & Reação Química

Page 4: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Exemplo de problema Stiff em uma dimensão

Vamos resolver o problema no Matlab.Os dois principais solvers de problemas stiff no Matlab são“ODE15S” e “ODE23S”.

ODE15S : É um solver variável, baseado nas fórmulas dediferenciação numérica NDFs.Utiliza várias etapas emcada iteração.ODE23S : É baseado na na fórmula modificada deRosenbrockde ordem 2.Utiliza apenas uma etapa em cadaiteração, podendo ser mais eficiente em alguns casos.

Guilherme Aguiar Problemas Stiff & Reação Química

Page 5: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

ODE15S

Resolvendo o problema com “ODE15S” obtemos o seguintegráfico:

Figura : Gráfico do exemplo

Guilherme Aguiar Problemas Stiff & Reação Química

Page 6: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

ODE23S

Resolvendo o problema com “ODE23S” obtemos o seguintegráfico:

Figura : Gráfico do exemplo

Guilherme Aguiar Problemas Stiff & Reação Química

Page 7: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Exemplo de um sistema de equações diferenciais Stiff

Como o problema que será abordado será um sistema deequações diferenciais, vamos tratar um exemplo antes,com um sistema de duas equações.Considere o problema:

y ′1(t) = −100y1(t) + y2(t)y ′2(t) = −0.1y2(t)y(0) = 2.

(1)

Guilherme Aguiar Problemas Stiff & Reação Química

Page 8: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Exemplo de um sistema de equações diferenciais Stiff

Figura : Gráfico do exemplo

Guilherme Aguiar Problemas Stiff & Reação Química

Page 9: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Robertson Problem

O sistema de equações abaixo descreve como ocorre umareação química.

y ′1(t) = −0.04y1 +104y2y3 y1(0) = 1y ′2(t) = 0.04y1 −104y2y3 −3 × 107y2

2 y2(0) = 0y ′3(t) = 3 × 107y2

2 y3(0) = 0.(2)

É um problema clássico da análise numérica.Sua solução foi proposta em 1966 por H.H. Robertson.

Guilherme Aguiar Problemas Stiff & Reação Química

Page 10: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Robertson Problem

No Matlab há códigos que resolvem esse problemas como:hb1dae.hb1ode.

Ambos utlizam a função odebim para resolver oproblema.Odebim também é um solver de equaçõesdiferenciais ordinárias, para equações de ordem máxima iguala 3.

Guilherme Aguiar Problemas Stiff & Reação Química

Page 11: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

HB1DAE

Figura : Gráfico resultante do comando hb1dae

Guilherme Aguiar Problemas Stiff & Reação Química

Page 12: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

HB1ODE

Figura : Gráfico resultante do comando hb1ode

Guilherme Aguiar Problemas Stiff & Reação Química

Page 13: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Usando “ODE15S” e “ODE23S” vamos a algumasanálises.

Guilherme Aguiar Problemas Stiff & Reação Química

Page 14: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Primeiramente vamos utlizar os métodos nas configuraçõespadrões.

ode15s ode23sTempo Médio (s) 0.065 0.045

Iterações 172 72Avaliações de função 382 435

Cálculo de derivadas parciais 10 72Fatorações LU 51 72

Solução de Sistemas Lineares 340 216

A seguir trazemos os gráficos das soluções.Podemos obervarque não há uma diferença visível.

Guilherme Aguiar Problemas Stiff & Reação Química

Page 15: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Figura : Gráfico da solução usando ode15s na configuração padrão

Guilherme Aguiar Problemas Stiff & Reação Química

Page 16: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Figura : Gráfico da solução usando ode23s na configuração padrão

Guilherme Aguiar Problemas Stiff & Reação Química

Page 17: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Agora, vamos mudar o ponto inicial e mantermos aconfiguração padrão. Vamos considerar o ponto inicialy(0) = (0.8,0.2,0).

ode15s ode23sTempo Médio (s) 0.080 0.065

Iterações 245 72Avaliações de função 518 690

Cálculo de derivadas parciais 10 114Fatorações LU 62 114

Solução de Sistemas Lineares 477 342

A seguir os gráficos.

Guilherme Aguiar Problemas Stiff & Reação Química

Page 18: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Figura : Gráfico da solução usando ode15s na configuração padrãocom ponto inicial (0.8,0.2,0)

Guilherme Aguiar Problemas Stiff & Reação Química

Page 19: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Figura : Gráfico da solução usando ode23s na configuração padrãocom ponto inical (0.8,0.2,0)

Guilherme Aguiar Problemas Stiff & Reação Química

Page 20: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Vamos considerar o ponto inicial y(0) = (0,1,0).

ode15s ode23sTempo Médio (s) 0.60 0.055

Iterações 174 89Avaliações de função 362 538

Cálculo de derivadas parciais 5 89Fatorações LU 44 89

Solução de Sistemas Lineares 340 267

A seguir os gráficos.

Guilherme Aguiar Problemas Stiff & Reação Química

Page 21: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Figura : Gráfico da solução usando ode15s na configuração padrãocom ponto inicial (0,1,0)

Guilherme Aguiar Problemas Stiff & Reação Química

Page 22: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Figura : Gráfico da solução usando ode23s na configuração padrãocom ponto inical (0,1,0)

Guilherme Aguiar Problemas Stiff & Reação Química

Page 23: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Agora, vamos alterar a tolerância relativa para 10−6, a mesmaque a absoluta.

ode15s ode23sTempo Médio (s) 0.09 0.075

Iterações 279 172Avaliações de função 563 1041

Cálculo de derivadas parciais 10 172Fatorações LU 61 175

Solução de Sistemas Lineares 521 525

A seguir os gráficos.

Guilherme Aguiar Problemas Stiff & Reação Química

Page 24: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Figura : Gráfico da solução usando ode15s com a tolerância relativaalterada

Guilherme Aguiar Problemas Stiff & Reação Química

Page 25: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Figura : Gráfico da solução usando ode23s com a tolerância relativaalterada

Guilherme Aguiar Problemas Stiff & Reação Química

Page 26: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Agora, vamos manter a tolerância relativa em 10−6 e alterar atolerância absoluta para 10−12

ode15s ode23sTempo Médio (s) 0.165 1.5000

Iterações 550 3614Avaliações de função 1048 22212

Cálculo de derivadas parciais 7 3614Fatorações LU 96 3876

Solução de Sistemas Lineares 1081 11628

Os gráficos apresentaram os mesmos comportamento dosdemais.

Guilherme Aguiar Problemas Stiff & Reação Química

Page 27: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Agora, vamos usar a tolerância relativa em seu padrão 10−3 eamanter a tolerância absoluta em 10−12.

ode15s ode23sTempo Médio (s) 0.065 0.095

Iterações 215 204Avaliações de função 438 1228

Cálculo de derivadas parciais 6 204Fatorações LU 51 204

Solução de Sistemas Lineares 412 612

Os gráficos apresentaram os mesmos comportamento dosdemais.

Guilherme Aguiar Problemas Stiff & Reação Química

Page 28: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Vamos,então manter a tolerância relativa no padrão e alterar atolerância absoluta para 10−4

ode15s ode23sTempo Médio (s) 0.050 0.045

Iterações 134 352Avaliações de função 320 352

Cálculo de derivadas parciais 12 58Fatorações LU 43 58

Solução de Sistemas Lineares 269 174

Agora, os gráficos tiveram alteração.

Guilherme Aguiar Problemas Stiff & Reação Química

Page 29: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Figura : Gráfico da solução usando ode15s com a tolerânciaabsoluta alterada

Guilherme Aguiar Problemas Stiff & Reação Química

Page 30: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Figura : Gráfico da solução usando ode23s com a tolerânciaabsoluta alterada

Guilherme Aguiar Problemas Stiff & Reação Química

Page 31: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Há outros dois solvers para problemas stiffs, também da famíliaode23.São:

ode23t : Deve ser usado quando a "queda"ocorre semamortecimento.Para o problema ele não apresentou umbom desempenho.Utiliza a regra dos trapézios.ode23tb : Deve ser usado quando precisa uma tolerânciapequena.O desempenho foi muito próximo aodesempenho do ode23s(esse desempenho próximo éconfirmado pela literatura).É uma implementação dométodo TR-BDF2.O método trabalha em duas etapas emcada iteração, a primeira baseada nas regra dos trapézios,a segunda é uma regra regressiva de diferenciação.Emambos as etapas é utilizado a mesma matriz de iteração.

Guilherme Aguiar Problemas Stiff & Reação Química

Page 32: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

O problema resolvido com o ode23t:

Figura : Gráfico gerado ode23t

Guilherme Aguiar Problemas Stiff & Reação Química

Page 33: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

O problema resolvido com o ode23tb:

Figura : Gráfico gerado ode23tb

Guilherme Aguiar Problemas Stiff & Reação Química

Page 34: Problemas Stiff & Reação Química - ime.unicamp.brsandra/MS612/handouts/Projeto2Problema5.pdf · Problemas Stiff Stiff em português significa rígido, duro, inflexível. Não

Bibliografia

C. B. Moler.Numerical Computing with MATLAB.SIAM, Philadelphia, 2004.

U. M. Ascher & L. R. Petzold.Computer Metholds for Ordinary Differential Equations andDifferential-Algebraic Equations.SIAM, Philadelphia, 1998.

E. Hairer & G. Wanner.Solving Ordinary Differential Equations II. Second RevisedEdition.Springer, Berlim, 1996.

Guilherme Aguiar Problemas Stiff & Reação Química