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:
thermo.utils.t_dependent_property.TDependentProperty
Class 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
- Tbfloat, optional
Boiling point, [K]
- MWfloat, optional
Molecular weight, [g/mol]
- Tcfloat, optional
Critical temperature, [K]
- Pcfloat, optional
Critical pressure, [Pa]
- Vcfloat, optional
Critical volume, [m^3/mol]
- Zcfloat, optional
Critical compressibility
- omegafloat, optional
Acentric factor, [-]
- StielPolarfloat, optional
Stiel polar factor
- Hvap_Tbfloat
Mass enthalpy of vaporization at the normal boiling point [kg/m^3]
- CASRNstr, optional
The CAS number of the chemical
- Vmlfloat or callable, optional
Liquid molar volume at a given temperature and pressure or callable for the same, [m^3/mol]
- Cplfloat or callable, 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 [-]
- extrapolationstr or None
None to not extrapolate; see
TDependentProperty
for a full list of all options, [-]- methodstr or None, 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, [-]
See also
Notes
To iterate over all methods, use the list stored in
surface_tension_methods
.- IAPWS:
The IAPWS formulation for water,
REFPROP_sigma
- STREFPROP:
The REFPROP coefficient-based method, documented in the function
REFPROP_sigma
for 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:
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.
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 check the validity of a method.
- 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_property
for that.- Parameters
- Tfloat
Temperature at which to calculate surface tension, [K]
- methodstr
Name of the method to use
- Returns
- sigmafloat
Surface tension of the liquid at T, [N/m]
- 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', 'REFPROP_FIT', 'REFPROP', 'SOMAYAJULU2', 'SOMAYAJULU', 'VDI_PPDS', 'VDI_TABULAR', 'JASPER', 'MIQUEU', 'BROCK_BIRD', 'SASTRI_RAO', 'PITZER', 'ZUO_STENBY', 'Aleem']¶
Default rankings of the available methods.
- test_method_validity(T, method)[source]¶
Method to check the validity of a method. Follows the given ranges for all coefficient-based methods. For CSP methods, the models are considered valid from 0 K to the critical point. For tabular data, extrapolation outside of the range is used if
tabular_extrapolation_permitted
is set; if it is, the extrapolation is considered valid for all temperatures.It is not guaranteed that a method will work or give an accurate prediction simply because this method considers the method valid.
- Parameters
- Tfloat
Temperature at which to test the method, [K]
- methodstr
Name of the method to test
- Returns
- validitybool
Whether or not a method is valid
- units = 'N/m'¶
- thermo.interface.surface_tension_methods = ['IAPWS', 'REFPROP_FIT', 'REFPROP', 'SOMAYAJULU2', 'SOMAYAJULU', 'VDI_PPDS', 'VDI_TABULAR', 'JASPER', 'MIQUEU', 'BROCK_BIRD', 'SASTRI_RAO', 'PITZER', 'ZUO_STENBY', 'Aleem']¶
Holds all methods available for the
SurfaceTension
class, for use in iterating over them.
Mixture Surface Tension¶
- class thermo.interface.SurfaceTensionMixture(MWs=[], Tbs=[], Tcs=[], CASs=[], SurfaceTensions=[], VolumeLiquids=[], correct_pressure_pure=False, **kwargs)[source]¶
Bases:
thermo.utils.mixture_property.MixtureProperty
Class 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_Davis
which requires mole fractions, pure component surface tensions, and the molar density of each pure component.Diguilio_Teja
is 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
- MWslist[float], optional
Molecular weights of all species in the mixture, [g/mol]
- Tbslist[float], optional
Boiling points of all species in the mixture, [K]
- Tcslist[float], optional
Critical temperatures of all species in the mixture, [K]
- CASslist[str], optional
The CAS numbers of all species in the mixture, [-]
- SurfaceTensionslist[SurfaceTension], optional
SurfaceTension objects created for all species in the mixture [-]
- VolumeLiquidslist[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, [-]
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.
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.
- 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_property
for that.- Parameters
- Tfloat
Temperature at which to calculate the property, [K]
- Pfloat
Pressure at which to calculate the property, [Pa]
- zslist[float]
Mole fractions of all species in the mixture, [-]
- wslist[float]
Weight fractions of all species in the mixture, [-]
- methodstr
Name of the method to use
- Returns
- sigmafloat
Surface tension of the liquid at given conditions, [N/m]
- 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
- Tfloat
Temperature at which to check method validity, [K]
- Pfloat
Pressure at which to check method validity, [Pa]
- zslist[float]
Mole fractions of all species in the mixture, [-]
- wslist[float]
Weight fractions of all species in the mixture, [-]
- methodstr
Method name to use
- 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
SurfaceTensionMixture
class, for use in iterating over them.