Simulering av rakettmotoren

Har du noen gang lurt p? hvordan en rakett faktisk letter fra bakken og skytes ut i verdensrommet? Hva er det egentlig som skal til for ? f? til dette? Jo, det skal vi finne ut av. Vi befinner oss i et mystisk solssytem, og skal reise fra hjemplaneten v?r til en av naboplanetene i solsystemet v?rt. For ? gj?re dette, m? vi f?rst simulere oppskytingen. Derfor skal vi f?rst ta et lite dykk i den fascinerende verdenen av statistisk fysikk og rakettvitenskap.

Romfergen Discovery letter fra NASAs Kennedy Space Center i 1984. 
Bilde tatt av John A. Chakeres, National Geographic

Selv om vi har veldig lyst til ? utforske det mystiske solsystemet vi befinner oss i s? fort som mulig, s? m? vi tenke n?ye gjennom hvordan vi faktisk skal f? til ? skyte opp raketten. Derfor skal vi simulere rakettoppskytingen f?rst, slik at vi ikke g?r p? en smell. Vi kan ikke bare stole p? at teorien v?r stemmer; vi m? teste den f?rst ved hjelp av modelleringer og simuleringer. Da er det en del konsepter vi m? innom for ? forst? hvordan vi kan utf?re denne rakettoppskytingen.

F?rst m? vi snakke litt om hvordan vi kan bruke vitenskap til ? f? raketten v?r til ? lette fra bakken. Her kommer statistikk inn i bildet, som spiller en kritisk rolle i byggingen av en rakettmotor. En av de viktigste fordelingene i statistikken er normalfordelingen, eller Gaussisk fordeling som den ogs? kalles, den er essensiell n?r man skal bygge en rakettmotor.  Dette er fordi vi kan modellere gasspartiklenes bevegelser og oppf?rsler ved hjelp av en normalfordeling, og det er akkurat dette vi trenger for ? kunne lage en rakett. Vi m? se p? hvordan partiklene i gassen inne i raketten beveger seg for ? videre hvordan de skytes ut av raketten for ? skape en skyvekraft oppover.

For ? bli litt mer kjent med den Gaussiske fordelingen og hva den egentlig betyr, s? skal vi se p? et eksempel fra arbeidslivet:

Vi ringer inn til et kundeservicesenter. Hvorfor? Kanskje vi trenger teknisk support eller har sp?rsm?l ang?ende en bestilling eller en retur. Uansett grunn, s? ?nsker vi ? f? best mulig hjelp fra kundeservicerepresentanten som tar v?r telefon. Og dette vet lederne ved kundeservicesenteret. Det er nettopp derfor de har f?rt en normalfordeling over varigheten av telefonsamtalene som ringes inn. Dette liker vi fordi det er med p? ? optimalisere v?r samtale. La oss se litt n?rmere p? hvorfor.

Vi antar at en telefonsamtale varer i gjennomsnittlig 5 minutter. I tillegg antar vi at standardavviket ligger p? rundt 1 minutt. Standardavviket forteller hvor mye dataene vi ser p? varierer fra gjennomsnittsverdien, alts? hvor stor “spreding” dataene har.

Sannsynlighetstettheten (alts? funksjonen) for en normalfordeling er:

\(f(x) = \frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{1}{2}(\frac{X-\mu}{\sigma})^2}\)

Denne viser hvor tett sannsynligheten er konsentrert rundt ulike verdier i datasettet. For varigheten av telefonsamtalene kan vi da innsette gjennomsnittet, 5min, og standardavviket, 1min, inn i formelen ovenfor.

Bildet kan inneholde: rektangel, skr?ning, tomt, triangel, parallell.
Figur 1: En normalfordeling som viser varigheten av en telefonsamtale i minutter.

 

Vi f?r da:

\(P(t) = \frac{1}{1\sqrt{2\pi}}e^-\frac{(t-5)^2}{2\cdot1^2}\)

Her representerer  \(\text t\) tiden p? en telefonsamtale.

 

 

