We have another liftoff! or...

Tidligere har vi hatt en test-oppskytning. N? som vi skal reise til en annen planet trenger vi ? v?re litt lure n?r vi skal skyte opp, s? vi trenger ? reise minste mulige avstand slik at reisen blir mulig ? gjennomf?re. Da trenger vi en kode som tar hensyn til dette, og vi trenger ogs? litt matematikk for ? gj?re det. Kan vi klare det? Trenger vi hjelp fra NASA? Bli med inn i bloggposten v?r, og les deg gjennom all kunnskap og dramatikk. 

Oppskytning - opptak 2

Figur 1 : Tidligere begrenset vi oss til ? launche som p? bildet over. Vi ?nsker mer frihet, og m? gj?re noen justeringer!
Figur 1 : Tidligere begrenset vi oss til ? launche som p? bildet over. Vi ?nsker mer frihet, og m? gj?re noen justeringer!
MERK: p? toppen er raketten plassert p? overflaten til planeten, ikke p? planetbanen slik som illustrasjonen under. 

?lreit, jeg skal ikke lyve for dere: ? skyte opp raketter er vanskelig. Det krever mye av oss mennesker, og vi m? v?re smartere. Tidligere under testoppskytning i innlegget We have liftoff ... or? begrenset vi oss til ? skyte opp fra et spesifikt sted p? planeten, et spesifikt sted i planetens bane (ved initialposisjonen t=0, se figur 1). Om vi skal l?se oss til dette kan det blir veldig vanskelig for oss ? komme frem til destinasjonen vi ?nsker, og dermed ?nsker vi mer frihet til ? kunne skyte opp hvor vi vil p? planeten, i et hvilket som helst tidspunkt i planetbanen til hjemplaneten v?r. Vi trenger en l?sning p? dette!

Figur 2 : Vi legger inn parametere \(\theta\)?og?\(t\)?slik at vi kan bestemme selv hvor p? planeten og i planetbanen vi skal skyte opp.?MERK: p? toppen er raketten plassert p? overflaten til planeten, ikke p? planetbanen slik som illustrasjonen under
Figur 2 : Vi legger inn parametere \(\theta\) og \(t\) slik at vi kan bestemme selv hvor p? planeten og i planetbanen vi skal skyte opp. MERK: p? toppen er raketten plassert p? overflaten til planeten, ikke p? planetbanen slik som illustrasjonen under

Det f?rste vi kan gj?re er ? innf?re en ny parameter \(\theta\) som skal beskrive vinkelen mellom posisjonsvektoren \(\vec{r}\) til raketten fra sentrum av planeten, og x-aksen i koordinatsystemet definert med origo i sentrum av planeten (se figur 1 og figur 2). Dette blir da vinkelen vi bruker til ? rotere posisjonen til raketten p? planeten, og det blir ogs? vinkelen vi bruker n?r vi setter initialhastigheten til raketten (slapp av, jeg skal forklare det mer senere). Vi innf?rer ogs? en ny parameter \(t\), som skal angi tidspunktet for planetens bane om stjerna i ?r. Da trenger vi ? hente inn dataen vi regnet ut for planetbanene i innlegget Solsystemet p? dataform, slik at vi kan vite hvor i solsystemet vi befinner oss etter ? ha skutt opp raketten. Metoden vi kommer til ? bruke begynner vel ? bli velkjent, numerisk integrasjon for ? finne rakettens posisjon og hastighet. Likt som i innleggene Solsystemet p? dataform og Sol-dans og planet-vals kommer vi til ? bruke leapfrog til ? integrere hastighet og posisjon numerisk i koordinatsystemet med planetens sentrum i origo, s? om du ikke har husker eller vet hva det er anbefaler jeg ? ta en titt p? det, fordi det g?r jeg ikke gjennom her! Verdiene jeg s? returnerer er transformert til koordinatsystemet med stjernas sentrum i origo, slik at vi kjenner til rakettens posisjon i forhold til stjerna. Vi kan jo ta en liten oppsummering / punktvis gjennomgang p? hvordan vi g?r frem for ? l?se problemet:

  • Vi innf?rer to nye parametere \(\theta \) og \(t\) som skal hjelpe oss med ? beskrive rakettens posisjon p? planeten og initialhastigheten raketten f?r fra planetens rotasjon (\(\theta\)), og tidsunktet vi skyter opp raketten i planetens bane (\(t\)) slik at vi har frihet til ? skyte oss ut hvor vi vil. 
  • Vi finner uttrykket for akselerasjonen til raketten ved hjelp av Newtons 2. lov, og bruker leapfrog til ? integrere opp posisjon og hastighet numerisk. 
  • Til slutt transformerer vi posisjonen og hastigheten vi har funnet fra koordinatsystemet med planetens sentrum i origo til koordinatsystemet med stjernas sentrum i origo. Der vi integrerer numerisk bruker vi SI-enheter, mens dataen til planetens posisjon og hastighet er gitt i astronomiske enheter, s? det er viktig ? v?re obs p? det. 

