Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Glossary

Terms as used in this project. Where the thesis, Dullemond’s notes, and the code use different words for the same thing, all are listed and the project term is in bold. Symbols are defined in notation.md.

Astrophysical setting

TermMeaning
PPD (proto-planetary disk)Disk of gas (about 99 % by mass) and dust around a young star; birthplace of planets.
Midplanez = 0 plane of the disk; all thesis runs sit at r₀ = 10 au, z₀ = 0.
Dust-to-gas ratioM_dust / M_gas, canonical 0.01.
Irradiated (passive) diskTemperature set by stellar irradiation at flaring angle φ_f, not by accretion heating.
Pressure scale height H_pc_s / Ω_K; Gaussian vertical density profile width.
α viscosityShakura-Sunyaev turbulent viscosity ν_t = α c_s H_p. Distinct from molecular viscosity ν_mol = ½ u_th λ_mfp.
Stokes number StDimensionless stopping time t_s Ω_K; measures dust-gas coupling. Epstein midplane form: St = (π/2) a ρ_s / Σ_g.
Epstein / Stokes drag regimeGas drag laws for a < (9/4) λ_mfp and larger particles. The thesis uses Epstein only.
Radial driftInward migration of dust due to the sub-Keplerian gas; peaks at St = 1.
Azimuthal driftRelative azimuthal velocity of differently coupled grains.
Differential settlingRelative vertical velocity from different settling speeds; disabled in the thesis (dv_DS marked broken).
Brownian motionThermal relative velocities, dominant for the smallest grains.
Turbulent relative velocityOrmel and Cuzzi (2007) closed-form regimes (tightly coupled, intermediate, heavy).
Fragmentation barrierGrowth limit where Δv reaches v_frag.
Bouncing barrierGrowth limit where collisions bounce instead of sticking (Dominik and Dullemond 2024).
Drift barrierGrowth limit where drift removes grains faster than they grow.
MonomerSmallest constituent grain; lower end of the mass grid.
Filling factor φ / porosity p = 1 − φFraction of an aggregate’s equivalent sphere filled by material. The natural second particle property.
BPCA / BCCABallistic particle-cluster / cluster-cluster aggregation; produce compact-ish vs fractal aggregates.
MRN distributionMathis-Rumpl-Nordsieck size distribution n(a) ∝ a^-3.5, i.e. n(m) ∝ m^-11/6. Used as fragment distribution.

Collision physics

TermMeaning
Collision rate coefficient R^coll_ij (thesis), C_ij (coag_py)σ_ij Δv_ij in m³ s⁻¹. Not a rate: multiply by N_i N_j for events per volume per time.
Collision cross section σ_ijπ (a_i + a_j)² for compact spheres.
Collision outcomeSticking (coagulation, hit-and-stick), bouncing, fragmentation, plus sub-types: pulverization (all mass to the first bin), shattering (power-law fragments), cratering / erosion (small projectile excavates a big target), bouncing with mass loss, mass transfer.
Outcome probabilities P^coag, P^bounce, P^fragSum to one per pair. Hard threshold or smooth Maxwell-Boltzmann form (Stammler and Birnstiel 2022).
Reaction rate coefficient R^coag_ij, R^frag_ijR^coll_ij times the outcome probability.
Fragment distribution function f(m)Mass distribution of fragments per collision, normalized so that ∫ m f dm = m_i + m_j (or per body for independent shattering).

Smoluchowski equation and discretization

TermMeaning
Smoluchowski coagulation equationIntegro-differential population balance ∂n/∂t = ∫∫ K(m,m’,m’‘) n(m’) n(m’‘) dm’ dm’’. Not to be confused with the Smoluchowski diffusion equation (see literature section 7).
Mass distribution function n(m)Number density per unit mass per unit volume.
Bin population N_kParticles per unit volume in bin k: N_k ≈ n(m_k) Δm_k. The state variable of the solver.
Bin mass density ρ_kN_k m_k. Plot quantity “mass per bin”.
m²f(m) plotMass per logarithmic mass interval; the standard figure axis in coag_py.
Kernel function K(m, m’, m’’)Continuous gain-minus-loss rate density.
Kernel tensor K_kijDiscrete kernel, K(m_k, m_i, m_j) Δm_k, so that dN_k/dt = Σ_ij K_kij N_i N_j.
Gain / lossPositive / negative parts of K; loss is always -R_ij on k = i and k = j.
Collision recipeProject term: for one pair (i, j), the list of (k, weight) entries that a single collision adds to and removes from. The sparse unit from which K_kij, sampled kernels, and Jacobians are assembled (ADR 0005).
Kovetz and Olund algorithmSplits m_i + m_j between bins k̄ and k̄+1 with weights (1-ε, ε) so particle number and mass are both conserved. Also “Podolak algorithm” (Brauer 2008).
Reverse Kovetz and OlundSame mapping for the surviving remnant after cratering or erosion.
Near-zero cancellation handling (fixcancel)For k̄ = max(i, j), replace (1−ε)·R − R by −ε·R analytically to avoid catastrophic cancellation when m_i ≪ m_j.
Detailed balance (Dullemond’s sense)Every removal of a colliding pair is matched exactly by the insertion of its products, so mass is conserved per collision to round-off. Not the thermodynamic meaning.
Kernel mass error ΔX^relPer-pair relative mass defect Σ_k m_k X_kij / (m_i + m_j), aggregated by RMS over pairs.
Upper grid boundary policyWhat to do when m_i + m_j > m_max: drop the pair (thesis), pile up in the last bin, or let mass leave the grid and account for it.
Kernel sparsityFraction of non-zero K_kij: about 3 % for hit-and-stick, about 30 % with fragmentation (thesis, N_m = 100).
Analytic test kernelsConstant, linear (sum), product kernels with known solutions; product kernel shows gelation.
GelationFinite-time mass loss to an infinite cluster for strongly growing kernels.

