Você está na página 1de 21

Departamento de Engenharia Química

ENG-D04: Métodos Matem. e Comp. Eng. II

EDO – Método de Runge-Kutta

Profa. Dra. Karen Pontes

Revisão: 29 de março de 2021


Método de Runge-Kutta
Inclinação
 Fórmula geral

ordem

 Características:
 São de passo simples.
 Processo recursivo no cálculo dos K’s.
 O método consiste na avaliação da função derivada em vários pontos e
posterior ponderação destas avaliações.
Exemplos de Runge-Kutta
RK de ordem 2 (Heun): RK de ordem 2 (pto médio):

RK de ordem 2 (Euler modificado):


Exemplos de Runge-Kutta
RK de ordem 4 – um dos métodos mais utilizados
Runge-Kutta de 4a ordem clássico
Runge-Kutta - Exemplo
Passo 1:
dx 𝐾 = 𝑓 0; 0 = 1 − 0 = 1
 f ( x, t )  1  x
dt 𝐾 =𝑓 0+
0,2
; 0 + 0,2 ⋅
1
= 1 − 0,1 = 0,9
2 2
0,2 0,9
x0  0 𝐾 =𝑓 0+
2
; 0 + 0,2 ⋅
2
= 1 − 0,09 = 0,91

h  0,2 𝐾 = 𝑓 0 + 0,2; 0 + 0,2 ⋅ 0,91 = 1 − 0,182 = 0,818


1
malha : [0,6] 𝑥 = 0 + 1 + 2 ⋅ 0,9 + 2 ⋅ 0,91 + 0,818 ⋅ 0,2 = 0,1813
6
𝑡 = 0,2

RK de ordem 4: Passo 2:
𝐾 = 𝑓 0,2; 0,1813 = 1 − 0,1813 = 0,8187
1
xi 1  xi    K1  2  K 2  2  K 3  K 4   h 0,2 0,8187
6 𝐾 = 𝑓 0,2 + ; 0,1813 + 0,2 ⋅ = 1 − 0,2631 = 0,7369
K1  f  ti , xi  2 2
0,2 0,7369
 h K  𝐾 = 𝑓 0,2 + ; 0,1813 + 0,2 ⋅ = 1 − 0,225 = 0,745
K 2  f  ti  , xi  h  1  2 2
 2 2 
 h K  𝐾 = 𝑓 0 + 0,2; 0,1813 + 0,2 ⋅ 0,745 = 1 − 0,3303 = 0,6697
K 3  f  ti  , xi  h  2 
 2 2  1
𝑥 = 0,1813 + 0,8187 + 2 ⋅ 0,7369 + 2 ⋅ 0,745 + 0,6697 ⋅ 0,2 = 0,3297
K 4  f  ti  h, xi  h  K3  6
𝑡 = 0,4
Runge-Kutta - Exemplo

1. Implemente um algoritmo para o método de Runge-Kutta de 4ª ordem


2. Aplique-o para resolver o seguinte problema:

dx x0  0 h  0,2
 f ( x, t )  1  x
dt malha : [0,6]

3. Avalie o resultado para diferentes passos de integração


4. Compare a solução do RK4 com o método de Euler (precisão e
estabilidade)
Runge-Kutta - Exemplo
t xRK xanalitico

f  dx dt  1  x 0.0000 0.0000 0.0000


1 0.2000 0.1813 0.1813
0.2
0.8 0.4000 0.3297 0.3297
1.6
0.5 2.0 0.6000 0.4512 0.4512
2.4
2.6 0.8000 0.5507 0.5507
2.8
0 3.0 1.0000 0.6321 0.6321
x

analitico
1.2000 0.6988 0.6988

-0.5 1.4000 0.7534 0.7534


1.6000 0.7981 0.7981

-1
1.8000 0.8347 0.8347
0 2 4 6 8
tempo 2.0000 0.8647 0.8647
Runge-Kutta versus Euler

 Runge-Kutta mais preciso


 Euler requer menos avaliação da derivada, logo mais rápido

3 1
0.2
0.2
0.4
2.5 0.8
0.8
1.6
1.6
0.5 2.0
2 2.0 2.4
2.2 2.6
1.5 analitico 2.8
x

0 3.0

x
1 analitico

0.5
-0.5
0

-0.5 -1
0 2 4 6 8 0 2 4 6 8
time tempo
Euler explícito versus Euler modificado versus RK 4a ordem

Euler explícito Euler modificado

RK 4a ordem clássico
Equações com ordem maior que um
Redução à forma canônica
dx1
 x2
x1  x
d 2x
dt 2
   1 
 x 
