Oscilador amortiguado de masa variable

En la página titulada Oscilador de masa variable, estudiamos un sistema de masa variable consistente en un depósito de agua con un orificio en su parte inferior que está colgado de un muelle de constante elástica k. El oscilador es libre, ya que se ha despreciado el rozamiento con el aire.

Aunque los dos osciladores son aparentemente similares, la solución del problema como veremos, es completamente diferente.

Un recipiente lleno de arena de masa m0 cuelga de un muelle elástico de constante k. En el fondo del recipiente hay un orificio de modo que su masa decrece linealmente con el tiempo a razón de c kg/s que se mantiene constante independientemente de que esté estacionario o en movimiento oscilatorio. Supondremos que el oscilador está débilmente amortiguado por una fuerza de rozamiento proporcional a la velocidad λv.

Hemos formulado las ecuaciones de un sistema de masa variable en varias páginas, una de ellas, es el movimiento vertical de un cohete,

m dv dt +u dm dt = F ext

Donde m es la masa del recipiente que contiene la arena, u es la velocidad de escape de la arena relativa al recipiente y dm/dt la variación de su masa con el tiempo, Fext es la resultante de las fuerzas que se aplican en el centro de masas:

Supondremos que la velocidad relativa de la arena que sale u≈0 respecto del recipiente es nula, y que la masa m del depósito decrece linealmente con el tiempo m=m0-ct

Expresamos la ecuación del movimiento en forma de ecuación diferencial

m d 2 x d t 2 +λ dx dt +kx=0

Se trata de la ecuación diferencial de las oscilaciones amortiguadas, salvo que la masa m no es constante. Resolveremos esta ecuación diferencial aplicando procedimientos numéricos y buscando una solución analítica aproximada

Solución numérica

Expresamos la ecuación diferencial de la forma

d 2 x d t 2 = 1 m 0 ct ( λ dx dt +kx )

Los valores de los parámetros son: masa inicial m0=1 kg, flujo de arena c=0.001 kg/s, constante del muelle k=10 N/m, constante de proporcionalidad de la fuerza de rozamiento λ=0.05 kg/s. La posición inicial en el instante t=0, es x0=0.1 m, y parte del reposo (dx/dt)0=0

Resolvemos la ecuación diferencial hasta el instante tf=100 s, la masa final es m=1-0.001·100=0.9 kg

m0=1; %masa inicial
c=0.001; %flujo de areana
k=10; %constante del muelle
lambda=0.05; %rozamiento
tf=100; %instante final

f=@(t,x) [x(2);(-lambda*x(2)-k*x(1))/(m0-c*t)]; 
[t,x]=ode45(f,[0,tf],[0.1,0]);
plot(t,x(:,1))
grid on
xlabel('t')
ylabel('x');
title('oscilador variable amortiguado')

Observamos que la amplitud de la oscilación disminuye con el tiempo de forma similar a un oscilador amortiguado. Si el flujo de masa c es pequeño, la amplitud o envolvente A(t) es cóncava, similar a una exponencial decreciente

El periodo

El periodo P de las oscilaciones de una masa m sujeta al extremo libre de un muelle elástico k es

P 2 =4 π 2 m k

En el oscilador variable, la masa m cambia con el tiempo, por lo que el periodo P cambiará con el tiempo. En este apartado, vamos a representar el cuadrado del periodo P2 en función de la masa m del depósito de arena, para comprobar si se mantiene la relación lineal

El periodo P de un oscilador es el intervalo de tiempo entre dos desplazamientos máximos. Definimos una función para señalar los máximos dx/dt=0 (velocidad nula, x>0) y obtener los instantes Ti de dichos máximos. Esta función se la pasamos al procedimiento ode45

function [detect,stopin,direction]=opcion2_ode45(~,x)
    detect=x(2); 
    stopin=0;
    direction=-1; 
end

Los valores de los parámetros son ahora los siguientes: masa inicial m0=20 kg, flujo de arena c=0.2 kg/s, constante del muelle k=10 N/m, constante de proporcionalidad de la fuerza de rozamiento λ=0.05 kg/s. La posición inicial en el instante t=0, es x0=0.1 m, y parte del reposo (dx/dt)0=0

m0=20; %masa inicial
c=0.2; %flujo de areana
k=10; %constante del muelle
lambda=0.05; %rozamiento
tf=30; %instante final

