Transcript
SOLUÇÃO DE PROBLEMA DE VALOR INICIAL:
Problemas de valor inicial constituem uma grande classe de problemas de
engenharia química. Nesse tipo de problema, o valor da variável é dado no
ponto inicial do domínio do problema. Seja a seguinte EDO de primeira
ordem:
com y (x0)=
y0
Para esse tipo de problema os métodos normalmente utilizados são:
Euler explicito.
Euler implícito
Método trapezoidal
Range-kutta
MÉTODO DE EULER EXPLÍCITO
Este método consiste em usar a condição inicial (x0, yo) para calcular a
inclinação de y(x) em x= x0, ou seja,
Por outro lado tem-se:
Então, assumindo-se que a inclinação permanece constante para pequenos
x, o valor de y(x0+ x) pode ser determinado:
y (x+ x) = y0+ xF
(x0,y0)
Esses valores de x e y [ isto é, x0+ x e y(x0+ x)]
São usados para estimar a derivada no ponto. A fórmula geral de recursão
para esse método é dado por:
y (xi+ x) = y(xi)+ xF (xi,y(xi))
Ou yi+1= yi + xf(xi,yi)
Por outro lado, o erro de truncamento local é associado com o erro em
cada passo, é dado por:
ej= 0( x2)
E o erro de truncamento global é dado por:
Ei= solução exata de yi – solução numérica
Ei=
Se o erro de truncamento é função de x apenas, e nem de x ou y, então:
Ei=
Onde é inversamente proporcional com x para um comprimento fixo(
quanto maior x menor o nº de ponto no comprimento e vice-versa). Neste
caso , o erro de truncamento global é dado por:
Ei= O( x)
TRANSFORMAÇÃO DE UMA EDO, NUM SISTEMA DE EDO
Seja a seguinte EDO geral de ordem "n":
yn= F (t, y, y', ...,yn-1)
Com a seguinte mudança de variável: x1= y ; x2= y', ..., xn= y n-1
É obtido o seguinte sistema:
.
.
.
Aplicação: Transforme a seguinte EDO, num sistema de EDO:
Exemplo1: Usando o método de Euler, calcule o valor de y(1)=? Se y(0)=1
com x=0,1
Para:
Exemplo2: Considere um reator em semi-batelada, conforme figura abaixo, com
a seguinte reação:
A(l) P(l) r = kCA2
Inicialmente, o reator é alimentado com um líquido inerte até um volume V0.
No tempo t0 uma corrente contedo 'A' numa concentração de CAo é alimentada
para o reator num fluxo Qo. A equação do processo é dada por:
Onde, VR= Qot+Vo
Dessa forma,
Onde, nA=0 para t= 0
Assuma os seguintes valores para os parâmetros do problema: CAo=1
gmol/l; K=0,1 l/gmol×S
Qo= 10,0 l/s; Vo= 50 l.
Agora use o método de Euler explicito para determinar o valor de
nA(100)=?
MÉTODO DE RUNGE-KUTTA
O método de Runge-kutta fornece uma aproximação para integração explicita
do problema de valor inicial de ODE's. Este método é um dos mais usados
para integração numérica de ODE's. Existem vários métodos de Runge-kutta,
um método de quarta ordem é dado por:
Onde, k1= f( xi, yi)
k2 =
k3= f (xi
k4= f ( xi+ x, yi+k3 x)
Como este é um método de quarta ordem, o erro de truncamento local é
ei =0( x5).
A figura na transparência abaixo é uma representação gráfica do
método de Runge-kutta de quarta ordem. Note que K1 é usado para calcular
K2, que por sua vez é usado para estimar k3. Os valores dos K's são
as inclinações de "y" sobre o intervalo (x0, x0+ x).
Os métodos de Runge-Kutta podem ser escritos de uma forma geral:
Onde,
Com c1=0
Deve ser notado que se ν=1, w1=1
Então K1= xf(xi,yi), com isso, o método de Euler é obtido.
Então, o método de euler é um método de Runge-kutta de mais baixa ordem.
Existem vários outros métodos de Runge-Kutta, tais como:
*Método de Butcher
* Método de Fehlberg
* Método de Merson
* Método Implícito
Para maiores detalhes consulte o livro do: Milan Kubicek e Vlademir
Hlavacek, Numerical Solutions of nonlinear Boundary Value Problems with
applications.
Exemplo: Resolva o problema anterior aplicando o método de Runge-
Kutta de 4° ordem.
Desenvolvimento do método de Runge-kutta de 2º ordem (ν=2)
Da fórmula geral tem-se:
Onde: com c1=0
Então, k1=hf(xi,yi+O)=hf(xi,yi)
K2= hf(xi+hc2,yi+a21k1)
Considere agora o problema de valor inicial
y'= F(x,y), y (x0) =y0 x0 x< xN
Se y( x) é a solução exata, então expandindo-se y(x) em torno do ponto xi
em série de Taylor fica:
yi+1= y(xi)+ hy'(xi)+
yi+1= y(xi)+ hF(xi,yi)+
Por outro lado,
Então,
Definindo-se duas variáveis "n" e "" localizadas próximas de xi e yi,
tem-se que:
Onde, n= xi+c2h e
Então, (n-xi)= c2h e
Então, K2 pode ser reescrito como, k2= hF(xi+c2h,
yi+a21k1)=hFi+c2h2Fxi+ha21k1Fyi , que é a aproximação em série de taylor
de F .
Então, k2= hFi+c2h2Fxi+ha21k1Fyi
com, k1=hFi
Logo, k2= hFi+c2h2Fxi+ h2a21(FyF)i= hFi +h2(c2Fx+a21FyF);
Como yi+1= yi+w1k1+w2k2= y i+ w1(hFi + w2hFi + w2h2c2Fx + w2h2a21FyF
Comparando essa equação com a equação yi+1 = yi + hFi + h2/2 (Fx +
FyF);
Tem-se que: w1h+w2h= h ( w1+w2=1
w2h2a21= h2/2 ( w2a21=0,5
Como temos 4 incógnitas e três equações. Um parâmetro deve ser fixado e
os outros determinados em função do mesmo. Se C2=0,5
Então, w2 =1, w1 = 0, C2 = 0,5, a21 =1/2
Dessa forma o esquema de Runge-Kutta de 2º ordem será:
0
yi+1= yi+w1k1+w2k2=
yi+1=
Método implícito
O método de Euler implícito pode ser derivado da expansão em série de
Taylor de yi(x) em torno de y (xi+ x).
Desprezando-se os termos de ordem 2 em diante fica:
Então,
Yi+1= y(xi)+ xy'(xi+ x)
Por outro lado,
Então, yi+1=y(xi)+ xF(xi+1,yi+1)
Note que para calcular yi+1 deve-se conhecer F(xi+1, yi+1), portanto, em
geral requer a solução de uma equação não linear. Este método possui um
erro de aproximação igual ao método de Euler explícito. Um outro método
bastante usado é o método trapezoidal. A relação de recorrência desse
método é:
Pode-se demonstrar que o erro de truncamento desse método é: O ( x)3.
Portanto, o método trapeizodal é de segunda ordem. O método de Euler
implícito e método trapezoidal oferecem uma solução numérica mais
estável.
Os métodos chamados preditor-corretor consistem em utilizar um método
explícito, denominado preditor, para calcular uma estimativa do valor de
yn+1. Ao invés de prosseguir para o próximo intervalo, porém, este valor
estimado é usado no segundo membro de um método implícito, denominado
corretor, para obter um valor mais próximo de yn+1. Existem combinações
mais eficientes que outras - por exemplo, se o preditor costuma errar para
mais, um corretor que erre para menos pode ser mais indicado. Uma
combinação comum é Adams-Bashford de quarta ordem com Adams-Moulton. Um
método preditor-corretor bastante utilizado é o de Hamming (Carnahan, B.,
Luther, H. A. e Wilkes, J. O. Applied Numerical Methods,
J. Wiley, 1969)
Resolva os seguintes exemplos usando o método trapeizodal:
a) Um destilador em batelada, conforme a figura abaixo, contêm
inicialmente 25 moles de n-octano e 75 moles de n-heptano. O
destilador é operado a pressão constante de 1 atm. Determine a
variação da fração molar de n-heptano com o tempo.
, xH= xHO, t=0
Onde, So=100, SF=10 e xHO= 0,75
b) y=1 para x=0 c) y=1 para x=0
Estabilidade do método
Para estudar a estabilidade numérica do método de integração de ODE,
considere o seguinte problema: com y (0)= y0
A solução analítica desse problema é dada por: ya= y0e(x (Falar sobre
estabilidade de sistemas dinâmicos)
onde ( é o autovalor do problema. Agora considere o método de Euler
explícito aplicado a esse
problema. A relação de recorrência é:
yi+1= yi+ x(yi
Ou y1= y0 ( 1+ x()
y2= y1+ x(y1 = y0 ( 1+ x() + x(y0(1+ x(y1)= y0(1+ x()(1+ x()=
y0(1+ x()2
.
.
.
yi= yo(1+ x()i
Na solução numérica, há um erro de arredondamento em cada passo.
Consideremos o primeiro erro de arredondamento, C0, então
yi= yo(1+ x()i-CO(1+ x()i
Ou seja, yi= (yo-Co)(1+ x()i
Por outro lado, a diferença entre a solução analítica ya e a solução
numérica yi, isto é, o erro de truncamento global é dado por:
Ei= yoei x( - (yo-co)(1+ x()i
Rearrumando a equação acima fica:
Ei= yoei x( - yo(1+ x()i+co(1+ x()i
Os dois primeiros termos representa a diferença entre a solução exata
e o método de euler, enquanto o último termo representa o primeiro
erro de arredondamento. Da expressão acima, observa-se que o erro
crescerá rapidamente se (1+ x() for menor do que -1 ou maior que 1, e
dessa forma, dominará rapidamente o valor calculado. Mas se,
-1 1+ x( 1 ou -2 x( 0
O erro não crescerá, decrescendo em cada iteração e a estabilidade do
método é garantida. Por outro lado, se o autovalor do problema, (, for
positivo, o sistema é dito instável pois ele irá crescer
ilimitadamente a medida que x cresça. Se o autovalor for negativo, diz-
se que o sistema é estável, pois se x crescer infinitamente o valor de
y tende a zero. Então, para a estabilidade do método de Euler, os
autovalores devem ser negativos e o tamanho do passo menor que o valor
absoluto de 2/(.
Quanto a ODE não for linear, a mesma deve ser linearizada em algum
ponto e verificado o sinal do autovalor. O valor do autovalor pode ser
estimado pela seguinte relação.
Portanto, para determinar o valor local de (, faz-se o quociente do valor
da derivada no ponto pelo valor de y no ponto, ambos calculados na
mesma iteração.
Comparação da precisão e estabilidade do Euler explicito, Runge-
kutta e trapezoidal:
"Método "Ordem de aproximação "Tamanho máximo do passo "
" " "de estabilidade "
"Euler explicito "1 "2 / ((( "
"Runge-Kutta de 4º ordem "4 "2,8/ ((( "
"Trapezoidal "2 "Sem limite "
RIGIDEZ NUM PROBLEMA DE VALOR INICIAL
Uma medida do efeito da estabilidade em problemas de valor inicial é a
taxa de stiffness: (rigidez do problema):
S= ((( (tF- to)
Onde to é o tempo inicial e tf é o tempo final. Portanto, um pequeno
intervalo de tempo com um grande (, pode ser menos stiff ( isto é, um
fácil problema de valor inicial) que um grande intervalo de integração
com um pequeno (.
Quando ( <10 ( isto é, S<10), todos os métodos usam x=0,1e o Runge-Kutta
é o mais preciso.
Quando (> 100 ( isto é, S> 100), a precisão não é problema para nenhum
integrador, mas o tamanho do passo devem ser reduzidos para x=0,01, no
método de Euler e Runge-kutta. Enquanto que o método trapeizodal continua
a utilizar x=0,1. Portanto, para problema com grande stiff um método
implícito deverá ser utilizado. Finalmente, quando 10<(<100, o tamanho do
passo para o método de Runge-kutta e Euler devem ser escolhidos baseados
no fator de estabilidade, mas a estabilidade é moderada e o tamanho do
passo permanecerá num nível estável.
Exemplo: Integração instável usando um método explícito. Use o método
explícito de Euler para integrar a seguinte equação diferencial
y(0)=10 de x=0 para x=0,1 com os seguintes passos: x=0,05;0,01 e
0,001.
Exemplo: Considere a seguinte reação iniciando com A puro.
A(B
A reação é descrita por:
Onde CA=CAo para t=0
CA( concentração de A.
Definindo-se y1= onde concentração de equilíbrio
Então, y1=1 para t=0
Se K1= 100 e K2= 1, então use o método de Euler para resolver o problema
acima com t=0,05; 0,01; 0,001 de t=0 para t=0,1.
-----------------------
Qo,CAo