thermo.solubility module

thermo.solubility.solubility_parameter(T=298.15, Hvapm=None, Vml=None, CASRN='', AvailableMethods=False, Method=None)[source]

This function handles the calculation of a chemical’s solubility parameter. Calculation is a function of temperature, but is not always presented as such. No lookup values are available; either Hvapm, Vml, and T are provided or the calculation cannot be performed.

\[\delta = \sqrt{\frac{\Delta H_{vap} - RT}{V_m}}\]
Parameters:

T : float

Temperature of the fluid [k]

Hvapm : float

Heat of vaporization [J/mol/K]

Vml : float

Specific volume of the liquid [m^3/mol]

CASRN : str, optional

CASRN of the fluid, not currently used [-]

Returns:

delta : float

Solubility parameter, [Pa^0.5]

methods : list, only returned if AvailableMethods == True

List of methods which can be used to obtain the solubility parameter with the given inputs

Other Parameters:
 

Method : string, optional

A string for the method name to use, as defined by constants in solubility_parameter_methods

AvailableMethods : bool, optional

If True, function will determine which methods can be used to obtain the solubility parameter for the desired chemical, and will return methods instead of the solubility parameter

Notes

Undefined past the critical point. For convenience, if Hvap is not defined, an error is not raised; None is returned instead. Also for convenience, if Hvapm is less than RT, None is returned to avoid taking the root of a negative number.

This parameter is often given in units of cal/ml, which is 2045.48 times smaller than the value returned here.

References

[R11021104]Barton, Allan F. M. CRC Handbook of Solubility Parameters and Other Cohesion Parameters, Second Edition. CRC Press, 1991.

Examples

Pentane at STP

>>> solubility_parameter(T=298.2, Hvapm=26403.3, Vml=0.000116055)
14357.681538173534
thermo.solubility.solubility_eutectic(T, Tm, Hm, Cpl=0, Cps=0, gamma=1)[source]

Returns the maximum solubility of a solute in a solvent.

\[ \begin{align}\begin{aligned}\ln x_i^L \gamma_i^L = \frac{\Delta H_{m,i}}{RT}\left( 1 - \frac{T}{T_{m,i}}\right) - \frac{\Delta C_{p,i}(T_{m,i}-T)}{RT} + \frac{\Delta C_{p,i}}{R}\ln\frac{T_m}{T}\\\Delta C_{p,i} = C_{p,i}^L - C_{p,i}^S\end{aligned}\end{align} \]
Parameters:

T : float

Temperature of the system [K]

Tm : float

Melting temperature of the solute [K]

Hm : float

Heat of melting at the melting temperature of the solute [J/mol]

Cpl : float, optional

Molar heat capacity of the solute as a liquid [J/mol/K]

Cpls: float, optional

Molar heat capacity of the solute as a solid [J/mol/K]

gamma : float, optional

Activity coefficient of the solute as a liquid [-]

Returns:

x : float

Mole fraction of solute at maximum solubility [-]

Notes

gamma is of the solute in liquid phase

References

[R11031105](1, 2) Gmehling, Jurgen. Chemical Thermodynamics: For Process Simulation. Weinheim, Germany: Wiley-VCH, 2012.

Examples

From [R11031105], matching example

>>> solubility_eutectic(T=260., Tm=278.68, Hm=9952., Cpl=0, Cps=0, gamma=3.0176)
0.24340068761677464
thermo.solubility.Tm_depression_eutectic(Tm, Hm, x=None, M=None, MW=None)[source]

Returns the freezing point depression caused by a solute in a solvent. Can use either the mole fraction of the solute or its molality and the molecular weight of the solvent. Assumes ideal system behavior.

\[ \begin{align}\begin{aligned}\Delta T_m = \frac{R T_m^2 x}{\Delta H_m}\\\Delta T_m = \frac{R T_m^2 (MW) M}{1000 \Delta H_m}\end{aligned}\end{align} \]
Parameters:

Tm : float

Melting temperature of the solute [K]

Hm : float

Heat of melting at the melting temperature of the solute [J/mol]

x : float, optional

Mole fraction of the solute [-]

M : float, optional

Molality [mol/kg]

MW: float, optional

Molecular weight of the solvent [g/mol]

Returns:

dTm : float

Freezing point depression [K]

Notes

MW is the molecular weight of the solvent. M is the molality of the solute.

References

[R11041106](1, 2) Gmehling, Jurgen. Chemical Thermodynamics: For Process Simulation. Weinheim, Germany: Wiley-VCH, 2012.

Examples

From [R11041106], matching example.

>>> Tm_depression_eutectic(353.35, 19110, .02)
1.0864594900639515