Lazarus - The Women Who Fell to Earth

 

 

<< Forrige innlegg

Tidligere erfarte vi at simuleringen av rakettoppskytningen ikke var helt optimal, blant annet at vi forbruker 697 av 700 tonn drivstoff for å nå unnslipningshastighet, dvs. komme seg ut av Dystopias gravitasjonsfelt.

Vi har en tilståelse. Damene er ikke i rommet som vi har sagt at de er. De sitter nede på den grufulle kloden sin og venter på at vi skal gjøre et nytt forsøk på å sende dem opp med en garanti på at de kan komme seg videre til Utopia på det de har igjen av bensin. 

Til nå har vi samlet opp en del informasjon om solsystemet vårt, spesielt om planetene Dystopia og Utopia (tidligere kalt Ziggy etter Ziggy Stardust etter Bowie). Vi har snart alt vi trenger for å simulere en bedre rakettoppskytning, for ikke å snakke om en mer behagelig reise (kommer inn på dette!), for de to. Det var i grunn ikke noe konseptuelt galt med den forrige simuleringen, men den tok ikke hensyn til at vi hadde tenkt oss videre. Vi lot simuleringen og naturkreftene velge hvor sluttposisjonen skulle være uten å verken ha bensin eller en plan for videre reise. Det er blant annet dette vi skal se på nå.


Hvis du trenger en ny gjennomgang av konseptene, hva gjelder rakettmotorsimulering, kan du trykke her, her og her. Fra nå av tar vi utgangspunkt i at dere er noenlunde kjent med hvordan rakettmotoren simuleres på datamaskin, hva som får raketten til å bevege seg oppover og den numeriske metoden (Euler-Cromer) vi bruker for å beregne hastigheten og posisjonen til raketten vår Vaksinen til enhver tid. Det vi skal nå er å generalisere metoden til å gjelde for en hvilken som helst oppskytningsplass \(\vec{r}_0\) og til en hvilken som helst tid t0. Da er det nyttig å bruke referansesystemet der Bowie er i origo og sentrum av Dystopia ligger langs den positive x-aksen ved tiden t = 0 (tiden har ikke stått stille, dette er bare en definisjon vi trenger da planeten beveger seg rundt og rundt og rundt og rundt). Raketten vår skal altså starte i en posisjon  \(\vec{r}_0\) ved tiden t0. Grunnen for denne generaliseringen blir en gulrot for de som leser hele innlegget:-) Grunnen for at vi ikke gir grunnen for generaliseringen helt ennå, er at vi ønsker å ha en så generell situasjon som mulig - uavhengig av hvor vi skal eller hvem vi er.

Figuren skisserer to mulige situasjoner; (i) t = 0, vi skyter opp ved samme tidspunkt, men oppskytningsplassen er et annet sted på planeten og (ii) t = t0, vi skyter opp ved et tilfeldig tidspunkt og en tilfeldig plassering. 

 

Vi skal bruke de samme algoritmene som tidligere, men med noen oppgraderinger. Vi har spesielt to algoritmer:

(i) Simulering av partikler i gassboks. Du husker kanskje Hubert? Han husker iallfall deg. For å kontrollere at denne fortsatt gir fornuftige resultater, bruker vi tre (!!!) analytiske uttrykk, (a) ett for den midlere hastigheten vgjennomsnitt til partikler i en ideell gass, (b) ett for den midlere kinetiske energien Egjennomsnitt  og (c) ett for trykket i en ideell gass.

(a) \(v_{\text{gjennomsnitt}} = 2 \sqrt{\frac{2kT}{\pi m_H}}\) der k er Boltzmanns konstant, T temperaturen til gassen og mH massen til et hydrogenatom. Vi summerer over alle hastighetene vi til partiklene i simuleringen og deler summen på antall partikler for å sjekke at gjennomsnittshastigheten stemmer overens med det analytiske uttrykket.

