---
title: "Stellar Stream Gaps from a Flyby Interactive Lab | Sandbox Physics"
description: "How can a passing mass open a gap in a stellar stream? A passing mass pulls stars at different positions by different amounts."
canonical_url: "https://sandboxphysics.com/labs/stellar-stream-encounter/"
language: "en"
page_type: "lab"
alternate_languages:
  zh-CN: "https://sandboxphysics.com/zh/labs/stellar-stream-encounter/"
last_modified: "2026-11-05"
---

A small pull leaves a long memory

# Stellar Stream Gaps from a Flyby

**How can a passing mass open a gap in a stellar stream?** A passing mass pulls stars at different positions by different amounts. Their small velocity differences accumulate along their orbits, stretching some parts of the stream and crowding others. A displaced spur can accompany the changing star counts.

Drag a passing mass above a warm stellar arc. Replay the same stars and compare their displacement, finite sample counts and energy exchange.

> Interactive simulation: open this page in a web browser to change the parameters and run the model.

Model assumptions

This is an imposed warm arc of massless stars in a fixed spherical logarithmic host. A Plummer mass follows a prescribed path and receives no backreaction. Every physical change recomputes the full finite history from the same initial conditions, with a fresh host-only comparison. The initial arc is not a tidal-release calculation or a fit to a real stream. Vertical distances alone are enlarged fourfold in the scene; physical readouts and exports retain their original units. Colours show changes in specific angular momentum, and point brightness is a display convention. The time-zero passage marker is a past reference geometry; the current perturber soon leaves this local view. Bins count equal-weight tracer samples, with sparse reference ratios masked. They are not continuous density, luminosity or detection significance. Independent finite cases and per-request refinement support this range; no uniform continuous-domain error theorem is claimed. Failed radius or numerical checks retain the preceding complete result. No self-gravity, stripping history, Galactic fit or unique dark-matter interpretation is calculated.

Physics tutorial

## A small change of speed becomes a large displacement

**Background** A narrow stellar stream contains stars on nearby orbits. When a compact mass passes, the nearer stars receive a different pull from the more distant ones. The encounter can be brief; the later separation takes much longer.

**Why it matters** Follow the stars after the mass has left. A gap is a change in how stars occupy space, not a hole cut from a fixed luminous ribbon.

Start with the essentials

- **Focus question**: Which small velocity differences eventually make a sparse region or a displaced spur?
- **One-sentence intuition**: The pull differs along the stream. Small velocity changes accumulate around the host, so both the sideways position and the number of stars in a fixed angular bin can change.

### Core mathematical model

#### Coordinates and the finite encounter

$$
\begin{gathered}R_0=15\,\mathrm{kpc},\quad v_0=220\,\mathrm{km}\,\mathrm{s}^{-1}\\T_0=R_0/v_0=66.7\,\mathrm{Myr}\\\mathbf r_{\rm p}/R_0=(1+W t,\ t,\ b)\end{gathered}
$$

In the last line, time, speed and height use the reference units. At nominal passage, the reference star is on the positive radial axis and moves along the second axis; the third is normal to the orbital plane. The mass follows this imposed path. The display follows a rotating coordinate system; it does not change the force.

#### The same force moves every star

$$
H=\frac{|\mathbf v|^2}{2}+\ln|\mathbf r|-\frac{\mu}{\sqrt{|\mathbf r-\mathbf r_{\rm p}(t)|^2+a^2}},\qquad\mu=\frac{GM_{\rm p}}{R_0v_0^2}
$$

This is energy per unit stellar mass in reference units. The central logarithmic term supplies the host pull; the softened Plummer term describes the passing mass. A larger scale spreads the same mass and weakens the close pull. The stars do not attract one another.

#### A useful short-passage estimate

$$
\Delta v_y=-\frac{2GM_{\rm p}y}{W(y^2+b^2+a^2)},\qquad\Delta v_z=\frac{2GM_{\rm p}b}{W(y^2+b^2+a^2)}
$$

These dimensional formulas freeze a straight stream during an infinite straight relative flyby. With thirty million solar masses, a scale of 0.25 kpc, height 0.10 kpc, crossing speed 200 km/s and a star 0.30 kpc along the stream, the changes are about minus 2.38 km/s along the stream and plus 0.794 km/s vertically. The signs reverse along the stream on its opposite side, while the vertical pull still points toward the passing mass. The experiment integrates the moving stars in the curved host field, so this estimate is not substituted for the live motion.

#### Where the energy and angular momentum go

$$
\frac{dH}{dt}=\mathbf F_{\rm p}\cdot\mathbf v_{\rm p},\qquad\frac{d\mathbf L}{dt}=\mathbf r\times\mathbf F_{\rm p}
$$

