• No se han encontrado resultados

> oscilforc:=m*diff(x(t),t$2)+c*diff(x(t),t)+k*x(t)=q*sin(omega *t); oscilforc := m d 2 d

N/A
N/A
Protected

Academic year: 2021

Share "> oscilforc:=m*diff(x(t),t$2)+c*diff(x(t),t)+k*x(t)=q*sin(omega *t); oscilforc := m d 2 d"

Copied!
10
0
0

Texto completo

(1)

Practica 2

Oscilaciones con 1 grado de libertad

Catedra de Mecanica. 16 de Noviembre de 2004.

Practicas de Mecanica Computacional

1. Oscilaciones forzadas con amortiguamiento

> restart; > with(plots):

Warning, the name changecoords has been redefined > with(plottools):

Warning, the name arrow has been redefined

Se define la ecuacion diferencial y se asigna a oscilforc:

> oscilforc:=m*diff(x(t),t$2)+c*diff(x(t),t)+k*x(t)=q*sin(Omega *t); := oscilforc m + + =     d d2 t2x t( ) c     d d tx t( ) k ( )x t qsin(Ωt)

Con la instruccion dsolve se obtiene la solucion general de la ecuacion diferencial:

> dsolve(oscilforc); ( ) x t = + + e         −(cc − ) 2 4 k m t 2 m _C2 e         −(c+ c − ) 2 4 k m t 2 m _C1 q ((k−Ω ) − ) 2 m sin(Ωt) Ωcos(Ωt c) + + Ω4 m2 (c2−2 k m)Ω2 k2

Con la instruccion assume se impone la condicion de que el amortiguamiento sea subcritico:

> assume(c**2<4*k*m);

A solgen se le asigna la solucion general de la ecuacion diferencial en la hipotesis de

amortiguamiento subcritico (observese que en este caso el programa aplica la formula de Euler y expresa la solucion en terminos del seno y del coseno)

> solgen:=dsolve(oscilforc); solgen x t( ) e   − c~ t 2 m~     sin −c~ + 2 4 k~ m~ t 2 m~ _C2 = := e   − c~ t 2 m~     cos −c~ + 2 4 k~ m~ t 2 m~ _C1 ((− +k~ Ω2m~)sin(Ωt)+c~Ωcos(Ωt q)) + + Ω4 m~2 (−2 k~ m~+c~2)Ω2 k~2 + −

Observese como las variables m, c y k, a las que se les ha impuesto una restriccion mediante assume en lo sucesivo se denotan seguidas de una tilde: m~, c~ y k~

En la siguiente instruccion se define la función xtran aplicando la instruccion unapply, con el argumento t para indicar que es funcion del tiempo, al lado derecho de la igualdad (operador rhs) que se ha asignado anteriormente a solgen:

(2)

> xtran:= unapply(rhs(solgen),t):

A continuacion se define la funcion correspondiente a la solucion de regimen permanente. Para ello, con op(3,xtran(t)), se selecciona el tercer sumando de xtran(t), y con unapply(*,t) se establece que la funcion depende del tiempo:

> xperm:=unapply(op(3,xtran(t)),t):

---Aplicacion al ejercicio de practicas 15: Los datos del oscilador son: m=400, c=368.4136, k=100000

Los datos de la fuerza externa: q=3158.2734, Omega=4*Pi

y los dos conjuntos de condiciones iniciales: a) x0=0.08, v0=0

b) x0=0, v0=1

---Se vuelve a resolver la ecuacion diferencial pero considerando ahora en dsolve las correspondientes condiciones iniciales. En solejA se asigna la solucion que se obtiene considerando el conjunto (a) de condiciones iniciales:

> solejA:=dsolve({oscilforc,x(0)=0.08,D(x)(0)=0},x(t)):

y se define xA como la funcion del tiempo correspondiente a la solucion solejA empleando otra vez la instrucción unapply:

> xA:= unapply(rhs(solejA),t):

Analogamente, en solejB se asigna la solucion que resulta de considerar el conjunto (b) de condiciones iniciales:

> solejB:=dsolve({oscilforc,x(0)=0.0,D(x)(0)=1.0},x(t)):

