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 unaccelerazione costante g=9.81 m/s 2 (che ci permette di trovare facilmente le leggi del moto...) ci allontaniamo... unocchiata al sistema solare...

3 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 T 2 /a 3 e lo stesso per tutti i pianeti che orbitano attorno al sole. Leggi di Keplero (empiriche!)

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 lellisse...

6 Un sistema di riferimento per lapproccio numerico

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

8 Scomponiamo il moto nelle due componenti cartesiane

9

10 // 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); Cosi e implementato in MotoPianeta.java, sia per i valori iniziali dellaccelerazione : 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 Laccelerazione 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 x(2) v(2)x(3) v(3) x(1) v(1)... alla fratelli Lumiere...

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

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

15 Cosi e implementato in MotoPianeta.java: // Integra numericamente l'equazione del moto (Verlet) for (int i=0;i

16

17 Il sistema solare - parametri utili 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 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) 1,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) 1, Sidereal orbit period (days) 10, Perihelion (10^6 km) 1, Aphelion (10^6 km) 1, Mean orbital velocity (km/s) 9.69 Max. orbital velocity (km/s) Min. orbital velocity (km/s) 9.09 Orbit eccentricity URANUS Mass (10^24 kg) Semimajor axis (10^6 km) 2, Sidereal orbit period (days) 30,685.4 Perihelion (10^6 km) 2, Aphelion (10^6 km) 3, Mean orbital velocity (km/s) 6.81 Max. orbital velocity (km/s) 7.11 Min. orbital velocity (km/s) 6.49 Orbit eccentricity NEPTUNE Mass (10^24 kg) Semimajor axis (10^6 km) 4, Sidereal orbit period (days) 60,189. Perihelion (10^6 km) 4, Aphelion (10^6 km) 4, Mean orbital velocity (km/s) 5.43 Max. orbital velocity (km/s) 5.50 Min. orbital velocity (km/s) 5.37 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) 4.72 Max. orbital velocity (km/s) 6.10 Min. orbital velocity (km/s) 3.71 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