(b) \(E_{\text{gjennomsnitt}} = \frac{3}{2}k T \) er det analytiske uttrykket og vi tester altså \(E_{\text{alle partikler}} = \frac{1}{2}m_Hv_i^2\)  mot dette, der vi er hastigheten ved én gassbokssimulering som varer i \(\tau\)= 1 ns (nanosekund).

(c) \(P = NkT \) er ideell gasslov som sier noe om trykket P (trykk = kraft per areal) i en ideell gass med N partikler og temperatur T. Vi ganger dette opp med arealet på undersiden av en gassboks L2 og sjekker det konstante uttrykket mot den konstante kraften vi finner fra bevegelsesmengden til partiklene som rømmer boksen (var dette uklart, les deg opp igjen her). 

Alle disse formlene finner du utledet på en gjemmested i bloggen. I alle tilfeller godtar vi et lite avvik i tallverdi, men det er lite (0.00000001 - betrakt mævvern fra tolegemeproblemet i kg og legg på to nuller til etter komma). Denne algoritmen står ellers urørt, bortsett fra disse frie parametrene vi kan leke oss med; 

* Antall gassbokser 

* Sidelengde L på en gassboks

* Areal av hull

* Temperatur på hydrogengassen

* Antall tidssteg n per simulering, ev. lengden av en simulering  \(\tau\)

(ii) Simulering av rakettoppskytningen. Denne står som tidligere, men vi åpner selvsagt opp for nye valg av parametre. Følgende parametre kan endres nå:

* Initialposisjon; oppskytningsplassen \(\vec{r}_0 \), denne er definert som posisjonen til Vaksinen ved oppskytning og må ligge på radien til Dystopia. 

* Tidspunkt for oppskytning - må ikke lenger være t0 = 0

* Mengden bensin vi tar med oss; husk: mer bensin >> tyngre rakett >> mer bensinforbruk (kreves større krefter for å løfte raketten, Newtons andre lov), men husk også mindre bensin >> lettere rakett >> risiko for å gå tom for bensin underveis, dette er altså en balansekunst vi skal fremføre (burde kanskje kalle det drivstoff, men la oss være ærlige; bensin høres mye tøffere ut)

(Initialhastigheten endres også, men det bestemmes av hastigheten til Dystopia ved oppskytningstiden t0. Unnslipningshastighet (hastigheten som må nåes for å unnslippe tyngdefeltet til Dystopia) er den samme og bestemt av planetmassen og -radien.)

Det er i denne delen vi gjør de store forandringene. Det er svært hensiktsmessig å se situasjonen fra Bowies perspektiv (tenk litt på den). Vi skal nok en gang bytte koordinatsystem. Dette kan vi jo nå! Er det ikke fabelaktig dere? 

Selv om jeg stoler på deres kloke hoder, ser jeg meg nødt til å repetere situasjonen vi har. Vi behøver bare å jobbe i én dimensjon her til å begynne med, da vi skyter raketten rett opp i været og følger med referansesystemet til Dystopia (origo i sentrum av Dystopia) og gravitasjonskreftene på Vaksinen virker radielt inn mot sentrum av planeten.

Newtons andre lov \(\Sigma F = ma\) og lar m og a være henholdsvis massen og akselerasjonen til Vaksinen. Dette er allikevel ikke helt trivielt da massen avtar med bensinforbruket og vi kan ikke betrakte m som en konstant. Kreftene som virker på Vaksinen er motorkraften i positiv x-retning og gravitasjonskraften fra Dystopia i negativ x-retning. Lar nå det vi kjenner som x-aksen (det vi brukte i de tidligere innleggene) bli omdøpt til r-aksen for radiell retning. r er da avstanden til Dystopias sentrum og vi bruker ikke vektorpiler, bare fortegn, siden vi er i én dimensjon, altså langs r-aksen. Vi bruker så numerisk integrasjon, Euler-Cromer, til å bergene hastigheten og posisjonen til Vaksinen helt frem til farten har nådd unnslipningshastighet.

