del-1_proto
Problemstilling
Rakettmotoren, hvordan g?r raketten oppover?
Den viktigeste (og kuleste) delen av en rakett m? jo v?re motoren, s? vi begynner med dette. Det finnes mange m?ter ? lage en rakettmotor p?, men hovedprinsippet er det samme, nemlig det ? skyte gass bakover, slik at raketten dyttes fremover. Dette er bare naturloven dere kaller bevaring av bevegelsesmengde. Den sier at dersom summen av ytre krefter p? systemet er lik null, vil den totale bevegelsesmengden v?re den samme f?r og etter et st?t eller en gasspartikkel har forlatt motoren.
Det at partikkelen forlater rakettmotoren kan anses som at systemet deles i to, og da vil bevegelsesmengden deles i to (ulike deler). Dette er tilsvarende til at to gjenstander sitter fast i hverandre etter et st?t, slik at bevegelsesmengden deres blir felles. Her skjer denne prosessen derimot baklengs. Et eksempel p? to gjenstander som sitter fast i hverandre etter et st?t er en bit med leire som man skyter en kule fra en pistol inn i. De vil etter dette v?re henge sammen og bevege seg som ett objekt, og dermed kan vi anse bevegelsesmengden som felles. P? tilsvarende (men baklengs) vis, vil partiklene g? fra ? v?re en del av raketten, til at de er separate fra raketten. Siden summen av ytre krefter er null (vi neglisjerer tyngdekraften) vil bevegelsesmengden v?re bevart.
F?r en gasspartikkel forlater motoren, er den enda en del av systemet (raketten), og bevegelsesmengden dens er da en del av rakettens bevegelsesmengde \(\vec{P}_0\). N?r den forlater motoren har den en bevegelsesmengde \(\vec{p}\), mens raketten f?r bevegelsesmengden \(\vec{P}\). Siden \(\vec{p}_{f?r} = \vec{p}_{etter}\) m? \(\vec{P}_0 = \vec{P} + \vec{p}\), s? den nye bevegelsesmengden til raketten blir \(\vec{P} = \vec{P}_0 - \vec{p}\). Videre vet vi at den vertikale komponenten til farten til partikkelen og til raketten peker i motsatt retning av hverandre, slik at \(-\vec{p}\) sin vertikale komponent peker i samme retning som raketten sin, og dermed ?ker den vertikale bevegelsesmengden til raketten, og dermed farten. Med andre ord er \(p_z < 0\) og \(P_z > 0\), slik at \(P_z = P_{z0} + |p_z|\), og bevegelsesmengden ?ker.
Men hvordan skytes gassen bakover?
Fra det vi har sett gj?res dette vanligvis ved ? pumpe brennbar gass inn i en boks, for s? ? sette fyr p? den. Og siden varm gass ekspanderer blir den dyttet ut av et lite hull kalt en dyse. Men hvordan skal vi simulere dette? Etter ? ha sett litt mer p? denne "Google" fant vi ut at man ogs? kan forklare termisk ekspansjon ved at gasspartiklene f?r h?yere energi, og dermed h?yere fart. Vi trenger ikke ta hensyn til kjemien i at det brenner, men kan beskrive gassen som masse partikler som spretter rundt inni boksen, helt til de fyker ut gjennom dysa. Vi skal bruke H2-gass, som ved relativt lavt trykk og h?ye temperaturer kan tiln?rmes som en s?kalt ideell gass. I ideelle gasser virker det ikke krefter mellom partiklene, bortsett fra under kollisjoner. Men vi antar i tillegg at de ikke kolliderer, siden vi kun er opptatt av hvor ofte de g?r ut av dysa. Vi skal derfor la partiklene i simuleringen v?re uendelig sm? og bare kunne kollidere med veggene i boksen. Vi skal ogs? anta at st?tet mellom partiklene og veggene er elastiske. Det vil si at den totale kinetiske energien er lik f?r og etter st?tet. Men siden veggene ikke beveger seg, har de ikke noen kinetisk energi, slik at partikkelen sin kinetiske energi m? bevares. Alts? vil farten til partikkelen v?re like stor f?r og etter st?tet med veggen. For ? f? til dette skal vi snu fartskomponenten som er samme retning som veggen. F.eks. vil \(v_x\), fartskomponenten til en partikkel i \(x\)-retning, bytte fortegn hvis vi treffer en av veggene i \(x\)-retning, alts? en av veggene som st?r normalt p? \(x\)-aksen. Men hvorfor snur vi akkurat denne fartskomponenten? N?r partikkelen st?ter med veggen virker det en normalkraft p? partikkelen fra veggen (se Bilde 1). Denne kraften, og dermed akselerasjonen som snur partikkelen, er jo normal p? veggen. Siden fartsendringen (akselerasjonen) st?r normalt p? veggen, vil bare farten i denne retningen endres. For s? ? passe p? at partikkelens fart er like stor f?r og etter st?tet, m? vi da snu denne fartskomponenten.
_page-0001.jpg)
Litt sannsynlighet
Men hvilken fart har egentlig partiklene? En av lovene som gjelder for ideelle gasser er den s?kalte Maxwell-Boltzmann fordelingen. Dette er en sannsynlighetsfordeling, som betyr at sier noe om hvor sannsynlig det er for partiklene i gassen ? ha visse farter. Siden det er snakk om sannsynlighet betyr det at hvilken fart hver partikkel har kan anses som tilfeldig. De enkleste eksemplene p? tilfeldiggeter dere mennesker bruker, der dere knytter en sannsynlighet til de mulige tilfellene er "kron eller mynt" og "terningkast". I disse er det henholdsvis \(50\%\) og \(1/6\) sjanse for hvert utfall. Men i motsetning til disse eksemplene ikke alle farter like sannsynlige i gassen. Dere har kanskje ogs? h?rt om vektet terning (weighted die), som har ekstra vekt ved en av sidene, slik at f.eks. det ? f? 6-er blir mer sannsynlig enn de andre utfallene. P? litt tilsvarende vis er noen farter mye mer sannsynlige enn de andre. For ? v?re spesifikk "trekker" vi hver fartskomponent (\(v_x, v_y\) og \(v_z\)) fra denne sannsynlighetsfordelingen. Den er slik at gjennomsnittet av f.eks. alle \(v_x\)-ene blir (tiln?rmet lik) \(0\) m/s. I tillegg er liten fart mye mer sannsynlig enn stor fart. Den spesifikke typen sannsynlighetsfordelingen som Maxwell-Boltzmann fordelingen er kalles Gauss-fordelingen eller normalfordelingen, og den brukes blant annet til ? fordele IQ-test resultater. Denne fordelingen er symmetrisk, som vil si at positive og negative fartskomponenter er like sannsynlige. For IQ-skalaen, der gjennomsnittet er 100 IQ, vil IQ-er over og under 100 v?re like sannsynlige. Fordelingen er alts? symmetrisk om gjennomsnittet.
Hva Maxwell-Boltzmann fordelingen har ? si for farten til partiklene
Men hvilke tall inng?r i Maxwell-Boltzmann fordelingen? De tre fysiske st?rrelsene som inng?r i fordelingen er Boltzmanns konstant, temperaturen til gassen og massen til partiklene. Boltzmanns konstant er jo en konstant, s? denne varierer ikke. Da er det alts? temperaturen og massen til partiklene som p?virker farten. At farten avhenger av temperaturen kan man se ut ifra formelen for den gjennomsnittlige kinetiske energien til partiklene i en ideell gass. Denne formelen er \(\langle E \rangle = 3/2kT\), der \(\langle E \rangle\) er den gjennomsnittlige kinetiske energien, \(k\) er Boltzmanns konstant og \(T\) er temperaturen til gassen i kelvin (K). Siden den kinetiske energien avhenger av farten, ser vi da at farten avhenger av temperaturen. I tillegg inng?r massen til partiklene i formelen for den kinetiske energien. Flytter vi massen til andre siden av ligningen (formelen) ser vi at den farten n? avhenger av b?de temperaturen og massen til partiklene. ? forklare at Maxwell-Boltzmann fordelingen avhenger av temperaturen og partikkelmassen, ved ? bruke formelen for den gjennomsnittlige kinetiske energien er egentlig baklengs. Denne formelen er nemlig utledet fra Maxwell-Boltzmann fordelingen. Men det er en god m?te ? sjekke at det er realistisk. Vi kan ogs? se fra formelen over at den gjennomsnittlige banefarten til partiklene ikke vil v?re \(0\) m/s. S? selv om gjennomsnittet av fartskomponentene vil v?re \(0\) m/s (som nevnt over), vil ikke den gjennomsnittlige banefarten v?re det samme.
Som nevnt er Maxwell-Boltzmann fordelingen en normalfordeling, og hver normalfordeling kjennetegnes av to verdier, middelverdien og standardavviket. Middelverdien er et annet ord for gjennomsnitt og for den komponentvise Maxwell-Boltzmann fordelingen er denne 0 m/s. Standardavviket er et tall som sier noe om hvor langt unna dette gjennomsnittet fartene typisk er. Denne er \(\sigma = \sqrt{kT/m}\) der k er Boltzmanns konstant, T er temperaturen p? gassen og m er massen til partiklene. Store temperaturer gir en stor \(\sigma\), og dermed kan fartene v?re langt unna gjennomsnittet 0 m/s, alts? store farter. N?r man skal bruke normalfordelingen i programmering er dette de eneste st?rrelsene man trenger.
Hvordan regner vi p? bevegelsen til partiklene?
Med denne teorien og alle antagelsene vi har gjort, er vi n? klare til ? simulere motoren. Det er n? blitt veldig greit ? regne ut hvor lang tid det tar en partikkel ? treffe en vegg. Vi dekomponerer hastighet- og posisjonsvektoren, og regner ut hvor lang tid det ville tatt hvis partikkelen kun hadde hatt hastighet lik komponenten. Hvis vi s? velger ut den korteste av disse tidene, burde jo det v?re den veggen partikkelen kommer til f?rst, som vil v?re den den st?ter med. Men n?r vi pr?vde dette fikk vi negative tider!
Vi tenkte oss om litt og skj?nte til slutt at dette ga mening, det ? regne ut tiden det tar til et st?t er den samme formelen som den for ? regne ut tiden siden et st?t, det eneste som varierer er fortegnene p? tiden. Si vi tar x-retningen som eksempel, og at fartskomponenten i x-retning \(v_x>0\) m/s. Tiden det da tar ? kollidere med veggen i posisjonen \(x=\frac{1}{2}L\) (den "positive" x-veggen), der \(L\) er sidelengden til kammeret, er gitt ved: \(t_+=\frac{\frac{1}{2}L-x}{v_x}\) hvor x er x-komponenten til posisjonen til partikkelen. Merk at denne blir positiv (siden \(v_x\) er positiv og \(x < \frac{1}{2}L\)), og tolkningen er da, som sagt, at dette er tiden til partikkelen vil treffe denne veggen. Hvis vi n? sammenligner dette med tiden \(t_- = \frac{-\frac{1}{2}L-x}{v_x}\), blir denne negativ og kan da tolkes som tiden siden partikkelen kolliderte med veggen i \(x=-\frac{1}{2}L\) . N?r vi regner ut disse tidene for de ulike veggene, vil tre av dem v?re tiden det tar partikkelen ? kollidere ulike vegger, og tre av dem, tiden siden den kolliderte med de motsatte veggene. Vi kan velge ? kun se p? de veggene som er i omtrent samme retning som farta, men det viser seg ? v?re lettere ? bare velge ut den minste positive tidene (se Bilde 2).

