Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Vibración de Un Pistón

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 13

Trabajo Grupal Externo 1: Vibracin de un Pistn BAIN053 Mtodos Numricos para Ingeniera

Integrantes (Grupo 4_Daniel_Reyes): Tania Garrido Daniela Seguel Evelyn Pafin Daniel Reyes

Valdivia, 07 de mayo de 2013.

ndice
INTRODUCCIN .......................................................................................................................3 DESARROLLO.............................................................................................................................3 1. 2. 3. 4. 5. 6. PLANTEAMIENTO DEL PROBLEMA ......................................................................................................... 3 CONSTRUCCIN DE RUTINAS .................................................................................................................. 5 POSIBLES VALORES DE CONSTANTES ..................................................................................................... 7 SOLUCIONANDO EL PVI CON LAS RUTINAS IMPLEMENTADAS ......................................................... 8 INTERPOLACIN DE SOLUCIONES .......................................................................................................... 9 COMPARACIN GRFICA ........................................................................................................................12

CONCLUSIN........................................................................................................................... 13 BIBLIOGRAFA ......................................................................................................................... 13

BAIN053 - Mtodos Numricos para Ingeniera

Introduccin
En el mbito de la ingeniera nos encontramos con una serie de problemas en los cuales su planteamiento o formulacin fsica involucra una ecuacin diferencial, ms an, podramos decir que muchos de estos problemas pueden ser analogados a un sistema; masa-resorte-amortiguador y saber plantearlo y resolverlo de manera numrica resulta crucial. En este trabajo veremos cmo plantear y resolver un problema de este tipo haciendo uso de los mtodos de Runge-Kutta de orden cuatro y en mtodo de Heum, con lo que se espera entender a cabalidad el problema con valor inicial (PVI) dado.

Desarrollo
1. Planteamiento del problema
Se tiene el problema mostrado en la figura 1.

Figura 1. Problema planteado. El cual es anlogo al sistema mostrado en la figura 2.

Figura 2. Diagrama de cuerpo libre para la masa del problema planteado. Observando la figura 2 y aplicando la segunda ley de Newton tenemos que = 0 = Adems tenemos que el fluido que entra al pistn en un intervalo de tiempo est dado por 3
+

BAIN053 - Mtodos Numricos para Ingeniera

= = ( 0 ) = , donde representa el desplazamiento del pistn producido por el fluido entrante. Y resolviendo para 0 tenemos 0 = 0 Ahora tomando el lmite cuando 0 tenemos que 0 = 0 .

Con lo que podemos escribir la ecuacin de movimiento como (0 ) = 2 + = ,

+ + Lo que podemos escribir como = Y si hacemos =

2 + =

2 +

= , obtenemos el siguiente sistema

= = + De manera matricial
0 ( ) = ( 1 0

, ,

(0) = ( = 0 ) (0) = ( = 0 )

) ( ) + ( )

( = 0 ) (0) )=( ) (0) ( = 0 )

BAIN053 - Mtodos Numricos para Ingeniera

2. Construccin de rutinas
La rutina implementada para el mtodo de Runge-Kutta de orden 4 (mostrada en [2]) fue la siguiente:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Runge-Kutta de orden 4 para sistemas % % Entradas % _ F es la funcin almacenada como string 'funcion.m' % _ a y b son los extremos derecho e izquierdo del intervalo % _ Z=[x1(a)...xn(a)] es la cond. inicial % _ M es el nmero de pasos. % % Salidas % _ T el vector de los nodos % _ Z=[x1(t)... xn(t)]; donde xk(t) es la aprox. de la k-sima % var % function [T,Z]=RKS4(a,b,Za,M) h=(b-a)/M; T=zeros(1,M+1); Z=zeros(M+1,length(Za)); T=a:h:b; Z(1,:)=Za; for j=1:M k1=h*feval('funcion',T(j),Z(j,:)); k2=h*feval('funcion',T(j)+h/2,Z(j,:)+k1/2); k3=h*feval('funcion',T(j)+h/2,Z(j,:)+k2/2); k4=h*feval('funcion',T(j)+h,Z(j,:)+k3); Z(j+1,:)=Z(j,:)+(k1+2*k2+2*k3+k4)/6; end end % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

La cual utiliza la funcin del sistema ingresada como cadena de caracteres y almacenada como funcion.m como sigue:
function Z=funcion(t,Z) x=Z(1); y=Z(2); Z=[2*x+4*y,-x+6*y]; %funcin de ejemplo, cambiar para el sistema pedido

