Oppgave 1A.8: En forenklet kode for stjernedannelse

Like dokumenter
Oppgave 1A.8: En forenklet kode for stjernedannelse

Oppgave 1A.8: En forenklet kode for stjernedannelse

Kommentarer til eksempelinnleveringene

Prosjekt 2 - Introduksjon til Vitenskapelige Beregninger

Retteinstrukser for midtveiseksamen i AST2000 høst 2018

FYS1120: Oblig 2 Syklotron

Fysikkmotorer. Andreas Nakkerud. 9. mars Åpen Sone for Eksperimentell Informatikk

FYS1120: Oblig 2 Syklotron

MAT-INF 1100: Obligatorisk oppgave 2

Matematikk og fysikk RF3100

Matematikk og fysikk RF3100

FYS1120: Oblig 2 Syklotron

Teknostart Prosjekt. August, Gina, Jakob, Siv-Marie & Yvonne. Uke 33-34

FYS1120 Elektromagnetisme, Oppgavesett 4

Termodynamikk og statistisk fysikk Oblig 2

AST1010 En kosmisk reise. I dag 2/16/2017. Forelesning 11: Dannelsen av solsystemet. Planetene i grove trekk Kollapsteorien Litt om eksoplaneter

Prosjektoppgave i FYS-MEK 1110

UNIVERSITETET I OSLO

Løsningsforslag til avsluttende eksamen i AST1100, høsten 2013

Prosjektoppgave FYS2130. Vår Innleveringsfrist: 09/ , 20 CEST

Simulerings-eksperiment - Fysikk/Matematikk

LØSNINGSFORSLAG EKSAMEN FYS119 VÅR 2017

Pendler, differensialligninger og resonansfenomen

Newtons lover i én dimensjon (2)

UNIVERSITETET I OSLO

P (v) = 4π( M W 2πRT ) 3 2 v 2 e Mv 2 2RT

TFY4104 Fysikk. Institutt for fysikk, NTNU. Høsten Obligatorisk numerikkøving. Innleveringsfrist: Søndag 13. november kl

AST1010 En kosmisk reise. Forelesning 7: Dannelsen av solsystemet

Konstanter og formelsamling finner du bakerst Merk: Figurene til oppgavene er ofte på en annen side en selve oppgaven

OBLIG 1 GEF Dråpevekst i skyer

FYS-MEK 1110 Løsningsforslag Eksamen Vår 2014

Newtons lover i én dimensjon (2)

UNIVERSITETET I OSLO

Newtons lover i én dimensjon (2)

Løsning, gruppeoppgave om corioliskraft og karusell, oppgave 7 uke 15 i FYS-MEK/F 1110 våren 2005

Løsningsforslag til ukeoppgave 4

Søkeproblemet. Gitt en datastruktur med n elementer: Finnes et bestemt element (eller en bestemt verdi) x lagret i datastrukturen eller ikke?

Løsningsforslag til øving 4: Coulombs lov. Elektrisk felt. Magnetfelt.

TDT4105 IT Grunnkurs Høst 2014

Stivt legemers dynamikk

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Fysikk 3FY AA6227. (ny læreplan) Elever og privatister. 28. mai 1999

Løsningsforslag Eksamen i Fys-mek1110 våren 2010

Løsningsforslag til øving 10

UNIVERSITETET I OSLO

Stivt legemers dynamikk

Datastrukturer for rask søking

AST1010 En kosmisk reise. Forelesning 12: Dannelsen av solsystemet

EKSAMENSOPPGAVE I FYS-1002

AST1010 En kosmisk reise. De viktigste punktene i dag: Mekanikk 1/19/2017. Forelesning 3: Mekanikk og termodynamikk

Fysikkolympiaden Norsk finale 2018 Løsningsforslag

En blomsterpotte faller fra en veranda 10 meter over bakken. Vi ser bort fra luftmotstand. , der a g og v 0 0 m/s.

