Arte SheetsLearn. Try. Understand.

Food & Pharmaceutical Powder Stability

GAB Moisture Sorption Isotherm & Monolayer Formula

Calculate Optimal Monolayer Water Activity a_w0 = 1 / (K * (1 + SQRT(C))), GAB Equilibrium Moisture Content M(a_w) = (M_0*C*K*a_w) / ((1 - K*a_w)*(1 - K*a_w + C*K*a_w)), and Classic BET Bias.

Extend BET sorption isotherms up to aw = 0.90 with the GAB multilayer K factor!

Classic two-parameter Brunauer-Emmett-Teller (BET) adsorption assumes multilayer water molecules above the bound monolayer have identical heat of vaporization to pure bulk liquid water, causing BET predictions to diverge sharply above a_w = 0.45 and explode to infinity at a_w = 1.0! The three-parameter Guggenheim-Anderson-de Boer (GAB) isotherm—recommended by European COST 90 food-engineering standards and USP pharmaceutical excipient monographs—introduces multilayer enthalpy factor K (0 < K <= 1): M(a_w) = (M_0 * C * K * a_w) / ((1 - K * a_w) * (1 - K * a_w + C * K * a_w)), where M_0 is dry-basis Monolayer Moisture (g H2O / g dry solid) and C is the Guggenheim monolayer sorption energy constant! Even better, setting M(a_w0) = M_0 yields the exact closed-form Optimal Shelf-Life Water Activity a_w0 = 1 / (K * (1 + SQRT(C))), where free-radical lipid oxidation (below M_0) and Maillard/caking degradation (above M_0) hit their joint minimum!

Verify on Freeze-Dried Powder Monolayer M_0 = 0.0600 g/g dry solid (6.0%, B2), Guggenheim_Constant C = 16.0 (B3), Multilayer_Factor K = 0.80 (B4), and Ambient_Humidity a_w = 0.50 (B5): Optimal Monolayer Water Activity is 1 / (0.80 * (1 + 4)) = 0.2500 (E2); GAB Equilibrium Moisture at a_w = 0.50 is (0.06 * 16 * 0.40) / (0.60 * 7.00) = 0.384 / 4.20 = 0.0914 g/g (E3); whereas unadjusted BET (K = 1) falsely predicts 0.48 / 4.25 = 0.1129 g/g (E4, overpredicting moisture pickup by +23.5%)! Test setting a_w = 0.25 in cell B5: GAB Equilibrium Moisture evaluates to 0.0600 = M_0 and triggers "Optimal Monolayer Stability (aw = aw0)" (E5)!

GAB Lyophilized Stability Metric (M0=0.06, C=16, K=0.80, Ambient aw=0.50)FormulaVerified Output
Optimal Monolayer Activity a_w01 / (K * (1 + SQRT(C)))0.2500 (M(0.25) = 0.0600 = M_0)
GAB Equilibrium Moisture M(a_w)(M0*C*K*aw) / ((1-K*aw)*(1-K*aw+C*K*aw))0.0914 g H2O / g dry solid
Unadjusted BET Moisture (K = 1)(M0*C*aw) / ((1-aw)*(1-aw+C*aw))0.1129 g H2O / g (+23.5% Bias)
Powder Sorption Stability ZoneCompare a_w vs Monolayer a_w0Hygroscopic Multilayer Zone (aw > aw0)

Three-Parameter GAB Sorption Isotherm Formula

Validate M_0 > 0, C > 0, 0 < K <= 1, and 0 < a_w < 1 (when K = 1, GAB reduces identically to BET)!

=LET(m_mn, B2, c_gb, B3, k_gb, B4, a_wt, B5, IF(OR(m_mn <= 0, c_gb <= 0, k_gb <= 0, k_gb > 1, a_wt <= 0, a_wt >= 1), "Invalid GAB Isotherm Input", LET(k_aw, k_gb * a_wt, ROUND((m_mn * c_gb * k_aw) / ((1 - k_aw) * (1 - k_aw + c_gb * k_aw)), 4))))

Monolayer Oxidation vs Multilayer Caking Zone Formula

Compare storage humidity a_w against a_w0 = 1 / (K * (1 + SQRT(C))) within 0.0001 tolerance!

=IF(ISTEXT(E3), E3, IF(ABS(B5 - E2) < 0.0001, "Optimal Monolayer Stability (aw = aw0)", IF(B5 < E2, "Over-Dried Oxidation Risk (aw < aw0)", "Hygroscopic Multilayer Zone (aw > aw0)")))

Try the example

Use the original values or change them to test your understanding.

Further reading