This is a stochastic microstate counterpart to the 3D lattice view: instead of directly setting a molecule count from the isotherm value, every one of the ~300 pore sites drawn on the grid runs its own independent two-state kinetic Monte Carlo (KMC) process, switching between empty and occupied at real adsorption/desorption rates. The site-averaged coverage that emerges from those independent coin-flips is what should converge to the textbook Langmuir isotherm — a genuine bottom-up statistical-mechanics simulation, not a flattened camera view of the 3D scene.
dθ/dt = k_a·P·(1−θ) − k_d·θ (per-site Langmuir kinetics)
θ_eq = b(T)·P / (1 + b(T)·P) (b = k_a/k_d, same isotherm as the 3D model)
b(T) = b0·exp(−ΔH_ads / R·T)
Each frame, every empty site adsorbs with probability 1−exp(−k_a·P·dt) and every occupied site desorbs with probability 1−exp(−k_d·dt) — an exact discrete-time sampling of a continuous-time Markov jump process. Averaged over the whole lattice, the live coverage fluctuates around θ_eq with the shot noise expected of a finite number of independent sites (~1/√N), and the readout panel shows both numbers side by side so the stochastic model's convergence to the closed-form isotherm is visible directly, not assumed.
The deliverable (working) capacity is unchanged physics:
Δn = n(P_ads) − n(P_des), n(P) = n_max·θ_eq(P)
- Charge / discharge pressure sliders — set the two ends of the pressure-swing cycle; the shaded band on the isotherm shows Δn, and the lattice's adsorption rate k_a·P visibly speeds up or slows down as pressure changes.
- Temperature slider — shifts b(T), so at the same pressure a hotter lattice settles into a lower steady-state occupied fraction (fewer yellow sites at equilibrium) — exothermic adsorption weakening with heat.
- MOF ON/OFF — swaps the KMC pore lattice for a 2D box of independently bouncing free-gas disks whose count is set by the ideal-gas density P/(R·T), the same volumetric comparison the 3D version makes, rendered here as a genuinely 2D kinetic-gas box rather than a 3D particle cloud.
- Run cycle — ramps pressure through a full charge → discharge triangle wave; watch the lattice's live coverage chase the moving equilibrium curve with visible lag from the finite k_d relaxation rate.