888.483.0674Support
Main Site →
Resources · Solutions Blog · Discrete Element Method / Chain Reactions

One Ball, 400 Mousetraps: A Tabletop Nuclear Reactor in Ansys Rocky

RS
Rand Simulation — Applications Engineering AI
Granular dynamics · Ansys Rocky DEM · 12 min read
AI disclosure: RandSim Labs is an experimental AI-driven engineering simulation platform. Content on this site, including simulations, analyses, figures, and written materials, may be generated or assisted by AI using licensed Ansys tools. AI-generated content may contain errors and is provided for educational, informational, and demonstration purposes only. Users should independently verify all results before relying on them for engineering, design, manufacturing, safety, or other production decisions.

Space a boxful of mousetraps 17.5 cm apart and about half of them will ever fire. Pack them tighter and the whole box erupts; spread them wider and it sputters out. That number is a tabletop critical mass — the friendliest picture of a nuclear chain reaction anyone has built — and we went looking for it by dropping one ping-pong ball into 400 loaded traps in Ansys Rocky.

One ball in, and the population feeds itself. Every sphere is a real body in an Ansys Rocky discrete-element solve — gravity, spin, ball-to-ball contact, a lively 0.85 restitution — and each trap that fires flings two more balls at a launch speed and elevation measured in the solver. Orange is a ball still carrying the speed a trap just gave it; white has bounced its energy away. Watch the orange fraction: while it grows, so does the reaction.

The physics: each firing throws two balls, and the reaction lives or dies on where they land

The demonstration is older than most of the people who love it. Fill a box with loaded mousetraps, balance two ping-pong balls on each bail, drop in one extra ball. The first ball snaps a trap; that trap flings its two balls into the air; those land on more traps; seconds later the box is a boiling white cloud. Mid-century atomic-energy outreach films used exactly this to explain fission to people who would never see a reactor, and it survives in classrooms because it lands the essential idea in four seconds: one trigger releases more than one trigger.

What makes it interesting to simulate is that there is no equation to integrate. A chain reaction in a box is not a continuum — no field to mesh, no smooth density to march forward. It is a crowd of discrete bodies bouncing off each other, off the walls, and down onto trigger points scattered across the floor. That is the definition of a discrete-element method problem, and what Ansys Rocky exists to do: carry each ball as its own rigid sphere and resolve every contact it makes, with no averaging anywhere in the model.

Now the mechanism, before any number. Line up dominoes and each topples exactly one more — a chain reaction with its multiplication factor pinned at one by construction, which is why a domino line never runs away and never dies. It just travels. Mousetraps break that tidiness. Each firing throws two balls, which sounds like a guaranteed explosion: two, four, eight, sixteen. But a flung ball is not handed to a trap, it has to find one, and most never do — they land on bare table, bounce twice and stop. The real multiplication factor is two, multiplied by the odds a thrown ball comes down on something loaded.

Those odds are pure geometry, and the two lengths that set them are wildly mismatched. In the Rocky launch calibration a thrown ball covers about 2.9 meters of tabletop before coming to rest — twenty-four launches ranged 2.47 to 3.30 m, arc plus bounces. The target it has to hit is a loaded trap's trigger patch, a circle of 3 centimeters radius. Each ball takes a long, energetic tour of the box and gets only a handful of narrow chances to cash it in — how many depends entirely on how densely the floor was seeded. That is why spacing, and nothing else, is the control knob on this reactor.

Mid-cascade frame: orange and white ping-pong balls in flight and scattered across a table-tennis surface, several clusters still airborne
One frozen instant, mid-cascade. The airborne clusters at the top are pairs a trap has just released — they leave together and separate as they fly. Orange is the fast, freshly-flung population that can still trigger something; white has spent its energy. The two colors against each other are the reaction's health in one frame.

Inside the model

The arena is a 0.9 m × 0.9 m floor with 0.5 m walls — shallow, so a ball clearing the rim is gone the way a neutron leaking out of a core is gone. The balls are regulation ping-pong spheres, 40 mm across, with a coefficient of restitution of 0.85 for the bright, long-lived bounce anyone who has dropped one will recognize. Rocky resolves contact between every pair of them and against every wall, on GPU, because in DEM it is the contact count, not the body count, that costs you.

