Você está na página 1de 6

Soluo Numrica de Equaes Diferenciais Ordinrias

Samuel da Silva1 , Universidade Estadual Paulista - UNESP, Faculdade de Engenharia de Ilha Solteira,
Departamento de Engenharia Mecnica, Ilha Solteira, SP.

1 Objetivos
Este texto tem como meta apresentar sucintamente alguns mtodos clssicos para soluo numrica de
equaes diferenciais ordinrias em problemas de valor inicial. Uma vez que em dinmica de sistemas mecnicos
a aplicao da 2.o lei de Newton conduz a equaes diferenciais, conhecidas com equaes do movimento,
necessrio saber implementar computacionalmente a soluo destas equaes. Com estas solues pode-
se analisar o comportamento dinmico do sistema, estudar estabilidade, realizar modificaes de geometria,
visualizar e animar os movimentos, etc. Para saber mais neste tpico aconselha-se os livros [1] ou [2], dentre
outros de tema similar.

2 Introduo
Equaes diferenciais aparecem com enorme frequncia em diversos problemas de modelagem de fenmenos
fsicos. Exemplos so equaes que descrevem escoamento de fluidos, transferncia de calor e massa, qumica,
dinmica e vibraes em sistemas mecnicos, etc.
Uma equao diferencial definida como uma equao que envolve derivadas das funes. A ordem de uma
equao diferencial descrita em funo da maior ordem p da derivada envolvida.
Dois tipos bsicos podem aparecer, o primeiro envolve equaes diferenciais ditas ordinrias. Neste caso
existe apenas uma varivel independente, y(x):
dy
=x+y (1)
dx
Equaes diferenciais ordinrias contm parmetros fsicos concentrados.
O segundo tipo acontece quando existe mais de uma vriavel independente, por exemplo u(x, y) sendo o
deslocamento u em uma placa em funo de x e y:

2u 2u
+ 2 = 2 u = 0 (2)
x2 y
sendo 2 o Laplaciano. Esta equao um exemplo de equao diferencial parcial. Este tipo de equao
envolve parmetros distribudos. Neste texto iremos focar apenas a soluo numrica de equaes diferenciais
ordinrias (EDO).
Um fato interessante constatar que EDOs no possuem apenas uma soluo e sim uma famlia ou conjunto
de solues possiveis. Para particularizar a soluo de uma EDO essencial se definir valores de condies
suplementares. Caso estes valores sejam especificadas no mesmo ponto tem-se uma condio inicial e neste
contexto o problema classificado como de valor inicial (PVI). Por outro lado se for especificada em mais de
um ponto tem-se um problema de valor de contorno (PVC).
As equaes diferenciais podem ser lineares ou no-lineares, dependendo se vlido ou no o princpio da
superposio. Um exemplo de equao diferencial ordinria no-linear :

u00 (x) + u02 (x) = 1 (3)


A grande preocupao dos matemticos garantir a existncia e unicidade da soluo de PVI e PVC. Um
problema de PVC normalmente mais complexo, pois em inmeros exemplos no se garante unicidade da
soluo.
Em problemas de dinmica de sistemas mecnicos a aplicao da 2.o lei de Newton gera sistemas de EDOs que
so essencialmente no-lineares2 . Ao menos para casos bem particulares, no geral linearizados e com aplicao
de hipteses simplificadoras, a soluo analtica destas equaes invivel. Assim, justifica-se a aplicao e
implementao de mtodos numricos.
A ideia bsica de grande parte deste mtodos numricos ser capaz de construir uma soluo para uma
equao do tipo x0 (t) = f (x, t) dada uma condio x(t0 ) = x0 . O que se busca definir uma sequncia de
valores t1 , t2 , , tn , no necessariamente espaados e calcular aproximaes numricas para xi (ti ) baseado
em informaes passadas. Se apenas uma informao passada empregada o mtodo conhecido com sendo
da classe passo simples. Por outro lado, se usarmos vrios valores passados, o mtodo de passo mltiplo.
1 Sugestes, comentrios e correes so bem-vindos e podem ser feitos pelo email samuel@dem.feis.unesp.br.
2 Estas EDOs so as equaes do movimento.

1
Alguns mtodos clssicos usados envolvem a aproximao numrica da srie de Taylor, como ser apresentado
na sequncia.

3 Mtodo de Srie de Taylor


A srie de Talyor pode ser usada para resolver qualquer tipo de EDO, porm os resultados em termos de
eficincia computacional so limitados para EDOs de ordem baixa. A ideia consiste em aproximar a funo x(t)
em um ponto em torno de t = tn por uma srie3 :

(t)2
x(tn+1 ) x(tn ) + x(t
n )t + x
(tn ) (4)
2
sendo t = tn+1 tn o passo de integrao, que no necessariamente precisa ser uniforme entre todos os
pontos. Obviamente, que a equao acima ter um erro de truncamento. Observa-se claramente que uma
reduo de t faria com que a soluo convirja mais rpido para a soluo exata. Porm, do ponto de vista
computacional uma reduo grande de t pode no conduzir na prtica um aumento da preciso, uma vez
que existe uma maior propagao de erros de truncamento, alm do tempo de processamento ficar elevado.
Um caso particular realizar uma aproximao de 1.o ordem:

