Sei sulla pagina 1di 10

Proyecto de computacion cientca III

Luis Avils G. Daniel Fandez C. Departamento de Fsica, Facultad de ciencias Fsicas y Matemticas, Universidad de Concepcin 24 de Abril 2012

Espectro de potencia de un oscilador forzado Luis Avils G. Daniel Fandez C. Informe 1 Departamento de Fsica Facultad de Cs. Fsicas y Matemticas Universidad de Concepcin 24 de abril de 2012

Resumen

En el presente trabajo se tratar de desarrollar y dar solucin al problema de un oscilador armnico forzado. En este caso en particular corresponde a una ecuacin diferencial parcial (EDP), la cual se resolver mediante el mtodo numrico de Runge-kutta de cuarto orden. Posteriormente se realizar un anlisis mediante un algoritmo de clculo numrico llamado FFT (transformada rpida de fourier) con el objetivo de obtener y analizar la distribucin de frecuencias que contribuye al sistema.

Introduccin

Cualquier fenmeno fsico o evento fsico que sea de tipo oscilatorio lo podemos describir mediante una serie de fourier. Una serie de Fourier es una serie innita que converge puntualmente a una funcin peridica y continua a trozos(o por partes). Adems las series de Fourier constituyen la herramienta matemtica para analizar funciones peridicas a travs de la descomposicin de dicha funcin en una suma innita de funciones senoidales mucho ms simples (como combinacin de senos y cosenos con frecuencias enteras), ya que esta permite describir cualquier funcin peridica en trminos de una base discreta. La serie puede ser escrita de la siguiente forma: X
k=1

f (x) = a0 +

ak senkwt + bk coskwt

(1)

donde ak y bk son constantes que son obtenidas integrando sobre el periodo de la funcin Z Z

ak =

2 T

f (x)coskwt

(2)

2 bk = T

f (x)senkwt 2

(3)

Mtodo

Uno de los problemas clsicos en mecnica es describir el movimiento del pndulo, ya que es uno de los casos ms estudiados quizs de movimiento armnico. Este problema no es difcil de resolver cuando las oscilaciones son muy pequeas (theta muy cercano a cero), existe un modo analtico de resolucin, pero en casos distintos a este caso puntual, como por ejemplo, un pndulo forzado y amortiguado el problema se vuelve realmente un problema (como es el caso presentado en este informe). Para este caso es conveniente el anlisis mediante el estudio de su espectro de potencia. El espectro de potencia de una variable dinmica est denido por el mdulo al cuadrado de los coecientes de Fourier. Para encontrar estos coecientes ocuparemos el mtodo de FFT (transformada de Fourier rpida) implementado en clases. Las ecuaciones a resolver son: dy1 = y2 dt dy2 = dt donde y1 (t) = (t) y2 (t) = (6) q y2 sen (y1 ) + bcos (wo t) (4) (5)

d (t) (7) dt Identicaremos la potencia espectral de cada modo de oscilacin. Cada modo puede ser identicado por el nmero del modo de la oscilacin, es decir, mediante el entero que identica el vector nmero de onda km km = 2 m L (8)

Donde L corresponde al largo trabajado. El siguiente paso es resolver el sistema diferencial que hemos obtenido, para lo cual usaremos el mtodo de Runge-Kutta de cuarto orden y posteriormente le aplicaremos la transformada de Fourier a nuestro resultado; para as determinar cual es el modo que aporta de manera ms signicativa al sistema. Para realizar lo antes descrito reformularemos el programa de FFT, mezclndolo con el mtodo de RK.

Anlisis y resultados

Procedemos a gracar los datos obtenidos para el estudio del comportamiento del pndulo, donde los grcos sern del espacio de fase de cada caso. (En este informe analizaremos dos casos: el primero ser con un leve amortiguamiento (b=0.9 m/t) y el segundo con un amortiguamiento mayor (b=1.15 m/t)). 3

Consideramos los siguientes valores constantes: w0 = q= 2 3 1 2 (9) (10)

Figura1: Caso amortiguamiento ligero.

Figura2: Caso amortiguamnieto fuerte.

Observamos que nuestro primer caso es una gura regular y por ende la trayectoria de su grco es constante a lo largo del espacio fase, de ello concluimos que el hamiltoniano del sistema coincide con la energa mecnica de ste (constante de movimiento). Por otro lado para el grco de nuestro 4