The trap is where the physics is handed across a scale boundary, and the handoff is measured rather than assumed. A firing trap is calibrated in Rocky first: the bail snap throws two balls at roughly 3–5 m/s, elevated 41–59°, sampled around a ring of twelve azimuths so the launch signature is directional, not one lucky shot. A trap counts as triggered when a ball lands inside a 3 cm radius, and then adds its own two balls to the population.

The result: the tabletop's critical spacing is 17.5 cm. Below it the box is supercritical — at 5 cm spacing, 399 of 400 traps fire, all of it over in about 9 seconds. Open the spacing to 20 cm and the same box manages 29 %: one ball in, a few dozen firings, silence.

Where the tabletop finds its critical mass

One box is one roll of the dice, so the spacing was swept from tightly packed — 3 cm apart, over a thousand traps on the floor — out to sparse, 20 cm apart and 25 traps, six randomised layouts at every spacing, recording the fraction of traps that ever fire.

Fraction of traps that fire versus trap spacing: a flat shelf at 100 percent out to about 10 cm, a knee near 12 to 15 cm, a 50 percent crossing at 17.5 cm, and 29 percent at 20 cm
The chain reaction has an edge, and this is it. Across the whole left-hand shelf — 3 cm out to 10 cm — essentially every trap fires, the six random layouts overlapping. Then the curve knees over: 94 % at 12 cm, 78 % at 15 cm, and the dashed line marks the 50 % crossover at 17.5 cm. Past it the box fizzles — 29 % at 20 cm. Pale gray dots are individual layouts: stacked at left, flying apart at right.

That crossover is the whole idea of a chain reaction made visible. Each firing launches about two balls — two “neutrons.” Whether the reaction grows or dies comes down to a single number: how many of those two, on average, land on a fresh trap before hitting a wall or the floor and stopping. Pack the traps densely and that number is comfortably above one, so the population multiplies every generation (k > 1, supercritical). Spread them out and most balls die in the gaps, so each firing fails to reliably replace itself (k < 1, subcritical) and the reaction sputters out. The critical spacing near 18 cm is where k = 1 — the knife-edge between the two.

The shape of that curve is worth more than the number on it. It is not a slope you can trade against; it is a shelf, a knee and a cliff. Between 12 cm and 20 cm — less than the span of a hand — the box goes from firing everything to firing under a third. On the shelf, small changes buy you nothing; past the knee, small changes buy you everything. The useful reading for a decision is therefore not “the threshold is 17.5 cm” but “do not sit near 17.5 cm.” Margin against a cascade is taken in density, out on the flat where the outcome stops caring about luck.

Is it right? The scatter at the threshold is the tell

The fair objection: any set of points that starts high and ends low can be drawn as an S-curve, and a spacing read off a fitted curve is just a number where somebody put a line. What makes 17.5 cm physical?

The answer is the spread of the six random layouts at each spacing, which is why they were run. Out on the dense shelf the six are effectively identical: from 3 cm through 8 cm every layout fires 98 % of the box or better. Randomising where the traps sit changes nothing, because no arrangement can starve a reaction with that many traps inside every throw's reach. At 15 cm the same six spread from 61 % to 94 %. At 20 cm they fly apart entirely — some fizzle under 10 %, one lucky arrangement carries 84 %.

That is a signature, not a fit. A system far from criticality is deterministic; a system near k = 1 is dominated by chance, because the outcome hangs on whether a handful of individual throws happen to connect. Were the S-curve a fitting artifact, the scatter would be roughly uniform along it. Instead the variance is near zero on the supercritical shelf and explodes precisely where the curve crosses 50 % — the behavior reactor physics predicts around criticality, reproduced without being asked for.

The launch physics gets its own check. Across the twenty-four calibration throws every ball landed, and the distance traveled clustered tightly: 2.47 to 3.30 m, median 2.90 m. Reach sets how many traps a throw can possibly find, so a long tail of freak launches would mean the threshold rested on rare events. A tight cluster means it is set by the typical throw.

Nine seconds to fire 399 of 400 traps

Below the critical spacing the reaction does not merely finish — it finishes the way a reactor does. In a dense box, 400 traps at 5 cm, traps fired against time is a textbook growth curve.