f=@(t,x) [x(2);(-lambda*x(2)-k*x(1))/(m0-c*t)]; 
opts=odeset('events',@opcion2_ode45);
[t,x,te,xe,ie]=ode45(f,[0,tf],[0.1,0],opts);
hold on
plot(t,x(:,1))
plot(te(ie==1),xe(ie==1),'o','markersize',4,'markerfacecolor','r')
hold off
grid on
xlabel('t')
ylabel('x');
title('oscilador variable amortiguado')

Los instantes en los que se producen los máximos desplazamientos (x>0) señalados por puntos de color rojo, se guardan en el vector

>> te(ie==1)
ans =
    0.0000
    8.6875
   16.9803
   24.8784

Supongamos que el osicilador parte del origen x=0, en el instante t=0, con velocidad no nula (dx/dt)0≠0. El periodo es el intervalo de tiempo que transcurre entre dos pasos del móvil por el origen con velocidad positiva. Para ello definimos una función que se la pasamos al procedimiento ode45

function [detect,stopin,direction]=opcion1_ode45(~,x)
    detect=x(1); 
    stopin=0;
    direction=1; 
end

Modificamos el script anterior, cambiando solamente las condiciones iniciales

m0=20; %masa inicial
c=0.2; %flujo de areana
k=10; %constante del muelle
lambda=0.05; %rozamiento
tf=30; %instante final

f=@(t,x) [x(2);(-lambda*x(2)-k*x(1))/(m0-c*t)]; 
opts=odeset('events',@opcion1_ode45);
[t,x,te,xe,ie]=ode45(f,[0,tf],[0,0.1*sqrt(k/m0)],opts);
hold on
plot(t,x(:,1))
plot(te(ie==1),xe(ie==1),'o','markersize',4,'markerfacecolor','r')
hold off
grid on
xlabel('t')
ylabel('x');
title('oscilador variable amortiguado')

Los instantes en los que el móvil pasa por el origen con velocidad dx/dt>0 son

>> te(ie==1)
ans =
    0.0000
    8.6878
   16.9809
   24.8793

Guardamos estos instantes en el vector T, calculamos el periodo P como la diferencia Ti+1-Ti, al que hacemos corresponder la masa m en el instante ìntermedio (Ti+1+Ti)/2

Resolvemos la ecuación diferencial hasta el instante tf=99.5 s, justamente, 0.5 s antes de que se acabe la arena en el depósito, con las condiciones iniciales, posición inicial es x0=0.1 m, y parte del reposo (dx/dt)0=0.

m0=20; %masa inicial
c=0.2; %flujo de areana
k=10; %constante del muelle
lambda=0.05; %rozamiento
tf=99.5; %instante final

f=@(t,x) [x(2);(-lambda*x(2)-k*x(1))/(m0-c*t)]; 
opts=odeset('events',@opcion2_ode45);
[t,x,te,xe,ie]=ode45(f,[0,tf],[0.1,0],opts);
plot(t,x(:,1))
grid on
xlabel('t')
ylabel('x');
title('oscilador variable amortiguado')

%periodos
T=te(ie==1);
P2=zeros(0, length(T));
m=zeros(0, length(T));

for i=1:length(T)-1
    P2(i)=(T(i+1)-T(i))^2; %cuadrado del periodo
    m(i)=m0-c*(T(i+1)+T(i))/2; %masa
end
figure
plot(m,P2, 'o','markersize',4,'markerfacecolor','r')
grid on
xlabel('m(t)')
ylabel('P^2');
title('oscilador variable amortiguado')

Observamos que la amplitud de la oscilación disminuye con el tiempo de forma completamente distinta a un oscilador amortiguado. Si el flujo de masa c es grande, la amplitud o envolvente A(t) es convexa.

Representamos el cuadrado de los periodos P2 en función de la masa m(t) y comprobamos que los puntos se ajustan a una línea recta

En el menú seleccionamos Tools/Basic Fitting, aparece un cuadro de diálogo donde marcamos la casilla linear en Plot fits. Observamos que hay una relación lineal entre el cuadrado del periodo P2 y la masa variable del recipiente m

Solución analítica aproximada

En este apartado vamos a buscar una solución analítica aproximada de la ecuación diferencial del oscilador amortiguado con una masa que decrece linealmente con el tiempo m=m0-ct

