Feed (saline)
Permeate (fresh)
Rejected salt
This 2D companion drives the same reverse-osmosis physics as the 3D version through a readable canvas cross-section: a feed compartment under adjustable hydraulic pressure sits against a semi-permeable membrane, with a fresh permeate compartment on the other side. Water flux and salt flux are computed from the solution-diffusion model with a real van't Hoff osmotic-pressure term, concentration polarization builds visibly at the membrane wall, and a finite feed reservoir concentrates over time so recovery, rejection and flux all evolve the way a real batch RO cell behaves — including clamping to zero flux whenever applied pressure falls below the osmotic pressure it needs to overcome.