Interfacial/Surface Tension (thermo.interface)¶
This module contains implementations of TDependentProperty
representing liquid-air surface tension. A variety of estimation
and data methods are available as included in the chemicals library.
Additionally a liquid mixture surface tension predictor objects
are implemented subclassing MixtureProperty.
For reporting bugs, adding feature requests, or submitting pull requests, please use the GitHub issue tracker.
Pure Liquid Surface Tension¶
- class thermo.interface.SurfaceTension(MW=None, Tb=None, Tc=None, Pc=None, Vc=None, Zc=None, omega=None, StielPolar=None, Hvap_Tb=None, CASRN='', Vml=None, Cpl=None, extrapolation='DIPPR106_AB', **kwargs)[source]¶
Bases:
TDependentPropertyClass for dealing with surface tension as a function of temperature. Consists of three coefficient-based methods and four data sources, one source of tabular information, five corresponding-states estimators, and one substance-specific method.
- Parameters:
- Tb
float,optional Boiling point, [K]
- MW
float,optional Molecular weight, [g/mol]
- Tc
float,optional Critical temperature, [K]
- Pc
float,optional Critical pressure, [Pa]
- Vc
float,optional Critical volume, [m^3/mol]
- Zc
float,optional Critical compressibility
- omega
float,optional Acentric factor, [-]
- StielPolar
float,optional Stiel polar factor
- Hvap_Tb
float Mass enthalpy of vaporization at the normal boiling point [kg/m^3]
- CASRN
str,optional The CAS number of the chemical
- Vml
floatorcallable,optional Liquid molar volume at a given temperature and pressure or callable for the same, [m^3/mol]
- Cpl
floatorcallable,optional Molar heat capacity of the fluid at a pressure and temperature or or callable for the same, [J/mol/K]
- load_databool,
optional If False, do not load property coefficients from data sources in files [-]
- extrapolation
strorNone None to not extrapolate; see
TDependentPropertyfor a full list of all options, [-]- method
strorNone,optional If specified, use this method by default and do not use the ranked sorting; an exception is raised if this is not a valid method for the provided inputs, [-]
- Tb
Methods
calculate(T, method)Method to calculate surface tension of a liquid at temperature T with a given method.
test_method_validity(T, method)Method to test the validity of a specified method for a given temperature.
See also
Notes
To iterate over all methods, use the list stored in
surface_tension_methods.- IAPWS_SIGMA:
The IAPWS formulation for water,
REFPROP_sigma- STREFPROP:
The REFPROP coefficient-based method, documented in the function
REFPROP_sigmafor 115 fluids from [5].- SOMAYAJULU and SOMAYAJULU2:
The Somayajulu coefficient-based method, documented in the function
Somayajulu. Both methods have data for 64 fluids. The first data set if from [1], and the second from [2]. The later, revised coefficients should be used prefered.- JASPER:
Fit with a single temperature coefficient from Jaspen (1972) as documented in the function
Jasper. Data for 522 fluids is available, as shown in [4] but originally in [3].- BROCK_BIRD:
CSP method documented in
Brock_Bird. Most popular estimation method; from 1955.- SASTRI_RAO:
CSP method documented in
Sastri_Rao. Second most popular estimation method; from 1995.- PITZER_SIGMA:
CSP method documented in
Pitzer_sigma; from 1958.- ZUO_STENBY:
CSP method documented in
Zuo_Stenby; from 1997.- MIQUEU:
CSP method documented in
Miqueu.- ALEEM:
CSP method documented in
Aleem.- VDI_TABULAR:
Tabular data in [6] along the saturation curve; interpolation is as set by the user or the default.
- REFPROP_FIT:
A series of higher-order polynomial fits to the calculated results from the equations implemented in REFPROP.
References
[1]Somayajulu, G. R. “A Generalized Equation for Surface Tension from the Triple Point to the Critical Point.” International Journal of Thermophysics 9, no. 4 (July 1988): 559-66. doi:10.1007/BF00503154.
[2]Mulero, A., M. I. Parra, and I. Cachadina. “The Somayajulu Correlation for the Surface Tension Revisited.” Fluid Phase Equilibria 339 (February 15, 2013): 81-88. doi:10.1016/j.fluid.2012.11.038.
[3]Jasper, Joseph J. “The Surface Tension of Pure Liquid Compounds.” Journal of Physical and Chemical Reference Data 1, no. 4 (October 1, 1972): 841-1010. doi:10.1063/1.3253106.
[4]Speight, James. Lange’s Handbook of Chemistry. 16 edition. McGraw-Hill Professional, 2005.
[5]Mulero, A., I. Cachadiña, and M. I. Parra. “Recommended Correlations for the Surface Tension of Common Fluids.” Journal of Physical and Chemical Reference Data 41, no. 4 (December 1, 2012): 043105. doi:10.1063/1.4768782.
[6]Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
- calculate(T, method)[source]¶
Method to calculate surface tension of a liquid at temperature T with a given method.
This method has no exception handling; see
T_dependent_propertyfor that.
- name = 'Surface tension'¶
- property_max = 4.0¶
Maximum valid value of surface tension. Set to roughly twice that of cobalt at its melting point.
- property_min = 0¶
Mimimum valid value of surface tension. This occurs at the critical point exactly.
- ranked_methods = ['IAPWS_SIGMA', 'REFPROP_FIT', 'REFPROP', 'SOMAYAJULU2', 'SOMAYAJULU', 'VDI_PPDS', 'VDI_TABULAR', 'JASPER', 'MIQUEU', 'BROCK_BIRD', 'SASTRI_RAO', 'PITZER_SIGMA', 'ZUO_STENBY', 'Aleem']¶
Default rankings of the available methods.
- test_method_validity(T, method)¶
Method to test the validity of a specified method for a given temperature. Demo function for testing only; must be implemented according to the methods available for each individual method. Include the interpolation check here.
- units = 'N/m'¶
- thermo.interface.surface_tension_methods = ['IAPWS_SIGMA', 'REFPROP_FIT', 'REFPROP', 'SOMAYAJULU2', 'SOMAYAJULU', 'VDI_PPDS', 'VDI_TABULAR', 'JASPER', 'MIQUEU', 'BROCK_BIRD', 'SASTRI_RAO', 'PITZER_SIGMA', 'ZUO_STENBY', 'Aleem']¶
Holds all methods available for the
SurfaceTensionclass, for use in iterating over them.
Mixture Surface Tension¶
- class thermo.interface.SurfaceTensionMixture(MWs=[], Tbs=[], Tcs=[], CASs=[], SurfaceTensions=[], VolumeLiquids=[], correct_pressure_pure=False, load_data=True, **kwargs)[source]¶
Bases:
MixturePropertyClass for dealing with surface tension of a mixture as a function of temperature, pressure, and composition. Consists of two mixing rules specific to surface tension, and mole weighted averaging.
Prefered method is
Winterfeld_Scriven_Daviswhich requires mole fractions, pure component surface tensions, and the molar density of each pure component.Diguilio_Tejais of similar accuracy, but requires the surface tensions of pure components at their boiling points, as well as boiling points and critical points and mole fractions. An ideal mixing rule based on mole fractions, LINEAR, is also available and is still relatively accurate.- Parameters:
- MWs
list[float],optional Molecular weights of all species in the mixture, [g/mol]
- Tbs
list[float],optional Boiling points of all species in the mixture, [K]
- Tcs
list[float],optional Critical temperatures of all species in the mixture, [K]
- CASs
list[str],optional The CAS numbers of all species in the mixture, [-]
- SurfaceTensions
list[SurfaceTension],optional SurfaceTension objects created for all species in the mixture [-]
- VolumeLiquids
list[VolumeLiquid],optional VolumeLiquid objects created for all species in the mixture [-]
- correct_pressure_purebool,
optional Whether to try to use the better pressure-corrected pure component models or to use only the T-only dependent pure species models, [-]
- load_databool,
optional If False, do not load property coefficients from data sources in files [-]
- MWs
Methods
calculate(T, P, zs, ws, method)Method to calculate surface tension of a liquid mixture at temperature T, pressure P, mole fractions zs and weight fractions ws with a given method.
test_method_validity(T, P, zs, ws, method)Method to test the validity of a specified method for the given conditions.
Notes
To iterate over all methods, use the list stored in
surface_tension_mixture_methods.- WINTERFELDSCRIVENDAVIS:
Mixing rule described in
Winterfeld_Scriven_Davis.- DIGUILIOTEJA:
Mixing rule described in
Diguilio_Teja.- LINEAR:
Mixing rule described in
mixing_simple.
References
[1]Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
- Tmax¶
Maximum temperature at which no method can calculate the property above.
- Tmin¶
Minimum temperature at which no method can calculate the property under.
- calculate(T, P, zs, ws, method)[source]¶
Method to calculate surface tension of a liquid mixture at temperature T, pressure P, mole fractions zs and weight fractions ws with a given method.
This method has no exception handling; see
mixture_propertyfor that.- Parameters:
- Returns:
- sigma
float Surface tension of the liquid at given conditions, [N/m]
- sigma
- name = 'Surface tension'¶
- property_max = 4.0¶
Maximum valid value of surface tension. Set to roughly twice that of cobalt at its melting point.
- property_min = 0¶
Mimimum valid value of surface tension. This occurs at the critical point exactly.
- ranked_methods = ['Winterfeld, Scriven, and Davis (1978)', 'Diguilio and Teja (1988)', 'LINEAR']¶
- test_method_validity(T, P, zs, ws, method)[source]¶
Method to test the validity of a specified method for the given conditions.
- Parameters:
- Returns:
- validitybool
Whether or not a specifid method is valid
- units = 'N/m'¶
- thermo.interface.surface_tension_mixture_methods = ['Winterfeld, Scriven, and Davis (1978)', 'Diguilio and Teja (1988)', 'LINEAR']¶
Holds all methods available for the
SurfaceTensionMixtureclass, for use in iterating over them.