Litt mer detaljert takk ... 

Vi kan starte med ? representere tall og symboler vi bruker i utregningene her: 

  Symbol Verdi
Rotasjonstid om egen akse \(T\) 98502s (ca. 1.14 dager)
Radius p? planet \(r_p\) 7605752m (7605.752km)
Total masse p? rakett \(m_r\) 1100kg (rakett) + 4000kg (drivstoff)
Masse p? planet  \(m_p\) \(8.54\cdot 10^{24}\)kg
Thrust-kraft til raketten \(\vec{F}_r\) \(4.4\cdot10^4\frac{\vec{r}}{|\vec{r}|}N\)

Vi starter med f?rste punkt p? linjen overhvordan kan vi bruke parameterene \(\theta\) og \(t\) til ? beskrive bestemme hvor vi skal skyte oss ut? La oss ta en kjapp titt p? \(\theta\), ogs? kommer vi tilbake til parameteren \(t\) etterp?. Vi ?nsker ? kunne skyte oss opp hvor som helst langs ekvator p? planeten v?r. Det er viktig ? spesifisere det n?r jeg sier skyte opp hvor som helst p? planeten, da er det alts? ment som p? ekvator. Kjapp kommentar p? det er fordi der kan vi bruke radiusen til planeten, og det er der vi f?r mest fart fra planetens rotasjon. Tilbake til posisjonen: Du er kanskje kjent med hvordan vi parameteriserer en sirkel? En sirkel er parameterisert som \(\vec{r} = (r\cdot cos(\theta), r\cdot sin(\theta))\) der \(r\) er radiusen til sirkelen, og \(\theta \) er vinkelen mellom x-aksen og posisjonsvektoren \(\vec{r}\) med lengde \(r\) langs banen. Det er lett ? tenke p? det dersom du tenker p? enhetssirkelen, som jeg h?per du er kjent med. Vi bruker denne parameteriseringen til ? beskrive posisjonen v?r langs ekvator p? planeten v?r, og uttrykket for initialposisjonen v?r blir da

\(\vec{r}=(r_p\cdot cos(\theta), r_p\cdot sin(\theta)) = r_p\cdot(cos(\theta), sin(\theta))\)

der \(\theta\) ligger mellom \(0 \) og \(2\pi\).

Bildet kan inneholde: menneskekroppen, h?ndskrift, skr?ningen, gj?re, sirkel.
Figur 3 : Vi bruker vinkelen \(\theta\) til ? bestemme initialposisjonen v?r

Vi kan ogs? bruke denne vinkelen til ? finne initialhastigheten v?r. Siden planeten roterer om sin egen akse, antar vi at den roterer med konstant hastighet og kan finne uttrykket for farten vi har p? overflaten:

\(v_0=\frac{2\pi r_p}{T}\)

Figur 4 : Vi ?nsker ? rotere enhetsvektoren langs \(\vec{r}\) \(\frac{\pi}{2}rad\) eller \(90^o\) mot klokka slik at vi kan finne enhetsvektoren \(\hat{v}\) langs overflaten og uttrykke hastigheten vi f?r fra planetens rotasjon.

der \(r_p\) er planetens radius, og \(T \) er tiden den bruker for en rotasjon om egen akse. Dette er farten vi har tangensielt p? planetens overflate, som vil si at dette er fart vi f?r med oss n?r raketten skyter opp. Men vi trenger ogs? retningen til farten, ikke bare st?rrelsen. Hvordan vet vi hva den er? Det er kanskje ikke veldig vanskelig ? overbevise deg om at denne farten har en retning som er vinkelrett p? posisjonsvektoren? Siden det er en sirkelbane, s? m? hastigheten v?re tangent p? sirkelkurven. Men hva er det matematiske uttrykket for det? Vel, siden vi n? antar at planeten roterer mot klokka kan vi tenke oss at vi vil ta enhetsvektoren som peker med posisjonsvektoren \(\vec{r}\), rotere den \(90^o\) mot klokka, og skalere den med farten \(v_0\) som vi akkurat fant. Vi vet at enhetsvektoren som g?r langs med \(\vec{r}\) kan skrives som 

\(\hat{r} = (cos(\theta), sin(\theta))\)

Siden vi ?nsker ? rotere denne \(90^o\), eller \(\frac{\pi}{2}\) radianer, kan vi legge til \(\frac{\pi}{2}\) p? \(\theta\), og f? enhetsvektoren langs hastigheten p? overflaten til planeten, \(\hat{v}\). Vi bruker to trigonometriske identiteter, og ender opp med 

\(cos(\theta + \frac{\pi}{2}) = cos(\theta)cos(\frac{\pi}{2}) - sin(\theta)sin(\frac{\pi}{2}) = -sin(\theta)\)

\(sin(\theta + \frac{\pi}{2}) = sin(\theta)cos(\frac{\pi}{2}) + sin(\frac{\pi}{2})cos(\theta) = cos(\theta)\)

og dermed 

\(\hat{v} = (-sin(\theta), cos(\theta))\) og \(\vec{v}_0 = v_0\hat{v} = v_0(-sin(\theta), cos(\theta))\).

S? langt har vi funnet ut hvordan vi kan endre posisjonen v?r p? planeten, og hvordan vi uttrykker initialposisjon og initialhastighet til raketten sett fra koordinatsystemet med planetens sentrum i origo ved hjelp av parameteren \(\theta\).

Det neste vi trenger n? er ? finne akselerasjonen til raketten sett fra planeten. Kreftene som virker p? raketten er kraften fra rakettmotoren, og gravitasjonskraften. Vi setter opp N2L og har uttrykket

\(\sum\vec{F} = m_r\vec{a} = \vec{F}_r + \vec{F}_g = ??4.4\cdot10^4\frac{\vec{r}}{|\vec{r}|}- G\frac{m_pm_r}{|\vec{r}|^2}\frac{\vec{r}}{|\vec{r}|}\)

der \(\vec{F}_r\) er thrust-force fra rakettmotoren og \(\vec{F}_g\) er gravitasjonskraften. Deler vi p? \(m_r\) p? begge sider f?r vi at akselerasjonen til raketten er

\(\vec{a} = \frac{??4.4\cdot10^4}{m_r}\frac{\vec{r}}{|\vec{r}|}- G\frac{m_p}{|\vec{r}|^2}\frac{\vec{r}}{|\vec{r}|}\)

Kilde: https://tenor.com/search/rocket-gifs

