Sei sulla pagina 1di 6

Studio del moto caotico del doppio pendolo

Matteo Pompili
27 dicembre 2013

Sommario
In questo approfondimento ho tentato di riprodurre i risultati esposti in The Double Pendulum Fractal [1], in cui viene messa in evidenza
la forte connessione tra moti caotici e forme frattali. In particolare
riporto i dati ottenuti dallo studio del tempo necessario al doppio pendolo per ribaltarsi in funzione delle condizioni iniziali. I grafici che ho
ottenuto sono compatibili con quelli riportati nellarticolo originale.

Introduzione

Il doppio pendolo `e uno dei sistemi pi`


u semplici che presentano un moto
`
caotico [2]. E costituito da due pendoli, uno incernierato allaltro, ed `e
descrivibile con un set di equazioni differenziali non lineari accoppiate. Per
moto caotico si intende che il sistema `e molto sensibile alle condizioni iniziali,
ed `e imprevedibile. Infatti apportando variazioni infinitesime alle posizioni
di partenza dei due pendoli, il moto che ne risulta `e completamente diverso,
e non `e prevedibile su tempi lunghi. Lobiettivo di questo approfondimento
`e di studiare il tempo necessario affinche il pendolo si capovolga, ovvero
quando il secondo braccio `e sovrapposto al primo, in funzione delle condizioni
iniziali.

Descrizione del sistema

Il sistema studiato (Figura 1) `e un doppio pendolo formato da due aste


omogenee, di stessa massa m e stessa lunghezza L (I = mL2 /12). Ho
trascurato le masse dei perni che tengono unite le due aste, per rendere il
pi`
u ideale possibile il sistema fisico. Le due aste sono state scelte identiche
in modo da semplificare le equazioni del moto. Ho indicato con e gli
angoli che le aste formano con la verticale, di conseguenza le coordinate dei
centri massa sono:
L
L
x1 = sin , z1 = cos
(1)
2
2
L
L
x2 = L sin + sin , z2 = L cos + cos
(2)
2
2
1

` utile inoltre trovare le coordinate dellestremit`a inferiore del pendolo,


E
quella che pi`
u naturalmente descrive il moto di tutto il sistema:
x
= L (sin + sin ) , z = L (cos + cos )

(3)

g
1

m, L

m, L
z

Figura 1: Schematizzazione del doppio pendolo.

2.1

Equazioni del moto

Una volta descritto il sistema ne ho calcolato la Lagrangiana:


 mgL
mL2  2
2

4 + + 3 cos ( ) +
(3 cos + cos )
L=
6
2

(4)

E quindi le equazioni del moto:

6 2p 3p cos ( )

2 16 9 cos2 ( )

mL

6 8p 3p cos ( )

mL2 16 9 cos2 ( )

(5)

mL2 
g

p =
sin ( ) + 3 sin

2
L


2 

p = mL sin ( ) g sin

2
L
Le (5) sono un sistema di equazioni differenziali non lineari accoppiate, alle
quali `e impossibile (o comunque molto difficile) trovare una soluzione anali` per`
tica. E
o possibile trovare una approssimazione numerica con un metodo
di integrazione.

2.2

Il frattale

Ora che il sistema `e stato descritto, passo allanalisi del moto caotico. Le
condizioni iniziali che determinano il moto nel nostro caso sono solo due: 0
e 0 . m e L infatti sono uguali nelle due aste, e per semplicit`a le ho scelte
uguali ad 1. Al variare di questi due angoli, il doppio pendolo seguir`a ogni
volta traiettorie diverse.
Laltra caratteristica del moto caotico `e di essere imprevedibile, ovvero non `e possibile stabilire a priori (quindi senza integrarlo) quando e se il
sistema, date determinante condizioni iniziali, assumer`a una certa configurazione. La configurazione che ho studiato `e quella del ribaltamento (Figura
2): il doppio pendolo si ribalta (flips) quando i due bracci si sovrappongono,
ovvero quando il secondo passa sopra al primo. Dal punto di vista analitico
la condizione di ribaltamento pu`o essere espressa in molti modi: i centri di
massa delle due aste devono avere le stesse coordinate (x1 , z1 ) = (x2 , z2 ); lestremit`
a inferiore del pendolo deve passare per lorigine (
x, z) = (0, 0); infine
la condizione che ho poi usato nel programma, poiche non richiede la chiamata alle funzioni trigonometriche, ovvero che i due angoli nella circonferenza
goniometrica siano uno il simmetrico dellaltro: | | = + 2k, k N.
Ogni configurazione di (0 , 0 ) dar`a luogo ad una diversa traiettoria, che
potrebbe anche non portare al ribaltamento del pendolo; linsieme delle condizioni iniziali che non portano al ribaltamento `e dato, in gran parte, dalla
conservazione dellenergia. Infatti il ribaltamento a minore costo energetico
si verifica quando = 0, = . In questa condizione, presa stazionaria,

Figura 2: Il ribaltamento avviene quando la seconda asta attraversa la


prima.
lenergia del sistema vale
H0 =

mgL
(3 cos + cos) = mgL
2

Quindi le condizioni iniziali di (0 , 0 ) che non danno al sistema energia


sufficiente al ribaltamento sono:
3 cos 0 + cos 0 > 2

(6)

Il frattale `e una grafico cartesiano (0 , 0 ) : [3, 3] [3, 3], dove ad ogni


