soapformulator
ZH-TW
參考資料

每一條公式及其出處

計算器只是建立在一個小型開放公式庫上的薄薄一層。本頁就是把這個公式庫完整寫出來。慣例會標明為慣例;常數皆附來源。

本頁內容

皂化與鹼

SAP_NaOH (mg/g) = SAP_KOH × 39.997 ÷ 56.106                # molar masses, IUPAC 2013
KOH_100 (g)     = Σ oilᵢ (g) × SAP_KOHᵢ ÷ 1000               # SAP defined as mg KOH per g fat
KOH_sf          = KOH_100 × (1 − superfat ÷ 100)
NaOH to weigh   = KOH_sf × (1 − f_KOH) × 39.997 ÷ 56.106 ÷ (purity_NaOH ÷ 100)
KOH to weigh    = KOH_sf × f_KOH ÷ (purity_KOH ÷ 100)
superfat from a given lye = (1 − lye_supplied_KOHeq ÷ KOH_100) × 100

水量的三種算法與預製鹼水

water = oils × p ÷ 100                    # p = water as % of oils (38 is the old default)
water = lye × (100 − c) ÷ c               # c = lye concentration % (33 is our default)
water = lye × r                           # r = water : lye ratio
c = lye ÷ (lye + water) × 100;  r = water ÷ lye;  p = water ÷ oils × 100

Master batch at strength s %:
solution = lye ÷ (s ÷ 100);  water_in = solution − lye;  water_add = water − water_in

Liquids replacing water:
plain water = max(0, water − Σ liquidᵢ × water%ᵢ ÷ 100)
  • Dunn, Kevin M. Scientific Soapmaking: The Chemistry of the Cold Process. Clavicula Press, 2010. Lye solution concentration and its effect on trace and gel.
  • Community convention: "full water" = 38 % of oil weight, the default that most hobby calculators have used since the 2000s; roughly a 27–28 % lye solution for a typical bar recipe. — A convention, not a chemical constant. Lye concentration is the better control variable because it does not drift with the oil blend.

酸類與含油液體

NaOH consumed (g) = mass × purity × n × 39.997 ÷ M_acid
  citric acid (anhydrous, triprotic, M 192.124):  0.6246 g NaOH per g   (0.8760 g KOH)
  citric acid monohydrate (M 210.139):            0.5710
  acetic acid (M 60.052):                         0.6660   → 5 % vinegar: 0.0333 per g
  lactic acid (M 90.078):                         0.4440
effective superfat = (oils × sf ÷ 100 + fat from milks) ÷ (oils + fat from milks) × 100

由組成推算皂化價

M̄_fatty acid   = Σ wᵢ ÷ Σ(wᵢ ÷ Mᵢ)             # wᵢ = mass % of each acid: the number average
M_triglyceride = 3 × M̄_fatty acid + 38.049     # glycerol 92.094 less three waters
SAP (mg KOH/g) = 3 × 56 106 ÷ M_triglyceride    # three KOH per triglyceride

free fatty acids (stearic acid, lauric acid and the like) take one KOH each:
SAP = 56 106 ÷ M̄_fatty acid

Validated on the 36 Codex oils where the saponification range and the
fatty-acid ranges come from the same standard:
  median absolute error  0.84 %
  90th percentile        2.44 %
  worst                  3.57 %
  bias                  +0.55 %   # high: unsaponifiable matter
A derived value therefore carries a ±3 % band, and is offered only where the
published profile sums to between 95 % and 115 %.

公開資料能把鹼量確定到什麼程度

KOH_low  = Σ(oilᵢ × SAP_minᵢ ÷ 1000)       # every oil at the bottom of its published range
KOH_high = Σ(oilᵢ × SAP_maxᵢ ÷ 1000)       # ...and at the top
KOH_mid  = Σ(oilᵢ × SAP_repᵢ ÷ 1000)       # what the lye is actually weighed from

supplied (as KOH equivalent) = KOH_mid × (1 − sf ÷ 100)

