Sistema de discos rígidos. Teoría Cinética. Evolución hacia el
equilibrio, reversibilidad e irreversibilidad.
- Teoría: Mecánica clásica, Teoría Cinética, Mecánica Estadística.
- Técnica numérica: Simulaciones de N-cuerpos. Colisiones elásticas.
Algoritmos de Ordenación.
- Programación: Fortran, C, introducción a X-windows, gnuplot.
Modelo:
Se trata de estudiar el comportamiento de un sistema de N discos rígidos de masa unidad
colocados en una mesa cuadrada de lado L. Los discos de radio a se mueven
rectilineamente hasta que colisionan elásticamente entre si y/o contra las paredes que les rodean.
Dadas unas posiciones y velocidades iniciales, ri y vi i = 1,..,N respectivamente,
la evolución del sistema es determinista y reversible temporalmente. En particular
la energía cinética total es una magnitud conservada en el tiempo.
Problema:
Teoría:
Hemos de hallar las condiciones para que dos partículas colisionen y, si colisionan, obtener el cambio de
velocidades correspondiente a un choque elástico. Igualmente hemos de hallar las condiciones
de colisión de una partícula con las paredes y su cambio de velocidad si colisionan.
Veamos primero las condiciones de colisión entre dos partículas.
Sean dos partículas con posiciones y velocidades (r1,v1) y
(r2,v2) respectivamente. Al cabo de un tiempo t las partículas
se encontrarán en
Lo primero en lo que hay que darse cuenta es que las partículas tienen posibilidad de colisionar si
se acercan en el tiempo. Esto es, si
Aun cuando las partículas se acerquen entre si, puede suceder que colisionen o que se crucen sin colisionar. Para
saber si van a colisionar o no hemos de ver si existe un tiempo t en el que la distancia entre las
partículas es igual al diámetro de las mismas, esto es
(r1(t)-r2(t))·(r1(t)-r2(t)) = 4a2 |
| (3) |
De la anterior ecuación podemos (formalmente) obtener los tiempos de colisión:
t± = |
1 v2
|
[-xvx-yvy±[ 4a2v2-(xvy-yvx)2]1/2 ] |
| (4) |
donde r1-r2 = (x,y), v1-v2 = (vx,vy) y
v2 = vx2+vy2.
Lo primero que vemos es que existen soluciones si 4a2v2 > (xvy-yvx)2, esto es, las
partículas colisionaran si
y en ese caso el tiempo de colisión viene dado por
tcol = |
1 v2
|
[-xvx-yvy-[ 4a2v2-(xvy-yvx)2]1/2 ] |
| (6) |
Las condiciones de colisión con las paredes son mucho mas simples de hallar. Nuestro
sistema se compone de cuatro paredes: A: y = 0, B: x = L, C: y = L y D: x = 0. Sea una partícula
con posición (x,y) y velocidad (vx,vy). Entonces las condiciones de colisión son:
- Pared A: Colisionará si se acerca a la pared, i.e. vy < 0. El punto de contacto con
la pared será xcol = x+vx(a- y)/vy y la colisión ocurrirá en tcol = (a-y)/vy.
Notar que la pared A se extiende desde x = 0 hasta x = L por lo tanto, en nuestro caso solo
se hace efectiva la colisión si a < xcol < L-a.
- Pared B: Colisionará si vx > 0 y si a < ycol < L-a donde ycol = y+vy(L-a-x)/vx. En
ese caso el tiempo para que se produzca la colisión es: tcol = (L-a-x)/vx.
- Pared C: Colisionará si vy > 0 y si a < xcol < L-a donde xcol = x+vx(L-a-y)/vy. En
ese caso el tiempo para que se produzca la colisión es: tcol = (L-a-y)/vy.
- Pared D: Colisionará si vx < 0 y si a < ycol < L-a donde ycol = y+vy(a-x)/vx. En
ese caso el tiempo para que se produzca la colisión es: tcol = (a-x)/vx.
Una vez que calculamos todos los tiempos de las colisiones posibles, se ha de elegir el menor de ellos
y se ha de mover el sistema ese tiempo hasta que se realiza la colisión. La colisión que se produce
puede ser entre partículas o entre una partícula y una pared. En cualquier caso, las colisiones
son elásticas de forma que la energía cinética y el vector momento lineal antes y después de la
colisión se conservan. Veamos como se modifican las velocidades de la/s partícula/s envuelta/s en cada caso.
- Colisión entre partículas: Supongamos que las partículas que están
colisionando tiene posiciones r1, r2 y velocidades
v1, v2. Sea rpa = r2-r1 = (x,y) el vector
que conecta los centros de los discos colisionando (x2+y2 = 4a2). Sea rpe = (-y,x) un
vector perpendicular a rpa. Las reglas de colisión son:
v¢1pe = v1pe v¢2pe = v2pe v¢1pa = v2pa v¢2pa = v1pa |
| (7) |
donde vpe es la proyección de v sobre la dirección dada por el vector rpe,
i.e. vpe = v·rpe/4a2. Igualmente vpa el la correspondiente
proyección del vector sobre la dirección rpa, i.e. vpa = v·rpa/4a2. Los argumentos sin primas son las velocidades antes de la colisión
y los que tienen primas corresponden a velocidades después de la misma. Las anteriores reglas
de colisión se pueden expresar en coordenadas cartesianas:
v¢1x = v1x+ |
x 4a2
|
[x(v2x-v1x)+y(v2y-v1y) ] |
| (8) |
v¢1y = v1y+ |
y 4a2
|
[x(v2x-v1x)+y(v2y-v1y) ] |
| (9) |
v¢2x = v2x- |
x 4a2
|
[x(v2x-v1x)+y(v2y-v1y) ] |
| (10) |
v¢2y = v2y- |
y 4a2
|
[x(v2x-v1x)+y(v2y-v1y) ] |
| (11) |
- Colisión de una partícula contra la pared A (y = 0):v¢x = vx, v¢y = -vy.
- Colisión de una partícula contra la pared B (x = L):v¢x = -vx, v¢y = vy.
- Colisión de una partícula contra la pared C (y = L):v¢x = vx, v¢y = -vy.
- Colisión de una partícula contra la pared D (x = 0):v¢x = -vx, v¢y = vy.
Algoritmo numérico:
En la anterior sección teórica prácticamente hemos definido el algoritmo de evolución pero
precisémoslo más.
- (0) Fijar un conjunto de posiciones y velocidades iniciales para las N partículas
(NOTA: comprobar que los discos no
solapen inicialmente). Las posiciones pueden variar x Î [0,L] y Î [0,L] y las velocidades pueden
ser elegidas como se quieran, por ejemplo que tengan módulo unidad y un ángulo elegido
al azar entre 0 y 2p.
- (1) Calcular de todas las posibles parejas de colisiones, la que tardará en producirse antes:
- tabs = 109, n1 = 0, n2 = 0
- do i=1,N
- do j=i+1,N+4
- Si no colisiona la partícula i con la j (j = N+1,N+2,N+3,N+4 son la paredes) ir a (a)
- calcular tcol. Si tcol < tabs entonces n1 = i, n2 = j y tabs = tcol.
- (a)enddo
- enddo
- (2) Mover todas las partículas con sus respectivas velocidades un tiempo tabs.
- (3) Aplicar la regla de colisión a la pareja n1, n2. Ir a (1)