Men hvordan hjelper dette oss? Jo, vi har n? funnet tiden til neste st?t, og hvis vi ganger dette med farten f?r vi posisjonsendringen (husk: posisjonsendring = fart \(\cdot\) tid). N?r tiden fra forrige st?tet til neste st?t har g?tt, kan vi da sende partikkelen til den riktige posisjonen, som ligger p? veggen den kommer til ? st?te med. Vi kan deretter simulere st?tet ved ? snu den relevante fartskomponenten, og s? regne ut tiden til neste st?t igjen. Hvis vi gj?r dette mange ganger for alle partiklene kan vi simulere bevegelsen deres.
Vi har n? en tett boks med partikler som spretter rundt, s? det eneste som gjenst?r er ? sl? hull p? boksen slik at vi f?r fremdrift. Dette simulerte vi ganske enkelt ved ? velge ut et stykke av den ene veggen p? boksen, og sjekke n?r partikler treffer der, og n?r de gj?r det, legger vi til partikkelens bevegelsesmengde til rakettens bevegelsesmengde. Med dette kan vi ogs? telle hvor mange partikler vi mister, og bruke det til ? finne ut hvor mye brennstoff vi bruker. Dermed har vi en rakettmotor!
Metode
For ? simulere motoren, skal vi som nevnt bruke Maxwell-Boltzman fordelingen til ? gi partiklene farten deres. Posisjonen skal vi finne med en s?kalt uniform fordeling, der alle posisjonene er like sannsynlige. Vi antar da at partiklene er jevnt fordelt, som vil v?re sant p? makroniv?, s? dette er en god antagelse p? stor skala (som tusner av partikler er). N?r vi bruker disse fordelingene til ? finne fart og posisjon, vil det si at vi bruker kommandoer i programmet v?rt som er laget for ? gi tall som stemmer med sannsynlighetene i disse fordelingene. For ? simulere et kammer finner vi da f?rst startposisjons og -fart til alle partiklene, og bruker dette til ? finn tiden til f?rste st?t for hver partikkel som beskrevet over. Denne tiden lagrer vi som globaltiden for neste st?t. Videre g?r vi et lite tidssteg frem og sjekker hvilke partikler som skal st?te i dette tidssteget, alts? hvilke av tidene for neste st?t som er mindre enn globaltiden. De partiklene dette gjelder utf?rer vi st?tet p?.
Partiklenes vegg-st?t
Dette gj?res ved ? gange farten deres med tiden mellom det forrige og dette st?tet. Siden vi har lagret partiklenes posisjon ved forrige st?t, vil det ? gange farten deres, med tiden mellom st?tene sende dem til posisjonen for neste st?t. Dette kommer av at strekning = fart \(\cdot\) tid. (under "Avrundingsfeil" diskuterer vi en liten modifikasjon p? denne prosessen). N?r vi n? har funnet de nye posisjonene (alts? posisjonene i st?tet), kan vi sjekke om disse posisjonene svarer til ? treffe dysa. Hvis de gj?r det, vil partikkelen forlate dysa. I hvert tidssteg legger vi sammen all bevegelsesmengden (som en vektor) til alle partiklene som treffer dysa. Vi teller ogs? antallet partikler som treffer dysa. Disse tallene kan vi bruke til ? oppdatere raketten bevegelsesmengde og masse, noe vi kommer tilbake til. N? som vi har funnet bevegelsesmengden til de partiklene som treffer dysa kan vi snu fartskomponenten som st?r normalt p? st?tveggen. Dette kunne vi ikke gj?re f?r vi fant bevegelsesmengden, siden n?r fartsretningen endres, vil bevegelsesmengde (sin retning) ogs? endres. Da ville ikke bevegelsesmengden til de partiklene som treffer dysa peke nedover, og det gir ikke mening siden partikler som forlater kammeret gjennom dysa har en fart nedover. For ? snu de riktige fartskomponentene ganger vi disse med \(-1\) (men ikke de andre fartskomponentene). Etter ? ha snudd farten, kan vi finne tiden til neste st?t for de partiklene som nettopp st?tet, med algoritmen beskrevet over.
Partiklene forlater motoren
N? som vi har partikler som treffer dysa lurer du kanskje p? om det bare vil bli f?rre og f?rre partikler i kammeret. N?r partikler forlater kammeret vil jo dette skje. Som nevnt har vi antatt at partiklene er jevnt fordelt p? makroniv?. For ? oppn? dette skal vi holde temperaturen p? gassen konstant og antall partikler i kammeret konstant. ? holde temperaturen konstant betyr at vi ikke trenger ? endre p? farten til partiklene. Dette kommer av at farten avhenger av temperaturen. For at den jevne fordelingen av gasspartiklene skal vare, m? vi holde antallet partikler konstant, hvis ikke vil tettheten i gassen synke. I virkeligheten m? man alts? s?rge for ? ha en m?te ? pumpe mer gass inn i kammeret p?. I simuleringen v?r velger vi heller ? gj?re enda en forenkling. Istedenfor ? pumpe mer gass inn, lar vi partiklene som treffer dysa forbli i kammeret og fortsette ? bevege seg der, men teller det som at en partikkel har forlatt motoren. Med andre ord lager vi p? en m?te to versjoner av partiklene som treffer dysa (se Bilde 3). Den ene versjonen forlater motoren, og bidrar da til fremdriften av raketten, mens den andre versjonen forblir inni kammeret slik at antallet partikler forblir konstant. Det at antallet partikler i kammeret forblir konstant, ?pner for en effektivisering av simuleringen, som vi kommer tilbake til.