Vi kan se p? grafen ovenfor at normalfordelingen er symmetrisk rundt gjennomsnittet x = 5 minutter. Denne symmetrien rundt et gjennomsnitt gjelder generelt for alle normalfordelinger. Bredden p? grafen avhenger av standardavviket. Grafen viser alts? at det er flest telefonsamtaler som varer i 5 minutter, og sjeldnere at de varer mindre enn dette. Denne normalfordelingen vil gj?re slik at sjefen p? kundeservicesenteret kan forst? variasjonen i ulike samtaler og f? vite hvor lang en gjennomsnittlig samtale er. Med denne informasjonen kan sjefen s?rge for at det er nok ansatte p? jobb. Slik at n?r vi ringer inn, s? er den ansatte som tar telefonen happy for ? snakke, og ikke deprimert og lei.

 

S?, tilbake til rakettmotorer:

Figur 2: En illustrasjon av hvordan raketten ser ut. Vi har en tank med drivstoff og et forbrenningskammer hvor drivstoffet brennes og det produseres \(H_2\)-gass. Vi har h?y temperatur for ? gi molekylene stor fart, og bevegelsesmengden som slipper ut vil skyve raketten oppover.

Vi vil at raketten v?r skal kunne klare ? overvinne tyngdekraften og skytes ut i verdensrommet. M?ten vi f?r til dette p? er ? la gasspartiklene f? h?y energi, slik at de beveger seg veldig fort og kolliderer i elastiske st?t med veggene for ? skape trykk. For enkelhets skyld s? ser vi bort fra at de kolliderer med hverandre, slik at de kun kolliderer med veggene i raketten. Dette h?ye trykket skyver partiklene ut av boksen, slik at raketten dyttes oppover. P? grunn av bevaring av bevegelsesmengde, og at raketten mister masse siden partiklene skytes ut av raketten, s? vil dette resultere i en akselerasjon oppover. Denne akselerasjonen kan vi finne p? grunn av Newtons tredje lov, som sier at kraft er lik motkraft. Vi antar at temperaturen og tettheten i motoren er konstant, som resulterer i at bevegelsesmengden og dermed kraften er konstant.

For ? kunne simulere gasspartiklene s? m? vi ha noe informasjon om dem, og da er nettopp hastigheten deres viktig. Det er her statistikk og normalfordelingen kommer inn, men f?rst m? vi gj?re noen antagelser.

Vi er store fans av det enkle, og gj?r derfor en rekke antagelser for simulasjonen for ? gj?re det enklest mulig for oss selv, slik at vi kan fokusere p? fysikken bak det hele.  Som vi har nevnt, s? kolliderer partiklene bare med veggene i boksen, og st?tene er perfekt elastiske (som betyr at de ikke taper noe kinetisk energi), og at vi ser bort fra gravitasjonskraften som virker p? partiklene. Derfor bestemmer vi at beholderen der drivstoffet i raketten er, er kubeformet hvor hver side har lengde \(\text L\). Deretter slenger vi 100 \(\text H_2\)-partikler inn i boksen og lar de kollidere og skape trykk. Vi antar ogs? at temperaturen er den samme i hele boksen

 

Bildet kan inneholde: rektangel, skr?ning, triangel, parallell, font.
Figur 3: En illustrasjon som viser gasskammeret hvor molekylene kolliderer. Alle veggene i boksen har areal \(\text A = \text L^2\).

La oss n? bestemme startposisjonene og starthastighetene til partiklene. Posisjonene plukker vi tilfeldig ut fra en normalfordeling, og hastighetene plukker vi tilfeldig ut fra en Maxwell-Boltzmann-fordeling.

Vent, her kom det inn noe nytt; en Maxwell-Boltzmann-fordeling. La oss se litt n?rmere p? den.

Vi velger ? bruke en Maxwell-Boltzmann-fordeling p? grunn av termodynamikken i systemet. F?r vi forklarer denne fordelingen, s? er det nyttig ? vite hva den ideelle gassloven sier. F?rst og fremst: En ideell gass er en “perfekt gass” hvor vi antar at partiklene beveger seg tilfeldig, uten ? p?virke hverandre med krefter, bortsett fra n?r de kolliderer med hverandre i elastiske st?t. Vi i ser p? hver partikkel som en punktpartikkel.