superfat actually achieved:
  worst case = (1 − supplied ÷ KOH_low)  × 100   # fat needs LESS lye than was weighed
  best case  = (1 − supplied ÷ KOH_high) × 100   # fat needs MORE, so more is left unsaponified

smallest nominal superfat whose worst case clears a floor f:
  sf ≥ (1 − (1 − f) × KOH_low ÷ KOH_mid) × 100

脂肪酸組成、皂性指標、碘價與 INS 值

profile = Σ (oilᵢ ÷ total oils) × fatty acidsᵢ           # mass-weighted percent
hardness     = lauric + myristic + palmitic + stearic        (29–54)
cleansing    = lauric + myristic                             (12–22)
conditioning = oleic + linoleic + linolenic + ricinoleic     (44–69)
bubbly       = lauric + myristic + ricinoleic                (14–46)
creamy       = palmitic + stearic + ricinoleic               (16–48)
iodine value = Σ wᵢ × IVᵢ                                    (41–70)
INS          = Σ wᵢ × (SAP_KOHᵢ − IVᵢ)                       (136–165, ideal 160)
  • Community convention for soap qualities, in continuous use in hobby lye calculators since c. 2005: hardness = lauric + myristic + palmitic + stearic; cleansing = lauric + myristic; conditioning = oleic + linoleic + linolenic + ricinoleic; bubbly lather = lauric + myristic + ricinoleic; creamy lather = palmitic + stearic + ricinoleic. Recommended bands: hardness 29–54, cleansing 12–22, conditioning 44–69, bubbly 14–46, creamy 16–48, and iodine value 41–70. — A convention, not a measurement. It ignores superfat, water, cure and additives, and treats every fatty acid in a group as equal. The iodine value itself is measured (AOCS Cd 1-25); the 41–70 band beside it belongs to this convention, not to the method.
  • AOCS Official Method Cd 1-25, "Iodine Value of Fats and Oils, Wijs Method". g I₂ absorbed per 100 g of fat; a measure of unsaturation.
  • McDaniel, Robert S. Essentially Soap. Krause Publications, 2000. INS = saponification value (mg KOH/g) − iodine value; recommended range 136–165, ideal 160.

香氛添加比例、IFRA 與過敏原

f = oils × p ÷ 100                          # p = % of oils (PPO)
f = base × p ÷ (100 − p)                    # p = % of finished batch; base = everything but fragrance
% of finished product = f ÷ (base + f) × 100 ≤ certificate maximum for the product's IFRA category
blends (conservative): Σ loadᵢ ÷ maxᵢ ≤ 1
allergen % in product = Σ (fragrance % × allergen % in fragrance ÷ 100) ÷ (1 − cure mass loss)
declare if > 0.001 % leave-on, > 0.01 % rinse-off
suggested on a pick: 3 % of oils, or less to stay under the maximum: f = min(oils × 0.03, base × M ÷ (100 − M))

皂模尺寸計算

V (mL) = l × w × h  |  π (d ÷ 2)² h  |  cavities × volume each     # 1 in³ = 16.387064 mL
batch (g) = V × ρ × fill                                        # ρ ≈ 1.0 g/mL, calibrate
oils = batch ÷ (1 + lye/oil + water/oil + additives/oil + fragrance/oil)
for comparison: the "in³ × 0.4 oz" rule assumes full water and 5 % superfat
  • Volume of a rectangular prism V = l × w × h; of a cylinder V = π × (d ÷ 2)² × h. 1 in³ = 16.387064 mL.
  • Empirical default. Fresh cold-process soap batter has a density close to water, ≈ 0.95–1.0 g/mL; the community rule "in³ × 0.4 = oz of oils" implies about 0.69 g/mL of oils, which is ≈ 1.05 g/mL of batter at 38 % water and 5 % superfat. Calibrate by weighing a filled mold once. — Density varies with whipping, fragrance, temperature and how full the mold is poured. Treat the default as a starting point and calibrate.

液體皂稀釋

