Problemas Stiff & Reação Química
Guilherme Aguiar
Análise Numérica II, 1o Semestre 2013
Guilherme Aguiar Problemas Stiff & Reação Química
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
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
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
ODE15S
Resolvendo o problema com “ODE15S” obtemos o seguintegráfico:
Figura : Gráfico do exemplo
Guilherme Aguiar Problemas Stiff & Reação Química
ODE23S
Resolvendo o problema com “ODE23S” obtemos o seguintegráfico:
Figura : Gráfico do exemplo
Guilherme Aguiar Problemas Stiff & Reação Química
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
Exemplo de um sistema de equações diferenciais Stiff
Figura : Gráfico do exemplo
Guilherme Aguiar Problemas Stiff & Reação Química
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
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
HB1DAE
Figura : Gráfico resultante do comando hb1dae
Guilherme Aguiar Problemas Stiff & Reação Química
HB1ODE
Figura : Gráfico resultante do comando hb1ode
Guilherme Aguiar Problemas Stiff & Reação Química
Usando “ODE15S” e “ODE23S” vamos a algumasanálises.
Guilherme Aguiar Problemas Stiff & Reação Química
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
Figura : Gráfico da solução usando ode15s na configuração padrão
Guilherme Aguiar Problemas Stiff & Reação Química
Figura : Gráfico da solução usando ode23s na configuração padrão
Guilherme Aguiar Problemas Stiff & Reação Química
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
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
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
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
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
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
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
Figura : Gráfico da solução usando ode15s com a tolerância relativaalterada
Guilherme Aguiar Problemas Stiff & Reação Química
Figura : Gráfico da solução usando ode23s com a tolerância relativaalterada
Guilherme Aguiar Problemas Stiff & Reação Química
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
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
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
Figura : Gráfico da solução usando ode15s com a tolerânciaabsoluta alterada
Guilherme Aguiar Problemas Stiff & Reação Química
Figura : Gráfico da solução usando ode23s com a tolerânciaabsoluta alterada
Guilherme Aguiar Problemas Stiff & Reação Química
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
O problema resolvido com o ode23t:
Figura : Gráfico gerado ode23t
Guilherme Aguiar Problemas Stiff & Reação Química
O problema resolvido com o ode23tb:
Figura : Gráfico gerado ode23tb
Guilherme Aguiar Problemas Stiff & Reação Química
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