segundo caso vemos una gura que posee una dispersin de estados muy irregular (caso catico) lo que quiere decir que el hamiltoniano no es constante en el tiempo. Con la descripcin anterior slo nos hace falta determinar qu modo normal es el que predomina, para ello utilizaremos el anlisis de Fourier FFT; esto nos da como resultado las siguientes grcas:

Figura3: espectro de potencia caso regular.

Figura4: espectro de potencia caso catico

Para el primer grco es fcil reconocer los modos que aportan de mayor forma a los trminos de la serie de Fourier, es decir, a estas frecuencias tenemos coecientes de mayor tamao. Adems observamos que la potencia mxima disminuye a medida que la frecuencia aumenta; los modos mximos encontrados son las frecuencias: f = 1[Hz]; f = 3[Hz] y nalmente f = 5[Hz] 5

En contraste a lo anterior, vemos que nuestro segundo grco es mucho ms ruidoso por lo tanto aqu los mximos tienen comportamientos errticos (producto del comportamiento catico del sistema), y se nos diculta determinar qu modos aportan de forma mayor a la serie de Fourier. Sin embargo, en concordancia con el caso anterior notamos que la potencia del sistema disminuye a medida que aumenta la frecuencia.

Conclusin

Se puede apreciar claramente de los grcos que en el caso regular del pndulo, existen modos de oscilacion, lo que queda demostrado en el grco de espectro de potencia en donde se logran apreciar los mximos. En el caso catico del pendulo, ac no se aprecia de buena forma sus modos de oscilacin, por lo que se nos hace mucho ms difcil identicar mximos de potencia. Mediante los programas elaborados en clases, conseguimos poder dar solucion al problema del oscilador armnico, mediante Runge-kutta.Adems de estudiar y analizar, por medio de la transformada rapida de Fourier, la distribucion de frecuencias para cada uno de los casos.

Referencias
[1] Tao Pang. 1997. An Introduction to Computational Physics. Cambridge University Press [2] http://en.wikipedia.org

Apndice
Espectro de fase

program daniel real:: h,t integer::i,n real,dimension(2):: y,k1,k2,k3,k4 character(len=100)::command character(len=100):: name= plot.txt open(3,le= pendulo.dat ,status= unknown ) print*, ingrese, ngulo inicial read*,y(1) print*, ingrese, velocidad angular inicial read*,y(2) pi=acos(-1.0) t=3.0*pi h=3.0*pi/128 y(1)=y(1) 6

y(2)=y(2) n=65536 do i=1,n k1=df(t,y) k2=df(t+h/2,y+(h/2)*k1) k3=df(t+h/2,y+(h/2)*k2) k4=df(t+h,y+h*k3) y=y+(h/6)*(k1+2*k2+2*k3+k4) t=t+h IF (ABS(Y(1)).GT.PI) THEN Y(1) = Y(1) - 2.*PI*ABS(Y(1))/Y(1) END IF write(3,*) y(1),y(2) end do close(3) print*, n write(command,*) gnuplot //trim(name) status=system(command) contains function df(tl,yl) real::w,q,b real,dimension(2):: yl,df q=0.5 !Amortiguamiento b=1.15 W=2.0/3.0 df(1)=yl(2) df(2)=-q*yl(2)-sin(yl(1))+b*cos(w*tl) end function end program Espectro de Potencia

MODULE CB REAL :: Q,B,W END MODULE CB ! PROGRAM espectro USE CB IMPLICIT NONE INTEGER, PARAMETER :: N=32768,L=100,M=1 !se usa un N !en potencia de 2 para poder aplicar la transformada INTEGER :: I,NH,LL REAL :: PI,H,T,Y1,Y2,G1,G1F,G2,G2F,FRAC,SCALE REAL :: DK11,DK21,DK12,DK22,DK13,DK23,DK14,DK24 REAL, DIMENSION (2,N) :: Y 7