x(tn+1 ) x(tn ) + x(t


n )t (5)
o
neste caso, a srie de Taylor de 1. ordem chamada de mtodo de Euler.
O procedimento para obter a soluo de uma EDO conhecer os condies iniciais no instante t0 e prosseguir
na aproximao em instantes t1 = t0 + t at tN = t0 + N t, sendo N o nmero de amostras a avaliar.
Assim para uma EDO do tipo:

x
(t) + x(t)
+ x(t) = 0 (6)
com condies iniciais x(t
0 ) e x(t0 ) conhecidas, tem-se que x
(t0 ) :

(t0 ) = x(t
x 0 ) x(t0 ) (7)
Para um instante t1 = t0 + t deve-se aproximar quem so as funes x(t
1 ) e x(t1 ). Usando a aproximao
com o mtodo de Euler:

x(t1 ) = x(t0 + t) x(t0 ) + x(t


0 )t (8)
x(t 0 + t) x(t
1 ) = x(t 0) + x
(t0 )t (9)

E portanto a funo x
(t1 ) ser aproximada usando estes resultados:

(t1 ) x(t
x 1 ) x(t1 ) (10)
e assim por diante at atingir tN , tendo as respostas numricas que solucionam a EDO em estudo.
A maior desvantagem do uso da srie de Taylor a necessidade de se verificar valores das derivadas de
ordem mais alta da funo x(t) a aproximar. Assim, apesar de ser teoricamente possvel resolver qualquer
EDO, os resultados computacionais s so eficientes para EDOs de ordem baixa (1.o ou 2.o ordem). O mtodo
de Runge-Kutta resolve em partes esta deficincia.

4 Mtodo de Runge-Kutta
O mtodo de Runge-Kutta foi proposto por dois matemticos alemes em 1902 visando:

Aproveitar as qualidades da srie de Taylor para aproximar x(t).


