Oscilaciones en la máquina de Atwood

prev.gif (1231 bytes)home.gif (1232 bytes)next.gif (1211 bytes)

Oscilaciones

Osciladores (II)
Oscilaciones
anarmónicas
Molécula diatómica
El oscilador Morse
Oscilaciones de un
cilindro que rueda
Movimiento de
un pistón
marca.gif (847 bytes)Máquina de Atwood

El vector posición, velocidad y aceleración en coordenadas polares

Ecuaciones del movimiento

Principio de conservación de la energía

Actividades

Referencias

Código fuente

 

En esta página, se estudia el movimiento de una máquina de Atwood en la cual una de las masas puede oscilar en el plano vertical. La solución numérica de las ecuaciones del movimiento revela una rica variedad de trayectorias.

Las poleas tienen masa despreciable y la cuerda es inextensible, suficientemente larga para no preocuparnos de que el contrapeso M choque con la polea. Supondremos que la cuerda está siempre tensa y no tendremos en cuenta el rozamiento entre la cuerda y las poleas y en el movimiento de las masas puntuales m y M, por lo que la energía total del sistema de dos partículas permanece constante.

 

El vector posición, velocidad y aceleración en coordenadas polares

Establecemos un Sistema de Referencia Ortonormal, cuyos ejes son la dirección radial y la dirección perpendicular a la radial. Los vectores unitarios se señalan en la figura de la derecha.

Vector posición

El vector posición de la partícula oscilante es

Vector velocidad

El vector velocidad es tangente a la trayectoria

Expresamos la velocidad de la partícula en coordenadas polares

Calculamos las componentes rectangulares de los vectores unitarios

Calculamos las derivadas de los vectores unitarios

Las componentes del vector velocidad v en coordenadas polares son,

Vector aceleración

Derivamos la velocidad con respecto del tiempo

Las componentes del vector aceleración en coordenadas polares valen

 

Ecuaciones del movimiento

Las fuerzas que actúan sobre la partícula que oscila de masa m son:

  • La tensión de la cuerda T

  • El peso mg

Ecuación del movimiento en la dirección radial

mgcosθ-T=mar

Ecuación del movimiento en la perpendicular a la radial

-mgsenθ=maθ

Las fuerzas que actúan sobre el contrapeso de masa M son:

  • La tensión de la cuerda T

  • El peso Mg

Si y es la posición del contrapeso. La ecuación del movimiento es

Al alejarse la masa m aumenta r, el contrapeso M asciende, disminuye y, de modo que

Eliminamos T entre la primera y tercera ecuación, llegamos a un sistema de dos ecuaciones diferenciales de segundo orden

Llamando μ=M/m

 

Principio de conservación de la energía

Situamos el nivel cero de energía potencial en la posición de las poleas

La energía potencial de los dos cuerpos es

Ep=-Mgy-mg·rcosθ

La energía cinética es

Teniendo en cuenta que y y r están relacionados, ya que la cuerda es inextensible y+r=L=cte. La energía total se escribe

Podemos eliminar el término constante MgL con una elección conveniente del nivel cero de energía potencial. Dividiendo entre m

Resolvemos numéricamente el sistema de dos ecuaciones diferenciales de segundo orden con las siguientes condiciones iniciales, en el instante t=0, la posición inicial es r=r0, θ=θ0, y las componentes de la velocidad inicial son (dr/dt)0, r0(dθ/dt)0

Calcularemos en cada instante la energía total e y la compararemos con la energía inicial e0. Denominamos al cociente

tanto por ciento de error. Cuando la energía e difiere de e0 de modo que el cociente es mayor que la unidad, el programa interactivo se detiene, la trayectoria calculada puede que se desvíe significativamente de la real.

 

Actividades

Se introduce

  • El cociente μ=M/m entre las masas del contrapeso y de la partícula, actuando en la barra de desplazamiento titulada Cociente m.

  • La posición inicial de la partícula que oscila: r0 distancia a la polea y θ0, ángulo en grados que hace con la dirección vertical, en los controles de edición titulados Posición.

  • La velocidad inicial de dicha partícula, la componente radial (dr/dt)0, y la velocidad angular (dθ/dt)0 en los controles de edición titulados Velocidad.

Se pulsa el botón titulado Empieza

Se dibuja la trayectoria de la partícula oscilante

Opcionalmente, se puede realizar ciertos ajustes:

  • Se puede cambiar el paso de integración numérica de las ecuaciones diferenciales, seleccionando un valor en el control de selección titulado Paso. Por ejemplo, si se selecciona 1/2, el paso por defecto se reduce a la mitad.

  • Se puede cambiar la escala. Para ver las trayectorias de la partícula oscilante cuando se aleja del origen, se aumenta la escala del dibujo, en el control de selección titulado Escala.

El programa interactivo permite obtener una gran variedad de trayectorias: La partícula oscilante se moverá alrededor del origen si M>m, es decir, si μ>1. En caso contrario, la partícula se escapará.

Introduciremos valores de μ>1