OBS OBS OBS! Her skal vi passe oss! Det vi m? huske p? her er at massen \(m_r\) blir mindre og mindre over tid, fordi raketten forbrenner drivstoff og mister masse over tid. Det betyr at massen \(m_r=m_r(t)\) er en funksjon av tid. Heldigvis blir ikke det store problemet for oss som gj?r det numerisk, siden vi har data p? hvor mye masse i kg vi mister pr. sekund. Alle detaljer om raketten kan du finne p? innleggene Rakettmotor - boks for boks og We have liftoff ... or?. Det betyr bare at for hver gang vi itererer i integrasjonsl?kka med leapfrog er vi n?dt til ? oppdatere hva den totale massen er, og s? oppdatere uttrykket for akselerasjonen med en nye totale massen. Det kan vi finne ved ? trekke fra 

\(\text{total mass} = \text{total mass} - \text{mass consumed pr. sec}\cdot\Delta t \)

for hver gang vi itererer i integrasjonsl?kka, og bruke den nye totale massen i uttrykket for akselerasjon over. Vi bruker denne informasjonen vi har kommet frem til, og kaster det inn i leapfrog. Det spyttes ut et resultat, men det kan vi ikke bruke. Vi ?nsker ? se det i koordinatsystemet til stjerna, ikke planeten. Vi m? gj?re en liten transformasjon, og om du ikke husker alt om ? bytte fra et koordinatsystem til et annet er det beskrevet i bloggposten Sol-dans og planet-vals. Denne gangen er det litt enklere, og alt vi trenger ? gj?re er ? legge til planetens posisjon og hastighet i tidspunktet vi velger ? skyte opp raketten. Det er her dataen fra planetbanene i Solsystemet p? dataform og parameteren \(t\) kommer inn! Her m? vi v?re forsiktige, for n? har vi noe data som er i SI-enheter, og andre i astronomiske enheter. Vi m? passe p? ? gj?re om dataen i SI-enheter over til astronomiske enheter. Vi har at

\(1 AU=149 597 870 700 m \Rightarrow 1m = \frac{1}{149 597 870 700}AU\approx 6.6\cdot10^{-12}AU\)

\(1yr = 31536000s \Rightarrow 1s = \frac{1}{31536000}yr\approx3.2\cdot10^{-8}yr\)

. Vi velger oss et tidspunkt \(t\), og den endelige transformasjonen blir

\(\vec{R} = \vec{r}\cdot6.6\cdot10^{-12}AU + \vec{r}_p(t)\)

\(\vec{V} = \vec{v}\cdot\frac{6.6\cdot10^{-12}AU}{3.2\cdot10^{-8}yr} + \vec{v}_p(t)\)

Dermed er vi klare for ? teste oppskytning, og til ? se hvordan det g?r!

Resultat av oppskytning

Steike! Dette gikk visst d?rlig denne gangen ogs?, som i aller f?rste oppskytning p? We have liftoff ... or?. Det er ikke helt sikkert hva som g?r galt, men vi treffer fortsatt ikke der vi skal. Det er mulig vi har misforst?tt et konsept, gjort en regnefeil i programmet eller rett og slett implementert det feil. Samme metode vi har brukt her har funket fint tidligere som ved beregning av planetbaner eller l?sningen av to-legeme problemet, s? jeg setter liten tvil p? at det er metoden v?r det er noe galt med.. Vi tar kontakt med NASA og f?r hjelp fra noen av deres fremste eksperter, som skriver et program for oss som sender oss p? riktig sted. Aureka! Disse forskerene fra NASA er brilliante! Koden deres kj?rer feilfritt og vi f?r en suksessfull oppskytning! Noe vi kjenner en ergelig sjalusi over.. men det m? vi bare riste av oss, svelge den harde klumpete stoltheten, og komme oss videre til neste del. 

Forrige innlegg <<                                                                             Neste innlegg >>

Av Anton Brekke
Publisert 1. okt. 2021 23:57 - Sist endret 17. des. 2021 01:51