m d 2 x d t 2 +λ dx dt +kx=0

Probamos una solución de la forma

x(t)= A 0 f(t)sin( h(t)+φ )

donde A0 y φ se determinan a partir de las condiciones iniciales. f(t) y h(t) son funciones del tiempo a determinar

Calculamos las derivadas primera y segunda de x(t)

dx dt = A 0 df dt sin( h+φ )+ A 0 f dh dt cos( h+φ ) d 2 x d t 2 = A 0 d 2 f d t 2 sin( h+φ )+ A 0 df dt dh dt cos( h+φ )+ A 0 df dt dh dt cos( h+φ )+ A 0 f d 2 h d t 2 cos( h+φ ) A 0 f ( dh dt ) 2 sin( h+φ )

Introducimos la solución x(t) y sus derivadas en la ecuación diferencial

{ m( d 2 f d t 2 f ( dh dt ) 2 )+λ df dt +kf }sin( h+φ )+ { m( 2 df dt dh dt +f d 2 h d t 2 )+λf dh dt }cos( h+φ )=0

Igualando a cero los coeficientes del sin(h+φ) y de cos(h+φ), obtenemos un sistema de dos ecuaciones diferenciales

{ m( d 2 f d t 2 f ( dh dt ) 2 )+λ df dt +kf=0 m( 2 df dt dh dt +f d 2 h d t 2 )+λf dh dt =0

En una primera aproximación, supondremos que la derivada primera df/dt y segunda d2f/dt2 de la función f(t) en la primera ecuación diferencial son despreciables. De este modo, obtenemos una primera aproximación para la función h(t)

m ( dh dt ) 2 +k=0 dh dt = k m(t) d 2 h d t 2 = c 2m dh dt

Introduciendo dh/dt y d2h/dt2 en la segunda ecuación diferencial, obtenemos una expresión para f(t)

m( 2 df dt dh dt +f c 2m dh dt )+λf dh dt =0 2m df dt +( c 2 +λ )f=0 ( m 0 ct) df dt + 1 2 ( c 2 +λ )f=0 ln f(t) f(0) =( 1 4 + λ 2c )ln m 0 ct m 0 f(t)= ( 1 ct m 0 ) γ γ= 1 4 + λ 2c

Hemos supuesto que f(0)=1, y λ/(2c) representa el cociente entre el rozamiento y flujo de masa.

Conocido f(t), volvemos a la primera ecuación diferencial para obtener un valor aproximado de h(t), mejor que el que resultaría de la integración de la ecuación

dh dt = k m 0 ct

Introducimos la expresión de f(t) y sus derivadas en la primera ecuación diferencial

m( d 2 f d t 2 f ( dh dt ) 2 )+λ df dt +kf=0 m( γ(γ1) ( c m 0 ) 2 ( 1 ct m 0 ) γ2 ( 1 ct m 0 ) γ ( dh dt ) 2 ) λγ c m 0 ( 1 ct m 0 ) γ1 +k ( 1 ct m 0 ) γ =0 ( dh dt ) 2 = k m + c 2 γ(γ1)λcγ m 2 ( dh dt ) 2 = k m ( c 2 +λ )( 3c 2 +λ ) 4 m 2

Sabiendo que m=m0-ct, y tomando h(0)=0, la integral es

h(t)h(0)= 0 t k ( m 0 ct ) ( c 2 +λ )( 3c 2 +λ ) 4 ( m 0 ct ) 2 dt= k c 0 t ua u du u= m 0 cta= ( c 2 +λ )( 3c 2 +λ ) 4k

Para resolver la integral se hace el cambio z2=u-a

ua u du= 2 z 2 z 2 +a =2( z a arctan z a )

Deshaciendo los cambios, una mejor aproximación para la función h(t) es

h(t)= 2 c ka ( arctan m 0 cta a m 0 cta a ) | 0 t h(t)= 2 c ka ( arctan m 0 cta a m 0 cta a arctan m 0 a a + m 0 a a )

Esta solución es válida siempre que se cumpla que a<m0-ct.

La amplitud

Examinamos el signo de la derivada segunda de la amplitud, A0f(t), lo que nos da la concavidad de la envolvente de la oscilación

d 2 A d t 2 = A 0 γ(γ1) ( c m 0 ) 2 ( 1 ct m 0 ) γ2

Vamos a respresentar las oscilaciones de este sistema de masa variable para los tres casos.

La ecuación del movimiento es

x(t)= A 0 f(t)sin( h(t)+φ ) dx dt = A 0 df dt sin( h(t)+φ )+ A 0 f(t) dh dt cos( h(t)+φ )

Dadas las condiciones iniciales x0 y (dx/dt)0, determinamos la amplitud A0 y la fase inicial φ

x 0 = A 0 sinφ ( dx dt ) 0 = c m 0 γ A 0 sinφ+ k m 0 ka m 0 2 A 0 cosφ

γ<1

Los valores de los parámetros son ahora los siguientes: masa inicial m0=20 kg, flujo de arena c=0.2 kg/s, constante del muelle k=10 N/m, constante de proporcionalidad de la fuerza de rozamiento λ=0.05 kg/s. La posición inicial en el instante t=0, es x0=0.1 m, y parte del reposo (dx/dt)0=0

m0=20; %masa inicial
c=0.2; %flujo de arena
k=10; %constante del muelle
lambda=0.05; %rozamiento
x0=0.1;  %velocidad inicial cero
tf=99.5; %hasta el tiempo

gamma=lambda/(2*c)+1/4;
a=(c/2+lambda)*(3*c/2+lambda)/(4*k);
%condiciones iniciales
A0_s=x0;
A0_c=c*gamma*x0/(m0*sqrt(k/m0-k*a/m0^2));
A0=sqrt(A0_s^2+A0_c^2);
phi=atan2(A0_s,A0_c);

h=@(t) 2*sqrt(k*a)*(atan(sqrt((m0-c*t-a)/a))-sqrt((m0-c*t-a)/a)
-atan(sqrt((m0-a)/a))+sqrt((m0-a)/a))/c;
A=@(t) A0*(1-c*t/m0).^gamma;
x=@(t) A(t).*sin(h(t)+phi);
hold on
fplot(x,[0,tf])
fplot(A,[0,tf]) %envolvente
hold off
grid on
xlabel('t')
ylabel('x')
title('Oscilador variable amortiguado')

gamma =    0.3750

γ>1

Los valores de los parámetros son ahora los siguientes: masa inicial m0=1 kg, flujo de arena c=0.001 kg/s, constante del muelle k=10 N/m, constante de proporcionalidad de la fuerza de rozamiento λ=0.05 kg/s. La posición inicial en el instante t=0, es x0=0.1 m, y parte del reposo (dx/dt)0=0

m0=1; %masa inicial
c=0.001; %flujo de arena
k=10; %constante del muelle
lambda=0.05; %rozamiento
x0=0.1;  %velocidad inicial cero
tf=100; %hasta el tiempo
...

gamma =    25.2500

γ=1

Dado que el coeficiente γ= 1 4 + λ 2c , para que γ=1, entonces c=2λ/3

Los valores de los parámetros son ahora los siguientes: masa inicial m0=1 kg, constante del muelle k=10 N/m, constante de proporcionalidad de la fuerza de rozamiento λ=0.05 kg/s, flujo de arena c=0.1/3 kg/s. La posición inicial en el instante t=0, es x0=0.1 m, y parte del reposo (dx/dt)0=0

m0=1; %masa inicial
k=10; %constante del muelle
lambda=0.05; %rozamiento
c=2*lambda/3; %flujo de arena
x0=0.1;  %velocidad inicial cero
tf=27; %hasta el tiempo
...

gamma =    1

Periodo

La ecuación del movimiento es

x(t)= A 0 f(t)sin( h(t)+φ )

Cuando la fase (argumento del seno) se incrementa en 2π el tiempo se incrementa en un periodo P

h(t+P)=h(t)+2π

h(t+P)h(t)= 2 c ka { arctan m 0 c(t+P)a a m 0 c(t+P)a a arctan m 0 cta a + m 0 cta a }

Comenzamos con t=0, resolvemos la ecuación trascendente, h(P)-h(0)=2π, para calcular el primer periodo P1, al que asignamos la masa m1=m0-cP1/2, de un tiempo intermedio entre 0 y P1.

Ahora ponemos t=P1, resolvemos la ecuación trascendente h(P1+P)-h(P1)=2π, para calcular el segundo periodo P2 al que asignamos la masa m2=m0-c(P1+P2/2), de un tiempo intermedio entre P1 y P1+P2 y así, sucesivamente

Representamos en el eje horizontal el vector m de la masa y en el eje vertical el cuadrado de los periodos P2 y comprobamos que son proporcionales, se ajustan a una línea recta, tal como mostramos en la sección anterior

m0=20; %masa inicial
c=0.2; %flujo de arena
k=10; %constante del muelle
lambda=0.05; %rozamiento

gamma=lambda/(2*c)+1/4;
a=(c/2+lambda)*(3*c/2+lambda)/(4*k);

h=@(t) 2*sqrt(k*a)*(atan(sqrt((m0-c*t-a)/a))-sqrt((m0-c*t-a)/a))/c;
N=10; %número de periodos
P=zeros(0,N);
m=zeros(0,N);
t0=0;
for i=1:N
    f=@(x) h(t0+x)-h(t0)-2*pi;
    p_a=2*pi*sqrt((m0-c*t0)/k);
    P(i)=fzero(f,p_a); %calcula el periodo
    m(i)=m0-c*(t0+P(i)/2);
    t0=t0+P(i);
end
plot(m,T.^2,'o','markersize',4,'markerfacecolor','r')
grid on
xlabel('m(t)')
ylabel('P^2');
title('oscilador variable amortiguado')

Energía del oscilador

La energía del oscilador, es la suma de la energía cinética de la masa variable m que se mueve con velocidad dx/dt y de la energía potencial del muelle elástico kx2/2.

La energía del oscilador disminuye con el tiempo debido al trabajo de la fuerza de rozamiento y a la pérdida de masa que experimenta el sistema

d E k dt = 1 2 dm dt ( dx dt ) 2 +m dx dt d 2 x d t 2 d E p dt =kx dx dt d( E k + E p ) dt =( c 2 +λ ) ( dx dt ) 2

Vamos a estimar la pérdida aproximada de energía del oscilador en la unidad de tiempo. Para un oscilador libre (sin rozamiento y masa constante), la posición, velocidad y energía son, respectivamente

x=Asin(ωt+φ) dx dt =Aωcos(ωt+φ) E k + E p = 1 2 k A 2

El periodo P=2π/ω y ω2=k/m

Sabiendo que el valor medio de una función periódica f(t) de periodo P es

<f(t)>= 1 P 0 P f(t)dt

Por tanto, el valor medio del cuadrado de la velocidad de la partícula es

( dx dt ) 2 = 2 P 0 P/2 A 2 ω 2 cos 2 (ωt+φ)dt= 2 P A 2 ω 2 0 P/2 1+cos2(ωt+φ) 2 dt= 1 2 A 2 ω 2

Recuérdese que el periodo de cosx es 2π, sin embargo, el periodo de cos2x es π (la mitad)

La pérdida de energía del oscilador en la unidad de tiempo es aproximadamente

d( E k + E p ) dt ( c 2 +λ ) 1 2 k m(t) A 2 (t)

Como Ek+Ep=kA2/2. Integramos la ecuación diferencial para obtener una expresión aproximada para la amplitud A(t), sabiendo que en el instante t=0, A=A0 y m=m0

dA(t) dt = 1 2 ( c 2 +λ ) A(t) m(t) 0 t dA A = 1 2 ( c 2 +λ ) 0 t dt m 0 ct A= A 0 ( 1 ct m 0 ) γ γ= 1 4 + λ 2c

El mismo resultado que hemos obtenido el principio de este apartado A(t)=A0f(t)

Actividades

Se introduce

El resto de los parámetros están fijados en el programa interactivo

Se representa el muelle y el recipiente con arena en color azul claro. En la parte derecha se representa, la posición del depósito en función del tiempo. Un segundo antes de que el recipiente se vacíe, es decir, su masa m sea cero, se detiene el programa, para evitar divisiones entre cero.

En la parte superior, se proporcionan los datos del tiempo t, posición x y velocidad dx/dt


Referencias

José Flores, Guillermo Solovey, Salvador Gil. Variable mass oscillator. Am. J. Phys. 71 (7) July 2003, pp. 721-725

O.L. de Lange, J. Pierrus. Solved Problems in Classical Mechanics. Analytical and numerical solutions with comments. Oxford University Press (2010). Questions 11.29, 11.30, pp. 385-390