La posición inicial habitual es r0>0 entre 0 y 2 y θ0=90º. La partícula oscilante está en el eje X. La distancia inicial al origen r0>0, ya que para r0=0 tenemos una singularidad en la segunda ecuación diferencial.

La velocidad inicial habitualmente es cero, (dr/dt)0=0,  (dθ/dt)0=0, pero se puede dar un valor a la componente radial (dr/dt)0, cuando la partícula parte de una posición cercana al origen r0≈0.

El programa interactivo se detiene cuando la partícula oscilante llega al origen r<0 o cuando el procedimiento numérico, no resuelve adecuadamente las ecuaciones del movimiento y la energía de la partícula se desvía apreciablemente de la energía inicial

Probar los siguientes casos:

  • r0=1 y θ0=90º, velocidad inicial cero, μ=1.4, 1.5, 1.665, 2.2, 2.812, 4.8, 5.1, 7.7, 8.3, 9.8

  • r0=0.01,  θ0=90º, (dr/dt)0=4, (dθ/dt)0=0, μ=1.182, 1.299, 3.0, 5.829

Si solamente estamos interesados en el trazado de la trayectoria de la partícula oscilante, el programa interactivo puede mejorarse adoptando un paso variable de integración. El paso podría ser más pequeño cuando la partícula esté cerca del origen y más grande cuando esté lejos.
LibresApplet aparecerá en un explorador compatible con JDK 1.1.

 

 

Referencias

Tufillaro N. B., Abott T. A. Griffiths D. J. Swinging Atwood’s machine. Am. J. Phys. 52 (10) October 1984, pp. 895-903

 

Código fuente

 

public abstract class RungeKutta {
	double h;
RungeKutta(double h){
	this.h=h;
}
void setPaso(double dt){
	this.h=dt;
}
public void resolver(Estado e){
//variables auxiliares
	double k1, k2, k3, k4;
	double l1, l2, l3, l4;
	double q1, q2, q3, q4;
	double m1, m2, m3, m4;
//estado inicial
	double x=e.x;
	double y=e.y;
	double vx=e.vx;
	double vy=e.vy;
	double t=e.t;

	k1=h*vx;
	l1=h*f(x, y, vx, vy, t);
	q1=h*vy;
	m1=h*g(x, y, vx, vy, t);

	k2=h*(vx+l1/2);
	l2=h*f(x+k1/2, y+q1/2, vx+l1/2, vy+m1/2, t+h/2);
	q2=h*(vy+m1/2);
	m2=h*g(x+k1/2, y+q1/2, vx+l1/2, vy+m1/2, t+h/2);

	k3=h*(vx+l2/2);
	l3=h*f(x+k2/2, y+q2/2, vx+l2/2, vy+m2/2, t+h/2);
	q3=h*(vy+m2/2);
	m3=h*g(x+k2/2, y+q2/2, vx+l2/2, vy+m2/2, t+h/2);

	k4=h*(vx+l3);
	l4=h*f(x+k3, y+q3, vx+l3, vy+m3, t+h);
	q4=h*(vy+m3);
	m4=h*g(x+k3, y+q3, vx+l3, vy+m3, t+h);

	x+=(k1+2*k2+2*k3+k4)/6;
	vx+=(l1+2*l2+2*l3+l4)/6;
	y+=(q1+2*q2+2*q3+q4)/6;
	vy+=(m1+2*m2+2*m3+m4)/6;
	t+=h;

//estado final
	e.x=x;
	e.y=y;
	e.vx=vx;
	e.vy=vy;
	e.t=t;
}
abstract public double f(double x, double y, double vx, double vy, double t);
abstract public double g(double x, double y, double vx, double vy, double t);
}
public class Oscilador extends RungeKutta{
	double mu; // longitud péndulo/radio tierra
Oscilador(double mu, double h){
	super(h);
	this.mu=mu;
}
public double f(double x, double y, double vx, double vy, double t){
	double z=(x*vy*vy+9.8*(Math.cos(y)-mu))/(1+mu);
	return z;
}
public double g(double x, double y, double vx, double vy, double t){
	double z=-(2*vx*vy+9.8*Math.sin(y))/x;
	return z;
}
public double energia(double x, double y, double vx, double vy){
	double z=mu*vx*vx/2+(vx*vx+x*x*vy*vy)/2+9.8*x*(mu-Math.cos(y));
	return z;
}
}
public class Estado {
	public double t;
	public double x;
	public double y;
	public double vx;
	public double vy;
public Estado(double t, double x, double y, double vx, double vy) {
	this.t=t;
	this.x=x;
	this.y=y;
	this.vx=vx;
	this.vy=vy;
}
}
//objetos
	Estado estado=new Estado(0.0, x0, y0, V0x, V0y);
	Oscilador oscilador=new Oscilador(mu, 0.005);
//resolución numérica
	oscilador.resolver(estado);
	double energia=oscilador.energia(estado.x, estado.y, estado.vx, estado.vy);
	error=Math.abs((energia-eInicial)*100/eInicial);
	if(error>1.0 || estado.x<0.0){
		//detiene el movimiento
	}