punto viene associato un colore in funzione del tempo passato prima del
ribaltamento.

Il programma

Per ottenere il grafico di come le condizioni iniziali favoriscano o meno il


ribaltamento, ho sviluppato un programma in C che integra il moto del
doppio pendolo, e fornisce in output il tempo che il sistema ha impiegato
prima di ribaltarsi. Per integrare le equazioni del moto (5) ho utilizzato
Runge-Kutta del secondo ordine. Per creare il grafico il programma ripete
lintegrazione su una griglia di condizioni iniziali, e quando riceve il tempo
impiegato per il ribaltamento, scrive in stdout in formato ppm (Portable
PixMap)1 p
il colore relativo a quelptempo. I colori sono i p
seguenti: verde
se t p
10 l/g, rosso se t 102p L/g, viola se t 103 L/g, grigio se
t 104 L/g, e bianco se t > 104 lL/g. Per ogni colore le zone pi`
u scure
1

Per visualizzare limmagine bisogna far reindirizzare stdout in un file esempio.ppm

hanno impiegato pi`


u tempo di quelle chiare. Lelaborazione richiede molto tempo se si richiede unalta risoluzione dellimmagine finale, per questo
motivo `e meglio scomporre limmagine in blocchi e far eseguire in parallelo
diversi lavori, in modo da sfruttare appieno i sistemi multi-core. Io ho integrato su un reticolo di 1200x1200 pixel, suddividendo il grafico in blocchi e
componendo e comprimendo limmagine finale successivamente.
3

3
3

Figura 3: Frattale ottenuto con il programma. Gli angoli sono in radianti.


Per scegliere il metodo con cui individuare il ribaltamento del doppio
pendolo ho effettuato varie prove: inizialmente avevo imposto che le coordinate dellestremit`
a inferiore (
x, z) fossero entrambe minori in modulo di
uno immesso dallutente. Questo metodo per`o appesantiva lelaborazione complessiva dovendo effettuare ulteriori chiamate alle funzioni sin() e
cos(). Allora ho deciso di utilizzare la condizione sugli angoli, che bypassava le funzioni trigonometriche e permetteva un controllo pi`
u accurato sul
ribaltamento. Infatti basta controllare quando la funzione (7) presenta uno
zero,
(, ) = | | , con e [0, 2]
(7)
5

ovvero basta calcolare 1 e 2 prima e dopo ogni step dellintegrazione e


verificare che 1 2 0. Questo alleggerisce notevolmente lintero calcolo,
ed aumenta di precisione con il diminuire del passo di integrazione. Per
concludere, ho creato una struct cache dove salvo i valori delle funzioni
trigonometriche che devono essere usate pi`
u di una volta nello stesso passo
di integrazione, ad esempio il denominatore di e nelle (5), per diminuire
il numero di chiamate a funzioni del programma.

Analisi del grafico

Ci`
o che si evince subito dal grafico (Figura 3), `e che la gran parte
p della
zona bianca, ovvero quella in cui non si ha il ribaltamento entro 104 L/g, `e
quella definita dalla conservazione dellenergia (6). Ci sono per`o altre zone
bianche che hanno energia sufficiente, ma che data la configurazione particolare (ad esempio 0 = 0 per valori piccoli), non portano al ribaltamento.
Effettuando degli ingrandimenti sulle zone di confine tra bianco e viola (Figura 4), si pu`
o notare lelemento tipico dei frattali: la ripetizione delle stesse
forme, ma a dimensioni pi`
u piccole.

Figura 4: Zoom dellarea [1.5, 1] [2.5, 2]

Riferimenti bibliografici
[1] Jeremy S. Heyl. The double pendulum fractal. Tabitha.phas.ubc.ca, 2008.
[2] Wikipedia.it. Doppio pendolo, 2013.

Potrebbero piacerti anche