Process & Water Chemistry

Formula sheet · learning zone · practice problems with answer key

Dose, treat, protect & separate · 109 formulas · 122 practice problems · metric edition 1

The practice problems are edition-drawn: a later edition deals fresh numbers, so keep the key with the printing it came from. The Exam Room deals new numbers on every attempt.

The formula sheet

Moles from Mass (n = m/M)
n=mMn = \frac{m}{M}
Molarity (C = n/V)
C=nVC = \frac{n}{V}
Mass Percent of a Solution
c=msolutemsolution×100%c = \frac{m_{\text{solute}}}{m_{\text{solution}}} \times 100\%
Particles from Moles (Avogadro's Number)
N=nNAN = n\,N_A
Dilution Equation (C1V1 = C2V2)
C1V1=C2V2C_1 V_1 = C_2 V_2
Ideal Gas Law
PV=nRTP V = n R T
Gas Volume at STP
V=nVmV = n\,V_m
Gas Density from Molar Mass
ρ=PMRT\rho = \frac{PM}{RT}
Percent Yield
%yield=mactualmtheoretical×100%\%\,\text{yield} = \frac{m_{\text{actual}}}{m_{\text{theoretical}}} \times 100\%
Percent Composition of an Element
%X=aMXMcompound×100%\%X = \frac{a\,M_X}{M_{\text{compound}}} \times 100\%
Titration: Concentration of an Unknown
Ca=nCbVbVaC_a = \frac{n\,C_b V_b}{V_a}
Normality from Molarity
N=M×neqN = M \times n_{\text{eq}}
Equivalent Weight from Molar Mass and Valence
EW=Mz\mathrm{EW} = \frac{M}{z}
Chlorine Dose, Demand and Residual
D=Cdemand+CresD = C_{\text{demand}} + C_{\text{res}}
Chemical Feed Rate (lb/day = mg/L × MGD × 8.34)
m˙=CQ\dot m = C \, Q
Pounds of Active Chemical in a Tank
m=V×SG×ρw×pm = V \times \mathrm{SG} \times \rho_w \times p
Hypochlorite Product Mass from Available Chlorine
mprod=mCl×100%pm_{\text{prod}} = \frac{m_{\mathrm{Cl}} \times 100\%}{p}
Chlorine Dose from a Weight of Product
C=mpVC = \frac{m \, p}{V}
Breakpoint Chlorine-to-Ammonia Ratio
R=Cl2NH3-NR = \frac{\mathrm{Cl_2}}{\mathrm{NH_3\text{-}N}}
CT Achieved (Disinfectant Residual × Contact Time)
CT=CT10\text{CT} = C \, T_{10}
Effective Contact Time from Baffling Factor
T10=θ×BFT_{10} = \theta \times \mathrm{BF}
Log Inactivation from Counts
LR=log10 ⁣(N0N)\mathrm{LR} = \log_{10}\!\left(\frac{N_0}{N}\right)
Log Reduction to Percent Kill
P=110LRP = 1 - 10^{-\mathrm{LR}}
Chick–Watson Inactivation
log10 ⁣(N0N)=kCnt\log_{10}\!\left(\frac{N_0}{N}\right) = k \, C^{\,n} \, t
First-Order Chlorine Decay
C=C0ektC = C_0 \, e^{-k t}
First-Order Integrated Rate Law
[A]=[A]0ekt[\mathrm{A}] = [\mathrm{A}]_0\,e^{-kt}
Total Hardness as CaCO₃
TH=2.497Ca+4.118Mg\mathrm{TH} = 2.497\,\mathrm{Ca} + 4.118\,\mathrm{Mg}
Ion Concentration as CaCO₃ Equivalent
CCaCO3=Cion×50.04EWC_{\mathrm{CaCO_3}} = C_{\mathrm{ion}} \times \frac{50.04}{\mathrm{EW}}
Grains per Gallon ↔ ppm Hardness
H=17.118GH = 17.118\,G
Total Alkalinity as CaCO₃ from Species
TA=0.8202HCO3+1.6679CO3+2.9425OH\mathrm{TA} = 0.8202\,\mathrm{HCO_3} + 1.6679\,\mathrm{CO_3} + 2.9425\,\mathrm{OH}
Acid Feed to Reduce Alkalinity
m˙=ΔAlkQ×EW50.04p/100%\dot m = \frac{\Delta \mathrm{Alk} \, Q \times \frac{\mathrm{EW}}{50.04}}{p/100\%}
TDS Estimated from Conductivity (TDS = k × EC)
TDS=k×EC\mathrm{TDS} = k \times \mathrm{EC}
Water Resistivity and Conductivity
ρ=1σ\rho = \frac{1}{\sigma}
Hardness Load Removed per Regeneration
m=CVm = C \, V
Softener Resin Volume Required
V=mcapqV = \frac{m_{\text{cap}}}{q}
Days Between Softener Regenerations
t=mcapCQt = \frac{m_{\text{cap}}}{C \, Q}
Salt Dose per Regeneration
msalt=DVm_{\text{salt}} = D \, V
Hardness Removal Efficiency and Leakage
R=CinCoutCinR = \frac{C_{\text{in}} - C_{\text{out}}}{C_{\text{in}}}
Cycles of Concentration (COC = M/B)
COC=MB\text{COC} = \frac{M}{B}
Cycles of Concentration from Conductivity
COC=σtσm\text{COC} = \frac{\sigma_t}{\sigma_m}
Cycles of Concentration from Chloride
COC=CltClm\text{COC} = \frac{\mathrm{Cl}_t}{\mathrm{Cl}_m}
Cooling Tower Evaporation Rate
E=0.001RΔTE = 0.001 \, R \, \Delta T
Blowdown Rate from Cycles
B=ECOC1B = \frac{E}{\text{COC} - 1}
Cooling Tower Makeup Water Rate
M=E+B+DM = E + B + D
Cooling Tower Drift Loss
D=d100RD = \frac{d}{100} \, R
Cooling Tower Range
ΔT=ThTc\Delta T = T_h - T_c
Cooling Tower Approach
A=TcTwbA = T_c - T_{wb}
Cooling Tower Heat Rejection
Q=500RΔTQ = 500 \, R \, \Delta T
Chemical Feed Rate from Dose
W=CQρwW = C \, Q \, \rho_w
Dose Achieved from Chemical Added
C=mVρwC = \frac{m}{V \, \rho_w}
Product Dose from Active Strength
Dp=100DaAD_p = \frac{100 \, D_a}{A}
Closed Loop Slug Dose Volume
Vp=CVsρwρpV_p = \frac{C \, V_s \, \rho_w}{\rho_p}
Holding Time Index
HTI=ln2  VB\text{HTI} = \frac{\ln 2 \; V}{B}
System Volume from Turnover Time
V=RtV = R \, t
Boiler Cycles of Concentration
COC=TDSbTDSfw\text{COC} = \frac{\text{TDS}_b}{\text{TDS}_{fw}}
Boiler Blowdown Percent
%B=TDSfwTDSb×100\%B = \frac{\text{TDS}_{fw}}{\text{TDS}_b} \times 100
Boiler Blowdown Rate from Steam Rate
B=SCOC1B = \frac{S}{\text{COC} - 1}
Condensate Return Percentage
%CR=ScS×100\%CR = \frac{S_c}{S} \times 100
Boiler Makeup from Condensate Return
M=S(1%CR100)M = S\left(1 - \frac{\%CR}{100}\right)
Flash Steam Percentage
%F=hf1hf2hfg2×100\%F = \frac{h_{f1} - h_{f2}}{h_{fg2}} \times 100
Langelier Saturation Index (LSI)
LSI=pHpHs\mathrm{LSI} = \mathrm{pH} - \mathrm{pH_s}
Saturation pH (pHs) for Langelier's Index
pHs=(9.3+A+B)(C+D)\mathrm{pH_s} = (9.3 + A + B) - (C + D)
Ryznar Stability Index (RSI)
RSI=2pHspH\mathrm{RSI} = 2\,\mathrm{pH_s} - \mathrm{pH}
Puckorius (Practical) Scaling Index
PSI=2pHspHeq,pHeq=1.465log10Alk+4.54\mathrm{PSI} = 2\,\mathrm{pH_s} - \mathrm{pH_{eq}}, \quad \mathrm{pH_{eq}} = 1.465\,\log_{10}\mathrm{Alk} + 4.54
Larson–Skold Index
LS=Cl35.45+SO448.03Alk50.04\mathrm{LS} = \dfrac{\frac{\mathrm{Cl}}{35.45} + \frac{\mathrm{SO_4}}{48.03}}{\frac{\mathrm{Alk}}{50.04}}
Dissolved Oxygen Saturation with Temperature
lnCs=139.34411+1.575701×105T6.642308×107T2+1.243800×1010T38.621949×1011T4\ln C_s = -139.34411 + \frac{1.575701 \times 10^5}{T} - \frac{6.642308 \times 10^7}{T^2} + \frac{1.243800 \times 10^{10}}{T^3} - \frac{8.621949 \times 10^{11}}{T^4}
Corrosion Rate from Coupon Weight Loss
P=mYρAtP = \frac{m \, Y}{\rho \, A \, t}
Wall Penetration and Remaining Life
L=TTrPL = \frac{T - T_r}{P}
Penetration Rate from Corrosion Current Density
P=iMnFρP = \frac{i \, M}{n \, F \, \rho}
Galvanic Driving Voltage
ΔE=EcEa\Delta E = E_c - E_a
Sacrificial Anode Mass for a Required Life
W=ItCuW = \frac{I \, t}{C \, u}
Anode Current Output
I=ΔERI = \frac{\Delta E}{R}
Cathodic Protection Current Demand
I=AifI = A \, i \, f
Pitting Resistance Equivalent Number (PREN)
PREN=%Cr+3.3%Mo+16%NPREN = \%Cr + 3.3\,\%Mo + 16\,\%N
Hydraulic Detention Time
t=VQt = \frac{V}{Q}
Surface Overflow Rate
vo=QAv_o = \frac{Q}{A}
Clarifier Solids Loading Rate
SLR=(Q+Qr)XA\text{SLR} = \frac{(Q + Q_r) \, X}{A}
Stokes Settling Velocity
vs=g(ρsρ)d218μv_s = \frac{g (\rho_s - \rho) d^2}{18 \mu}
Filtration Rate (Filter Loading Rate)
vf=QAv_f = \frac{Q}{A}
Backwash Water Volume
Vbw=vbAtV_{bw} = v_b \, A \, t
Percent Backwash Water
%BW=VbwVf×100\%BW = \frac{V_{bw}}{V_f} \times 100
Jar Test Dose Scale-Up
D=VstCstVsD = \frac{V_{st} \, C_{st}}{V_{s}}
Alkalinity Remaining After Alum
Af=A00.45DA_f = A_0 - 0.45 \, D
BOD Mass Loading
W=QCW = Q \, C
BOD Removal Efficiency
E=CiCeCi×100E = \frac{C_i - C_e}{C_i} \times 100
Population Equivalent
PE=WwPE = \frac{W}{w}
Food-to-Microorganism (F/M) Ratio
FM=QS0VX\frac{F}{M} = \frac{Q \, S_0}{V \, X}
Mean Cell Residence Time (Sludge Age)
SRT=VXQwXw\text{SRT} = \frac{V \, X}{Q_w \, X_w}
Sludge Volume Index (SVI)
SVI=SV30X\text{SVI} = \frac{SV_{30}}{X}
Return Activated Sludge Rate
Qr=QXXrXQ_r = \frac{Q \, X}{X_r - X}
Raoult's Law
P=xP0P = x \, P^{0}
Henry's Law (Gas Solubility)
C=HPC = H\,P
Relative Volatility (Binary)
α=y(1x)x(1y)\alpha = \frac{y\left(1 - x\right)}{x\left(1 - y\right)}
Column Material Balance (Distillate and Bottoms Split)
D=FzFxBxDxBD = F\,\frac{z_F - x_B}{x_D - x_B}
Reflux Ratio
R=LDR = \frac{L}{D}
Boilup Ratio
VB=VBV_B = \frac{V}{B}
Fenske Equation (Minimum Stages)
Nmin=ln ⁣[xD1xD1xBxB]lnαN_{min} = \frac{\ln\!\left[\frac{x_D}{1 - x_D}\cdot\frac{1 - x_B}{x_B}\right]}{\ln \alpha}
Overall Column Efficiency
Eo=NtNaE_o = \frac{N_t}{N_a}
Gilliland Correlation (Actual Stages)
NNminN+1=1exp ⁣[(1+54.4X11+117.2X) ⁣(X1X)],X=RRminR+1\frac{N - N_{min}}{N + 1} = 1 - \exp\!\left[\left(\frac{1 + 54.4X}{11 + 117.2X}\right)\!\left(\frac{X - 1}{\sqrt{X}}\right)\right],\quad X = \frac{R - R_{min}}{R + 1}
Rectifying Operating Line (McCabe–Thiele)
y=RR+1x+xDR+1y = \frac{R}{R + 1}\,x + \frac{x_D}{R + 1}
Stripping Operating Line (McCabe–Thiele)
y=VB+1VBxxBVBy = \frac{V_B + 1}{V_B}\,x - \frac{x_B}{V_B}
Feed Line (q-Line)
y=qq1xzFq1y = \frac{q}{q - 1}\,x - \frac{z_F}{q - 1}
Packed Column Height from HTU and NTU
Z=HOGNOGZ = H_{OG} \, N_{OG}
Transfer Units for Dilute Absorption
NOG=ln[y1y2(11A)+1A]11AN_{OG} = \frac{\ln \left[ \dfrac{y_1}{y_2} \left( 1 - \dfrac{1}{A} \right) + \dfrac{1}{A} \right]}{1 - \dfrac{1}{A}}
Absorption Factor
A=LmVA = \frac{L}{m V}
Kremser Equation for Absorption Stages
N=ln[y1y2(11A)+1A]lnAN = \frac{\ln \left[ \dfrac{y_1}{y_2} \left( 1 - \dfrac{1}{A} \right) + \dfrac{1}{A} \right]}{\ln A}
D-Value (Decimal Reduction Time)
D=tLRD = \frac{t}{\mathrm{LR}}
z-Value (Thermal Resistance Constant)
z=T2T1log10D1log10D2z = \frac{T_2 - T_1}{\log_{10} D_1 - \log_{10} D_2}
F-Value (Equivalent Time at Reference Temperature)
F=t×10(TTref)/zF = t \times 10^{\,(T - T_{ref})/z}

Stoichiometry at Scale

Moles from Mass (n = m/M)

n=mMn = \frac{m}{M}
mMn
Where
  • nn= Amount of substance (mol)
  • mm= Mass (kg)
  • MM= Molar mass (g/mol)

The mole is chemistry's counting unit — a fixed number of particles large enough to weigh on a bench balance. Dividing a measured mass by the molar mass is the bridge between the two worlds: weigh out 36.0 g of water, divide by its molar mass of 18.02 g/mol, and you know you have 2.00 mol — about 1.2 × 10²⁴ molecules. Every stoichiometry problem starts or ends with this conversion, because balanced equations speak in moles while balances speak in grams.

The word mole was coined by Wilhelm Ostwald in the 1890s, but the idea goes back to Avogadro's 1811 hypothesis that equal gas volumes hold equal numbers of molecules. Since the 2019 SI redefinition, the mole is defined by an exact count — 6.02214076 × 10²³ particles — so molar masses in g/mol are now measured quantities rather than definitions.

Worked example: 116.88 g NaCl (M = 58.44 g/mol) → exactly 2 mol

Molarity (C = n/V)

C=nVC = \frac{n}{V}
VCn
Where
  • CC= Molar concentration (M)
  • nn= Amount of solute (mol)
  • VV= Volume of solution (L)

Molarity answers the practical question "how much stuff is in this bottle?" by counting moles of solute per liter of solution. Dissolve 58.44 g of table salt — exactly one mole of NaCl — in water and top up to the 1.00 L mark of a volumetric flask, and you have a 1.00 M solution. Note the fine print: it is per liter of solution, not per liter of water added, which is why chemists fill to a calibrated mark instead of adding a measured liter of solvent.

Molarity is the workhorse concentration unit because reactions are mole-to-mole affairs: multiplying C by a dispensed volume immediately gives the moles delivered, which is exactly what a titration calculation needs. Physiological saline is about 0.154 M NaCl, ocean water roughly 0.5 M, and concentrated hydrochloric acid around 12 M — a span that dilution calculations cross daily in every lab.

Worked example: 2 mol in 4 L → 0.5 mol/L

Mass Percent of a Solution

c=msolutemsolution×100%c = \frac{m_{\text{solute}}}{m_{\text{solution}}} \times 100\%
msolutemsolutionc
Where
  • cc= Mass percent (%)
  • msolutem_{\text{solute}}= Mass of solute (kg)
  • msolutionm_{\text{solution}}= Mass of solution (kg)

Mass percent is the concentration measure that needs nothing but a balance: the solute's mass divided by the mass of the whole solution — solute plus solvent — times 100. Dissolve 25 g of salt in 225 g of water and the solution is 25/250 × 100 = 10% salt by mass. The classic mistake is dividing by the solvent mass alone, which would wrongly give 11.1%.

Because it is temperature-proof and instrument-free, mass percent dominates industrial and household labels: household vinegar is about 5% acetic acid, physiological saline 0.9% NaCl, seawater roughly 3.5% dissolved salts, and concentrated sulfuric acid ships at 98%. Converting to molarity requires the solution's density, which is why bottle labels for concentrated acids list both figures side by side.

Worked example: 25 g salt in 250 g solution → c = 10%

Particles from Moles (Avogadro's Number)

N=nNAN = n\,N_A
nN
Where
  • NN= Number of particles
  • nn= Amount of substance (mol)

A mole is a count and nothing more mysterious — the chemist's dozen, scaled up to something useful. Multiply an amount in moles by the Avogadro constant and you have the literal number of particles in front of you. The only real question is why the constant is that particular size, and the answer is that it was chosen to make the bridge between two worlds land cleanly: NAN_A is the number of atoms that makes a mole of carbon-12 weigh exactly 12 grams. That choice is what lets a mass in grams read off a balance be converted into a count of atoms, which is the single most useful trick in chemistry.

Scale is the thing worth feeling here. A 250 g glass of water is 250/18.015 = 13.9 mol, so it holds 13.9×6.022×1023=8.4×102413.9 \times 6.022\times10^{23} = 8.4\times10^{24} molecules. Now count the other way: all the water on Earth, about 1.4×10211.4\times10^{21} litres, divided into 250 g glasses, comes to roughly 5.4×10215.4\times10^{21} glasses. There are about fifteen hundred times more molecules in one glass of water than there are glasses of water in every ocean on the planet. That ratio is why chemists never think about individual molecules and why statistical behaviour is so reliable at this scale.

The constant carries Avogadro's name but not his arithmetic — he proposed in 1811 that equal gas volumes hold equal numbers of particles, and never estimated the number. Jean Perrin did, from Brownian motion, and named it for Avogadro in 1909, work that took him the 1926 Nobel Prize. The 2019 SI redefinition then reversed the logic entirely. NAN_A is now exact by decree at 6.02214076 × 10²³ per mole, and the mole is defined as that many entities. Carbon-12's role is retired: a mole of it now weighs 12 grams only to within experimental uncertainty, rather than by definition. So 2.00 mol contains exactly 1.204428152 × 10²⁴ particles, with no uncertainty in the constant at all — though your measured 2.00 mol still has its own.

The error that swallows this page whole is leaving "particles of what" unstated. A mole of O₂ is 6.022 × 10²³ molecules but 1.204 × 10²⁴ atoms. A mole of NaCl is 6.022 × 10²³ formula units, which is 6.022 × 10²³ sodium ions plus the same number of chloride ions — 1.204 × 10²⁴ ions in total. A mole of Al₂(SO₄)₃ contains three moles of sulfate. Almost every wrong answer here is a correct calculation attached to the wrong noun, so write the noun down before you multiply: molecules, atoms, ions, or formula units.

Two smaller slips. Dividing a molar mass by NAN_A gives the mass of one particle in grams — water comes out at 2.99×10232.99\times10^{-23} g — and people routinely lose a factor of 1000 by mixing kilograms into that step, or confuse it with the mass in unified atomic mass units, which is just the molar mass number again with different units. And because NAN_A is exact, it never limits your significant figures; only the amount you measured does.

Worked example: 2 mol → 1.204428152e24 particles

Dilution Equation (C1V1 = C2V2)

C1V1=C2V2C_1 V_1 = C_2 V_2
C1V1C2V2
Where
  • C1C_1= Initial concentration (M)
  • V1V_1= Initial volume (L)
  • C2C_2= Final concentration (M)
  • V2V_2= Final volume (L)

Adding solvent to a solution spreads the same solute through a larger volume — the moles do not change, only their crowding. Since moles equal concentration times volume, C1V1C_1V_1 must equal C2V2C_2V_2 before and after any dilution. To prepare 250 mL of 1.0 M hydrochloric acid from a 12.1 M concentrated stock, solve for V1V_1: (1.0 × 250)/12.1 ≈ 20.7 mL of stock, made up to the 250 mL mark with water. (And always add acid to water, never the reverse.)

The law is not limited to molarity — any concentration measure proportional to moles per volume works, as long as both sides use the same one. Water-treatment operators lean on it daily when dosing inhibitor or biocide from concentrated drums into recirculating loops, and biologists use the identical arithmetic for serial dilutions, where each step divides concentration by a fixed factor.

Worked example: 50 mL of 6.0 M diluted to 300 mL → 1.0 mol/L

Ideal Gas Law

PV=nRTP V = n R T
PVTn
Where
  • PP= Pressure (kPa)
  • VV= Volume (L)
  • nn= Amount (mol)
  • TT= Temperature (°C)

PV=nRTPV = nRT says that for a gas, four quantities are not independent: fix any three and the fourth is decided. Squeeze it and the pressure rises; warm it and it pushes harder or swells; add more of it and both go up. What makes the equation remarkable is not that those things are true — anyone with a bicycle pump knows them — but that one constant serves every gas. Helium, nitrogen and steam all obey it with the same R=8.314R = 8.314 J/(mol·K), which is a strong hint that pressure has nothing to do with what the molecules are and everything to do with how many there are and how fast they are moving.

A worked case in units you would actually read off a gauge. A 20 L cylinder sits at 150 kPa absolute on a 20 °C morning. Rearranged for amount, n=PV/RT=(150000×0.020)/(8.314×293.15)=3000/24371.23 moln = PV/RT = (150\,000 \times 0.020)/(8.314 \times 293.15) = 3000/2437 \approx 1.23\ \text{mol}. Note what had to happen before the arithmetic: pascals not kilopascals, cubic metres not litres, and kelvin not Celsius. This page converts your entries for you, but the discipline is worth keeping in your head, because a scrap of paper will not.

The law arrived in pieces. Boyle established PVPV constant at fixed temperature in 1662; Charles and Gay-Lussac tied volume and pressure to temperature around 1800; Avogadro proposed in 1811 that equal volumes of gases hold equal numbers of particles. Émile Clapeyron folded them into a single expression in 1834. Kinetic theory later derived the whole thing from mechanics: treat molecules as point masses that bounce elastically and never attract one another, average over their collisions with the walls, and PV=nRTPV = nRT falls out — with RTRT revealed as a measure of the average kinetic energy per mole.

Those two assumptions are also the fine print, and here a common textbook line deserves correcting. The ideal gas law is a limit, not a fact about gases. Real molecules do occupy volume and do attract each other, so the equation is exact only as pressure approaches zero and the gas gets out of its own way. Near condensation it fails plainly: at 100 atm, or anywhere close to the boiling point, the error runs to tens of percent and you want van der Waals or a compressibility factor. Under ordinary room conditions the error is well under 1%, which is why the approximation earns its keep.

Two errors account for most wrong answers on this page, and both are unit errors rather than physics errors. The first is feeding in Celsius. Doubling a gas from 20 °C to 40 °C does not double anything — in kelvin that is 293 to 313, a rise of 7%, and a calculation that used 20 and 40 would be wrong by a factor of nearly two. The second is feeding in a gauge pressure. A tire gauge reading 220 kPa means 321 kPa absolute; PP here is absolute pressure, measured from vacuum, because the equation counts molecular impacts and vacuum is where there are none. A third, quieter trap: the familiar 22.4 L per mole belongs to 0 °C and 1 atm. IUPAC redefined standard pressure to 100 kPa in 1982, and at that pressure the molar volume is 22.71 L. Both numbers circulate, and quoting one against the other's conditions is a 1.3% error hiding inside a memorised constant.

Worked example: 1 mol at 0 C and 1 atm → 22.414 L (molar volume at STP)

Gas Volume at STP

V=nVmV = n\,V_m
Vn
Where
  • VV= Gas volume at STP (L)
  • nn= Amount of gas (mol)

Fix the temperature and pressure and a mole of any ideal gas occupies the same volume — so converting between moles and litres needs one constant and no information about the substance. This is Avogadro's principle, and it deserves a moment of surprise before it becomes routine. A mole of hydrogen weighs 2 g and a mole of sulfur hexafluoride weighs 146 g, seventy-three times more, yet at the same conditions they fill the same flask. The reason is that pressure comes from the number of impacts and their momentum, and at a common temperature the heavier molecules move proportionally slower. The mass cancels out of everything the container can feel.

This page uses classic STP, 0 °C and 1 atm, where Vm=22.414V_m = 22.414 L/mol. Burning one mole of methane, CH4+2O2CO2+2H2O\text{CH}_4 + 2\text{O}_2 \rightarrow \text{CO}_2 + 2\text{H}_2\text{O}, consumes 2 mol of oxygen and produces 1 mol of carbon dioxide — which is 44.83 L of O₂ in and 22.41 L of CO₂ out at STP. Note that the two moles of water do not appear in that volume tally, because at 0 °C the water is a liquid and the equation only counts gases.

The constant is not independent; it is PV=nRTPV = nRT evaluated once. Vm=RT/P=(8.314×273.15)/101325=0.022414V_m = RT/P = (8.314 \times 273.15)/101\,325 = 0.022414 m³/mol, and every other molar volume in circulation is the same calculation at different conditions. Historically the logic ran the other way. Gay-Lussac reported in 1808 that gases combine in simple whole-number volume ratios — two volumes of hydrogen to one of oxygen — and Avogadro's 1811 hypothesis explained why: equal volumes hold equal counts, so the volume ratios are the mole ratios of the balanced equation. That insight was ignored for half a century before Cannizzaro revived it at Karlsruhe in 1860.

The error that dominates this page is using 22.4 L/mol for conditions that are not STP. Room temperature is not 0 °C. At 25 °C and 1 atm the molar volume is 24.47 L/mol, so applying 22.4 to a bench-top measurement understates the volume by 9%. And "standard conditions" is not one definition but several: classic STP gives 22.414 L/mol, IUPAC's post-1982 STP (0 °C, 100 kPa) gives 22.711, and SATP (25 °C, 100 kPa) gives 24.79. The spread between the smallest and largest is over 10%, which is far more than the precision most people think they are carrying. Check which convention a source assumes before you borrow its number, and when the conditions are anything other than a listed standard, abandon the shortcut and use the ideal gas law directly.

Two smaller cautions. This is an ideal-gas result, so it degrades for gases near their condensation point — ammonia and sulfur dioxide at STP already deviate by a percent or two, and water vapour at 0 °C is not a gas at all. And when you use volume ratios as mole ratios in a reaction, they apply only to the species that are actually gaseous at the stated conditions. A dissolved or condensed product contributes no volume, and counting it is the quiet way to get a stoichiometry problem wrong.

Worked example: 1 mol ideal gas at STP → 22.414 L

Gas Density from Molar Mass

ρ=PMRT\rho = \frac{PM}{RT}
PρMT
Where
  • ρ\rho= Gas density (kg/m³)
  • PP= Pressure (kPa)
  • MM= Molar mass (g/mol)
  • TT= Absolute temperature (°C)

Start from PV=nRTPV = nRT, substitute n=m/Mn = m/M, and rearrange for mass over volume: ρ=PM/RT\rho = PM/RT. What the result says is that a gas has no density of its own. Unlike a solid or a liquid, whose density is close enough to a fixed property to tabulate, a gas takes whatever density its pressure and temperature impose, and the only thing the substance itself contributes is MM. Squeeze it and it gets denser in exact proportion; warm it and it thins in inverse proportion.

Air at 101.325 kPa and 20 °C, using M=0.028964M = 0.028964 kg/mol: ρ=(101325×0.028964)/(8.314×293.15)=1.204 kg/m3\rho = (101\,325 \times 0.028964)/(8.314 \times 293.15) = 1.204\ \text{kg/m}^3 — the figure every ventilation calculation starts from. Helium at the same conditions, with M=0.0040026M = 0.0040026, comes to 0.166 kg/m³. Subtract, and a cubic metre of helium lifts about 1.04 kg. That is the entire physics of a party balloon, and it explains why a balloon large enough to lift a person has to be the size of a house.

Rearranged for molar mass the equation becomes a measurement rather than a prediction, and a historically important one. Weigh a bulb of known volume empty, fill it with a vapour at measured temperature and pressure, weigh it again, and M=ρRT/PM = \rho RT/P hands you the molar mass of an unknown. This is the Dumas method, and through the middle of the nineteenth century it was one of the few routes to a molecular formula. It also settled arguments: measured vapour densities are what showed that many elemental gases travel as diatomic molecules rather than lone atoms.

The dominant error here is the molar mass unit, and it is a clean factor of a thousand. With R=8.314R = 8.314 J/(mol·K) the equation demands MM in kilograms per mole. Air is 0.029 kg/mol. Enter 29 and the answer comes back as 1204 kg/m³ — air denser than water — which at least announces itself. Enter 0.029 when the calculation wanted grams and you get the mirror error. The usual companions apply too: PP must be absolute, not a gauge reading, and TT must be in kelvin.

Two conceptual notes. There is no such thing as "the molar mass of air" in the strict sense — air is a mixture, and 28.96 g/mol is a mole-weighted average of nitrogen, oxygen and argon. It works precisely because an ideal gas is indifferent to what its neighbours are; only the total count matters. That same indifference produces a result most people find backwards: humid air is lighter than dry air. Water is 18 g/mol against air's 29, so at a given pressure and temperature every water molecule that joins the mixture has displaced a heavier one. Muggy days are low-density days, which is why aircraft performance charts include humidity and why a hot, humid runway is a long takeoff.

Worked example: O2 at STP (1 atm, 273.15 K) → 1.42768 kg/m3

Percent Yield

%yield=mactualmtheoretical×100%\%\,\text{yield} = \frac{m_{\text{actual}}}{m_{\text{theoretical}}} \times 100\%
mtheoreticalmactual% yield
Where
  • %yield\%\,\text{yield}= Percent yield (%)
  • mactualm_{\text{actual}}= Actual yield (mass obtained) (kg)
  • mtheoreticalm_{\text{theoretical}}= Theoretical yield (mass predicted) (kg)

A balanced equation promises a certain mass of product; the flask rarely delivers all of it. Side reactions consume reactant, some product stays dissolved in the mother liquor, and a little is always lost on filter paper and glassware. Percent yield is the honest scorecard: the mass you actually isolated divided by the stoichiometric maximum, times 100. In a classic teaching lab, synthesizing aspirin from salicylic acid might predict 5.00 g of product; if 4.21 g of dry crystals come off the funnel, the yield is 84.2%.

The number matters far beyond the classroom. Process chemists judge manufacturing routes largely by yield, because in a multi-step synthesis losses multiply — five steps at 80% each deliver only 33% overall. A reported yield above 100% is a red flag, not a triumph: it usually means the product is still wet or carries impurities.

Worked example: 4.10 g isolated of 5.00 g theoretical → 82% yield

Percent Composition of an Element

%X=aMXMcompound×100%\%X = \frac{a\,M_X}{M_{\text{compound}}} \times 100\%
aMXMcompound%X
Where
  • %X\%X= Mass percent of element X (%)
  • aa= Atoms of X per formula unit
  • MXM_X= Molar mass of element X (g/mol)
  • McompoundM_{\text{compound}}= Molar mass of compound (g/mol)

A chemical formula is a recipe by count, and this equation translates it into a recipe by mass. Molar mass is additive — the compound weighs exactly what its atoms weigh, summed — so an element's share of the total is its atoms' contribution divided by the whole. In water, hydrogen brings 2 × 1.008 = 2.016 g/mol out of 18.02, which is 11.2% by mass; oxygen carries the other 88.8%. Two atoms out of three, and barely a ninth of the weight.

A case with real stakes. Ammonium sulfate, (NH₄)₂SO₄, has a molar mass of 132.14 g/mol. Nitrogen appears twice, so %N=(2×14.007)/132.14×100=21.2%\%N = (2 \times 14.007)/132.14 \times 100 = 21.2\%. That is not a coincidence of the classroom — it is why the fertilizer is sold as 21-0-0, and why a 25 kg bag delivers 5.3 kg of actual nitrogen to a field.

Run the arithmetic backwards and it becomes analysis rather than description. Burn an unknown compound, weigh the CO₂ and H₂O produced, convert those to masses of carbon and hydrogen, take oxygen by difference, then divide each element's mass percent by its atomic mass and normalise to the smallest result. What comes out is the empirical formula. This is combustion analysis, and it was the central technique of organic chemistry from Liebig's refinement of it in the 1830s until spectroscopy arrived. Behind all of it sits Proust's law of definite proportions: a given compound always holds the same elements in the same mass ratio, which is exactly the claim this equation encodes.

The subscript aa is the number of atoms of that element per formula unit, and parentheses are where people lose it. In (NH₄)₂SO₄ the hydrogen count is 8, not 4 — the subscript outside the bracket multiplies everything inside. Hydrates catch people the same way: copper(II) sulfate pentahydrate, CuSO₄·5H₂O, has a molar mass of 249.7 g/mol including its water, so the copper is 25.4%, not the 39.8% you would get from the anhydrous salt. If the bottle says pentahydrate, the water is part of what you weighed.

Two further traps. Percent composition can only ever give you an empirical formula, never a molecular one: formaldehyde CH₂O, acetic acid C₂H₄O₂ and glucose C₆H₁₂O₆ all analyse to identical percentages, and separating them needs an independent molar mass. And on fertilizer bags, only the first number is what it appears to be. The N in N-P-K is genuinely percent nitrogen, but P is reported as P₂O₅ equivalent and K as K₂O — a nineteenth-century convention that never died. A bag marked 0-46-0 is 46% P₂O₅, which works out to about 20% actual phosphorus. Reading it as elemental phosphorus overstates the dose by well over a factor of two.

Worked example: Hydrogen in water: 2 x 1.008 / 18.015 → 11.1907% by mass

Titration: Concentration of an Unknown

Ca=nCbVbVaC_a = \frac{n\,C_b V_b}{V_a}
VbCbnCaVa
Where
  • CaC_a= Analyte concentration (M)
  • VaV_a= Analyte volume (aliquot) (L)
  • CbC_b= Titrant concentration (M)
  • VbV_b= Titre volume delivered (L)
  • nn= Mole ratio (analyte per titrant)

At the equivalence point the moles of titrant delivered, CbVbC_b V_b, exactly match the moles of analyte present, CaVaC_a V_a, scaled by the balanced equation's mole ratio n. Everything else in a titration — the burette, the indicator, the swirling — exists only to find that point precisely. Titrate a 25.00 mL aliquot of hydrochloric acid with 0.1000 M sodium hydroxide and take 23.45 mL to reach the endpoint: with n = 1, CaC_a = (1 × 0.1000 × 23.45)/25.00 = 0.09380 M, good to four figures from nothing but glassware.

The mole ratio is where marks are lost. For a diprotic acid such as H₂SO₄ titrated with NaOH, one mole of acid consumes two of base, so n = 0.5: a 25.00 mL aliquot needing 30.00 mL of 0.100 M NaOH is 0.5 × 0.100 × 30.00/25.00 = 0.0600 M. Karl Friedrich Mohr systematised the whole technique in his 1855 Lehrbuch der chemisch-analytischen Titrirmethode, introducing the burette clamp and the pinchcock that made reproducible volumetric analysis possible; his methods still underpin water-hardness and chlorine testing today. Note the difference between the endpoint (where the indicator changes) and the equivalence point (where the stoichiometry balances) — the gap between them is the indicator error, which is why the indicator is chosen to change colour on the steep part of the titration curve.

Worked example: 25.00 mL HCl vs 23.45 mL of 0.1000 M NaOH → 0.09380 M

Normality from Molarity

N=M×neqN = M \times n_{\text{eq}}
MneqN
Where
  • NN= Normality in eq/L (M)
  • MM= Molarity (M)
  • neqn_{\text{eq}}= Equivalents per mole

Normality counts reactive capacity rather than molecules. One mole of sulfuric acid delivers two protons, so 0.500 M H₂SO₄ is 1.00 N — and 1.00 N of any acid neutralises 1.00 N of any base volume for volume, which is exactly why the unit survived so long in analytical labs. For redox work the equivalents are electrons: potassium permanganate in acid picks up five, making 0.0200 M KMnO₄ a 0.100 N oxidant.

The catch, and the reason IUPAC deprecated normality decades ago, is that the equivalent count depends on the reaction, not the substance. Phosphoric acid is 3 N when fully neutralised to phosphate but only 1 N in a titration stopped at the first endpoint, so a bottle labelled "1 N H₃PO₄" is ambiguous without knowing the intended reaction. You will still meet it constantly in water-treatment and clinical chemistry, where hardness, alkalinity, and electrolyte balances are quoted in equivalents per litre or milliequivalents per litre — blood sodium at 140 mEq/L being the most familiar example.

Worked example: 0.500 M H2SO4 at 2 eq/mol → 1.00 N

Equivalent Weight from Molar Mass and Valence

EW=Mz\mathrm{EW} = \frac{M}{z}
EWMz
Where
  • EW\mathrm{EW}= Equivalent weight (g/mol)
  • MM= Molar mass (g/mol)
  • zz= Valence (equivalents per mole)

Reactions in water happen equivalent-for-equivalent, not gram-for-gram: one charge neutralizes one charge, one H⁺ neutralizes one OH⁻. The equivalent weight is simply the mass of a species that carries one mole of that reacting capacity — molar mass divided by valence. Calcium carbonate, M = 100.087 with a divalent cation, has EW = 50.04 g/eq, which is why 50.04 turns up in every "as CaCO₃" conversion in this trade. Sulphuric acid, M = 98.08 with two replaceable protons, has EW = 49.04 g/eq, so a pound of pure H₂SO₄ neutralizes almost exactly a pound of alkalinity expressed as CaCO₃ — the near-1:1 coincidence that lets operators do acid-feed arithmetic in their heads.

The valence you divide by is the one that applies to the reaction in question, and that is where people go wrong. Sodium carbonate reacting as a base uses z = 2 (EW 53.0), but if you are counting sodium ions it behaves as z = 2 for a different reason. Bicarbonate is z = 1 (EW 61.0) in the alkalinity titration but the carbonate it came from is z = 2 (EW 30.0). Write down which reaction you mean before you pick z, and the rest of the water chemistry falls into line.

Worked example: CaCO3: M 100.087 g/mol, z = 2 → EW = 50.0435 g/eq

Chlorination & Disinfection

Chlorine Dose, Demand and Residual

D=Cdemand+CresD = C_{\text{demand}} + C_{\text{res}}
DCdemandCres
Where
  • DD= Chlorine dose applied (%)
  • CdemandC_{\text{demand}}= Chlorine demand (%)
  • CresC_{\text{res}}= Chlorine residual (%)

Chlorine added to water does not stay chlorine. It is consumed by iron, manganese, sulphide, ammonia, and every scrap of organic matter it meets — that consumption is the demand — and only what survives shows up on a DPD test as residual. The bookkeeping is a straight sum: dose equals demand plus residual. Feed 3.3 mg/L into a water with 2.5 mg/L of demand and you keep 0.8 mg/L residual, which is a typical distribution target. There is no way around the demand; it has to be satisfied before a single tenth of a milligram of residual appears, which is why a well with high iron can swallow 4 mg/L and still test zero at the tap.

The practical procedure is a chlorine demand study: dose a set of bottles of the actual water at increasing rates, wait the real contact time — usually 30 minutes, but overnight for a distribution main — and test each. The plot of residual against dose is flat until demand is satisfied, then rises with unit slope. Two field cautions. Demand is not a fixed property: it climbs in warm weather, after a main break, and with every degree of surface-water turbidity, so the study needs repeating seasonally. And test at the far end of the system, not at the plant — the residual that matters legally and microbiologically is the one still standing at the last service connection.

Worked example: 2.5 mg/L demand + 0.8 mg/L residual → 3.3 mg/L dose

Chemical Feed Rate (lb/day = mg/L × MGD × 8.34)

m˙=CQ\dot m = C \, Q
QC
Where
  • m˙\dot m= Chemical feed rate (kg/h)
  • CC= Dose (%)
  • QQ= Water flow rate (L/min)

Every North American operator learns this one as a chant: pounds per day equals milligrams per litre times million gallons per day times 8.34. The 8.34 is nothing mysterious — it is the weight of a US gallon of water, 8.345 lb at 60 °F, rounded. Dosing 2 mg/L of chlorine into a 1 MGD plant needs 2 × 1 × 8.34 = 16.7 lb/day. Underneath the trade constant it is simply concentration times flow, mass balance in its plainest form, and this page will do it in kilograms per hour and cubic metres per hour just as happily.

Three warnings from the field. First, this gives pounds of active chemical; if you are feeding 12.5% sodium hypochlorite you still have to divide by the strength to get pounds of product, and again by the solution's density to get gallons the pump must deliver. Second, the 8.34 quietly assumes the water is water — feeding into a brine, a slurry or a glycol loop needs the actual density. Third, calibrate the pump against a drawdown cylinder rather than trusting the dial: a diaphragm pump's stroke setting drifts with discharge pressure, and the difference between a calculated feed rate and a measured one is where half of all chemical overspend hides.

Worked example: 5 kg/h into 100 m3/h → 50 mg/L dose

Pounds of Active Chemical in a Tank

m=V×SG×ρw×pm = V \times \mathrm{SG} \times \rho_w \times p
VSGpm
Where
  • mm= Mass of active chemical (kg)
  • VV= Volume of solution (L)
  • SG\mathrm{SG}= Specific gravity
  • pp= Active ingredient (%)

A gauge on a chemical tank reads volume, but inventory, dosing and safety paperwork all want mass of active ingredient. Three multiplications get you there: volume, then specific gravity to account for the solution being heavier or lighter than water, then the percent active. In trade units, gallons × 8.345 lb/gal × SG × %/100. A 500 gallon tank of 50% caustic soda at SG 1.53 holds 500 × 8.345 × 1.53 × 0.50 = 3,192 lb of NaOH — nearly a ton and a half, in a tank that only reads "500 gallons."

Specific gravity is where the money and the mistakes are. Concentrated chemicals are dense: 50% caustic is 1.53, 93% sulphuric acid is 1.835, 12.5% sodium hypochlorite is about 1.16, and 40% ferric chloride is 1.42. Ignoring SG on the caustic tank understates your inventory by a third. Two field notes: 50% caustic freezes at 12 °C (54 °F) and will plug an outdoor line solid, which is why northern plants buy 25% and pay to ship the water; and SG drifts with temperature, so a hydrometer reading taken on a hot summer afternoon will underread concentration unless you correct it back to the reference temperature on the supplier's table.

Worked example: 1000 kg of active in 2 m3 at 32% → SG = 1.5625

Hypochlorite Product Mass from Available Chlorine

mprod=mCl×100%pm_{\text{prod}} = \frac{m_{\mathrm{Cl}} \times 100\%}{p}
mClmprodp
Where
  • mprodm_{\text{prod}}= Mass of product (kg)
  • mClm_{\mathrm{Cl}}= Mass of available chlorine (kg)
  • pp= Available chlorine strength (%)

Chlorine chemicals are sold by product weight but dosed by chlorine content, and the gap between the two is large. Sodium hypochlorite bleach ships at 10–15% available chlorine (12.5% is the standard water-plant grade), calcium hypochlorite granules at 65–70%, and chlorine gas is the only 100% product. To deliver 10 lb of available chlorine from 12.5% bleach you need 10 × 100/12.5 = 80 lb of solution. From 65% cal-hypo you would need only 15.4 lb of granules. The phrase "available chlorine" is itself a convention — it measures oxidizing power relative to elemental Cl₂, which is why calcium hypochlorite can test above 100% on a molar basis and still be quoted at 65%.

Liquid hypochlorite decays, and this is the number one cause of failed disinfection in small systems. A 12.5% solution loses roughly half its strength in 30–60 days at room temperature, faster if it is warm, exposed to light, or contaminated with trace metals. A drum bought at 12.5% and used three months later may genuinely be 8%, so the pump set from the label under-doses by a third. Titrate incoming shipments, store cool and dark, rotate stock, and never dilute hypochlorite with hard water — the calcium precipitates and plugs the injection quill.

Worked example: 1300 g chlorine in 2 kg of product → 65% available chlorine

Chlorine Dose from a Weight of Product

C=mpVC = \frac{m \, p}{V}
mpVC
Where
  • CC= Chlorine concentration reached (%)
  • mm= Mass of product used (kg)
  • pp= Available chlorine strength (%)
  • VV= Volume of water (L)

This is the shock-chlorination and batch-dosing formula: you have a bucket of product, a tank or a well of known volume, and you need the resulting parts per million. One pound of 65% calcium hypochlorite in 1,000 gallons gives 0.65 lb of chlorine in 8,340 lb of water, which is 0.65/8,340 = 78 parts per million. Well disinfection specifications typically call for 50–200 mg/L held for 12–24 hours; a new water main is usually chlorinated to 25 mg/L for 24 hours or 50 mg/L for 3 hours before flushing and bacteriological clearance.

Getting the volume right is more than half the job. A drilled well's water column is π/4 × d² × depth-of-water, which for a 6-inch casing is about 1.5 gallons per foot of standing water — and you must add the volume of the pressure tank, the plumbing and any storage, because the chlorine has to reach everywhere the bacteria are. The other trap is where you pour it. Dumping cal-hypo granules down a well casing without pre-dissolving drops undissolved pellets onto the pump and can pit stainless screens; make up a slurry in a clean pail with soft water first, and circulate by running each fixture until it smells of chlorine, then shut everything and let it stand.

Worked example: 50 mg/L in 5000 L with 12.5% hypochlorite → 2.0 kg of product

Breakpoint Chlorine-to-Ammonia Ratio

R=Cl2NH3-NR = \frac{\mathrm{Cl_2}}{\mathrm{NH_3\text{-}N}}
NH3-NRCl2
Where
  • RR= Chlorine-to-ammonia weight ratio
  • Cl2\mathrm{Cl_2}= Chlorine dose (%)
  • NH3-N\mathrm{NH_3\text{-}N}= Ammonia nitrogen (%)

Ammonia in the source water hijacks chlorine. The first chlorine you add makes monochloramine, a weak combined residual; keep adding and you make dichloramine, then nitrogen trichloride, and eventually the chlorine oxidizes the ammonia all the way to nitrogen gas. The residual actually falls as you increase the dose over that middle stretch — the famous dip in the breakpoint curve — and only past the low point, the breakpoint, does free chlorine start to accumulate. Stoichiometry puts breakpoint at 7.6 parts chlorine to 1 part ammonia nitrogen by weight (from 3Cl₂ + 2NH₃ → N₂ + 6HCl), so 0.5 mg/L of ammonia nitrogen needs about 3.8 mg/L of chlorine before you see any free residual at all.

Practice runs richer than theory: real waters demand 8:1 to 10:1 because organics and other reduced species compete, and plants commonly target 10:1 to be safely past the hump. The failure mode is stopping halfway. An operator sees the residual dropping as they increase the feed, assumes something is wrong, and backs off — landing squarely in the dichloramine valley where the water tastes and smells worst and the disinfection is weakest. That swampy "swimming pool" odour is chloramines, not excess chlorine; the cure is almost always more chlorine, not less. The mirror image is deliberate chloramination, where a plant holds a 4:1 to 5:1 ratio on purpose to keep a long-lived combined residual in a sprawling distribution system with minimal trihalomethane formation.

Worked example: 7.6 mg/L Cl2 to 1.0 mg/L NH3-N → R = 7.6 (theoretical breakpoint)

CT Achieved (Disinfectant Residual × Contact Time)

CT=CT10\text{CT} = C \, T_{10}
ClT10CCT
Where
  • CT\text{CT}= CT achieved (mg·min/L)
  • CC= Disinfectant residual (mg/L)
  • T10T_{10}= Effective contact time T₁₀ (min)

Disinfection obeys a dose law, and the dose is concentration multiplied by time. That is the whole of it. A regulator writing a drinking-water rule needs one number that says "this water has been disinfected enough", and C×TC \times T is the number: the residual a pathogen swam through, times how long it swam through it, in milligrams per litre times minutes. Hold 1.2 mg/L of free chlorine for 45 minutes of real contact and you have delivered 54 mg·min/L.

This page computes the CT you achieved. It does not tell you whether you passed. I want to be very plain about that, because it is the thing people most want a calculator to do and the thing a calculator has no business doing. The required CT depends on four things at once — the pathogen, the disinfectant, the water temperature and the pH — and it is a table published by your regulator, revised on their schedule, keyed to conditions you have to measure rather than assume. Look it up. There is no table on this site and there never will be, because a stale table is worse than no table: it looks authoritative and it is wrong, and the person who trusts it is running a plant.

Three things sink real plants, and I have watched all three.

The C is the residual at the END of the contact zone, not the dose you fed. Demand eats the difference on the way through, and on a coloured surface water in the spring it can eat most of it. Feeding 2.5 mg/L and measuring 0.6 at the outlet means your CT is built on 0.6. Where the residual is falling noticeably along the contact chamber, the honest practice is to break the chamber into segments and add up the CT of each, using the residual measured at the end of each one — that is what the EPA guidance describes, and it is more work and it is more nearly true.

The T is T₁₀, not the detention time. This is the big one and it gets its own page. Volume over flow gives you θ, the time an average drop spends in the tank if the tank behaves; T₁₀ is the time by which only a tenth of a tracer has come out the other end, and real basins short-circuit badly enough that T₁₀ can be a tenth of θ. Using θ where the rule asks for T₁₀ overstates your disinfection by up to a factor of ten, and it does it silently, on a spreadsheet that adds up correctly.

And the credit was earned at a temperature. The same 3-log Giardia credit costs roughly twice the CT at 5 °C as at 15 °C, because everything about the reaction slows in cold water. A plant that passes comfortably every August can be failing every February on identical operation, and the way it usually gets found is an inspection rather than a violation. Take your credit at the worst temperature of the day, not the average, and certainly not the design value.

The disinfectant matters as much as the temperature. Ozone and chlorine dioxide need far less CT than free chlorine for the same credit; chloramine needs vastly more, which is exactly why it is a distribution-system residual and not a primary disinfectant. And free chlorine loses potency as pH rises, because the species doing the killing is hypochlorous acid, and above about pH 7.5 an increasing share of it has dissociated into the far weaker hypochlorite ion. That is why the CT tables have a pH axis at all.

Cryptosporidium is the reason the whole framework looks the way it does. Its oocysts are effectively immune to free chlorine — the CT for a single log runs into thousands of mg·min/L, which is to say hours at residuals no plant would ever feed. You cannot chlorinate your way past it. That single fact is why UV and ozone appear in treatment trains, why filtration performance is regulated so hard, and why the rules that came after the Surface Water Treatment Rule were written the way they were. If Cryptosporidium is your concern, nothing on this page addresses it.

One note on units, because water operators will notice. The residual here is typed as a mass concentration, and this site deliberately will not convert mg/L to ppm. In fresh water they are numerically identical, and operators use them interchangeably every day and are entirely right to — a litre of water weighs a kilogram, so a milligram of solute in it is a part per million by mass. But that equality is a property of the solvent, not a conversion. Put the same measurement in brine, in a glycol loop, or in anything denser than water and the two numbers separate. The site keeps them apart so that the one time it matters, it does not quietly get it wrong.

Worked example: 1.0 mg/L for the basin's 45 min detention time → CT = 45 mg·min/L (overstated)

Effective Contact Time from Baffling Factor

T10=θ×BFT_{10} = \theta \times \mathrm{BF}
θT10BF
Where
  • T10T_{10}= Effective contact time T₁₀ (min)
  • θ\theta= Theoretical detention time (min)
  • BF\mathrm{BF}= Baffling factor

This is the most important page in this shard, and if you read only one of them, read this one.

The T in CT is not the detention time of the tank. Divide the working volume by the flow and you get θ\theta, the theoretical detention time — the time an average drop spends inside if the basin behaves like a well-ordered queue. Basins do not behave like queues. A jet from the inlet pipe drives a stream of water straight across to the outlet in a fraction of the calculated time; a corner behind a wall holds water for hours that never joins the flow at all. What comes out of the far end at any moment is a mixture of water that has been in there for very different lengths of time, and the disinfection credit has to be earned by the water that got the least.

So the rule takes credit on T10T_{10}: the time by which only 10% of an injected tracer has appeared at the outlet, which means 90% of the water has had at least that much contact. The relation to the theoretical time is a single multiplication, T10=θ×BFT_{10} = \theta \times \mathrm{BF}, where BF is the baffling factor — and everything hangs on how small that factor is.

The published defaults run roughly like this. About 0.1 for an unbaffled tank with no inlet or outlet structure worth the name — a bare clearwell with a pipe in one end and a pipe in the other. About 0.3 for poor-to-average baffling, an inlet baffle and an outlet weir. About 0.5 for superior baffling, with intra-basin baffles. About 0.7 for a proper serpentine basin with a perforated inlet diffuser. And 1.0 for perfect plug flow, which is a limit and not a design target, because no real basin reaches it.

Look at what those numbers do to a compliance calculation. Take a clearwell with a 45-minute detention time at a 1.0 mg/L free chlorine residual. Multiply straight through and you report CT = 45 mg·min/L. Now apply an average baffling factor of 0.30: the effective contact time is 13.5 minutes and the CT you may actually claim is 13.5 mg·min/L. Same water, same chlorine, same tank — a third of the credit. At the unbaffled end, with a factor of 0.1, it is a tenth. That is the gap, and the reason it is dangerous is that the wrong version is not obviously wrong: the arithmetic is correct, the spreadsheet adds up, and the number is off by a factor of ten.

Two things follow for anyone designing rather than reporting. First, run the equation backwards and it sizes concrete: the detention time you must build is T10/BFT_{10}/\mathrm{BF}, so a basin at 0.1 has to be seven times the size of one at 0.7 to deliver the same credit. Interior baffle walls are dramatically cheaper than seven times the tank. Second, notice the alternative you are choosing against. A poorly baffled basin can be made to pass by carrying a higher chlorine residual, and that residual is then carried for the life of the plant, showing up as taste and odour complaints and as trihalomethanes and haloacetic acids in the distribution system. Fixing the hydraulics is a one-time cost; chasing them with chemistry is a permanent one.

Measure it rather than assuming it. The published factors are conservative defaults assigned by description — "average baffling" — and your basin is not a description. A tracer study with salt or fluoride gives you the real number, and it can go either way: a basin measuring 0.40 when it has been claiming 0.30 is free credit the plant already owns and is not taking, and a basin measuring 0.18 when it has been claiming 0.30 is a compliance problem nobody knew about. Run the study at the highest flow the plant sees, because short-circuiting gets worse as flow rises, and that is the condition the credit has to survive. And when you compute θ\theta, use the working volume — the sludge blanket and the dead corners are not detention, whatever the tank drawing says.

Worked example: 45 min detention at BF = 0.30 → T10 = 13.5 min

Log Inactivation from Counts

LR=log10 ⁣(N0N)\mathrm{LR} = \log_{10}\!\left(\frac{N_0}{N}\right)
N0NLR
Where
  • LR\mathrm{LR}= Log reduction (logs)
  • N0N_0= Count before (org/100 mL)
  • NN= Count after (org/100 mL)

This is the measurement the whole framework is trying to predict: count the organisms going in, count them coming out, and the base-10 logarithm of the ratio is the log reduction. Two hundred and fifty thousand per 100 mL entering, twenty-five leaving, and the ratio is ten thousand — four logs, flat.

Logs rather than percentages, and the reason is that percentages crowd together where the interesting behaviour is. Ninety-nine percent and 99.99% differ by two characters on the page and by a factor of a hundred in survivors, and no one's intuition handles that gap. The log scale spreads it out, and — more usefully — logs add across barriers. Two-log removal in the filters followed by two-log inactivation in the contact chamber is four logs overall, and that additivity is the entire architecture of multi-barrier treatment. Percentages do not add: the same pair is 99% then 99%, which is 99.99% overall, not 198% and not 99%.

A non-detect is not a zero. This is the mistake that inflates more log-reduction claims than any other, and it is easy to make in good faith. A plate that grows nothing does not mean the count was zero; it means the count was below the detection limit. Divide by zero and the log reduction is infinite, which is a number no disinfection process has ever achieved. The honest substitution is the detection limit itself, and what you get is the minimum log reduction your data can support — say "at least 4.4 logs", not "complete inactivation". If you need to demonstrate more, you need a bigger sample volume or a more sensitive method, not a different arithmetic.

The counts themselves are noisier than they look. Microbial counts are Poisson-distributed, which means a plate reading of 4 carries a standard deviation of 2 — the uncertainty is the square root of the count. Any log reduction built on small numbers inherits that scatter in full, and the difference between 3.6 and 4.1 logs on a single pair of plates is frequently nothing at all. This is why performance is demonstrated over many samples and many days rather than announced from one good result, and why a seeded challenge study uses enormous spikes: a starting count of 10710^7 leaves room to measure six logs of removal with counts still large enough to be stable at both ends.

And the reduction you measured is not the reduction you are credited. Regulatory credit for inactivation comes from a demonstrated CT under approved conditions, and credit for removal comes from an approved and properly operated process — not from a favourable pair of samples. The measurement is how you find out whether your process is doing what it is credited for. It is monitoring, and it is valuable precisely as monitoring: a plant whose measured reduction drifts down over a season has a real problem, whatever its paperwork says.

One last framing that surprises people. When the arithmetic returns a survivor count below one — say 0.02 organisms per 100 mL — that is not an error and it is not zero. Read it as a probability: roughly a 2% chance that any given 100 mL sample contains an organism. A utility producing many millions of such volumes a day is still delivering a real number of them, which is why drinking-water targets are framed as an acceptable annual risk of infection rather than as an absence, and why the log framework does not stop at "none detected".

Worked example: 250,000 down to 25 per 100 mL → 4.00 logs

Log Reduction to Percent Kill

P=110LRP = 1 - 10^{-\mathrm{LR}}
PLRN
Where
  • PP= Percent kill (%)
  • LR\mathrm{LR}= Log reduction (logs)

Three-log is 99.9 percent. Four-log is 99.99 percent. They are the same statement said two ways, and this page exists because people mix them up constantly — in reports, in tender documents, in conversations with regulators, and occasionally in the same sentence.

The arithmetic is one line. A log reduction of LR\mathrm{LR} leaves a surviving fraction of 10LR10^{-\mathrm{LR}}, so the fraction killed is P=110LRP = 1 - 10^{-\mathrm{LR}}, and running it backwards, LR=log10(1P)\mathrm{LR} = -\log_{10}(1-P). One log leaves a tenth and kills 90%. Two logs leave a hundredth and kill 99%. Six logs leave a millionth and kill 99.9999%.

The percent form hides everything interesting in its last decimal places. Moving a claim from 99.9% to 99.99% looks like a typographical refinement and is a whole extra log — a tenfold cut in survivors, which in treatment terms is often another barrier, another vessel, another capital project. That asymmetry is exactly why every disinfection rule in the world is written in logs, and why a percent kill quoted to several decimals should always be converted before it is believed.

The confusion that costs money is double-counting. I have read reports that say a process achieves "3-log inactivation, that is 99.9% removal", and then add a further "99.9% removal" from a second barrier, and conclude something enormous. Those are two barriers of three logs, which is six logs total — 99.9999% — and the correct way to get there is to add the logs. Percentages cannot be added or multiplied intuitively, which is the practical case for never working in them at all.

One hundred percent is not a number this equation accepts. Its log form is infinite, and no disinfection process delivers it — 100% is always a rounding, or a non-detect being reported as an absence. If a supplier's literature says 100%, ask what the detection limit was and what the starting count was, and convert those two into the minimum log reduction the data actually supports. That number is usually respectable and always defensible; the 100% is neither.

Worth keeping the survivor form in your head as well as the percentage. A log reduction of LR\mathrm{LR} means one organism in 10LR10^{\mathrm{LR}} survives: 3-log is one in a thousand, 6-log is one in a million. Said that way, the difference between 99.9% and 99.9999% stops being three extra nines and becomes what it is — a thousandfold difference in what reaches the tap.

Worked example: 3 logs → 99.9% kill

Chick–Watson Inactivation

log10 ⁣(N0N)=kCnt\log_{10}\!\left(\frac{N_0}{N}\right) = k \, C^{\,n} \, t
N/N0tCnk
Where
  • LR\mathrm{LR}= Log reduction achieved (logs)
  • kk= Chick–Watson coefficient ((mg/L)⁻ⁿ·min⁻¹)
  • CC= Disinfectant concentration (mg/L)
  • nn= Dilution coefficient
  • tt= Contact time (min)

In 1908 Harriet Chick published in the Journal of Hygiene the observation that disinfection behaves like a chemical reaction: plot the surviving fraction on a logarithmic axis against time and you get a straight line. Organisms do not die all at once at some threshold; they die at a constant proportional rate, so each equal interval of time removes the same fraction of whatever is left. In the same volume H. E. Watson added the piece Chick's law was missing — that concentration does not simply multiply the rate, but enters raised to an exponent — and the pair of them has carried disinfection theory ever since.

Written for the log reduction, it is LR=kCnt\mathrm{LR} = k\,C^{n}\,t. Three of those symbols are ordinary. CC is the disinfectant concentration, tt is the contact time, and LR\mathrm{LR} is the base-10 log reduction achieved. The interesting one is nn, Watson's dilution coefficient, and what it measures is which of your two knobs is worth turning. When n=1n = 1, concentration and time trade one for one — halve the residual, double the time, get the same kill — and the model collapses to exactly the CT product the regulations use. Free chlorine sits close enough to 1 that the regulatory shortcut works, which is not a coincidence: the framework was built on the disinfectant it works for. When nn is well above 1 the disinfectant is concentration-driven, and a stronger residual buys more than a longer basin. When it is below 1, the reverse, and the concrete is the better purchase.

kk is unit-bound, and this is the honesty problem of the page. It carries the units (mg/L)n(\text{mg/L})^{-n} per minute, which is not a rate you can convert, because the exponent on the concentration changes the dimensions. A kk fitted at n=1n = 1 cannot be used at n=0.8n = 0.8; a kk taken from a paper that worked in different concentration units is a different number entirely, and papers very often do not say. This page takes kk on the trade basis — milligrams per litre and minutes — and no calculator can guess what basis a bare number came from.

Which is a good reason to fit your own. A kk measured on your water beats any published figure, because it silently absorbs everything the model leaves out: the organism, the pH, the temperature, the particle load, the mixing in your jar. But fit it honestly. One pair of numbers cannot recover both kk and nn — that is two unknowns and one equation, and putting one point through a two-parameter model is a coincidence, not a fit. Run several concentrations at several times, plot log survival against time to get the slopes, then plot those slopes against log concentration to get nn from the second slope.

And then be sceptical of the line itself. Chick's law assumes every organism is equally susceptible and equally exposed, and real survival curves say otherwise in two visible ways. At the start there is often a shoulder, a lag while the disinfectant works through clumps, through cell walls, through whatever is shielding the target. At the end there is a tail: the line flattens and further contact buys almost nothing.

The tail is the half that matters, and it is worth being blunt about why. The tail is the resistant fraction — organisms shielded inside particles, aggregated into clumps, or simply tougher than their siblings — and it is precisely the fraction that survives to reach a customer's tap. Extrapolating a fitted straight line past the data you actually collected is optimistic in exactly the direction you cannot afford to be optimistic in. If your bench work stops at 4 logs, you know about 4 logs. The model will happily print 8 and it does not know anything about them.

Various refinements exist to bend the line — Hom's model puts an exponent on time as well, and delayed-Chick–Watson forms build in a shoulder — and all of them cost you another fitted parameter. For plant work the honest position is usually the simple model plus a healthy distrust of its extremes, rather than a more elaborate model fitted to the same thin data.

One organism is outside all of this. Cryptosporidium resists free chlorine at every CT a drinking-water plant can physically deliver, and no value of kk worth writing down will change that. Its control comes from filtration, from UV, or from ozone. That is the reason the modern treatment train looks the way it does, and it is why the log-credit framework separates the pathogens rather than treating disinfection as one number.

Worked example: k = 0.10, 1.5 mg/L for 20 min at n = 1 → 3.00 logs

First-Order Chlorine Decay

C=C0ektC = C_0 \, e^{-k t}
C0Ctk
Where
  • CC= Residual remaining (mg/L)
  • C0C_0= Starting residual (mg/L)
  • kk= Decay coefficient (1/h)
  • tt= Travel time (h)

Free chlorine does not sit still. It reacts — with natural organic matter it did not finish with at the plant, with biofilm on the pipe wall, with corrosion products, with whatever else the distribution system offers — and the residual falls exponentially as it goes. C=C0ektC = C_0 e^{-kt} is the standard first-order description, and what "first order" means in practice is that the residual loses the same fraction in every equal interval: if it halves in twelve hours, it halves again in the next twelve, whatever it started at.

Take a main carrying 1.4 mg/L out of the plant with a bulk decay coefficient of 0.15 per hour. Eight hours of travel gives kt=1.2kt = 1.2, and e1.2=0.301e^{-1.2} = 0.301, so 0.42 mg/L reaches the sample point. The implied half-life is ln2/k=4.6\ln 2 / k = 4.6 hours — a useful figure to carry in your head, because it converts a decay coefficient into something you can reason about without a calculator.

The coefficient belongs to your water and should be measured on it. The standard method is a bottle test: fill headspace-free bottles at the plant, hold them at distribution temperature in the dark, and read the residual at intervals over a day or two. Plot the natural log of the residual against time and kk is the negative of the slope. Three cautions about that fit. Decay is strongly temperature dependent, so a coefficient measured in February badly understates August loss. The first hour or so is usually much faster than everything after it, because the fast-reacting organics go first, and a kk fitted through that initial plunge will overpredict decay at the ages your system actually runs — fit the long tail. And a bottle test measures bulk decay only.

That last point matters more than it sounds. A glass bottle has no biofilm, no tuberculation and no corroding iron. A real main has all three, and wall demand can dominate bulk demand entirely in old unlined cast iron. So expect the field residual to come in below what this equation predicts, and treat the difference as information rather than as error: a large gap between bottle and field is a measurement of your pipe's condition.

Travel time is not a single number either. A distribution system is not one pipe. The trunk main might deliver in three hours while a dead-end leg holds water for four days and an oversized storage tank stratifies and turns over a fraction of its volume a day. It is the old water that loses its residual, and losing the residual is where nitrification starts in a chloraminated system and where a coliform positive eventually appears. Running the equation backwards to estimate water age from a residual drop is a legitimate blunt instrument for finding those places, but it assumes bulk decay and a single path, and a sample point fed by a blend of fresh trunk water and old tank water returns a meaningless average of the two. Use it to decide where to point a hydraulic model or a fluoride tracer, not as a substitute for either.

The design direction is the honest one to end on. Solve for C0C_0 and you get the plant setpoint needed to hold a target residual at the far end — and the exponential is unforgiving, because every additional half-life of water age doubles what you must feed. Which is why the answer to a distant dead-end is almost never "raise the plant residual". That dulls the whole system with taste and odour complaints and drives disinfection by-products up everywhere, not just where the problem is. Flushing the dead end, or re-operating the tank so it actually turns over, treats the cause.

Worked example: 1.4 mg/L decaying at 0.15/h for 8 h → 0.4217 mg/L

First-Order Integrated Rate Law

[A]=[A]0ekt[\mathrm{A}] = [\mathrm{A}]_0\,e^{-kt}
[A]0t[A]k
Where
  • [A][\mathrm{A}]= Concentration at time t (M)
  • [A]0[\mathrm{A}]_0= Initial concentration (M)
  • kk= First-order rate constant (Hz)
  • tt= Elapsed time (s)

In a first-order reaction each molecule decomposes independently with a fixed probability per second, so the rate is proportional to how much is left and the concentration falls exponentially. Taking logarithms gives ln[A] = ln[A]₀ − kt, a straight line — the diagnostic test that distinguishes first order from every other order. The defining property is a constant half-life, t½ = ln2/k = 0.693/k, independent of where you start.

The maths is identical to radioactive decay, which is why the same equation covers the elimination of most drugs from the bloodstream, the fading of a chemiluminescent glow stick, and the isomerisation of cyclopropane to propene. Worked case: with k = 0.0231 s⁻¹, a 0.100 M solution falls to 0.100 × e0.0231×30e^{-0.0231 \times 30} = 0.0500 M in 30 s — the half-life, since 0.693/0.0231 = 30.0 s. The usual arithmetic slip is mixing k in s⁻¹ with a time in minutes; the calculator converts both to SI first, so enter each with its real unit rather than pre-converting.

Worked example: 0.100 M first-order, k = 0.0231 /s, 30.0 s → 0.0500074 M

Hardness, Alkalinity & Softening

Total Hardness as CaCO₃

TH=2.497Ca+4.118Mg\mathrm{TH} = 2.497\,\mathrm{Ca} + 4.118\,\mathrm{Mg}
CaMgTH
Where
  • TH\mathrm{TH}= Total hardness as CaCO₃ (%)
  • Ca\mathrm{Ca}= Calcium as Ca²⁺ (%)
  • Mg\mathrm{Mg}= Magnesium as Mg²⁺ (%)

Hardness is a property, not a substance: it is the combined effect of every divalent cation in the water, and in practice calcium and magnesium account for essentially all of it. Because they have different atomic weights, the trade converts both to a single reference salt — calcium carbonate — so that numbers from different labs, different waters and different treatment steps can be added and subtracted. The factors come straight from equivalent weights: 50.04/20.04 = 2.497 for calcium and 50.04/12.15 = 4.118 for magnesium. A well water reporting 80 mg/L Ca and 25 mg/L Mg therefore has a total hardness of 2.497 × 80 + 4.118 × 25 = 199.8 + 103.0 = 303 mg/L as CaCO₃, or about 17.7 grains per gallon.

The single most common field error is reading a lab sheet that already says "as CaCO₃" and multiplying by 2.497 anyway — instant 2.5× overstatement, an oversized softener and a customer paying for salt they do not need. Check the units column before you touch the calculator. The second trap is the magnesium factor: because Mg²⁺ is light, a modest 25 mg/L of it contributes as much hardness as 41 mg/L of calcium, which is why waters from dolomitic aquifers feel far harder than their calcium number suggests and why magnesium-heavy water scales heat exchangers with a stubborn magnesium silicate rather than easily-acid-cleaned calcite.

Worked example: Ca 80 mg/L + Mg 25 mg/L → TH = 302.7 mg/L as CaCO3

Ion Concentration as CaCO₃ Equivalent

CCaCO3=Cion×50.04EWC_{\mathrm{CaCO_3}} = C_{\mathrm{ion}} \times \frac{50.04}{\mathrm{EW}}
CionCCaCO3EW
Where
  • CCaCO3C_{\mathrm{CaCO_3}}= Concentration as CaCO₃ (%)
  • CionC_{\mathrm{ion}}= Concentration as the ion (%)
  • EW\mathrm{EW}= Equivalent weight of the ion (g/mol)

A water analysis lists a dozen ions with a dozen different atomic weights, and you cannot add or subtract them directly — 20 mg/L of calcium and 20 mg/L of sodium are not the same amount of chemistry. Expressing everything "as CaCO₃" fixes that by converting each ion to the mass of calcium carbonate that carries the same number of charge equivalents. Calcium carbonate has a molar mass of 100.09 and a valence of 2, so its equivalent weight is 50.04 g/eq; divide that by the ion's own equivalent weight and you have the factor. Calcium (EW 20.04) gets 2.497, magnesium (12.15) gets 4.118, sodium (23.0) gets 2.18, bicarbonate (61.0) gets 0.82, and sulphate (48.03) gets 1.04. Forty mg/L of Ca²⁺ becomes 40 × 2.497 = 99.9 mg/L as CaCO₃.

Once every ion is on the CaCO₃ scale you can do the things that make an analysis useful: check that cations balance anions to within a few percent (the classic sanity test on any lab report), split total hardness into carbonate and non-carbonate fractions by comparing hardness to alkalinity, and size a softener or a dealkalizer directly from the numbers. The trap is the word "equivalent" — the divisor is the equivalent weight, molar mass divided by charge, not the molar mass. Using 40.08 for calcium instead of 20.04 halves every hardness figure you produce.

Worked example: 40 mg/L Ca2+ at EW 20.04 → 99.88 mg/L as CaCO3

Grains per Gallon ↔ ppm Hardness

H=17.118GH = 17.118\,G
Where
  • HH= Hardness as CaCO₃ (%)
  • GG= Hardness in grains per US gallon (gpg)

The grain is a survivor from the old apothecaries' system — 1/7000 of a pound, originally the weight of a single barleycorn — and North American water treatment never let it go. One grain of CaCO₃ dissolved in one US gallon is 64.79891 mg in 3.785412 L, which is 17.118 mg/L. That is the whole conversion: 10 gpg is 171 mg/L, and a residential softener rated "30,000 grains" will remove 30,000 grains of hardness before it needs salt. Softener control valves, resin capacity tables and salt-dose settings are all published in grains, while every laboratory report and every regulatory limit is in mg/L, so the technician lives in both worlds at once.

Watch out for the imperial gallon. A British or Canadian "grain per gallon" historically meant grains per imperial gallon (4.546 L), which works out to 14.25 mg/L — a 20% difference that will undersize a softener if you take a UK spec sheet at face value. And remember the informal hardness bands are quoted in grains: under 1 gpg is soft, 1–3.5 slightly hard, 3.5–7 moderately hard, 7–10.5 hard, and anything over 10.5 gpg (180 mg/L) is very hard and will scale a water heater within a few years untreated.

Worked example: 10 grains per gallon → 171.18 mg/L as CaCO3

Total Alkalinity as CaCO₃ from Species

TA=0.8202HCO3+1.6679CO3+2.9425OH\mathrm{TA} = 0.8202\,\mathrm{HCO_3} + 1.6679\,\mathrm{CO_3} + 2.9425\,\mathrm{OH}
HCO3CO3OHTA
Where
  • TA\mathrm{TA}= Total alkalinity as CaCO₃ (%)
  • HCO3\mathrm{HCO_3}= Bicarbonate as HCO₃⁻ (%)
  • CO3\mathrm{CO_3}= Carbonate as CO₃²⁻ (%)
  • OH\mathrm{OH}= Hydroxide as OH⁻ (%)

Alkalinity is the water's capacity to absorb acid, and it lives in three species: bicarbonate below about pH 8.3, carbonate between roughly 8.3 and 11, and free hydroxide above that. An ICP or ion-chromatography report gives them as their own ions, but every alkalinity limit, every dealkalizer sizing chart and every LSI calculation wants a single number as CaCO₃. The factors are equivalent-weight ratios: 50.04/61.02 = 0.8202 for bicarbonate, 50.04/30.00 = 1.6679 for carbonate, and 50.04/17.01 = 2.9425 for hydroxide. A groundwater with 122 mg/L HCO₃⁻ and 30 mg/L CO₃²⁻ has TA = 0.8202 × 122 + 1.6679 × 30 = 100.1 + 50.0 = 150 mg/L as CaCO₃.

In the field you rarely get the species — you get a two-stage titration. Titrating to pH 8.3 with phenolphthalein gives P alkalinity, then on to about pH 4.5 with methyl orange gives total M alkalinity, and the classic relations back out the split: if P = 0 it is all bicarbonate, if 2P < M you have bicarbonate plus carbonate, if 2P = M it is pure carbonate, and if 2P > M you have carbonate plus hydroxide. Note that carbonate's 1.6679 is roughly double bicarbonate's 0.8202 — a water whose pH has drifted up into the carbonate range gains alkalinity as CaCO₃ without gaining a single milligram of carbon, which routinely confuses operators chasing a runaway boiler.

Worked example: 122 mg/L HCO3 + 30 mg/L CO3 → TA = 150.1 mg/L as CaCO3

Acid Feed to Reduce Alkalinity

m˙=ΔAlkQ×EW50.04p/100%\dot m = \frac{\Delta \mathrm{Alk} \, Q \times \frac{\mathrm{EW}}{50.04}}{p/100\%}
QpEWΔAlk
Where
  • m˙\dot m= Acid feed rate (kg/h)
  • ΔAlk\Delta \mathrm{Alk}= Alkalinity reduction as CaCO₃ (%)
  • QQ= Water flow rate (L/min)
  • EW\mathrm{EW}= Equivalent weight of the acid (g/mol)
  • pp= Acid strength (%)

Acid feed is how a cooling tower runs at high cycles without cementing itself shut. Alkalinity is what drives the LSI upward, so knocking it down from, say, 200 to 150 mg/L as CaCO₃ buys back most of a scaling index unit. The arithmetic is equivalent-for-equivalent: every equivalent of alkalinity needs one equivalent of acid. Because CaCO₃ has an equivalent weight of 50.04 and sulphuric acid 49.04, pure H₂SO₄ neutralizes alkalinity at almost exactly 0.98 pounds per pound — then divide by the commercial strength. Removing 50 mg/L from 1 MGD with 93% sulphuric acid takes 50 × 1 × 8.34 × 0.98 / 0.93 ≈ 440 lb/day, and the same job with 100% pure acid would take 409.

Two hard-won cautions. Acid feed and pH control are not the same knob: you are removing buffer capacity, so as alkalinity falls the water's pH becomes progressively twitchier and a pump that was fine yesterday can overshoot into the low 6s and start dissolving copper. Never run a tower below about 50 mg/L residual alkalinity for that reason. And plumb it properly — feed into a turbulent, well-mixed return line, never into the tower basin or a dead leg, use a corrosion-resistant quill that discharges into the middle of the pipe, and interlock the pump to the recirculation flow switch. A concentrated acid slug sitting in a stagnant carbon-steel header will eat a hole through schedule 40 pipe in a single afternoon.

Worked example: 10 kg/h of 100% H2SO4 into 50 m3/h → 204.1 mg/L alkalinity removed

TDS Estimated from Conductivity (TDS = k × EC)

TDS=k×EC\mathrm{TDS} = k \times \mathrm{EC}
ECkTDS
Where
  • TDS\mathrm{TDS}= Total dissolved solids (%)
  • kk= TDS/EC factor
  • EC\mathrm{EC}= Electrical conductivity (μS/cm)

Evaporating a litre of water to dryness and weighing the residue is the only true TDS measurement, and it takes a drying oven and several hours. A conductivity meter gives an answer in two seconds, and because dissolved salts are what carry the current the two track each other closely enough for daily work: TDS in mg/L ≈ k × conductivity in µS/cm. The factor k is not a constant of nature — it depends on which ions dominate. Chloride-rich waters run near 0.55, typical fresh surface and well waters around 0.65, and sulphate- or bicarbonate-heavy waters climb toward 0.70. A tower reading 500 µS/cm at k = 0.65 is carrying roughly 325 mg/L of dissolved solids.

Two things will bite you. First, conductivity is strongly temperature-dependent — about 2% per °C — so every meaningful reading is temperature-compensated to 25 °C; a probe without compensation reading warm blowdown will overstate TDS by 15% or more. Second, non-ionic dissolved solids are invisible to the meter. Silica, dissolved organics and sugars contribute real gravimetric TDS but carry almost no current, which is why a high-silica cooling water or a food-plant effluent can gravimetrically test far above what its conductivity predicts. Calibrate k against one oven-dried sample of your own water and it becomes a genuinely reliable daily tool.

Worked example: 500 uS/cm at k = 0.65 → TDS = 325 mg/L

Water Resistivity and Conductivity

ρ=1σ\rho = \frac{1}{\sigma}
σρ
Where
  • ρ\rho= Resistivity (Ω·m)
  • σ\sigma= Conductivity (μS/cm)

Above about 10 µS/cm nobody in water treatment talks about resistivity; below it, nobody talks about anything else. The two are exact reciprocals of the same physical property, but the resistivity scale spreads out the ultrapure end where the interesting decisions live. Theoretically perfect water at 25 °C, ionized only by its own dissociation into H⁺ and OH⁻, has a conductivity of 0.055 µS/cm and therefore a resistivity of 18.2 MΩ·cm — the number stamped on every laboratory polisher. Drop to 1 MΩ·cm and you are at 1 µS/cm, roughly 0.5 mg/L of dissolved solids; at 100 kΩ·cm (10 µS/cm) a mixed-bed cartridge is exhausted and needs changing.

The trap is the centimetre. Instrument resistivity is quoted in ohm-centimetres and conductivity in siemens per centimetre, so 18.2 MΩ·cm is 1.82 × 10⁵ Ω·m in SI, and mixing the two scales throws a factor of 100 into your answer. Temperature matters even more here than in ordinary conductivity work: water's self-ionization roughly doubles for every 10 °C, so uncompensated ultrapure water reads dramatically "dirtier" when warm. And resistivity says nothing about dissolved gases or organics — an 18.2 MΩ·cm loop can still be carrying enough TOC or dissolved CO₂ to ruin a semiconductor rinse.

Worked example: 0.055 uS/cm ultrapure water → 181818 ohm*m (18.2 Mohm*cm)

Hardness Load Removed per Regeneration

m=CVm = C \, V
CVm
Where
  • mm= Hardness removed as CaCO₃ (kg)
  • CC= Raw water hardness as CaCO₃ (%)
  • VV= Volume treated (L)

Every softener sizing calculation starts here: how much hardness, by weight, has to come out of the water between one regeneration and the next. Concentration times volume, and the only trick is keeping the units honest. In North American trade practice the arithmetic is done entirely in grains — hardness in grains per gallon times gallons treated gives grains of hardness — so 20 gpg water and 1,000 gallons between regenerations is 20,000 grains, which is 20,000/7,000 = 2.86 lb of calcium carbonate, or 1.30 kg. That figure is what you compare against the resin bed's rated capacity.

The classic field mistake is sizing on average daily use and forgetting the peak. A family of four using 300 gallons a day looks like a 6,000 grain/day load on 20 gpg water, so a 30,000 grain softener seems to give five comfortable days — until laundry day, a filled hot tub, or an irrigation zone doubles the volume and the bed exhausts mid-shower with untreated hard water going straight to the heater. The other trap is forgetting to add clear-water iron, which the resin also removes: the rule of thumb is to add about 4 gpg of equivalent load per mg/L of dissolved iron before you size anything.

Worked example: 2.0 kg of hardness at 350 mg/L → 5714.3 L treated

Softener Resin Volume Required

V=mcapqV = \frac{m_{\text{cap}}}{q}
Vmcapq
Where
  • VV= Resin volume required (L)
  • mcapm_{\text{cap}}= Capacity required as CaCO₃ (kg)
  • qq= Resin capacity rating (kg/m³)

Ion-exchange resin is sold and rated by volume, so once you know the hardness load per cycle the bed size follows immediately. The industry rating is grains of hardness per cubic foot at a stated salt dose: about 20,000 gr/ft³ at 6 lb of salt per cubic foot, 24,000 at 9 lb, and 32,000 at a saturating 15 lb. In mass terms 30,000 grains per cubic foot is 4.29 lb/ft³, or about 68.7 kg/m³ as CaCO₃. A load of 30,000 grains per regeneration at a 30,000 gr/ft³ rating therefore needs exactly one cubic foot — the standard residential "one cube" tank, roughly 28 litres of resin in a 9 × 48 inch vessel.

Volume is not the only constraint, and this is where undersized systems come from. The bed also has to satisfy service flow (about 7–10 gpm per cubic foot before hardness leakage climbs), backwash flow (enough to fluidize and expand the bed 50%, which sets the tank diameter), and minimum contact time. A tall thin tank meets the volume target and fails the backwash; a short fat one backwashes beautifully and channels in service. Pick the resin volume from this formula first, then check that the tank geometry that holds it can also pass the peak flow — and add 15–20% if the water carries iron or the customer is on a well with variable quality.

Worked example: 2.0 kg capacity in 30 L of resin → 66.67 kg/m3 rating

Days Between Softener Regenerations

t=mcapCQt = \frac{m_{\text{cap}}}{C \, Q}
CQmcapt
Where
  • tt= Time between regenerations (s)
  • mcapm_{\text{cap}}= Rated capacity as CaCO₃ (kg)
  • CC= Raw water hardness as CaCO₃ (%)
  • QQ= Average water usage (L/min)

This is the number the customer actually feels: how often the softener wakes up at 2 a.m. and how much salt the bag loses each month. Divide the bed's rated capacity by the hardness load per unit of water and you get the run length. Working it in trade units, a 30,000 grain softener on 10 gpg water fed at 1 gallon per minute exhausts after 3,000 gallons, which is 3,000 minutes or about 50 hours of continuous flow; on typical residential intermittent use at 300 gallons a day that same bed runs 10 days. Metered control valves do exactly this arithmetic internally, which is why programming them requires an accurate hardness number and an honest household size.

The published capacity is the trap. A cubic foot of standard 8% cross-linked resin holds about 32,000 grains at a heavy 15 lb/ft³ salt dose, but only about 20,000 grains at an economical 6 lb/ft³ — and the rated number on the box is almost always the high-salt figure. Size the interval on the salt setting you actually intend to run. Two more field rules: never let a bed go longer than about 14 days between regenerations regardless of capacity, because stagnant resin fouls biologically, and set the reserve capacity so the valve regenerates before the day's demand rather than during it.

Worked example: 200 mg/L, 10 L/min, 7 days → 20.16 kg capacity needed

Salt Dose per Regeneration

msalt=DVm_{\text{salt}} = D \, V
DmsaltV
Where
  • msaltm_{\text{salt}}= Salt used per regeneration (kg)
  • DD= Salt dosage setting (kg/m³)
  • VV= Resin volume (L)

The salt setting is the single most consequential number in a softener's programming, and it is a straight multiplication: dosage per cubic foot times cubic feet of resin. Two cubic feet at 8 lb/ft³ draws 16 lb of salt per regeneration. What makes the choice interesting is that capacity and salt efficiency pull in opposite directions. At 6 lb/ft³ you get about 20,000 grains per cubic foot — roughly 3,300 grains per pound of salt, excellent efficiency. Push to 15 lb/ft³ and capacity climbs to about 32,000 grains, but efficiency collapses to around 2,100 grains per pound. You buy the last third of the capacity at nearly double the salt cost.

That trade-off drives real regulation. Several US states and California in particular set minimum salt efficiency standards, and high-efficiency programming means running low salt doses with proportionally more frequent regenerations. The counter-argument is hardness leakage: a lightly regenerated bed keeps more residual calcium on the bottom of the column and leaks 1–3% of inlet hardness into service, which matters if the softener is feeding a boiler or an RO. Field practice on a well with 25 gpg and an RO downstream is to run 10–12 lb/ft³ and accept the salt; on a municipal supply at 8 gpg feeding a house, 6 lb/ft³ is plenty. Also confirm the brine tank actually makes saturated brine — a bridged salt crust means the valve draws water, not brine, and the bed never regenerates at all.

Worked example: 6 kg of salt at 96 kg/m3 → 62.5 L of resin

Hardness Removal Efficiency and Leakage

R=CinCoutCinR = \frac{C_{\text{in}} - C_{\text{out}}}{C_{\text{in}}}
CinCoutR
Where
  • RR= Removal efficiency
  • CinC_{\text{in}}= Inlet hardness as CaCO₃ (%)
  • CoutC_{\text{out}}= Outlet hardness as CaCO₃ (%)

Removal efficiency is the honest way to grade a softener, because "soft water" is a marketing word and 1 gpg out of 20 gpg is not the same thing as 0.1 out of 20. Subtract the outlet from the inlet, divide by the inlet, and you have the fraction removed; whatever is left is leakage. A bed taking 20 gpg down to 1 gpg is running 95% removal and 5% leakage — acceptable for a house, unacceptable ahead of a low-pressure steam boiler, where the specification is typically under 1 mg/L as CaCO₃, or better than 99.7% on the same water.

Leakage is not random; it comes from the bottom of the resin column. During regeneration the brine flows counter-current or co-current through the bed, and whatever calcium is left on the last few inches of resin is what the service water meets on its way out. Low salt doses leave more of it, high flow rates give less contact time to strip it, and high inlet TDS makes sodium a less effective competitor for the exchange sites. If a customer complains that their new softener "doesn't feel soft," measure the outlet hardness before touching anything: 3 gpg leaking through a system that should deliver 0.2 usually means a low salt setting, a bridged brine tank, or a bed that has channelled and needs a manual backwash.

Worked example: 20 gpg in, 1 gpg out → R = 0.95 (95% removal)

Cooling Towers & Boilers

Cycles of Concentration (COC = M/B)

COC=MB\text{COC} = \frac{M}{B}
MBCOC
Where
  • COC\text{COC}= Cycles of concentration
  • MM= Makeup water rate (L/min)
  • BB= Blowdown rate (L/min)

An evaporative cooling tower throws away pure water vapour and keeps every dissolved mineral behind, so the water in the basin steadily gets saltier. Cycles of concentration is simply how many times more concentrated that circulating water has become than the makeup that feeds it — and because every litre of makeup either evaporates or leaves as blowdown, the ratio of makeup to blowdown gives the same answer as any chemical ratio. A tower taking 100 gpm of makeup while bleeding 20 gpm to drain is running at 100/20 = 5 cycles.

Cycles is the single number that decides whether a tower saves water or eats itself. Before the 1970s most towers ran at two or three cycles because nobody trusted the chemistry to hold scale off; modern phosphonate and polymer programs routinely hold six to ten, and every cycle you add cuts blowdown sharply — going from 3 to 6 cycles halves the bleed. The trap is chasing cycles past what the makeup can support: once calcium × alkalinity crosses the saturation line the tower fills with carbonate scale, and a fouled condenser costs far more in compressor power than the water ever saved.

Worked example: 100 gpm makeup, 20 gpm blowdown → 5 cycles

Cycles of Concentration from Conductivity

COC=σtσm\text{COC} = \frac{\sigma_t}{\sigma_m}
σmσtCOC
Where
  • COC\text{COC}= Cycles of concentration
  • σt\sigma_t= Tower water conductivity (μS/cm)
  • σm\sigma_m= Makeup water conductivity (μS/cm)

Nobody meters makeup and blowdown on a routine service call — they dip a conductivity probe in the makeup line and again in the basin, and divide. Dissolved salts carry current, they do not evaporate, and they concentrate in lockstep, so 2400 μS/cm in the tower against 400 μS/cm in the city water means the system is running at exactly 6 cycles. The same probe is what the blowdown controller uses: set a 2400 μS/cm setpoint and the solenoid opens whenever the basin drifts above it.

Two traps catch people. First, conductivity meters are temperature-compensated to 25 °C — a hot basin and a cold makeup tap read on different bases unless compensation is on, and a 10 °C error is worth roughly 20% on the reading. Second, if you dose an acid or a conductive inhibitor, that chemical shows up in the tower reading but not in the makeup, inflating the apparent cycles; that is precisely why many programs cross-check against a non-reactive tracer such as chloride.

Worked example: 2400 uS/cm tower over 400 uS/cm makeup → 6 cycles

Cycles of Concentration from Chloride

COC=CltClm\text{COC} = \frac{\mathrm{Cl}_t}{\mathrm{Cl}_m}
ClmCltCOC
Where
  • COC\text{COC}= Cycles of concentration
  • Clt\mathrm{Cl}_t= Tower water chloride (%)
  • Clm\mathrm{Cl}_m= Makeup water chloride (%)

Chloride is the referee. Calcium precipitates as scale, alkalinity boils off as CO₂, silica drops out at high pH and conductivity gets muddied by whatever you are feeding — but chloride stays dissolved through all of it and appears in no cooling-water inhibitor. So when the conductivity ratio says nine cycles and the chloride ratio says five, the conductivity number is lying: 250 ppm Cl in the basin over 50 ppm Cl in the makeup is five cycles, full stop.

Field technique matters more than the arithmetic here. A silver nitrate (Mohr) titration on a 50 mL sample resolves chloride to a few ppm, which is plenty when the makeup carries 30–80 ppm, but if the makeup is soft well water with 5 ppm Cl the ratio becomes noise and you should switch tracers. Watch also for chloride sneaking in from elsewhere — a leaking heat exchanger on a brine loop, or hypochlorite biocide slugs, both add chloride to the tower only, and both will make a well-controlled system look badly over-cycled.

Worked example: 250 ppm Cl tower over 50 ppm Cl makeup → 5 cycles

Cooling Tower Evaporation Rate

E=0.001RΔTE = 0.001 \, R \, \Delta T
ERΔT
Where
  • EE= Evaporation rate (L/min)
  • RR= Recirculation rate (L/min)
  • ΔT\Delta T= Cooling range ()

Rejecting heat by evaporation costs about one percent of the circulating water for every ten Fahrenheit degrees of range — the arithmetic behind the constant 0.001. It falls straight out of an energy balance: to drop a pound of water by 10 °F you must remove 10 BTU, and boiling off a pound of water at tower temperatures absorbs roughly 1000 BTU, so one pound in a hundred leaves as vapour. A 1000 gpm tower on a standard 10 °F range therefore evaporates about 10 gpm, or 14,400 gallons a day. The solver applies the rule per Fahrenheit degree even when you enter the range in Celsius, converting for you.

The rule is deliberately blunt and it is honest about it: real evaporation varies with ambient wet bulb, because in cold, dry weather part of the heat leaves as sensible warming of the air rather than as latent heat. Field factors of 0.00085 in winter and 0.00110 on a humid summer afternoon bracket the reality, so treat the 0.001 answer as a design-day figure. The common mistake is applying it to a closed-circuit or dry cooler — those lose no water at all, and a technician who bills a dry cooler for makeup has some explaining to do.

Worked example: 600 m3/h losing 90 L/min → 5 degC range

Blowdown Rate from Cycles

B=ECOC1B = \frac{E}{\text{COC} - 1}
EBCOC
Where
  • BB= Blowdown rate (L/min)
  • EE= Evaporation rate (L/min)
  • COC\text{COC}= Cycles of concentration

Every mineral entering with the makeup leaves either in the blowdown or as scale on a tube. Write the salt balance — makeup in equals blowdown out, at COC times the concentration — and with makeup being evaporation plus blowdown the algebra collapses to B = E/(COC − 1). A tower evaporating 20 gpm and asked to hold 5 cycles must bleed 20/4 = 5 gpm; ask it to hold 10 cycles and the bleed drops to 2.2 gpm.

The shape of that curve is the whole economic argument for a chemical program. Going from 2 to 4 cycles cuts blowdown by two thirds; going from 8 to 10 barely moves it. Beyond about six cycles you are paying scale-inhibitor money for very little additional water saving, which is why most well-run comfort-cooling towers settle in the 4–7 range. And note what COC = 1 means physically: makeup with no concentration at all, which would require infinite bleed — the solver refuses it rather than dividing by zero.

Worked example: 90 L/min evaporation, 30 L/min bleed → 4 cycles

Cooling Tower Makeup Water Rate

M=E+B+DM = E + B + D
MEBD
Where
  • MM= Makeup water rate (L/min)
  • EE= Evaporation rate (L/min)
  • BB= Blowdown rate (L/min)
  • DD= Drift loss (L/min)

Water leaves an open cooling tower by exactly three doors — up the stack as vapour, out the bleed line as blowdown, and over the drift eliminators as entrained droplets — and the makeup valve has to replace all three. A 1000 gpm tower on a 10 °F range with 5 cycles typically needs about 20 gpm evaporation, 5 gpm blowdown and a fraction of a gpm of drift, so roughly 25.5 gpm of makeup, which is where the "makeup is about 2.5% of recirculation" shorthand comes from.

Utilities care about this equation for money reasons. Sewer charges are usually billed on metered water in, but only the blowdown and drift actually reach the sewer — the evaporated portion never does. In most North American jurisdictions you can install a second meter on the makeup line, or a bleed meter, and claim an evaporation credit worth a third or more of the water bill. The trap is signing up for the credit and then losing track of drift: modern eliminators cut it to 0.001–0.005% of recirculation, but a tower with damaged eliminators can throw ten times that, and those droplets carry full basin chemistry — and, in the wrong circumstances, Legionella — onto whatever is downwind.

Worked example: 200 L/min makeup less 40 gpm evaporation and 2 L/min drift

Cooling Tower Drift Loss

D=d100RD = \frac{d}{100} \, R
RDd
Where
  • DD= Drift loss (L/min)
  • RR= Recirculation rate (L/min)
  • dd= Drift rate (%)

Drift is water that never evaporates — actual basin water, at full basin chemistry, flung off the fill and carried out of the stack as droplets. It is quoted as a percentage of the circulating flow, so a 10,000 gpm tower rated at 0.005% drift loses 0.5 gpm, about 720 gallons a day, that no one ever sees. Because drift leaves at tower concentration it counts as blowdown for the cycles balance, which is why the honest form of the blowdown equation subtracts it: an uncontrolled tower with heavy drift can hold low cycles without ever opening the bleed valve.

The numbers have moved by two orders of magnitude in a lifetime. Towers built in the 1950s with wooden slat eliminators drifted 0.1–0.2%; cellular PVC eliminators introduced from the 1970s brought new towers to 0.005%, and current low-drift designs claim 0.0005%. That progress is public-health engineering, not just water conservation — the 1976 Philadelphia Legionnaires' outbreak was traced to a hotel cooling tower, and drift is the vector by which aerosolised basin water reaches people. If you find scale spotting on cars in the parking lot or white dusting on the roof deck, your eliminators are damaged, and the drift figure you are using in the water balance is fiction.

Worked example: 1.2 L/min drift on 120 m3/h → 0.06 percent

Cooling Tower Range

ΔT=ThTc\Delta T = T_h - T_c
ThTcΔT
Where
  • ΔT\Delta T= Range ()
  • ThT_h= Hot water temperature (°C)
  • TcT_c= Cold water temperature (°C)

Range is what the load does, not what the tower does. It is set entirely by how much heat the plant dumps into the water and how fast the water circulates — a chiller condenser rejecting a fixed duty at a fixed gpm will show the same range in January as in July. The classic North American design point is 95 °F in, 85 °F out: a 10 °F range at 3 gpm per ton, which is exactly the 15,000 BTU/h of condenser heat a ton of refrigeration rejects.

Because range depends on flow, a falling range is a diagnostic, not a compliment. If the range on a constant-load condenser drifts from 10 °F down to 6 °F, the circulating flow has gone up — usually a fouled or bypassed control valve. If it climbs to 15 °F, flow has dropped: a plugged strainer, an air-bound pump, or a partially closed isolation valve. Watch the range and the approach together and you can separate a hydraulic problem from a heat-transfer problem without opening anything.

Worked example: 40 degC hot water, 21.6 F range → 28 degC cold

Cooling Tower Approach

A=TcTwbA = T_c - T_{wb}
TwbTcATwb
Where
  • AA= Approach ()
  • TcT_c= Cold water temperature (°C)
  • TwbT_{wb}= Ambient wet-bulb temperature (°C)

Wet bulb is the coldest temperature evaporation can ever reach, so it is the floor a cooling tower is pushing against — and approach is how far above that floor the tower actually delivers. Unlike range, approach genuinely measures the tower: same load, same flow, and a fouled, scaled or air-starved tower will show a wider approach on the same day. The 1950s design convention of 7 °F approach persists; 5 °F is aggressive and expensive in fill and fan power, while nothing on earth reaches 0 °F.

An example a service tech runs weekly: on a 78 °F wet-bulb afternoon a tower delivering 85 °F basin water is at a 7 °F approach and is performing to design. If that same tower delivers 92 °F on the same wet bulb, the approach has doubled and something is wrong — plugged fill, a fan belt slipping, a bird screen matted with cottonwood, or scale on the fill sheets from a program running too many cycles. The trap is comparing basin temperatures between days; without the wet bulb the number means nothing, which is why a sling psychrometer or a hygrometer belongs in the truck.

Worked example: 29 degC basin with a 9 F approach → 24 degC wet bulb

Cooling Tower Heat Rejection

Q=500RΔTQ = 500 \, R \, \Delta T
QRΔT
Where
  • QQ= Heat rejection rate (W)
  • RR= Recirculation rate (L/min)
  • ΔT\Delta T= Cooling range ()

This is the water-side sensible-heat equation wearing trade clothing. Q = ṁ·c·ΔT with mass flow in pounds per hour and c = 1 BTU/(lb·°F) becomes Q = 500 × gpm × ΔT°F, because a gallon of water weighs 8.34 lb and there are 60 minutes in an hour: 8.34 × 60 = 500.4, rounded to 500 forever. A 1000 gpm tower on a 10 °F range is therefore rejecting 500 × 1000 × 10 = 5,000,000 BTU/h — about 1465 kW, or 417 tons of refrigeration.

Two habits keep this honest. First, the constant assumes plain water near ambient temperature; a 30% propylene glycol loop has a specific heat near 0.9 BTU/(lb·°F) and a different density, so the real constant is closer to 460 and using 500 overstates the duty by roughly 8%. Second, on a chiller the tower rejects the evaporator load plus the compressor work, which is why condenser water flow is sized at 3 gpm/ton against 2.4 gpm/ton on the chilled-water side. The solver applies the 500 constant per gallon per minute per Fahrenheit degree regardless of the units you type, converting first.

Worked example: 1000 gpm on 10 F → 5,000,000 BTU/h = 1.4654 MW

Chemical Feed Rate from Dose

W=CQρwW = C \, Q \, \rho_w
QWC
Where
  • WW= Chemical feed rate (kg/h)
  • CC= Dose (%)
  • QQ= Water flow rate (L/min)

This is the calculation a water treater does more than any other, and in the field it is written lb/day = ppm × MGD × 8.34. The 8.34 is the weight of a US gallon of water at 60 °F, so a million gallons weighs 8.34 million pounds and one part per million of that is 8.34 lb. Dosing 20 ppm into 100 gpm — which is 144,000 gal/day, or 0.144 MGD — needs 20 × 0.144 × 8.34 = 24.0 lb of product per day, or almost exactly 1 lb/h on the pump.

The near-universal mistake is confusing product with active ingredient. If the drum is a 20% active phosphonate blend, feeding 24 lb/day of product delivers only 4.8 lb/day of active, and your residual test will read a fifth of target. Decide up front whether the ppm you are quoting is as-product or as-active, write it on the log sheet, and stay consistent. Also decide which flow you are dosing against: inhibitor fed proportional to makeup holds a residual against dilution, while feeding proportional to blowdown replaces what is actually leaving the system — the two differ by the cycles of concentration.

Worked example: 24.0192 lb/day at 20 ppm → 378.54 L/min of water

Dose Achieved from Chemical Added

C=mVρwC = \frac{m}{V \, \rho_w}
mVC
Where
  • CC= Concentration achieved (%)
  • mm= Mass of chemical added (kg)
  • VV= System volume (L)

Run the feed equation backwards and you get the after-the-fact question every technician is asked: I dumped a pail in — where does that put me? Ten pounds of product into a 5000 gallon system is 10 lb spread through 5000 × 8.34 = 41,700 lb of water, which is 10/41,700 = 240 ppm. In metric the same idea is even simpler, since a cubic metre of water weighs about 1000 kg: one kilogram in ten cubic metres is 100 ppm.

The number that wrecks this calculation is never the arithmetic — it is the system volume. Nameplate volumes on closed loops are optimistic, and towers with deep sumps, remote basins or long buried runs routinely hold 30–50% more than the drawings say. If accuracy matters, measure it: add a known mass of an inert tracer such as lithium or a fluorescent dye, let it mix for a full turnover, test the residual, and solve this same equation for V. That trick is the basis of every tracer-controlled feed program on the market.

Worked example: 10 lb into 5000 gal → 239.81 ppm

Product Dose from Active Strength

Dp=100DaAD_p = \frac{100 \, D_a}{A}
ADpDa
Where
  • DpD_p= Product dose (%)
  • DaD_a= Active ingredient dose (%)
  • AA= Active strength (%)

Almost nothing in a drum is neat. A "50% caustic" is half water, a nitrite closed-loop product may be 20% sodium nitrite, and a scale inhibitor blend might carry 8% active phosphonate with the rest as azole, polymer, dye and water. If the specification says you need 100 ppm of active nitrite and the product is 25% active, you must feed 100 × 100/25 = 400 ppm of product. Miss that and you are running at a quarter of the protection you think you have.

The trap runs in both directions and shows up on test kits. Most field kits report the active — a nitrite kit reads ppm NO₂, a molybdate kit reads ppm MoO₄ — while your feed log records product. When the two do not line up, people chase phantom leaks or overfeed. The fix is a single line at the top of the log: "target 800 ppm product = 200 ppm active nitrite." Note too that suppliers reformulate; when a drum quietly changes from 25% to 20% active, the same feed setting silently drops your residual 20%, and only the label tells you.

Worked example: 100 ppm active from a 25% product → 400 ppm product

Closed Loop Slug Dose Volume

Vp=CVsρwρpV_p = \frac{C \, V_s \, \rho_w}{\rho_p}
VsCVpρp
Where
  • VpV_p= Product volume to add (L)
  • VsV_s= System volume (L)
  • CC= Target concentration (%)
  • ρp\rho_p= Product density (kg/m³)

Closed loops are not fed continuously — they get slugged. You want a target ppm in the loop, you know roughly how many gallons the loop holds, and the drum in your hand is a liquid whose label gives a density in pounds per gallon. Convert the required mass of product to a volume you can actually pour: 200 ppm into 1000 gallons needs 200 × 0.001 × 8.34 = 1.67 lb of product, and at 9.5 lb/gal that is 0.176 gal — about 22.5 fluid ounces. Measure it in a graduated pitcher, not by eye.

Chemical density is the part people skip. Nitrite and molybdate inhibitors commonly run 9.5–10.5 lb/gal, glycol-based products near 8.6, and concentrated caustic 12.7 — assuming water density can put you 25% off. Field practice: pour the slug into a bypass feeder (a pot feeder), open the isolation valves, and give the loop at least three full turnovers before you test. Testing ten minutes after dosing produces a beautifully wrong result and a second unnecessary slug on top of it.

Worked example: 200 ppm into 1000 gal with 9.5 lb/gal product → 0.6646 L

Holding Time Index

HTI=ln2  VB\text{HTI} = \frac{\ln 2 \; V}{B}
VBHTI
Where
  • HTI\text{HTI}= Holding time index (h)
  • VV= System volume (L)
  • BB= Blowdown rate (L/min)

A bled system is a stirred tank being continuously diluted, so any chemical in it decays exponentially — and the holding time index is that decay's half-life. The 0.693 is ln 2, exactly the same constant that governs radioactive half-life; formula.expert carries the full ln 2 = 0.693147. A 30,000 gallon tower bleeding 20 gpm turns over in 1500 minutes, so its HTI is 0.693 × 1500 ≈ 1040 minutes, about 17 hours: stop feeding and half your inhibitor is gone by tomorrow morning.

HTI is the number that sets biocide strategy. A slug of oxidising biocide only works if it stays above its kill threshold long enough, and regulators treat this seriously — US EPA biocide labels are written around contact time, and a system with a four-hour HTI simply cannot hold a twelve-hour contact without continuous feed or a bleed lockout on the controller. The classic field error is computing HTI from the bleed valve alone and forgetting drift and leaks; on a leaky tower the real half-life can be a third of the calculated one, which is why residuals mysteriously vanish overnight.

Worked example: 30,000 gal bleeding 20 gpm → HTI 17.33 h

System Volume from Turnover Time

V=RtV = R \, t
VRt
Where
  • VV= System volume (L)
  • RR= Recirculation rate (L/min)
  • tt= Turnover time (s)

Nine times out of ten the plant cannot tell you how much water is in the system, and the treatment program depends on knowing. If you have the pump curve or a flow meter, and you can time one complete circuit, the volume follows immediately: 1200 gpm circulating with a 25 minute turnover means 30,000 gallons in the loop. Timing the turnover is the practical trick — inject dye or a salt slug at the pump discharge and clock how long until it comes back around.

Design rules of thumb are worth carrying as a cross-check. Cooling towers are usually sized so the whole system turns over in about 10 minutes of recirculation, and hydronic heating loops in 15–20; if your measured turnover is far outside that, suspect the flow figure rather than the volume. And remember what "system volume" must include — sump, standpipes, riser, condenser bundles, and the full length of any buried run. Underestimating volume is the single most common reason a slug dose lands low.

Worked example: 1200 gpm with a 25 min turnover → 113,562 L (30,000 gal)

Boiler Cycles of Concentration

COC=TDSbTDSfw\text{COC} = \frac{\text{TDS}_b}{\text{TDS}_{fw}}
TDSfwTDSbCOC
Where
  • COC\text{COC}= Cycles of concentration
  • TDSb\text{TDS}_b= Boiler water TDS (%)
  • TDSfw\text{TDS}_{fw}= Feedwater TDS (%)

A boiler is an evaporator with a pressure gauge on it: steam leaves as essentially pure water and every dissolved solid stays in the drum, so boiler water concentrates exactly the way a cooling tower does. Feedwater at 125 ppm TDS producing 2500 ppm in the drum is running at 20 cycles. Because the boiler drum is small relative to the throughput, that concentration builds in hours, not days.

What caps the cycles here is not scale but carryover. Above roughly 3000–3500 ppm TDS in a low-pressure firetube drum, the surface tension changes and the water begins to foam and prime, throwing slugs of dissolved solids into the steam header — where they bake onto superheater tubes, cut control valve seats and wreck turbine blades. ASME's boiler water guidelines tighten sharply with pressure: several thousand ppm is tolerated below 300 psi, but only a few hundred at 900 psi and single digits in a modern utility unit. The practical fix for high cycles is not chemistry, it is a better feedwater — softening, dealkalisation or reverse osmosis lowers the numerator and the denominator at once.

Worked example: 2500 ppm drum over 125 ppm feedwater → 20 cycles

Boiler Blowdown Percent

%B=TDSfwTDSb×100\%B = \frac{\text{TDS}_{fw}}{\text{TDS}_b} \times 100
TDSfwTDSb%B
Where
  • %B\%B= Blowdown percent of feedwater (%)
  • TDSfw\text{TDS}_{fw}= Feedwater TDS (%)
  • TDSb\text{TDS}_b= Boiler water TDS limit (%)

Blowdown percentage is the reciprocal of cycles wearing a different hat: if the drum may hold 3000 ppm and the feedwater carries 100 ppm, you must dump 100/3000 = 3.3% of the feedwater to keep the solids in balance. It is the number a plant engineer actually budgets, because blowdown leaves at saturation temperature and takes its enthalpy with it — every percent of continuous blowdown on a 100 psig boiler costs roughly 0.2–0.3% of fuel.

The lever that pays is the feedwater, and the biggest single term in feedwater TDS is usually makeup rather than condensate. Raise condensate return from 50% to 80% and the feedwater TDS falls by more than half, and the blowdown percentage falls with it — fuel, water, chemical and sewer savings all at once. Two field cautions: measure boiler TDS on a cooled, depressurised sample or the flashing will concentrate it and read high, and do not confuse continuous surface blowdown, which controls TDS, with the bottom blowdown that clears sludge from the mud drum. Only the surface blowdown belongs in this equation.

Worked example: 100 ppm feedwater, 3000 ppm limit → 3.33% blowdown

Boiler Blowdown Rate from Steam Rate

B=SCOC1B = \frac{S}{\text{COC} - 1}
SCOCB
Where
  • BB= Blowdown rate (kg/h)
  • SS= Steam production rate (kg/h)
  • COC\text{COC}= Cycles of concentration

Feedwater equals steam plus blowdown, and a solids balance says feedwater equals blowdown times the cycles — put the two together and B = S/(COC − 1). It is the same algebra as the cooling tower, with steam playing the role of evaporation, which is exactly right: both are pure water leaving and both are what drives the concentration. A 10,000 lb/h boiler held at 20 cycles must blow down 10,000/19 = 526 lb/h, about 1 gpm of scalding water.

Sizing that flow is what an orifice-plate or automatic surface blowdown valve does, and getting it wrong is expensive in both directions. Blow down too little and the drum climbs past its TDS limit until it foams and carries over; blow down too much and you are throwing away treated, deaerated, chemically dosed water at saturation temperature — which is why any boiler over roughly 500 lb/h of continuous blowdown deserves a flash tank and a blowdown heat exchanger, recovering 80% of that energy into the makeup. Note that the blowdown here is continuous surface blowdown only; intermittent bottom blows for sludge removal sit on top of this figure.

Worked example: 5000 kg/h steam with 250 kg/h blowdown → 21 cycles

Condensate Return Percentage

%CR=ScS×100\%CR = \frac{S_c}{S} \times 100
SSc%CR
Where
  • %CR\%CR= Condensate return percentage (%)
  • ScS_c= Condensate returned (kg/h)
  • SS= Steam production rate (kg/h)

Condensate is the best boiler feedwater on the planet: distilled, near zero hardness, near zero dissolved solids, and already sitting at 180–200 °F. Returning 6000 lb/h out of 10,000 lb/h generated is 60% return, and every point you add cuts fuel, makeup water, softener salt, chemical and blowdown together. A closed process plant can hit 90%; a hospital with steam humidifiers and sterilisers may never exceed 40% because much of the steam is consumed rather than condensed.

The number is also a leak detector. Return percentage falling from 75% to 55% over a season almost always means failed steam traps blowing live steam to the vent, or a buried return line leaking into the ground — and the makeup meter will confirm it. The caution on the treatment side is that returned condensate is not automatically good condensate: it picks up carbonic acid from CO₂ released by feedwater alkalinity, and that acid eats grooves along the bottom of return lines. If your return conductivity or iron suddenly spikes, dump the condensate to drain until you find the process leak or the corrosion source, rather than feeding it to the boiler.

Worked example: 6000 lb/h returned of 10,000 lb/h steam → 60%

Boiler Makeup from Condensate Return

M=S(1%CR100)M = S\left(1 - \frac{\%CR}{100}\right)
S%CRM
Where
  • MM= Makeup water rate (kg/h)
  • SS= Steam production rate (kg/h)
  • %CR\%CR= Condensate return percentage (%)

Whatever steam does not come back has to be replaced with cold, hard city water, and that makeup is the entire reason a boiler house has softeners, a dealkaliser and a chemical room. A 20,000 lb/h plant returning 70% of its condensate must treat 6000 lb/h of makeup — about 12 gpm — and if the return drops to 50% that jumps to 10,000 lb/h and the softener that was comfortably sized is now regenerating twice as often.

Cost the difference and the argument for repairing traps makes itself: makeup enters at maybe 55 °F while condensate returns near 190 °F, so every pound of lost condensate costs roughly 135 BTU of extra fuel on top of the water, salt, chemical and sewer charges. Strictly, feedwater is steam plus blowdown, so the true makeup is slightly higher than this equation gives — add the blowdown term when you are sizing equipment rather than benchmarking. And do not forget deaerator vent losses and steam-driven pumps, which quietly consume a few percent of production and never return.

Worked example: 10,000 kg/h steam, 7716.18 lb/h makeup → 65% return

Flash Steam Percentage

%F=hf1hf2hfg2×100\%F = \frac{h_{f1} - h_{f2}}{h_{fg2}} \times 100
hf1%Fhfg2hf2
Where
  • %F\%F= Flash steam percentage (%)
  • hf1h_{f1}= Liquid enthalpy at high pressure (J/kg)
  • hf2h_{f2}= Liquid enthalpy at low pressure (J/kg)
  • hfg2h_{fg2}= Latent heat at low pressure (J/kg)

Condensate at 100 psig sits at 338 °F, and it can only do that under pressure. Open a trap to an atmospheric receiver and the water is suddenly 126 °F hotter than it is allowed to be, so it borrows its own excess sensible heat as latent heat and part of it boils instantly. The bookkeeping is pure energy balance: the surplus liquid enthalpy hf1hf2h_{f1} - h_{f2} divided by the latent heat available at the lower pressure. With hf1=309h_{f1} = 309, hf2=180.2h_{f2} = 180.2 and hfg2=970.3h_{fg2} = 970.3 BTU/lb, 128.8/970.3 = 13.3% of the condensate flashes.

Thirteen percent by mass is more than a thousand percent by volume, which is why a receiver vent that "blows steam" is usually normal flash and not a failed trap — the classic misdiagnosis on a steam survey. Tell them apart by watching the plume: flash pulses with each trap discharge, live steam blows continuously. Better still, do not vent it. A flash tank recovering that steam into a low-pressure header, or a heat exchanger putting it into the makeup, pays back in months, and the same arithmetic applied to boiler blowdown is where blowdown heat recovery gets its numbers.

Worked example: 100 psig condensate to atmosphere → 13.27% flash

Corrosion & the Water Quality Indices

Langelier Saturation Index (LSI)

LSI=pHpHs\mathrm{LSI} = \mathrm{pH} - \mathrm{pH_s}
pHspHLSI
Where
  • LSI\mathrm{LSI}= Langelier Saturation Index
  • pH\mathrm{pH}= Measured pH
  • pHs\mathrm{pH_s}= Saturation pH

Wilfred Langelier published his index in 1936 to answer one question every plant operator still asks: will this water lay down calcium carbonate, or will it eat my pipe? The index is nothing more than the distance between the pH you measure and the pH at which the water would be exactly saturated with CaCO₃. A positive LSI means the water is supersaturated and will deposit scale; a negative LSI means it is hungry and will dissolve any protective carbonate film it finds, exposing bare metal. Zero is theoretical equilibrium. A cooling tower running pH 7.8 against a saturation pH of 7.31 sits at LSI = 7.8 − 7.31 = +0.49, comfortably scaling and in need of acid or a scale inhibitor.

The trap is treating LSI as a rate. It is a direction only — a thermodynamic yes/no, not a mils-per-year number. Two waters can both read +0.5 and behave completely differently because one carries 400 mg/L of calcium and the other 40. That is why field practice pairs LSI with the Ryznar index and, in cooling systems, with a calcium-times-alkalinity limit. Also remember that LSI is a bulk-water number: heat exchanger skin temperatures run 10–20 °C above the bulk, and a water that is −0.2 in the basin can be +0.6 on the tube wall.

Worked example: pH 7.80 against pHs 7.31 → LSI = +0.49 (scaling)

Saturation pH (pHs) for Langelier's Index

pHs=(9.3+A+B)(C+D)\mathrm{pH_s} = (9.3 + A + B) - (C + D)
CaAlkTDSTpHs
Where
  • pHs\mathrm{pH_s}= Saturation pH
  • TDS\mathrm{TDS}= Total dissolved solids (%)
  • TT= Water temperature (°C)
  • Ca\mathrm{Ca}= Calcium hardness as CaCO₃ (%)
  • Alk\mathrm{Alk}= Total alkalinity as CaCO₃ (%)

This is the engine underneath every LSI calculation, and the reason so many operators quietly distrust the number: it is four separate correction terms bolted together. A handles ionic strength through TDS, B handles temperature through the solubility product of calcite, C is the calcium hardness term and D the alkalinity term — both expressed as mg/L CaCO₃, never as the raw ion. Older handbooks hand you A, B, C and D from four printed lookup tables; this page uses the published closed-form fits instead, so temperature and TDS go in as real measurements rather than as a table row you rounded to the nearest 100. Work an example: TDS 400 mg/L, 25 °C, calcium hardness 240 mg/L as CaCO₃, alkalinity 180 mg/L as CaCO₃ gives A = 0.160, B = 2.085, C = 1.980, D = 2.255, so pHs\mathrm{pH}_s = 9.3 + 0.160 + 2.085 − 1.980 − 2.255 = 7.31.

Two traps catch people every time. First, C wants calcium hardness, not total hardness — feeding it a total-hardness number that includes magnesium inflates the calcium term and makes the water look far more scale-forming than it is. Second, B is strongly temperature-sensitive: the same water at 60 °C has B = 1.45 instead of 2.09, dropping pHs\mathrm{pH}_s by more than half a unit and pushing the LSI up by the same amount. That single term is why a boiler feedwater heater scales while the cold main it is fed from stays clean, and why any LSI you quote should carry the temperature you assumed.

Worked example: TDS 400, 25 C, Ca 240, Alk 180 (all as CaCO3) → pHs = 7.310

Ryznar Stability Index (RSI)

RSI=2pHspH\mathrm{RSI} = 2\,\mathrm{pH_s} - \mathrm{pH}
pHspHRSI
Where
  • RSI\mathrm{RSI}= Ryznar Stability Index
  • pHs\mathrm{pH_s}= Saturation pH
  • pH\mathrm{pH}= Measured pH

John Ryznar worked at Nalco in 1944 and noticed that Langelier's index told you the direction of a water's tendency but not how hard it would push. He rebuilt it as an empirical scale calibrated against real municipal distribution data: RSI = 2·pHs\mathrm{pH}_s − pH, always positive, running roughly from 4 to 10. Below about 6 the water lays down scale; 6 to 7 is the sweet spot most cooling and distribution systems aim for; above 7 the water is increasingly aggressive and above 8.5 it is downright corrosive. A tower at pH 7.8 with pHs\mathrm{pH}_s 7.31 gives RSI = 14.62 − 7.8 = 6.82 — mildly aggressive, contradicting the +0.49 LSI that called the same water scaling.

That contradiction is the point, not a bug. LSI says the water can deposit calcium carbonate; RSI says there is not enough driving force to build a protective film fast enough to matter. Field practice is to run both and treat a water only when they agree, or to lean on RSI in distribution mains and on LSI in heated equipment where the skin temperature does the deciding. The one thing you should never do is compute RSI from a pHs\mathrm{pH}_s you looked up at 25 °C and a pH you measured on hot water — both numbers have to describe the same fluid at the same temperature.

Worked example: pHs 7.31, pH 7.80 → RSI = 6.82

Puckorius (Practical) Scaling Index

PSI=2pHspHeq,pHeq=1.465log10Alk+4.54\mathrm{PSI} = 2\,\mathrm{pH_s} - \mathrm{pH_{eq}}, \quad \mathrm{pH_{eq}} = 1.465\,\log_{10}\mathrm{Alk} + 4.54
AlkpHsPSI
Where
  • PSI\mathrm{PSI}= Puckorius Scaling Index
  • pHs\mathrm{pH_s}= Saturation pH
  • Alk\mathrm{Alk}= Total alkalinity as CaCO₃ (%)

Paul Puckorius argued in the 1980s that measured pH is the wrong number to put in a scaling index for recirculating cooling water. Bulk pH drifts with dissolved CO₂, with acid feed swings, and with whatever the tower stripped out of the air that afternoon — but the water's real buffering capacity, and therefore the pH it will settle back to at the hot metal surface, is set by alkalinity. So he substituted an equilibrium pH, pHeq\mathrm{pH}_{\text{eq}} = 1.465·log₁₀(alkalinity as CaCO₃) + 4.54, and kept Ryznar's doubling. With pHs\mathrm{pH}_s = 7.31 and alkalinity 180 mg/L, pHeq\mathrm{pH}_{\text{eq}} = 1.465 × 2.255 + 4.54 = 7.84 and PSI = 14.62 − 7.84 = 6.78.

Read PSI on the Ryznar scale: under about 6 scaling, 6–7 balanced, over 7 corrosive. Where it earns its keep is in high-cycle towers dosed with acid, where the operator has pushed pH down to 7.0 but the alkalinity is still 300 mg/L — LSI and RSI both look fine while the exchanger scales, because the surface pH never actually stayed at 7.0. The trap is feeding it alkalinity in raw bicarbonate mg/L instead of as CaCO₃; the 0.82 conversion factor is a fifth of a PSI unit and will flip your verdict.

Worked example: pHs 7.31, Alk 180 mg/L as CaCO3 → PSI = 6.776

Larson–Skold Index

LS=Cl35.45+SO448.03Alk50.04\mathrm{LS} = \dfrac{\frac{\mathrm{Cl}}{35.45} + \frac{\mathrm{SO_4}}{48.03}}{\frac{\mathrm{Alk}}{50.04}}
ClSO4AlkLS
Where
  • LS\mathrm{LS}= Larson–Skold Index
  • Cl\mathrm{Cl}= Chloride as Cl⁻ (%)
  • SO4\mathrm{SO_4}= Sulphate as SO₄²⁻ (%)
  • Alk\mathrm{Alk}= Total alkalinity as CaCO₃ (%)

Langelier and Ryznar only ever look at calcium carbonate. Larson and Skold, working on Great Lakes water for the Illinois State Water Survey in 1958, went after the other half of the story: chloride and sulphate are penetrating anions that break down the passive film on mild steel, while bicarbonate alkalinity helps repair it. Their index is a straight equivalents ratio — divide each ion by its equivalent weight (35.45 for Cl⁻, 48.03 for SO₄²⁻, 50.04 for alkalinity as CaCO₃) and compare aggressors to protectors. A water with 50 mg/L chloride, 80 mg/L sulphate and 150 mg/L alkalinity gives (1.410 + 1.666)/2.998 = 1.03.

Read it in thirds: below 0.8 chloride and sulphate are unlikely to interfere with film formation, 0.8 to 1.2 means corrosion rates run higher than open-recirculating norms, and above 1.2 you should expect localized pitting rather than general wastage. This is the index that explains why a softened, high-chloride makeup can hold a perfect +0.2 LSI and still perforate a carbon-steel line in eighteen months, and why blowing down a tower on conductivity alone concentrates exactly the ions Larson–Skold cares about. Note that it is silent on stainless and copper — for those, chloride's absolute concentration and temperature matter more than the ratio.

Worked example: Cl 50, SO4 80, Alk 150 mg/L → LS = 1.026

Dissolved Oxygen Saturation with Temperature

lnCs=139.34411+1.575701×105T6.642308×107T2+1.243800×1010T38.621949×1011T4\ln C_s = -139.34411 + \frac{1.575701 \times 10^5}{T} - \frac{6.642308 \times 10^7}{T^2} + \frac{1.243800 \times 10^{10}}{T^3} - \frac{8.621949 \times 10^{11}}{T^4}
CsTwarmer water holds less
Where
  • CsC_s= Dissolved oxygen at saturation (ppm)
  • TT= Water temperature (°C)

Dissolved oxygen is the fuel for nearly all corrosion in ordinary water. The metal supplies electrons by dissolving; something has to accept them, and outside acid conditions that something is almost always oxygen being reduced at the surface. Take the oxygen away and the reaction has nowhere to go, which is why deaeration, oxygen scavengers and sealed loops are the first line of defence in every water system that carries steel.

Gases dissolve less readily in warm water, which runs against the intuition built from dissolving sugar. The reason is that dissolution of a gas is exothermic — the molecule gives up energy when it settles into solution — so raising the temperature shifts the equilibrium back toward the gas phase, exactly as Le Châtelier's principle predicts. Fresh water at one atmosphere holds about 14.6 mg/L at the freezing point, 9.1 at 20 °C and 7.6 at 30 °C: nearly halved across the range of an ordinary summer.

The equation given here is the Benson and Krause fit, in the form adopted by APHA Standard Methods and published by the USGS. It is a four-term polynomial in the reciprocal of absolute temperature, and it reproduces the published saturation table to better than 0.01 mg/L across 0–40 °C. It is a correlation, not a theory, and it should not be extrapolated far past that range — for boiler and deaerator work at elevated temperature and pressure, steam-cycle solubility data is the right source and this one will mislead.

Three corrections separate the number this gives from what a meter reads. Salinity lowers it, by about 15–20% at full seawater. Pressure scales it almost proportionally with the barometric pressure, so a lake at 2000 m holds roughly a fifth less than the same water at sea level, and altitude correction is not optional in mountain work. And saturation is a ceiling, not a state: a real system may sit anywhere below it. A closed loop that has run sealed for a week has consumed its oxygen against its own pipe walls and sits near zero; a stream below a weir can briefly exceed saturation from entrained air.

That last distinction resolves a paradox that puzzles people about heating systems. Hot water holds less oxygen, yet hot systems corrode faster — because temperature accelerates the reaction more than the falling solubility slows it, roughly doubling the rate every 20–30 °C. But that is only true while oxygen keeps arriving. A properly sealed closed loop consumes its initial charge in days and then becomes remarkably benign, corroding at rates that would be negligible over decades. A closed loop that keeps corroding is a closed loop that is being fed fresh water from somewhere — a leaking gland, an open expansion tank, a failed air separator, or make-up replacing a leak nobody has found. Chasing the oxygen source is almost always more productive than chasing the chemistry.

Worked example: fresh water at 20 °C → 9.09 mg/L saturation

Corrosion Rate from Coupon Weight Loss

P=mYρAtP = \frac{m \, Y}{\rho \, A \, t}
AρmtP
Where
  • PP= Corrosion rate (mm/yr)
  • mm= Coupon weight loss (kg)
  • ρ\rho= Metal density (kg/m³)
  • AA= Exposed area ()
  • tt= Exposure time (s)

Hang a pre-weighed steel coupon in a bypass rack, leave it 60 to 90 days, clean it per ASTM G1 and weigh it again: the mass it lost, spread evenly over its area and divided by the metal's density, is a thickness — and scaled up to a year it becomes the corrosion rate. The solver reports that as annual penetration, so you can read it in mils (0.001 in) or micrometres directly. The famous shortcut MPY = 534W/(D·A·T), with W in milligrams, D in g/cm³, A in in² and T in hours, is nothing but this same equation with the unit conversions and a 365-day year folded into the number 534.

Typical open recirculating cooling water targets are under 3 mpy (76 μm/yr) on mild steel and under 0.2 mpy on copper; closed loops should be under 1 mpy. A worked example: a coupon of 8.0 g/cm³ alloy with 10 cm² of area losing 1000 mg while penetrating 250 μm/yr must have been in service 182.5 days. The trap is that a coupon measures uniform corrosion only — a coupon showing a beautiful 1 mpy can still be pitted straight through, and pitting is what actually fails a tube. Always inspect the cleaned coupon under a loupe and note pit density and depth alongside the number, and never trust an exposure shorter than 30 days, where initial film formation dominates the reading.

Worked example: 1000 mg lost at 250 um/yr on 10 cm2 → 182.5 days exposure

Wall Penetration and Remaining Life

L=TTrPL = \frac{T - T_r}{P}
TTrT − TrPL
Where
  • LL= Remaining life (yr)
  • TT= Present wall thickness (mm)
  • TrT_r= Retirement thickness (mm)
  • PP= Penetration rate (mm/yr)

A corrosion rate is a number about metal. A remaining life is a number about a decision, and this division is where one becomes the other. Take the wall you have, subtract the wall you are required to keep, and divide what is left by the rate at which it is disappearing.

The retirement thickness is not zero and it is not a matter of taste. It is the wall the component needs to hold its pressure, its bending load and its own weight with the code's margin intact, and it is calculated from the design conditions before any corrosion is considered. Everything above it is the corrosion allowance — metal deliberately bought so that it can be lost. A component at its retirement thickness has not failed; it has run out of the margin it was sold with, and it goes to repair, replacement, or a formal fitness-for-service assessment that may well let it keep running at a reduced rating.

The unit trap here is the one that costs the most money in this whole subject. Metric practice quotes penetration in millimetres per year; North American corrosion practice quotes it in mils per year, a mil being one thousandth of an inch. The two differ by a factor of 25.4, and 0.25 mm/yr and 25 mpy are so close in appearance and so far apart in meaning that reading one as the other is a routine error. A steel that is "corroding at 5" is either comfortably fine at 5 mpy or in real trouble at 5 mm/yr, and nothing in the sentence tells you which.

Now the honest caveat, which matters more than the arithmetic. This calculation assumes the metal is leaving evenly. Where it is not — pitting, crevice attack, under-deposit corrosion, microbially influenced corrosion, weld-line attack — the average is worthless and can be reassuring in exactly the situation that should alarm you. A tank that loses 0.05 mm a year on average and carries pits growing at 2 mm a year will leak in five years while the calculation promises fifty. Localised attack is an inspection problem, not a computation: the number you need is the depth of the deepest pit found, and finding it takes coverage rather than cleverness.

Finally, treat a rate derived from two thickness readings with suspicion in proportion to how close together they were taken. An ultrasonic thickness gauge is good to perhaps ±0.1 mm, so two readings a year apart on a wall losing 0.05 mm a year are measuring their own uncertainty four times over. Long baselines, repeatable measurement locations and three or more readings are what make a trend line mean something; two points always make a perfect straight line, whatever they are actually telling you.

Worked example: 7.03 mm of wall at 0.25 mm/yr → 28.12 years

Penetration Rate from Corrosion Current Density

P=iMnFρP = \frac{i \, M}{n \, F \, \rho}
iPM / nρ
Where
  • PP= Penetration rate (mm/yr)
  • ii= Corrosion current density (A/m²)
  • MM= Molar mass of the metal (g/mol)
  • nn= Valence (electrons per atom) (electrons)
  • ρ\rho= Density of the metal (kg/m³)

Corrosion is an electrochemical reaction, and electrochemical reactions are counted in electrons. That single fact is what lets a corrosion rate be measured electrically, and it is Faraday's law of electrolysis — published in 1834, three decades before anyone understood why it should be true — that supplies the exchange rate between coulombs and grams.

The bridge is the equivalent weight: the molar mass divided by the number of electrons each atom gives up. It is the mass of metal that one mole of electrons removes. Iron dissolving to Fe²⁺ has an equivalent weight of 55.845/2 = 27.92 g per mole of electrons; the same iron going to Fe³⁺ has 55.845/3 = 18.62, and the metal lost per coulomb falls by a third. Divide the mass by the density and you have a volume; divide by the area and you have a thickness. That chain — current to charge, charge to moles of electrons, moles to mass, mass to thickness — is the whole derivation, and no step of it is empirical.

The number worth memorising is that 1 A/m² on ordinary steel is about 1.16 mm/yr, or roughly 46 mils per year. Everything else scales linearly from it: 10 mA/m², a very low corrosion current, is 0.012 mm/yr and would take a century to consume a pipe wall; 10 A/m² would eat the same wall in a year. Carrying that one figure lets you sanity-check any electrochemical corrosion measurement in your head, and it is the reason experienced people can tell instantly that a quoted result is off by a factor of a thousand.

Two places where the arithmetic is exactly right and the answer is still wrong. The first is the assumed reaction: this equation cannot tell you whether the iron is going to Fe²⁺ or Fe³⁺, whether an aluminium alloy is dissolving as Al³⁺ throughout, or whether a stainless steel is losing chromium, nickel and iron in the proportions of the bulk alloy. Those are chemistry questions and they have to be answered outside the calculation. The second is uniformity. Like every rate expressed as a penetration, this one spreads the metal loss evenly across the measured area. If the current is actually concentrated in a few pits — and localised attack is exactly the case where an electrochemical measurement is most tempting, because it is so hard to see — then the real penetration at the pit is the calculated rate multiplied by the ratio of total area to pitted area, which can be a factor of hundreds.

The practical value of the equation is that it runs in both directions. Given a current, it gives a rate you can compare against a coupon. Given a coupon result, it gives the current that must have been flowing, which is a check on an instrument. When the two disagree by more than a factor of two, one of them is measuring something other than what you think.

Worked example: 1 A/m² on iron (Fe²⁺) → 1.160 mm/yr

Galvanic Driving Voltage

ΔE=EcEa\Delta E = E_c - E_a
ΔEIEaEc
Where
  • ΔE\Delta E= Driving voltage (V)
  • EcE_c= Cathode potential (V)
  • EaE_a= Anode potential (V)

Put two different metals in the same electrolyte and connect them, and one of them will corrode faster than it would have alone while the other corrodes more slowly. The difference in their potentials is what drives it, and the galvanic series is the list that tells you which way round. It is one of the oldest pieces of practical corrosion knowledge and one of the most consistently misused.

The misuse comes from treating the series as a table of constants. It is not. It is a ranking measured in one specific electrolyte, and the ranking itself changes when the electrolyte does. The series everyone reproduces is for flowing seawater at ambient temperature; series for soil, for soft potable water, for acids and for hot water are different lists with different orders. Steel and zinc are the notorious case: in cold water zinc is anodic to steel, which is the whole basis of galvanising, but above roughly 60 °C the polarity reverses in many waters and the zinc coating on a hot-water tank becomes the cathode while the steel beneath it corrodes. Alloys with passive films get two entries, "passive" and "active", separated by half a volt or more, and which one applies depends on whether the film is intact — which depends on the chloride, the oxygen and the flow.

Even within one series the numbers are ranges, not values. Surface condition, temperature, aeration, flow velocity and the age of the film all shift a metal's potential by tens of millivolts. This is why a competent designer uses the series to answer "which one corrodes?" and "roughly how hard?" and then measures if the answer matters. A single potential quoted to three decimal places from a table on the internet, with no electrolyte named, is worth almost nothing.

Then there is the thing the driving voltage does not tell you at all: the rate. That is set by the circuit resistance and, dominantly, by the area ratio. The total galvanic current flowing is shared over whatever anode area exists, so a large cathode wired to a small anode concentrates the entire cell's current onto very little metal and destroys it quickly. Practically: steel fasteners in a copper or stainless plate fail fast, while copper or stainless fasteners in a steel plate are almost harmless, and the driving voltage is identical in both cases. Coating the anode in a galvanic couple is actively dangerous for the same reason — every holiday in the coating becomes a tiny anode serving a huge cathode. If only one member can be coated, coat the cathode.

The last thing worth saying is that all of this is exploitable rather than merely avoidable. Cathodic protection is a galvanic couple built on purpose: choose a metal active enough to be reliably anodic, give it plenty of area, accept that it will be consumed, and the structure becomes the cathode. The same physics that destroys a steel bolt in a bronze fitting is what keeps every buried pipeline in the country intact.

Worked example: steel at −0.65 V coupled to zinc at −1.10 V → 0.45 V driving

Sacrificial Anode Mass for a Required Life

W=ItCuW = \frac{I \, t}{C \, u}
IWC, ut
Where
  • WW= Anode mass required (kg)
  • II= Mean current demand (A)
  • tt= Design life (yr)
  • CC= Anode current capacity (A·h/kg)
  • uu= Utilisation factor (%)

A sacrificial anode is a battery that discharges into your structure, and this equation asks the same question you would ask of any battery: how much charge does the duty need, and how much metal does it take to store it? The charge is the current times the life. The metal follows from the alloy's current capacity, which is how many ampere-hours a kilogram is worth.

Faraday's law sets the ceiling on that capacity, and it is a ceiling nobody reaches. Zinc's theoretical capacity is 820 A·h/kg, aluminium's 2980, magnesium's 2200. The practical figures quoted for commercial alloys — around 780 for zinc, 2500 for activated aluminium, 1100 for magnesium — are lower because part of the anode's dissolution does not deliver current to the structure at all. It self-corrodes, producing hydrogen and heat instead of protection. That ratio is the current efficiency, and it is roughly 95% for zinc, 85–90% for the aluminium–zinc–indium alloys and only about 50% for magnesium. It is also not fixed: an aluminium anode that passivates because the water is too fresh, or a magnesium anode in high-resistivity soil, can deliver far less than its catalogue number.

The utilisation factor is a separate deduction and a more physical one. An anode stops working long before it is gone. As it wastes, the metal around the steel core insert loses its mechanical connection and falls off, taking still-usable alloy with it, and the remaining stub can no longer pass current. Slender stand-off anodes with the core running their full length manage about 0.90; bracelet anodes and flush-mounted shapes are conventionally taken at 0.80, and shapes that leave an unsupported skirt do worse. A design that quietly assumes 1.0 is short by a fifth on day one.

The current in the numerator has to be the mean over the design life, and this is where anode calculations most often go astray. A coated structure demands very little current when new and progressively more as the coating degrades, so the initial, mean and final demands are three different numbers that can differ by an order of magnitude. Anode mass is sized on the mean, because mass is consumed over the whole life. Anode count and geometry are sized on the final demand, because that is when the system has to be able to deliver the most current through the highest resistance. Sizing both on the same number gets one of them wrong.

Two failure modes close the loop. An anode can have ample metal and still fail to protect, because the circuit resistance is too high for it to push its current — that is a separate calculation and both have to pass. And an anode can be consumed far faster than designed because something is stealing its current: a shorted casing, an unintended metallic contact with a neighbouring structure, or a bond that should not exist. An anode that wastes at twice its predicted rate is usually not a bad anode. It is a symptom.

Worked example: 0.5 A for 20 years on zinc at 780 A·h/kg, 85% used → 132.2 kg

Anode Current Output

I=ΔERI = \frac{\Delta E}{R}
IRΔE
Where
  • II= Anode current output (mA)
  • ΔE\Delta E= Net driving voltage (V)
  • RR= Total circuit resistance (Ω)

This is Ohm's law, and it is doing the entire job of cathodic protection design. The voltage available divided by the resistance in the way gives the current that flows. What makes it interesting is that both terms are smaller and less obvious than they first appear.

Take the voltage. The open-circuit difference between a magnesium anode and bare steel might be a volt or more, but that is not what drives the mature system. Once the structure has polarized to its protection potential — conventionally −0.85 V against a copper/copper-sulphate reference for buried steel — the voltage still available is the anode's operating potential less that criterion. For zinc in soil that leaves about 0.2 V; for magnesium, about 0.7 V. That single difference is why magnesium is the standard anode for buried pipelines in ordinary and high-resistivity soil while zinc is used in low-resistivity soil and seawater, where 0.2 V is enough to push adequate current and zinc's much better current efficiency and lower cost win.

The resistance is almost entirely the anode-to-earth term in a normal installation, and Dwight's equation is what gives it. Cable resistance and the structure's own resistance to earth are usually small beside it — but "usually" is doing work in that sentence. A long, thin lead wire on a small anode, or a header cable serving many anodes in a deep groundbed, can quietly become the limiting element, and a corroded or poorly made connection is the single most common fault found on a system that has stopped protecting. When a system underperforms, measure the circuit resistance before redesigning anything: the number will usually name the culprit.

The self-regulating behaviour that follows from this equation is the quiet virtue of galvanic protection, and it is worth appreciating. If part of a coating breaks down, that area's potential drifts positive, the driving voltage across the couple rises, and the anode automatically delivers more current to exactly that spot. Nothing has to be adjusted and nobody has to notice. An impressed-current system, which supplies whatever the rectifier is set to, has no such feedback — it is far more powerful and can protect far larger structures, but it will happily over-protect a structure into coating disbondment and hydrogen embrittlement if the setting is wrong, and it needs monitoring that a galvanic system does not.

The corollary is that galvanic anodes have a hard output ceiling. If the required current exceeds what the available driving voltage can push through the circuit resistance, no quantity of anode metal fixes it — the anode simply lasts a very long time while the structure corrodes. That is the point at which the design moves to impressed current, and recognising it early is worth more than any refinement of the anode sizing.

Worked example: 0.25 V of net drive across 2.5 Ω → 100 mA

Cathodic Protection Current Demand

I=AifI = A \, i \, f
ifIA
Where
  • II= Total current demand (A)
  • AA= Structure surface area ()
  • ii= Protection current density (mA/m²)
  • ff= Coating breakdown factor (%)

Cathodic protection works by supplying, from outside, the electrons the metal would otherwise have supplied by dissolving. The question this equation answers is how many: how much current the structure needs before its surface stops giving up iron. Everything downstream — the number of anodes, their mass, the rectifier rating, the cost — follows from this one number, which makes it the most consequential estimate in a cathodic protection design and the one made with the least certainty.

The area is the cathode's. It is every square metre of the structure being protected: the whole buried surface of the pipeline, the whole wetted surface of the hull, the whole submerged jacket. Taking the anode's area instead is the classic error in this calculation, and it is not a small one — on a pipeline the ratio between the two runs to several orders of magnitude, and a system sized that way will not polarize anything. The confusion is understandable, because the anode's area is what governs its output, but that is a different equation with a different purpose.

The current density is a property of the environment far more than of the steel. Buried steel in ordinary soil typically wants 10–30 mA/m² of bare surface; quiet seawater 50–90; flowing or aerated seawater considerably more; warm soil, tidal zones and bacterially active ground more again. What moves it is anything that speeds up the cathodic reaction — dissolved oxygen above all, then temperature, then movement that keeps replenishing oxygen at the surface. This is where published practice earns its keep, because these figures come from decades of field experience rather than from theory, and no calculation from first principles will produce them.

The coating breakdown factor is the term that makes coated structures economically protectable at all, and it is the reason coating and cathodic protection are designed together rather than as alternatives. A good coating exposes perhaps 1% of the surface when new, cutting current demand by a hundredfold; the anodes then only have to serve the holidays. But it degrades, and competent designs carry three factors — initial, mean and final — rather than one. The mean sizes the anode mass; the final sizes the anode count and the driving voltage, because the system must still work at end of life. A design using the initial factor throughout is not conservative in any direction that matters.

Two ways this number goes wrong in the field. Measured demand far higher than calculated usually means current is leaving somewhere it should not: a shorted casing at a road crossing, a metallic contact with a foreign structure, or a bond installed for one purpose and now draining the system. And demand can fall dramatically after commissioning, because cathodic protection raises the pH at the steel surface and precipitates a calcareous deposit from the hardness in the water — a chalky film that is itself protective and can cut the sustaining current to a fraction of what was needed to establish polarization. Marine systems are designed around this deliberately, with a high initial current to build the film and a much lower one to maintain it.

Worked example: 1000 m² at 20 mA/m² with 5% coating breakdown → 1.0 A

Pitting Resistance Equivalent Number (PREN)

PREN=%Cr+3.3%Mo+16%NPREN = \%Cr + 3.3\,\%Mo + 16\,\%N
Cl%Cr%Mo%NPRENpassive film
Where
  • PRENPREN= Pitting resistance equivalent
  • %Cr\%Cr= Chromium content (%)
  • %Mo\%Mo= Molybdenum content (%)
  • %N\%N= Nitrogen content (%)

Stainless steel does not resist corrosion by being noble. It resists corrosion by growing a chromium-rich oxide film a few nanometres thick that reforms instantly when scratched. Chloride is the ion that breaks that film locally without breaking it everywhere, and the result is pitting: a tiny anode inside a vast cathode, driving downward at a rate that has nothing to do with the alloy's general corrosion rate. PREN is the industry's attempt to rank alloys for that specific failure by composition alone.

The coefficients are fitted, not derived. Chromium builds the film and gets a weight of 1. Molybdenum, which stabilises the film and helps it repassivate once broken, is worth 3.3 times as much per unit mass. Nitrogen — cheap, and a potent austenite stabiliser besides — is worth 16 in the common form. Those weights come from regression against critical pitting temperature measurements, which is the real test: the temperature at which a given alloy first pits in a standard ferric chloride solution. PREN is a proxy for that measurement, and its whole justification is that the correlation holds well across the grades it was fitted to.

The version implemented here is PREN = %Cr + 3.3(%Mo) + 16(%N), the general-purpose form. A variant weighting nitrogen at 30 is widely used for duplex and super duplex grades, where nitrogen contents are high enough that the coefficient choice materially changes the answer, and a third form subtracts a manganese term. Two PREN figures are comparable only if they came from the same formula, and a specification demanding "PREN ≥ 40" without naming which formula has not actually specified anything — a 25Cr–3.5Mo–0.25N duplex scores 39 on the 16 coefficient and 43.8 on the 30, on either side of the line.

The landmarks are worth carrying. Type 304 sits around 18–19: fine in potable water and mild atmospheres, unreliable anywhere chloride can concentrate, which includes under a gasket, beneath a deposit, and in the crevice under a pipe clamp. Type 316 reaches about 24–25 on its 2% molybdenum, which is a real improvement and still not a seawater alloy. Standard duplex 2205 lands near 35. The 6% molybdenum superaustenitics and super duplex grades clear 40, which is the conventional threshold for ambient seawater service. The numbers are ordinal more than cardinal: PREN 42 versus PREN 40 is not a meaningful distinction, while PREN 42 versus PREN 25 certainly is.

Three limits, and every one of them has sunk a project. PREN is a composition index and knows nothing about heat treatment or fabrication — a super duplex welded with uncontrolled heat input precipitates sigma phase and intermetallics and will pit at a fraction of the resistance its analysis promises, which is why welding procedure qualification matters more than the certificate on the plate. It addresses chloride pitting and crevice corrosion only, and says nothing about chloride stress corrosion cracking, sulphide stress cracking, or general corrosion in reducing acids, where a high-PREN duplex can perform worse than a plain 316. And it describes the alloy, not the crevice: geometry, deposits, gasket materials and stagnant conditions concentrate chloride and drop the effective resistance far below what the bulk water suggests. The best alloy in the world will pit under a poorly chosen gasket.

Worked example: 316L at 17 Cr, 2.1 Mo, 0.05 N → PREN 24.73

Clarifiers, Filters & the Sludge Line

Hydraulic Detention Time

t=VQt = \frac{V}{Q}
QtV
Where
  • tt= Detention time (h)
  • VV= Basin volume (L)
  • QQ= Flow rate (L/min)

Detention time is the single most quoted number in plant design: how long, on average, a drop of water stays inside a basin. Flocculation wants 20–30 minutes, a primary clarifier 1.5–2.5 hours, a chlorine contact chamber at least 30 minutes at peak hour, and an anaerobic digester 15–30 days. The arithmetic is trivial — a 200,000 gallon basin taking 500 gpm holds each drop 400 minutes, or 6 hours 40 minutes — but the number decides whether the biology, the chemistry and the settling all have time to happen.

The trap is the word "theoretical". Real basins short-circuit: a jet from the inlet can carry a slug of water to the outlet in a fraction of the calculated time, and regulators know it. Drinking-water disinfection credit is therefore taken on T₁₀, the time in which only 10% of a tracer has appeared at the outlet, obtained by multiplying this theoretical time by a baffling factor of 0.1 for an unbaffled tank up to 0.7 for a serpentine one. If you are chasing coliform violations in a plant that looks fine on paper, run a salt or fluoride tracer study before you touch the chemistry — the volume in the equation must be the WORKING volume too, not the tank you can see, since sludge blanket and dead corners are not detention.

Worked example: 30 L/s held 2 h → 216 m3 of basin

Surface Overflow Rate

vo=QAv_o = \frac{Q}{A}
QAvo
Where
  • vov_o= Surface overflow rate (m/d)
  • QQ= Flow rate (L/min)
  • AA= Surface area ()

Divide flow by plan area and you get a velocity — the speed at which water rises through a settling tank. That is the whole of Hazen's 1904 ideal-basin theory: any particle whose settling velocity exceeds the overflow rate reaches the floor, any slower particle is carried over the weir, and the tank's depth does not enter into it. A clarifier taking 8640 m³/d over 216 m² of surface runs at 40 m/d, which is the same thing as 40 m³ of water per square metre per day and, in North American units, about 980 gallons per day per square foot.

Design values are worth memorising: 30–50 m/d for a conventional water-treatment sedimentation basin, 30–50 m/d for a primary clarifier at average flow, and only 16–28 m/d for a secondary clarifier following activated sludge, because the light, flocculent biological floc settles far more slowly than grit or alum floc. The counter-intuitive consequence of Hazen's result is that making a shallow tank deeper does not improve capture at all, only adding area does — which is exactly why tube and plate settlers were invented, stacking many shallow settling surfaces inside one tank footprint. Depth still matters in practice, for sludge storage and for keeping currents from scouring the floor.

Worked example: 100 L/s over 216 m2 clarifier → 40 m/d

Clarifier Solids Loading Rate

SLR=(Q+Qr)XA\text{SLR} = \frac{(Q + Q_r) \, X}{A}
ASLRQQrX
Where
  • SLR\text{SLR}= Solids loading rate (kg/m²·d) (kg/(m²·d))
  • QQ= Influent flow rate (L/min)
  • QrQ_r= Return sludge flow rate (L/min)
  • XX= Mixed liquor solids (MLSS) (%)
  • AA= Clarifier surface area ()

A secondary clarifier has two jobs — clarify the water and thicken the sludge — and they are governed by two different loadings. Surface overflow rate decides whether particles have time to settle; solids loading rate decides whether the blanket can compact and be pulled away fast enough. Note that the return flow counts here but not in the overflow rate, because RAS enters the clarifier with the mixed liquor and carries solids, but leaves at the bottom rather than over the weir. A plant at 4320 m³/d with 2160 m³/d of return and 3000 mg/L MLSS puts 19,440 kg/d onto 180 m² of clarifier: 108 kg/(m²·d).

Ten States Standards and Metcalf & Eddy put the design ceiling around 100–150 kg/(m²·d) at average flow and 200–250 at peak for a conventional activated sludge plant, lower for extended aeration whose bulkier sludge thickens poorly. The interesting failure mode is that solids loading, not hydraulic loading, is usually what fails first during a wet-weather event — flow doubles, the operator dutifully doubles the RAS to protect the blanket, and the solids loading quadruples while the surface overflow rate only doubles. That is exactly backwards: during a storm the right move is often to reduce RAS and store solids in the aeration basin, and if the plant has one, to use step feed to shift the mixed liquor inventory away from the clarifier.

Worked example: 19,440 kg/d onto 180 m2 clarifier → 108 kg/(m2.d)

Stokes Settling Velocity

vs=g(ρsρ)d218μv_s = \frac{g (\rho_s - \rho) d^2}{18 \mu}
dρsvsρμ
Where
  • vsv_s= Settling velocity (m/d)
  • ρs\rho_s= Particle density (kg/m³)
  • ρ\rho= Water density (kg/m³)
  • dd= Particle diameter (μm)
  • μ\mu= Dynamic viscosity (Pa·s)

Balance a sphere's submerged weight against the viscous drag on it and you get Stokes' 1851 result: terminal velocity rises with the square of diameter and with the density difference, and falls with viscosity. A 0.1 mm sand grain of density 2650 kg/m³ in 20 °C water settles at 0.0090 m/s — 776 metres a day — which is why grit chambers designed to capture 0.2 mm sand at 0.02 m/s work so easily, and why the 0.01 mm silt beside it, settling a hundred times slower, sails straight through.

The squared diameter is the whole argument for coagulation. Clay colloids at 1 μm settle roughly 0.0008 m per day and would take years to reach the floor of any basin; bind ten thousand of them into a 1 mm alum floc and, even at a floc density barely above water, they reach the sludge blanket in minutes. Two limits matter. Stokes' law only holds while the particle Reynolds number stays below about 1, which for sand in water means diameters under roughly 0.1 mm — coarser grit is in the transition regime and settles slower than this equation predicts. And viscosity is strongly temperature-dependent: water at 4 °C is 1.6 times as viscous as at 25 °C, so the same clarifier settles about 40% slower in winter, which is why cold-weather turbidity breakthrough is a seasonal, not a mysterious, event.

Worked example: 0.1 mm sand at 20 C → 8.98 mm/s (776 m/d)

Filtration Rate (Filter Loading Rate)

vf=QAv_f = \frac{Q}{A}
QvfA
Where
  • vfv_f= Filtration rate (m/d)
  • QQ= Filtered flow rate (L/min)
  • AA= Filter bed area ()

Filter loading is the same flow-over-area velocity as an overflow rate, but the trade quotes it in gallons per minute per square foot: 2 gpm/ft² is the classic rapid sand rate, equal to 5 m/h or 120 m/d. Slow sand filters, the technology that ended cholera in Europe, run a hundred times gentler at 0.1–0.2 m/h, which is why they need acres of land; high-rate dual-media anthracite-over-sand beds routinely take 4–6 gpm/ft². A 50 L/s flow spread over a 30 m² bed is 144 m/d, or 2.4 gpm/ft² — squarely conventional.

Rate is only half the story; the other half is what happens when you change it. The chronic field error is closing a filter for backwash and letting the remaining filters absorb the flow in one step, which drives a slug of previously captured particles straight through the bed — the "filter ripening" and rate-change turbidity spikes that show up in every Cryptosporidium outbreak post-mortem, Milwaukee 1993 included. Bring filters back into service slowly, filter to waste for the first few minutes, and watch individual filter effluent turbidity rather than the combined header, which will happily average a failing filter into compliance.

Worked example: 50 L/s over 30 m2 of media → 144 m/d (6 m/h)

Backwash Water Volume

Vbw=vbAtV_{bw} = v_b \, A \, t
vbtVbwA
Where
  • VbwV_{bw}= Backwash water volume (L)
  • vbv_b= Backwash rate (m/d)
  • AA= Filter bed area ()
  • tt= Backwash duration (min)

A backwash is a rise rate multiplied by an area multiplied by a clock. Fifteen gallons per minute per square foot over a 400 ft² filter is 6000 gpm, and ten minutes of that is 60,000 gallons of finished water sent to the washwater tank — a real and recurring cost, since that water was already coagulated, settled, filtered and often chlorinated before you turned it around and threw it up through the bed.

The rate is chosen to fluidise the media by 20–50% bed expansion, and it is temperature-dependent because cold water is more viscous and lifts harder: a rate set on an August afternoon can wash anthracite over the troughs in January. Two field checks are worth more than any calculation. First, measure the expansion with a clamped-on scoop rather than trusting the design figure. Second, keep the backwash percentage — this volume divided by the volume filtered in the run — down around 2%; anything above 4–5% usually means the run is being cut short by breakthrough or head loss, and the fix is upstream in the coagulation, not in the backwash valve.

Worked example: 125 m3 wash at 900 m/d for 8 min → 25 m2 bed

Percent Backwash Water

%BW=VbwVf×100\%BW = \frac{V_{bw}}{V_f} \times 100
VfVbw%BW
Where
  • %BW\%BW= Percent backwash water (%)
  • VbwV_{bw}= Backwash water volume (L)
  • VfV_f= Volume filtered in the run (L)

Every gallon of backwash is a gallon the plant treated and did not sell, so this ratio is a direct efficiency number. Sixty thousand gallons of wash against three million gallons filtered in the run is 2.0%, which is the target most operators are held to; 1–3% is normal, and above 4% something is wrong. Note the two very different ways to reach a bad number — either the wash is too long or too fast, or the run is too short.

Short runs are almost never a filter problem. They are a coagulation problem: too little coagulant lets fine particles migrate deep and break through, too much builds a mud layer on the surface that blinds the bed and drives head loss to the limit in hours. Plot filter run length against coagulant dose for a month and the optimum usually announces itself. The other half of the equation is what happens to the spent washwater — most plants recycle it to the head of the works, which is efficient but concentrates Giardia and Crypto oocysts, so the US Filter Backwash Recycling Rule requires that the return be metered and introduced ahead of all primary treatment rather than sneaked in downstream.

Worked example: 125 m3 wash at 2.5% → 5000 m3 filtered

Jar Test Dose Scale-Up

D=VstCstVsD = \frac{V_{st} \, C_{st}}{V_{s}}
DVstCstVs
Where
  • DD= Equivalent dose (%)
  • VstV_{st}= Stock solution added (L)
  • CstC_{st}= Stock solution strength (kg/m³)
  • VsV_s= Sample volume (L)

The jar test is the oldest instrument in water treatment and still the best: six beakers, six coagulant doses, a paddle stirrer, and an hour. The arithmetic that connects a pipette to a chemical feed pump is this one. Make up a stock at 10 g/L — 10 mg per mL — and 2 mL into a 1 litre jar delivers 20 mg of chemical per litre of sample, that is 20 mg/L, and the plant then feeds 20 mg/L on the raw water line. The convenient convention is a 1% stock (10 g/L) into 1 L jars, where each millilitre is exactly 10 mg/L.

Three habits separate a jar test that predicts the plant from one that misleads it. Use the raw water as it is at that moment, not a sample that has sat warming on a bench for four hours, because temperature changes both the coagulation chemistry and the settling velocity. Match the mixing to the plant: a flash mix of 100 rpm for a minute, then flocculation at 25–30 rpm for 20 minutes, then a settling period matched to the basin detention. And measure the right thing at the end — settled turbidity tells you about the sedimentation basin, but filtered turbidity and the residual coagulant tell you what the filters will see. If your bench optimum never works on the plant, the difference is nearly always mixing energy, not dose.

Worked example: 2 mL of 10 g/L stock into 1 L → 20 mg/L

Alkalinity Remaining After Alum

Af=A00.45DA_f = A_0 - 0.45 \, D
A0DAf
Where
  • AfA_f= Alkalinity remaining (%)
  • A0A_0= Raw water alkalinity (%)
  • DD= Alum dose (%)

Filter alum, Al₂(SO₄)₃·14H₂O, does not simply dissolve — it hydrolyses, and in doing so it releases acid that consumes the water's natural bicarbonate. The stoichiometry works out at 0.45 mg/L of alkalinity as CaCO₃ destroyed, and about 0.44 mg/L of carbon dioxide produced, for every mg/L of alum fed. A raw water at 60 mg/L alkalinity dosed with 50 mg/L alum finishes at 60 − 22.5 = 37.5 mg/L, which is comfortable. Dose the same alum into a soft 25 mg/L water and you land at 2.5 mg/L — no buffer left, the pH crashes below the range where aluminium hydroxide is insoluble, and the coagulation stops working just when you needed it most.

That is the whole reason lime, soda ash or caustic feed exists in soft-water plants: you are not raising pH for its own sake, you are restoring the alkalinity the coagulant consumed. Keep 20–30 mg/L of alkalinity as CaCO₃ in the settled water as a working floor, and remember that ferric chloride is hungrier still at roughly 0.55 mg/L of alkalinity per mg/L of ferric, while polyaluminium chloride consumes far less — often a third — which is exactly why PACl has taken over so many soft-water plants. Downstream, the released CO₂ turns finished water aggressive, so a plant that coagulates hard and never adjusts afterwards will find its own distribution mains and household copper paying the bill.

Worked example: 60 mg/L alkalinity, 50 mg/L alum → 37.5 mg/L left

BOD Mass Loading

W=QCW = Q \, C
QCW
Where
  • WW= Mass loading rate (kg/h)
  • QQ= Flow rate (L/min)
  • CC= Concentration (%)

Concentration alone tells you nothing about the size of a problem; multiply it by flow and you get a mass, and mass is what a treatment process actually has to eat. In North America this is written lb/d = mg/L × MGD × 8.34, where 8.34 is the pounds in a US gallon of water. In SI it is even simpler, because 1 mg/L is exactly 1 g/m³: one megalitre a day at 200 mg/L BOD carries 200 kg of BOD per day. A 1 MGD plant at 200 mg/L is 3785 m³/d × 0.2 kg/m³ = 757 kg/d, which the imperial shorthand gives as 200 × 1 × 8.34 = 1668 lb/d.

The solver works from a water density of exactly 1000 kg/m³, which is the sanitary-engineering convention, so it returns 8.3454 rather than the traditional rounded 8.34 — a 0.065% difference nobody has ever cared about in a wastewater plant. What people do care about is the difference between a hydraulic overload and an organic overload. A plant can be well under its rated flow and badly over its rated pounds of BOD because a brewery, dairy or septage hauler discharged into the collection system; the flow meter looks fine and the aeration basin goes septic. That is precisely why industrial pretreatment permits are written in pounds per day, not in concentration.

Worked example: 90 kg/h of BOD in 100 L/s → 250 mg/L

BOD Removal Efficiency

E=CiCeCi×100E = \frac{C_i - C_e}{C_i} \times 100
CiCeE
Where
  • EE= Removal efficiency (%)
  • CiC_i= Influent concentration (%)
  • CeC_e= Effluent concentration (%)

Percent removal is the number on the discharge permit and on the front page of every monthly operating report. A plant taking 220 mg/L of BOD down to 18 mg/L is removing 202/220 = 91.8%, and US secondary treatment standards demand at least 85% removal of both BOD and TSS along with a 30 mg/L monthly average. Primary settling on its own is worth 25–35% of BOD and 50–65% of TSS; conventional activated sludge adds the rest.

The formula has a blind spot that regulators had to legislate around: percent removal is a ratio, so a community with dilute wastewater — heavy infiltration, a lot of groundwater in leaky sewers — can produce a beautifully low effluent and still fail the 85% test, while a strong-waste town can pass the percentage while discharging more pounds than its neighbour. That is why permits carry both a concentration limit and a percent-removal limit, and why the pounds-per-day loading is the honest measure of what reaches the river. Use concentrations from flow-proportional composite samples; a grab sample at 10 a.m. on a Tuesday flatters or damns a plant depending only on when the town takes its showers.

Worked example: 220 mg/L in, 18 mg/L out → 91.8% removal

Population Equivalent

PE=WwPE = \frac{W}{w}
Where
  • PEPE= Population equivalent
  • WW= Total load (kg/h)
  • ww= Per-capita load (kg/h)

Population equivalent converts an industrial discharge into the only currency a municipal plant really understands — people. One person contributes about 60 g of BOD per day in European practice and 0.17 lb/d in North American practice, so a dairy discharging 500 kg of BOD a day is loading the works like 8333 extra residents, whether or not a single house was built. The European Union's Urban Waste Water Treatment Directive is written entirely in these units: the 2000 p.e. and 10,000 p.e. thresholds decide what treatment a town must install.

The concept is the backbone of industrial surcharge billing. A brewery, cannery or rendering plant pays a sewer surcharge based on the pounds of BOD, TSS, ammonia and grease it sends, because those pounds consume capacity that would otherwise serve homes. The trap is quoting a population equivalent without saying which pollutant it is based on: a laundry might be 200 p.e. on BOD and 2000 p.e. on suspended solids, and a metal finisher might be trivial on both and impossible on metals. Also keep hydraulic and organic equivalents separate — flow-based p.e. runs 100–150 gallons or 150–250 litres per person per day, and an industry can be enormous on one basis and negligible on the other.

Worked example: 500 kg BOD/d at 60 g/capita.d → 8333 p.e.

Food-to-Microorganism (F/M) Ratio

FM=QS0VX\frac{F}{M} = \frac{Q \, S_0}{V \, X}
QS0XVF/M
Where
  • F/MF/M= Food-to-microorganism ratio (1/d)
  • QQ= Influent flow rate (L/min)
  • S0S_0= Influent BOD concentration (%)
  • VV= Aeration basin volume (L)
  • XX= Mixed liquor solids (MLSS) (%)

Activated sludge is a herd of microorganisms being fed a daily ration, and F/M is the ration per head: kilograms of BOD applied each day divided by kilograms of mixed liquor solids in the basin. It is the number Ardern and Lockett could not have written when they published their aeration experiments at Manchester's Davyhulme works in 1914 — they simply noticed that if you kept the "activated" sludge instead of throwing it away, the next batch cleaned up in hours instead of weeks — but it is the number every operator now runs the plant by. A basin of 4000 m³ at 2400 mg/L MLSS holds 9600 kg of bugs; feed it 4320 m³/d at 200 mg/L BOD, or 864 kg/d, and the ratio is 0.09 per day.

Where you sit on the F/M scale defines the process. Extended aeration lives at 0.05–0.15, conventional activated sludge at 0.2–0.4, and high-rate or contact-stabilisation plants at 0.4–1.0. Run too high and the bugs stay in log growth, never flocculate, and the clarifier turns cloudy; run too low and they starve, the floc breaks into pin-point particles, and the effluent goes turbid for the opposite reason. The pervasive trap is mixing the bases — F is BOD₅ but M should strictly be volatile suspended solids, not total, and MLVSS is typically 70–80% of MLSS, so quoting an F/M on total solids makes a plant look about a quarter better fed than it is. Pick one basis, write it on the log sheet, and never mix them mid-trend.

Worked example: 864 kg BOD/d on 9600 kg MLSS → F/M = 0.09 /d

Mean Cell Residence Time (Sludge Age)

SRT=VXQwXw\text{SRT} = \frac{V \, X}{Q_w \, X_w}
XVQwXwSRT
Where
  • SRT\text{SRT}= Solids retention time (d)
  • VV= Aeration basin volume (L)
  • XX= Mixed liquor solids (MLSS) (%)
  • QwQ_w= Waste sludge flow rate (L/min)
  • XwX_w= Waste sludge concentration (%)

Sludge age is the average time a bacterium stays in the plant before it is wasted, and it is the master control variable of activated sludge: pick the SRT and the MLSS, the F/M and the effluent quality all follow. Take the mass of solids in the aeration basin and divide by the mass leaving in the waste stream each day. A 4800 m³ basin at 2500 mg/L holds 12,000 kg; wasting 120 m³/d at 8000 mg/L removes 960 kg/d, so the SRT is 12.5 days.

The number that matters is the minimum SRT required to keep an organism in the system: anything that cannot double faster than it is wasted washes out. Heterotrophs managing BOD need only 2–4 days, but the nitrifiers that convert ammonia to nitrate are slow and temperature-sensitive, needing perhaps 5 days at 20 °C and 15–20 days at 10 °C — which is why nitrification fails every winter in plants that never adjusted their wasting. This simplified form ignores the solids that leave over the clarifier weir; the rigorous version divides by QwXw+QeXeQ_w X_w + Q_e X_e, and on a plant with a poorly settling sludge losing 30 mg/L to the effluent, that second term is not small. Waste continuously and in small increments if you can — a plant that dumps its whole week's wasting on Friday afternoon is running a different SRT every day of the week.

Worked example: 12,000 kg under aeration, 960 kg/d wasted → 12.5 d SRT

Sludge Volume Index (SVI)

SVI=SV30X\text{SVI} = \frac{SV_{30}}{X}
XSV30SVI
Where
  • SVI\text{SVI}= Sludge volume index (mL/g) (mL/g)
  • SV30SV_{30}= Settled sludge volume (%)
  • XX= Mixed liquor solids (MLSS) (%)

Fill a one-litre graduated cylinder with mixed liquor, wait thirty minutes, read the sludge interface, and divide that settled volume by the solids concentration: SVI is the number of millilitres one gram of sludge occupies once it has settled. Settle 200 mL/L with an MLSS of 2500 mg/L — that is 2.5 g/L — and the SVI is 80 mL/g. The solver takes the settled volume as a volume percentage, so 200 mL/L is entered as 20%, and returns SVI in the conventional mL/g.

Below about 100 the sludge is dense and settles beautifully; 100–150 is normal; above 150 you have bulking, and above 200 the clarifier is on borrowed time. High SVI almost always means filamentous organisms — Nocardia, Microthrix, type 021N — thriving because of low dissolved oxygen, low F/M, septic influent or nutrient deficiency, and a microscope will identify which within ten minutes, which is far more useful than another calculation. Two cautions on the test itself: a thick sludge above roughly 3000 mg/L hinders its own settling in a narrow cylinder and reads artificially high, which is why the stirred SSVI test and dilution to a standard concentration exist; and the reading must be taken at the sludge blanket interface, not at the point where the water merely looks cloudy.

Worked example: 200 mL/L settled at 2500 mg/L MLSS → SVI 80 mL/g

Return Activated Sludge Rate

Qr=QXXrXQ_r = \frac{Q \, X}{X_r - X}
QXQrXr
Where
  • QrQ_r= Return sludge flow rate (L/min)
  • QQ= Influent flow rate (L/min)
  • XX= Mixed liquor solids (MLSS) (%)
  • XrX_r= Return sludge concentration (%)

The aeration basin only holds solids because the clarifier keeps sending them back. Write a solids balance on the basin — return flow times return concentration equals the combined flow times the mixed liquor concentration — and the required return rate falls straight out. A 4 MGD plant holding 2500 mg/L MLSS on a 8000 mg/L return must pump 4 × 2500/(8000 − 2500) = 1.82 MGD of RAS, which is 45% of the influent flow. Typical returns run 25–75% for conventional plants and up to 100% or more for extended aeration.

What makes this equation subtle is that XrX_r is not a free choice — it is whatever the clarifier can actually thicken to, which depends on the sludge settleability and on how fast you pull. Pump harder and you get more flow at a lower concentration; pump gently and the blanket rises until solids go over the weir. The two classic failures sit at either end: too little return and the blanket climbs into the effluent launder, too much return and you hydraulically overload the clarifier with your own recycle and wash the floc out anyway. Many operators skip the arithmetic entirely and set RAS by the settleometer — return roughly the percentage of the cylinder the sludge occupies at 30 minutes — which is a surprisingly good approximation of exactly this balance.

Worked example: 60 L/s influent, 40 L/s RAS, 3000 MLSS → 7500 mg/L return

Separations & Absorption

Raoult's Law

P=xP0P = x \, P^{0}
P0Px
Where
  • PP= Vapor pressure over solution (kPa)
  • xx= Mole fraction of solvent
  • P0P^{0}= Vapor pressure of pure solvent (kPa)

Molecules can only evaporate from the liquid's surface, and dissolving a non-volatile solute means some of that surface is occupied by particles that cannot leave. François-Marie Raoult found in the 1880s that the effect is exactly proportional: the solvent's vapor pressure drops to its mole fraction times the pure-solvent value. Pure water at 25 °C exerts 3.17 kPa; a solution where water's mole fraction is 0.90 (say, 1 mol of glucose per 9 mol of water) exerts P = 0.90 × 3.17 = 2.85 kPa.

This vapor-pressure lowering is the root of all colligative properties — boiling-point elevation and freezing-point depression both follow from it. Real solutions obey Raoult's law best when dilute and when solute–solvent interactions resemble solvent–solvent ones; strong deviations from the straight line are the chemist's first diagnostic that a mixture is far from ideal, like the ethanol–water pair that refuses to distill past 95%.

Worked example: x = 0.90, P0 = 3.17 kPa → P = 2.853 kPa

Henry's Law (Gas Solubility)

C=HPC = H\,P
PCH
Where
  • CC= Dissolved concentration (mol/m³)
  • HH= Henry solubility constant (mol/(m³·Pa))
  • PP= Partial pressure (kPa)

William Henry found in 1803 that a gas dissolves in proportion to its partial pressure above the liquid, and the constant of proportionality is the one number a whole field of environmental engineering rests on. Oxygen at 25 °C has Hcp=1.3×105H^{cp} = 1.3\times 10^{-5} mol/(m³·Pa). Air puts 21% of an atmosphere of oxygen over a lake, which is 21278 Pa, so the water holds 1.3×105×21278=0.2771.3\times 10^{-5}\times 21278 = 0.277 mol/m³, or about 8.9 mg/L once you multiply by 32 g/mol. That is the dissolved oxygen reading a probe gives in air-saturated water, and the number every aeration system is designed against.

The units are a minefield, and it is worth being blunt about it. There are at least five conventions in circulation: solubility forms with concentration over pressure, volatility forms with pressure over concentration, dimensionless air-water partition coefficients, and versions using mole fraction instead of concentration. They are reciprocals and rescalings of one another, so getting one wrong produces an answer off by many orders of magnitude. This page uses the solubility form HcpH^{cp} in mol/(m³·Pa), which is the convention Sander's compilation tabulates.

Two things the equation does not say out loud. Solubility falls sharply with temperature, roughly halving between 0 and 30 °C for oxygen, which is why summer fish kills happen in warm shallow water exactly when the fish need oxygen most. And Henry's law is a dilute-solution law: it describes the solute, while Raoult's law describes the solvent, and the two are the opposite limits of the same curve. Push the concentration up towards saturation and the linear relation quietly stops being true.

Worked example: Air-saturated water at 25 degC holds 0.2766 mol/m3 of O2

Relative Volatility (Binary)

α=y(1x)x(1y)\alpha = \frac{y\left(1 - x\right)}{x\left(1 - y\right)}
yxα
Where
  • α\alpha= Relative volatility
  • yy= Vapour mole fraction
  • xx= Liquid mole fraction

Relative volatility is the whole question of whether a mixture can be distilled, compressed into one number. Take a vapour at 60% light key sitting over a liquid at 40%: α=(0.6/0.4)/(0.4/0.6)=2.25\alpha = (0.6/0.4)/(0.4/0.6) = 2.25. For an ideal mixture it is simply the ratio of the two pure-component vapour pressures, so Antoine's equation feeds this page directly. Benzene over toluene comes out near 2.4, which is why that pair is every textbook's worked example.

The number to have a feel for is how quickly separations get expensive as α\alpha approaches 1. At α=2.5\alpha = 2.5 a 30% liquid produces a 51.7% vapour in a single equilibrium stage, and a handful of trays does real work. At α=1.2\alpha = 1.2 the same liquid produces about 34%, and you need dozens of trays and a large reflux ratio to achieve anything. Below roughly 1.1 the column becomes tall, energy-hungry and commercially unattractive, and engineers start looking at extractive distillation, adding a third component that shifts α\alpha, or at membranes and crystallisation instead.

The hard stop is α=1\alpha = 1, an azeotrope, where liquid and vapour have identical composition and no number of stages will separate them. Ethanol and water hit this at 95.6% ethanol, which is why every ordinary still tops out there and why fuel-grade ethanol needs molecular sieves or an entrainer to go further. Note too that α\alpha varies along a column as temperature and composition change; the single value used in shortcut methods like Fenske is a geometric mean of the top and bottom values, not a constant of nature.

Worked example: y = 0.60 over x = 0.40 gives alpha = 2.25

Column Material Balance (Distillate and Bottoms Split)

D=FzFxBxDxBD = F\,\frac{z_F - x_B}{x_D - x_B}
FzFDxDBxB
Where
  • DD= Distillate flow rate (kg/h)
  • FF= Feed flow rate (kg/h)
  • zFz_F= Feed composition
  • xDx_D= Distillate composition
  • xBx_B= Bottoms composition

Before any question about stages, reflux, volatility or energy, there is an accounting question: of everything fed to the column, how much leaves the top and how much leaves the bottom? Two balances answer it completely. Total flow says F=D+BF = D + B. The light component says FzF=DxD+BxBF z_F = D x_D + B x_B. Two equations, two unknowns, and the answer needs nothing else.

What it needs nothing else of is the striking part. No relative volatility, no reflux ratio, no stage count, no column. The split is fixed the instant the three compositions are specified, and everything else in a column design only decides whether those compositions can be reached and what reaching them costs. If the split that falls out is commercially wrong — too little product, or a bottoms stream too large to dispose of — no quantity of trays or reflux will change it. The specification has to change.

The result is a lever rule, and it is worth seeing it that way. Put xBx_B, zFz_F and xDx_D on a line. The fraction of the feed going overhead is how far zFz_F sits from xBx_B as a share of the whole span. A feed sitting halfway between the two products splits half and half; a feed close to the bottoms composition yields little distillate. The identical arithmetic turns up in flash calculations, in mixing problems, and in the Pearson square used to blend fertiliser and animal feed, which is the same algebra wearing a different hat.

Two practical warnings. Keep the basis consistent: mole fractions with molar flows, or mass fractions with mass flows, never crossed. Mixing them produces an answer that looks entirely plausible and is wrong by the ratio of the molecular weights. And treat the bottoms composition with care when it is calculated rather than measured — it comes out of a difference of two similar numbers divided by another difference, so a one per cent error in the feed rate or the feed analysis can move it by a great deal more than one per cent. That is why plant data reconciliation exists.

Worked example: 100 kg/h of 50/50 feed split to 95/5 gives 50 kg/h of distillate

Reflux Ratio

R=LDR = \frac{L}{D}
DLR
Where
  • RR= Reflux ratio
  • LL= Reflux flow rate (kg/h)
  • DD= Distillate flow rate (kg/h)

Reflux is the liquid a column sends back down instead of selling. It is the single most consequential number an operator can turn, and it is the reason a distillation column separates better than a single flash: the descending liquid contacts the ascending vapour again and again, and each contact is another chance at equilibrium. Without reflux, a column is an expensive pot still.

The definition on this page, R=L/DR = L/D, is the external reflux ratio, and it is what essentially every textbook, correlation and design chart means by the term. Two near-relations get confused with it and both are worth naming. The internal reflux ratio, L/V=R/(R+1)L/V = R/(R+1), is always less than one and is what an individual tray actually experiences. And a column with a partial condenser drawing vapour product defines its reflux against that vapour draw, so a figure quoted for such a column is not comparable to one from a total-condenser column without checking. When comparing two columns, establish which ratio is being quoted before drawing any conclusion.

The multiplier that matters for hardware is R+1R + 1, not RR. Vapour to the condenser is V=(R+1)DV = (R+1)D, and condenser duty, reboiler duty and column diameter all scale with that vapour rate. A reflux pump sized on the product rate rather than the reflux rate is undersized by exactly the reflux ratio, which is a memorable way to be wrong by a factor of three.

The choice of reflux ratio is a real optimum rather than a limit, and the shape of it is instructive. Raise RR and the required stage count falls, steeply at first and then hardly at all; capital cost follows it down and flattens. Meanwhile utilities and column diameter climb roughly linearly with the vapour rate. Their sum has a minimum, usually near 1.2 to 1.3 times RminR_{min}, and the minimum is shallow — which is a licence rather than a constraint. Because the penalty for being a little off the optimum is small, the final number is often chosen for operability, turndown or room to debottleneck later, and that is a legitimate way to choose it.

Worked example: 150 kg/h of reflux against 100 kg/h of product is R = 1.5

Boilup Ratio

VB=VBV_B = \frac{V}{B}
VB
Where
  • VBV_B= Boilup ratio
  • VV= Vapour boilup rate (kg/h)
  • BB= Bottoms flow rate (kg/h)

The boilup ratio is the reflux ratio's counterpart at the bottom of the column: vapour raised by the reboiler divided by bottoms product drawn off beneath it. It sets the slope of the stripping operating line the way reflux sets the slope of the rectifying one, and it governs how thoroughly the light component is chased out of the liquid on its way down.

It is also where distillation's energy goes. Reflux is returned by a condenser, which rejects heat; boilup is raised by a reboiler, which supplies it, and that is the steam, the hot oil or the fired duty on the utility invoice. Distillation is commonly estimated to account for something like a tenth of global industrial energy use, and the vapour rate VV is the term responsible for essentially all of it. Anything that reduces boilup at constant separation — better feed placement, feed preheat where it helps, heat integration between columns, higher-efficiency internals — goes straight to the operating cost.

An important structural point: in a simple two-product column, boilup and reflux are not independent. Fix the feed, the feed condition, the split and the reflux, and the boilup follows from the balance around the feed stage, Vˉ=(R+1)D(1q)F\bar{V} = (R+1)D - (1-q)F. Specifying both by hand over-determines the column, and a design that does so has an inconsistency hidden in it somewhere. What is genuinely a choice is which of the two an operator manipulates: a column whose tighter specification is on the bottoms usually controls on boilup, and one whose tighter specification is overhead usually controls on reflux.

There is a hard ceiling on boilup that has nothing to do with cost. Tray hydraulics — flooding, entrainment, weeping — are governed by vapour velocity, so the vapour rate sets the column diameter and the column diameter sets the maximum vapour rate. Push a column past its flood point and separation does not merely get expensive, it collapses: liquid is carried up the column instead of flowing down, and the composition profile disappears. The operating window between weeping at the bottom end and flooding at the top is what turndown means, and it is why a column designed for one throughput may not work well at half of it.

Worked example: 180 kg/h of boilup against 60 kg/h of bottoms is V_B = 3

Fenske Equation (Minimum Stages)

Nmin=ln ⁣[xD1xD1xBxB]lnαN_{min} = \frac{\ln\!\left[\frac{x_D}{1 - x_D}\cdot\frac{1 - x_B}{x_B}\right]}{\ln \alpha}
xDxBNminα
Where
  • NminN_{min}= Minimum theoretical stages (stages)
  • xDx_D= Distillate mole fraction
  • xBx_B= Bottoms mole fraction
  • α\alpha= Relative volatility

Merrell Fenske published this in 1932 and it answers a specific question: at total reflux, taking no product at all, what is the fewest theoretical stages that could achieve a given split? For a 95/5 benzene-toluene separation at α=2.4\alpha = 2.4, the separation factor is 19×19=36119 \times 19 = 361 and Nmin=ln361/ln2.4=6.73N_{min} = \ln 361/\ln 2.4 = 6.73 stages. That is the floor. No column, however operated, does the job in fewer.

Because the answer is a logarithm divided by a logarithm, purity is cheap and volatility is not. Tightening a 95/5 split to 99/1 multiplies the separation factor from 361 to 9801, but only takes the stage count from 6.7 to 10.5. Halving α\alpha from 2.4 to 1.2 more than triples it. This is the single most useful intuition in preliminary column design: chase the volatility, not the tray count, because an extra order of magnitude of purity costs you a few more trays while a slightly harder separation costs you a whole column.

Fenske is one leg of the Fenske-Underwood-Gilliland shortcut. Underwood supplies the minimum reflux ratio, Gilliland correlates the actual stage count from the two minima at a chosen operating reflux, and the rule of thumb that falls out is that a real column needs roughly twice NminN_{min}. Two things to remember when you use the number: the count includes the reboiler as one theoretical stage, and theoretical stages are not trays. Divide by the tray efficiency, typically 0.6 to 0.8, to get the hardware, so those 6.7 theoretical stages become around 13 actual stages and then perhaps 18 physical trays.

Worked example: 95/5 split at alpha 2.4 → 6.727 minimum stages

Overall Column Efficiency

Eo=NtNaE_o = \frac{N_t}{N_a}
NaNtEo
Where
  • EoE_o= Overall column efficiency (%)
  • NtN_t= Theoretical stages (stages)
  • NaN_a= Actual trays (trays)

Every stage calculation in distillation returns theoretical stages, and a theoretical stage is a fiction: a device in which the leaving vapour and the leaving liquid are in perfect equilibrium. Real trays do not achieve that, so real columns need more trays than the theory asked for. Overall column efficiency is the single number that bridges the calculation and the purchase order.

Trays fall short for reasons that are all mechanical rather than thermodynamic. The liquid crossing a tray has only seconds of contact with the vapour bubbling through it, which is often not long enough to approach equilibrium. Some vapour weeps through the holes without contacting properly. Some liquid is entrained upward in the spray. And liquid can short-circuit across a wide tray rather than mixing, so parts of it never see fresh vapour at all.

O'Connell gave the correlation still used for a first estimate in 1946: efficiency falls as the product of relative volatility and liquid viscosity rises. The physical reading is sensible in both terms — a viscous liquid transfers mass slowly, and a high α\alpha means each stage is being asked to make a bigger composition jump. Ordinary hydrocarbon and alcohol-water distillations land somewhere between 50 and 80 per cent. Absorbers and strippers are far worse, often 15 to 40 per cent, so a figure quoted without saying which duty it came from is not usable.

Three counting rules save more grief than the correlation does. The reboiler is a theoretical stage but it is not a tray, so take it out of the theoretical count before dividing. A partial condenser is a stage too; a total condenser is not. And always round the answer up — trays come whole, and a column one tray short of its duty cannot be fixed without opening it. Most designers go further and add ten to twenty per cent over the calculated count, which buys margin against the scatter in the efficiency estimate, margin against the scatter in whatever correlation produced the theoretical count, and turndown for the day the feed drifts. Trays are cheap while the shell is on the ground and very expensive afterwards. Packed columns are not measured this way at all: they use HETP, the height of packing equivalent to one theoretical plate, and an efficiency figure quoted for packing usually means somebody has converted an HETP into one.

Worked example: 14 theoretical stages carried by 20 trays is 70% efficient

Gilliland Correlation (Actual Stages)

NNminN+1=1exp ⁣[(1+54.4X11+117.2X) ⁣(X1X)],X=RRminR+1\frac{N - N_{min}}{N + 1} = 1 - \exp\!\left[\left(\frac{1 + 54.4X}{11 + 117.2X}\right)\!\left(\frac{X - 1}{\sqrt{X}}\right)\right],\quad X = \frac{R - R_{min}}{R + 1}
YXR = RminN = Nmin
Where
  • NN= Theoretical stages required (stages)
  • NminN_{min}= Minimum stages (Fenske) (stages)
  • RR= Operating reflux ratio
  • RminR_{min}= Minimum reflux ratio

Fenske gives the fewest stages, Underwood the least reflux, and neither is buildable. Gilliland's 1940 contribution was to fill in the middle empirically. He ran a set of rigorous stage-by-stage calculations across a range of columns, plotted (NNmin)/(N+1)(N - N_{min})/(N + 1) against (RRmin)/(R+1)(R - R_{min})/(R + 1), and found the points fell close enough to one curve to be useful. That curve, with Fenske and Underwood either side of it, is the Fenske-Underwood-Gilliland shortcut method, and it is still how a column gets sized on the back of an envelope before anyone opens a simulator.

Gilliland published a graph, not an equation. The expression evaluated on this page is the analytic fit published by Molokanov and co-workers in 1972, which reproduces the drawn curve closely enough that the difference is invisible against the scatter of the original points. It is worth being clear that this is a correlation of a correlation: a curve fitted to a curve drawn through a cloud.

The two ends behave exactly as they must, which is the best argument for trusting the middle. At X0X \to 0 — running at minimum reflux: Y1Y \to 1 and the stage count goes to infinity. At X1X \to 1 — infinite reflux: Y0Y \to 0 and NNminN \to N_{min}. Between them sits the familiar rule of thumb that a real column needs about twice the minimum stages, which is not a separate piece of folklore at all: it is this correlation evaluated at the reflux ratios people actually choose.

The honest caveat is the scatter. Individual points in Gilliland's original data depart from the fitted curve by roughly ten per cent, and rather more at the extremes of XX. That is fine for sizing a shell, costing a project, or deciding between two process routes. It is not fine for guaranteeing a product purity, and it should never be the last calculation done on a column that is going to be built. A rigorous equilibrium-stage or rate-based simulation is what settles a final design; Gilliland is what tells you roughly what to simulate.

Worked example: N_min 5 at 1.5x minimum reflux → 10.12 theoretical stages

Rectifying Operating Line (McCabe–Thiele)

y=RR+1x+xDR+1y = \frac{R}{R + 1}\,x + \frac{x_D}{R + 1}
xDRyx
Where
  • yy= Vapour mole fraction
  • xx= Liquid mole fraction
  • RR= Reflux ratio
  • xDx_D= Distillate mole fraction

McCabe and Thiele published their graphical method in 1925, and it has outlived every one of the computational reasons for inventing it. Nobody needs a diagram to count stages any more. What the diagram still does, and no simulator output does as well, is let you see the separation: where the driving force is generous and where it is nearly gone, what happens when reflux changes, and why a column pinches.

The rectifying operating line is a material balance drawn around the top of the column — the condenser, the product draw, and every stage above the plane you cut. It relates the vapour rising off any stage to the liquid falling onto it from above, which is why the diagram works: the equilibrium curve tells you what leaves a stage together, the operating line tells you what passes between stages, and alternating between the two is exactly what a column does.

Its straightness is an assumption, and it has a name: constant molar overflow. It holds when each mole of vapour condensing releases just enough heat to boil one mole of liquid, so the internal liquid and vapour rates do not change from tray to tray. That is close to true for chemically similar pairs with similar molar latent heats, and it is not a coincidence that benzene-toluene is every textbook's example. For methanol-water, whose latent heats differ substantially, the true operating line curves, and the Ponchon-Savarit enthalpy-composition method is the graphical treatment that does not assume the problem away.

Two properties make the line drawable in seconds. Substituting x=xDx = x_D gives y=xDy = x_D, so it always passes through (xD,xD)(x_D, x_D) on the 45-degree diagonal — no arithmetic required. And at x=0x = 0 it cuts the vertical axis at xD/(R+1)x_D/(R+1), which is why reading that intercept off a drawn diagram is the classic way to recover a column's reflux ratio. Watch what the two do together as RR rises: the line pivots about the fixed point on the diagonal and its intercept drops toward the origin, opening the gap to the equilibrium curve and shrinking the number of steps needed to cross it.

Worked example: R = 1.5 to a 95% distillate puts y = 0.68 over x = 0.50

Stripping Operating Line (McCabe–Thiele)

y=VB+1VBxxBVBy = \frac{V_B + 1}{V_B}\,x - \frac{x_B}{V_B}
xBVByx
Where
  • yy= Vapour mole fraction
  • xx= Liquid mole fraction
  • VBV_B= Boilup ratio
  • xBx_B= Bottoms mole fraction

Below the feed the column has a different job. Above it, the object is to enrich the vapour going up; below it, the object is to strip the light component out of the liquid going down so the bottoms product is clean. The stripping operating line is the material balance around that end — the reboiler, the bottoms draw, and every stage below the cut.

Written with the boilup ratio, as on this page, the slope is (VB+1)/VB(V_B + 1)/V_B, which is always greater than one. Its counterpart above the feed has slope R/(R+1)R/(R+1), always less than one. So the two operating lines approach the 45-degree diagonal from the same side but with opposite steepness, and both lie between the diagonal and the equilibrium curve — the vertical gap between line and curve at any composition is the driving force available to the stage sitting there.

The same line is written at least three ways in the literature and they are all the same line. In internal flows it is y=(Lˉ/Vˉ)x(B/Vˉ)xBy = (\bar{L}/\bar{V})x - (B/\bar{V})x_B; in the boilup ratio it is the form here, since Lˉ/Vˉ=(VB+1)/VB\bar{L}/\bar{V} = (V_B+1)/V_B. The boilup form is the one worth internalising, because VBV_B is what the reboiler is actually asked to raise, and reboiler duty is where distillation's enormous energy footprint comes from. Steepening this line to sharpen the bottoms has an invoice attached to it that arrives the same month.

The detail that most often costs a tray is the reboiler. A reboiler is a vapour-liquid contacting device and it counts as one theoretical stage — the last step on the diagram is the reboiler, not a tray. Count it as a tray and you buy a column one tray taller than the calculation asked for. The mirror-image question at the top of the column has the opposite answer: a total condenser is not a stage, because it changes no composition, while a partial condenser taking vapour product is one.

Worked example: Boilup ratio 3 over a 5% bottoms puts y = 0.3833 over x = 0.30

Feed Line (q-Line)

y=qq1xzFq1y = \frac{q}{q - 1}\,x - \frac{z_F}{q - 1}
zFqyx
Where
  • yy= Vapour mole fraction
  • xx= Liquid mole fraction
  • qq= Feed thermal condition
  • zFz_F= Feed mole fraction

The feed enters somewhere in the middle, and how hot it is changes what the column has to do. A cold feed condenses vapour rising past it and swells the liquid flow below; a vaporised feed does the reverse. The q-line is how that thermal condition gets onto the diagram, and it is the third line of the McCabe-Thiele construction.

The quantity qq has two equivalent definitions and it is worth carrying both. Physically, it is the moles of liquid added to the stripping section per mole of feed. Thermally, it is the heat needed to bring one mole of feed to a saturated vapour divided by the molar latent heat. The second makes the five cases fall out immediately: q>1q > 1 subcooled liquid, q=1q = 1 saturated liquid, 0<q<10 < q < 1 partially vaporised, q=0q = 0 saturated vapour, and q<0q < 0 superheated vapour.

The slope q/(q1)q/(q-1) behaves strangely on purpose, and the strangeness is the useful part. At q=1q = 1 it is infinite and the line stands straight up; at q=0q = 0 it is zero and the line lies flat. In between, for a partially vaporised feed, it is negative, which is why a flashing feed draws a line that leans backward across the diagram. Every case pivots about the same point, (zF,zF)(z_F, z_F) on the 45-degree diagonal, so the line is drawn by putting a pencil there and setting the slope.

What it decides is the feed stage. Both operating lines must intersect on the q-line, and stepping the diagram off so that you switch from the rectifying line to the stripping line at that intersection gives the fewest total stages. Feeding a tray or two away from the optimum costs real trays, and feeding badly wrong costs many. This is also where preheating gets evaluated honestly: heating the feed moves work from the reboiler to the condenser and shifts the intersection, and whether that is worth doing depends on the relative cost of hot and cold utility at your site, not on a general rule.

Worked example: Subcooled feed q = 2 at z_F = 0.45 puts y = 0.55 over x = 0.50

Packed Column Height from HTU and NTU

Z=HOGNOGZ = H_{OG} \, N_{OG}
ZHOGNOG
Where
  • ZZ= Packed height (m)
  • HOGH_{OG}= Height of a transfer unit (m)
  • NOGN_{OG}= Number of transfer units

A tray column has a natural unit of height — the tray — and a packed column has none. Packing is continuous, so the stage concept has nothing to attach to. Chilton and Colburn's transfer-unit idea solves this elegantly by splitting the height into two factors that answer genuinely different questions: Z=HOGNOGZ = H_{OG} N_{OG}, where the NTU says how hard the separation is and the HTU says how good this packing is at it.

The division of labour is the reason the method has lasted. The number of transfer units is thermodynamic — it depends on the equilibrium relationship, the flow ratio and the purity demanded, and no supplier can change it. The height of a transfer unit is equipment — it depends on the packing type and size, the wetting, the flow rates and the distribution, and it is precisely what a supplier sells. Ask for a purer product and NTU rises. Buy better packing and HTU falls. Keeping them separate means a change in one does not require recalculating the other, and it lets a packing be quoted as a single number in metres that means something across applications.

Typical HTU values run from about 0.3 to 1 metre for random packings such as Pall rings, and lower for structured packing, which is much of what you are paying for when you buy it. But an HTU is not a property of the packing alone: it depends on the flow rates, and it degrades sharply if the liquid distribution is poor, if the packing is not properly wetted, or if the column is operating far from its design loading. A supplier's quoted HTU assumes good distribution, and poor distribution is the most common reason a real column underperforms its design.

Two practical points about the height that comes out. Beyond roughly 5 to 10 metres — or about ten column diameters for random packing — liquid drifts to the wall as it descends and the centre of the bed stops being wetted, so tall columns are built as several beds with redistributors between them. And the calculated ZZ is packing only: distributors, supports, the sump, the disengagement space and the nozzles all add height that is column but not packing, and a vessel quoted from this number alone will be short.

Worked example: 4.5 m of packing delivering 6 transfer units → HTU = 0.75 m

Transfer Units for Dilute Absorption

NOG=ln[y1y2(11A)+1A]11AN_{OG} = \frac{\ln \left[ \dfrac{y_1}{y_2} \left( 1 - \dfrac{1}{A} \right) + \dfrac{1}{A} \right]}{1 - \dfrac{1}{A}}
y1y2x2NOG
Where
  • NOGN_{OG}= Number of transfer units
  • AA= Absorption factor
  • y1y_1= Inlet gas mole fraction
  • y2y_2= Outlet gas mole fraction

The design equation for a packed absorber is an integral, NOG=dy/(yy)N_{OG} = \int dy/(y - y^*) up the column — and Colburn's 1939 paper did the integration for the case that matters most, a straight equilibrium line and a dilute system. The result looks almost identical to the Kremser stage equation, with the same logarithm on top, and differs only in the denominator: (11/A)(1 - 1/A) here where Kremser has lnA\ln A. That small difference is the whole distinction between a transfer unit and an equilibrium stage.

A transfer unit is the height over which the concentration change equals the average driving force producing it — one e-fold of approach to equilibrium, in effect. An equilibrium stage is a discrete step to the equilibrium line and back. They are different objects, and the ratio between them is not a constant: it depends on AA, converging only when AA approaches 1 and the two lines run parallel. For the same duty at A=2A = 2, a column needs about 3.4 equilibrium stages or about 4.7 transfer units, and there is no fixed conversion between the two counts.

The most revealing feature of the equation is a floor that has no counterpart in stage counting. As AA grows without bound, NOGN_{OG} does not fall toward zero — it approaches ln(y1/y2)\ln(y_1/y_2), and no amount of solvent will take it below that. The reason is that even with the driving force everywhere at its maximum, the gas still has to be diluted by the factor y1/y2y_1/y_2, and each transfer unit only ever accomplishes one e-fold of that dilution. A 99 percent removal therefore needs at least ln100=4.6\ln 100 = 4.6 transfer units, however generous the solvent. Kremser stage counts, by contrast, fall toward zero as AA rises. Seeing that difference is the clearest way to understand that the two methods are not two scales for the same thing.

The dilute restriction is real and it is where the equation is most often abused. "Dilute" means the solute is a small enough fraction that the gas and liquid molar flows are effectively constant down the column and the equilibrium line is effectively straight — conventionally under about 5 to 10 mole percent. Above that, the carrier flows change as the solute leaves the gas, the operating line curves, and this closed form quietly overestimates the performance. Concentrated absorbers are worked in mole RATIOS rather than mole fractions, on solute-free flows, or numerically. As with Kremser, a solvent entering with solute in it is handled by replacing every yy with (ymx2)(y - m x_2).

Worked example: A = 2, 95% recovery → 4.70 transfer units

Absorption Factor

A=LmVA = \frac{L}{m V}
yxL/VmA
Where
  • AA= Absorption factor
  • LL= Liquid molar flow (mol/s)
  • mm= Equilibrium line slope
  • VV= Gas molar flow (mol/s)

If you learn one number in absorption, learn this one. The absorption factor A=L/(mV)A = L/(mV) is the ratio of the slope of the operating line to the slope of the equilibrium line, and it decides whether a column can do its job before any question of height or trays arises. The numerator is the solvent's capacity to carry solute away; the denominator is the gas's capacity to hand it over. Everything else is detail.

The threshold at A=1A = 1 is absolute rather than economic. Below it the solvent reaches equilibrium with the incoming gas before it has absorbed everything on offer, so some fraction of the feed leaves untouched — and the fraction is fixed by AA alone, not by the size of the column. This is the origin of the minimum liquid rate: the solvent flow at which the exit liquid would be exactly in equilibrium with the inlet gas, requiring infinite stages to approach. Real columns are designed at 1.2 to 1.5 times that minimum, which typically puts AA between 1.2 and 2.0.

Above that window the economics turn around. More solvent absorbs more readily and shortens the column, but the solvent has to be pumped, cooled, and above all REGENERATED, and regeneration duty is usually the dominant operating cost of the entire plant. Doubling AA from 2 to 4 might save a metre or two of packing while doubling the reboiler load in the stripper for the next thirty years. The optimum sits where the capital saved on height stops covering the energy spent on circulation, and in most plants that lands close to A=1.4A = 1.4.

Three cautions on the terms. LL and VV must be MOLAR flows, not mass or volumetric ones, because mm is the slope of an equilibrium line drawn in mole fractions — mixing bases here is a common and silent error. Both should strictly be the solute-free carrier flows, though in a dilute system the difference is negligible. And mm moves with temperature and total pressure: absorption is exothermic, so a column running hot has a larger mm and a smaller AA than its design sheet claims, which is one reason absorbers that worked in winter start missing specification in July. The same group inverted, 1/A1/A, is the stripping factor, and a stripper is designed by requiring THAT to exceed 1 instead — which is why a solvent chosen to absorb easily is by construction difficult to regenerate.

Worked example: L = 40, m = 0.8, V = 25 mol/s → A = 2

Kremser Equation for Absorption Stages

N=ln[y1y2(11A)+1A]lnAN = \frac{\ln \left[ \dfrac{y_1}{y_2} \left( 1 - \dfrac{1}{A} \right) + \dfrac{1}{A} \right]}{\ln A}
yxN
Where
  • NN= Theoretical stages
  • AA= Absorption factor
  • y1y_1= Inlet gas mole fraction
  • y2y_2= Outlet gas mole fraction

Before Kremser, sizing an absorber meant drawing an operating line and an equilibrium curve on graph paper and stepping off the staircase between them by hand. In 1930 A. Kremser published, in a trade weekly rather than a journal, the observation that if both lines are straight the staircase is a geometric series and can be summed in closed form. Souders and Brown extended it two years later, which is why the result carries all three names in some texts. It replaced an afternoon of drafting with a logarithm, and it is still what a process engineer reaches for first.

Everything in the equation is dominated by the absorption factor A=L/(mV)A = L/(mV), and the reason is visible in the algebra: AA sits inside the logarithm and again in the denominator, so it acts on the answer twice. Physically, AA compares the liquid's capacity to carry solute away against the gas's capacity to deliver it. Above 1 the solvent always has room for more and each stage takes another bite; below 1 the solvent saturates and a fraction of the feed passes straight through no matter how many trays are stacked up. That is not a poor design but a hard wall, and it is why an absorber failing to meet its outlet specification is almost never fixed by adding trays.

The count that comes out is THEORETICAL stages, and no real column contains any. A real tray does not bring its two streams to equilibrium; dividing by an overall tray efficiency is what turns the answer into hardware. Absorber efficiencies are lower than distillation efficiencies and sometimes much lower — 70 percent is a comfortable case, and 20 to 50 percent is ordinary for a poorly soluble gas where the liquid film governs and contact time on the tray is short. A design that forgets the efficiency step is out by a factor of two to five in the direction that matters.

Two assumptions are baked in and both deserve a check. The equilibrium line is taken as straight across the whole concentration range, which is fair for a dilute system and poor for a concentrated one; where it curves, the honest approaches are to evaluate mm at an average composition, to break the column into sections with their own slopes, or to abandon the shortcut and integrate. And the solvent is assumed to enter free of solute, which a recycled and regenerated solvent never is. The correction is clean: replace every yy with (ymx2)(y - m x_2), where x2x_2 is the solute in the entering liquid, and the equation stays exactly correct. Skipping it is optimistic, because a solvent returning dirty from the stripper raises the outlet the column can reach.

Worked example: A = 2, 95% recovery → 3.39 theoretical stages

Thermal Kill: D, z and F

D-Value (Decimal Reduction Time)

D=tLRD = \frac{t}{\mathrm{LR}}
DN/N0tLR
Where
  • DD= D-value (min)
  • tt= Holding time (min)
  • LR\mathrm{LR}= Log reduction achieved (logs)

Heat kills microorganisms on the same log-linear pattern chemicals do, and the number that describes it is the D-value: the time at a fixed temperature needed to reduce the population by one log — a factor of ten. Fifteen minutes that delivered five logs implies a D of three minutes. Every further three minutes removes another factor of ten from whatever is left.

W. D. Bigelow set this out in 1921 in the Journal of Infectious Diseases, working on the thermal processing of canned food, and the framework has run food and beverage process engineering ever since. It is the same first-order idea Chick published for chemical disinfection thirteen years earlier, with temperature in the place of concentration. None of what follows is a clinical or medical calculation. This is thermal processing of a product — pasteurisation, retorting, a hold tube on a milk line — and nothing here concerns sterilising anything that will be injected into a person.

A D-value without its temperature is not a number. That is why the literature always writes it with one attached: D121D_{121} is the decimal reduction time at 121 °C, and the same organism has a wildly different D ten degrees either side — the z-value page is about exactly how different. A D quoted bare is unusable, and a D copied from a paper without its temperature is worse than unusable, because somebody will assume one.

It is not only the temperature that has to travel with it. D depends on the substrate as much as on the organism. Fat, sugar and low water activity all protect microorganisms, sometimes by a large factor, so a D measured in phosphate buffer can badly understate what the same spore survives in a fatty, sugary food. Acidity cuts the other way — which is the reason the canning world splits its products at about pH 4.6 and gives high-acid foods an entirely gentler process. A borrowed D is a starting hypothesis, not a design input.

The trade tends to speak in whole D's, and it is a good habit. A 12D process — the classic botulinum cook for low-acid canned foods — is twelve decimal reductions and nothing more mysterious than that: twelve times the D-value of Clostridium botulinum spores at the process temperature. Counting in D's keeps the arithmetic in front of you.

Two things the simple form leaves out. First, as with Chick's law, the straight line is an approximation with a shoulder at one end and a tail at the other, and a D fitted across the whole curve splits the difference — fit it on the log-linear stretch. Second, the time this equation returns is time at temperature. A real vessel takes time to come up and time to cool down, and both of those deliver lethality: the product is being cooked all the way through the cycle, not only during the hold. Counting the hold alone means you are overprocessing, sometimes substantially, and the F-value page is how the whole cycle gets added up properly.

One last reminder that a reduction is relative. Twelve logs from a starting count of 10310^3 per container and twelve logs from 10610^6 leave very different numbers of survivors, and the process cannot tell the difference. Incoming load matters as much as the schedule, which is why sanitation upstream of the cook is part of the safety case and not merely good housekeeping.

Worked example: 5 logs in 15 min → D = 3.00 min

z-Value (Thermal Resistance Constant)

z=T2T1log10D1log10D2z = \frac{T_2 - T_1}{\log_{10} D_1 - \log_{10} D_2}
D1D2zT1T2DT
Where
  • zz= z-value ()
  • T1T_1= Lower temperature (°C)
  • T2T_2= Higher temperature (°C)
  • D1D_1= D-value at T₁ (min)
  • D2D_2= D-value at T₂ (min)

The D-value answers "how long at this temperature". The z-value answers "what does another ten degrees buy me", and it is the number that makes thermal processing an engineering discipline rather than a collection of recipes. Formally: z is the temperature change that shifts the D-value by a factor of ten. Plot log D against temperature — Bigelow's thermal death-time curve — and z is the temperature interval spanning one log cycle on that plot.

Two trials give it. If D is 2.0 minutes at 110 °C and 0.2 minutes at 120 °C, the D-values differ by exactly one log across ten degrees, so z=10z = 10 C°. That figure — ten Celsius degrees — is the classic one for bacterial spores, and it is the value the F₀ convention was built on. Vegetative cells run smaller. Enzymes, colour, texture and vitamin retention run much larger: 25 to 45 C° is typical for quality attributes.

That gap between a small microbial z and a large quality z is the entire basis of high-temperature short-time processing, and it is worth sitting with for a moment. Raise the temperature and both the spores and the vitamins degrade faster — but the spores, with their small z, accelerate far more sharply. Go up 10 C° and the spore kill is ten times faster while the quality loss is perhaps twice as fast. So the same lethality arrives in a tenth of the time and does a fifth of the damage. That is why UHT milk exists, why a plate heat exchanger and a hold tube beat a batch vat, and why "hotter and shorter" is the standard direction of travel in thermal processing.

z is a temperature DIFFERENCE, and this site keeps differences in their own unit type for good reason. A z of 10 C° is an interval of ten Celsius degrees. It is not the temperature 10 °C, and it does not convert like one: in Fahrenheit degrees it is 18 F°, not 50 °F. Anyone who has converted a z with the temperature formula by accident has produced a process schedule that is wrong by a large factor and looks perfectly reasonable, which is exactly the class of error a typed unit system exists to prevent. The engineering convention writes the degree sign after the letter for an interval — 10 C°, 18 F° — and the site follows it.

The everyday use of z is extrapolation: carry a D measured at one temperature to another. D = 3.0 minutes at 115 °C with z = 10 C° becomes 3.0 × 10⁻¹·³ = 0.15 minutes at 128 °C, about nine seconds. That is legitimate arithmetic and it is also the everyday abuse of the relation. Bigelow's line is straight over the range it was measured on. Carrying it far outside that range — especially downward, toward pasteurisation temperatures, from data taken at retort temperatures — is a guess wearing the clothes of arithmetic. Extrapolate a few degrees with confidence, twenty with suspicion, and beyond that get data.

And recover z the way it should be recovered. Two points give you a number; three or more D-values across a decent temperature span give you a line, a slope, and some sense of whether the relation is straight at all over the range you care about. If the points visibly curve, a single z is not describing your organism and the extrapolation you were about to make is the one that will hurt you.

Worked example: D of 2.0 min at 110 °C and 0.2 min at 120 °C → z = 10 C°

F-Value (Equivalent Time at Reference Temperature)

F=t×10(TTref)/zF = t \times 10^{\,(T - T_{ref})/z}
TrefTFtt
Where
  • FF= F-value (equivalent time) (min)
  • tt= Actual time held (min)
  • TT= Process temperature (°C)
  • TrefT_{\mathrm{ref}}= Reference temperature (°C)
  • zz= z-value ()

A real thermal process is not a rectangle. The vessel comes up to temperature over some minutes, holds, and cools down over more — and the product is being cooked the whole time, not only during the hold. The F-value is the bookkeeping device that lets all of that be added up: it expresses time spent at any temperature as the equivalent time at a chosen reference temperature, so that unlike minutes land on one scale and can be summed.

The conversion is F=t×10(TTref)/zF = t \times 10^{(T - T_{\mathrm{ref}})/z}, and the exponential term is the whole content of it — the number of reference-minutes each real minute is worth. Ten minutes held at 115 °C, scored against a reference of 121.1 °C with z = 10 C°, gives 10×100.61=2.4510 \times 10^{-0.61} = 2.45 equivalent minutes. Six degrees below the reference and ten real minutes are worth under two and a half. The same arithmetic runs the other way with equal force: three minutes at 125 °C is worth over seven.

F₀ is the specific case, not a synonym. F₀ means the reference is 121.1 °C — 250 °F, which is where the number comes from — and z is 10 C°, the spore value. That pair is the convention of the low-acid canned food world, and it is what lets one plant's F₀ be compared with another's. An F quoted without its reference and its z stated alongside is a number nobody else can use, and if a supplier hands you one, the honest move is to ask which reference and which z, not to assume F₀.

This page gives you one segment at one temperature. A real process is the sum of many. Doing it properly means integrating the lethality multiplier over the recorded temperature history — reading the temperature every few seconds, converting each interval to reference-minutes, and adding them up. Come-up and cool-down contribute a great deal in a large retort, and ignoring them means overprocessing the product to deliver lethality it already received. Conversely, taking credit for come-up you did not measure is the opposite error and the more dangerous one.

Two operational points that matter more than the arithmetic. Measure at the cold spot of the load, not in the free steam — the schedule has to satisfy the slowest-heating point of the slowest-heating container, and it lags the vessel by a long way. And the F you need depends on the organism and on the incoming load, which is a microbiological question rather than a thermal one; the equation converts time and temperature, and it knows nothing about what is in the can.

The same machinery, with a different reference and a different z, does pasteurisation: pasteurisation units are the identical construction scored against a lower reference. That generality is why the F-value has outlived the specific processes Bigelow was working on. As with everything in this group, it is food and beverage process engineering — nothing here is a clinical or medical calculation, and none of it concerns sterilising anything destined for a person's bloodstream.

Worked example: 10 min at 115 °C, z = 10 C° → F0 = 2.4547 min

Practice problems

Answer key at the back. Work in the units each problem states.

Stoichiometry at Scale

1. The mole machineA 40 kg sack of caustic soda pearls (NaOH, M = 40 g/mol) is staged beside the make-up tank for tonight's batch. The batch record wants the charge recorded as an amount of substance, not a weight. Calculate the amount of substance in the sack.

2. The mole machineA 20 g sample of caustic soda (NaOH, M = 40 g/mol) is weighed out on the analytical balance for a demonstration. Nₐ = 6.022 × 10²³ particles per mole. Determine how many formula units the sample contains.

3. Molarity, asked every way25 kg of caustic soda (NaOH, M = 40 g/mol) is dissolved in the make-up tank, and the tank is then filled to its 500 L mark. The stock has to carry a molarity on its label before it is released. Calculate the molar concentration of the finished stock.

4. Molarity, asked every wayThe day tank holds 4000 L of sodium hypochlorite solution, and the certificate on its side reads 0.25 mol/L. Stores wants the contents booked as an amount of substance for the inventory. Determine the amount of substance the tank holds.

5. The dilution lineThe lab has to put up 1000 mL of a 0.05 mol/L working standard, and the only stock in the cupboard is 1 mol/L. It will be pipetted into the volumetric flask and made up to the mark. Determine the volume of stock to pipette.

6. The dilution line50 L of 2 mol/L stock is pumped into the 1 m³ day tank, and the tank is then made up to its working level with softened water. The shift log wants the day tank's strength recorded. Calculate the concentration in the day tank.

7. Gases in the vesselA 1.5 m³ receiver on the chlorination skid sits at 200 kPa absolute and 20 °C. R = 8.314 J/(mol·K). Calculate the amount of gas in the receiver.

8. Gases in the vesselThe gas room's daily sheet records that 1000 mol of oxygen left the cylinder bank over the shift. The ventilation calculation needs that as a volume at STP, where the molar volume is 22.4 L/mol. Calculate the volume that amount of gas occupies at STP.

9. Yield on the batch recordThe batch record for a precipitated calcium carbonate run says the charge should have produced 400 kg of dry product. The drier discharged 368 kg, weighed on the bagging scale. Calculate the percent yield of the batch.

10. Yield on the batch recordThe specification for calcium carbonate (CaCO₃, M = 100 g/mol) is written in terms of its oxygen content. The formula unit carries 3 atoms of oxygen at M = 16 g/mol. Calculate the mass percent of oxygen in the compound.

11. Titration morningA 25 mL aliquot of a spent pickling rinse is pipetted into the flask and titrated to the end point with 0.1 mol/L standard, which takes 20 mL from the burette. For this reaction the reaction runs one mole for one mole. Calculate the concentration of the analyte.

12. Titration morningThe standard on the bench is 0.1 mol/L sulphuric acid, and each mole gives up two protons. The plant's alkalinity method is written in normality, so the bottle has to be re-labelled before the run. Determine the normality of the standard.

13. The Batch SheetNight shift, and the calculator is in the office. The batch sheet reads: weigh 58.5 kg of brine salt (NaCl, M = 58.5 g/mol) into the make-up tank, dissolve, and fill to the 1000 L mark. Then charge the 400 L day tank from that stock to 0.5 mol/L. Work the sheet from the weighing to the stock draw.

14. The Batch SheetSame night, the precipitation reactor. 6,000 mol of sodium carbonate went in, and the reaction makes one mole of calcium carbonate for each mole charged (M(CaCO₃) = 100 g/mol). The drier discharged 510 kg. Works standing order: any batch under 80% yield goes to the shift chemist before it ships. Still no calculator. Work the yield, then decide what happens to the batch.

Chlorination & Disinfection

15. Dose, demand, residualA bench chlorine-demand test on a groundwater under the influence of surface water shows the water destroys 2.5 mg/L of chlorine before any free residual survives. The operating licence requires 0.8 mg/L of free chlorine leaving the contact tank. Calculate the chlorine dose the plant must feed.

16. Dose, demand, residualThe chlorinator on a raw supply carrying a little iron and manganese is feeding 3.8 mg/L. At the outlet of the contact tank the DPD kit reads 1 mg/L free chlorine. Determine the chlorine demand of the water.

17. The pounds formulaA surface-water plant treats 2.5 MGD and the shift supervisor has set a chlorine dose of 3 mg/L. Water weighs 8.34 lb per US gallon. Calculate the chlorine feed rate in pounds per day.

18. The pounds formulaThe chlorine log shows 100.08 lb of gas chlorine used yesterday, on a plant that pumped 1.5 MGD. Water weighs 8.34 lb per US gallon. Determine the average dose the plant actually applied.

19. Hypochlorite arithmeticFollowing a boil-water advisory, a 2,000 L reservoir compartment is being superchlorinated overnight. The procedure calls for 100 mg/L of available chlorine, and the only product on site is 12.5% sodium hypochlorite. Determine the mass of hypochlorite product to add.

20. Hypochlorite arithmeticAn operator tips 2 kg of 65% calcium hypochlorite granules into a 10,000 L holding tank and circulates it until it is fully mixed. Determine the free chlorine concentration the tank reaches.

21. The breakpoint curveA groundwater carries 1 mg/L of ammonia nitrogen. To produce a free chlorine residual the plant must drive the water past breakpoint, and the theoretical breakpoint ratio is 7.6 parts chlorine to 1 part ammonia nitrogen by weight. Calculate the chlorine needed just to reach breakpoint.

22. The breakpoint curveAn operator is walking the chlorination curve on a well supply. The ammonia nitrogen is 1.5 mg/L, and the chlorinator is applying 6 mg/L. Breakpoint is reached at a weight ratio of about 7.6 to 1. Determine the chlorine-to-ammonia ratio the plant is running at.

23. CT creditA contact basin's working volume divided by today's flow gives a theoretical detention time of 60 minutes. The basin is a poorly baffled tank with a single inlet baffle, and the guidance manual assigns it a baffling factor of 0.3. Determine the effective contact time the basin actually delivers.

24. CT creditA tracer study has already established that the contact basin delivers a T₁₀ of 20 minutes at today's flow. The free chlorine measured at the END of the contact zone is 0.6 mg/L. Calculate the CT the plant achieved.

25. Log killA challenge test counts heterotrophic plate count bacteria at 150,000 per 100 mL entering the contact tank and 150 per 100 mL leaving it. Determine the log inactivation the process demonstrated.

26. Log killA plant's disinfection profile earns it a 2-log inactivation credit for Giardia. The public works committee wants the same figure written the way a council meeting will understand it. Determine the percent inactivation that credit represents.

27. Decay in the mainWater leaves the plant at 2.4 mg/L free chlorine. A bottle test on this water gives a bulk decay coefficient of 0.0693 per hour, and a hydraulic model puts the travel time to the last hydrant on a dead-end street at 10 hours. Determine the free chlorine residual expected at that point.

28. Decay in the mainA dead-end sample station must hold at least 1.2 mg/L of free chlorine to satisfy the licence. The travel time to it is 10 hours and the water's bulk decay coefficient is 0.0693 per hour. Determine the residual the plant must leave with.

29. The Compliance MorningCompliance morning. The raw water's chlorine demand is 2.5 mg/L, the licence requires 0.5 mg/L of free chlorine leaving the contact tank, and the plant is running 2 MGD. The contact basin's theoretical detention time at that flow is 80 minutes and its assigned baffling factor is 0.5. For today's temperature and pH, the table asks 15 mg·min/L for the required credit. Water weighs 8.34 lb per gallon. Work the morning through and say whether the plant earns its credit.

30. The Compliance MorningBonus mark, on the way out. The annual report for this plant is going to print "90% inactivation" in the summary, and the regulator's file is written in logs. Determine the log inactivation that percentage amounts to.

Hardness, Alkalinity & Softening

31. Everything as CaCO₃A laboratory data sheet lists carbonate, CO₃²⁻ with a molar mass of 60.01 g/mol. Every conversion in this chapter runs on equivalents rather than moles, so the sheet needs its equivalent weight before anything else can be done with it. Determine the equivalent weight of that species.

32. Everything as CaCO₃A well-water analysis reports bicarbonate as HCO₃⁻ at 100 mg/L — that is, 100 milligrams of the ion itself in every litre. The plant's own spreadsheet keeps every number in the trade's common currency, mg/L as CaCO₃, and the ion's equivalent weight is 61.02 g/eq. Calculate that ion's concentration expressed as CaCO₃.

33. Grains per gallonA homeowner's test strip reads 7 grains per gallon, and the softener's control valve is programmed in grains. The laboratory that will confirm the result reports in mg/L as CaCO₃. Calculate the hardness in mg/L as CaCO₃.

34. Grains per gallonA certificate of analysis gives total hardness as 250 mg/L as CaCO₃. The softener sitting in the mechanical room is programmed in grains per gallon, and its controller has no other setting. Determine the hardness in grains per US gallon.

35. The alkalinity ledgerA boiler feedwater analysis reports bicarbonate at 122 mg/L as HCO₃⁻. The pH is 7.8, so the carbonate and hydroxide results both came back at zero. Every species is reported as its own ion. Calculate the total alkalinity as CaCO₃.

36. The alkalinity ledgerA titration on a lime-softened water gives total alkalinity of 120 mg/L as CaCO₃. Ion chromatography accounts for 12 mg/L as CO₃²⁻ and 0 mg/L as OH⁻ separately. The corrosion model wants bicarbonate entered as the ion. Determine the bicarbonate concentration as HCO₃⁻.

37. Conductivity to TDSA cooling-tower blowdown sample reads 500 µS/cm on a calibrated meter at 25 °C. For this water — carbonate and sulphate dominated — the plant's chemist uses a TDS/EC factor of 0.65. Calculate the estimated total dissolved solids.

38. Conductivity to TDSA boiler water specification is written as a maximum of 560 mg/L total dissolved solids, but the only instrument on the blowdown line is a conductivity cell. For this water the plant uses a TDS/EC factor of 0.7. Determine the conductivity that corresponds to that TDS limit.

39. Sizing the softenerA commercial softener treats 1000 US gallons of water between regenerations. The raw supply tests at 8 grains per gallon of hardness as CaCO₃. Calculate the hardness the bed must hold over that run.

40. Sizing the softenerA softener is being specified to carry 2400 US gallons between regenerations on water testing 25 gpg — a hardness load of 60,000 grains. The resin quoted for the job is rated at 20,000 grains of hardness per cubic foot at the salt dosage the owner has agreed to. Determine the volume of resin the vessel must hold.

41. Salt and efficiencyA softener holds 2 ft³ of resin, and its controller is programmed to draw brine at 8 pounds of salt per cubic foot of resin — the setting that earns the capacity the bed was sized on. Calculate the salt each regeneration draws.

42. Salt and efficiencyA brine tank log shows a softener drawing 30 lb of salt every regeneration. The vessel is charged with 3 ft³ of resin, and the service technician wants to know what dosage the controller is actually running before comparing it with the resin maker's table. Determine the salt dosage the controller is set to.

43. The Softener CommissioningCommissioning morning. A well supply tests 36 mg/L calcium as Ca and 20 mg/L magnesium as Mg. The softener on the pad holds 3 ft³ of resin rated 30,000 grains per cubic foot, the building draws 1,500 US gallons a day, and the service contract promises a regeneration no more often than every 7 days. Tonight take the calcium factor as 2.5, the magnesium factor as 4, and the grains bridge as 17 mg/L per grain — no calculator. Work each line; every answer feeds the next. Determine whether this bed keeps the contract, one line at a time.

44. The Softener CommissioningBonus mark, on the way out. That same 4 ft³ bed is programmed at 8 lb of salt per cubic foot of resin, and the owner wants the standing salt order worked out before you leave the site. Determine the salt one regeneration draws.

Cooling Towers & Boilers

45. Cycles of concentrationA cooling tower's makeup meter totalises 12 m³/h and the bleed meter on the blowdown line totalises 3 m³/h over the same shift. Nothing else leaves the system as liquid. Determine the cycles of concentration the tower is running at.

46. Cycles of concentrationOn a route visit the handheld conductivity meter reads 300 µS/cm in the makeup line and 900 µS/cm in the tower basin, both at the same temperature. Determine the cycles of concentration the tower is holding.

47. Evaporation, blowdown, makeupA survey of a packaged tower records 900 gpm of recirculation and a 10 °F drop across the fill at design load. Determine the rate at which the tower is losing water to the air.

48. Evaporation, blowdown, makeupA tower evaporating 16 gpm is to be held at 5 cycles of concentration by the conductivity controller. The bleed solenoid is the only liquid loss being counted. Determine the blowdown rate the controller must hold.

49. Range and approachA tower gauge set reads 95 °F on the hot deck where the water arrives and 83 °F in the cold basin under the fill. The plant's psychrometer puts the entering air at 76 °F wet bulb. Determine the tower's range.

50. Range and approachThe same survey sheet, different question. Water returns to the tower at 105 °F, leaves the basin at 90 °F, and the wet-bulb temperature of the air entering the louvres is 80 °F. Determine the tower's approach.

51. Dosing the loopA cooling tower is to be held at 100 mg/L of inhibitor in the circulating water, and the program feeds proportional to makeup. The makeup meter runs 3 m³/h. Take water as 1.00 kg/L. Calculate the feed rate the metering pump must deliver.

52. Dosing the loopA contractor tips 15 kg of nitrite inhibitor into a closed heating loop that holds 20 m³ of water, then circulates it overnight. Take water as 1.00 kg/L. Determine the concentration that charge actually achieved.

53. The holding time indexNobody has drawings for a tower system, so the technician measures it instead: a tracer dye injected at the pump discharge comes back around in 15 minutes, and the pump curve at this duty reads 200 m³/h. Determine the system volume from that turnover.

54. The holding time indexA cooling system holds 50 m³ of water and loses 2.5 m³/h as blowdown and drift together — the losses that carry treated water away. A biocide slug has just been dosed into it. Determine the holding time index for that system.

55. Boiler cyclesA shift log for a firetube boiler records 300 ppm total dissolved solids in the feedwater and 3,000 ppm in a drum sample drawn the same hour. Determine the cycles of concentration in the drum.

56. Boiler cyclesBoiler water chemistry limits hold the drum at 3,000 ppm TDS. The feedwater — makeup blended with returned condensate — tests at 300 ppm. Determine the blowdown required, as a percentage of feedwater.

57. Condensate comes homeA steam plant generates 9,000 kg/h and the condensate receiver's pump meter totals 6,300 kg/h coming back from the distribution system. Determine the condensate return percentage.

58. Condensate comes homeThe same plant makes 10,000 kg/h of steam and its condensate return runs at 70 %. Everything that does not come back has to be replaced with treated makeup water. Determine the makeup rate the boiler house must supply.

59. The Tower SurveyAnnual survey, clipboard only. The makeup line reads 250 µS/cm and the basin 1,250 µS/cm. The tower carries 1,200 gpm at a 10 °F range, and its old splash-fill eliminators are rated 0.01 % drift. The site's makeup meter totalises 19.12 gpm. No calculator today — every number here divides in your head, and every answer feeds the next line. Determine whether the tower's water balance closes, one line at a time.

60. The Tower SurveyBonus mark on the way out. The plant manager asks what would happen if the same tower — 1,200 gpm on a 10 °F range, so 12 gpm of evaporation — were allowed to fall back from 5 cycles to 3. Determine the bleed the tower would need at 3 cycles.

Corrosion & the Water Quality Indices

61. The Langelier indexA saturation calculation is being set up for a partially softened boiler make-up. The laboratory reports total dissolved solids 800 mg/L, bulk temperature 40 °C, calcium hardness 60 mg/L as CaCO₃ and total alkalinity 200 mg/L as CaCO₃. Read against the standard tables those four results give A = 0.19, B = 1.81, C = 1.38 and D = 2.30. Calculate the saturation pH of this water.

62. The Langelier indexA cooling-tower survey records a field pH of 6.9 on the recirculating water. The saturation calculation for the same sample returns a saturation pH of 7.9. Calculate the Langelier saturation index of that water.

63. Ryznar and PuckoriusThe same tower survey that gave a field pH of 8.2 and a saturation pH of 7.6 is being written up on the Ryznar scale, because the treatment supplier's dosing tables are indexed that way and nothing on the report is allowed to be converted by eye. Calculate the Ryznar stability index of that water.

64. Ryznar and PuckoriusA treatment programme specifies that the recirculating water be held at a Ryznar stability index of 6.0 — the band the supplier's inhibitor is formulated for. The saturation pH of this water at operating cycles is 6.9, and the only thing the acid controller can regulate is pH. Determine the pH setpoint that delivers that index.

65. The Larson–Skold ratioA mild-steel condenser water box is being assessed after a road-salt season pushed the chloride up. The circulating water now reports chloride 40 mg/L as Cl⁻, sulphate 50 mg/L as SO₄²⁻ and alkalinity 220 mg/L as CaCO₃. Determine the Larson–Skold index.

66. The Larson–Skold ratioMake-up water enters a heating service at 5 °C, where fresh water saturates at 12.77 mg/L of dissolved oxygen, and leaves the heater at 25 °C, where saturation is 8.26 mg/L. The system is open to atmosphere, so the water sits at saturation on both sides. Calculate the dissolved oxygen this water must shed as it heats.

67. Coupon mathematicsA mild steel coupon is pulled from a cooling-water rack after 90 days — 2,160 hours in the stream. Cleaned and reweighed to the laboratory procedure, it has lost 953 mg. The coupon presents 3.00 in² of surface, and the alloy's density is 7.85 g/cm³. Calculate the uniform corrosion rate the coupon reports.

68. Coupon mathematicsA cooling-water contract sets an acceptance limit of 3 mpy on mild steel. The technician wants to know, before the rack is pulled, what weight loss that limit corresponds to on a standard coupon: 3.00 in² of surface, density 7.85 g/cm³, 90 days in the stream — 2,160 hours. Determine the weight loss that sits exactly on the acceptance limit.

69. Current into metalA linear-polarisation probe in a cooling loop reports a corrosion current density of 1 A/m² on a zinc anode. The alloy's molar mass is 65.38 g/mol, it gives up 2 electrons per atom as it dissolves, and its density is 7,140 kg/m³. Calculate the penetration rate that current represents.

70. Current into metalA specification allows no more than 0.25 mm/yr of general attack on the same carbon steel, dissolving to Fe³⁺ instead — molar mass 55.845 g/mol, 3 electrons per atom, density 7,870 kg/m³. The probe on the loop reads out in milliamps per square metre, and the alarm has to be set in the units the instrument speaks. Determine the corrosion current density that limit corresponds to.

71. Cathodic protectionCathodic protection is being designed for a badly weathered coated tank with 1,200 m² of steel surface. The environment calls for 20 mA per square metre of BARE steel, and the coating survey puts 25 % of the surface through to metal. Calculate the total protection current the structure demands.

72. Cathodic protectionA magnesium anode is installed on a structure already polarised to its protection criterion. The net driving voltage left between the anode and the polarised steel is 0.60 V, and the anode-to-earth resistance plus the cable and structure terms total 4.0 Ω. Determine the current that anode actually delivers.

73. Choosing the alloyA mill certificate for a heat of alloy 904L reports 20.0 % chromium, 4.3 % molybdenum and 0.05 % nitrogen by mass. The specification for the job ranks candidate alloys on their pitting resistance equivalent number. Calculate the PREN of that heat.

74. Choosing the alloyA purchasing specification will not accept a heat below PREN 40. A mill is offering material at 20.0 % chromium and 0.20 % nitrogen and asks what molybdenum it must hit to qualify. Determine the minimum molybdenum content that meets the specification.

75. The Corrosion SurveyCorrosion survey morning on a cooling-water main. The circulating water reads pH 7 in the field against a saturation pH of 7.7. A mild-steel coupon pulled from the same stream has lost 900 mg — tonight the coupon's area, density and hours collapse into a single divisor, so mils per year is the milligrams divided by 120. The pipe measures 280 mils of wall today against a retirement thickness of 100 mils, and the next major turnaround is 30 years out. No calculator. Work each line; every answer feeds the next. Determine whether this wall reaches the turnaround, one line at a time.

76. The Corrosion SurveyBonus mark, on the way out. The same survey water sits at a Langelier index of -0.7, and the coupon in that stream is reporting 5 mpy on mild steel. The chemist proposes lifting the loop pH by 0.4 of a unit with caustic, which moves the index by the same amount and leaves the saturation pH where it was. Determine the new index, and what it does to the measured rate.

Clarifiers, Filters & the Sludge Line

77. Detention timeA flocculation basin is being sized for a plant that will treat 150 m³/h. The process designer wants the water to spend 8 h under the paddles. Determine the working volume the basin must have.

78. Detention timeA flocculation basin is being sized for a plant that will treat 200 m³/h. The process designer wants the water to spend 12 h under the paddles. Determine the working volume the basin must have.

79. Overflow and solids loadingA rectangular primary clarifier measures 40 m long by 10 m wide at the water surface, and the plant sends it 8,000 m³/d. Calculate the surface overflow rate the clarifier is working at.

80. Overflow and solids loadingA secondary clarifier of 200 m² plan area receives 8,000 m³/d of plant flow plus 4,000 m³/d of return activated sludge. The mixed liquor entering it carries 2,000 mg/L of suspended solids. Calculate the solids loading rate on that clarifier.

81. Settling by StokesA coarse grit particle is 200 µm across and has a density of 2,650 kg/m³. It settles in water at 20 °C, where ρ = 1000 kg/m³ and μ = 0.001 Pa·s. (g = 9.81 m/s²) Calculate the terminal settling velocity that particle can manage.

82. Settling by StokesA clarifier is designed for a surface overflow rate of 30 m/d, so a particle must fall at least that fast to be captured. The solids in question have a density of 2,650 kg/m³, and the water is at 20 °C (ρ = 1000 kg/m³, μ = 0.001 Pa·s). (g = 9.81 m/s²) Determine the smallest particle this clarifier can be counted on to capture.

83. The filter runA dual-media rapid gravity filter has a bed 36 m² in plan and is taking 360 m³/h of settled water. Calculate the filtration rate through the bed.

84. The filter runA filter bed of 30 m² is washed at an upflow rate of 42 m/h for 10 minutes. Calculate the volume of water that one backwash consumes.

85. The jar testOn the bench, the winning jar took 3 mL of alum stock made up at 20 g/L, pipetted into a 2 L sample of raw water. The plant treats 8,000 m³/d. Determine the equivalent plant dose, and then the alum the plant will feed in a day.

86. The jar testRaw water arrives at 40 mg/L of alkalinity as CaCO₃, and the jar test calls for 60 mg/L of alum. Each mg/L of alum destroys 0.45 mg/L of alkalinity. The plant's operating rule is to leave at least 20 mg/L as CaCO₃ in the settled water. Determine the alkalinity left after coagulation, and decide whether this water can be dosed as it stands.

87. BOD on the booksA treatment plant takes 1 MGD of raw sewage, and the composite sample reports the influent BOD at 200 mg/L. Water weighs 8.34 lb per gallon. Calculate the BOD mass loading arriving at the plant each day.

88. BOD on the booksA plant's monthly report shows influent BOD of 180 mg/L and final effluent BOD of 36 mg/L. Calculate the plant's BOD removal efficiency.

89. Feeding the bugsAn aeration basin of 4,000 m³ carries 2,500 mg/L of mixed liquor suspended solids. It receives 8,000 m³/d of settled sewage at 250 mg/L of BOD. Calculate the food-to-microorganism ratio the basin is running at.

90. Feeding the bugsAn activated sludge plant holds 4,000 m³ under aeration at 2,400 mg/L MLSS. It wastes 100 m³/d of sludge, and the waste stream measures 8,000 mg/L. Calculate the plant's sludge age.

91. SVI and the return lineA litre of mixed liquor is poured into a settleometer and left for thirty minutes. The sludge settles to 180 mL, and the same sample's MLSS comes back from the lab at 3,000 mg/L. Calculate the sludge volume index.

92. SVI and the return lineA plant treats 10,000 m³/d and wants to hold 3,000 mg/L of MLSS in the aeration basin. The sludge coming off the clarifier floor measures 8,000 mg/L. Determine the return activated sludge flow that solids balance demands.

93. The Plant WalkdownLast walk of the shift. The plant takes 6,000 m³/d at 200 mg/L of BOD. The primary clarifier holds 500 m³ and offers 200 m² of settling surface. The aeration basin is 3,000 m³ carrying 2,000 mg/L of MLSS. No calculator tonight — every division has been chosen to fall out in your head, and 1 mg/L is 1 g/m³ throughout. Work each line; every answer feeds the next. Determine whether the aeration basin's F/M is inside the conventional band, one line at a time.

94. The Plant WalkdownBonus mark, on the way out. The council wants that same 1,800 kg/d of BOD written into the annual report as a population. The European per-capita figure is 60 g of BOD per person per day. Determine the population equivalent of the plant's load.

Separations & Absorption

95. Volatility firstA still pot holding a acetone/isopropanol mixture is brought to the boil and held there. The liquid analyses at a acetone mole fraction of x = 0.3, and the vapour drawn off the top of the pot at y = 0.6. Determine the relative volatility of that pair at this condition.

96. Volatility firstWater in a contactor is held at 25 degrees C under oxygen at a partial pressure of 100 kPa. The solubility table gives the Henry constant for that gas at that temperature as H = 0.000013 mol per cubic metre per pascal. Calculate the concentration the gas reaches in the water at saturation.

97. The column balanceA fractionator takes 240 kmol/h of a ethanol/water feed at a ethanol mole fraction of 0.42. The overhead is specified at 0.9 and the bottoms at 0.1. Determine the distillate flow the specification implies.

98. The column balanceThe instrument log on a running column reads a feed of 200 kmol/h at a light-key mole fraction of 0.26, a distillate of 50 kmol/h analysing at 0.98, and therefore 150 kmol/h out the bottom. The bottoms analyser is out of service. Determine the bottoms composition the balance requires.

99. Reflux and boilupThe overhead of a column is metered: 200 kmol/h of condensed liquid is pumped back onto the top tray, and 50 kmol/h is drawn off as product. Determine the reflux ratio the column is running at.

100. Reflux and boilupAt the base of a column the reboiler raises 120 kmol/h of vapour back into the bottom tray, while 60 kmol/h leaves as bottoms product. Determine the boilup ratio at the base of that column.

101. Counting stagesA benzene/toluene column is to deliver 0.95 light key overhead and leave 0.05 in the bottoms. The average relative volatility across the column is taken as 1.5. Determine the minimum number of theoretical stages for that split.

102. Counting stagesThe shortcut calculation for a column comes out at 9 theoretical stages. Trays of the type specified are expected to run at an overall efficiency of 60% on this service. Determine the number of real trays the column needs.

103. Operating linesA column runs at a reflux ratio of 1.5 to an overhead purity of 0.9. On a tray above the feed, the liquid falling from the tray above analyses at a light-key mole fraction of x = 0.4. Determine the vapour composition passing that liquid.

104. Operating linesBelow the feed of the same column the boilup ratio is 4 and the bottoms leave at a light-key mole fraction of 0.05. On one stripping tray the liquid analyses at x = 0.25. Determine the vapour composition passing that liquid.

105. The packed towerA packed scrubber takes 20 mol/s of carrier gas carrying ammonia, against 60 mol/s of chilled water. At the column's temperature the equilibrium line for that solute has a slope of m = 1.5. Determine the absorption factor the column is operating at.

106. The packed towerA packed absorber must take a gas from 2% hydrogen sulfide down to 0.1%, and it will be run at an absorption factor of A = 2. The equilibrium line is straight over that range. Determine the number of transfer units the duty demands.

107. The Kremser countA TRAY absorber is to take a gas from 2% hydrogen sulfide down to 0.1% against a caustic scrubbing liquor, at an absorption factor of A = 1.5. The equilibrium line is straight over that range. Determine the theoretical stages the absorber needs.

108. The Kremser countA packed scrubber takes 20 mol/s of carrier gas carrying carbon dioxide, against 60 mol/s of a lean amine solution. At the column's temperature the equilibrium line for that solute has a slope of m = 1.5. Determine the absorption factor the column is operating at.

109. The Scrubber QuotationThe boss. A client wants a packed scrubber quoted, and the shell they already own will take 5 m of packing. Gas: 50 mol/s of carrier carrying 1.9% ammonia, to be taken down to 0.1%. Solvent: 50 mol/s of chilled water. Solubility data gives a Henry constant of 150 kPa per unit mole fraction, and the column runs at 300 kPa. Packing: HTU = 0.75 m. No calculator - take ln 10 as 2.3, ln 20 as 3.0 and ln 2 as 0.7. Work each line; every answer feeds the next. Determine whether this scrubber can be quoted into the client's existing shell.

110. The Scrubber QuotationBonus mark, on the way out of the exam hall. The client asks what happens if they halve the solvent circulation on that same scrubber to save on regeneration steam. The absorption factor was 2. Determine the new absorption factor, and say what it does to the packing.

Thermal Kill: D, z and F

111. The D-valueA pilot hold tube is run at a steady 110 °C. Product entering it carries a known spore load; after 10 minutes of residence the count has dropped 5 logs. Calculate the D-value the trial has measured.

112. The D-valueA pasteuriser is validated with a spiked challenge organism. The feed carries 250,000 organisms per 100 mL; the sample drawn after the 30-minute hold plates out at 25 per 100 mL. Determine the log reduction the hold demonstrated.

113. Counting log cyclesA validation report on a thermal step gives the counts either side: 250,000 organisms per 100 mL in, 25 per 100 mL out. The plant manager wants the result stated as a percentage for the annual report. Determine the log reduction, then state it as a percent kill.

114. Counting log cyclesA supplier's datasheet claims 99.999% destruction of the target organism across their process. Your own regulator writes its credits in logs, and your feed carries 2,000,000 organisms per 100 mL. Determine the log reduction that claim is worth, and what would survive it.

115. The z-valueTwo thermal-resistance trials on the same spore in the same product. At 115 °C the decimal reduction time comes out at 5 minutes; at 131 °C it comes out at 0.05 minutes. Determine the z-value the pair implies.

116. The z-valueA published D-value for a spoilage spore is 4 minutes at 110 °C, and its z-value is 10 C°. A new schedule proposes running the same product at 130 °C instead. Determine the D-value at the higher temperature.

117. The F-valueAn open boiling-water bath holds the product at 101.1 °C for 500 minutes at the cold spot. Score the hold against the F₀ convention: reference 121.1 °C, z = 10 C°. Calculate the F₀ that hold delivers.

118. The F-valueA process specification calls for 6 minutes of F₀ against the usual convention — reference 121.1 °C, z = 10 C°. The equipment can hold 131.1 °C at the cold spot, and the come-up and cool-down have already been accounted for separately. Determine the real hold time still owed at that temperature.

119. Hotter or longerA hold currently runs 20 minutes at 120 °C and delivers exactly the reduction the specification asks for. The target organism has a z-value of 10 C°. Engineering proposes running the same product at 130 °C instead. Determine the hold time that delivers the same lethality at the higher temperature.

120. Hotter or longerAn aseptic line must deliver 6 minutes of F₀ (reference 121.1 °C, z = 10 C°). The sterilizer will hold 131.1 °C, and the existing hold tube gives 45 seconds of residence at production flow. Determine whether the existing hold tube can deliver the specified process at that temperature.

121. The Retort RunLast cook of the shift, and the calculator is away. A low-acid pack carries 1,000 spoilage spores per can, and the process specification allows no more than one surviving spore in 1,000 cans. The spore's D-value at the reference temperature of 121.1 °C is 2 minutes, and its z-value is 10 C°. The cook runs in a low-temperature retort chosen to protect the texture of the pack holding 111.1 °C at the cold spot, and the vessel is booked for 72 minutes of hold. Work each line; every answer feeds the next. Determine whether the booked hold delivers the specified process, one line at a time.

122. The Retort RunBonus mark, on the way out. The process authority wants one more log of reduction written into the same cook — the same spore, D of 1 minute at 121.1 °C, z of 10 C°, the same vessel holding 131.1 °C. Determine the extra real hold time that one additional log costs at the vessel's temperature.

Answer key

  1. 1000 mol
  2. 0.5 mol
  3. 625 mol
  4. 1000 mol
  5. 50 mL
  6. 0.1 mol/L
  7. 123.1 mol
  8. 22.4 m³
  9. 92 %
  10. 48 %
  11. 0.08 mol/L
  12. 0.2 eq/L
  13. 1000 mol
  14. 600 kg
  15. 3.3 mg/L
  16. 2.8 mg/L
  17. 62.55 lb/day
  18. 8 mg/L
  19. 1.6 kg
  20. 130 mg/L
  21. 7.6 mg/L
  22. 4 (no unit)
  23. 18 min
  24. 12 mg·min/L
  25. 3 logs
  26. 99 %
  27. 1.2 mg/L
  28. 2.4 mg/L
  29. 3 mg/L
  30. 1 logs
  31. 30.01 g/eq
  32. 82 mg/L as CaCO₃
  33. 119.8 mg/L as CaCO₃
  34. 14.6 gpg
  35. 100.1 mg/L as CaCO₃
  36. 121.9 mg/L as HCO₃
  37. 325 mg/L
  38. 800 µS/cm
  39. 8000 grains
  40. 3 ft³
  41. 16 lb
  42. 10 lb/ft³
  43. 170 mg/L as CaCO₃
  44. 32 lb
  45. 4 (no unit)
  46. 3 (no unit)
  47. 9 gpm
  48. 4 gpm
  49. 12 °F
  50. 10 °F
  51. 300 g/h
  52. 750 mg/L
  53. 50 m³
  54. 13.86 h
  55. 10 (no unit)
  56. 10 % of feedwater
  57. 70 %
  58. 3000 kg/h
  59. 5 (no unit)
  60. 6 gpm
  61. 7.62 (no unit)
  62. -1 (no unit)
  63. 7 (no unit)
  64. 7.8 (no unit)
  65. 0.49 (no unit)
  66. 4.51 mg/L
  67. 10 mpy
  68. 285.8 mg
  69. 1.497 mm/yr
  70. 323.2 mA/m²
  71. 6 A
  72. 150 mA
  73. 34.99 (no unit)
  74. 5.09 %
  75. -0.7 (no unit)
  76. -0.3 (no unit)
  77. 1200 m³
  78. 2400 m³
  79. 20 m/d
  80. 120 kg/(m²·d)
  81. 35.97 mm/s
  82. 19.65 µm
  83. 10 m/h
  84. 210 m³
  85. 30 mg/L
  86. 13 mg/L
  87. 1668 lb/d
  88. 80 %
  89. 0.2 per day
  90. 12 d
  91. 60 mL/g
  92. 6000 m³/d
  93. 2 h
  94. 30000 people
  95. 3.5 (no unit)
  96. 1.3 mol/m3
  97. 96 kmol/h
  98. 0.02 (no unit)
  99. 4 (no unit)
  100. 2 (no unit)
  101. 14.52 stages
  102. 15 trays
  103. 0.6 (no unit)
  104. 0.3 (no unit)
  105. 2 (no unit)
  106. 4.7 NTU
  107. 4.91 stages
  108. 2 (no unit)
  109. 0.5 (no unit)
  110. 1 (no unit)
  111. 2 min
  112. 4 logs
  113. 4 logs
  114. 4 logs
  115. 8 C°
  116. 0.04 min
  117. 5 min
  118. 0.6 min
  119. 2 min
  120. 36 s
  121. 6 logs
  122. 0.1 min