MAT-INF 1100: Obligatorisk oppgave 1

Kollokvium 4 Grunnlaget for Schrödingerligningen

Kapittel 4. Algebra. Mål for kapittel 4: Kompetansemål. Mål for opplæringen er at eleven skal kunne

FYSIKK-OLYMPIADEN

UNIVERSITETET I OSLO

Matematikk og fysikk RF3100

Obligatorisk oppgave i fysikk våren 2002

Eksamen i FYS Oppgavesettet, inklusiv ark med formler, er på 7 sider, inkludert forside. FAKULTET FOR NATURVITENSKAP OG TEKNOLOGI

Løsningsforslag Eksamen i Fys-mek1110 våren 2008

Brownske bevegelser. Nicolai Kristen Solheim

TFY4106 Fysikk Eksamen 17. august V=V = 3 r=r ) V = 3V r=r ' 0:15 cm 3. = m=v 5 = 7:86 g=cm 3

AST1010 En kosmisk reise. Forelesning 12: Dannelsen av solsystemet

Løysingsforslag for oppgåvene veke 17.

FYSMEK1110 Eksamensverksted 31. Mai 2017 (basert på eksamen 2004, 2013, 2014, 2015,)

UNIVERSITETET I OSLO

ECON2130 Kommentarer til oblig

TFY4104 Fysikk Eksamen 17. august V=V = 3 r=r ) V = 3V r=r ' 0:15 cm 3. = m=v 5 = 7:86 g=cm 3

Løsningsforslag Obligatorisk oppgave 1 i FO340E

TMA4100 Matematikk 1, 4. august 2014 Side 1 av 12. x 2 3x +2. x 2

Hvor stor er den kinetiske energien til molekylene i forrige oppgave?

FYS2140 Hjemmeeksamen Vår Ditt kandidatnummer

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

EKSAMENSOPPGAVE I FYS-1001

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

TMA4240 Statistikk Høst 2015

side 1 av 8 Fysikk 3FY (Alf Dypbukt) Rune, Jon Vegard, Øystein, Erlend, Marthe, Hallvard, Anne Berit, Lisbeth

AST1010 En kosmisk reise. Forelesning 4: Fysikken i astrofysikk, del 1

a) Hva var satellittens gjennomsnittlige fart? Gi svaret i m/s. Begrunn svaret.

AST1010 En kosmisk reise. Forelesning 5: Fysikken i astrofysikk, del 2

Soloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle

UNIVERSITETET I OSLO

AST1010 En kosmisk reise. Innhold 28/02/16. Forelesning 12: Dannelsen av solsystemet

UNIVERSITETET I OSLO. Introduksjon. Det matematisk-naturvitenskapelige fakultet 1.1

Elektrisk potensial/potensiell energi

NTNU Fakultet for lærer- og tolkeutdanning

ØVING 13. Oppgave 1 a) Løs oppgave 1a i Øving 2 gjengitt nedenfor ved å bruke kompleks representasjon.

Obligatorisk oppgave nr 3 FYS Lars Kristian Henriksen UiO

EKSAMEN I FY1005 og TFY4165 TERMISK FYSIKK: LØSNINGSFORSLAG

Steg 1: Hvordan styre figurer med piltastene

Regneøving 9. (Veiledning: Fredag 18. mars kl og mandag 21. mars kl )

Pong. Oversikt over prosjektet. Steg 1: En sprettende ball. Plan. Sjekkliste. Introduksjon

Landskonferansen om fysikkundervisning, Gol, Hva er fysikk? Fysikk som fag og forskningsfelt i det 21. århundre. Gaute T.

Løsningsforslag til øving 3

Newtons lover i én dimensjon (2)

MAT-INF 1100: Obligatorisk oppgave 1

Øving 3. Oppgave 1 (oppvarming med noen enkle oppgaver fra tidligere midtsemesterprøver)

