Movimiento de un sistema de partículas (GRUPO 9C)
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Movimiento de un sistema de partículas (GRUPO 9C) |
| Asignatura | Teoría de Campos |
| Curso | 2014-15 |
| Autores |
Bartol Calderón, María De los Reyes Suárez, Álvaro Modet Benjumea, Laura Salvador Mejías, María Santiago Ruiz, Margarita Suta, Larisa Elena |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Contenido
1 PLANTEAMIENTO DEL PROBLEMA
Se considera un conjunto de diez partículas inicialmente situadas en los puntos de coordenadas (xi,yi,zi)=((i-1)/5,sen(π(i-1)/4,π(i-1)/30), i=1,2,3...,10 respecto a la base ortonormal {e1,e2,e3}. Las partículas se encuentran unidas por alambres de masa despreciable de forma que su posición relativa no cambia.
En la siguiente figura se observa el sistema de partículas, cuyos ejes están fijados en la región [-2,2]x[-2,2]x[-2,2].
El código en MATLAB para obtener la gráfica del sistema sería:
%Creamos una matriz de 3*10 en la que cada columna tiene las coordenadas de un punto
N=zeros(3,10);
for i=1:10
N(1,i)=(i-1)/5;
N(2,i)=sin(pi*(i-1)/4);
N(3,i)=pi*(i-1)/30;
end
% Generamos 3 vectores que contengan las coordenadas X, Y y Z de los puntos
x=N(1,:);
y=N(2,:);
z=N(3,:);
% Dibujamos los vectores con plot3
clf %Por si existía alguna gráfica anterior
plot3(x,y,z,'.')
% Ponemos los ejes según la región fijada
axis([-2,2,-2,2,-2,2])
2 RESOLUCIÓN DEL PROBLEMA
2.1 Obtención del centro de masas
Calculamos el centro de masas del sistema de partículas sabiendo que la masa de todas las partículas tiene un valor conocido e igual a 10.
El código utilizado en MATLAB para obtener dicho centro de masas sería:
%Generamos una matriz de 3*10 en la que cada columna tiene las coordenadas de un punto
N=zeros(3,10);
for i=1:10
N(1,i)=(i-1)/5;
N(2,i)=sin(pi*(i-1)/4);
N(3,i)=pi*(i-1)/30;
end
% Creamos 3 vectores que contengan las coordenadas X, Y y Z de los puntos
x=N(1,:);
y=N(2,:);
z=N(3,:);
% Dibujamos los puntos con plot3
clf %Por si existía alguna gráfica anterior
hold on % Para añadir el centro de masas
plot3(x,y,z,'.')
% Ponemos los ejes según la región fijada
axis([-2,2,-2,2,-2,2])
% Calculamos los centros de masas
xx=sum(x)/10;
yy=sum(y)/10;
zz=sum(z)/10;
% Por último lo dibujamos
plot3(xx,yy,zz,'g.')
hold off
Para obtener el centro de masas tenemos en cuenta que será el sumatorio de la masa de cada partícula por su xi, yi, o zi correspondiente, dividido entre la masa total de las 10 partículas del sistema. Como la masa de cada partícula vale 10, si sacamos factor común y lo dividimos por la masa total obtenemos que xx=sum(x)/10, yy=sum(y)/10 zz=sum(z)/10, siendo sum el comando que representa el sumatorio de los vectores que contienen las coordenadas x, y ,z de los puntos.
Las coordenadas del centro de masas obtenido son:
xx= 0.90000
yy= 0.070711
zz= 0.47124
La gráfica obtenida sería:
2.2 Matriz de rotación con eje ω y ángulo θ= π/16
Si elegimos como eje de rotación ω=e3 y como ángulo θ= π/16, la matriz de componentes asociada a dicha rotación y los puntos del sistema rotados se obtienen introduciendo en MATLAB el siguiente código
%Creamos una matriz de 3*10 en la que cada columna tiene las coordenadas de un punto
N=zeros(3,10);
for i=1:10
N(1,i)=(i-1)/5;
N(2,i)=sin(pi*(i-1)/4);
N(3,i)=pi*(i-1)/30;
end
% Rotaciones
tt=pi/16
Re1=[1 0 0;0 cos(tt) -sin(tt);0 sin(tt) cos(tt)]; % Rotación sobre e1
Re2=[cos(tt) 0 sin(tt);0 1 0;-sin(tt) 0 cos(tt)]; % Rotación sobre e2
Re3=[cos(tt) -sin(tt) 0;sin(tt) cos(tt) 0;0 0 1] % Rotación sobre e3
% En este paso elegimos que rotación multiplicamos por los puntos (Re1, Re2 o Re3)en función de los que nos piden calcular
N=Re3*N
% Creamos 3 vectores que contengan las coordenadas X, Y y Z de los puntos
x=N(1,:);
y=N(2,:);
z=N(3,:);
% Los dibujamos con plot3
clf
plot3(x,y,z,'.')
% Ponemos los ejes como nos dicen
axis([-2,2,-2,2,-2,2])
El programa de MATLAB nos proporciona la matriz de componentes y la gráfica de los puntos rotados.
La matriz de rotación de eje ω=e3 y ángulo θ= π/16 sería:
Y la gráfica obtenida sería:
Si varía el eje de giro, utilizando el mismo código de MATLAB obtendríamos las siguientes matrices y gráficas.
Matriz de rotación de eje ω=e1 y ángulo θ= π/16:
Matriz de rotación de eje ω=e2 y ángulo θ= π/16:
Para hallar la matriz de rotación de eje ω=e1+e2+e3 y ángulo θ= π/16, tenemos en cuenta la fórmula de la rotación R=cos(θ)I + (1-cos(θ)a×a) +sin(θ)ax. Utilizando el siguiente código en MATLAB obtenemos la matriz y la gráfica de la rotación.
% La Matriz de rotacion, ROT=cos(θ)'''1''' + (1-cos(θ)a×a) +sin(θ)ax
vector=[1 1 1]; % Eje de giro e1+e2+e3
tt=pi/16; % Ángulo de giro
z=vector/sqrt(sum(vector.^2)); % Conversión a vector unitario del eje de giro
ROT1=eye(3)*cos(tt); % cos(θ)I
ROT2=kron(z,z')*(1-cos(tt)); % (1-cos(θ)a×a)
ROT3=[0 -z(3) z(2); z(3) 0 -z(1);-z(2) z(1) 0]*sin(tt); % sin(θ)ax
ROT=ROT1+ROT2+ROT3; % Matriz de rotación final
N=zeros(3,10);
for i=1:10
N(1,i)=(i-1)/5;
N(2,i)=sin(pi*(i-1)/4);
N(3,i)=pi*(i-1)/30;
end
N=ROT*N;
% Creamos 3 vectores que contengan las coordenadas X, Y y Z de los puntos
x=N(1,:);
y=N(2,:);
z=N(3,:);
% Los dibujamos con plot3
clf
plot3(x,y,z,'.')
% Ponemos los ejes como nos dicen
axis([-2,2,-2,2,-2,2])
disp(ROT);
La matriz de rotación obtenida sería:
0.98719 -0.10623 0.11904
0.11904 0.98719 -0.10623
-0.10623 0.11904 0.98719
La gráfica de la rotación sería de la forma:
2.3 Velocidad angular
Suponemos que el sistema gira alrededor de un eje genérico con vector de dirección unitario ω de forma que la variación angular viene dada por la función θ(t) donde el tiempo t pertenece al intervalo [0,π]. Para comprobar analíticamente que la velocidad de los puntos del sistema está relacionada con su posición mediante un tensor antisimétrico resolvemos el problema particularizando para el vector de dirección unitario ω=e3.
Llamamos r(t)=u1e1+u2e2+u3e3 al vector de posición del sistema de partículas. Al calcular la transformada por el ángulo girado θ(t) obtenemos el vector
- r(t)= u1[cosθ(t)e1+senθ(t)e2]+u2[-senθ(t)e1+cosθ(t)e2]+u3e3
Matricialmente, el vector de posición después del desplazamiento θ quedaría de la forma
Para obtener el vector velocidad hacemos la derivada del vector de posición
- r'(t)=u1[-senθ(t)θ'(t)e1+cosθ(t)θ'(t)e2]+u2[-cosθ(t)θ'(t)e1-senθ(t)θ'(t)e2]+0e3
Sacando factor común a θ'(t) obtenemos:
Queremos demostrar que el vector velocidad es el producto de una matriz antisimétrica A por el vector de posición r(t), es decir, v(t)=r'(t)=A٠r(t), siendo A=θ'(t)٠ω, y a el vector axial asociado a la matriz antisimétrica. (Para realizar la demostración hemos particularizado en ω=e3)
Por tanto la matriz A será de la forma
Y matricialmente v(t)=r'(t)=A٠r(t)=θ'(t)٠ω٠r(t) se expresa de la forma
dado que hemos particularizado en ω=e3
Por tanto igualando las expresiones obtendríamos
- θ'(t)[-u1senθ(t)- u2cosθ(t)]= -θ'(t)٠1٠[u1senθ(t)+ u2cosθ(t)]
- θ'(t)=-az(t)=-1٠θ'(t)
- θ'(t)[-u1cosθ(t)- u2senθ(t)]=θ'(t)٠1٠[-u1cosθ(t)- u2senθ(t)]
- θ'(t)=az(t)=1٠θ'(t)
Luego θ'(t)=1٠θ'(t)
Así queda demostrado que v(t)=r'(t)=A٠r(t)
2.4 Vectores velocidad de las partículas
Dado que el vector velocidad es el resultado de v(t)= ω x ri, siendo ω=e3, al que denominamos velocidad angular, a través de MATLAB obtenemos la gráfica que muestra el vector velocidad asociado a cada punto.
clear all
%close all
%Definimos los puntos.
p=zeros(10,3); % Vector de posición de las partículas
for i=1:10
p(i,:)=[(i-1)/5,sin(pi*(i-1)/4),pi*(i-1)/30];
w(i,:)=[0,0,1]; % ω=e3
end
v=cross(w,p); % Producto vectorial de los vectores posición y ω
p=[p(:,1),p(:,2),p(:,3)];
hold on
figure(1)
quiver3(p(:,1),p(:,2),p(:,3),v(:,1),v(:,2),v(:,3))
%axis([-2,2,-2,2,-2,2])
plot3(p(:,1),p(:,2),p(:,3),'o','MarkerFaceColor','b')
hold off
La matriz que nos indica las velocidades de los puntos obtenidos es:
Los valores de las componentes de la velocidad van a ser distintos de 0 para el caso de e1 y e2, ya que en el caso de e3 sabemos que el producto vectorial de e3 por e3 es nulo. Por otro lado, el primer punto del sistema de partículas tiene como coordenadas (0,0,0), por tanto su velocidad es nula.
La gráfica obtenida sería la siguiente:
2.5 Momento angular
El momento angular o momento cinético es una magnitud física que bajo ciertas condiciones de simetría rotacional de los sistemas se mantiene constante con el tiempo a medida que el sistema evoluciona, lo cual da lugar a una ley de conservación conocida como Ley de conservación del momento angular. El momento angular de un conjunto de partículas es la suma de los momentos angulares de cada una:
Si los puntos se mueven con una velocidad angular w y se sustituye la siguiente expresión
llegamos a:
siendo el tensor de inercia, por lo que el momento angular de un sistema de particulas se puede expresar comoPara calcular las componentes del tensor de inercia I emplearemos el siguiente programa:
G=[0 0 0;0 0 0;0 0 0];
s=[0 0 0;0 0 0;0 0 0];
m=10;
x=0;
y=0;
z=0;
for i=1:10;
vpos=[(i-1)/5,sin(pi*(i-1)/4),pi*(i-1)/30];
for t=1:3;
for h=1:3;
if t==h;
s(1,1)=(vpos(2)^2)+(vpos(3)^2);
s(2,2)=(vpos(3)^2)+(vpos(1)^2);
s(3,3)=(vpos(2)^2)+(vpos(1)^2);
else
s(t,h)=-(vpos(t)*vpos(h));
end
end
end
G=G+s;
end
G=m*G
El tensor de inercia obtenido resulta:
2.6 Energía cinética del sistema
La energía cinética de un cuerpo es aquella energía que posee debido a su movimiento. Se define como el trabajo necesario para acelerar una masa determinada desde el reposo hasta alcanzar una velocidad . Una vez conseguida esta energía durante la aceleración, el cuerpo mantiene su energía cinética salvo que cambie su velocidad. Para un sistema de partículas, la energía cinética total se escribe como:
Sustituyendo en la fórmula anterior el valor de la velocidad,
tenemos finalmente:
llegando así,a la expresión pedida.Hemos usado las propiedades del producto mixto y la regla de la expulsión.
El programa que nos permite obtener la energía cinética del sistema es el siguiente:
G=[76.2537 6.5858 -59.6903;6.5858 145.2537 3.4483;-59.6903 3.4483 159.0000];
%velocidad angular
w=[0 0 1];
Ec=0.5*(w*G*w')
La energía cinética tiene un valor de 79.5 J
2.7 Tensor de inercia
Sea una base vectorial, a la que denominaremos B. El tensor de inercia es un tensor ligado a un punto, que se toma como origen. Al variar dicho punto, se obtendrá un tensor distinto, lo cual definirá un campo tensorial. A cada punto P, le corresponde un tensor Ip en la base B. Se pide demostrar dicho campo tensorial
- Ip = Ig + m(||ā||²1 − ā ⊗ ā)
para lo cual partiremos del tensor de inercia en P, Ip = m(r²p1− ṝp ⊗ rp)
donde ṝp es el vector de posición del punto P. Lo que haremos será una descomposición rp=rg+ā, con rg vector de posición de g y ā vector que une G con el punto P. Demostraremos el teorema de Steiner para una sola partícula, de tal forma que al ser un sistema discreto, bastará con hacer lo mismo en cada una de las 10 partículas y luego sumar.
- Ip =m(r²p1− rp ⊗ rp)=m(r²g 1 − rg ⊗ rg)+m(ā²1 − ā ⊗ ā)+2•1m(rg•ā)-m(rg ⊗ ā + ā ⊗ rg).
- Desarrollando m(rg ⊗ ā + ā ⊗ rg), tenemos: (ā·m)rg+(rg·m)ā=2·m(rg•ā)
Si nos damos cuenta, los dos últimos sumandos son iguales, lo cual hace que se anulen al restarse.
Con ello se obtiene finalmente:
- Ip =m(r²p1− rp ⊗ rp)=m(r²g 1 − rg ⊗ rg)+m(ā²1 − ā ⊗ ā).
- La primera parte es el momento de inercia en el centro de gravedad G, Ig.
- Por otro lado, el segundo sumando resulta m(ā²1 − ā ⊗ ā),
Con ello se tiene lo que queríamos demostrar,
- Ip = Ig + m(||ā||²1 − ā ⊗ ā)
Vamos a explicar el procedimiento llevado a cabo para hallar un tensor de inercia cualquiera, partimos del cálculo de un tensor en un punto cómodo de una particula aislada , como es el origen de los ejes cartesianos, para hallar este tensor utilizo la forma matricial del tensor de inercia general:
Una vez obtenida el tensor de inercia para una particula en concreto respecto del origen, si queremos el tensor de inercia de un conjunto de particulas,simplemente es sumar el tensor correspondiente a cada particula. Una vez obtenido el tensor del conjunto respecto del origen, nos basta utilizar Steiner para calcular el tensor de inercia del conjunto en el punto deseado, en nuestro caso este punto es el centro de gravedad.
A continuación se muestra el programa en Matlab que calcula el tensor de inercia respecto al centro de gravedad del sistema de partículas del problema, siendo (x,y,z)= (0.90000,0.070711,0.47124), es decir las coordenadas del centro de gravedad y por tanto b es el vector OG. Otra forma más simple de calcularlo sería hallar el tensor de inercia directamente en el centro de gravedad, es decir, realizar el mismo programa pero cambiando la vpos, que sería el resultado de restar a vpos las coordenadas del centro de gravedad: Nueva vpos, vpos'= vpos-(x,y,z).
G=[0 0 0;0 0 0;0 0 0];
s=[0 0 0;0 0 0;0 0 0];
m=10;
x=0;
y=0;
z=0;
for i=1:10;
vpos=[(i-1)/5,sin(pi*(i-1)/4),pi*(i-1)/30];
for t=1:3;
for h=1:3;
if t==h;
s(1,1)=(vpos(2)^2)+(vpos(3)^2);
s(2,2)=(vpos(3)^2)+(vpos(1)^2);
s(3,3)=(vpos(2)^2)+(vpos(1)^2);
else
s(t,h)=-(vpos(t)*vpos(h));
end
end
end
G=G+s;
x=x+(vpos(1)/10)
y=y+(vpos(2)/10)
z=z+(vpos(3)/10)
end
G=m*G
b=[-x -y -z];
tcdg=G-m*(((norm(b)^2)*eye(3))-b'*b)
Por otro lado, demostraremos que la energía cinética se puede calcular de dos formas distintas, ya sea mediante la expresión
que depende de la velocidad lineal, ó bien mediante la fórmula que depende de la velocidad angular y el momento de inercia, Ec= 1/2 w Io w El siguiente programa Matlab, muestra las dos mencionadas formas de cálculo. Cabe mencionar, que su cálculo se relaciona con el anterior programa expuesto.
%calculo energia cinetica con 1/2*m*v^2.
Ecin=0;
Ecini=0;
for i=1:10
vel=[v(i,1),v(i,2),v(i,3)];
Ecini=0.5*m*((vel(1)^2+vel(2)^2)+vel(3)^2);
Ecin=Ecin+Ecini;
end
Ecin=Ecin
%calculo energia cinetica con 1/2*w*G*w
w=[0 0 1];
Ecin1=0.5*w*G*w'
%calculo energia cinetica con 1/2*w*tcdg*w
w=[0 0 1];
Ecin2=0.5*w*tcdg*w'
Con lo cual observo que el resultado obtenido coincide en ambas.
2.8 Ejes principales de inercia
Para calcular los ejes y direcciones principales de inercia partimos del resultado obtenido anteriormente que nos calcula el tensor de inercia en el centro de masas del conjunto dibujado.
Sabemos que las direcciones principales de inercia, que se producen cuando la velocidad instantánea de rotación Ω y el momento cinético HO = IO • Ω son paralelos , es decir, HO = λ • Ω. Estas direcciones coinciden con los autovalores de este tensor y los ejes principales son los vectores propios asociados a dichos autovalores del tensor IG.
Nuestro caso corresponde al primer dibujo. Para su cálculo en MATLAB utilizamos la herramienta [Q,D]=eig(A); donde Q representa una matriz con los vectores propios asociados en cada columna, los cuales son los ejes principales de inercia que nos pide el ejercicio.
Dibujo de los ejes principales:
Los ejes principales de inercia son las rectas o ejes formados por los vectores propios del tensor de inercia, luego para dibujarlos utilizaremos el comando quiver3, teniendo en cuenta las coordenadas del centro de gravedad calculadas previamente en el presente trabajo, así como los vectores columna de la matriz de los autovectores del tensor de inercia obtenido en el apartado anterior. Son ortogonales debido a que los autovalores son distintos entre sí ( raíces reales y positivas), es decir, las tres direcciones de principales constituyen una base ortonormal ligada al sólido correspondiente.
3 MASA TOTAL Y CENTRO DE MASAS DE UN SÓLIDO
Se considera una placa plana con forma de anillo circular centrado en el origen y comprendido entre los radios 1 y 2. La placa tiene un grosor de 0,2 metros y su densidad d depende del radio, es decir, d(ρ,θ,z)= 1/ρ kg/cm^3.








