This is a 2D field counterpart to the 3D softening-column simulator. Instead of orbiting a rendered bead cloud at one instant, the whole history of the column is unrolled flat: bed depth runs down the vertical axis (top = inlet, bottom = outlet) and accumulated bed volumes treated runs left→right along the horizontal axis. Every cell in that field is its own independent evaluation of the standard fixed-bed Thomas model, so the moving mass-transfer zone (MTZ) shows up directly as a diagonal band sweeping down and across:
C(h,BV)/C₀ = 1 / (1 + exp[k_Th·(BV₅₀·h − BV)])
h = fractional bed depth, 0 (inlet) .. 1 (outlet)
BV₅₀ = resin capacity ÷ feed hardness → BV to 50% breakthrough
k_Th = rate constant — larger for smaller beads (shorter
intraparticle diffusion path → sharper front)
At h = 1 (outlet), this reduces to the classic effluent breakthrough curve plotted in the mini graph. At earlier depths (smaller h) the same logistic front arrives sooner, which is exactly why the MTZ reads as a tilted band rather than a vertical line — shallower resin exhausts first.
- Flow rate — higher throughput advances the bed-volume counter faster in real time; the field's shape is unchanged, it just scrolls by sooner.
- Feed hardness — a higher Ca²⁺/Mg²⁺ concentration burns through the same fixed resin capacity in fewer bed volumes, so the whole field compresses horizontally (BV₅₀ = q₀/C₀ falls).
- Bead diameter — smaller beads sharpen (steepen) the MTZ band; larger beads spread it into a broader diagonal streak.
- Regenerate — flushing with concentrated NaCl brine collapses the accumulated bed-volume counter back toward zero (mass-action reversal), which reads on the field as the diagonal band retreating back toward the left edge.