Merk: Slike imagin?rpartikler har ingenting med fysikken ? gj?re, men er heller en enkel m?te ? simulere motorkammeret p?.
Vi trenger kun ? simulere ett motorkammer!!!
Forel?pig har vi kun snakket om simuleringen av ett kammer, men rakettmotoren vil jo best? av mange kamre. I statistikken er det en regel som kalles sentralgrenseteoremet. Denne sier, veldig forenklet, at n?r vi f.eks. har flere kamre som hver har mange partikler i seg, vil kamrene oppf?re seg sv?rt likt. Ett av kravene for dette er at partiklene m? ha posisjoner og farter fra samme sannsynlighetsfordeling, noe de har. For ? v?re mer spesifikk sier regelen at n?r antall partikler blir stort, s? vil avviket mellom kamrene minke. Alts?, jo flere partikler i hvert kammer, desto mindre forskjell vil det (sannsynligvis) bli mellom kamrene. Dersom kamrene er like store (og med samme temperatur) vil hvor mange partikler som forlater kammeret, og hvor mye bevegelsesmengde disse partiklene har, v?re sv?rt likt for alle kamrene. Vi kan dermed simulere ett kammer, og anta at alle de andre kamrene oppf?rer seg likt. Vi kan da ta antall partikler som treffer dysa og bevegelsesmengden deres, for ett kammer, og gange dette med antall kamre vi ?nsker. Vi kan da finne antallet partikler som forlater motoren totalt i et gitt tidssteg, ved ? gange antallet som forlater den ene kammeret vi simulerer, med antall kamre. N?r vi vet hvor mange partikler som forlater motoren totalt, kan vi bruke dette til ? regne ut den nye massen til raketten og mengden drivstoff vi har igjen. Vi finner den nye massen til raketten ved subtrahere den totale massen til alle partiklene som forlater motoren fra rakettens masse. Det samme gjelder drivstoffet. Bevegelsesmengden til raketten i hvert tidssteg finner vi ved ? legge \(-\vec{p}\) ganget med antall kamre, til rakettens bevegelsesmengde, der \(\vec{p}\) er den totale bevegelsesmengden fra partiklene som treffer dysa i det ene kammeret vi simulerer.
For ? forst? sentralgrenseteoremet kan du se for deg at du kaster flere terninger (hver for seg) mange ganger. Her tilsvarer en terning ett kammer, og antall kast av denne terningen tilsvarer antall partikler i kammeret. Kaster vi hver terning en gang vil vi trolig f? flere forskjellige resultater. En terning f?r kanskje ett ?ye, en annen seks, og en tredje fire ?yne. Vi ser at disse terningen ikke oppf?rer seg likt. Kaster du hver terning mange ganger, f.eks. 10 000 ganger, vil hver av dem f? omtrent \(1/6\) seksere, og omtrent \(1/6\) av hvert av de andre tallene. Vi ser dermed at n?r vi f?r mange kast, vil terningene totalt oppf?re seg sv?rt likt. Og siden antall kast svarte til antall partikler, vil kamrene oppf?re seg sv?rt likt n?r de har mange partikler i seg. Med andre ord, hvis du kaster en terning ti tusen ganger, vil du f? ca. 1666 seksere hver gang, det er bare ? pr?ve :-).
Men vil ikke tyngdekraften virke mot fremgangen av raketten?
Jo, det vil den, og vi m? dermed ha med et bidraget fra den, i beregningen av rakettens bevegelsesmengde. Tyngdekraften fra pl. er \(m\vec{g}\) der \(m\) er rakettens masse og \(\vec{g}\) er tyngdeakselerasjonen for en gitt h?yde. Denne tyngdeakselerasjonen vil alts? variere alt ettersom hvor h?yt oppe man er, og avhenger ogs? av pl. sin masse. Legg ogs? merke til at den er en vektor. Dette kommer av at tyngdekraften er en vektor, og denne skal peke nedover. Da m? \(\vec{g}\) ogs? peke nedover. Vi kommer tilbake til hvordan man beregner denne. Men hva er bidraget fra tyngdekraften p? bevegelsesmengden til raketten? Siden dette er en kraft, og vi jobber med et tidssteg \(\Delta t\), vil det totale bidraget over dette tidssteget v?re \(m\vec{g} \Delta t\). Dette kan vi forklare ut fra loven om impuls. Denne sier at endringen i bevegelsesmengde fra en (kostant) kraft, er kraften ganget med tiden kraften virker over. Over et lite tidssteg vil tyngdekraften v?re tiln?rmet konstant, s? vi kan bruke denne loven. Vi f?r dermed at endringen i bevegelsesmengde er \(-\vec{p}\) ganget med antall kamre pluss \(m\vec{g} \Delta t\).
Tyngdeakselerasjon
Tyngdeakselerasjonen kan man finne ved hjelp av Newtons gravitasjonslov \(g=\frac{G m_p}{r^2}\) hvor \(g\) er tyngdeakselerasjonen G er newtons gravitasjonskonstant, \(m_p\) er massen til planeten, \(r\) er avstanden fra sentrum av planeten til raketten. Men hvilken retning peker tyngdeakselerasjonen? Intuitivt er det jo ?penbart at den peker nedover, som p? planet?r skala vil si inn mot planetens sentrum, alts? i motsatt retning av \(\vec{r}\), men hvordan skriver vi dette med matte? Vi vil alts? ha retningen til \(\vec{r}\)uten at det p?virker st?rrelsen til tyngdeakselerasjonen, vi vil ha en s?kalt enhetsvektor, gitt av \(\hat{r}=\frac{\vec{r}}{|r|}\). Vi kan dermed skrive: \(\vec{a} = \frac{-G m_p}{r^2}\hat{r} = \frac{-G m_p}{r^3}\vec{r}\)
Bevegelsen til raketten
N? som vi har bevegelsesmengden til raketten i det gitte tidssteget, kan vi bruke dette til ? finne farten til raketten. Farten er jo bare bevegelsesmengden delt p? massen til raketten. N?r vi finner farten kan vi finne posisjonsendringen til raketten i det gjeldende tidssteget. Denne endringen er nemlig bare fart \(\cdot\) tid, der tiden er tidssteget \(\Delta t\). ? legge denne posisjonsendringen til den gamle posisjonen er en integrasjonsmetode man ofte kaller Eulers metode. Det at vi kaller det en integrasjonsmetode, vil si at bruker farten (som er den deriverte av posisjonen) til ? legge til sm? endringer til posisjonen. Dette er alts? ? integrere numerisk.
Effektivisering av simuleringen
De datamaskinene vi har funnet p? pl. er sv?rt gamle og fungerer ikke like bra som de gjorde for ?rhundrer siden. N? er de mer p? linje med de dere har p? jorda. Da oppst?r det et problem. Det krever sv?rt mye ? simulere ett rakettkammer. Kamrene er sv?rt sm?, og har mange partikler i seg. Vi har brukt en sidelengde \(L = 10^{-6}\) m. For ? simulere kammeret n?yaktig trenger vi da et tidssteg \(\Delta t\) p? rundt \(10^{-12}\) s (vi kommer tilbake til dette). Det vil si at for ? g? ett sekund frem i tid m? vi gj?re en billion iterasjoner, og n?r en oppskytning tar flere minutter, vil det ta alt for lang tid ? simulere motoren gjennom hele oppskytningen. For ? fikse dette skal vi simulere motoren over en kort tidsperiode, og regne ut gjennomsnittet av antall partikler som forlater kammeret og bevegelsesmengden deres, per tidssteg \(\Delta t\). Dermed trenger vi kun ? simulere det ene kammeret v?rt over en kort tidsperiode. Etter det kan vi bruke gjennomsnittene vi regnet ut for partiklene som forlater kammeret til ? finne den videre bevegelsen til raketten. Dette kalles ? ekstrapolere: Vi bruker data vi har om en tidsperiode til ? forutsi hvordan utviklingen vil fortsette. Denne ekstrapoleringen er ikke bare ett gjett, men et valg basert p? omstendighetene i kammeret. Som nevnt skal temperaturen og antall partikler i kammeret v?re konstant gjennom oppskytningen, slik at det er rimelig at kammeret oppf?rer seg likt gjennom hele oppskytningen. Vi kan ogs? argumentere for dette valget med sentralgrenseteoremet. Dersom vi har flere tidsperioder av et kammer med mange partikler, vil kammeret oppf?re seg sv?rt likt i disse tidsperiodene. Her, som da vi tidligere brukte denne regelen, er det viktig at kammeret har samme omstendigheter (temperatur og antall partikler) og at kammeret har samme sannsynlighetsfordeling. Siden dette er oppfylt, er argumentet gyldig.
Rakettens bevegelsesmengde og masse i ekstrapolasjonen
La \(\langle \vec{p} \rangle\) v?re gjennomsnittet av den totale bevegelsesmengden til partiklene som forlater det ene kammeret vi simulerer per tidssteg \(\Delta t\). N?r vi har funnet dette gjennomsnittet, trenger vi ikke lenger et like lite tidssteg, siden vi ikke simulerer partikler som skal sprette rundt i en ekstremt liten boks. Vi introduserer derfor \(\Delta t_{extrap}\) som er tidssteget vi skal bruke til ekstrapoleringen, der indeksen \(extrap\) st?r for ekstrapolasjon. Med dette nye tidssteget omgj?re gjennomsnittet til et gjennomsnitt for \(\Delta t_{extrap}\) ved \(\langle \vec{p} \rangle_{extrap} = \langle \vec{p} \rangle \Delta t_{extrap} / \Delta t\). Dette kommer av at \(\Delta t_{extrap} / \Delta t\) er hvor mange ganger lengre \(\Delta t_{extrap}\) er enn \(\Delta t\).
Da vil endringen av bevegelsesmengden til raketten i et tidssteg \(\Delta t_{extrap}\) v?re \(-\langle \vec{p} \rangle_{extrap}\) ganget med antall kamre pluss \(m\vec{g} \Delta t_{extrap}\). La \(\langle n \rangle\) v?re gjennomsnittet av antall partikler som forlater det ene kammeret vi simulerer per tidssteg \(\Delta t\). I ekstrapolasjonen vil gjennomsnittet vi bruker for tidssteget \(\Delta t_{extrap}\) v?re \(\langle n \rangle_{extrap} = \langle n \rangle \Delta t_{extrap} / \Delta t\). For ? oppdatere massen og mengden drivstoff trekker vi fra \(\langle n \rangle_{extrap}\) ganget med med partikkelmassen og antall kamre.
Avrundingsfeil
N?r man programmerer kan det oppst? noe som kalles avrundingsfeil. Litt forenklet, kommer disse at datamaskinen begrenser hvor mange desimaler den kan lagre for et tall. N?r vi f.eks. regner ut tiden til neste st?t kan det egentlige tallet f? flere desimaler enn datamaskinen lagrer. N?r vi da ganger farten med denne tiden (som ikke er helt n?yaktig), kan partikkelen havne utenfor kammeret, dersom tiden ble rundt opp av datamaskinen. For ? unng? at partiklene havner utenfor kammeret setter vi f.eks. \(x = 1/2L\) dersom partikkelen treffer den positive veggen i x-retning eller \(x = -1/2L\) for den negative veggen. Dette svarer til at partiklene er akkurat p? veggen. Dersom \(x\) er litt st?rre enn \(1/2L\) vil partikkelen v?re utenfor veggen, og da kan algoritmen v?r feile. Dersom partikkelen er litt utenfor veggen vil beregningene som finner tiden til neste st?t, finne tiden til partikkelen treffer samme vegg som forrige gang. Dette kommer av at i st?tet snur vi fartskomponenten som f?r st?tet pekte mot denne veggen. Siden partikkelen er p? utsiden av denne veggen vil farten n? peke mot veggen og algoritmen v?r vil finne at neste st?t skjer med den samme veggen igjen. N?r dette neste st?tet skjer vil partikkelens fart igjen snu, og farten peker n? vekk fra kammeret og partikkelen vil "r?mme" lengre og lengre vekk fra kammeret. For ? unng? dette setter vi, som nevnt, posisjonskomponenten i retningen av veggen til \(\pm 1/2L\). De andre fartskomponentene finner vi fortsatt ved ? gange farten med tiden mellom st?tene, og legge til p? den gamle posisjonen. I tillegg til ? kontrollere posisjonen til partiklene p? denne m?ten har vi ogs? lagt inn en annen mekanisme for ? unng? avrundingsfeil. Dette p?virker partikler, som til tross for strategien nevnt over, allikevel havner utenfor veggen. For disse partiklene (om det i det hele tatt er noen) passer vi p? at n?r tiden til neste vegg-st?t regnes ut, s? kan ikke den veggen som nettopp ble st?tet mot velges igjen. Dette er alts? enda et sikkerhetstiltak for ? sikre at partiklene oppf?rer seg som de skal.
Oppskytning
N? som vi har en motor kan vi n? g? i gang med ? simulere oppskytninga, s? vi slenger motoren inn i raketten og tenner p?. Men vi m? n? finjustere motoren slik at vi faktisk klarer ? ta av, uten at vi bruker opp alt brennstoffet v?rt. Dette inneb?rer ? justere st?rrelsen p? kamrene og dysene, antall partikler i hvert kammer, antall kamre, temperatur p? gassen og mengde drivstoff (gass). Vi har riktignok noen begrensninger p? disse for ? holde modellen realistisk, det er jo begrenset hvor varmt H2 brenner. Vi har valgt ? holde oss til 3000K. Det ville jo v?rt en d?rlig simulering om vi satt temperaturen urimelig h?yt, selv om vi hadde f?tt til ? ta av. For det er ikke bare ? ?ke alle parameterne til man tar av. Hvis man har for mange partikler eller kammer, vil man brenne gjennom drivstoff altfor fort. Og man kan ikke bare ?ke mengden drivstoff for ? kompensere, for da ?ker jo massen til raketten, som igjen gj?r det vanskeligere ? ta av. Det er ogs? viktig ? passe p? at man har noe drivstoff igjen, n?r man kommer ut i rommet, slik at man kan navigere videre ut i verdensrommet.
Og antall kammer er begrenset av st?rrelsen p? raketten, som har areal p? 16 \(m^2\) , og selv om boksene har sidelengder p? \(10^{-6}\)m, tar de fortsatt plass, og vi kan ikke gj?re raketten uendelig stor. Det skal sies at vi kan stable kamre opp? hverandre, siden raketter ikke har kamre p? samme m?te. S? vi har noen grenser for parameterne, men utover dette er det bare ? pr?ve og feile, helt til du har funnet en god balanse mellom parameterne. Her er det rett og slett bare ? pr?ve seg frem til man finner den kombinasjonen av parametere som f?rer til en vellykket oppskytning.