Ideell gasslov sier at: 
\(P=nkT\)

hvor \(\text P\) er trykket i gassen, \(\text n\) er stoffmengden i mol, som tilsvarer \(\frac {\text {antall partikler}}{\text {volum}}\) , og \(\text k\) er boltzmann-konstanten. Den ideelle gassloven sier alts? at forholdet mellom trykk, temperatur og volum er konstant. 

Maxwell-Boltzmann-fordelingen beskriver sannsynligheten for at en gasspartikkel har en gitt hastighet ved temperatur T. Den beskriver derfor hvordan hastighetene i en ideell gass er fordelt. I Maxwell-Boltzmann fordelingen vil flest partikler ha samme fart som den mest sannsynlige verdien, og noen f? vil bevege seg saktere eller raskere enn dette. Slik ser fordelingen ut matematisk:


\(P(v)dv=(\frac{m}{2\pi kT})^{3/2}e^{-\frac{1}{2}\frac{mv^2}{kT}}4\pi v^2dv\)

Her st?r \(\text m\) for partikkelens masse. Bokstaven \(\text k\) st?r for Boltzmanns konstant, som er en konstant som knytter energi til temperatur, og \(\text k = 1,380649 \cdot 10^{-23} \text {J/K}\) .

Bildet kan inneholde: skr?ning, rektangel, tomt, parallell, font.
Figur 4: Maxwell-Boltzmann fordelingen for hydrogengass som viser hvor mange prosent av molekylene som har en viss hastighet ved en temperatur T = 6000 K (heltrukket linje) og T = 375 K (stiplet linje).
Kilde: Forelesningsnotat 1A

 

Om det er noe fysikere og matematikere elsker, s? er det antakelser for ? forenkle fysikken og matematikken som ligger bak. Vi kommer til ? gj?re flere antakelser videre som kanskje ikke er helt realistiske, men de vil gj?re det enklere for oss ? simulere rakettmotoren. Og vi er jo fysikere, s? hvorfor ikke.

F?rst skal vi anta at vi har en ideell gass i gassbeholderen v?r. Vi bruker \(\text H_2\)-gass, som er tiln?rmet en ideell gass ved h?y temperatur, fordi da har hydrogenmolekylene h?y nok kinetisk energi til at intermolekul?re krefter kan neglesjeres. Dermed kan vi fokusere fullt p? hastighetene til partiklene uten ? bekymre oss for at denne vil endres av at de kolliderer med hverandre. Partiklene vil kontinuerlig kollidere med veggene, mer og mer trykk skapes. For ? finne det totale trykket, m? vi se p? endringen i bevegelsesmengde som resultat av kollisjoner med veggene. Trykk defineres som kraft per arealenhet:

\(P = \frac{F}{A}\)

Her st?r \(P\) for trykk, \(F\) er kraften og \(A\) er arealet.

La oss se p? bevegelsesmengden i to dimensjoner:

En partikkel har bevegelsesmengden \(p_x\) Den kolliderer med veggen, men bevegelsesmengden er bevart siden alle kollisjonene er elastiske. Det betyr at det er kun retningen til bevegelsesmengden som endres etter kollisjonen. Bevegelsesmengden i y-retning er den samme, men i x-retning har den byttet fortegn til \(-p_x\) Dette resultatet gjelder like godt i tre dimensjoner, som er det vi har inne i gasskammeret v?rt.  

 

Flott, n? er vi et steg n?rmere! Selv om teorien kan v?re litt tung ? ford?ye n?, s? vil det bli mye lettere etterhvert om vi setter oss skikkelig inn i hvorfor vi gj?r akkurat det vi gj?r.

Vi er interessert i kraften som oppst?r i kollisjonene, siden det er denne som skaper trykket. For ? finne det totale trykket, s? m? vi finne den totale kraften fra alle kollisjonene. Vi har fra Newtons 2.lov at:

\(F=\frac{\Delta{p}}{\Delta{t}}\)

Bildet kan inneholde: skr?ning, font, sirkel, m?nster, rektangel.
Figur 5: En tegning som viser hvordan bevegelsesmengden i x-retning endrer fortegn, mens y-retning er bevart i et elastisk st?t i gasskammeret. Husk at \(\vec p = m\vec v\).

Og at 

\(\Delta{p_x}=p_{xetter}-p_{xf?r}=-p_x-p_x=-2p_x\)

Kraften én partikkel skaper er derfor:

\(F_x=\frac{1}{A}\cdot{\frac{\Delta p_x}{\Delta t}}=\frac{1}{A}\cdot\frac{2p_x}{\Delta t}\)

Men vi vil finne den samlede kraften fra alle partiklene som kolliderer. Vi har symmetri i boksen; vi har alts? ikke en foretrukket retning. Det betyr at \(\left|v_x\right| \approx \left|v_y\right|\approx \left|v_z\right|\).

Vi har at:

\(v^2=v_x^2+v_y^2+v_z^2\)

Derfor blir \(v \approx \sqrt{3}\cdot v_x\implies v_x\approx \frac{v}{\sqrt{3}}\) 

Dette betyr da ogs? at \(p_x\approx\frac{p}{\sqrt{3}}\) ,(hvor vi har ganget med massen for ? f? bevegelsesmengde).

I bunnen av kuben plasserer vi et kvadratisk hull med areal \(0,25\text L^2\). Her kan vi se hvor mange partikler som g?r ut basert p? hvor mye bevegelsesmengde som g?r tapt. Disse st?rrelsene bruker vi til ? regne ut drivstofforbruket til raketten, og om vi s? ser p? tapet av drivet per tidsenhet s? kan vi beregne skyvekraften, og da kan vi beregne akselerasjonen raketten f?r. 

For ? gj?re en komplisert situasjon litt enklere, s? lager vi bare én liten rakettmotor, og ser p? den totale rakettmotoren som en superposisjon av mange sm? motorer. I praksis s? vil dette si ? gange gasskammeret vi har snakket om til n? med hvor mange motorer den totale motoren best?r av, og dermed ? gange skyvekraften vi regner ut med antall motorer. Dette gj?r simulasjonen enklere b?de for oss og pc’en, siden antallet partikler som trengs er alt for stort for ? kunne simuleres p? en vanlig pc.

Bildet kan inneholde: triangel, rektangel, font, skr?ning, parallell.
Figur 6: En forenklet modell av en rakett. Her illustreres at vi deler opp den totale motoren slik at den er en superposisjon av flere sm? motorer.
Kilde: Foreleningsnotat 1A

Dersom en partikkel havner der hvor vi har plassert hullet, antar vi at denne partikkelen faller ut av hullet. Derfor m? vi dele opp tidsintervallet vi ser p? i mange sm? tidssteg, og sjekke for alle partiklene om de har falt ut av hullet. Vi har jo antatt at partiklene beveger seg veldig fort og har konstant hastighet inni boksen. Over tid er det trygt ? anta at alle partiklene vil falle ut gjennom hullet. Vi vil at antall partikler i gasskammeret skal v?re konstant, slik at vi f?r en konstant skyvekraft \(\text F\). Derfor m? vi fylle p? med nye partikler for hver partikkel som faller ut.

Partiklene som faller ut vil gi en bevegelsesmengde i forskjellige retninger, men det er kun den vertikale retningen so vil bidra til en akselerasjon oppover, siden alle retninger er tilfeldige s? vil bevegelsesmengde i alle andre retninger enn vertikalen kanselleres (tenk godt over dette).


 

Vanligvis ligger det en tank hvor drivstoffet kommer inn og forbrennes (en forbrenningstank med andre ord) over motoren som fyller p? med partikler. Men for ? gj?re dette enklere for oss selv, s? teller vi hver partikkel som faller ut av hullet, og gir de samme partiklene en ny random posisjon og hastighet plukket fra fordelingene vi har nevnt tidligere. Vi gir partikkelen en vilk?rlig posisjon fra normalfordelingen, og en tilfeldig hastighet fra Maxwell-Boltzmann-fordelingen. Dette er rimelig ? gj?re, siden vi antar at alle posisjoner og hastigheter er tilfeldige, og det er lettere i praksis enn at de skal komme inn fra toppen av boksen.