REAL,DIMENSION(N)::AI,AR,S,FREQ PI = 4.0*ATAN(1.0) FRAC= 192.0 Q = 0.5 B = 0.9 W = 2.0/3.0 Y(1,1) = 0.0 Y(2,1) = 2.0 H = (2.0*PI)/W/FRAC SCALE=(2*PI/W)/(N*H) NH=N/2 ! Using the Runge-Kutta algorithm to integrate the equation ! DO I = 1, N-1 T = H*I Y1 = Y(1,I) Y2 = Y(2,I) DK11 = H*G1F(Y1,Y2,T) DK21 = H*G2F(Y1,Y2,T) DK12 = H*G1F((Y1+DK11/2.0),(Y2+DK21/2.0),(T+H/2.0)) DK22 = H*G2F((Y1+DK11/2.0),(Y2+DK21/2.0),(T+H/2.0)) DK13 = H*G1F((Y1+DK12/2.0),(Y2+DK22/2.0),(T+H/2.0)) DK23 = H*G2F((Y1+DK12/2.0),(Y2+DK22/2.0),(T+H/2.0)) DK14 = H*G1F((Y1+DK13),(Y2+DK23),(T+H)) DK24 = H*G2F((Y1+DK13),(Y2+DK23),(T+H)) Y(1,I+1) = Y(1,I)+(DK11+2.0*(DK12+DK13)+DK14)/6.0 Y(2,I+1) = Y(2,I)+(DK21+2.0*(DK22+DK23)+DK24)/6.0 ! ! Bring theta back to the region [-pi,pi] AR=Y(1,:) AI=0.0 CALL FFT(AR,AI,N,1) DO I=1,N S(I)=ALOG10(AR(I)*AR(I)+AI(I)*AI(I)) END DO DO I=1,N FREQ(I)=FLOAT(I) END DO FREQ=CSHIFT(FREQ,SHIFT=-NH)-FLOAT(NH+1) FREQ=FREQ*SCALE DO LL=1,N open (unit=3,le=eTM freq.dateTM ,status=unknowneTM ) write(3,*)FREQ(LL),S(LL) END DO close(3) END PROGRAM PENDULUM 8

FUNCTION G1F (Y1,Y2,T) RESULT (G1) USE CB IMPLICIT NONE REAL :: Y1,Y2,T,G1 ! G1 = Y2 END FUNCTION G1F ! FUNCTION G2F (Y1,Y2,T) RESULT (G2) USE CB IMPLICIT NONE REAL :: Y1,Y2,T,G2 ! G2 = -Q*Y2-SIN(Y1)+B*COS(W*T) END FUNCTION G2F SUBROUTINE FFT (AR,AI,N,ISIGN) ! ! FAST FOURIER TRANSFORM SUBROUTINE WITH ! N = 2**M. AR AND AI ARE THE REAL AND IMAGINARY !PART OF ! DATA IN THE INPUT AND CORRESPONDING FOURIER COEFFICIENTS ! IN THE OUTPUT. ! ISIGN = +1 ==Forward (==-1 INVERSE) ! DIMENSION AR(N),AI(N) ! PI = 4.0*ATAN(1.0) N2 = N/2 SN = 1./FLOAT(N) ! M = INT( ALOG(FLOAT(N))/ALOG(2.0) + 0.5) ! N = 2yM N1 = 2**M IF (ISIGN .LT. 0) AI=AI*ISIGN ! ! Rearrange the data to the bit reversed order ! L=1 DO K = 1, N-1 IF(K.LT.L) THEN A1 = AR(L) A2 = AI(L) AR(L) = AR(K) AR(K) = A1 AI(L) = AI(K) AI(K) = A2 END IF 9

J = N2 DO WHILE (J.LT.L) L=L-J J = J/2 END DO L=L+J END DO ! ! Perform additions at all levels with reordered data ! L2 = 1 DO L = 1, M Q = 0.0 L1 = L2 L2 = 2*L1 DO K = 1, L1 U = COS(Q) V = -SIN(Q) Q = Q + PI/L1 DO J = K, N, L2 I = J + L1 A1 = AR(I)*U - AI(I)*V A2 = AR(I)*V + AI(I)*U AR(I) = AR(J) - A1 AR(J) = AR(J) + A1 AI(I) = AI(J) - A2 AI(J) = AI(J) + A2 END DO END DO END DO IF (ISIGN .LT. 0) THEN AR=AR*SN AI=AI*SN END IF RETURN END SUBROUTINE FFT

10

Potrebbero piacerti anche