BAIN053 - Mtodos Numricos para Ingeniera

Por ltimo la rutina implementada para el mtodo de Heum, se hizo en base al mtodo de Heum para una ecuacin diferencial descrito en [2] pero analogado para sistemas, la rutina resultante fue la siguiente:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Heum para sistemas % % Entradas % _ F es la funcin almacenada como string 'funcion.m' % _ a y b son los extremos derecho e izquierdo del intervalo % _ Z=[x1(a)...xn(a)] es la cond. inicial % _ M es el nmero de pasos. % % Salidas % _ T el vector de los nodos % _ Z=[x1(t)... xn(t)]; donde xk(t) es la aprox. de la k-sima % var % function [T,Z] = Heum(a,b,Za,M) h=(b-a)/M; T=zeros(1,M+1); Z=zeros(M+1,length(Za)); T=a:h:b; Z(1,:)=Za; for j=1:M k1=feval('funcion',T(j),Z(j,:)); k2=feval('funcion',T(j+1),Z(j,:)+h*k1); Z(j+1,:)=Z(j,:)+(h/2)*(k1+k2); end end % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Rutina que al igual que la implementada para el mtodo de Runge-Kutta funciona utilizando la funcin del sistema ingresada como cadena de caracteres y almacenada como funcion.m implementada como sigue:
function Z=funcion(t,Z) x=Z(1); y=Z(2); Z=[2*x+4*y,-x+6*y]; %funcin de ejemplo, cambiar para el sistema pedido

BAIN053 - Mtodos Numricos para Ingeniera

3. Posibles valores de constantes


En nuestra rea este problema aparece en las botellas de mquinas hidrulicas presentes en muchas obras y trabajos del ambiente ingenieril.

Para este problema se tiene que los posibles valores de las constantes se definen como: es el rea de seccin del pistn de la botella. representa la masa asociada al pistn o mbolo. representa la constante de rigidez del resorte de seguridad en la botella. est asociada a la viscosidad del fluido y de ella se obtiene la constante de amortiguamiento. 0 es la presin resultante sobre el pistn. es la presin de empuje comnmente entregada por una bomba hidrulica.

BAIN053 - Mtodos Numricos para Ingeniera

4. Solucionando el PVI con las rutinas implementadas


Realizaremos la solucin del problema con valor inicial suponiendo los siguientes valores para las constantes asociadas a l para simplificar la ejecucin: = 1, = 1, = 1, = 1, 0 = 1, = 1,| con (0) = 1, (0) = 1. Con lo que nuestro sistema en forma matricial resulta: 0 1 0 ( )=( )( ) + ( ) 1 1 1 , (

(0) 1 )=( ) (0) 1

Y cambiamos la funcin del sistema en el archivo funcion.m como sigue:


function Z=funcion(t,Z) x=Z(1); y=Z(2); Z=[y,-x-y+1]; %funcin de ejemplo, cambiar para el sistema pedido

Luego ejecutamos para los mtodos de la siguiente manera para el mtodo de Runge-Kutta
>> [tr,Zr]=RKS4(0,15,[1;1],10);

y para el mtodo de Heum


>> [th,Zh]=Heum(0,15,[1;1],10);

BAIN053 - Mtodos Numricos para Ingeniera

5. Interpolacin de soluciones
Ahora para interpolar las soluciones obtenidas usaremos la interpolacin de Newton mediante la siguiente rutina creada a partir de los apuntes de clases y lo revisado en la bibliografa.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Funcin para evaluar el polinomio de Newton %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % function v=PNew(x,a,T) % % x : vector fila de abcisas de los pares ordenados a interpolar. % a : coeficientes para el polinomio. % T : vector fila del eje de las abcisas. % n=length(x); n2=length(T); ex=ones(1,n2); if n>1 for i=1:n-1 ex=ex.*(T-x(i)); end v=a(n)*ex+PNew(x(1:n-1),a(1:n-1),T); else v=a(1); end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Para la cual es necesario obtener previamente la matriz de informacin, y lo hacemos con la sig. Rutina
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Funcin para encapsular la informacin para evaluar el pol. de Newton %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % function M=info(x,y) %asignacin previa n=length(x); M=NaN(2*n-1,n+1); M(1:2:2*n-1,1)=x; M(1:2:2*n-1,2)=y; %Generamos la matriz con la informacin for j=1:n-1 for i=1:n-j M(2*i+j-1,j+2)=didi(x(i:i+j),y(i:i+j)); end end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