Realstart og Teknostart ROTASJONSFYSIKK. PROSJEKTOPPGAVE for BFY, MLREAL og MTFYMA

Transkript:

Oppgave 1A.8: En forenklet kode for stjernedannelse D. Vader Institute of Theoretical Astrophysics, University of Oslo, P.O. Box 1029 Blindern, 0315 Oslo, Galactic Empire dvader@astro.uio.galemp Sammendrag Vi skriver en kode som beregner r og v til partiklene ved å bruke Euler- Cromer. Fra disse så oppdaterer vi r og v i tidssteg på t = 10 5 år. Ved å lage løkker over alle partiklene så kan vi summe opp avstand fra sentrum og finne midlere avstand r fra sentrum. I den samme løkken så finner vi midlere kinetisk energi til partiklene som vi setter lik det analytiske uttrykket 3/2kT for å beregne temperaturen. 1. Introduksjon Vi skal skrive en kode der vi oppdaterer r og v i tidssteg t = 10 5 år. I hvert tidssteg så må vi beregne r og v fra gravitasjonskrafta F g. Vi indekserer alle partiklene med et skallnummer fra 0 til 99 og beregner avstanden til partiklene fra sentrum. Vi summer så over alle partiklene i skallet under for å finne M som inngår i uttrykket for F g. I hvert av de 7 10 4 tidsstegene, så skal vi beregne midlere r over alle partikler samt midlere kinetisk energi og lage en graf over r og T som funksjon av tiden. Til slutt lager vi histogrammer av alle v i for å se om disse enda følger Maxwell-Boltzmann. 2. Metode Vi begynner med å lese inn dataene i arrayer. Vi lager en array r med dimensjon (N,3) med posisjonene og en array v også med dimensjon (N,3) med de innleste hastighetene. Deretter lager vi en array shell med dimensjon N som inneholder skallnummer fra 0 til 99 for hver partikkel. Denne finner vi ved å først finne avstanden til hver partikkel fra sentrum: avst=sqrt{r(:,0)**2+r(:,1)**2+r(:,2)**2}

2 og deretter dele avstanden med tykkelsen til hvert skall. Ved å ta heltall av dette så får vi ut skallnummeret. Vi lager så en annen array npart_shell med dimensjon 100 som gir oss antall partikler i et gitt skall. Vi lager da en løkke over alle partikler og legger til 1 i det skallet som partikkelen tilhører. Vi lager nå en funksjon rad som beregner den midlere avstand til sentrum. Merk at vi ikke skal telle med partikler som har kommet langt vekk. Dette løser vi ved å sortere arrayen avst: sort_avst=np.sort(avst) Vi tar da midlet over de 80% første elementene i denne sorterte arrayen. Vi lager så en annen funksjon temp som beregner temperaturen. Inne i løkken over partikler så summer vi opp E+ = 0.5*m*v[i]**2 Til slutt finner vi temperatur: T=E/(3/2*k) Når vi har disse funksjonene klare så begynner vi løkka over tidssteg. Inne i løkka over tidssteg så har vi løkke over partiklene. For hvert tidssteg og hver partikkel så skal vi beregne r og v som vi trenger til Euler-Cromer. Vi beregner først v. Da bruker vi uttrykket for kraften F i = G M(r i)m r i Der m er massen til partikkelen som er gitt ved M tot /N og M(r i ) er totalmassen på innsiden av avstanden r i fra sentrum. Her summer vi nå opp all partiklene i arrayen npart_shell for alle skall som er på innsiden av shell(i). Hvis vi kombinerer dette med Newtons 2.lov F i = ma i der akselrasjon jo er a i = d v dt så finner jeg v ved å skrive dv=-g*mr[i]*m/avst[i]**3*r[i,:]*dt r 3