Skriv inn bildetekst her...Skriv inn bildetekst her...
Oppskytningsplass i Dystopiasystemet. Her er det en utydelighet i figuren: Koordinataksene x og y som er tegnet inn, gjelder bare ved oppskytningstidspunktet, etter det vil det, hvis vi lar vårt system stå stille, flytte seg siden planeten både har en egenrotasjon og en hastighet om Bowie. Dvs. aksene er der bare for å vise at oppskytningsplassen har andre koordinater enn Dystopias sentrum i Bowiesystemet.

Vi kan legge merke til at summen av krefter oppover øker med radiusen. Samtidig avtar massen til Vaksinen slik at akselerasjonen fra motoren a = Fm/mV (Fm konstant) blir større. Fra det vi vet om integraler mm. (går ikke inn på det nå) kan vi forvente en hastighetsgraf med denne fasongen vist til venstre, der den stiplede linjen er vesc.

 

NEI! Nei. Stopp!

Nei. Dette er ikke det vi skal! Klassisk tabbe er å blande referansesystemer. Her har vi ikke spesifisert hvilke initialbetingelser vi bruker. Det er hovedsaklig to måter å fikse dette på: (a) La algoritmen stå og sette inn initialbetingelser for Vaksinen i Dystopiasystemet (r0 = RDystopia, radiusen til Dystopia, og v0 = 0) for å endre referansesystem når vi har nådd unnslipningshastigheten vesc eller (b) begynne på nytt og gjøre alt i forhold til sentrum av Bowie. Alternativ (b) er hakket mer oversiktlig siden vi holder oss til ett referansesystem, men vi velger (a) hvor halve jobben allerede er gjort. Vi bruker rett og slett nøyaktig samme algoritme* som tidligere for selve oppskytningen og henter ut avstanden fra Dystopias indre r = h når farten i radiell retning vr = vesc, samt tiden det tok \(\tau\).

No har me juksa litt og fått noe simuleringshjelp av Olavoen på veien. Vi blir bedt om å gi oppskytningsposisjon og -tidspunkt i referansesystemet til Bowie for å få posisjonen og hastigheten til Vaksinen etter nådd unnslipningshastighet, dette også i referansesystemet til Bowie, samt mengden Huberter vi har satt fyr på (drivstoff oppbrukt) og tiden det tok. For å konvertere denne ene posisjonen til Bowie-koordinater, tenker vi som vist på figuren nedenfor. 

En skisse av hvordan vi finner posisjonen til Vaksinen i referansesystemet til Bowie.

Dette er helt analogt til hvordan Olavoen kjører sin algoritme (metode (b)) for alle t \(\in \tau\): han legger sammen posisjonene til Dystopia (origo i det lille systemet) og posisjonen til raketten i forhold til Dystopia [dette er i grunn sånn man generelt sett bytter referansesystemer]. Sistnevne, \(\vec{r}_0\) , skal til enhver tid ha lengden av radien til Dystopia og en vinkel  med x-aksen og kan fåes enkelt ved enkel trigonometri som vi har vært borte i før: \(x = \cos{\theta}, \quad y = \sin{\theta}\).

Til slutt ser situasjonen ut som dette:

Figuren viser hvordan vi tenker når vi bytter koordinatsystem etter launch. Vi må også ta hensyn til at Dystopia beveger seg noe i forhold til Bowie og har en rotasjonshastighet.

