La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Fare scienza con il computer LE LEGGI DI KEPLERO - appunti IV incontro - 2 febbraio 2007 (M. Peressi - G. Pastore)

Presentazioni simili


Presentazione sul tema: "Fare scienza con il computer LE LEGGI DI KEPLERO - appunti IV incontro - 2 febbraio 2007 (M. Peressi - G. Pastore)"— Transcript della presentazione:

1 Fare scienza con il computer LE LEGGI DI KEPLERO - appunti IV incontro - 2 febbraio 2007 (M. Peressi - G. Pastore)

2 ... dalla superficie terrestre, dove i corpi sono soggetti
ad una forza costante (in assenza di attrito!) e quindi ad un’accelerazione costante g=9.81 m/s2 (che ci permette di trovare facilmente le leggi del moto...) ci allontaniamo un’occhiata al sistema solare...

3 Leggi di Keplero (empiriche!)
Ogni pianeta si muove su un piano su un'orbita ellittica con il sole su uno dei fuochi. La velocita’ di un pianeta cresce quando questo si avvicina al sole, in modo da coprire aree uguali in tempi uguali. Se T e’ il periodo e a il semiasse maggiore dell'ellisse, il rapporto T2/a3 e’ lo stesso per tutti i pianeti che orbitano attorno al sole.

4 Il nostro percorso Dalla legge di Newton che collega la forza sul pianeta all' accelerazione dello stesso: e dalla legge di gravitazione universale, cioe’ la legge di forza: 1) arriveremo numericamente alle leggi di Keplero. (cammino inverso rispetto alla storia!) 2) sperimenteremo “cosa succede se” la legge di forza fosse diversa

5 Ripassiamo l’ellisse...

6 Un sistema di riferimento per l’approccio numerico

7 Ricordiamo la scomposizione di un vettore v
nelle sue componenti vx , vy nel piano cartesiano: (vale per vettore posizione, velocita’, accelerazione, forza...)

8 nelle due componenti cartesiane
Scomponiamo il moto nelle due componenti cartesiane

9

10 Cosi’ e’ implementato in MotoPianeta.java ,
sia per i valori iniziali dell’accelerazione : // Imposta le condizioni iniziali pos_x[0] = _pos0x; pos_y[0] = _pos0y; double r = Math.sqrt(pos_x[0]*pos_x[0]+pos_y[0]*pos_y[0]); acc_x[0] = -G*massaSole*pos_x[0]/Math.pow(r,3); acc_y[0] = -G*massaSole*pos_y[0]/Math.pow(r,3); che per quelli nel generico istante di tempo “i” o “i+1”: acc_x[i+1] = -G*massaSole*pos_x[i+1]/Math.pow(r,3); acc_y[i+1] = -G*massaSole*pos_y[i+1]/Math.pow(r,3);

11 L’accelerazione dunque dipende dalla posizione e cambia
ad ogni istante di tempo: problema per risolvere numericamente le equazioni del moto? NO! abbiamo visto che : Qualunque moto puo’ essere “spezzettato” in intervallini di tempo piccoli in cui possa essere considerato uniformemente accelerato:

12 “alla fratelli Lumiere”...
x(2) v(2) x(3) v(3) x(1) v(1) “alla fratelli Lumiere”...

13 Questo e’ l’algoritmo di EULERO
Solita equazione del moto uniformemente accelerato, ma riferita all’intervallino di tempo , che va ripetutamente applicata da un intervallo a quello successivo (iterazione). Questo e’ l’algoritmo di EULERO iterare

14 Questo e’ l’algoritmo di VERLET
MEGLIO ancora: invece di prendere in ogni intervallino il valore dell’accelerazione all’istante iniziale per calcolare la velocita’, prendiamo il suo valor medio tra l’istante iniziale e quello finale dell’intervallino Questo e’ l’algoritmo di VERLET iterare Nota: la nuova accelerazione si puo’ calcolare appena aggiornata la posizione, quindi l’algoritmo e’ esplicito!

