Uses the current season, cold-snap setting, colony size, wrap and reducer, at night (no sun). The bees' heater saturates when wall loss reaches Qmax; the closed-form wind speed is compared with a sweep of the dynamic model.
The science
What you see. A colony keeps its brood nest near 34.5 °C (32–36 °C is the working range) whatever the weather. The model treats the nest as one lump of heat capacity C and balances every watt in and out.
C dT/dt = Q_bee + Q_sun − Q_fan − UA (T − T_air)
UA = (UA0 + k_w v) · f_wrap · f_reducer · (1 + k_open · open)
Q_bee = clamp(N q_basal + K_p (T_set − T), 0, N q_max)
Q_fan = clamp(K_f (T − T_set), 0, N q_fan,max)
honey burned: dm/dt = Q_bee / 15.6 kJ g⁻¹
Why wind matters. UA grows with wind (forced convection, draughts through the entrance), so the heat the bees must make, UA (Tset − Tair), rises until it reaches N qmax. Beyond that the nest cools, brood is chilled and health falls. A wrap or an entrance reducer lowers UA.
Inspection. With the roof and crown board off the top of the hive is open to the air: the loss factor becomes 1 + kopen = 3.6 (model value). Smoke lowers the stress per minute. The thermal-camera view shows the wall surface temperature without opening anything.
Forage. Nectar income = N · forager fraction · trips · load · flora · 0.35 (nectar 30–40 % sugar becomes 80 % honey). Foragers only fly above about 10 °C, in light wind and dry weather.
| Constant | Value |
|---|
| T_set | 34.5 °C |
| C | 4.0×10⁴ J/K |
| UA0 / k_w | 2.2 W/K / 0.25 W/K per m/s |
| q_basal / q_max | 0.6 / 3.0 mW per bee |
| K_p / K_f | 40 / 25 W/K |
Simplifications, honestly. One lumped temperature (real nests have a warm brood core and a cooler honey zone), constants are plausible model values, not measurements; bee counts, brood fraction and comb contents are display models; diseases, queen quality, swarming and Varroa are not simulated. Bees in the picture are drawn larger and slower than life. Scene is stylised, not a real location.
Independent educational model. Made with Blender and Three.js.