DiscreteRate Sandbox
History Lineage Primitives vs DES FAQ
Schedule a call
sim time t = 0

Fast-Slow Drain · tank view

Same physical tank rendered three ways. Watch how each worldview's level updates as the simulation runs — smooth, stepped, or snapped.

CONTINUOUS smooth, every time slice 0 % ~thousands of time slices DISCRETE EVENT step per drop in / out 0 % events 0 DISCRETE RATE events on rate change only 0 % events 0 current phase: FILLING (rate +)
~1000Continuous slices
0DES events
0DRS events

Fast-Slow Drain · level over time

Discrete event is a staircase (one step per integer-% change). Discrete rate is piecewise-linear — just two anchors per fill-empty cycle (FULL and EMPTY). Pick a run length and watch the event-density strip below: continuous and discrete-event counts climb with the clock while discrete-rate tracks only the cycles.

sim time → level (%) Continuous Discrete Event Discrete Rate CONT DES DRS 0 0 0 event density — one tick per simulation event  |  right-edge count = events fired so far

Fast-Slow Drain · run it longer

DRS fires an event only when a rate changes — about twice per fill-empty cycle. So it doesn't matter how long you run: turn the knob and watch continuous and discrete-event counts explode while discrete-rate stays a sliver. DRS counts are real engine output; continuous / DES are illustrative comparisons.

CONTINUOUS time slices DISCRETE EVENT per level-crossing DISCRETE RATE per rate change · real engine
Fill-empty cycles
DRS events (real)
Fewer than DES

Hamburger Duo · line view

5-stage line, two worldviews on the same clock. DES (top) tracks each burger; DRS (bottom) shows stage rates as bars. An Amber DRS bar = stage throttled by downstream backpressure.

DES DRS Source 300 / 300 DEFROST 0.20/min Thawed 0/15 COOKER 0.25/min Cooked 0/5 SEASONING 0.18/min Served 0 / 300 Source 300 / 300 DEFROST Thawed 0/15 COOKER Cooked 0/5 SEASONING Served 0 / 300 events 0 events 0
0DES events
0DRS events
0Burgers served
SeasoningBottleneck (0.18/min)

Hamburger Duo · cumulative throughput

Same plant, same simulated clock, both worldviews. DES renders as a staircase (one step per burger arrival). DRS renders as a smooth diagonal (continuous flow). Both reach the same place at the same time — calibration holds.

sim time → burgers served DES staircase DRS linear

Valdez Tanker · harbor view

Pipeline (flow) fills the tank; tankers (items) arrive, dock, and load. The flow-to-item transition is where pipeline oil becomes ship cargo.

PORT OF VALDEZ · ITEMS + FLOW PIPELINE ↓ (flow) STORAGE TANK (flow) 1200 tb Flow → item BERTHS (loading) 3 berths TUG POOL 3 / 3 tugs available ——— VALDEZ HARBOR ——— ← ARRIVE empty (from Seattle) DEPART full → (to Seattle · unloading off-screen)
30Cycles loaded (365 days)
4500Tons delivered
12.5dMean cycle interval
150 tbTanker cargo
EVENT STREAM · Arrivals · docks · departures · loadings

Valdez Tanker · geographic view

The real Valdez Marine Terminal in Prince William Sound, Alaska. Watch the tanker traverse the canonical route — Marine Terminal → Valdez Narrows (the actual narrow bay) → past Bligh Reef → through Hinchinbrook Entrance to the Gulf of Alaska, then ~1,800 nautical miles south to Seattle (off-map).

Sim day Cycle / 30 Phase Distance traveled nm
30Cycles loaded (365 days)
4500Tons delivered
12.5dMean cycle interval
~1800 nmOne-way to Seattle

Vegetable Plant · distribution view

Two Making lines feed five Packing lines through a bank of eight surge bins. A single DRS rate solver splits the flow across the bins and rebalances continuously — the layer Plant Builder adds on top of the three primitives. Bins and delivered totals below are engine-faithful; the motion is illustrative.

MAKING 1 campaigns 2 MAKING 2 campaigns 2 DRS LP split
85%Plant utilization
20/20Campaigns complete
20Products (SKUs)
8Surge bins (DRS split)

Vegetable Plant · campaign schedule

Plant Builder runs the plant as a sequence of campaigns, not one steady rate. Each bar is a real campaign (Excel-serial dates from the model), colored by product; the cursor sweeps the active window. Every campaign in this run hit 100% of its goal.

2910 minActive window
100%Goal attainment
0 minDowntime (rate-based)

Chocolate Processing · DES↔DRS bridge

Three systems in series — Bean Processing → Cocoa Powder → Chocolate — run as a joint DESDRS model: DES schedules the campaigns and the equipment failures (discrete events); a DRS rate solver carries the continuous flow between them; the bridge couples the two. Attainment, downtime, and utilization below are engine-faithful; the motion is illustrative.

DES schedules campaigns · DRS solves the flow · the bridge couples them — equipment failures (red) interrupt the rate DES · CAMPAIGN DRS · FLOW ● DOWN attainment busy util downtime Bean Processing DES · CAMPAIGN DRS · FLOW ● DOWN attainment busy util downtime Cocoa Powder DES · CAMPAIGN DRS · FLOW ● DOWN attainment busy util downtime Chocolate
15/15Campaigns complete
93%Schedule occupancy
57%Busy utilization (flow)
7890 minEquipment downtime

Chocolate Processing · campaign schedule

The same plant as a campaign schedule. Each bar is a real campaign (colored by product); the red portion is engine-reported equipment downtime within that campaign — the failures the DES side injects and the DRS flow has to absorb. The cursor sweeps the active window.

7440 minActive window
7890 minEquipment downtime
93%Schedule occupancy

Bottling Line · where the losses really are

One line, six stations in series — a material supply feeding a Filler, Capper, Labeler, Case Packer and Palletizer. Each station is modeled down to its individual loss events — the LEDS level. Press play: stations drop offline at their real failure rates and starve everything downstream. Watch the Capper — it's offline nearly a third of the time. Anonymized generic line; per-station availability engine-faithful, downtime motion illustrative.

Line uptime
Worst station
LEDS loss events
Resolving a line down to its individual loss events isn't detail for its own sake — it's what makes rate-based models match the real plant. A 2020 Winter Simulation Conference study independently validated this approach to within 1% OEE on real production lines.
Lange & Fischel, WSC 2020 →

Tissue Line · a strategic decision

Three capital decisions for one line — bypass the converter, run it, or add a storage tower. Pick one and watch the throughput. The surprise: it barely moves — because the binding constraint is upstream, at the parent-reel supply. Anonymized; throughput as % of nameplate.

THROUGHPUT · % OF NAMEPLATE Binding bottleneck: Parent-reel supply (upstream) The converter / storage decision sits downstream of the bottleneck, so throughput barely changes — and the storage tower even costs a point (it barely fills, starved by the supply). Invest at the constraint.
Throughput (% nameplate)
SupplyBinding bottleneck
Converter availability

The sandbox is yours

Use it freely. Discrete Rate Simulation has been ChiAha's modeling primitive since 1990 — book a short call if you'd like to talk through your own model.