2 dx
  x 0
dt
dt
dx2 d 2 x1
dx dx1  2    (1  x12 )  x2  x1
x0   a x2   dt dt
dt dt
x' 0   b x1 (0)  a
x2 (0)  b

Sistema de EDO’s de ordem 1:


 dx1
 dt  f1  x1 , x2 , , xn , t 
  x1  0   x10
 dx2  f  x , x , , x , t   x  0   x
 2 20
 dt
2 1 2 n

   

   xn  0   xn 0
 dxn  f x , x , , x , t
 dt n 1 2 n 
Funções residentes do Matlab
[t,y]=NomeDaFuncao(‚EqDif’,tInt,yInt)
Exercício 1 – Tanque cilíndrico

 Considere o tanque de água cilíndrico. A taxa de variação da altura do


nível de água h é dada por:
dh  
Atanque  K1  K 2 cos t   Acano 2 gh
dt  12 

 No tanque em questão:
Atanque = 3.13; %m2
Acano = 0.06; %m2
K1 = 300; %kg/h
K2 = 200; %kg/h
rho = 1000; %kg/m3
g = 9.81; %m/s2

 Determine e trace um gráfico com a altura do nível em função do tempo


em 0 ≤ t ≤ 150s se em t=0, h=3m.
Exercício 1 – Tanque cilíndrico

Solution of the equation system


3
e0.h

2.5
e0.h

1.5

0 50 100 150
e0.t
Exercício 2 – Tanque esférico

Um tanque esférico de raio R=4m é esvaziado por meio de um pequeno


buraco circular de raio r=0,02m localizado no fundo. O topo do tanque está
aberto. O nível d’água instantâneo no tanque, h (medido a partir do fundo do
tanque, no dreno), pode ser determinado a partir da solução da seguinte edo:

dh r 2 2 gh

dt 2hR  h 2

Se o nível da água em t=0, h=6m, determine o tempo para drenar o tanque


até um nível de 0,5m.
Exercício 2 – Tanque esférico

Solution of the equation system


6
e0.h
5.5

4.5

3.5
e0.h

2.5

1.5

0.5

0 0.5 1 1.5 2
e0.t 4
x 10
Exercício 3 – Reator Batelada

 Em um reator batelada ocorre as seguintes reações:


CA0

A  B 

k1 k2
C
k5


B D

k1

k4

CD0
CA0, CB0, CC0 CD0
 São conhecidos os seguintes parâmetros e CI
Taxa de Reação, Concentração
h-1 em t=0, mol.m-3
k1=0.45 CA0=9.90
k2=0.16 CB0=0.00
k3=0.12 CC0=0.00
k4=0.08 CD0=0.05
k5=0.10
Exercício 3 – Reator Batelada

 O reator pode ser modelado pelo seguinte conjunto de EDO’s:


dC A
 k5CB  k1C A
dt
dCB
 k1C A  k4CD  (k2  k3  k5 )CB
dt
dCC
 k2C B
dt
dCD
 k3CB  k4CD
dt

 Determine o perfil de concentração no tempo para cada componente


Exercício 3 – Reator Batelada

Solution of the equation system

e0.Ci=1

e0.Ci=1
5

0
0 2 4 6 8 10

e0.Ci=2
e0.Ci=2

0
0 2 4 6 8 10

e0.Ci=3
e0.Ci=3

0
0 2 4 6 8 10

e0.Ci=4
e0.Ci=4

0
0 2 4 6 8 10
e0.t
Exercício 4 – Manômetro

Um manômetro em formato de U (usado para medir pressão) está inicialmente cheio


de água, mas é exposto a uma diferença de pressão tal que o nível d’água em seu lado
esquerdo fica 0,05m mais alto que o nível d’água em seu lado direito. Em t=0, a
diferença de pressão é repentinamente removida. Quando se despreza o atrito, a
altura do nível d’água no lado esquerdo y medida a partir do plano central entre os
dois níveis d’água iniciais é dada pela solução da equação:
d2y
L 2  2 gy
dt
onde L =0,2m é o comprimento total do tubo em forma de U, e
g=9,81 m/s2. Resolva a edo e trace y e dy/dt (em duas figuras
separadas em uma página) em função de t nos primeiros 10s.
Solução:  dy
 dt  w

 dw   2 gy
 dt L
Exercício 4 – Manômetro

Solution of the equation system

0.4 e0.w

0.2

e0.w
0

-0.2

-0.4

0 2 4 6 8 10

0.4 e0.y
0.2
e0.y

-0.2

-0.4
0 2 4 6 8 10
e0.t

Você também pode gostar