starting to take shape
This commit is contained in:
BIN
assets/image.png
Normal file
BIN
assets/image.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 755 KiB |
BIN
assets/lightcone.png
Normal file
BIN
assets/lightcone.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 768 KiB |
BIN
assets/signals.png
Normal file
BIN
assets/signals.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 198 KiB |
@@ -1,6 +1,4 @@
|
||||
#import "importer/main.typ": *
|
||||
#import "@preview/physica:0.9.5": *
|
||||
|
||||
#import "globals.typ": *
|
||||
|
||||
|
||||
== Validation <backup_validation>
|
||||
|
116
beorn.typ
Normal file
116
beorn.typ
Normal file
@@ -0,0 +1,116 @@
|
||||
#import "globals.typ": *
|
||||
|
||||
= #beorn
|
||||
|
||||
|
||||
== Procedure
|
||||
|
||||
#let notebook = json("../workdir/11_visualization/simplified_visualization_of_procedure.ipynb")
|
||||
|
||||
#grid(
|
||||
columns: (auto, 5em, auto, 5em, auto),
|
||||
rows: (60%, auto),
|
||||
align: center,
|
||||
row-gutter: 2em,
|
||||
image_cell(notebook, cell_id: "step_profile_1d"),
|
||||
[#pin(1)$==>$#pin(2)],
|
||||
image_cell(notebook, cell_id: "step_kernel_3d"),
|
||||
[#pin(3)$==>$#pin(4)],
|
||||
image_cell(notebook, cell_id: "step_profile_3d"),
|
||||
|
||||
[
|
||||
1-d profile
|
||||
],
|
||||
[],
|
||||
[
|
||||
3-d kernel
|
||||
|
||||
(localized)
|
||||
],
|
||||
[],
|
||||
[
|
||||
3-d contribution on a grid
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
#pause
|
||||
#pinit-point-to(
|
||||
(1, 2),
|
||||
pin-dx: 20pt,
|
||||
pin-dy: -20pt,
|
||||
body-dx: -70pt,
|
||||
body-dy: -80pt,
|
||||
offset-dx: 20pt,
|
||||
offset-dy: 30pt,
|
||||
)[spherical symmetry]
|
||||
|
||||
|
||||
#pause
|
||||
#pinit-point-to(
|
||||
(3, 4),
|
||||
pin-dx: 20pt,
|
||||
pin-dy: -20pt,
|
||||
body-dx: -90pt,
|
||||
body-dy: -80pt,
|
||||
offset-dx: 20pt,
|
||||
offset-dy: 30pt,
|
||||
)[convolution (fft)]
|
||||
|
||||
|
||||
#pagebreak()
|
||||
|
||||
|
||||
#grid(
|
||||
columns: (auto, 8em, auto),
|
||||
rows: (38%, 1em, 38%),
|
||||
align: center,
|
||||
column-gutter: 2em,
|
||||
row-gutter: 0.3em,
|
||||
|
||||
image_cell(notebook, cell_id: "step_profile_3d"),
|
||||
grid.cell(
|
||||
rowspan: 3,
|
||||
image_cell(notebook, cell_id: "step_profile_3d_overlap"),
|
||||
),
|
||||
[],
|
||||
// [],
|
||||
// [],
|
||||
|
||||
[#h(3em) Multiple contributions $==>$],
|
||||
[
|
||||
$==>$ _Postprocessing_
|
||||
|
||||
(overlaps, normalization, ...)
|
||||
],
|
||||
// [],
|
||||
// [],
|
||||
|
||||
image_cell(notebook, cell_id: "step_profile_3d_second"),
|
||||
[],
|
||||
// [],
|
||||
// [],
|
||||
)
|
||||
#pagebreak()
|
||||
|
||||
== Postprocessing
|
||||
- ionization overlaps
|
||||
- corrections due to RSD
|
||||
- computation of derived quantities
|
||||
- summary statistics
|
||||
|
||||
|
||||
== Maps
|
||||
Through the redshifting of photons, the brightness temperature across redshift slices will be measured in a frequency band
|
||||
|
||||
$=>$ representation as a lightcone
|
||||
#align(center)[
|
||||
#image("assets/lightcone.png")
|
||||
]
|
||||
from @Schaeffer_2023
|
||||
|
||||
== Signal
|
||||
#align(center)[
|
||||
#image("assets/signals.png")
|
||||
]
|
||||
from @Schaeffer_2023
|
15
conclusion.typ
Normal file
15
conclusion.typ
Normal file
@@ -0,0 +1,15 @@
|
||||
#import "globals.typ": *
|
||||
|
||||
= Conclusion
|
||||
== Summary
|
||||
- We presented Beorn, a new code to simulate the 21cm signal from the EoR and Cosmic Dawn.
|
||||
- Beorn is based on the halo model and uses a novel approach to compute the 21cm signal from 1D profiles around individual sources.
|
||||
- Beorn is fast, flexible, and easy to use.
|
||||
- We validated Beorn against numerical simulations and showed that it can reproduce their results with good accuracy.
|
||||
- Beorn is publicly available and can be used for a variety of applications, including forecasting, parameter estimation, and data analysis.
|
||||
|
||||
== Upcoming improvements
|
||||
- investigation + parameterization of stochasticity
|
||||
- application to larger volumes
|
||||
- fully parallel runs
|
||||
|
12
globals.typ
Normal file
12
globals.typ
Normal file
@@ -0,0 +1,12 @@
|
||||
#import "importer/main.typ": *
|
||||
#import "@preview/physica:0.9.5": *
|
||||
#import "@preview/touying:0.6.1": *
|
||||
#import "@preview/pinit:0.2.2": *
|
||||
|
||||
#import "lineal/lib.typ": *
|
||||
|
||||
#show math.equation: set align(center)
|
||||
#show image: set align(center)
|
||||
|
||||
|
||||
#let beorn = raw("BEoRN")
|
52
halo_model.typ
Normal file
52
halo_model.typ
Normal file
@@ -0,0 +1,52 @@
|
||||
#import "globals.typ": *
|
||||
|
||||
|
||||
|
||||
== The halo model of reionization
|
||||
Following @Schneider_2021 @schneider2023cosmologicalforecast21cmpower:
|
||||
#line(length: 100%, stroke: color.white.transparentize(100%))
|
||||
#pause
|
||||
|
||||
$
|
||||
rho_alpha (r bar M, z) = (1 + z)^2 / (4 pi r^2) dot sum_(n=2)^(n_m)f_n dot epsilon_alpha (nu prime) dot f_star dot dot(M)(z prime bar M, z)
|
||||
$
|
||||
|
||||
#pause
|
||||
|
||||
$
|
||||
3/2 dot derivative(rho_h (r bar M, z), z) = (3 rho_h (r bar M, z)) / (1 + z) - (rho_"xray" (r bar M, z)) /(k_B (1 + z) H(z))
|
||||
$
|
||||
|
||||
#pause
|
||||
$
|
||||
derivative(V_b, t) = dot(N)_"ion"(t) / overline(n)_H^0 - alpha_B dot C / a^3 dot overline(n)_H^0 dot V_b
|
||||
$
|
||||
// $
|
||||
// x_("HII")(r bar M, z) = theta_"H" lr([R_b (M, z) - r], size: #150%)
|
||||
// $
|
||||
|
||||
#pagebreak()
|
||||
|
||||
|
||||
|
||||
|
||||
== Revisiting the 21cm signal
|
||||
$
|
||||
d T_"b" (bold(x), z) tilde.eq T_0 (z) dot
|
||||
#pin(1) x_"HI" (bold(x), z) #pin(2) dot
|
||||
(1 + delta_b (bold(x), z)) dot
|
||||
(x_alpha (bold(x), z)) / (#pin(3) 1 + x_alpha (bold(x), z) #pin(4) ) dot
|
||||
((1 - T_"CMB" (z)) / (#pin(5) T_"gas" (bold(x), z) #pin(6)))
|
||||
$ <eq:dTb>
|
||||
|
||||
#pause
|
||||
// #pinit-highlight(1, 20)
|
||||
#pinit-point-from((1, 2))[from $x_"HII"$]
|
||||
#pause
|
||||
|
||||
#pinit-point-from((3, 4))[From $rho_alpha$]
|
||||
#pause
|
||||
|
||||
#pinit-point-from((5, 6))[From $rho_"h"$]
|
||||
|
||||
#pagebreak()
|
@@ -1,16 +1,30 @@
|
||||
#import "importer/main.typ": *
|
||||
#import "globals.typ": *
|
||||
|
||||
#let notebook = json("../workdir/11_visualization/simple_run_example.ipynb")
|
||||
#show raw: it => {
|
||||
show regex("pin\d"): it => pin(eval(it.text.slice(3)))
|
||||
it
|
||||
}
|
||||
|
||||
|
||||
= Implementation
|
||||
== Simplified usage
|
||||
|
||||
#text(
|
||||
size: .7em,
|
||||
)[
|
||||
#show raw: it => {
|
||||
show regex("pin\d"): it => pin(eval(it.text.slice(3)))
|
||||
it
|
||||
}
|
||||
#code-block(
|
||||
filename: "beorn.py",
|
||||
language: "python",
|
||||
code_cell(notebook, cell_id: "code_for_run"),
|
||||
)
|
||||
// #pinit-point-to(1)[Hello]
|
||||
// #pinit-point-to(2)[Hello]
|
||||
// #pinit-point-to(3)[Hello]
|
||||
// #pinit-point-to(4)[Hello]
|
||||
// #pinit-point-to(5)[Hello]
|
||||
|
||||
]
|
||||
|
||||
|
||||
#code_cell(notebook, cell_id: "code_for_run")
|
||||
|
||||
|
||||
#link(<backup_validation>, "Validated")
|
||||
|
177
introduction.typ
177
introduction.typ
@@ -1,6 +1,4 @@
|
||||
#import "importer/main.typ": *
|
||||
#import "@preview/physica:0.9.5": *
|
||||
#import "@preview/touying:0.6.1": *
|
||||
#import "globals.typ": *
|
||||
|
||||
|
||||
= Simulating the Epoch of Reionization
|
||||
@@ -14,67 +12,160 @@
|
||||
- Sets the stage for many observables: CMB secondary anisotropies, 21-cm signal, high-z galaxy surveys.
|
||||
// reformulate
|
||||
|
||||
== The 21cm signal
|
||||
|
||||
== The 21-cm signal
|
||||
|
||||
|
||||
The brigthtness temperature describes the difference between the CMB temperature and the spin temperature of neutral hydrogen
|
||||
#grid[
|
||||
#image("assets/cmb_black_body_spectrum.svg", height: 1fr, fit: "contain") @cmb_spectrum
|
||||
|
||||
#v(1em)
|
||||
|
||||
#grid(columns: 2, align: center)[
|
||||
#image("assets/cmb_black_body_spectrum.svg", height: 1fr, fit: "contain") #text(size: 0.8em)[from @cmb_spectrum]
|
||||
][
|
||||
#pause
|
||||
Removing the contribution from the black body spectrum of the CMB yields the explicit 21-cm signal:
|
||||
#image("assets/cmb_black_body_spectrum.svg", height: 1fr, fit: "contain")
|
||||
|
||||
]
|
||||
|
||||
#pagebreak()
|
||||
|
||||
|
||||
|
||||
#align(center)[
|
||||
#image("assets/evolution_of_dtb.png", fit: "contain")
|
||||
#image("assets/evolution_of_dtb.png", height: 85%, fit: "contain")
|
||||
#text(size: 0.8em)[from @Pritchard2012]
|
||||
]
|
||||
@Pritchard2012
|
||||
|
||||
#pagebreak()
|
||||
|
||||
== Expression the 21-cm signal
|
||||
Expressing the _differential brightness temperature_ (e.g @Pritchard2012):
|
||||
|
||||
$
|
||||
d T_"b" (bold(x), z) tilde.eq T_0 (z) dot x_"HI" (bold(x), z) dot (1 + delta_b (bold(x), z)) dot (x_alpha (bold(x), z)) / (1 + x_alpha (bold(x), z) ) dot ((1 - T_"CMB" (z)) / (T_"gas" (bold(x), z)))
|
||||
d T_"b" (bold(x), z) tilde.eq T_0 (z) dot
|
||||
#pin(1) x_"HI" (bold(x), z) #pin(2) dot
|
||||
(1 + delta_b (bold(x), z)) dot
|
||||
(x_alpha (bold(x), z)) / (#pin(3) 1 + x_alpha (bold(x), z) #pin(4) ) dot
|
||||
((1 - T_"CMB" (z)) / (#pin(5) T_"gas" (bold(x), z) #pin(6)))
|
||||
$ <eq:dTb>
|
||||
(e.g @Pritchard2012)
|
||||
|
||||
|
||||
|
||||
== The halo model of reionization
|
||||
|
||||
|
||||
|
||||
Following @Schneider_2021 @schneider2023cosmologicalforecast21cmpower:
|
||||
|
||||
$
|
||||
rho_alpha (r bar M, z) = (1 + z)^2 / (4 pi r^2) dot sum_(n=2)^(n_m)f_n dot epsilon_alpha (nu prime) dot f_star dot dot(M)(z prime bar M, z)
|
||||
$
|
||||
#line(
|
||||
length: 100%
|
||||
)
|
||||
$
|
||||
3/2 dot derivative(rho_h (r bar M, z), z) = (3 rho_h (r bar M, z)) / (1 + z) - (rho_"xray" (r bar M, z)) /(k_B (1 + z) H(z))
|
||||
$
|
||||
#line(
|
||||
length: 100%
|
||||
)
|
||||
$
|
||||
x_("HII")(r bar M, z) = theta_"H" lr([R_b (M, z) - r], size: #150%)
|
||||
$
|
||||
|
||||
// Explanation
|
||||
- further modulation by _RSD_
|
||||
|
||||
|
||||
== The current state of simulations
|
||||
#lorem(20)
|
||||
|
||||
- slow and big
|
||||
- radiative transfer // what are the downsides
|
||||
|
||||
|
||||
$==>$ semi-numerical approaches such as `BEoRN` @Schaeffer_2023
|
||||
#layouts.contained(
|
||||
[
|
||||
*Traditional approaches*
|
||||
|
||||
// keypoints that describe heavy hydro + radiative transfer simulations
|
||||
- require hydrodynamics
|
||||
- require radiative transfer
|
||||
- scale poorly
|
||||
|
||||
$=>$ no reproducibility
|
||||
#pause
|
||||
],
|
||||
[
|
||||
#text(weight: "bold")[semi-numerical approaches]
|
||||
|
||||
such as #beorn @Schaeffer_2023, `21cmFAST` [CITATION]
|
||||
- approximative treatment
|
||||
- link
|
||||
- scalable + efficient
|
||||
|
||||
$=>$ reproducible and flexible
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
#link(<backup_validation>, "validation")
|
||||
// #layouts.two-boxes(
|
||||
// [
|
||||
// #text(weight: "bold")[Traditional approaches]
|
||||
|
||||
== `BEoRN`
|
||||
// // keypoints that describe heavy hydro + radiative transfer simulations
|
||||
// - require hydrodynamics
|
||||
// - require radiative transfer
|
||||
// - scale poorly
|
||||
|
||||
// $=>$ no reproducibility
|
||||
// #pause
|
||||
// ],
|
||||
// [
|
||||
// *semi-numerical approaches*
|
||||
|
||||
// such as #beorn @Schaeffer_2023, `21cmFAST` [CITATION]
|
||||
// - approximative treatment
|
||||
// - link
|
||||
// - scalable + efficient
|
||||
|
||||
// $=>$ reproducible and flexible
|
||||
|
||||
|
||||
// ]
|
||||
// )
|
||||
|
||||
#pagebreak()
|
||||
|
||||
== Matrix
|
||||
|
||||
#layouts.matrix((
|
||||
brand.wordmark,
|
||||
brand.wordmark,
|
||||
brand.wordmark,
|
||||
brand.wordmark,
|
||||
brand.wordmark,
|
||||
brand.wordmark
|
||||
))
|
||||
|
||||
== Contained
|
||||
#layouts.contained(
|
||||
columns(2, [
|
||||
- #lorem(10)
|
||||
- #lorem(15)
|
||||
- #lorem(25)
|
||||
]),
|
||||
brand.wordmark
|
||||
)
|
||||
|
||||
|
||||
|
||||
== Four columns
|
||||
|
||||
#layouts.four-columns(
|
||||
[
|
||||
#text(weight: "bold", brand.wordmark)
|
||||
#v(1em)
|
||||
#text(size: 10.5pt)[#lorem(60)]
|
||||
],
|
||||
[
|
||||
#text(weight: "bold", brand.wordmark)
|
||||
#v(1em)
|
||||
#text(size: 10.5pt)[#lorem(45)]
|
||||
],
|
||||
[
|
||||
#text(weight: "bold", brand.wordmark)
|
||||
#v(1em)
|
||||
#text(size: 10.5pt)[#lorem(75)]
|
||||
],
|
||||
[
|
||||
#text(weight: "bold", brand.wordmark)
|
||||
#v(1em)
|
||||
#text(size: 10.5pt)[#lorem(50)]
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
|
||||
== Two columns
|
||||
|
||||
#layouts.contained(
|
||||
columns(2, [
|
||||
- #lorem(10)
|
||||
- #lorem(15)
|
||||
- #lorem(25)
|
||||
]),
|
||||
brand.wordmark
|
||||
)
|
||||
|
171
main.typ
171
main.typ
@@ -1,8 +1,6 @@
|
||||
#import "@preview/diatypst:0.7.0": *
|
||||
#import "importer/main.typ": *
|
||||
#import "@preview/physica:0.9.5": *
|
||||
#import "globals.typ": *
|
||||
|
||||
|
||||
// Patch the ETH logo to actually be white:
|
||||
#let logo = "assets/uzh-logo.svg"
|
||||
#let original = read(logo)
|
||||
#let changed = original.replace(
|
||||
@@ -26,122 +24,109 @@
|
||||
#let title-color = color.blue.darken(50%);
|
||||
#let bg-color = color.white;
|
||||
|
||||
#let padded_logos = logos.map(logo => box(height: 1.5em, inset: (x:0.3cm), logo))
|
||||
|
||||
|
||||
///// Front page /////
|
||||
#let notebook = json("../workdir/11_visualization/very_high_res_snapshot.ipynb")
|
||||
#let front_image = image_cell(notebook, cell_id: "very_high_res_slice")
|
||||
#let (height, space) = layouts.at(layout_size)
|
||||
#let width = ratio * height
|
||||
// #title-slide[
|
||||
|
||||
#set page(
|
||||
height: height,
|
||||
width: width,
|
||||
footer: none,
|
||||
header: none,
|
||||
margin: 0cm
|
||||
)
|
||||
// #let space = 2cm
|
||||
// #place[
|
||||
// #front_image,
|
||||
// ]
|
||||
// #place[
|
||||
// #box(
|
||||
// width: 100%,
|
||||
// height: 100%,
|
||||
// fill: color.black.transparentize(65%)
|
||||
// )
|
||||
// ]
|
||||
|
||||
#let space = 2cm
|
||||
#place[
|
||||
#set image(
|
||||
width: 105%,
|
||||
)
|
||||
#front_image,
|
||||
]
|
||||
#place[
|
||||
#box(
|
||||
width: 100%,
|
||||
height: 100%,
|
||||
fill: color.black.transparentize(65%)
|
||||
)
|
||||
]
|
||||
|
||||
#block(
|
||||
inset: (x:0.5*space, y:1em),
|
||||
width: 100%,
|
||||
height: 60%,
|
||||
align(bottom)[#text(2.0em, weight: "bold", fill: bg-color, title)],
|
||||
above: 0cm,
|
||||
below: 0cm,
|
||||
)
|
||||
// #block(
|
||||
// inset: (x:0.5*space, y:1em),
|
||||
// width: 100%,
|
||||
// height: 60%,
|
||||
// align(bottom)[#text(2.0em, weight: "bold", fill: bg-color, title)],
|
||||
// above: 0cm,
|
||||
// below: 0cm,
|
||||
// )
|
||||
|
||||
|
||||
#let padded_logos = logos.map(logo => box(height: 1.5em, inset: (x:0.3cm), logo))
|
||||
|
||||
|
||||
#block(
|
||||
height: 40%,
|
||||
width: 100%,
|
||||
fill: bg-color,
|
||||
inset: (x:0.5*space,top:1cm, bottom: 1em),
|
||||
above: 0cm,
|
||||
below: 0cm,
|
||||
if subtitle != none {[
|
||||
#text(1.4em, fill: title-color, weight: "bold", subtitle)
|
||||
]} +
|
||||
if subtitle != none and date != none { text(1.4em)[ \ ] } +
|
||||
if date != none {text(1.1em, date)} +
|
||||
align(
|
||||
bottom,
|
||||
stack(
|
||||
dir: ltr,
|
||||
authors.join(", ", last: " & "),
|
||||
h(1fr),
|
||||
..padded_logos,
|
||||
)
|
||||
)
|
||||
)
|
||||
// #block(
|
||||
// height: 40%,
|
||||
// width: 100%,
|
||||
// fill: bg-color,
|
||||
// inset: (x:0.5*space,top:1cm, bottom: 1em),
|
||||
// above: 0cm,
|
||||
// below: 0cm,
|
||||
// if subtitle != none {[
|
||||
// #text(1.4em, fill: title-color, weight: "bold", subtitle)
|
||||
// ]} +
|
||||
// if subtitle != none and date != none { text(1.4em)[ \ ] } +
|
||||
// if date != none {text(1.1em, date)} +
|
||||
// align(
|
||||
// bottom,
|
||||
// stack(
|
||||
// dir: ltr,
|
||||
// authors.join(", ", last: " & "),
|
||||
// h(1fr),
|
||||
// ..padded_logos,
|
||||
// )
|
||||
// )
|
||||
// )
|
||||
// ]
|
||||
// #slide[
|
||||
|
||||
// // #set page(
|
||||
// // footer: none,
|
||||
// // header: none,
|
||||
// // margin: 0cm
|
||||
// // )
|
||||
|
||||
|
||||
// ]
|
||||
|
||||
///// Main content /////
|
||||
|
||||
#show: slides.with(
|
||||
title: title,
|
||||
subtitle: subtitle,
|
||||
date: date,
|
||||
authors: authors,
|
||||
toc: false,
|
||||
layout: layout_size,
|
||||
ratio: ratio,
|
||||
title-color: title-color,
|
||||
bg-color: bg-color,
|
||||
footer-title: footer-title,
|
||||
count: "number"
|
||||
|
||||
|
||||
|
||||
|
||||
#show: lineal-theme.with(
|
||||
aspect-ratio: "16-9",
|
||||
// config-common(handout: true),
|
||||
config-info(
|
||||
title: [#title],
|
||||
subtitle: [#subtitle],
|
||||
author: [Author],
|
||||
date: datetime.today(),
|
||||
institution: [ETH Zürich, University of Zürich],
|
||||
// logo: brand.logo,
|
||||
),
|
||||
// footer-left: self => [..#padded_logos],
|
||||
)
|
||||
|
||||
|
||||
|
||||
#show footnote.entry: set text(size: 0.6em)
|
||||
#set footnote.entry(gap: 3pt)
|
||||
#set align(horizon)
|
||||
#set grid(
|
||||
columns: 2,
|
||||
gutter: 2em,
|
||||
)
|
||||
|
||||
|
||||
#title-slide()
|
||||
|
||||
#include "introduction.typ"
|
||||
|
||||
#include "halo_model.typ"
|
||||
#include "beorn.typ"
|
||||
#include "refinements.typ"
|
||||
|
||||
#include "implementation.typ"
|
||||
|
||||
#include "results.typ"
|
||||
#include "conclusion.typ"
|
||||
|
||||
|
||||
|
||||
#set heading(numbering: none, outlined: false)
|
||||
= Thank you for your attention
|
||||
= End
|
||||
== Thank you for your attention
|
||||
|
||||
#bibliography("references.bib")
|
||||
|
||||
// #context let last_page = counter(page).get()
|
||||
// #let last_page = counter("page").get()
|
||||
// #let last_page = 20
|
||||
// freeze the page counter here
|
||||
|
||||
#show: appendix
|
||||
#include("backup.typ")
|
||||
|
||||
// #counter(page).update(last_page)
|
||||
|
@@ -1,10 +1,36 @@
|
||||
#import "importer/main.typ": *
|
||||
#import "globals.typ": *
|
||||
|
||||
|
||||
= Halo mass history
|
||||
= Halo growth
|
||||
|
||||
== Motivation
|
||||
#layouts.contained(
|
||||
[
|
||||
Crucial dependence on the *star formation rate*
|
||||
|
||||
- assumed to be directly linked to halo growth rate $dot(M)$:
|
||||
$
|
||||
dot(M)_star = f_star (M_"h") dot dot(M_"h")
|
||||
|
||||
$
|
||||
- growth according to the exponential model:
|
||||
$
|
||||
M_"h" (z) = M_"h" (z_0) dot exp[-alpha (z - z_0)]
|
||||
$
|
||||
with $alpha = dot(M_"h")/M_"h"$ the _specific growth rate_
|
||||
#pause
|
||||
],
|
||||
[
|
||||
...
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
== Effect on the flux profiles
|
||||
#lorem(50)
|
||||
#let notebook = json("../workdir/11_visualization/alpha_dependence_of_profiles.ipynb")
|
||||
|
||||
#image_cell(notebook, cell_id: "profile_plot_alpha_dependence")
|
||||
|
||||
|
||||
== Inferring growth from #smallcaps[Thesan] data
|
||||
#lorem(50)
|
||||
@@ -13,3 +39,5 @@
|
||||
#set image(width: 100%, fit: "contain")
|
||||
#image_cell(notebook, cell_id: "merger_tree_and_fitting")
|
||||
]
|
||||
|
||||
|
||||
|
@@ -1,6 +1,4 @@
|
||||
#import "importer/main.typ": *
|
||||
#import "@preview/physica:0.9.5": *
|
||||
|
||||
#import "globals.typ": *
|
||||
|
||||
= Results
|
||||
== Map outputs
|
||||
|
Reference in New Issue
Block a user