Time integration

TermMeaning
StiffnessWide spread of time scales (small grains react fast, big ones slowly); forces implicit methods for long integrations.
Explicit EulerN^{n+1} = N^n + Δt F(N^n); CFL-like step limit.
CFL condition (coagulation sense)Explicit step bound Δt < min_k N_k / |loss_k| type criteria (Laibe and Lombart 2021).
Backward (implicit) EulerSolve N^{n+1} = N^n + Δt F(N^{n+1}) by Newton iteration (coag_py backwardeuler, niter).
Linearized implicit stepOne Newton step: (I − Δt J) δ = Δt F(N^n) (Brauer 2008, App. C).
Rosenbrock / W-methodLinearly implicit Runge-Kutta; W-methods stay accurate with an approximate Jacobian, which matters for sampled kernels.
Radau IIAFully implicit collocation Runge-Kutta, 3 stages, order 5, L-stable; RADAU5 by Hairer and Wanner; scipy Radau. The thesis text says “4th order”; the method used was order 5.
Simplified NewtonNewton iteration with a frozen Jacobian across iterations and steps; standard in RADAU5.
Analytic JacobianJ_kl = Σ_j (K_klj + K_kjl) N_j for the quadratic RHS; exact and cheap to assemble from recipes.
Macro step / output stepStep of the logarithmic output time grid (200 steps over 3·10¹⁰ s in the thesis).
SubstepIntegrator steps within one macro step (adaptive in scipy, nsubst in coag_py).
Steady state / equilibriumCoagulation-fragmentation balance where dN/dt → 0; reached after a few hundred years at 10 au in the thesis model.

Monte Carlo kernel sampling

TermMeaning
Kernel samplingEstimating Σ_ij K_kij N_i N_j from a random subset of pairs (i, j).
Pair sampling vs index samplingDraw pairs (i, j) jointly from p_ij, or i and j independently from a 1D distribution F_i (Dullemond’s sample2d). The thesis samples pairs.
1D samplingDullemond’s sample2d=False: sample j only and sum over i exactly, exploiting hit-and-stick sparsity.
Sampling weight W_i (Dullemond)Arbitrary positive weight defining the proposal F_i = N_i W_i / S. W = m emphasizes mass carriers.
Proposal / importance distribution p_ijProbability of drawing pair (i, j).
Importance sampling (IS) estimatorF̂_k = (1/S) Σ_s K_k,ij N_i N_j / p_ij over S draws with replacement. Unbiased. Dullemond Eq. 1.70.
Horvitz-Thompson (HT) estimatorUnbiased estimator for sampling without replacement: weight each included pair by 1/π_ij, π_ij its inclusion probability.
Thesis estimatorWithout replacement, no reweighting: E[F̂] = Σ π_ij K N N < F. Biased low, explains the “slower evolution” the thesis observed. See thesis review.
Implicit sampled formDullemond Eq. 1.71: divide the sampled kernel by N_i⁽⁰⁾ N_j⁽⁰⁾ at the start of the step and multiply by the unknown future N_i N_j, giving a sparse quadratic kernel usable by implicit solvers.
Sampling density ρ_sampleThesis parameter: fraction of the N_m² pairs drawn per step.
Number of samples S (Dullemond N_ran)Draws per step.
Frozen sampleSame sample used for all stages and Newton iterations of one step (keeps the step a deterministic ODE step).
Variance reductionTechniques to lower estimator variance at fixed cost: optimal proposal, stratification, control variates, hybrid / split sum (exact sum over dominant pairs plus sampled tail), common random numbers, antithetic draws, systematic resampling.
Noise floorResidual RMS of dN/dt at steady state caused by MC noise (thesis Fig. 107).
Work-normalized efficiency1 / (error² × cost). The fair figure of merit for comparing estimators.

Other Monte Carlo families (for positioning)

TermMeaning
DSMC (direct simulation MC)Simulates individual collision events between computational particles (Ormel 2007).
RPMC (representative particle MC)Tracks a few representative particles interacting with a swarm (Zsom and Dullemond 2008, Beutel and Dullemond 2023). Explicit in time by construction.
Mass flow algorithmStochastic particle method with weights for the Smoluchowski equation (Eibeck and Wagner 2001).
Tensor train (TT)Low-rank tensor format; deterministic fast solver for multi-component Smoluchowski (Matveev et al.).
Discontinuous Galerkin (DG)High-order polynomial representation per bin (Lombart and Laibe 2021).

Software terms (this project)

TermMeaning
ADRArchitecture Decision Record in doc/adr.
Milestone Mn / task Mn.mUnits of the roadmap.
Experiment EnNumbered study in 04-experiments.md; each has a config file and a figure.
ToggleBoolean or enum config switch for a physical component (e.g. relative_velocity.brownian = true).
Run manifestMetadata file stored with every output: config hash, git revision, RNG seed, timings.
Parity testTest that our Rust result matches the thesis Python or coag_py result to a stated tolerance.
OracleIndependent trusted result (analytic solution, scipy, coag_py) used in tests.