N? som vi har forst?tt fysikken bak hvordan vi kan anta at gasspartiklene beveger seg og hvordan trykket i gasskammeret oppst?r, s? m? vi se p? hvordan vi faktisk skal simulere bevegelsen til partiklene p? pc’en v?r, siden det er posisjonene og hastighetene som gir opphav til kollisjonene som er drivkraften bak det hele. Vi m? derfor introdusere et nytt konsept; Eulers Metode. 

Det er ikke like skummelt som det h?res ut. La oss forklare det p? en enkel m?te: 

Fra Fysikk 1 s? husker du nok at vi har bevegelsesligninger som gjelder for konstant akselerasjon. En av de mest brukte er nok: 

\((1)\) \(v = v_0 + at\)

Denne ligningen har du nok brukt en del allerede. De er sentrale i kinematikken, som betyr den delen av fysikken som ser p? bevegelse hvor det ikke virker noen eksterne krefter. Formel \((1) \) hjelper oss ? finne sluttfarten til et objekt dersom vi vet akselerasjonen. Eulers metode er en numerisk tiln?rmingsmetode som brukes til ? l?se differensialligninger. Vi bruker denne metoden til ? l?se bevegelsesligninger numerisk n?r det ikke g?r an ? l?se dem analytisk. Den grunnleggende ideen bak metoden er at vi bruker det vi vet om hastigheten og posisjonen til partikkelen til ? forutse hvordan den beveger seg i sm? tidsintervaller \(\text d\text t\).  La oss hoppe inn i Eulers ligninger: 

\(v_{n+1} = v_n + adt\)

\(x_{n+1} = x_n + v_ndt\)

\(t_{n+1} = t_n + dt\)

Den f?rste her ser vi at er den samme som formel \((1)\). Den andre ligningen oppdaterer posisjonen til partikkelen ved ? bruke n?v?rende hastighet. I den siste ligningen s? oppdaterer vi bare tiden ved ? legge til et lite tidsintervall \(\text d\text t\). Her kunne vi brukt en versjon av Eulers metode som heter Euler-Cromers metode (dette er akkurat det samme, bare at man i ligningen som oppdaterer posisjonen bruker \(v_{n+1}\) istedet for \(v_n\)). Denne metoden vil bevare energien i st?rre grad, men vi har valgt ? holde oss til Eulers metode for enkelhetsskyld. 

Nice, n? har vi f?tt sett p? gasspartiklene i motoren. Hva mer m? vi se p?? 

N?r vi skal simulere en rakettmotor er det grovt sett tre steg som burde f?lges:

  1. simulere gasspartiklene i gasskammeret som gir raketten bevegelsesmengde oppover
  2. teste prestasjonen til rakettmotoren; drivstofforbruk, drivstoff per sekund og skyvekraft.
  3. simulere hele reisen; hvor mye drivstoff som brukes og hvor lang tid det tar ? komme seg ut i verdensrommet

Vi har alts? klart ? simulere steg 1). Vi vet hvordan partiklene i gassen beveger seg, og dermed hvor mye bevegelsesmengde som gir oss en akselerasjon. Da er vi klar til ? bruke raketten v?r til interplanetary travel! Nei, vent. Vi vet jo ikke hvor mye drivstoff vi bruker?

Vi m? videre til steg 2):

Vi vil simulere hvor mye drivstoff vi bruker for en gitt hastighetsboost \(\Delta v\), for ? vite hvor mye drivstoff vi m? ta med oss p? reisen og om raketten v?r fungerer optimalt. Videre skal vi se vekk fra tiden det tar akselerasjonen som brukes for ? akselerere raketten oppover. Dette er rimelig ? gj?re da sammenlignet med den totale reisetiden mellom to planeter er denne mye lengre enn tiden for akselerasjonen. 

