Anda di halaman 1dari 6

UNIVERSIDAD NACIONAL MAYOR DE SAN

MARCOS

FACULTAD DE CIENCIAS FISICAS

EAP Ingeniería Mecánica de Fluidos

Problema de la cuerda vibrante (ejemplo de aplicación de las diferencias finitas


a las EDPs hiperbólicas)

CURSO: METODOS NUMERICOS II

ALUMNO: ESPINOZA CARDENAS, ESTUARDO JOSE

CODIGO: 15130147

PROFESOR: CHAUCA NOLASCO, WILLIAM WILFREDO

SEMESTRE ACADEMICO: 2019-0


CUERDA VIBRANTE
Ecuaciones diferenciales parciales de tipo hiperbólica:

 2u  2u
c 2
 ....(1)
x 2 t 2
Para la cuerda vibrante:

C.F.1 u  0, t   0 fijos en los extremos

C.F.2 u 1, t   0

C.I.1 u  x,0   f ( x) desviación inicial

C.I.2 ut ( x,0)  g ( x) velocidad inicial

Para la expresión (1) tomando diferencias finitas:

 2u ui 1, j  2ui , j  ui 1, j


  2u ui , j 1  2ui , j  ui , j 1
...(2)  ...(3)
x 2  x   t 
2
t 2 2

De (2) y (3) en (1):

 u  2ui , j  ui 1, j   ui , j 1  2ui , j  ui , j 1 


c 2  i 1; j  
(x) 2  t 
2
   

 t 
2

c   ui 1, j  2ui , j  ui 1, j   ui. j 1  2ui , j  ui , j 1


2

 x 
 2ui , j 1  2 2ui , j   2ui 1, j  2ui , j  ui , j 1  ui, j i

ui , j 1   2ui 1, j  2 1   2  ui , j   2ui 1, j  ui , j 1...(4)


Caso particular: cuando la velocidad inicial es 0.
g ( x)  0 ut ( x, 0)  g ( x)  0

Considerando una diferencia centrada de primer orden:

ui , j 1  ui , j 1
0 ui , j 1  ui , j 1...(5)
2t
Reemplazando (5) en (4):

 2ui 1, j  2(1   2 )ui , j   2ui 1, j


ui , j 1  ...(6)
2
i  1, 2,3; j  1

esta ecuación se usa solo una vez y luego se usa para los demás tiempos la ecuación (4)

ejemplo de aplicación:
calcular las desviaciones en una cuerda de longitud 1cm, con un paso de tiempo de
0.05s, en un intervalo de tiempo de 0.2s.
u  0, t   0
u u
2 2
4  u 1, t   0
x 2 t 2
u  x, 0   sen( x) 0  x 1
ut ( x, 0)  g ( x) 0  x 1

Tomando como ecuación referencial la solución general: u  x, t   sen( x)cos(2 t )

Tomamos como longitud de paso longitudinal h=1/10=0.1cm.


Como no existe velocidad inicial se debe usar el algoritmo (6)
Calculamos el valor del coeficiente de Cuorant, resultando   1

ui , j 1 
1
2
ui1, j  ui1, j  (algoritmo del problema dado)

Resultados obtenidos mediante el algoritmo:

LONGITUD DE LA CUERDA
nodo inicial nodos interiores nodo final
TIEMPO 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0 0 0.30901769 0.58778644 0.80901829 0.95105742 1 0.95105515 0.80901397 0.5877805 0.30901071 0
0.05 0 0.29389322 0.55901799 0.76942193 0.90450914 0.95105629 0.90450699 0.76941783 0.55901234 0.29389025 0
0.1 0 0.279509 0.53165758 0.73176357 0.86023911 0.90450807 0.86023706 0.73175966 0.53165404 0.27950617 0
0.15 0 0.26582879 0.50563628 0.69594834 0.81813582 0.86023808 0.81813386 0.69594555 0.50563292 0.26582702 0
0.2 0 0.25281814 0.48088857 0.66188605 0.77809321 0.81813484 0.77809182 0.66188339 0.48088628 0.25281646 0
Variación de la desviación de la cuerda respecto al la
longitud de la cuerda y el tiempo
1.2

1
desviacion(cm)
0.8

0.6

0.4

0.2

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
longitud de la cuerda(cm)

t=0s t=0.05s t=0.1s t=0.15s t=0.2s

Resolución por medio de Código fuente en MATLAB:


clear all
%Datos en x
a=0; b=1; %Longitud del cable L=1.5.
h=0.1; %Paso.
x=a:h:b ;%Discretización espacial del cable.
N=floor((b-a)/h);
%Definimos las matrices de la ecuación
xx=x(2:N);
xx=xx';
ua=0;ub=0; %Condiciones de contorno.
U0=zeros(size(xx)); %Preasignación de U0.
%Recorremos mediante un bucle U0, y añadimos los valores que
correspondan.
for j=1:length(xx);

U0(j)=sin(pi*xx(j));

end

V0=zeros(size(xx));%Preasignación de V0.
%Matriz K
K=1/h^2*(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-
2),1));
%Término F y valor inicial
F=0*xx;
F(1)=F(1)+ua/h^2;
F(end)=F(end)+ub/h^2;
%Resolución del sistema de ecuaciones de EDO de orden 1.
t0=0;tM=0.2;
k=0.05; %Paso en t.
t=t0:k:tM; %Discretización del vector de tiempos.
M=length(t)-1; %Número de subintervalos.
%Añadimos en la primera columna las condiciones iniciales.
U(:,1)=U0;
V(:,1)=V0;
for i=1:M
%Resolución del sistema de ecuaciones por el método del trapecio
U(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(U(:,i)+0.5*k*(2*V(:,i)+0.5*k*(-
K*U(:,i)+2*F)));
V(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(V(:,i)+0.5*k*(-K*U(:,i)+2*F)-
0.5*k*K*(U(:,i)+0.5*k*V(:,i)));
end
%Incluimos condiciones Dirichlet.
UA=ua*ones(1,length(t));
UB=ub*ones(1,length(t));
U=[UA;U;UB];
%Dibujamos el gráfico.
[Mt,Mx]=meshgrid(t,x);
mesh(Mx,Mt,U)
xlabel('Longitud (cm)'); ylabel('Tiempo (s)'); zlabel('Posición (cm)');
Analizando mediante la aplicación PDETOOL:

Anda mungkin juga menyukai