Filamentary accretion is responsible for most of the mass and angular momentum acquisition (at z>3 ; Kereš+05, Pichon+11, Tillson+12, …)
Filamentary accretion: natural "bridge" between large scale structures (cosmic web) and galaxy formation
Eulerian method
Lagrangian history
Eulerian method
How to access Lagrangian history in Eulerian simulation?
?
Lagrangian history
Using linear interpolation of velocity
\[p_{i,j} \propto \mathrm{flux}(i\rightarrow j)\]
Bonus: also work for SF, feedback, …
Eulerian method
How to access Lagrangian history in Eulerian simulation?
Using linear interpolation of velocity
\[p_{i,j} \propto \mathrm{flux}(i\rightarrow j)\]
Bonus: also work for SF, feedback, …
-
-
=
=
Reference
Reference
Difference
Difference
Using linear interpolation of velocity
\[p_{i,j} \propto \mathrm{flux}(i\rightarrow j)\]
Bonus: also work for SF, feedback, …
✅ easy, \(\sum m \mathbf{r}\times \mathbf{v}\)
❔ Lagrangian trajectories
❔ temperature along Lagrangian traj.
❔ easy, right? \(\sum \mathbf{r}\times \mathbf{f}\)
❔ \(\nabla P, \nabla \phi\)
(grav. accel. provided by simulation)
✅ easy, \(\sum m \mathbf{r}\times \mathbf{v}\)
✅ Lagrangian trajectories
❔ temperature along Lagrangian traj.
❔ easy, right? \(\sum \mathbf{r}\times \mathbf{f}\)
❔ \(\nabla P, \nabla \phi\)
(grav. accel. provided by simulation)
Use cic/nearest interpolation
yt.add_deposited_particle_fields(
("tracer", "particle_mass"),
method="cic"
)
p = yt.ProjectionPlot(
ds,
("deposit", "tracer_cic_mass")
)
(Now it is) easy!
Use "mesh deposition"
ds.add_mesh_sampling_particle_field(
("gas", "density"),
"tracer"
)
ds.r["tracer", "cell_gas_density"]
# Took 1.4s for 1 090 895 particles!
p = yt.ParticleProjectionPlot(
ds,
("tracer", "cell_gas_density")
)
pos = ds.r["tracer", "particle_position"][:1000]
new_data = ds.arr([
ds.r[p]["density"]
for p in pos
])
# Argh! Took 3.5s for 1 000 particles!
# ETA: 1hr for all particles
Easy?
ds.add_mesh_sampling_particle_field(
("gas", "density"),
"tracer"
)
# Precompute cell index
ds.r["tracer", "cell_index"] # 1.3s
# Fast access!
ds.r["tracer", "cell_gas_density"] # 300ms
✅ easy, \(\sum m \mathbf{r}\times \mathbf{v}\)
✅ Lagrangian trajectories
❔ temperature along Lagrangian traj.
❔ easy, right? \(\sum \mathbf{r}\times \mathbf{f}\)
❔ \(\nabla P, \nabla \phi\)
(grav. accel. provided by simulation)
✅ easy, \(\sum m \mathbf{r}\times \mathbf{v}\)
✅ Lagrangian trajectories
✅ temperature along Lagrangian traj.
❔ easy, right? \(\sum \mathbf{r}\times \mathbf{f}\)
❔ \(\nabla P, \nabla \phi\)
(grav. accel. provided by simulation)
✅ easy, \(\sum m \mathbf{r}\times \mathbf{v}\)
✅ Lagrangian trajectories
✅ temperature along Lagrangian traj.
✅ easy, right? \(\sum \mathbf{r}\times \mathbf{f}\)
❔ \(\nabla P, \nabla \phi\)
(grav. accel. provided by simulation)
$$ \nabla P =\frac{P_{i+1} - 2P_i + P_{i-1}}{2} $$
Gradient needs (at least) 3 cells in each direction,
but octrees only have 2!
Background: https://www.youtube.com/watch?v=Mf7P5hqD0eY
only 2 cells
$$ \nabla P =\frac{P_{i+1} - 2P_i + P_{i-1}}{2} $$
Gradient needs (at least) 3 cells in each direction,
but octrees only have 2!
Background: https://www.youtube.com/watch?v=Mf7P5hqD0eY
only 2 cells
Let us "extend" our octs with "ghost zones"
$$ \nabla P =\frac{P_{i+1} - 2P_i + P_{i-1}}{2} $$
Gradient needs (at least) 3 cells in each direction,
but octrees only have 2!
Background: https://www.youtube.com/watch?v=Mf7P5hqD0eY
now 4 cells wide!
Let us "extend" our octs with "ghost zones"
\(P_{i+1}\)
\(P_{i-1}\)
\(P_{i}\)
$$ \nabla P =\frac{P_{i+1} - 2P_i + P_{i-1}}{2} $$
Gradient needs (at least) 3 cells in each direction,
but octrees only have 2!
Background: https://www.youtube.com/watch?v=Mf7P5hqD0eY
now 4 cells wide!
Let us "extend" our octs with "ghost zones"
\(P_{i+1}\)
\(P_{i-1}\)
\(P_{i}\)
I am only showing 6 out of 56 ghost cells for clarity.
But trust me they are here.
You can also use more than 2-cells (for higher order derivatives).
✅ easy, \(\sum m \mathbf{r}\times \mathbf{v}\)
✅ Lagrangian trajectories
✅ temperature along Lagrangian traj.
✅ easy, right? \(\sum \mathbf{r}\times \mathbf{f}\)
❔ \(\nabla P, \nabla \phi\)
(grav. accel. provided by simulation)
✅ easy, \(\sum m \mathbf{r}\times \mathbf{v}\)
✅ Lagrangian trajectories
✅ temperature along Lagrangian traj.
✅ easy, right? \(\sum \mathbf{r}\times \mathbf{f}\)
✅ \(\nabla P, \nabla \phi\)
(grav. accel. provided by simulation)
Plot of \( \frac{1}{\Delta r}\int_{r}^{r+\Delta r} \mathrm{d}r\,\mathbf{r} \times \mathbf{v}\)
Large scale
Galaxy
Direction of accretion
drop by \(\times 5\)
(in one free-fall time)
The AM dynamics is given by
\(\displaystyle \phantom{\frac{\mathrm{d} \mathbf{l}}{\mathrm{d} t}} + \text{gravitational torques} \)
\( \displaystyle \frac{\mathrm{d} \mathbf{l}}{\mathrm{d} t} = \textcolor{darksalmon}{\text{pressure torque}} \)
\(\displaystyle \phantom{\frac{\mathrm{d} \mathbf{l}}{\mathrm{d} t} + } \underbrace{\phantom{\text{gravitational torques}}}_{\text{\textcolor{darkgray}{DM} + \textcolor{orange}{Star} + \textcolor{deepskyblue}{Gas}}} \)
Pressure dominates the ⊥ acceleration in CGM…
locally!
Mean of ⊥ force magnitude
Compute global torque in shell
Locally: pressure dominated...
esp. in the hot phase
... but globally: (DM) gravity dominated
esp. in the cold phase
What is happening?
Compute sum-of-norm vs norm-of-sum
$$ \dfrac{\left\| \sum_\text{neigh}\tau\right\|}{ \sum_\text{neigh}\left\| \tau\right\|} $$
Pressure: \(\lambda_\mathrm{fluct.}\) is small
Gravity
Pressure
Compute sum-of-norm vs norm-of-sum
$$ \dfrac{\left\| \sum_\text{neigh}\tau\right\|}{ \sum_\text{neigh}\left\| \tau\right\|} $$
Pressure: \(\lambda_\mathrm{fluct.}\) is small
Many cool features brought together!
( \( \forall t, T(t)\leq 10⁵\ \mathrm{K} \) and
\( 0.3 R_\mathrm{vir} \leq r(t) \leq 2 R_\mathrm{vir} \))
or
$$ r < 0.3 R_\mathrm{vir} \text{ or } r > 2R_\mathrm{vir} $$
$$ \exists t, T(t)> 10⁵\ \mathrm{K} \\ 0.3 R_\mathrm{vir} \leq r(t)\leq 2 R_\mathrm{vir} $$
⇒ Defined with Lagrangian history
+ removing accretion from satellites
Cold gas: well aligned down to inner halo
Hot gas: aligned down to inner halo
Gas density
Gas tracer density
3. Contribution to disk formation
1. AM acquisition at large scale
2. Transport along cold flows
Compute \(t_\mathrm{decorr.}\) using Lagrangian history such that
$$ \vec{\tau}(t_\mathrm{decorr.}) \perp \vec{\tau}(0) \color{gray}\qquad\text{ (i.e. } \vec{\tau}(t_\mathrm{decorr.}) \cdot \vec{\tau}(0) = 0)$$
A/ Longer coherence in cold phase (esp. pressure)
Slow decorrelation
Fast decorrelation
Density \(\rho\)
\(v\) tracers
MC tracers
Difference \(\Delta \rho / \rho\)
Formation & destruction of filamentary structures in Perseus-like cluster
Tracer: history of each clump
Beckmann+19
Study of gas in & out — origin of Ly\(\alpha\) emitting gas
Mitchell+20