Thermo: Thermodynamics and Phase Equilibrium component of Chemical Engineering Design Library (ChEDL)¶
Contents:
- Introduction to Cubic Equations of State
- Introduction to Activity Coefficient Models
- Introduction to Property Objects
- Temperature Dependent Properties
- Creating Objects
- Temperature-dependent Methods
- Calculating Properties
- Limits and Extrapolation
- Plotting
- Calculating Temperature From Properties
- Property Derivatives
- Property Integrals
- Using Tabular Data
- Adding New Methods
- Adding New Correlation Coefficient Methods
- Fitting Correlation Coefficients
- Adding New Correlation Coefficient Methods From Data
- Temperature and Pressure Dependent Properties
- Mixture Properties
- Notes
- Temperature Dependent Properties
- Introduction to ChemicalConstantsPackage and PropertyCorrelationsPackage
- Introduction to Phase and Flash Calculations
- Details of GibbsExcessLiquid Phase Model
- API Reference
- Activity Coefficients (thermo.activity)
- Bulk Phases (thermo.bulk)
- Legacy Chemicals (thermo.chemical)
- Chemical Constants and Correlations (thermo.chemical_package)
- Creating Property Datasheets (thermo.datasheet)
- Electrochemistry (thermo.electrochem)
- Cubic Equations of State (thermo.eos)
- Cubic Equations of State for Mixtures (thermo.eos_mix)
- Cubic Equations of State Utilities (thermo.eos_mix_methods)
- Cubic Equations of State Volume Solvers (thermo.eos_volume)
- Cubic Equation of State Alpha Functions (thermo.eos_alpha_functions)
- Equilibrium State (thermo.equilibrium)
- Flash Calculations (thermo.flash)
- Functional Group Identification (thermo.functional_groups)
- Heat Capacity (thermo.heat_capacity)
- Interfacial/Surface Tension (thermo.interface)
- Interaction Parameters (thermo.interaction_parameters)
- Legal and Economic Chemical Data (thermo.law)
- NRTL Gibbs Excess Model (thermo.nrtl)
- Legacy Mixtures (thermo.mixture)
- Permittivity/Dielectric Constant (thermo.permittivity)
- Phase Models (thermo.phases)
- Phase Change Properties (thermo.phase_change)
- Legacy Property Packages (thermo.property_package)
- Phase Identification (thermo.phase_identification)
- Regular Solution Gibbs Excess Model (thermo.regular_solution)
- Streams (thermo.stream)
- Thermal Conductivity (thermo.thermal_conductivity)
- UNIFAC Gibbs Excess Model (thermo.unifac)
- Support for pint Quantities (thermo.units)
- Utilities and Base Classes (thermo.utils)
- Vapor Pressure and Sublimation Pressure (thermo.vapor_pressure)
- Viscosity (thermo.viscosity)
- Density/Volume (thermo.volume)
- Wilson Gibbs Excess Model (thermo.wilson)
- UNIQUAC Gibbs Excess Model (thermo.uniquac)
- Joback Group Contribution Method (thermo.group_contribution.joback)
- Fedors Group Contribution Method (thermo.group_contribution.fedors)
- Wilson-Jasperson Group Contribution Method (thermo.group_contribution.wilson_jasperson)
- Example uses of Thermo
- Working with Heat Transfer Fluids - Therminol LT
- Validating Flash Calculations
- High Molecular Weight Petroleum Pseudocomponents
- Performing Large Numbers of Calculations with Thermo in Parallel
- Creating Nitrogen, oxygen, and nitrogen ternary air system phase envelope
- Creating Txy, Pxy, and xy diagrams for the binary water ethanol system with Modified UNIFAC (Dortmund)
- Example 14.2 Joule-Thomson Effect
- Example 14.3 Adiabatic Compression and Expansion
- Problem 14.01 Joule-Thomson Coefficient of Nitrogen Using the Virial Equation and the SRK EOS
- Problem 14.02 Work and Temperature Change Upon Isentropic Compression of Oxygen
- Problem 14.03 Reversible and Isothermal Compression of Liquid Water
- Problem 14.04 Heat Effect Upon Mixing of Methane and Dodecane at Elevated Temperature and Pressure Using SRK
- Problem 14.05 Required Power for R134a Compression Using a High Precision Equation of State
- Problem 14.06 Required Volume for a Gas Storage Tank for Ammonia
- Problem 14.07 Liquid Nitrogen Production Via Volume Expansion of the Compressed Gas
- Problem 14.08 Required Compressor Power for Isothermal and Adiabatic Compression of a Gas Mixture (CO2, O2) Using the Ideal Gas Law
- Problem 14.09 Temperature Change Upon Ethylene Expansion in Throttle Valves Using a High Precision EOS
- Problem 14.10 Leakage Rate Change in Vacuum Distillation When Lowering the Column Pressure
- Problem 14.11 Pressure Rise In a Storage Tank Upon Heating
- Problem 14.12 Work and Temperature Change Upon Adiabatic Compression of Oxygen
- Problem 14.13 Thermodynamic Cycle Calculation Using a High-Precision EOS
- Problem 14.14 Refrigeration Cycle Calculation Using the Peng-Robinson EOS
- Problem 14.15 Joule-Thomson Coefficient for Methane Using the Peng-Robinson EOS
- Problem 14.16 Compressor Duty and State Properties after Ammonia Compression
Installation¶
Get the latest version of Thermo from https://pypi.python.org/pypi/thermo/
If you have an installation of Python with pip, simple install it with:
$ pip install thermo
Alternatively, if you are using conda as your package management, you can simply install thermo in your environment from conda-forge channel with:
$ conda install -c conda-forge thermo
To get the git version, run:
$ git clone git://github.com/CalebBell/thermo.git
Latest source code¶
The latest development version of Thermo’s sources can be obtained at
Bug reports¶
To report bugs, please use the Thermo’s Bug Tracker at:
If you have further questions about the usage of the library, feel free to contact the author at Caleb.Andrew.Bell@gmail.com.
License information¶
See LICENSE.txt
for information on the terms & conditions for usage
of this software, and a DISCLAIMER OF ALL WARRANTIES.
Although not required by the Thermo license, if it is convenient for you, please cite Thermo if used in your work. Please also consider contributing any changes you make back, and benefit the community.
Citation¶
To cite Thermo in publications use:
Caleb Bell and Contributors (2016-2024). Thermo: Chemical properties component of Chemical Engineering Design Library (ChEDL)
https://github.com/CalebBell/thermo.