y en xB se define la funcion del tiempo correspondiente a esta solucion:

> xB:= unapply(rhs(solejB),t):

A continuacion se particularizan las funciones xA y xB para los valores numericos del enunciado. Para ello se sustituyen, mediante el operador subs, los valores de m, c, k, q y Omega en xA(t) y con el resultado obtenido se define una nueva funcion del tiempo que llamamos xanum y xbnum, respectivamente:

> xanum:=unapply(subs(m=400,c=368.4136,k=100000,q=3158.2734,Ome ga=4*Pi,xA(t)),t):

> xbnum:=unapply(subs(m=400,c=368.4136,k=100000,q=3158.2734,Ome ga=4*Pi,xB(t)),t):

Finalmente, con la instruccion plot se dibujan las ecuaciones horarias xanum(t) y xbnum(t), pudiendo comprobar que si bien los regimenes transitorios correspondientes a ambas soluciones son diferentes, el regimen permanente no depende de las condiciones iniciales.

(3)

–0.1 –0.05 0 0.05 0.1 0.15 1 2 3 4 5 6 7 8 t > a:=animatecurve(xanum(t),t=0..8,numpoints=200,frames=50,color =blue,thickness=3): > b:=animatecurve(xbnum(t),t=0..8,numpoints=200,frames=50,color =red,thickness=3): > display(a,b): > dibu:=proc(s) > r1:=rectangle([-1,-10],[0,10],color=black): > r2:=rectangle([0,-1],[s,1],color=blue): > d1:=disk([s,0],3,color=red): > display([r1,r2,d1]): > end:

Warning, ‘r1‘ is implicitly declared local to procedure ‘dibu‘ Warning, ‘r2‘ is implicitly declared local to procedure ‘dibu‘ Warning, ‘d1‘ is implicitly declared local to procedure ‘dibu‘ > vals:=seq(xanum(i*2/50),i=0..50):

> fotos:=map(u->dibu(u*500),[vals]):

(4)

–10 0 10

–60 –40 –20 20 40 60

Para dibujar las ecuaciones horarias no es necesario definir una funcion mediante unapply. Lo que si hay que hacer es definir a priori los valores numericos:

> mp:=400:cp:=368.4136:kp:=100000:fp:=3158.2734:omp:=4*Pi:x0p:= 0.08:v0p:=0:

> solpru:=dsolve({mp*diff(x(t),t$2)+cp*diff(x(t),t)+kp*x(t)=fp* sin(omp*t),x(0)=x0p,D(x)(0)=v0p},x(t)):

(5)

–0.1 –0.05 0 0.05 0.1 0.15 1 2 3 4 5 6 7 8 t

2. Frecuencia y Amplitud de Resonancia

Para hacer el calculo de la frecuencia y de la amplitud de resonancia expresamos la solución de regimen permanente como el producto de la amplitud A por una funcion coseno con un cierto desfase a. Dicha solucion la asignamos a la funcion del tiempo xperm2:

> xperm2:= t -> A*cos(Omega*t+alpha);

:=

xperm2 tAcos(Ωt+α)

Para obtener la expresion de A y a identificamos los valores de las funciones xperm (definida mas arriba) y xperm2 en los instantes de tiempo correspondientes a t=0 yt=p/2W:

> ec1:=xperm(0)=xperm2(0); := ec1c~q = + + Ω4 m~2 (−2 k~ m~+c~2)Ω2 k~2 Acos( )α > ec2:=xperm(Pi/(2*Omega))=xperm2(Pi/(2*Omega)); := ec2 − (− +k~ Ω ) = 2 m~ q + + Ω4 m~2 (−2 k~ m~+c~2)Ω2 k~2 −Asin( )α

(6)

Resultando (a la amplitud de regimen permanente la denominaremos Aux1 para manipularla posteriormente): > alpha:=arctan(lhs(ec2)/lhs(ec1)); := α arctan− +k~ Ω  2 m~ c~Ω > Aux1:=simplify(solve(ec1,A)); := Aux1q c~k~ − + + 2 2 k~Ω2m~ Ω2c~2 Ω4m~2 Ω2 c~2 − + + k~2 2 k~Ω2m~ Ω2c~2 Ω4m~2

