Closed sarangbhagwat closed 3 years ago
Thanks for asking! This is actually a result of activity coefficients. At low temperatures, non-idealities become less significant and activity coefficients approach 1. So this increases solubility as temperatures decrease. You might want to double check with experimental data to verify the accuracy of this prediction.
Also, a couple of notes:
*If you go at too low temperatures (e.g 193 K), chemical properties may be inaccurate. So I evaluate starting T=283 in the example.
from thermosteam import indexer, equilibrium, settings
imol = indexer.MolarFlowIndexer(l=[('Triacetic acid lactone', 30), ('Water', 1000)], phases=('s', 'l'))
sle = equilibrium.SLE(imol)
def get_solubility(T):
sle('Triacetic acid lactone', T=T)
return sle.imol['l', 'Triacetic acid lactone'] / sle.imol['Triacetic acid lactone']
Ts = [283 + 10 * i for i in range(30)]
print('T' + 3*' ' + 'solubility')
for T in Ts:
print(T, get_solubility(T))
T solubility
283 0.4519957177476145
293 0.3248377690872403
303 0.24983476346190198
313 0.2010369285390943
323 0.16745507219739286
333 0.14351998679706587
343 0.12609088766787183
353 0.11326822751010779
363 0.1038478888802174
373 0.09704370788562734
383 0.09233606895371384
393 0.08938530729531985
403 0.08798112729266495
413 0.08801372355974119
423 0.08945943329423467
433 0.09237777059012608
443 0.09691954631892778
453 0.10334869761343447
463 0.11208482888283494
473 0.12378197490822472
483 0.13947863538336552
493 0.16088988099137885
503 0.19112377518388746
513 0.23650692458862585
523 0.31321600034380453
533 0.4945337786230477
543 1.0
553 1.0
563 1.0
573 1.0
Describe the bug The solubility of a triacetic acid lactone in water, calculated through SLE, first decreases and then increases with increase in temperature. Additionally, the changes in solubility are very sharp at certain points.
To Reproduce
Expected behavior If the heat given off in the dissolving reaction is less than the heat required to break apart the solid, the net dissolving reaction is endothermic and solubility increases with temperature; if the opposite is true, solubility decreases with temperature. I don't think the trend changes at different temperature ranges.
Actual behavior SLE(imol=MolarFlowIndexer(phases=('l', 's'), l=[('H2O', 1000), ('Triacetic acid lactone', 304)]), thermal_condition=ThermalCondition(T=193.15, P=101325))
SLE(imol=MolarFlowIndexer(phases=('l', 's'), l=[('H2O', 1000), ('Triacetic acid lactone', 304)]), thermal_condition=ThermalCondition(T=293.15, P=101325))
SLE(imol=MolarFlowIndexer( l=[('H2O', 1000), ('Triacetic acid lactone', 8.457)], s=[('Triacetic acid lactone', 295.5)]), thermal_condition=ThermalCondition(T=298.15, P=101325))
SLE(imol=MolarFlowIndexer(phases=('l', 's'), l=[('H2O', 1000), ('Triacetic acid lactone', 304)]), thermal_condition=ThermalCondition(T=450.00, P=101325))
Version Latest github master version as of 8:56 PM, 11/7/2020.