Her kan vi altså bruke våre egne resultater (h, v, \(\tau\)) sammen med posisjonsvektoren \(\vec{r}_0\) (oppskytningsplass ifht. Dystopias sentrum) posisjonen til Dystopia \(\vec{r}_D(t= \tau)\) ved ønsket oppskytningstidspunkt og etterfølgende tidspunkt, dvs. de tidspunktene som inngår i "launchen" (rundt 10 min) som vi fant for noen innlegg siden, til å finne posisjonen \(\vec{r}_{V\tau}\) og hastigheten \(\vec{v}_{V\tau}\) til raketten ved tyngdefeltgrensen i Bowiesystemet. Nå har vi også muligheten til å sjekke disse resultatene opp mot Olavo sine. Siden vi ikke har helt ålreite parametre å teste med ennå, gjør vi ikke det, men heller bruker den kloke Olavoen sin algoritme når vi skal bruke dette videre. Vår egen algoritme skal vi bruke for å prøve oss frem med ulike parametre (antall gassbokser etc.) for å få en mer oppnåelig mengde nødvendig drivstoff. Vi skal nå uansett se for oss at vi starter fra scratch og kaller  \(\vec{r}_{V\tau}\)  o g  \(\vec{v}_{V\tau}\)  for Vaksinens utgangsposisjon og -hastighet til det som skal skje snart (vent og se:p). Vi vil senere ha behov for å finne posisjon og hastighet som funksjon av tiden (ikke egentlig en funksjon, poenget er at de avhenger av tidspunktet) \(\vec{r}_V (t_0+\tau) = \vec{r}_{Vo} \quad \vec{v}_V (t_0+\tau) = \vec{v}_{Vo}\). Nå har vi ikke nevnt hvordan vi gjør samme transformasjon for hastigheten til Vaksinen, men det er faktisk helt analogt til det vi har gjort nå. Vi må bruke hastigheten til planeten i forhold til Bowie (rotasjonell hastighet og banehastighet) og legge denne sammen med hastigheten til Vaksinen.


Hvorfor, spør du. Vi skal jo komme oss fra én planet til en annen og det er ikke det samme som å komme seg fra Fysikkbygningen til Kristine Bonnevies hus, selv om dette heller ikke er helt trivielt. Fra Dystopia til Utopia heter bloggen vår, så dette burde vi få til. Vi skal ikke dit helt ennå, men tanken er iallfall at vi skal legge en plan for når og hvor det er lurt å launche og da behøver vi nettopp denne algoritmen. Kanskje må vi finne ut når avstanden mellom planetene er så og så liten, for da vil jo den ene passere den andre? Eller skal vi bare sende damene ut i rommet og håpe på det beste? Kanskje blir det seende sånn ut, men det vil avhenge av blant annet hastighetene til planetene:

En tenkt situasjon vi kan havne i.

Vi kommer tilbake til det når vi har alt det vi trenger for å tilrettelegge for en vellykket romferd.

Som vi husker, var ikke rakettsimuleringen en 10/10. Vi bruke jo altfor mye bensin blant annet. Vi skal etter hvert prøve oss frem med ulike parameterkombinasjoner for å optimalisere denne, men dette haster forsåvidt ikke. Tanken er som beskrevet uansett. Det skal sies at vi ikke har rukket å teste vår egen metode så mye ennå, da vi strever med nettopp disse parametrene. Det kan tenkes at noe er konseptuelt galt denne gangen også, men den tid, den sorg! 

Jeg lover, dette innlegget er slutt nå snart. Men her vi kommenter en numerisk svakhet. Vi nevnte i forbindelse med planetbanesimuleringene, at dersom vi skulle ha en spesiell posisjon ved en spesiell tid, måtte vi brukt interpolasjon. Vi skal altså trekke en linje mellom de tidsstegene som ikke er beregnet for i løpet av en halvtime (tid mellom hvert tidssteg). Da er det fort gjort at vi plasserer raketten i løse lufta. Her må vi passe oss og blir trolig nødt til å øke antall tidssteg og tålmodigheten for at det ikke skal bli helt gærent - vi fant jo ut at én rakettoppskytning tar rundt 10 minutter. Platenes bevegelser vi ikke uten videre har info om i denne tidsperioden, men vi får jo bare prøve og feile!


Vaksinen bytter ofte farge og stil da det gir mening at vi får høre om en ny vaksine omtrent hver dag.

Neste innlegg >>


* Algoritmen sier det samme, men kan være skrevet noe annerledes. 

Publisert 30. sep. 2020 18:42 - Sist endret 30. sep. 2020 21:21