BAIN053 - Mtodos Numricos para Ingeniera

La que a su vez utiliza las diferencias divididas implementadas as


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Funcin para diferencias divididas %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % function difs=didi(x,y) n=length(x); if n==1 difs=y(1); elseif n>1 difs=(didi(x(2:n),y(2:n))-didi(x(1:n-1),y(1:n-1)))/(x(n)-x(1)); end % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Luego ejecutamos para el RK4 de la siguiente forma;


qr=100; rr=length(tr); tr1=tr(1); tr2=tr(rr); pr=1/qr; Xr=tr1:pr:tr2; mr=info(tr,Zr(:,1)'); ar=diag(mr,1); ynewr=PNew(tr,ar,Xr);

Y para el mtodo de Heum:


qh=100; rh=length(th); th1=th(1); th2=th(rh); ph=1/qh; Xh=th1:ph:th2; mh=info(th,Zh(:,1)'); ah=diag(mh,1); ynewh=PNew(th,ah,Xh);

BAIN053 - Mtodos Numricos para Ingeniera

10

Grficamente obtenemos sin interpolar las siguientes grficas:

Soluciones sin Interpolar 1.6 1.4 1.2


X(t)

Mtodo de Heum Mtodo de Runge-Kutta

1 0.8

5 Tiempo (t)

10

15

Luego interpolando obtenemos para ambos mtodos las siguientes grficas:

Soluciones Interpoladas 3 2.5 2


X(t)

Mtodo de Runge-Kutta Mtodo de Heum

1.5 1 0.5 0

5 Tiempo (t)

10

15

Resultado que nos muestra soluciones que difieren bastante entre s de un mtodo a otro pero que obviamente son consistentes con las soluciones sin interpolar. Adems se observa que la solucin de mtodo de Heum presenta mayor amplitud que la del mtodo de Runge-Kutta.

BAIN053 - Mtodos Numricos para Ingeniera

11

6. Comparacin grfica
Si asumimos los valores para las constantes con que trabajamos en el apartado 4, nuestra ecuacin de movimiento resulta: + + = 1, (0) = 1, (0) = 1. Cuya la solucin analtica es: () = 1 /2 sin ( 3 3 ) + 2 /2 cos ( ) + 1 2 2

con 1 = 3/3 y 2 = 0, ambas obtenidas de los valores iniciales, entonces la ecuacin de movimiento resulta: () = 2 3 /2 sin ( 3 ) + 1, 2

y haciendo uso de sta la implementamos en MATLAB como sigue


function[y]=f(t) D=sqrt(3)/2; S=D*t; R=t/2; y=2/(sqrt(3)).*exp(-R).*sin(S); y=y+1;

Y finalmete obtenemos la comparacin grfica de nuestras soluciones

Comparacin grfica de soluciones 3 2.5 2


X(t)

Solucin exacta Mtodo de Heum Metodo de Runge-Kutta

1.5 1 0.5 0

5 Tiempo (t)

10

15

BAIN053 - Mtodos Numricos para Ingeniera

12

Conclusin
Al realizar este trabajo, nos hemos dado cuenta de la importancia y relevancia que puede tener el resolver un PVI como el dado mediante la utilizacin de importantes herramientas como lo son el mtodo de Runge-Kutta y en mtodo de Heum. Creemos que resulta de vital importancia para un ingeniero conocer y poder aplicar dichas herramientas que solucionan de manera numrica los problemas que se presentan en muchos casos de la vida real. Podemos ver claramente el poder del mtodo de Runge-Kutta, ya que es el que ms se acerca a la solucin exacta, y que el mtodo de Heum tiende a la solucin pero con muy poca precisin.

Bibliografa
[1] Anlisis Numrico, 9na Ed., Richard L. Burden, CENGAGE, 2011. [2] Mtodos Numricos con MATLAB, 3ra Ed., Mathews & Fink, Prentice Hall, 1999. [3] Mtodos Numricos para Ingenieros, 5ta Ed., Steven C. Chapra, R. Canale, 2006. [4] Ecuaciones diferenciales con problemas con valores en la frontera, 7ma Ed. , D. Zill, 2009.

BAIN053 - Mtodos Numricos para Ingeniera

13

También podría gustarte