solids = oils + pure KOH                 # mass is conserved in saponification
paste concentration = solids ÷ paste × 100
water to add = solids ÷ (target ÷ 100) − paste
  • Conservation of mass in saponification: the soap and glycerol formed weigh exactly what the fat and hydroxide weighed. Solids in a paste are therefore taken as oils + pure lye; the remainder is water.
  • Failor, Catherine. Making Natural Liquid Soaps. Storey Publishing, 2000. Paste method, dilution ratios and sequestering.

推算的皂化價從何而來

資料庫中有40種油脂,在我們能使用的任何原始文件中都沒有皂化價。我們沒有把它們排除在計算器之外,也沒有憑空編造數字,而是依該油脂本身實測的脂肪酸組成計算。這不是猜測:3莫耳的氫氧化物可皂化1莫耳的三酸甘油酯,而三酸甘油酯的莫耳質量取決於其中脂肪酸的碳鏈長度。組成決定了這個數值。

問題在於它有多準確,而這是可以衡量的。公平的檢驗方式是資料庫中的 Codex 子集:36種具名油脂,其皂化價範圍與脂肪酸範圍皆由同一機構針對同一原料發表。以這些油脂比對,此方法的絕對誤差中位數為0.84%,第90百分位數為2.44%,最差情況為3.57%。結果略為偏高,平均高出0.55%:因為它假設油脂是純脂肪,而未精製油含有少量不皂化物,會使實測值偏低。偏高是鹼量偏多的方向,而推算值所附的範圍已涵蓋這部分。同一資料庫中公開發表範圍的中位數為其中心值的 ±2.9%,所以推算值的確定程度,與從標準中查到的數值大致相當。

若與資料庫其餘部分比對,表面上的誤差會較大:中位數為1.7%,最差情況為22%。這並不是方法失準。差異最大的,正是一致性檢查早已標記為內部矛盾的那些紀錄:公開發表的皂化價旁邊,是一個不可能產生該數值的組成。拿這些紀錄來比較,會把方法誤差與資料誤差混為一談,所以驗證只使用 Codex 子集。

每個推算值不論出現在哪裡,都會標示為推算值,並在不確定性面板中帶有 ±3% 的範圍;一旦你輸入自己原料批號的實測值,推算值就會完全捨棄不用。

為什麼鹼量帶有範圍

皂化價不是常數。Codex 給椰子油的皂化價是248–265 mg KOH/g,因為油脂確實會隨產地、季節與精製程度而不同。每個手工皂計算器都把這點藏起來,只印出一個精確到小數點後一位的數字,這是假精確:這個數字看起來像是你那瓶油的實測值,其實是別人調查結果的中間值。

把這個範圍一路帶進計算,它最後落在最要緊的那個數字上。超脂是溫和的皂與具腐蝕性的皂之間的緩衝,而被不確定性吃掉的正是這一部分。一份用一般橄欖油與椰子油、設定3%超脂的配方,實際上可能落在−0.2%到6%之間的任何位置,而負值那一端就是鹼過量的皂。這不是不信任計算的理由;這正是手工皂界習慣把超脂定在5%左右的原因,而據我們所知,從來沒有任何計算器把這個習慣背後的推算過程呈現出來。

讓每種油脂同時取其範圍的同一端,得到的是上下限,而不是信賴區間。不同原料批號之間並非完全同步變動,所以實際可能的差距會更窄,而這個計算也無法告訴你任一端出現的機率有多高。唯一能讓範圍收斂的是實測:輸入你那批原料分析證明書上的皂化價,那種油脂就完全不再帶來任何不確定性。

標明為慣例的慣例

五項「皂性指標」是把脂肪酸分組加總,再與業餘計算器自2000年代中期沿用至今的區間比較。它們適合用來比較配方,卻無法預測實際做出來的皂:它們忽略超脂、水量、晾皂、添加物與製程,也把同一組裡的每種脂肪酸視為相同。38%的「全水量」預設值與「× 0.4」皂模規則是習慣,不是化學。我們把這些全部精確地照原樣實作,因為皂友就是用這套語言在比較,同時我們也會說明它們是什麼。

有新功能上線時通知我

有新功能上線時,寄一封簡短通知給你。不是電子報,不推銷任何東西,一鍵即可取消。