Eliminar a necessidade de clculo das derivadas de x(t) na aproximao, por exemplo, lembre que para
0 ). O preo pago na famlia de mtodos4
aproximar via mtodo de Euler x(t1 ) necessito conhecer x(t0 ) e x(t
de Runge-Kutta calcular x(t)
= f (x, t) em vrios pontos.
3 Que neste caso especfico truncada em termos de 2.o ordem.
4O termo famlia usado pois existem mtodos de Runge-Kutta de vrias ordens.

2
O mtodo de Runge-Kutta de 1.o ordem uma aproximao pelo mtodo de Euler da forma:

x(tn+1 ) = x(tn ) + f (tn , x(tn ))t (11)


Um dos mtodos mais populares5 de Runge-Kutta o de 4.o ordem, descrito por:
1
x(tn+1 ) x(tn ) +
(k1 + 2k2 + 2k3 + k4 ) (12)
6
sendo as constantes calculadas para cada passo t:

k1 = tf (tn , x(tn )) (13)


k2 = tf (tn + t/2, x(tn ) + k1 /2) (14)
k3 = tf (tn + t/2, x(tn ) + k2 /2) (15)
k4 = tf (tn + t, x(tn ) + k3 ) (16)

5 Mtodo de Newmark
O sistema de equaes diferenciais de segunda ordem em dinmica estrutural pode ser resolvido por qualquer
mtodo considerando a existncia de alguma excitao F externa sendo aplicado no sistema ou mesmo condio
inicial de deslocamento e velocidade em algum n. Entre estes, o mtodo de Newmark um dos mais verstil
e popular6 para soluo de grandes sistemas de equaes diferenciais de segunda ordem. Aqui no ser dada
nenhuma prova. Apenas apresentado sucintamente o mtodo e mostrado um algoritmo efetivo para soluo do
sistema de EDOs.
Considerando a equao do movimento do sistema descrita pelas matrizes de massa e rigidez e com o
amortecimento sendo do tipo proporcional a massa e/ou rigidez:

x + Cx + Kx = F.
M (17)
sendo x , x e x os vetores acelerao, velocidade e deslocamento, respectivamente.
A equao acima pode ser integrada usando algum mtodo numrico. Em essncia, a integrao numrica
direta baseada em duas ideias. Na primeira, ao invs de tentar satisfazer a equao acima em todo tempo
t, busca-se satisfaze-l apenas em intervalos discretos de tempo t. A segunda ideia consiste em variar os
deslocamentos, velocidades e aceleraes dentro do intervalo de tempo t assumido.
Em seguida, considera-se que os vetores deslocamento, velocidade e acelerao no tempo inicial t0 , denotados

por x(0), x(0) ex (0) respectivamente, so conhecidos e implementa-se a soluo das equaes de equilbrio para
um tempo de t0 at tN . Na soluo, todo o tempo considerado dividido em N intervalos iguais t(t = tN /N )
e o esquema de integrao empregado estabelece uma soluo aproximada para os tempos t, 2t, 3t, ,t,
t + t, , TN .
O esquema geral no mtodo de Newmark assume que:

x (t + t) = x(t)
+ t [(1 ) (t + t)]
x(t) + x (18)
  
1

x(t + t) = x(t) + tx(t) + x (t) + x(t + t) t2 (19)
2

As constantes e so conhecidas como parmetros de Newmark e so determinados visando obter exatido


e estabilidade numrica. Na literatura existem muitas variaes deste algoritmo. Newmark originalmente props
o esquema conhecido como acelerao mdia constante, conhecida como regra trapezoidal, neste caso = 1/2
e = 1/6. A fig. (1) mostra o esquema de integrao. Porm outros esquemas podem ser usados, como por
exemplo = 1/2 e = 1/4, que ser empregado na rotina computacional do final desta seo.
A ideia fazer com que a equao do movimento, eq. (17), seja vlida nos intervalos de tempo de 0 at tN :

M
x(0) + Cx(0) + Kx(0) = F(0).
..
.
M
x(t) + Cx(t) + Kx(t) = F(t).
M + t) + Kx(t + t) = F(t + t).
x(t + t) + Cx(t
5 Consulte o comando ODE45 no Matlab . R
6O integrador do software de elementos finitos Ansys baseado neste procedimento.

3
Figura 1: Esquema de acelerao mdia constante de Newmark.

..
. (20)
M N ) + Kx(tN ) = F(tN ).
x(tN ) + Cx(t

Com base nesta ideia e no esquema de integrao de Newmark pode-se escrever um algoritmo computacional
para integrao de equaes diferenciais de segunda ordem de sistemas lineares descrito por quatro passos
bsicos:

Inicializao.
Predio.

Equao de equilbrio
Correo.

Escrevendo explicitamente cada passo temos:

1. Dados do problema: M, C, K
2. Inicializao:
( )
1
x
(0) = M F(0) Cx(0)
Kx(0) (21)

3. Incremento temporal:

tk+1 = tk + t (22)

4. Predio:

x tk+1 = x tk + (1 )t
x tk (23)
1
xtk+1 = xtk + tx tk + ( )t2 x tk (24)
2

5. Equao de equilbrio:

S = M + tC + t2 K (25)
tk +1
x = S1 (Ftk Cx tk Kxtk ) (26)

4
6. Correo:

x tk +1 = x tk + t x
tk (27)
2
xtk +1 = xtk + t x tk (28)

7. Critrio de parada: atingir tN .

Abaixo apresentado um pequeno script em Matlab R que pode ser usado para integrar a equao do movi-
mento de um sistema mecnico qualquer de forma geral a partir do conhecimento de suas matrizes estruturais,
eventual fora de excitao e condies iniciais de velocidade e deslocamento. Este algoritmo uma adaptao
simples do procedimento apresentado anteriormente, considerando esquema de integrao retangular. Usando
pequenos t esta rotina efetiva para aplicaes prticas em grandes esquemas de integrao de equaes do
movimento.

%--------------------------------------------------------------------------
%
% Classical Newmark Method for time integration considering linear
% system
%
% Date: June 2007, Besanon, France
% Author: DA SILVA, Samuel
%
% function [disp,vel,acc] = newmark_linear(M,K,Damp,Bt,F,t,vel,disp)
%
% Input:
% M: mass matrix
% K: stiffness matrix
% Damp: damping matrix
% Bt: dof to excitation
% F: excitation force
% t: time vector
% disp: initial displacement vector
% vel: initial velocity vector
%
% Output
% disp: displacement vector
% vel: velocity vector
% acc: acceleration vector
%
%--------------------------------------------------------------------------

function [disp,vel,acc] = newmark_linear(M,K,Damp,Bt,F,t,vel,disp)

dt=t(2)-t(1);

% Newmark parameters
gamma = 1/2;
Beta = 1/4;

% Initialization
acc(:,1)=inv(M)*(Bt*F(1)-Damp*vel(:,1)-K*disp(:,1));

for i =2:length(t);

% Prediction
vel(:,i) = vel(:,i-1)+(1-gamma)*dt*acc(:,i-1);
disp(:,i) = disp(:,i-1)+dt*vel(:,i-1)+(.5-Beta)*(dt^2)*acc(:,i-1);

% Equilibrium equation
S = M + gamma*dt*Damp + Beta*(dt^2)*K;

5
acc(:,i) = inv(S)*(Bt*F(i)-Damp*vel(:,i)-K*disp(:,i));

% Correction
vel(:,i) = vel(:,i) + dt*gamma*acc(:,i);
disp(:,i) = disp(:,i) + (dt^2)*Beta*acc(:,i);

end

%--------------------------------------------------------------------------

Referncias
[1] M. A. G. Ruggiero and V. L. R. Lopes. Clculo Numrico - Aspectos Tericos e Computacionais. Makron
Books, 1996.

[2] I. F. Santos. Dinmica de Sistemas Mecnicos. Makron Books, 2001.