For ? gj?re simuleringen av kamre og oppskytningen har vi brukt noen tall og st?rrelser.
St?rrelse | Symbol | Verdi | Enhet |
---|---|---|---|
Boltzmanns konstant | \(k\) | \(1.380649\cdot 10^{-23}\) | J/K |
H2 partikkelmasse | \(m_{H2}\) | \(3.348\cdot 10^{-27}\) | kg |
Ut i rommet
N?r vi n? har klart ? simulere liftoff, og vi er n? snart klare til ? reise videre, men vi m? f?rst finne ut hvor vi er. Vi har jo posisjonen og farten relativt til utskytningspunktet. Men utskytningspunktet beveger seg jo, akselererer til og med, det vil jo f?lge planeten. Og det er jo mulig ? jobbe med dette, men det hadde jo v?rt mye mer oversiktlig om vi kunne hatt posisjon og bevegelse relativt til stjernen v?r. Da f?r vi mye ryddigere uttrykk for de andre planetenes bane, og siden stjerna er s? stor, og langt unna andre ting, kan vi se bort ifra akselerasjonen til referansesystemet dens.
Derfor er det bare ? konvertere til riktige enheter, og sumere vektorene. Hittil har vi brukt SI-enheter, s? meter og sekunder og kilo, men siden st?rrelsene i astronomi er s? store f?r man tall som er for store til ? lett kunne jobbe med. Vi konverterer derfor til astronomiske enheter. Vi bruker astronomiske enheter for lengde, betegnet AU, dette er lik avstanden mellom jorden deres og stjernen deres, for tid bruker vi ?r betegnet yr, spesifikt jord?r. Masse m?ler vi i solmasser, som er lik massen til solen deres. Og vi m?ler fart i astronomiske enheter i ?ret.

N?r raketten tar av setter vi origo \(\vec{o}\) til utskytningspunktet, men ettersom planeten roterer flytter utskytningspunktet seg, men vi holder origo stille. Dermed blir \(\vec{r}_p\) avstanden fra origo i referansesystemet til planeten til raketten, og \(\vec{v}_p\) er farten til raketten relativt til origo.

?

Stemmer tallene?



Histogram over andelen partikler som har gitte hastigheter. H?yden p? stolpene tilsvarer hvor stor andel av partiklene som faller innenfor bredden av stolpen. Vi har ogs? plottet Maxwell-Boltzmanns fordeling, som er den teoretiske fordelingen av hastighetene til partiklene.