15 Cosi’ e’ implementato in MotoPianeta.java:
// Integra numericamente l'equazione del moto (Verlet) for (int i=0;i<niter-1;i++) { pos_x[i+1] = pos_x[i] + vel_x[i]*dt + 0.5*acc_x[i]*dt*dt; pos_y[i+1] = pos_y[i] + vel_y[i]*dt + 0.5*acc_y[i]*dt*dt; r = Math.sqrt(pos_x[i+1]*pos_x[i+1]+pos_y[i+1]*pos_y[i+1]); acc_x[i+1] = -G*massaSole*pos_x[i+1]/Math.pow(r,3); acc_y[i+1] = -G*massaSole*pos_y[i+1]/Math.pow(r,3); vel_x[i+1] = vel_x[i] + 0.5*(acc_x[i]+acc_x[i+1])*dt; vel_y[i+1] = vel_y[i] + 0.5*(acc_y[i]+acc_y[i+1])*dt; }

16

17 Il sistema solare - parametri utili
MARS Mass (10^24 kg) Semimajor axis (10^6 km) Sidereal orbit period (days) Perihelion (10^6 km) Aphelion (10^6 km) Mean orbital velocity (km/s) Max. orbital velocity (km/s) Min. orbital velocity (km/s) Orbit eccentricity JUPITER Mass (10^24 kg) ,898.6 Semimajor axis (10^6 km) Sidereal orbit period (days) 4, Perihelion (10^6 km) Aphelion (10^6 km) Mean orbital velocity (km/s) Max. orbital velocity (km/s) Min. orbital velocity (km/s) Orbit eccentricity SATURN Mass (10^24 kg) Semimajor axis (10^6 km) ,433.53 Sidereal orbit period (days) 10,759.22 Perihelion (10^6 km) ,352.55 Aphelion (10^6 km) ,514.50 Mean orbital velocity (km/s) Max. orbital velocity (km/s) Min. orbital velocity (km/s) Orbit eccentricity MERCURY Mass (10^24 kg) Semimajor axis (10^6 km) Sidereal orbit period (days) Perihelion (10^6 km) Aphelion (10^6 km) Mean orbital velocity (km/s) Max. orbital velocity (km/s) Min. orbital velocity (km/s) Orbit eccentricity VENUS Mass (10^24 kg) Semimajor axis (10^6 km) Sidereal orbit period (days) Perihelion (10^6 km) Aphelion (10^6 km) Mean orbital velocity (km/s) Max. orbital velocity (km/s) Min. orbital velocity (km/s) Orbit eccentricity EARTH Mass (10^24 kg) Semimajor axis (10^6 km) Sidereal orbit period (days) Perihelion (10^6 km) Aphelion (10^6 km) Mean orbital velocity (km/s) Max. orbital velocity (km/s) Min. orbital velocity (km/s) Orbit eccentricity URANUS Mass (10^24 kg) Semimajor axis (10^6 km) ,872.46 Sidereal orbit period (days) 30,685.4 Perihelion (10^6 km) ,741.30 Aphelion (10^6 km) ,003.62 Mean orbital velocity (km/s) Max. orbital velocity (km/s) Min. orbital velocity (km/s) Orbit eccentricity NEPTUNE Mass (10^24 kg) Semimajor axis (10^6 km) ,495.06 Sidereal orbit period (days) ,189. Perihelion (10^6 km) ,444.45 Aphelion (10^6 km) ,545.67 Mean orbital velocity (km/s) Max. orbital velocity (km/s) Min. orbital velocity (km/s) Orbit eccentricity PLUTO Mass (10^24 kg) Semimajor axis (10^6 km) Sidereal orbit period (days) 90,465 Perihelion (10^6 km) Aphelion (10^6 km) Mean orbital velocity (km/s) Max. orbital velocity (km/s) Min. orbital velocity (km/s) Orbit eccentricity

18 Attenzione nel codice alle righe:
acc_x[...] = -G*massaSole*pos_x[...]/Math.pow(r,3...); acc_y[...] = -G*massaSole*pos_y[...]/Math.pow(r,3...);

19 Cerchiamo di trovare (“sperimentalmente”!)
quelle condizioni di velocita’ per cui ritroviamo un orbita chiusa.... Quale spiegazione....?


Scaricare ppt "Fare scienza con il computer LE LEGGI DI KEPLERO - appunti IV incontro - 2 febbraio 2007 (M. Peressi - G. Pastore)"

Presentazioni simili


Annunci Google