Matteo Basei

Una collezione di piccoli programmi realizzati a scopo didattico.

Newton.exe la legge di gravitazione universale

"Cosa fa girare i pianeti intorno al sole? Al tempo di Keplero qualcuno ha risposto a questa domanda dicendo che ci sono degli angeli dietro di essi, che battendo le ali spingono i pianeti lungo l'orbita. Come vedremo questa risposta non è molto lontana dalla verità. L'unica differenza è che gli angeli si mettono in una direzione diversa e le loro ali spingono verso l'interno."

Richard Phillips Feynman

Questo programma permette di simulare il moto di corpi reciprocamente interagenti in base alla legge di gravitazione universale di Newton. Sono quindi simulati sia i principi della dinamica, sia la gravità secondo la legge dell'inverso del quadrato. Entrambe sono state pubblicate il 5 luglio del 1687 nei Philosophiae Naturalis Principia Mathematica ↗ (principi matematici della filosofia naturale) di Isaac Newton, da cui l'inevitabile nome del programma.

I due riquadri in basso a sinistra che permettono di selezionare la massa e la velocità di un nuovo punto materiale.
I due riquadri in basso a sinistra che permettono di selezionare la massa e la velocità di un nuovo punto materiale.

Il primo principio o principio d'inerzia

Il primo principio, detto principio d'inerzia, afferma che

"Corpus omne perseverare in statu suo quiescendi vel movendi uniformiter in directum, nisi quatenus a viribus impressis cogitur statum illum mutare."

Ogni corpo persevera in stato di quiete o in moto rettilineo e uniforme, a meno che forze esterne non lo forzino a cambiare questo stato. In termini matematici il fatto che un sistema isolato perseveri in stato di quiete o moto rettilineo e uniforme significa che le equazioni del moto debbono essere delle equazioni differenziali del secondo ordine. Le condizioni al contorno di Cauchy, le posizioni e le velocità dei corpi, permettono di ottenere le traiettorie di questi ultimi.

Questo in pratica, nella realizzazione della nostra simulazione, significa che dobbiamo memorizzare per ogni corpo posizione e velocità, e che sarà l'accelerazione a dover essere calcolata istante per istante in base all'interazione dei corpi. Questo significa anche che le condizioni iniziali da specificare all'introduzione nella simulazione di un nuovo corpo saranno, oltre la massa del corpo, la posizione (specificata dalla posizione del mouse) e la velocità (impostabile nell'apposito riquadro).

In un'impostazione moderna della meccanica questo principio può essere in realtà ottenuto come teorema a partire dal principio di minima azione e dall'omogeneità e dell'isotropia dello spazio.

Il secondo principio

Il secondo principio recita

"Mutationem motus proportionalem esse vi motrici impressae, et fieri secundum lineam rectam qua vis illa imprimitur."

In pratica per ogni corpo di massa (inerziale) $m$ si applica l'equazione vettoriale $$ F = m \, a $$ per calcolarne l'accelerazione $a$ a partire dalla forza $F$. Ciò ci permette a sua volta di calcolare, grazie al primo principio e date le condizioni iniziali (posizione $r$ e velocità $v$), la traiettoria dei corpi, calcolando prima le velocità $$ v = v + a \, \Delta t $$ e poi le posizioni $$ r = r + v \, \Delta t $$ di ognuno di essi, dato il tempo $\Delta t$ trascorso tra un'iterazione e l'altra del programma.

Il terzo principio o principio di azione e reazione

Il terzo e ultimo principio è chiamato principio di azione e reazione

"Actioni contrariam semper et aequalem esse reactionem: sive corporum duorum actiones in se mutuo semper esse aequales et in partes contrarias dirigi."

In un'impostazione moderna della meccnica questo principio è ottenuto come teorema a partire dalla conservazione della quantità di moto per un sistema isolato, a sua volta ottenuta dal principio di omogeneità dello spazio e dal principio di minima azione. Per un sistema isolato di corpi interagenti dalla conservazione della quantità di moto si ottiene infatti $$ \sum_i F_i = 0 $$ che applicato ad una coppia di corpi ci da $$ F_1 = -F_2 $$ che corrisponde proprio al principio di azione e reazione di Newton.