La solucion obtenida de la amplitud Aux1 la simplificamos usando la instruccion simplify con la opcion symbolic, para obtener una expresion similar a la de la ecuacion (3.22) del libro de apuntes: > Aux2:=simplify(Aux1,symbolic); := Aux2q − + + k~2 2 k~Ω2m~ Ω2c~2 Ω4m~2

La expresion de la amplitud de resonancia la obtendremos expresando la amplitud de regimen permanente Aux2 en funcion de la frecuencia W de la fuerza externa:

> Amp:=unapply(Aux2,Omega);

:=

Amp Ω→− q

− + +

k~2 2 k~Ω2m~ Ω2c~2 Ω4m~2

y calculando su maximo. Para ello, derivamos respecto de W empleando la instruccion diff(Amp(Omega),Omega), igualando a cero,

> wres_eq:=diff(Amp(Omega),Omega)=0:

La ecuacion anterior se resuelve con la instruccion solve:

> wres_sol:=solve(wres_eq,Omega); := wres_sol 0, 4 k~ m~2 c~ , 2 2 m~ − − 4 k~ m~ 2 c~2 2 m~ De las tres soluciones obtenidas, la que tiene sentido fisico es la segunda:

> wres:=wres_sol[2];

:=

wres 4 k~ m~2 c~

2

2 m~

A continuacion podemos hacer una manipulacion puramente "cosmetica" para conseguir la expresion (3.25) del libro de apuentes:

> expand(wres**2)**(1/2); − k~ m~ c~2 2 m~2

(7)

La amplitud de resonancia se obtiene sustituyendo la frecuencia de resonancia wres en la expresion de la funcion Amp:

> A_reson:=Amp(wres):

Esta expresion la simplificamos:

> A_reson:=simplify(sqrt(factor(Amp(wres)**2)),symbolic);

:=

A_reson 2 q m~ c~c~2+4 k~ m~

Con objeto de representar la amplitud en funcion de la frecuencia y del amortiguamiento se adimensionaliza la funcion definida anteriormente Amp(Omega) en terminos de la fraccion de amortiguamiento critico x y de la frecuencia natural w. Para ello se sustituye con la instruccion subs, el parametro c por sqrt(4*k*m*xi),

> A_aux1:=subs(c=sqrt(4*k*m*xi),Amp(Omega)); := A_aux1q − + + k~2 2 k~Ω2m~ 4Ω2k~ m~ξ Ω4m~2 > A_aux2:=sqrt(A_aux1**2*(k/q)**2):

se sustituye el parametro k por omega**2*m,

> A_aux3:=simplify(subs(k=omega**2*m,A_aux2)); := A_aux3 ω 4 − + + ω4 2ω2Ω2 4Ω2ω2ξ Ω4

y finalmente se sustituye b=W/w mediante la instruccion subs(Omega=beta*omega,A_aux3)

> A_aux4:=simplify(subs(Omega=beta*omega,A_aux3));

:=

A_aux4 1

− + +

1 2β2 4β2ξ β4

Para dibujar las curvas se define la funcion f(x,b) a partir de la expresion asignada a A_aux4:

> f:=unapply(A_aux4,beta);

:=

f β→ 1

− + +

1 2β2 4β2ξ β4

y se consideran los casos correspondientes a las fracciones de amortiguamiento critico x=0.0, x=0.05, x=0.20, x=0.50, x=0.70 y x=1.0 > f_00:=subs(xi=0.0,f(beta)): > f_05:=subs(xi=0.05,f(beta)): > f_20:=subs(xi=0.20,f(beta)): > f_50:=subs(xi=0.50,f(beta)): > f_70:=subs(xi=0.70,f(beta)): > f_100:=subs(xi=1.0,f(beta)):

Las seis funciones se dibujan en un mismo grafico, agrupandolas entre llaves, con la instruccion plot

(8)

