Sei sulla pagina 1di 5

231

10.4 Ecuaciones diferenciales parciales de tipo hiperblico


En este tipo de ecuaciones el dominio est abierto en uno de los bordes Para aplicar el
mtodo de diferencias finitas usaremos un ejemplo particular para posteriormente interpretar
los resultados obtenidos.
2
2u
2 u
=
c
t 2
x 2
Suponer que u es una funcin que depende de x, t en donde u representa el desplazamiento
vertical de la cuerda en funcin de la posicin horizontal x, y el tiempo t, mientras que c es una
constante. L es la longitud de la cuerda

Ejemplo. Ecuacin de la onda en una dimensin: u(x, t):

Suponer que los extremos de la cuerda estn sujetos y que la longitud es L = 1


u = u(x, t), 0 x 1, t 0
u(0, t) = 0,
t0
u(1, t) = 0,
t0
Inicialmente la cuerda es estirada desplazando su punto central una distancia de 0.25
0 < x 0.5
0.5x,
u(x, 0) =
0.5(x 1), 0.5 < x < 1

Al soltar la cuerda desde la posicin inicial, su velocidad inicial es cero


u(x,0)
=0
t
10.4.1

Un esquema de diferencias finitas explcito

Para aplicar el mtodo de diferencias finitas, debe discretizarse el dominio de u

u(xi, tj) = ui, j ; i = 0, 1, ..., n; j = 0, 1, 2, ...


Elegimos las siguientes aproximaciones de diferencias finitas para las derivadas:
2ui,j ui + 1,j 2u i,j +ui 1,j
=
+ O(x)2
(x)2
x 2

2ui,j ui,j+ 1 2u i,j +ui,j1


=
+ O(t)2
t 2
(t)2
ui,j+ 1 2u i,j +ui,j 1
2
2 ui + 1,j 2u i,j +ui 1,j
2
+ O(x) = c
+ O(t)
2
(t)
(x)2
Se obtiene la ecuacin de diferencias:

ui,j+ 1 2u i,j +ui,j 1


(t)

=c

ui + 1,j 2u i,j +ui 1,j


(x)2
2

Cuyo error de truncamiento es E = O(x) + O(t)

Esta ecuacin se puede expresar de la siguiente forma:


c2 (t)2
( ui + 1,j 2u i,j + ui 1,j )
ui,j+ 1 2u i,j + ui,j1 =
(x)2
Mediante un anlisis se demuestra que si
mtodo de diferencias finitas es estable.

c2 (t)2
= 1, entonces la solucin calculada con el
(x)2

232
Para el ejemplo, suponer que c = 2, x = 0.2, entonces de la condicin anterior se tiene:
22 (t)2
= 1 t = 0.1
(0.2)2
Esta sustitucin anterior permite adems simplificar:

ui,j+ 1 + ui,j1 = ui + 1,j + ui 1,j


La ecuacin incluye cuatro puntos dispuestos en un rombo.

La solucin progresa en la direccin t por lo que despejamos el punto en el vrtice superior.

ui,j+ 1 = ui + 1,j + ui 1,j ui,j1 ,

i = 1, 2, 3, 4;

j = 1, 2, 3, . . .

(1)

Se puede notar observando el grfico que para obtener cada nuevo punto de la solucin se
requieren conocer dos niveles previos de la solucin
Describimos el dominio de u mediante una malla con puntos en dos dimensiones en la cual el
eje horizontal representa la posicin xi mientras que el eje vertical representa tiempo tj. En
esta malla se representan los datos en los bordes y los puntos interiores que deben ser
calculados

Condicin inicial
definida en u(x, 0)

Siguiendo una estrategia usada anteriormente, expresamos el dato adicional


mediante una frmula de diferencias central:
ui,0 ui,1 ui,1
= = 0 ui,-1 = ui,1
t
2(t)

u(x,0)
=0
t

(2)

Esta ecuacin incluye el punto ficticio ui,-1. Conviene entonces evaluar la ecuacin (1) cuando
t = 0:
j = 0: ui,1 = ui + 1,0 + ui 1,0 ui,1 , i = 1, 2, 3, 4
Sustituyendo en esta ecuacin el resultado (2) se elimina el punto ficticio ui,-1
ui,1 = ui + 1,0 + ui 1,0 ui,1

ui,1 =

1
(ui + 1,0 + ui 1,0 ) , i = 1, 2, 3, 4
2

(3)

La ecuacin (3) debe aplicarse nicamente cuando t = 0, para encontrar ui,j en el nivel j=1

233

j = 0,

i = 1:
i = 2:
i = 3:
i = 4:

1
1
u1,1 =(u2,0 + u0,0 ) =(0.2 + 0) =
0.1
2
2
1
1
u2,1 = (u3,0 + u1,0 ) = (0.2 + (0.1)) =0.15
2
2
1
1
u3,1 = (u4,0 + u2,0 ) = (0.1 + (0.2)) =0.15
2
2
1
1
u4,1 = (u5,0 + u3,0 ) = (0 + (0.2)) =0.1
2
2

Los valores calculados son colocados en la malla:

Ahora se tienen dos niveles con puntos conocidos. A partir de aqu se debe usar nicamente la
ecuacin (1) como un esquema explcito para calcular directamente cada punto en los
siguientes niveles j, cada uno a una distancia t = 0.1

ui,j+ 1 = ui + 1,j + ui 1,j ui,j1 , i = 1, 2, 3, 4;


j = 1,

j = 2,

j = 3,

etc.

j = 1, 2, 3, . . .

i = 1:

u1,2 =u2,1 + u0,1 u1,0 =0.15 + 0 (0.1) =0.05

i = 2:

u2,2 =u3,1 + u1,1 u2,0 =0.15 + (0.1) (0.2) =0.05

i = 3:

u3,2 =u4,1 + u2,1 u3,0 =0.1 + (0.15) (0.2) =0.05

i = 4:

u4,2 =u5,1 + u3,1 u4,0 = 0 + (0.15) (0.1) =0.05

i = 1:

u1,3 =u2,2 + u0,2 u1,1 =0.05 + 0 (0.1) = 0.05

i = 2:

u2,3 =u3,2 + u1,2 u2,1 =0.05 + (0.05) ( 0.15) = 0.05

i = 3:

u3,3 =u4,2 + u2,2 u3,1 =0.05 + (0.05) (0.15) = 0.05

i = 4:

u4,3 = u5,2 + u3,2 u4,1 = 0 + (0.05) (0.1) = 0.05

i = 1:

u1,4= u2,3 + u0,3 u1,2= 0.05 + 0 (0.05)


= 0.1

i = 2:

u2,4= u3,3 + u1,3 u2,2= 0.05 + 0.05 ( 0.05)


= 0.15

i = 3:

u3,4
= u4,3 + u2,3 u3,2
= 0.05 + 0.05 (0.05)
= 0.15

i = 4:

u4,4 = u5,3 + u3,3 u4,2 = 0 + 0.05 (0.05) = 0.1

234
10.4.2 Instrumentacin computacional
La siguiente instrumentacin del mtodo de diferencias finitas permite resolver problemas de
tipo similar al ejemplo anterior: extremos fijos, estiramiento central, velocidad inicial nula y
c2 (t)2
= 1 cuya ecuacin de diferencias es:
parmetro
(x)2
1
i = 1, 2, 3, . . . , m-1 (Para el primer nivel j = 1)
ui,1 = (ui + 1,0 + ui 1,0 ) ,
2
ui,j+ 1 = ui + 1,j + ui 1,j ui,j1 i = 1, 2, 3, . . . , m-1 (Para los siguientes niveles j = 2, 3, 4, ...)
El esquema de clculo utilizado es explcito. Cada punto es calculado directamente mediante
funciones que entregan la solucin calculada y un programa que contiene los datos y muestra
grficamente la solucin. Se puede visualizar el movimiento de la cuerda incluyendo en el
programa los comandos pause y clf. En la ejecucin presione alguna tecla para visualizar el
movimiento.
% Mtodo de Diferencias Finitas explcito para una EDP Hiperblica
%
con parametro c^2 dt^2/dx^2 = 1
% Extremos fijos, estiramiento central y velocidad inicial cero
clf;
m=11;
% Nmero de puntos en x
n=50;
% Nmero de niveles en t
c=2;
% dato especificado
dx=0.1;
dt=sqrt(dx^2/2^2);
% incrementos
L=1;
% longitud
clear x U0 U1 Uj;
U0(1)=0;
% Extremos fijos
U0(m)=0;
x=0;
for i=2:m-1
% Posicin inicial de la cuerda
x=x+dx;
if x<L/2;
U0(i)=-0.5*x;
else
U0(i)=0.5*(x-1);
end
end
x=0:dx:L;
% Coordenadas para el grafico
plot(x,U0,'r');
% Distribucin inicial
axis([0,1,-0.5,0.5]);
pause;
clf;
U1=EDPDIFH1(U0,m);
% Calculo del primer nivel
plot(x,U1,'r');
axis([0,1,-0.5,0.5]);
pause;
clf;
for j=1:n
Uj=EDPDIFHJ(U0,U1,m); % Siguientes niveles
plot(x,Uj,'r');
axis([0,1,-0.5,0.5]);
pause;
clf;
U0=U1;
U1=Uj;
end

235
function U1=EDPDIFH1(U0,m)
% Solucin U(x,t) de una EDP hiperbolica con parametro igual a 1
% Clculo del primer nivel de la solucion
U1(1)=U0(1);
for i=2:m-1
U1(i)=0.5*(U0(i-1)+U0(i+1));
end
U1(m)=U0(m);

function Uj=EDPDIFHJ(U0,U1,m)
% Solucin U(x,t) de una EDP hiperbolica con parametro igual a 1
% Clculo de los siguientes niveles de la solucion
Uj(1)=U1(1);
for i=2:m-1
Uj(i)=U1(i+1)+U1(i-1)-U0(i);
end
Uj(m)=U1(m);

Almacenar las funciones y el programa y ejecutarlo para visualizar la solucin:

Cuerda en movimiento

Grfico de la cuerda en un instante de su desplazamiento

Potrebbero piacerti anche