3 Vi ma også få med friksjonsleddet som gir bidrag til v: dv+=-k*rho*sqrt(v[i,0]**2+v[i,1]**2+v[i,2]**2)*v[i,:] der vi beregner rho=nshell[shell[i]]/n. Til slutt oppdaterer vi v v[i,:]=v[i,:]+dv Vi kan videre finne r ved å bruke at v = d r dt som gir drv*dt=. Merk at siden vi kjører Euler-Cromer, så må vi bruke den nye oppdaterte hastigheten. Dermed finner vi ny r ved r[i,:]=r[i,:]+dr Merk at vi inne i løkka over tidssteg kaller funksjonene rad og temp og lagrer verdiene vi får ut. 3. Resultater Ved å bruke funksjonen temp før det første tidssteget så finner vi T = 20K. Deretter bruker vi np.histogram for å plotte histogrammet til v i i x, y og z-retning som vist i figur 1. Vi plotter Maxwell-Boltzmann sigma=sqrt(k*t/m) p[vx]=(sqrt(2*pi)*sigma)**(-1)*exp(-0.5*vx**2/sigma**2) over histogrammet i hver av dimensjonene (koden her viser for v x ). Denne stemmer godt overens med histogrammet. For å gjøre beregningene raskere, så velger vi å kjøre simuleringen med kun 50 partikler. Vi kjører så simuleringen i 70.000 tidssteg. I figur 2 ser vi hvordan midlere radius og temperatur (beregnet med funksjonene rad og temp) varierer med tiden og til slutt stabiliserer seg på en radius 0.1 10 10 m. Vi finner at slutt-temperaturen er 541.000K som er for lavt til at fusjonsreaksjoner kan sette igang.

4 Fig. 1. Histogram av hastighetskomponentene i x, y og z-retning Fig. 2. Temperatur og radius til skya som funksjon av tida Fig. 3. Histogram av hastighetskomponentene i x, y og z-retning.

5 I figur 3 så viser vi histogrammet til hastighetsfordelingene til partiklene etter simuleringen samt et plott av Maxwell-Boltzmann-fordelingen for temperaturen som partiklene har i siste tidssteg. Igjen så er stemmer denne godt overens med histogrammet. Radien stabiliserer seg etter 0.35 år. Vi ser at verdien til radien er nœr tykkelsen på det innerste skallet, noe som gjør at radien ikke kan bli mindre. Til slutt kjører vi koden på nytt uten friksjonsledd. Da blir v alltid akselrasjon uten bremsing og partiklene stopper dermed ikke opp i sentrum. 4. Diskusjon Lengden på tidssteget i Eulermetoden er det viktig å undersøke om er lite nok, da for store steg kan gi gale resultater. Er tidssteget for stort så vil bevegelsene vœre veldig unøyaktige. Vi kjører derfor simuleringen på nytt med 1/10 så store tidssteg, og 10 ganger så mange tidssteg totalt. Resultatene var svœrt konsistente, noe som bekrefter at tidssteget vårt var lite nok. Antall skall som vi deler skya opp i vil også kunne påvirke resultatet. Jo flere skall, jo mer nøyaktig bør resultatene bli (da tykkelsen på skallet blir mindre). Vi doblet antall skall og fant at resultatene endret seg betydelig. Vi konkluderer at koden bør kjøres med tynnere skall for å få mer eksakte resultater. 5. Konklusjon Vi simulerer bevegelsen til partikler ved å oppdatere r og v fra uttrykk for gravitasjonsog friksjonskraft. Tidsstegne våre på 10 5 år viser seg å vœre små nok til å gi nøyaktige resultater, men oppdelingen av skya i 100 skall er for grov og bør forbedres. Takk til R. Rutherford, W. Pauli, L. de Broglie og G. Marconi for nyttige diskusjoner under arbeidet med denne artikkelen. Takker også A. Turing og N. H. Abel for gode tips til programmeringen. REFERENCES Hansen, F. K., 2017, Forelesningsnotat 1A i kurset AST2000

6 This preprint was prepared with the AAS L A TEX macros v5.0.