Traiettorie di un corpo leggero nell'orbita di un corpo più pesante.
Traiettorie di un corpo leggero nell'orbita di un corpo più pesante.

La legge di gravitazione universale

Vediamo ora come si calcola la forza risultante $F$ che agisce su ogni corpo simulato. Il principio di azione e reazione ci dice che possiamo calcolare la forza dovuta all'interazione per ogni coppia di punti, e che entrambi subiranno una forza uguale e contraria.

Nei suoi "Principia" inoltre Newton enuncia la legge del campo gravitazionale e mostra come sia possibile ricavare da essa le leggi di Keplero sulle orbite ellittiche dei pianeti (per essere precisi, la secondo legge è in realtà valida in un campo centrale qualsiasi, anche senza la dipendenza secondo l'inverso del quadrato della distanza, ed è una diretta conseguenza della conservazione del momento angolare, a sua volta conseguenza dell'isotropia dello spazio). Secondo la legge di gravitazione di Newton l'intensità della forza tra due corpi è data da $$ F = G \frac{m_1 m_2}{d^2} $$ dove $m_1$ e $m_2$ sono le rispettive masse, $d$ la distanza tra i corpi e $G$ la costante di gravitazione universale, il cui valore è approssimativamente $6,67 \times 10^{-11} \, \text{N} \frac{\text{m}^2}{\text{kg}^2}$.

La direzione della forza è uguale alla direzione che congiunge la coppia di punti, quindi basta dividere il vettore distanza (che non è altro che la differenza tra le posizioni dei corpi) per la rispettiva lunghezza, ottenendo così il versore (vettore di modulo unitario) nella giusta direzione, che andrà poi moltiplicato per l'intesità della forza trovata.

Traiettorie di due corpi di pari massa in orbita l'uno intorno all'altro.
Traiettorie di due corpi di pari massa in orbita l'uno intorno all'altro.

Il sistema di riferimento del centro di massa

Con il pulsante destro del mouse è possibile passare rapidamente in modalità di inserimento di un nuovo corpo, in modo da poterlo fare rapidamente durante la creazione delle proprie "coreografie" gravitazionali. Con il pulsante sinistro del mouse invece, trascinando, è possibile spostare il sistema di riferimento, in modo da poter seguire l'eventuale moto complessivo del sistema creato.

Il programma include inoltre la possibilità di osservare, in un riquadro, il moto dei corpi creati rispetto al sistema di riferimento del centro di massa, quindi rispetto al sistema di riferimento in cui il baricentro dei corpi è in quiete al centro del riquadro.

Si possono quindi creare i vari sistemi orbitanti in differenti situazioni di moto complessivo, potendo poi sempre osservarli dal sistema di riferimento del centro di massa.

Traiettorie di tre corpi in orbita.
Traiettorie di tre corpi in orbita.

Il colore della traiettoria dipende dal moto: un corpo più veloce tenderà al rosso (caldo), mentre un corpo più leggero sarà più blu (freddo).

Il codice di questo programma è stato incorporato nel mio simulatore spaziale bidimensionale Inertia e successivamente nel mio simulatore di lanci spaziali Tsiolkovsky.

I limiti della meccanica classica

Da più di un secolo sappiamo ormai che le leggi della meccanica classica sono una sorta di comportamento emergente, delle leggi valide solo in media quando descriviamo sistemi su larga scala costituiti da un numero enorme di particelle interagenti. Per fare degli esempi pratici la meccanica classica fallisce nel tentativo di spiegare fenomeni fondamentali come la stabilità dell'atomo e la diffrazione delle particelle. Se ti interessa approfondire puoi dare un'occhiata al mio programma QED.exe dedicato alla meccanica quantistica.