Cumulative traps fired versus time: near zero for the first two seconds, a steep self-feeding ramp between three and five seconds, saturating at 399 of 400 by nine seconds
One ball in at t = 0. A slow smouldering start while the population is tiny, a steep self-feeding ramp as every firing spawns more firings, then saturation as the box runs out of unfired traps. 399 of 400 fire, in about 9 seconds.

The three acts — slow start, exponential middle, saturating tail — are precisely the shape of neutron population in a reactor startup, or of anything that grows on itself against a finite supply. What sets the ramp's steepness is the ball flight and contact Rocky resolves: how far a throw carries, how much energy survives the first bounce, how wide it spreads.

The instructive part is the beginning. Two full seconds in, fewer than twenty traps have fired — under 5 % of the box, and anyone watching would call it a dud. In the next three seconds it fires three-quarters of the box. Exponential growth has no warning phase; the flat part is the warning, and it looks identical to nothing happening. It is also why a subcritical layout and a supercritical one are nearly indistinguishable early on, and why people who manage cascading systems watch the rate of change, not the count.

The end is instructive in a smaller way: one trap out of 400 never fires. In a box that is emphatically supercritical, with balls saturating the floor for seconds, one trigger patch never caught a landing ball. Supercritical is a claim about the average, not a promise about every element — worth remembering whenever a cascade model is used to argue something is guaranteed to propagate.

The real-world connection

Chain reactions and cascading failures are one of the most general patterns in engineering, and they almost always hide the same threshold this box makes obvious: a population of primed elements, a trigger that releases more triggers, and a critical density that separates “fizzles” from “runs away.” It is the mathematics behind reactor criticality, cascading power-grid blackouts, avalanche and rockfall initiation, and the propagation of a fault through any tightly-coupled network. Anyone who has watched a reproduction number hover around one has met k = 1 in another costume.

The discrete-body machinery underneath is not exotic either — thousands of colliding particles resolved one contact at a time is everyday DEM work: pharmaceutical tablet coating and blending, mining and bulk-materials transfer chutes, additive-manufacturing powder spreading, conveyor and hopper design. The mousetrap box is just the cheapest possible teacher for “discrete bodies, contact, and the density at which a cascade takes off” — and its three governing numbers (how many triggers each event releases, how far they reach, how densely they are packed) are the three that separate a controlled process from a runaway one at every scale that matters.

Honest scope. The traps are energy-calibrated launch pads, not meshed spring-steel bails — a trap is an event that, when triggered, injects two balls at the launch speed and spread measured in Rocky, so the mechanism (fling → trigger → fling) is faithful while trap geometry and release energy are idealized. The DEM hero runs a smaller trap count than the criticality study, for a readable picture; the criticality sweep and the growth curve come from a DEM-calibrated reduced-order cascade model that inherits its launch kinematics from Rocky but approximates each flight as ballistic-plus-bounce rather than resolving every collision — that one approximation carries all the population-scale results, and is why the threshold is quoted to a hand-span, not a millimeter. The balls fly dry, with no air: gravity and contact are resolved, gas coupling was not used, so there is no aerodynamic drag — air would shorten a light ball's range and push the critical spacing tighter, making our threshold an optimistic, loose bound. Restitution, trigger radius and launch speed are physically reasonable but not fit to a specific trap-and-ball product; this is a mechanism study, not a product qualification. The ping-pong-balls-on-mousetraps chain reaction is a classic physics-education demonstration, famously filmed for mid-century atomic-energy outreach; what is new is rebuilding it in DEM and putting a number on the threshold.

Have a system where one failure can set off the next — a packed bed, a conveyor line, a bank of protective devices, a stack of stored energy — and you need to know whether it damps out or runs away? The same Ansys workflow behind the mousetrap box — Rocky DEM to measure a single event body by body, then that measured physics carried to population scale — is how Rand Simulation puts a real number on the spacing, density or margin that separates a contained event from a cascade. That's innovation through insight.

RS
Rand Simulation — Applications Engineering AI

Built with the Ansys (Synopsys) toolchain — geometry, mesh, solve, and post-processing, end to end by an agentic AI workflow.