Energy and angular momentum here are per unit stellar mass. Prescribing the passing path provides an external source of work and torque. In the host-only comparison, energy and angular momentum stay constant; with the flyby, their changes agree with the accumulated work and torque.

### Common difficulties

#### A gap need not appear immediately

**Typical misconception** The largest instantaneous pull should coincide with the largest visible gap.

**Better mental model** The pull first changes velocity. Later orbital motion rearranges positions. Ignoring the host for a rough scale, a speed difference of one kilometre per second produces about 102 parsecs of separation in one hundred million years; the full calculation includes the host restoring force.

#### A count dip is not a unique mass measurement

**Typical misconception** One sparse bin identifies the passing object as dark matter.

**Better mental model** Mass, size, speed, impact geometry and the original stream distribution all affect the result. These equal-weight samples illustrate the dynamics. A real interpretation also needs observational errors, selection and other possible perturbations.

### Run the experiment

1. 01

   #### Watch what happens after passage

   Choose A compact passage. Pause, move the saved time toward the encounter and then forward again. Watch both height and sample counts.

   **What to observe:** The stars first receive a pull and later separate along nearby orbits. The moving scene and both plots use the same saved times. The vertical scene enlargement helps show a small physical displacement.

2. 02

   #### Change size while keeping mass

   Compare A compact passage with Spread the same mass. Keep a late saved time and compare the height scatter and binned counts.

   **What to observe:** A larger Plummer scale weakens and spreads the near pull. A mass value alone does not specify the encounter strength.

3. 03

   #### Move the encounter height

   Drag the outlined passage marker upward while the pointer is still down. The hollow marker shows the requested height; the solid scene changes when the complete new history is accepted.

   **What to observe:** Passing farther above changes both the strength and direction of the differential pull. The marker denotes the nominal time-zero geometry, even when the replay is much later.

4. 04

   #### Compare one star with the external pull

   Select a star, open the work-and-torque view, pause and export the complete history. Compare its angular-momentum change with the integrated torque.

   **What to observe:** The selected position, physical time, binned counts and export belong to the same accepted history. The host-only companion starts from the same stars and provides a controlled comparison.

Physical conclusion

A flyby changes velocities first. The host then carries those differences into displaced stars, crowded regions and gaps. Read a gap together with its surrounding motion.

## Related experiments and articles

Stellar streams, encounters and observed projections · Reading path

### From orbital clocks to observed streams

Articles on this path that use this experiment, followed by the other experiments they suggest.

1. [Article **Why does a stellar stream develop a gap?**](https://sandboxphysics.com/stories/stellar-streams/why-stellar-streams-have-gaps/)
2. [Article **How tides turn a cluster into a stellar stream**](https://sandboxphysics.com/stories/stellar-streams/tides-actions-and-many-orbits/)
3. [Article **From a flyby force to a much later stream gap**](https://sandboxphysics.com/stories/stellar-streams/from-a-flyby-force-to-a-stream-gap/)
4. [Article **Project a stellar stream before fitting it**](https://sandboxphysics.com/stories/stellar-streams/observing-and-fitting-a-stellar-stream/)
5. [Article **Recompute a conditional GD-1 projected-orbit fit**](https://sandboxphysics.com/stories/stellar-streams/recompute-gd1-projected-orbit-fit/)
6. [Article **Read the 2025 GD-1 thin-stream and cocoon paper**](https://sandboxphysics.com/stories/stellar-streams/reading-gd1-stream-and-cocoon-2025/)

Motion & dynamics · Starter path

## From a falling ball to an orbit

Start by measuring gravity and splitting motion into components. Then add contact forces and collisions, and follow the same laws all the way to an orbit.

[Start here → **Free Fall & Measuring Gravity** Capture a few drops and fit the camera positions to estimate gravitational acceleration. Then add air damping and watch the fit drift from the truth. Observe · 14 min](https://sandboxphysics.com/labs/free-fall/)

1. [1 Free Fall & Measuring Gravity](https://sandboxphysics.com/labs/free-fall/)
2. [2 Projectile Flight Designer](https://sandboxphysics.com/labs/projectile-flight/)
3. [3 Inclined Plane & Friction](https://sandboxphysics.com/labs/inclined-plane/)
4. [4 One-Dimensional Collision Bench](https://sandboxphysics.com/labs/collision-bench/)
5. [5 Mass–Spring Oscillator](https://sandboxphysics.com/labs/mass-spring/)
6. [6 How Orbits Take Shape](https://sandboxphysics.com/labs/orbit/)

[View the full path →](https://sandboxphysics.com/topics/mechanics/#starter-path)
