Zeruko gorputzen dinamika |
Kepler-en legeak Grabitazioaren legearen aurkikuntza Indar zentrala eta kontserbakorra Ibilbidearen ekuazioa
Ibilbide hiperbolikoak Transferentziazko orbita Martitzera joan eta etorri Ibilbide espirala Ontzi espazial bat Jupiterrera bidaltzea Energia bereko orbitak Jaurtigai baten ibilbidea (I) Jaurtigai baten ibilbidea (II) Higidura erlatiboa Orbitan dagoen satelitea Lurrerantz erortzen Planeten eraztunak Indar zentral bat eta perturbazio bat Euler-en problema Bidaia bat ilargira |
Higidura-ekuazioen soluzio numerikoa | |||||||||||||||||||||||||||||||||||||||||||||
Kepler-en legeek zehazki deskribatzen dute planeten higidurak nolakoak diren eguzkiaren inguruan, baina ez dute azaltzen zein den higidura horren zergatia. 1.-Planetek orbita eliptikoak jarraitzen dituzte eta Eguzkia elipsearen foku batean dago. 2.-Eguzkitik planetaraino doan posizio-bektoreak denbora-tarte konstanteetan azalera konstantea ekortzen (edo estaltzen) du. 3.-Orbiten periodoen karratuak eta elipseen ardatzerdien kuboak proportzionalak dira. Newton-en grabitazioaren legeak Kepler-en legeei azalpena ematen die, baina are gehiago, planeten ibilbideak denboraren menpe kalkulatzeko balio du. Orokorrean gorputz batek, erakarpen grabitatorioa jasaten duenean, ibilbide laua deskribatzen du, "konika" bat: elipsea, parabola edo hiperbola. Aurreko atal batean komentatu da, indar grabitatorioa zentrala eta kontserbakorra denez, eguzkiaren eta planeta baten arteko erakarpen-indarrak lehen ordenako ekuazio diferentzial bi ematen dituela. Ekuazio diferentzial bi horiek koordenatu polarretan adierazten badira, eta denbora eliminatzen bada, ibilbidearen ekuazioa ematen du, izan ere konika baten ekuazioa. Orri honetako programa interaktiboak bestela jokatzen du: planetaren posizioa jakinda, azelerazioaren X eta Y osagaiak kalkulatzen ditu, eta hasierako abiadura ezaguna denez, abiadura eta posizio berriak kalkulatzen ditu, integralak prozedura numerikoez ebatzita.
Higidura ekuazioen soluzio numerikoaDemagun m masadun partikula batek (planeta batek) indar erakarle bat jasaten duela puntu finko baterantz (Eguzkirantz). Suposatuko dugu Eguzkia finkoa dela, bere masa, M, partikularena baino askoz handiagoa delako. Planetak jasaten duen F indarrak norabide erradiala du, eta eguzkiaren zentrorantz apuntatzen du uneoro. Grabitazio unibertsalaren legeak indar horren modulua ematen du:
Newton-en bigarren legea aplikatuz, eta azelerazioa idazten bada posizioaren bigarren deribatu gisa, ekuazio diferentzial bi lortzen dira bigarren ordenakoak: Hasierako baldintzak ezagututa (posizioa eta hasierako abiadura), ekuazio diferentzial bikote hori prozedura numerikoez ebatz daiteke, esaterako Runge-Kutta metodoa. EskalakEkuazio diferentzialak ebazten hasi aurretik, komenigarria da ordenagailuaren kalkuluetan zenbaki handiegiak edota txikiegiak saihestea. Horretarako ekuazioak berridatz daitezke: Aukera dezagun unitate-sistema egokia: lehenik, luzera neurtzeko, unitate astronomikoa, alegia, Lurraren eta Eguzkiaren arteko distantzia: L=UA bat =1.496·1011 m. Eta bigarrenik, denbora neurtzeko, urtea, P= 1 urte= 365.26 egun =3.156·107 s. Unitate sistema horretan aldagaiak honela berridazten dira: x=Lx’, eta t=P·t’, Eta lehen ekuazio diferentziala honela: Lurrak Eguzkiaren inguruan duen orbitaren ardatzerdi nagusia L da, eta periodoa P, bira bat osatzeko tardatzen duen denbora. M eguzkiaren masa denez, Kepler-en hirugarren legearen arabera: Unitate-sistema berrian, ekuazio bikotea honela idazten da (primak kendu dira erosoago jarduteko): Energiaren kontserbazio-printzipioaPartikularen energia totala konstantea da uneoro, eta hasieran, t=0 aldiunean, hau da: Partikularen energia totala E0<0 bada, partikula harrapatuta geratuko da erakarlearen inguruan, eta aldiz, E0≥0 bada, bere orbitak azkenean infinitura ihes egingo du. Partikularen energia edozein t aldiunetan: Eta unitate-sistema egokian: v=v’·L/P, x=x’·L, y=y’·L, d=d’·L Etor gaitezen berriro hasierako unitateetara, eta defini dezagun e energia masa unitateko: Ondorengo programa interaktiboak uneoro honako zatidura kalkulatzen du: zatidura horri errorearen portzentajea deituko diogu. Kalkulu numerikoan zehar partikularen energia ez litzateke aldatu behar, baina aldatzen joango balitz, eta zatidura hori "bat" baino handiago izatera iritsiko balitz, programak kalkulua geldiaraziko du. Kalkulatutako orbita, orbita errealetik nahikoa urruntzen ari dela esan nahi du. Hori gerta daiteke, partikula erakarpen zentrotik oso hurbil pasatzen denean.
Indar zentral eta kontserbakorraIrudiak erakusten du partikula bat orbita eliptiko batean mugitzen, eta erakarpen-zentroa elipsearen foku batean dago. Hurbiltze maximoko distantzia r1 da, eta urruntze maximokoa r2. Partikulak duen abiadura, bi posizio horietan, v1 eta v2 dira hurrenez hurren. Partikulak posizio horietan duen energia eta momentu angeluarra idatz daitezke, eta biak konstanteak direnez: Ekuazio bi horiek ebazteko bi aukera izaten dira:
Partikula bat erakarpen-zentrotik r1 distantziara dagoenean, eta jaurti egiten bada (esaterako, erakarpen zentrotik urrunduz), badago jaurtitze-abiadura minimo bat, partikula infinituraino iristeko: dei diezaiogun ve jaurtitze-abiadura minimo horri (e azpindizea erabili da, gaztelerazko "escape"-gatik). Esaterako, Lurraren gainazaletik ihes egiteko abiadura minimoa hau da, ve=11190.7 m/s. (r1=6.37·106 m, eta M=5.98·1024 kg). Izan ere, v2 abiadura, urruntze maximoarena (1), ihes abiaduraren menpe idatz daiteke: Eta momentu angeluarraren kontserbazioa aplikatuz urruntze maximoaren distantzia ere kalkula daiteke:
Erraz egiazta daiteke (1) formulan, partikulak orbita
zirkularra jarraitzen badu, orduan
Adibideak:1 adibidea. Lurra Lurraren orbita ia zirkularra da eta bere erradioa r=1.496·1011 m=1 UA. Higidura zirkular uniformearen dinamika aplikatuz, Lurraren abiadura kalkula daiteke. Eguzkiaren masa, M=1.98·1030 kg, denez, lurraren abiadura v=29711.8 m/s. Lehen atalean azaldutako unitate sistemaren arabera:
abiadura unitate horietan: v' v'= 6.268 UA/urte Orbita bat osorik betetzeko denbora P=1 urte. Ondorengo programa interaktiboan honako datuak sartuz gero: x=1.0 eta vy=6.27, orduan eguzkiaren inguruan orbita zirkularra ateratzen da. 2 adibidea. Martitz
Distantzia maximo eta minimoak ezagututa, alegia, r1 eta r2 perihelioko abiadura kalkula daiteke, v1: v1=26420.7 m/s=5.573 UA/urte Ondorengo programa interaktiboan honako datuak sartzen badira: x=1.382 eta vy=5.573, orduan, bereziki, Martitzek Eguzkiaren inguruan burutzen duen elipsea lortzen da, eta orbita bat osorik betetzeko denbora P=1.86 urte.
SaiakuntzaOrri honetako applet-ean zeruko gorputzen ibilbideak kalkulatu eta marrazten dira. Aldi berean, hainbat magnituderen portaera zehatza behatuko da: energiak konstante irauten duela egiaztatuko da, planetaren momentu angeluarra konstantea dela, bereziki urruntze eta hurbiltze maximoen posizioetan ere, eta azkenik, Kepler-en hirugarren legea egiaztatuko da elipsearen ardatzerdi nagusia eta periodoa neurtuz. Planetaren hasierako posizioa eta abiadura idatz daitezke:
Hasi botoia sakatu. Programak partikularen ibilbidea kalkulatu eta marraztu egiten du, eta aldi berean, leihatilaren ezkerraldean, posizioa eta abiadura erakusten ditu uneoro. Energia eta Momentu angeluarra konstanteak direla beha daiteke. Azpiko eta ezkerreko erpinean, errorearen portzentajea erakusten da, eta unitatea baino handiago izatera iristen bada, programa geldiarazi egiten da. Ikus daiteke, errore handienak lortzen direla, partikula erakarpen-zentrotik oso hurbil pasatzen denean. Gelditu botoia sakatuz, mugimendua eten egiten da, esaterako planeta hurbiltze edo urruntze maximoetara iristera doan unean, posizio horretan elipsearen ardatzerdi nagusia neurtzeko eta orbitaren periodoa neurtzeko. Periodoaren erdia ere neur daiteke eta gero bi bider bidertu. Botoi bera sakatuz, orain jarraitu izena dauka, higidurak jarraitu egiten du. Pausoka botoia behin eta berriro sakatuz, partikula pausoka mugi daiteke nahi den posiziora iristeko. Orbita osoa bete denean, beste jaurtiketa berri bat has daiteke. Adibidez, berriro idatzi abiadura UA/urte unitateetan, baina jaurtiketaren posizioa aldatu gabe eta Hasi botoia sakatu. Ibilbide berria beste kolore batez marraztuko da. Azkenik, hasierako posizioa ere alda daiteke, x, eta abiaduraren balio berriak saia daitezke, vy. Aurretik marraztutako ibilbideak, Ezabatu botoiaz garbitzen dira, nahi denean. Ariketa: Idatz bedi partikularen hasierako posizioa, Rp, eta hasierako abiadura, Vp: planetaren orbita kalkulatu eta marrazten da. Toki jakin batzuetan gelditu botoia sakatuz edota pausoka botoiaz honako taula bete behar da orbita eliptikoaren ezaugarriekin:
1.-Idatz bitez lehen bi zutabeetan, partikularen posizio eta abiadurak jaurtitzen denean: Rp eta Vp (perihelioa) 2.-Laugarren zutabean idatz bedi afelioaren posizioa: Ra unitate astronomikoetan. 3.-Bosgarren zutabean afelioko abiadura idatzi: Va , UA/urte unitateetan. 4.-Egiazta bedi 5.- Kalkula bedi elipsearen a ardatzerdi nagusia, Rp eta Ra-ren menpe (irudian 2a=Rp+Ra) 6.-Idatz bedi taulan, orbita osoa betetzeko tardatzen duen denbora, P, urteetan, eta egiazta bedi Kepler-en hirugarren legea taularen azken zutabean (P2/a3 zatidura gutxi gora behera konstantea izan behar da). |
public abstract class RungeKutta { double h; RungeKutta(double h){ this.h=h; } void setPaso(double dt){ this.h=dt; } public void resolver(Estado e){ //variables auxiliares double k1, k2, k3, k4; double l1, l2, l3, l4; double q1, q2, q3, q4; double m1, m2, m3, m4; //estado inicial double x=e.x; double y=e.y; double vx=e.vx; double vy=e.vy; double t=e.t; k1=h*vx; l1=h*f(x, y, vx, vy, t); q1=h*vy; m1=h*g(x, y, vx, vy, t); k2=h*(vx+l1/2); l2=h*f(x+k1/2, y+q1/2, vx+l1/2, vy+m1/2, t+h/2); q2=h*(vy+m1/2); m2=h*g(x+k1/2, y+q1/2, vx+l1/2, vy+m1/2, t+h/2); k3=h*(vx+l2/2); l3=h*f(x+k2/2, y+q2/2, vx+l2/2, vy+m2/2, t+h/2); q3=h*(vy+m2/2); m3=h*g(x+k2/2, y+q2/2, vx+l2/2, vy+m2/2, t+h/2); k4=h*(vx+l3); l4=h*f(x+k3, y+q3, vx+l3, vy+m3, t+h); q4=h*(vy+m3); m4=h*g(x+k3, y+q3, vx+l3, vy+m3, t+h); x+=(k1+2*k2+2*k3+k4)/6; vx+=(l1+2*l2+2*l3+l4)/6; y+=(q1+2*q2+2*q3+q4)/6; vy+=(m1+2*m2+2*m3+m4)/6; t+=h; //estado final e.x=x; e.y=y; e.vx=vx; e.vy=vy; e.t=t; } abstract public double f(double x, double y, double vx, double vy, double t); abstract public double g(double x, double y, double vx, double vy, double t); } public class Planeta extends RungeKutta{ Planeta(double h){ super(h); } public double f(double x, double y, double vx, double vy, double t){ double r=Math.sqrt(x*x+y*y); double z=-4*Math.PI*Math.PI*x/(r*r*r); return z; } public double g(double x, double y, double vx, double vy, double t){ double r=Math.sqrt(x*x+y*y); double z=-4*Math.PI*Math.PI*y/(r*r*r); return z; } public double energia(double x, double y, double vx, double vy){ double r=Math.sqrt(x*x+y*y); double z=(vx*vx+vy*vy)/2-4*Math.PI*Math.PI/r; return z; } } //Objetos de la clase Planeta Estado estado=new Estado(0.0, x, 0.0, 0.0, vy); //estado inicial Planeta planeta=new Planeta(0.005); eInicial=planeta.energia(estado.x, estado.y, estado.vx, estado.vy); //rutina que calcula la trayectoria paso a paso planeta.resolver(valor); double energia=planeta.energia(estado.x, estado.y, estado.vx, estado.vy); double error=Math.abs((energia-eInicial)*100/eInicial); if(error>1.0){ //detiene el movimiento } |