> plot({f_00(beta),f_05(beta),f_20(beta),f_50(beta),f_70(beta), f_100(beta)},beta=0..3,y=0..10); 0 2 4 6 8 10 y 0.5 1 1.5 2 2.5 3 beta

3. Respuesta a cargas arbitrarias definidas "a trozos"

Tambien es muy sencillo imponer cargas arbitrarias definidas "a trozos". Consideremos la accion de tres cargas triangulares:

trian1: actua durante un periodo de tiempo que es aproximadamente la mitad del periodo propio del oscilador

trian2: actua durante un periodo de tiempo aproximadamente cinco veces el periodo propio trian3: actua durante un periodo de tiempo veinte veces superior al del oscilador

> Tprop:=evalf(2*Pi/sqrt(kp/mp)); := Tprop 0.3973835307 > triang1:=PIECEWISE([1000*t, t <= Tprop/4],[200-1000*t, t <= Tprop/2],[0, t>Tprop/2]); := triang1       1000 t t≤0.09934588268 − 200 1000 t t≤0.1986917654 0 0.1986917654<t > triang2:=PIECEWISE([100*t, t <= 10*Tprop/4],[200-100*t, t <=

(9)

> triang2:=PIECEWISE([100*t, t <= 10*Tprop/4],[200-100*t, t <= 5*Tprop],[0, t>5*Tprop]); := triang2       100 t t≤0.9934588268 − 200 100 t t≤1.986917654 0 1.986917654<t > triang3:=PIECEWISE([25*t, t <= 10*Tprop],[200-25*t, t <= 20*Tprop],[0, t>20*Tprop]); := triang3       25 t t≤3.973835307 − 200 25 t t≤7.947670614 0 7.947670614<t > plot([triang1,triang2,triang3],t=0..5,linestyle=1, thickness=3); 0 20 40 60 80 100 1 2 3 4 5 t > soltrian1:=dsolve({mp*diff(x(t),t$2)+cp*diff(x(t),t)+kp*x(t)= triang1,x(0)=0.0,D(x)(0)=0},x(t)): > soltrian2:=dsolve({mp*diff(x(t),t$2)+cp*diff(x(t),t)+kp*x(t)= triang2,x(0)=0.0,D(x)(0)=0},x(t)): > soltrian3:=dsolve({mp*diff(x(t),t$2)+cp*diff(x(t),t)+kp*x(t)= triang3,x(0)=0.0,D(x)(0)=0},x(t)): > plot([rhs(soltrian1),rhs(soltrian2),rhs(soltrian3)],t=0..10);

(10)

–0.001 –0.0005 0 0.0005 0.001 2 4 6 8 10 t > > > > >

4. Ejercicio propuesto

Para el oscilador cuyas constantes se han empleado a lo largo de la practica (m=400 kg,

c=368.4136, k=100000) obtener y representar la respuesta para tres cargas escalon de valor F=1, que comienzan a actuar en t=0, y que se aplican durante 0.2, 10 y 15 segundos respectivamente.

Referencias

Documento similar

es evidentemente una cantidad independiente de los valores de la variable y de la amplitud del cambio exógeno A X ;t. Este resultado ya no continúa siendo válido con modelos

En comparación, los diarios del estado de Nuevo león, aunque también le otorgan importancia a la entrada irregular de inmigrantes y al interés humano, obtienen un elevado

Sólo se puede entender la postura ética de Unamuno (la alterutralidad como actitud de vida), en sus escritos sobre estética y en su producción leída desde la óptica estética o

Para finalizar, cabe señalar que esta investigación es de utilidad para complementar los estudios que existen sobre la representación del espacio urbano en obras

Es preciso aclarar que Fernanda Melchor a través de la novela se embarca en una (re)narración a través de la cual da voz, rostro e historia a un número más en la larga lista

Ahora, el tema a tratar se configura en los mecanismos de referencialidad cultural que utiliza la narrativa mexicana del siglo XXI, por lo que la segunda ruptura que este

Artículo 3.- Del Territorio. Chile, en su diversidad geográfica, histórica y cultural, forma un territorio único e indivisible, conformado por el territorio continental,

tis &amp; fnfpi- tuciam, fed nef cio quid profetò mihi