SpaceX Falcon 9 som letter fra Vandenberg Air Force Base i California 22.mai 2018.
?????Bilde tatt av NASA/Bill Ingalls, National Geographic

For ? kunne regne ut drivstofforbruket for turen vil vi f? bruk for skyvekraften som skapes av partiklene som str?mmer ut, hvor mye drivstoff som brennes per sekund, den initiale massen til raketten (det betyr massen til raketten + massen til drivstoffet) og hastighetsboosten \(\Delta v\)

Drivstoff som brukes per sekund kan vi regne ut ved ? ta:

\(\frac{n\cdot m_{\text {partikkel}}}{t}\)

hvor \(n\) er totalt antall partikler som unnslipper, for ? f? forbruket i \(\frac{\text {kg}}{\text {s}}\)

Skyvekraften finner vi det ? bruke formelen for trykk og at kraften er gitt ved endringen i bevegelsesmengde per tid, som stammer fra Newtons 2. lov. Vi f?r at:

\(F_{\text {skyvekraft}} = \frac{\Delta p}{\Delta t}\)

Deretter kan vi beregne mengden drivstoff vi trenger for en gitt hastighets?kning, \(\Delta v\). La oss gj?re noen flere antagelser:

Vi ser bort fra luftmotstand i v?re beregninger. Som nevnt s? ser vi p? motoren som en superposisjon av mange sm? motorer. Antall motorer som er realistisk, er noe usikker, s? vi gj?r en fornuftig gjetning forel?pig og endre heller antallet senere. N?r vi skal simulere drivstofforbruket, s? antar vi at skyvekraften vi regnet ut tidligere er konstant gjennom hele simuleringen, og at drivstoff som brennes per sekund er konstant. For ? finne det totale drivstofforbruket i en tidsramme, s? bruker vi igjen Eulers metode. Vi vil alts? iterere (det vil si regne ut verdiene i hvert lille tidssteg) frem til vi har n?dd hastighets?kningen vi ville oppn?. S? lenge farten til raketten er mindre enn den ?nskede hastighetsboosten \(\Delta v\) (som er slutthatsigheten, siden startfarten er 0), s? bruker vi Eulers ligninger til ? regne ut den nye farten i et tidspunkt \(t + dt\) og drivstofforbruket i dette tidsrommet. Akselerasjonen til raketten finner vi fra Newtons 2. lov, og den avhenger av massen; \(a = \frac{F_{\text{skyvekraft}}}{m}\) . Vi finner drivstoffet som brukes i hvert tidssteg ved ? regne ut

\(\text{drivstoff forbrukt} = \text{drivstoff per sekund} \cdot dt\)

Vi finner det totale drivstoffet som forbrukes under hele tiden det tar ? oppn? den ?nskede hastigheten, ved ? regne ut disse st?rrelsene for hvert tidssteg \(\text{dt}\) og legge sammen forbruket i hvert tidssteg. Her er det viktig ? sjekke om vi har nok drivstoff til ? oppn? \(\Delta v\) ved ? passe p? at den totale massen til raketten og drivstoffet ikke blir mindre enn massen av bare raketten (vi kan ikke ha mindre masse enn massen til selve raketten). Dette drivstofforbruket ganger vi med antall motorer vi har i raketten v?r, for ? f? samlet forbruk. 

For n? har vi sett vekk ifra tiden det tar ? akselerere og effekter fra gravitasjonen. Disse forenklingene har gjort det enklere for oss ? beregne drivstofforbruket. Men senere skal vi beregne hvor mye drivstoff vi trenger for den totale reisen v?r, og da vil vi inkludere akselerasjon og gravitasjon.

Da har vi ogs? gjennomf?rt steg 2). Da kan vi bevege oss litt videre. Er dere klare for ? endelig kj?re simulasjonen av rakettoppskytningen?

Det er iallefall vi :) Kom ? bli med oss:

Simulering av rakettoppskytning.




 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Publisert 7. sep. 2024 18:31 - Sist endret 20. sep. 2024 12:13