You run the dock and cold store of a distribution hub for temperature-sensitive goods such as vaccines. Every open door lets warm air in, every truck in the queue is waiting cargo, and the product must stay between 2 °C and 8 °C.
What you will learn
How dock doors, walls and refrigeration add up in a cold room’s heat balance.
How queueing theory sizes dock staffing (M/M/c, Little’s law).
Why product temperature lags air temperature, and how excursions are counted.
Simulator
Time 0 min
·Door idle
⇄Unloading (door open)
🚚Truck waiting
🚚Failed reefer
Controls
Each staffed door unloads one truck at a time — and lets warm air in while open.
Inside the 2–8 °C band. Lower gives more buffer but uses more energy.
Two compressors, 40 kW of cooling each.
Cuts warm-air infiltration through open doors; the fans use some power.
Moves the truck with the failed refrigeration unit to the front of the queue.
Indicators
Product temperature
5.0°C
normal
Truck waiting time
0min
normal
Temperature excursion
0.00°C·h
normal
Failed reefer cargo
4.0°C
normal
Cold-room air
5.0 °C
Crew time (staffed door-hours)
0.5 h
Trucks waiting
0
Dock utilization
0 %
Refrigeration power
0.0 kW
Trend
Crisis scenarios
Level 1 · Compressor failure on a hot day
33 °C outside, trucks arriving steadily, four doors open for unloading. One of the two compressors is about to fail. Keep the vaccines inside 2–8 °C.
Product never above 8 °C
Cold-room air never above the 7 °C pre-alarm (site setting — assumption)
Average truck wait ≤ 60 min
Level 2 · Holiday peak
Four hours into a 14-hour operating day, the holiday peak begins: for seven hours, 7 trucks an hour arrive on booked slots — more than twice the usual 3 — and only three doors are staffed. Booked drivers have slot times, so the average wait must stay at or under 20 minutes. Extra dock crews are on call, but the overtime budget covers 68 staffed door-hours for the day. Open enough doors in time — without cooking the cold room on a 33 °C afternoon.
Average truck wait ≤ 20 min from the peak on (slot times — hard limit)
Product never above 8 °C
Average refrigeration power ≤ 55 kW
Crew time ≤ 68 door-hours (overtime budget — assumption)
Level 3 · Reefer failure in the yard
Twelve trucks are already waiting and only two doors are staffed. Then the refrigeration unit of a truck at the back of the queue dies — in 35 °C heat.
Failed reefer cargo never above 8 °C
Store product never above 8 °C
Average truck wait ≤ 90 min
Basis — the model behind the numbers
Every relation the simulator uses, with its source. Constants marked as assumptions are illustrative calibrations.
Cold-room heat balance: walls and open doors bring heat in, refrigeration takes it out.
C · dT/dt = UA·(T_out − T) + Q_door − Q_refrig[3][2]Assumption: thermal mass, wall and door conductance, compressor size and service time are illustrative values.
Door infiltration grows with the number of open doors and the temperature difference; air curtains cut it.
Q_door = n_open · 0.6 · 1.2 kW/K · (T_out − T) · (1 − 0.7·curtain)[2]Assumption: thermal mass, wall and door conductance, compressor size and service time are illustrative values.
Refrigeration efficiency as a fraction of the Carnot limit.
cold room 60 MJ/K, walls 0.6 kW/K · door open 60 % of unloading · air curtain −70 % infiltration, +3 kW fan per busy door · 2 × 40 kW compressors, −1 %/K above 32 °C · 4 kW per busy door (levellers, lights) · failed reefer τ = 3 h · scenario site settings: cold-room pre-alarm 7 °C, overtime budget 68 door-hours per 14 h day · booked trucks miss 5 % of slots · unloading Erlang-2Assumption: thermal mass, wall and door conductance, compressor size and service time are illustrative values.
Walk-in trucks arrive at random, booked trucks on their appointment slots (a few miss them), and doors serve them in parallel. Waiting time follows Little’s law: the queue divided by the trucks actually unloaded per hour over the last hour, so an unchanged queue does not jump when the arrival rate changes.
arrivals ~ Poisson(λΔt) + booked slots (5 % no-show), service ~ Erlang-2 (mean 45 min), c staffed doors; X = n_busy / 45 min (smoothed, τ = 1 h); W_q = L_q / X[6][5]
Crew time: every staffed door is paid for, whether or not a truck is at it.
crew time = Σ c_staffed · Δt [door-hours]
Randomness: a seeded mulberry32 generator; distributions used — uniform, exponential (inverse CDF), normal (Box–Muller), Poisson (Knuth). The seed is shown and shareable.