#! /usr/bin/gawk -f # Last edited on 2018-01-27 06:11:10 by jstolfi function fill_water_solubility_table_Al2SO43() \ { # Fills the global table {g_w} with water solubility (g in 100 g) # of "Al2(SO4)3", "Al2(SO4)3(H2O)16", and "Al2(SO4)3(H2O)18". g_w["Al2(SO4)3", 0] = 31.2; g_w["Al2(SO4)3", 20] = 36.4; g_w["Al2(SO4)3", 100] = 89.0; compute_g_w_hydrated("Al2(SO4)16", 16); compute_g_w_hydrated("Al2(SO4)18", 18); } # http://hydro-land.com/e/ligne-en/doc/Aluminium-Sulfate.html # 254 = 0 # 164 = 500 # 70 = 1000 # # 0.0 197 31.0 # 10.0 195 32.1 # 12.5 194 32.6 # 15.0 192 33.7 # 17.5 190 34.8 # 20.0 188 35.9 # 30.0 176 42.4 # 40.0 164 48.9 # 50.0 152 55.4 # 60.0 140 62.0 # 70.0 128 68.5 # 80.0 116 75.0 # 90.0 103 82.1 # 100.0 92 88.0 # # gawk '/[0-9]/{ t=$1; y=$2; g=100*(y-254)/(70-254); printf "%5.1f %3d %5.1f\n", t, y, g; }' # # http://periodic-table-of-elements.org/SOLUBILITY/aluminum_sulfate 0 C = 273.15 K # The temperatures seem to be wrong. In parentheses are the temperatures # computed from the solubilities. # 0 37.9 (23.75) # 10 38.1 (24.25) # 25 38.5 (25.25) # 30 38.9 (26.25) # 40 40.4 (30.00) # 60 44.9 (38.33) # 70 48.8 (44.50) # 100 89.0 (100.0) # # Mass of 1 mole anhydrous = {M} = 342.140 g. # Mass of {n} moles of water = {W} = {n*18.015} g. # Mass of 1 mol of {n}-hydrate = {H} = {M + W} g. # Thus 1 g of {n}-hydrate contains {M/H} grams of anhyd. and {W/H} grams of water. # Assuming {g} grams of {n}-hydrate saturate 100 grams of water, # then {g*M/H} grams of anhyd saturates {100 + g*W/H} grams of water. # # gawk ' # BEGIN { # n = 16; # M = 342.140; # W = n*18.015; # H = M + W; # } # /[0-9]/{ # t=$1; g=$2; # ga = g*M/H; # gw = 100 + g*W/H; # gs = 100*ga/gw; # printf "%6d %8.1f %8.1f\n", t, g, gs; # } # ' # # https://www.chemicalbook.com/ChemicalProductProperty_EN_CB8435192.htm # First set # 37.9 at 0 C, 38.1 at 10 C, 38.5 at 25 C, 38.9 at 30 C, 40.4 at 40 C,44.9 at 60 C, 48.8 at 70 C, 89 at 100 C # Wrong like that Russian site # # https://www.chemicalbook.com/ChemicalProductProperty_EN_CB8435192.htm # Second set # 0 31.2 # 10 33.5 # 20 36.4 # 30 40.4 # 40 45.8 # 60 59.2 # 80 73.0 # 90 80.8 # 100 89.0