This commit is contained in:
Ian Bell
2014-10-02 10:24:24 +02:00
274 changed files with 8041 additions and 4449 deletions

View File

@@ -143,14 +143,18 @@ if (COOLPROP_SHARED_LIBRARY)
list(APPEND APP_SOURCES "${CMAKE_SOURCE_DIR}/src/CoolPropLib.cpp")
endif()
if (COOLPROP_STATIC_LIBRARY_MODULE OR COOLPROP_STATIC_LIBRARY)
if (COOLPROP_STATIC_LIBRARY_MODULE OR COOLPROP_STATIC_LIBRARY OR COOLPROP_EXTERNC_STATIC_LIBRARY)
list(APPEND APP_SOURCES "${CMAKE_SOURCE_DIR}/src/CoolPropLib.cpp")
add_library(${app_name} STATIC ${APP_SOURCES})
add_dependencies (${app_name} generate_headers)
set_target_properties (${app_name} PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -DEXTERNC")
install (TARGETS ${app_name} DESTINATION static_library/${CMAKE_SYSTEM_NAME})
endif()
if (COOLPROP_EXTERNC_STATIC_LIBRARY)
set_target_properties (${app_name} PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -DEXTERNC")
endif()
if (COOLPROP_64BIT_SHARED_LIBRARY_MODULE OR COOLPROP_64BIT_SHARED_LIBRARY)
list(APPEND APP_SOURCES "${CMAKE_SOURCE_DIR}/src/CoolPropLib.cpp")
add_library(${app_name} SHARED ${APP_SOURCES})
@@ -657,15 +661,9 @@ if (COOLPROP_PYTHON_BINARIES)
endif()
if (COOLPROP_PYTHON_PYPI)
if (DEFINED AND_UPLOAD)
set(_AND_UPLOAD upload)
else()
set(_AND_UPLOAD )
endif()
add_custom_target(CoolProp
COMMAND python prepare_pypi.py ${_AND_UPLOAD} --dist-dir=${CMAKE_INSTALL_PREFIX}/Python
COMMAND python prepare_pypi.py --dist-dir=${CMAKE_INSTALL_PREFIX}/Python
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/wrappers/Python/pypi
)
endif()

View File

@@ -3,7 +3,7 @@
@ARTICLE{Abramson-HPR-2011,
author = {Evan H. Abramson},
title = {Melting curves of argon and methane},
title = {{Melting curves of argon and methane}},
journal = {High Pressure Research},
year = {2011},
volume = {31},
@@ -13,9 +13,32 @@
timestamp = {2014.06.09}
}
@CONFERENCE{Akasaka-Purdue-2014,
author = {Ryo Akasaka},
title = {{A Thermodynamic Property Model for the R-134a/245fa Mixtures}},
booktitle = {15th International Refrigeration and Air Conditioning Conference
at Purdue, July 14-17, 2014},
year = {2014},
owner = {Belli},
timestamp = {2014.09.27}
}
@ARTICLE{Akasaka-FPE-2013,
author = {Ryo Akasaka},
title = {{Thermodynamic property models for the difluoromethane (R-32) + trans-1,3,3,3-tetrafluoropropene
(R-1234ze(E)) and difluoromethane + 2,3,3,3-tetrafluoropropene (R-1234yf)
mixtures}},
journal = {Fluid Phase Equilib.},
year = {2013},
volume = {358},
pages = {98-104},
owner = {Belli},
timestamp = {2014.09.27}
}
@CONFERENCE{Akasaka-PU-2014,
author = {Ryo Akasaka and Yukihiro Higashi},
title = {A Thermodynamic Property Model for the R-134a/245fa Mixtures},
title = {{A Thermodynamic Property Model for the R-134a/245fa Mixtures}},
booktitle = {15 th International Refrigeration and Air Conditioning Conference
at Purdue, July 14-17, 2014},
year = {2014},
@@ -187,7 +210,7 @@
}
@ARTICLE{Avgeri-JPCRD-2014-Benzene,
author = {S. Avgeri and M. J. Assael and M. L. Huber and R. A. Perkins},
author = {S. Avgeri and M. J. Assael and M. L. Huber and R. A. Perkins},
title = {{Reference Correlation of the Viscosity of Benzene from the Triple
Point to 675 K and up to 300 MPa}},
journal = {J. Phys. Chem. Ref. Data},
@@ -351,10 +374,19 @@
timestamp = {2010.06.30}
}
@PHDTHESIS{Gernert-Thesis-2013,
author = {Georg Johannes Gernert},
title = {{A New Helmholtz Energy Model for Humid Gases and CCS Mixtures}},
school = {Ruhr-Universit{\:a}t Bochum},
year = {2013},
owner = {Belli},
timestamp = {2014.09.27}
}
@ARTICLE{Gernert-FPE-2014,
author = {Johannes Gernert and Andreas J{\"a}ger and Roland Span},
title = {Calculation of phase equilibria for multi-component mixtures using
highly accurate Helmholtz energy equations of state},
title = {{Calculation of phase equilibria for multi-component mixtures using
highly accurate Helmholtz energy equations of state}},
journal = {Fluid Phase Equilib.},
year = {2014},
volume = {375},

View File

@@ -2049,7 +2049,7 @@ TAGFILES =
# tag file that is based on the input files it reads. See section "Linking to
# external documentation" for more information about the usage of tag files.
GENERATE_TAGFILE = CoolPropDoxyLink.tag
GENERATE_TAGFILE = Web/_static/doxygen/CoolPropDoxyLink.tag
# If the ALLEXTERNALS tag is set to YES all external class will be listed in the
# class index. If set to NO only the inherited external classes will be listed.

37
Readme.rst Normal file
View File

@@ -0,0 +1,37 @@
Welcome to CoolProp
===================
CoolProp is a thermophysical property database and wrappers for a selection of programming environments.
It offers similar functionality to REFPROP, but CoolProp is open-source and free,
It was originally developed by Ian Bell, currently a post-doc at the University of Liege, in Liege, Belgium.
* CoolProp has flexible licensing terms: Commercial - ok! Academic? - ok! |license|
* You can get the development binaries for each platform at http://www.coolprop.dreamhosters.com:8010/binaries/.
* For Python, you can get latest stable version |version| via pip install coolprop |downloads|
* The development docs for the v5 release are at http://www.coolprop.dreamhosters.com:8010/sphinx/
* Travis CI helps us to keep track of integration issues |travis|
* Please, if there are any issues of any kind, file an issue at https://github.com/CoolProp/CoolProp/issues
* Also, check out our FAQ: https://github.com/CoolProp/CoolProp/blob/master/FAQ.md
.. |travis| image:: https://travis-ci.org/CoolProp/CoolProp.png?branch=master
:target: https://travis-ci.org/CoolProp/CoolProp
:alt: travis-ci
.. |downloads| image:: https://pypip.in/d/CoolProp/badge.png
:target: http://pypi.python.org/pypi/CoolProp/
:alt: downloads
.. |version| image:: https://pypip.in/v/CoolProp/badge.png
:target: http://pypi.python.org/pypi/CoolProp/
:alt: latest stable version
.. |license| image:: https://pypip.in/license/CoolProp/badge.png
:target: http://pypi.python.org/pypi/CoolProp/
:alt: license

View File

@@ -1,14 +0,0 @@
CoolProp is a thermophysical property database and wrappers for a selection of programming environments
It offers similar functionality to REFPROP, but CoolProp is open-source and free, with flexible licensing terms. Commercial - ok! Academic? - ok!
It was originally developed by Ian Bell, currently a post-doc at the University of Liege, in Liege, Belgium.
The development docs for the v5 release are at http://www.coolprop.dreamhosters.com:8010/sphinx/
The development binaries for each platform are at http://www.coolprop.dreamhosters.com:8010/binaries/.
Please, if there are any issues of any kind, file an issue at https://github.com/CoolProp/CoolProp/issues
Also, check out our FAQ: https://github.com/CoolProp/CoolProp/blob/master/FAQ.md

View File

@@ -9,5 +9,5 @@ REM ~ pdflatex CoolPropdoc.tex
REM ~ copy /Y CoolPropdoc.pdf ..\..\_static\
REM ~ cd ..\..
sphinx-apidoc -T -f -o apidoc ../CoolProp
sphinx-apidoc -T -f -e -o apidoc C:\\Miniconda\\lib\\site-packages\\coolprop-5.0.0-py2.7-win-amd64.egg\\CoolProp
mingw32-make html

View File

@@ -1,6 +0,0 @@
AbstractState Module
====================
.. automodule:: CoolProp.AbstractState
:members: AbstractState
:undoc-members:

View File

@@ -0,0 +1,7 @@
CoolProp.BibtexParser module
============================
.. automodule:: CoolProp.BibtexParser
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.CoolProp module
========================
.. automodule:: CoolProp.CoolProp
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.GUI.CoolPropGUI module
===============================
.. automodule:: CoolProp.GUI.CoolPropGUI
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.GUI.PsychScript module
===============================
.. automodule:: CoolProp.GUI.PsychScript
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,18 @@
CoolProp.GUI package
====================
Submodules
----------
.. toctree::
CoolProp.GUI.CoolPropGUI
CoolProp.GUI.PsychScript
Module contents
---------------
.. automodule:: CoolProp.GUI
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.HumidAirProp module
============================
.. automodule:: CoolProp.HumidAirProp
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.Plots.Common module
============================
.. automodule:: CoolProp.Plots.Common
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.Plots.Plots module
===========================
.. automodule:: CoolProp.Plots.Plots
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.Plots.PsychChart module
================================
.. automodule:: CoolProp.Plots.PsychChart
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.Plots.PsychScript module
=================================
.. automodule:: CoolProp.Plots.PsychScript
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.Plots.SimpleCycles module
==================================
.. automodule:: CoolProp.Plots.SimpleCycles
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.Plots.Tests module
===========================
.. automodule:: CoolProp.Plots.Tests
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,35 +1,22 @@
Plots Package
=============
CoolProp.Plots package
======================
:mod:`Plots` Package
--------------------
Submodules
----------
.. toctree::
CoolProp.Plots.Common
CoolProp.Plots.Plots
CoolProp.Plots.PsychChart
CoolProp.Plots.PsychScript
CoolProp.Plots.SimpleCycles
CoolProp.Plots.Tests
Module contents
---------------
.. automodule:: CoolProp.Plots
:members:
:undoc-members:
:show-inheritance:
:mod:`Plots` Module
-------------------
.. automodule:: CoolProp.Plots.Plots
:members:
:undoc-members:
:show-inheritance:
:mod:`PsychChart` Module
------------------------
.. automodule:: CoolProp.Plots.PsychChart
:members:
:undoc-members:
:show-inheritance:
:mod:`SimpleCycles` Module
--------------------------
.. automodule:: CoolProp.Plots.SimpleCycles
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.State module
=====================
.. automodule:: CoolProp.State
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.constants module
=========================
.. automodule:: CoolProp.constants
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,9 +1,32 @@
CoolProp Module
===============
CoolProp package
================
.. automodule:: CoolProp.CoolProp
:synopsis:
Subpackages
-----------
.. toctree::
CoolProp.GUI
CoolProp.Plots
CoolProp.tests
Submodules
----------
.. toctree::
CoolProp.BibtexParser
CoolProp.CoolProp
CoolProp.CoolProp
CoolProp.HumidAirProp
CoolProp.State
CoolProp.constants
CoolProp.constants
Module contents
---------------
.. automodule:: CoolProp
:members:
:undoc-members:
:show-inheritance:
:exclude-members: State,HAProps,HAProps_Aux,PureFluidClass

View File

@@ -0,0 +1,27 @@
CoolProp.tests package
======================
Submodules
----------
.. toctree::
CoolProp.tests.runner
CoolProp.tests.test_CoolPropState
CoolProp.tests.test_HAProps
CoolProp.tests.test_Props
CoolProp.tests.test_Props1
CoolProp.tests.test_Saturation
CoolProp.tests.test_State
CoolProp.tests.test_Units_CPState
CoolProp.tests.test_consistency
CoolProp.tests.test_param_getters
CoolProp.tests.test_plots
Module contents
---------------
.. automodule:: CoolProp.tests
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.tests.runner module
============================
.. automodule:: CoolProp.tests.runner
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.tests.test_CoolPropState module
========================================
.. automodule:: CoolProp.tests.test_CoolPropState
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.tests.test_HAProps module
==================================
.. automodule:: CoolProp.tests.test_HAProps
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.tests.test_Props module
================================
.. automodule:: CoolProp.tests.test_Props
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.tests.test_Props1 module
=================================
.. automodule:: CoolProp.tests.test_Props1
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.tests.test_Saturation module
=====================================
.. automodule:: CoolProp.tests.test_Saturation
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.tests.test_State module
================================
.. automodule:: CoolProp.tests.test_State
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.tests.test_Units_CPState module
========================================
.. automodule:: CoolProp.tests.test_Units_CPState
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.tests.test_consistency module
======================================
.. automodule:: CoolProp.tests.test_consistency
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.tests.test_param_getters module
========================================
.. automodule:: CoolProp.tests.test_param_getters
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
CoolProp.tests.test_plots module
================================
.. automodule:: CoolProp.tests.test_plots
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,7 +0,0 @@
HumidAirProp Module
===================
.. automodule:: CoolProp.HumidAirProp
:members: HAProps, HAProps_Aux
:undoc-members:
:show-inheritance:

View File

@@ -1,42 +0,0 @@
Plots Package
=============
:mod:`CoolProp.Plots` Package
-----------------------------
.. automodule:: CoolProp.Plots
:members:
:undoc-members:
:show-inheritance:
:mod:`CoolProp.Plots.Common` Module
-------------------------------------
.. automodule:: CoolProp.Plots.Common
:members:
:undoc-members:
:show-inheritance:
:mod:`CoolProp.Plots.Plots` Module
----------------------------------
.. automodule:: CoolProp.Plots.Plots
:members:
:undoc-members:
:show-inheritance:
:mod:`CoolProp.Plots.PsychChart` Module
---------------------------------------
.. automodule:: CoolProp.Plots.PsychChart
:members:
:undoc-members:
:show-inheritance:
:mod:`SimpleCycles` Module
--------------------------
.. automodule:: CoolProp.Plots.SimpleCycles
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,6 +0,0 @@
State Module
============
.. automodule:: CoolProp.State
:members: State, PureFluidClass
:undoc-members:

View File

@@ -1,11 +0,0 @@
CoolProp API
============
.. toctree::
:maxdepth: 4
CoolProp
HumidAirProp
Plots
State
AbstractState

View File

@@ -13,6 +13,7 @@
# serve to show the default.
import sys, os
sys.path.insert(0, os.path.abspath('_ext'))
try:
import sphinxcontrib.doxylink
@@ -20,13 +21,24 @@ except ImportError:
print('Unable to import sphinxcontrib.doxylink; try to run "pip install sphinxcontrib-doxylink"')
import glob
import subprocess
# This part finds all scripts and runs them
scripts = glob.glob(os.path.join('scripts','*.py'))
for script in scripts:
subprocess.call('python {0}'.format(os.path.basename(script)), cwd='scripts', shell=True)
#~ # If your extensions are in another directory, add it here. If the directory
#~ # is relative to the documentation root, use os.path.abspath to make it
#~ # absolute, like shown here.
#~ sys.path.append(os.path.abspath('sphinxext'))
doxylink = {
'cpapi' : ('_static/doxygen/CoolPropDoxyLink.tag', '_static/doxygen/html')
'cpapi' : ('_static/doxygen/CoolPropDoxyLink.tag', '../_static/doxygen/html')
}
# -- General configuration -----------------------------------------------------

View File

@@ -1,15 +1,15 @@
import CoolProp5
import CoolProp
import pandas
grouping = dict()
grouping2 = []
# Group aliases
for parameter in CoolProp5.get('parameter_list').split(','):
for parameter in CoolProp.get('parameter_list').split(','):
index = CoolProp5.CoolProp.get_parameter_index(parameter)
units = CoolProp5.CoolProp.get_parameter_information(index, 'units').replace('-',' ')
IO = CoolProp5.CoolProp.get_parameter_information(index, 'IO')
long = CoolProp5.CoolProp.get_parameter_information(index, 'long')
short = CoolProp5.CoolProp.get_parameter_information(index, 'short')
index = CoolProp.CoolProp.get_parameter_index(parameter)
units = CoolProp.CoolProp.get_parameter_information(index, 'units').replace('-',' ')
IO = CoolProp.CoolProp.get_parameter_information(index, 'IO')
long = CoolProp.CoolProp.get_parameter_information(index, 'long')
short = CoolProp.CoolProp.get_parameter_information(index, 'short')
RHS = (units, IO, long)
if RHS not in grouping:

View File

@@ -1,48 +1,67 @@
.. constructed with the build_parameter_table.py script in this folder
================================= ======= ============ =========================================================
Parameter Units Input/Output Description
================================= ======= ============ =========================================================
``D``, ``Dmass`` kg/m^3 IO Mass density
``Delta`` IO Reduced density (rho/rhoc)
``Dmolar`` mol/m^3 IO Molar density
``H``, ``Hmass`` J/kg IO Mass specific enthalpy
``Hmolar`` J/mol IO Molar specific enthalpy
``P`` Pa IO Pressure
``Q`` mol/mol IO Mass vapor quality
``S``, ``Smass`` J/kg/K IO Mass specific entropy
``Smolar`` J/mol/K IO Molar specific entropy
``T`` K IO Temperature
``Tau`` IO Reciprocal reduced temperature (Tc/T)
``U``, ``Umass`` J/kg IO Mass specific internal energy
``Umolar`` J/mol IO Molar specific internal energy
``Bvirial`` O Second virial coefficient
``C``, ``Cpmass`` J/kg/K O Mass specific constant presssure specific heat
``Cpmolar`` J/mol/K O Molar specific constant presssure specific heat
``Cvirial`` O Third virial coefficient
``Cvmass``, ``O`` J/kg/K O Mass specific constant volume specific heat
``Cvmolar`` J/mol/K O Molar specific constant volume specific heat
``FH`` O Flammability hazard
``GWP100`` O 100-year gobal warming potential
``GWP20`` O 20-year gobal warming potential
``GWP500`` O 500-year gobal warming potential
``HH`` O Health hazard
``L``, ``conductivity`` W/m/K O Thermal conductivity
``ODP`` O Ozone depletion potential
``PH`` O Physical hazard
``T_critical``, ``Tcrit`` K O Temperature at the critical point
``T_max`` K O Maximum temperature limit
``T_min`` K O Minimum temperature limit
``T_reducing`` K O Temperature at the reducing point
``T_triple``, ``Ttriple`` K O Temperature at the triple point
``V``, ``viscosity`` Pa s O Viscosity
``dBvirial_dT`` O Derivative of second virial coefficient with respect to T
``dCvirial_dT`` O Derivative of third virial coefficient with respect to T
``isothermal_compressibility`` 1/Pa O Isothermal compressibility
``molar_mass`` kg/mol O Molar mass
``p_critical``, ``pcrit`` Pa O Pressure at the critical point
``rhocrit``, ``rhomass_critical`` kg/m^3 O Mass density at critical point
``rhomolar_critical`` mol/m^3 O Molar density at critical point
``rhomolar_reducing`` mol/m^3 O Molar density at reducing point
``speed_of_sound`` m/s O Speed of sound
================================= ======= ============ =========================================================
====================================================================================== ======= ============ =========================================================
Parameter Units Input/Output Description
====================================================================================== ======= ============ =========================================================
``DELTA``, ``Delta`` IO Reduced density (rho/rhoc)
``DMOLAR``, ``Dmolar`` mol/m^3 IO Molar density
``D``, ``DMASS``, ``Dmass`` kg/m^3 IO Mass density
``GMASS``, ``Gmass`` J/kg IO Mass specific Gibbs energy
``GMOLAR``, ``Gmolar`` J/mol IO Molar specific Gibbs energy
``HMOLAR``, ``Hmolar`` J/mol IO Molar specific enthalpy
``H``, ``HMASS``, ``Hmass`` J/kg IO Mass specific enthalpy
``P`` Pa IO Pressure
``Q`` mol/mol IO Mass vapor quality
``SMOLAR``, ``Smolar`` J/mol/K IO Molar specific entropy
``S``, ``SMASS``, ``Smass`` J/kg/K IO Mass specific entropy
``TAU``, ``Tau`` IO Reciprocal reduced temperature (Tc/T)
``T`` K IO Temperature
``UMOLAR``, ``Umolar`` J/mol IO Molar specific internal energy
``U``, ``UMASS``, ``Umass`` J/kg IO Mass specific internal energy
``ALPHA0``, ``alpha0`` O Ideal Helmholtz energy
``ALPHAR``, ``alphar`` O Residual Helmholtz energy
``A``, ``SPEED_OF_SOUND``, ``speed_of_sound`` m/s O Speed of sound
``BVIRIAL``, ``Bvirial`` O Second virial coefficient
``CONDUCTIVITY``, ``L``, ``conductivity`` W/m/K O Thermal conductivity
``CP0MASS``, ``Cp0mass`` J/kg/K O Ideal gas mass specific constant presssure specific heat
``CP0MOLAR``, ``Cp0molar`` J/mol/K O Ideal gas molar specific constant presssure specific heat
``CPMOLAR``, ``Cpmolar`` J/mol/K O Molar specific constant presssure specific heat
``CVIRIAL``, ``Cvirial`` O Third virial coefficient
``CVMASS``, ``Cvmass``, ``O`` J/kg/K O Mass specific constant volume specific heat
``CVMOLAR``, ``Cvmolar`` J/mol/K O Molar specific constant volume specific heat
``C``, ``CPMASS``, ``Cpmass`` J/kg/K O Mass specific constant presssure specific heat
``DALPHA0_DDELTA_CONSTTAU``, ``dalpha0_ddelta_consttau`` O Derivative of ideal Helmholtz energy with delta
``DALPHA0_DTAU_CONSTDELTA``, ``dalpha0_dtau_constdelta`` O Derivative of ideal Helmholtz energy with tau
``DALPHAR_DDELTA_CONSTTAU``, ``dalphar_ddelta_consttau`` O Derivative of residual Helmholtz energy with delta
``DALPHAR_DTAU_CONSTDELTA``, ``dalphar_dtau_constdelta`` O Derivative of residual Helmholtz energy with tau
``DBVIRIAL_DT``, ``dBvirial_dT`` O Derivative of second virial coefficient with respect to T
``DCVIRIAL_DT``, ``dCvirial_dT`` O Derivative of third virial coefficient with respect to T
``FH`` O Flammability hazard
``FUNDAMENTAL_DERIVATIVE_OF_GAS_DYNAMICS``, ``fundamental_derivative_of_gas_dynamics`` O Fundamental_derivative_of_gas_dynamics
``GWP100`` O 100-year gobal warming potential
``GWP20`` O 20-year gobal warming potential
``GWP500`` O 500-year gobal warming potential
``HH`` O Health hazard
``ISOBARIC_EXPANSION_COEFFICIENT``, ``isobaric_expansion_coefficient`` 1/K O Isobaric expansion coefficient
``ISOTHERMAL_COMPRESSIBILITY``, ``isothermal_compressibility`` 1/Pa O Isothermal compressibility
``M``, ``MOLAR_MASS``, ``MOLEMASS``, ``molar_mass``, ``molemass`` kg/mol O Molar mass
``ODP`` O Ozone depletion potential
``PCRIT``, ``P_CRITICAL``, ``p_critical``, ``pcrit`` Pa O Pressure at the critical point
``PH`` O Physical hazard
``PMAX``, ``P_MAX``, ``P_max``, ``pmax`` Pa O Maximum pressure limit
``PRANDTL``, ``Prandtl`` O Prandtl number
``PTRIPLE``, ``P_TRIPLE``, ``p_triple``, ``ptriple`` Pa O Pressure at the triple point (pure only)
``P_MIN``, ``P_min`` Pa O Minimum pressure limit
``RHOCRIT``, ``RHOMASS_CRITICAL``, ``rhocrit``, ``rhomass_critical`` kg/m^3 O Mass density at critical point
``RHOMASS_REDUCING``, ``rhomass_reducing`` kg/m^3 O Mass density at reducing point
``RHOMOLAR_CRITICAL``, ``rhomolar_critical`` mol/m^3 O Molar density at critical point
``RHOMOLAR_REDUCING``, ``rhomolar_reducing`` mol/m^3 O Molar density at reducing point
``SURFACE_TENSION``, ``surface_tension`` N/m O Surface tension
``TCRIT``, ``T_CRITICAL``, ``T_critical``, ``Tcrit`` K O Temperature at the critical point
``TMAX``, ``T_MAX``, ``T_max``, ``Tmax`` K O Maximum temperature limit
``TMIN``, ``T_MIN``, ``T_min``, ``Tmin`` K O Minimum temperature limit
``TTRIPLE``, ``T_TRIPLE``, ``T_triple``, ``Ttriple`` K O Temperature at the triple point
``T_REDUCING``, ``T_reducing`` K O Temperature at the reducing point
``V``, ``VISCOSITY``, ``viscosity`` Pa s O Viscosity
``Z`` O Compressibility factor
====================================================================================== ======= ============ =========================================================

View File

@@ -67,7 +67,7 @@ Once mono c# is installed, you can run the builder and tests using::
# Move into the folder you just created
cd CoolProp
# Make a build folder
mkdir -p build/Csharp && cd build
mkdir build && cd build
# Build the makefile using CMake
cmake .. -DCOOLPROP_CSHARP_MODULE=ON -DBUILD_TESTING=ON
# Make the C# files (by default files will be generated in folder install_root/Csharp relative to CMakeLists.txt file)

View File

@@ -9,7 +9,7 @@ Compilers
On linux, you need gcc and gfortran, which are easy to install using your package manager.
On windows, the most reliable mixed compilation seems to be using the mingw-provided gfortran/gcc combination from mingw-get. Theese are the versions used as of June 20, 2014::
On windows, the most reliable mixed compilation seems to be using the mingw-provided gfortran/gcc combination from mingw-get. These are the versions used as of June 20, 2014::
>gfortran --version
GNU Fortran (GCC) 4.8.1
@@ -30,14 +30,14 @@ On linux/OSX, start in root folder of recursively-cloned CoolProp repo and do::
mkdir build && cd build
mkdir gccstatic && cd gccstatic
cmake ../.. -DCOOLPROP_STATIC_LIBRARY=ON
cmake ../.. -DCOOLPROP_EXTERNC_STATIC_LIBRARY=ON
cmake --build .
On Windows, the call to CMake should be done using the MinGW generator, but otherwise procedure is the same::
On Windows, the call to CMake should be done using the MinGW generator, but otherwise the procedure is the same::
mkdir build && cd build
mkdir gccstatic && cd gccstatic
cmake ../.. -G "MinGW Makefiles" -DCOOLPROP_STATIC_LIBRARY=ON
cmake ../.. -G "MinGW Makefiles" -DCOOLPROP_EXTERNC_STATIC_LIBRARY=ON
cmake --build .
This will generate the file libCoolProp.a which is a GCC static library that can be linked with GCC/GFORTRAN code. Copy this .a file into the directory with the coolprop FORTRAN example ``cool_fortran_bind.f90``:

View File

@@ -0,0 +1,36 @@
.. _static_library:
**************
Static Library
**************
Static libraries can be used to compile all of CoolProp into one compilation unit, and then link that with user code. This can be advantageous as CoolProp only needs to be compiled once and fast compilation of the user-defined code is then possible.
When writing your own C++ code, it is advised to compile CoolProp to a static library and then link CoolProp and your own code
Pre-compiled Binaries
=====================
Pre-compiled release binaries can be downloaded from :sfdownloads:`static_library`. Development binaries coming from the buildbot server can be found at :bbbinaries:`static_library`. These static libraries are only useful if the compiler used to make the static library agrees with the static library that will be used to build your other code. So best to follow the below instructions to build your own static library.
User-Compiled Binaries
======================
Common Requirements
-------------------
Compilation of the static library requires a few :ref:`common wrapper pre-requisites <wrapper_common_prereqs>`
Compile
-------
You can build the static library using::
# Check out the sources for CoolProp
git clone https://github.com/CoolProp/CoolProp --recursive
# Move into the folder you just created
cd CoolProp
# Make a build folder
mkdir -p build && cd build
# Build the makefile using CMake
cmake .. -DCOOLPROP_STATIC_LIBRARY=ON
# Make the static library
make VERBOSE=1

View File

@@ -9,8 +9,9 @@ CoolProp at its core is a C++ library, but it can be of interest to use this cod
Downloads and instructions for each wrapper are included in the page for the wrapper given in the table below.
======================================= =========================== =======================================
Language Operating Systems Notes
Target Operating Systems Notes
======================================= =========================== =======================================
:ref:`Static library <static_library>` linux, OSX, win
:ref:`Python <Python>` linux, OSX, win Wrapper is Cython based
:ref:`Octave <Octave>` linux, OSX, win Wrapper is SWIG based
:ref:`C# <Csharp>` linux, OSX, win Wrapper is SWIG based
@@ -90,3 +91,4 @@ OSX should come with a c++ compiler (clang), for git and cmake your best bet is
LibreOffice/index.rst
Excel/index.rst
Maple/index.rst
StaticLibrary/index.rst

View File

@@ -3,6 +3,54 @@
Buildbot
********
Buildbot masters and slaves
===========================
Master
------
From the root of the git checkout (this will use the master.cfg from CoolProp)::
pip install buildbot
cd dev/buildbot
buildbot create-master master
buildbot start master
The file ``buildbot-private.py`` (which is a python module with the passwords for the slaves as well as the buildbot website), should also be placed in the master folder next to master.cfg. Alternatively, you can put the ``buildbot_private.py`` in another folder on the master's computer and make a soft-link in the master folder to point to the buildbot_private.py file.
If you want to completely restart the master, you can do::
buildbot restart master
but usually a::
buildbot reconfig master
will do the job since it will just reparse the configuration file without signing you out of the server
To ensure that the buildbot server stays online, you can make a script with the contents::
buildbot start /path/to/master_folder
and add it to a cron job
Slaves
------
To start a slave connected to a buildbot master at IP address 10.0.0.2 (default for host for VirtualBox), with a slave named ``example-slave`` and passsword ``pass``, run the command::
buildslave create-slave slave 10.0.0.2:9989 example-slave pass
buildslave start slave
If the master is somewhere else, just change the IP address. As of Sept, 2014, the master was at www.coolprop.dreamhosters.com. The buildbot_private.py on the master holds the required passwords.
On linux, you can add the following lines to the end of your ``~/.profile`` file (similar ideas apply on other platforms) to autostart the slave when the user logs in::
# Connect to the buildbot master
buildslave start ~/slave
Setting MIME type handler
=========================

View File

@@ -3,11 +3,10 @@
@Book{ASHRAE2001,
Title = {2001 ASHRAE Handbook: Fundamentals},
Author = {American Society of Heating, Refrigerating and Air-Conditioning Engineers},
Publisher = {ASHRAE},
Title = {{2001 ASHRAE Handbook: Fundamentals}},
Author = {{American Society of Heating, Refrigerating and Air-Conditioning Engineers}},
Publisher = {{ASHRAE}},
Year = {2001},
Series = {Ashrae Handbook Fundamentals Systems-international Metric System},
Volume = {111},
ISBN = {9781883413880},
@@ -15,22 +14,24 @@
Timestamp = {2014.09.17}
}
@Article{Cesar2013,
Title = {An amazing title},
Author = {Jean C{\'e}sar},
Journal = {Nice Journal},
Year = {2013},
@Manual{Jones2001,
Title = {{SciPy}: Open source scientific tools for {Python}},
Author = {Eric Jones and Travis Oliphant and Pearu Peterson and others},
Month = jan,
Pages = {12--23},
Volume = {12},
Abstract = {This is an abstract. This line should be long enough to test
multilines...},
Comments = {A comment},
Keywords = {keyword1, keyword2},
Owner = {jowr},
Timestamp = {2014.09.15}
Timestamp = {2014.09.24},
Url = {http://www.scipy.org/}
}
@TechReport{Kauffeld2001,
Title = {{RP-1166---Behavior of Ice Slurries in Thermal Storage Systems}},
Author = {Michael Kauffeld},
Institution = {{Danish Technological Institute}},
Year = {2001},
Note = {{Sponsored by ASHRAE Technical Committee 6.9 Thermal Storage}},
Owner = {jowr},
Timestamp = {2014.09.22}
}
@Book{Melinder2010,
@@ -43,10 +44,53 @@
Timestamp = {2014.09.17}
}
@Article{Patek2006,
Title = {{A computationally effective formulation of the thermodynamic properties of LiBr-H2O solutions from 273 to 500 K over full composition range}},
Author = {Jaroslav P\'atek and Jaroslav Klomfar},
Journal = {International Journal of Refrigeration},
Year = {2006},
Month = {June},
Number = {4},
Pages = {566--578},
Volume = {29},
Doi = {10.1016/j.ijrefrig.2005.10.007},
Owner = {jowr},
Timestamp = {2013.11.22}
}
@InBook{Preisegger2010,
Title = {VDI Heat Atlas},
Author = {Ewald Preisegger and Felix Flohr and Gernot Krakat and Andreas Gl{\"u}ck and Dietmar Hunold},
Chapter = {D4 Properties of Industrial Heat Transfer Media},
Editor = {Peter Stephan},
Pages = {419--512},
Publisher = {Springer},
Year = {2010},
Address = {Berlin Heidelberg},
Edition = {2nd},
Doi = {10.1007/978-3-540-77877-6_20},
Owner = {jowr},
Timestamp = {2013.06.18}
}
@Book{Schmidt1979,
Title = {Properties of Water and Steam in SI-Units},
Author = {Ernst Schmidt},
Publisher = {Springer},
Year = {1979},
Edition = {2nd},
Owner = {jowr},
Timestamp = {2014.09.22}
}
@Manual{Skovrup2013,
Title = {SecCool Properties},
Title = {{SecCool Properties v1.33}},
Author = {Morten Juel Skovrup},
Edition = {v1.33},
Organization = {IPU Refrigeration and Energy Technology},
Year = {2013},
@@ -55,9 +99,29 @@
Url = {http://en.ipu.dk/Indhold/refrigeration-and-energy-technology/seccool.aspx}
}
@TechReport{Zavoico2001,
Title = {{Solar Power Tower Design Basis Document}},
Author = {Alexis B. Zavoico},
Institution = {Sandia National Laboratories},
Year = {2001},
Month = {July},
Owner = {jowr},
Timestamp = {2013.10.23},
Url = {http://prod.sandia.gov/techlib/access-control.cgi/2001/012100.pdf}
}
@Manual{Dynalene2014,
Title = {{Technical Data Sheet}},
Organization = {{Dynalene Inc.}},
Year = {2014},
Owner = {jowr},
Timestamp = {2014.09.22}
}
@Manual{Therminol2014,
Title = {{Therminol Heat Transfer Reference Disk}},
Edition = {v5.1},
Title = {{Therminol Heat Transfer Reference Disk v5.1}},
Organization = {{Eastman Chemical Company}},
Year = {2014},
@@ -66,3 +130,121 @@
Url = {http://www.therminol.com/resources/therminol-reference-disk}
}
@Manual{Paratherm2013,
Title = {{Thermal Properties Calculator v6.4}},
Organization = {{Paratherm Ltd.}},
Year = {2013},
Owner = {jowr},
Timestamp = {2014.09.22},
Url = {http://paracalc.paratherm.com}
}
@Manual{Arteco2010,
Title = {{Technical Information}},
Organization = {{Arteco NV/SA}},
Year = {2010},
Owner = {jowr},
Timestamp = {2014.09.22}
}
@Manual{3M2007,
Title = {{Technical Information}},
Organization = {{3M Company}},
Year = {2007},
Owner = {jowr},
Timestamp = {2014.09.22}
}
@Manual{PKS2005,
Title = {{Technical Data Sheet}},
Organization = {{pro K{\"u}hlsole GmbH}},
Year = {2005},
Owner = {jowr},
Timestamp = {2014.09.22}
}
@Manual{Chevron2004,
Title = {{Technical Data Sheet}},
Organization = {{Chevron Products Company}},
Year = {2004},
Owner = {jowr},
Timestamp = {2014.09.22}
}
@Manual{Aspen2001,
Title = {{Technical Data Sheet}},
Organization = {{Aspen Petroleum AB}},
Year = {2001},
Owner = {jowr},
Timestamp = {2014.09.22}
}
@Manual{Clariant2000,
Title = {{Technical Data Sheet}},
Organization = {{Clariant GmbH}},
Year = {2000},
Owner = {jowr},
Timestamp = {2014.09.22}
}
@Manual{Hydro2000,
Title = {{Technical Information}},
Organization = {{Hydro Chemicals}},
Year = {2000},
Owner = {jowr},
Timestamp = {2014.09.22}
}
@Manual{Sulzer1999,
Title = {{Technical Information}},
Organization = {{Sulzer Chemtech AG}},
Year = {1999},
Owner = {jowr},
Timestamp = {2014.09.22}
}
@Manual{Tyfoprop1999,
Title = {{Technical Information}},
Organization = {{Tyforop Chemie Gmbh}},
Year = {1999},
Owner = {jowr},
Timestamp = {2014.09.22}
}
@Manual{Kemira1998,
Title = {{Technical Data Sheet}},
Organization = {{Kemira Chemicals OY}},
Year = {1998},
Owner = {jowr},
Timestamp = {2014.09.22}
}
@Manual{Dow1997,
Title = {{Technical Data Sheet}},
Organization = {{The Dow Chemical Company}},
Year = {1997},
Owner = {jowr},
Timestamp = {2014.09.22}
}
@Manual{Hoechst1995,
Title = {{Technical Information}},
Organization = {{Hoechst AG}},
Year = {1995},
Owner = {jowr},
Timestamp = {2014.09.22}
}

View File

@@ -1,11 +1,14 @@
.. |degC| replace:: :math:`^\circ\!\!` C
.. _Incompressibles:
Incompressible Fluids
=====================
General Introduction
--------------------
In CoolProp, the incompressible fluids are divided into three major groups.
* :ref:`Pure fluids <Pure>`.
@@ -29,19 +32,44 @@ specific fluid. To get an overview over all the fits, there are also combined
documents with all the
:download:`pure fluids and all the aqueous solutions</_static/fluid_properties/incompressible/report/all_incompressibles.pdf>`.
You can read more about these reports in a dedicated
:ref:`section<FittingReports>` called :ref:`Fitting Reports<FittingReports>` below.
:ref:`section<FittingReports>` called :ref:`Fitting Reports<FittingReports>`.
All incompressible fluids have an arbitrary reference state for enthalpy and entropy.
During initialisation, the reference state is defined as a temperature of 20 °C
and a pressure of 1 atm according to the U.S. National Institute of Standards and
Technology (`NIST <http://www.nist.gov>`_).
.. math::
T_\text{ref} &= 293.15\:\text{K} &= 68\:\text{°F} \\
p_\text{ref} &= 101325\:\text{Pa} &= 14.696\:\text{psi} \\
h_\text{ref} &= 0\:\text{J}\,\text{kg}^{-1} & \\
s_\text{ref} &= 0\:\text{J}\,\text{kg}^{-1}\,\text{K}^{-1} & \\
.. note::
If you use a mixture, the reference state gets updated each time you change
the composition. Furthermore, not all temperatures can be used as reference
temperature since the fraction :math:`T_\text{in,1} / T_\text{in,0}` occurs in the integral used to
calculate entropy. The centered fits have a base temperature and setting
:math:`T_\text{ref}` equal to :math:`T_\text{base}` yields :math:`T_\text{in,0}=0\:\text{K}`,
which obviously is a problem. For non-centred fits, the base temperature is
equal to 0 K. Read on :ref:`below<BaseValue>` for more details.
Pure Fluid Examples
-------------------
Incompressible fluids only allow for a limited subset of input variables. The
following input pairs are supported: :math:`f(p,T)`, :math:`f(h,p)`, :math:`f(\rho,T)`,
:math:`f(p,u)` and :math:`f(p,s)`. All functions iterate on :math:`f(p,T)` calls
following input pairs are supported: :math:`f(p,T)`, :math:`f(p,h)`, :math:`f(p,\rho)`,
:math:`f(p,u)` and :math:`f(p,s)`. Some fluids also provide saturation state
information as :math:`f(Q,T)` with :math:`Q=0`. All functions iterate on :math:`f(p,T)` calls
internally, which makes this combination by far the fastest. However, also the
other inputs should be fast compared to the full Helmholtz-based EOS implemented
for then compressible fluids.
A call to the top-level function ``PropsSI`` can provide : density, heat capacity,
internal energy, enthalpy, entropy, viscosity and thermal conductivity. Hence,
the available output keys are: ``D``, ``C``, ``U``, ``H``, ``S``, ``V``, ``L``,
``Tmin``, ``Tmax`` and ``Psat``.
A call to the top-level function ``PropsSI`` can provide: temperature, pressure,
density, heat capacity, internal energy, enthalpy, entropy, viscosity and
thermal conductivity. Hence, the available output keys are: ``T``, ``P``, ``D``,
``C``, ``U``, ``H``, ``S``, ``V``, ``L``, ``Tmin`` and ``Tmax``.
.. ipython::
@@ -53,20 +81,10 @@ the available output keys are: ``D``, ``C``, ``U``, ``H``, ``S``, ``V``, ``L``,
#Specific heat capacity of Downtherm Q at 500 K and 1 atm
In [1]: PropsSI('C','T',500,'P',101325,'INCOMP::DowQ')
#Internal energy of Downtherm Q at 500 K and 1 atm
In [1]: PropsSI('U','T',500,'P',101325,'INCOMP::DowQ')
In [1]: PropsSI('C','D',809.0659,'P',101325,'INCOMP::DowQ')
#Enthalpy of Downtherm Q at 500 K and 1 atm
In [1]: PropsSI('H','T',500,'P',101325,'INCOMP::DowQ')
#Entropy of Downtherm Q at 500 K and 1 atm
In [1]: PropsSI('S','T',500,'P',101325,'INCOMP::DowQ')
#Viscosity of Downtherm Q at 500 K and 1 atm
In [1]: PropsSI('V','T',500,'P',101325,'INCOMP::DowQ')
#Thermal conductivity of Downtherm Q at 500 K and 1 atm
In [1]: PropsSI('L','T',500,'P',101325,'INCOMP::DowQ')
#Saturation pressure of Downtherm Q at 500 K
In [1]: PropsSI('P','T',500,'Q',0,'INCOMP::DowQ')
#Minimum temperature for Downtherm Q
In [1]: PropsSI('Tmin','T',0,'P',0,'INCOMP::DowQ')
@@ -75,65 +93,47 @@ the available output keys are: ``D``, ``C``, ``U``, ``H``, ``S``, ``V``, ``L``,
In [1]: PropsSI('Tmax','T',0,'P',0,'INCOMP::DowQ')
.. #Vapour pressure of Downtherm Q at 500 K, note the dummy pressure to work around https://github.com/CoolProp/CoolProp/issues/145
In [1]: PropsSI('Psat','T',500,'P',1e8,'INCOMP::DowQ')
Mixture Examples
----------------
Almost the same syntax can be used for mixtures. Please note that the mixture
interface developed for CoolProp 5 has not been ported to the incompressible
fluids, yet. For now, you have to use the ``PropsSI`` function with a special
composition notation. Depending on your fluid, you have to supply either the
:ref:`mass fraction<MassMix>` or the :ref:`volume fraction<VoluMix>` as additional
parameter. This is done via the fluid name by appending a dash and the
fraction of the substance other than water. The fraction notation can be in the
form of percent, ``LiBr-23%``, or as a fraction, ``LiBr[0.23]``, which
corresponds to the new mixture syntax in CoolProp5.
.. In addition to the properties available for the pure fluids (``D``, ``C``,
``U``, ``H``, ``S``, ``V``, ``L``,``Tmin`` and ``Tmax``, some mixtures also
provide the freezing temperature ``Tfreeze`` as a function of composition.
.. ipython::
Pure Fluids
-----------
In [1]: from CoolProp.CoolProp import PropsSI
For refrigeration applications, 8 fluids were implemented from Aake Melinder's
book "Properties of Secondary Working Fluids for Indirect Systems" published in 2010
by IIR :cite:`Melinder-BOOK-2010` with coefficients obtained from a fit between
-80 |degC| and +100 |degC|: DEB, HCM, HFE, PMS1, PMS2, SAB, HCB and TCO.
#Density of a lithium bromide solution at 300 K and 1 atm.
In [1]: PropsSI('D','T',300,'P',101325,'INCOMP::LiBr[0.23]')
Some additional secondary cooling fluids are based on data compiled by Morten
Juel Skovrup in his `SecCool software <http://en.ipu.dk/Indhold/refrigeration-and-energy-technology/seccool.aspx>`_
provided by his employer `IPU <http://en.ipu.dk>`_. Fits have been made for the
manufacturer data stored in the software. The Aspen Temper fluids (AS10, AS20,
AS30, AS40, AS55) are a blend of potassium formate and sodiumpropionate and the
Zitrec S group (ZS10, ZS25, ZS40, ZS45 and ZS55) consists mainly of potassium
acetate and potassium formate.
#Specific heat capacity of a lithium bromide solution at 300 K and 1 atm
In [1]: PropsSI('C','T',300,'P',101325,'INCOMP::LiBr-0.23%')
There are also a few high temperature heat transfer fluids with individual
temperature ranges. Please refer to the table below for a complete overview.
For these fluids, information from commercial data sheets was used to obtain
coefficients.
#Specific enthalpy of a lithium bromide solution at 300 K and 1 atm
In [1]: PropsSI('H','T',300,'P',101325,'INCOMP::LiBr-0.23%')
.. _Pure:
.. csv-table:: All incompressible pure fluids included in CoolProp
:widths: 10, 35, 25, 15, 15
:header-rows: 1
:file: ../_static/fluid_properties/incompressible/table/pure-fluids.csv
In [1]: PropsSI('T','H',28627,'P',101325,'INCOMP::LiBr-0.23%')
.. warning::
Some mixture function have a non-monotonic behaviour, this can lead to misleading
results when using other inputs than :math:`f(p,T)`. Keep that in mind and
implement a way to validate the results you get from these functions. At the same
time, mixture solvers are likely to produce errors due to the same reason...
Aqueous Mixtures - Solutions and Brines
---------------------------------------
.. _MassMix:
.. csv-table:: All incompressible mass-based binary mixtures included in CoolProp
:widths: 10, 30, 20, 10, 10, 10, 10
:header-rows: 1
:file: ../_static/fluid_properties/incompressible/table/mass-based-fluids.csv
.. .. _MoleMix:
.. .. csv-table:: All incompressible mole-based binary mixtures included in CoolProp
:widths: 10, 30, 20, 10, 10, 10, 10
:header-rows: 1
:file: ../_static/fluid_properties/incompressible/table/mole-based-fluids.csv
.. _VoluMix:
.. csv-table:: All incompressible volume-based binary mixtures included in CoolProp
:widths: 10, 30, 20, 10, 10, 10, 10
:header-rows: 1
:file: ../_static/fluid_properties/incompressible/table/volume-based-fluids.csv
@@ -143,14 +143,14 @@ Fitting Reports
---------------------------------------
A file with all fitting reports for the incompressible fluids can be obtained
from :download:`here </_static/fluid_properties/incompressible/report/all_incompressibles.pdf>`. These reports help you to
from :download:`here</_static/fluid_properties/incompressible/report/all_incompressibles.pdf>`. These reports help you to
get an overview over the different incompressible fluids
included in CoolProp. The reports start with some basic information about
the fluid. There is the name by which it can be accessed through the
interface in the title "Fitting Report for *FluidName*" as well as a description
of what the fluid actually is, this could also be a trade name or a commonly
used non-scientific name. The next item tells you where we got the data from. This
would typically be a data sheet from a manufacturers homepage, some other software
the fluid. The fluid name used in CoolProp is in the title "Fitting Report for *FluidName*"
and there is also a description of what the fluid actually consists of. The latter
could also be a trade name or a commonly used non-scientific name. The next item
tells you where we got the data from. This
would typically be a data sheet from a manufacturer's homepage, some other software
database, a scientific publication or experimental data.
.. figure:: /_static/fluid_properties/incompressible/report/report2up.jpg
@@ -161,10 +161,10 @@ database, a scientific publication or experimental data.
fluid and a binary mixture. You can also have a look at the
:download:`PDF version</_static/fluid_properties/incompressible/report/report2up.pdf>` of the reports side by side.
If all data is available, there is a graphs for each of the basic quantities
If all data are available, there is a graph for each of the basic quantities:
density :math:`\rho`, specific heat capacity :math:`c`, thermal conductivity
:math:`\lambda`, dynamic viscosity :math:`\mu`, saturation pressure
:math:`p_{sat}`, and freezing temperature :math:`T_{freeze}`. These graphs show
:math:`p_\text{sat}`, and freezing temperature :math:`T_\text{freeze}`. These graphs show
data points in dark blue, the fitted function from CoolProp as a red line and the
relative error in light blue dots. Note that the relative error uses the ordinate
on the right hand side while the other two data series refer to the axis on the
@@ -173,221 +173,165 @@ that typically lies in the middle of the allowed range. Dashed red lines indicat
the limits in terms of concentration as well as the freezing temperature.
.. _Equations:
Equations
----------------------
---------
Exp or log for visc, other poly or log poly
Incompressible Liquids
----------------------
There is also a selection of incompressible liquids implemented. These only allow for calls with
temperature and pressure as input and provide only a subset of thermophysical properties, namely:
density, heat capacity, internal energy, enthalpy, entropy, viscosity and thermal conductivity.
Hence, the available output keys for the ``Props`` function are: "D", "C", "U", "H", "S", "V", "L",
"Tmin", "Tmax" and "Psat". An internal iteration allows us to use enthalpy and pressure as inputs,
but be aware of the reduced computational efficiency.
.. ipython::
In [1]: from CoolProp.CoolProp import PropsSI
#Density of HFE-7100 at 300 K and 1 atm.
In [1]: PropsSI('D','T',300,'P',101325,'INCOMP::HFE')
For refrigeration applications, 8 fluids were implemented from Aake Melinder "Properties of
Secondary Working Fluids for Indirect Systems" published in 2010 by IIR and coefficients are
obtained from a fit between -80 and +100 degrees Celsius.
========================== ===================================================
Fluid Name Description
========================== ===================================================
``DEB`` Diethyl Benzene
``HCM`` Hydrocarbon Mixture (Therminol D12 Solutia)
``HFE`` Hydrofluoroether HFE-7100
``PMS1`` Polydimethylsiloxan 1.
``PMS2`` Polydimethylsiloxan 2.
``SAB`` Synthetic alkyl benzene
``HCB`` Hydrocarbon blend (Dynalene MV)
``TCO`` Terpene from citrus oils
========================== ===================================================
Some additional secondary cooling fluids are based on data compiled by Morten Juel Skovrup in
his `SecCool software <http://en.ipu.dk/Indhold/refrigeration-and-energy-technology/seccool.aspx>`_
provided by his employer `IPU <http://en.ipu.dk>`_. Fits have been made according to the manufacturer
data stored in the sodtware. The Aspen Temper fluids are a blend of potassium formate and sodiumpropionate
and the Zitrec S group consists mainly of potassium acetate and potassium formate.
========================== ===================================================
Fluid Name Description
========================== ===================================================
``AS10`` Aspen Temper -10 (-10 to +27.5 C)
``AS20`` Aspen Temper -20 (-20 to +27.5 C)
``AS30`` Aspen Temper -30 (-30 to +27.5 C)
``AS40`` Aspen Temper -40 (-40 to +27.5 C)
``AS55`` Aspen Temper -55 (-55 to +27.5 C)
``ZS10`` Zitrec S -10 (-10 to +85 C)
``ZS25`` Zitrec S -25 (-25 to +85 C)
``ZS40`` Zitrec S -40 (-40 to +85 C)
``ZS45`` Zitrec S -45 (-45 to +85 C)
``ZS55`` Zitrec S -55 (-55 to +85 C)
========================== ===================================================
There are also a few high temperature heat transfer fluids with individual temperature ranges. Please
refer to the file IncompLiquid.h for a complete overview. For these fluids, information from commercial
data sheets was used to obtain coefficients.
========================== ===================================================
Fluid Name Description
========================== ===================================================
``TD12`` Therminol D12 (-85 to +230 C)
``TVP1`` Therminol VP-1 (+12 to +397 C)
``T72`` Therminol 72 (-10 to +380 C)
``T66`` Therminol 66 (0 to +345 C)
``DowJ`` Dowtherm J (-80 to +345 C)
``DowQ`` Dowtherm Q (-35 to +360 C)
``TX22`` Texatherm 22 (0 to +350 C)
``NaK`` Nitrate Salt Blend (+300 to +600 C)
``XLT`` Syltherm XLT (-100 to +260 C)
``HC10`` Dynalene HC-10 (-10 to +218 C)
``HC20`` Dynalene HC-20 (-20 to +210 C)
``HC30`` Dynalene HC-30 (-30 to +210 C)
``HC40`` Dynalene HC-40 (-40 to +200 C)
``HC50`` Dynalene HC-50 (-50 to +210 C)
========================== ===================================================
All fluids are implemented with polynomials for density and heat capacity with typically 4 coefficients
and hence a third order polynomial. Thermal conductivity is a second order polynomial and viscosity and
vapour pressure are exponential functions.
There are only four different equations used to calculate the thermophysical
properties of incompressible fluids in CoolProp:
.. math::
\rho &= \sum_{i=0}^n C_{\rho}[i] \cdot T^i \\
c &= \sum_{i=0}^n C_{c}[i] \cdot T^i \\
u &= \int_{0}^{1} c\left( T \right) dT
= \sum_{i=0}^n \frac{1}{i+1} \cdot C_{c}[i]
\cdot \left( T_1^{i+1} - T_0^{i+1} \right) \\
s &= \int_{0}^{1} \frac{c\left( T \right)}{T} dT
= C_{c}[0] \cdot \ln\left(\frac{T_1}{T_0}\right)
+ \sum_{i=0}^{n-1} \frac{1}{i+1} \cdot C_{c}[i+1]
\cdot \left( T_1^{i+1} - T_0^{i+1} \right) \\
\lambda &= \sum_{i=0}^n C_{\lambda}[i] \cdot T^i \\
\mu &= \exp\left( \frac{C_{\mu}[0]}{T+C_{\mu}[1]} - C_{\mu}[2] \right) \\
p_{sat} &= \exp\left( \frac{C_{sat}[0]}{T+C_{sat}[1]} - C_{sat}[2] \right) \\
f(T) &= \exp \left( \frac{C[0]}{T+C[1]} - C[2] \right) \text{, } \\
f(T) &= \exp \left( \log \left( \sum_{i=0}^l \left( T+C[0] \right)^{-i-1} \right) \cdot C[1] + C[2] \right) \text{, } \\
f(T,x)&= \sum_{i=0}^n x^i \cdot \sum_{j=0}^m C[i,j] \cdot T^j \text{ and } \\
f(T,x)&= \exp \left( \sum_{i=0}^n x^i \cdot \sum_{j=0}^m C[i,j] \cdot T^j \right) \text{. } \\
Only the last two are suitable for mixtures with the input parameter :math:`x`
denoting the fraction of component other than water. Following the works of
Melinder :cite:`Melinder2010` and Skovrup :cite:`Skovrup2013`, the exponents
for the polynomials are arranged in a triangular matrix to avoid overfitting.
These conditions satisfy :math:`0 \leq i \leq n`, :math:`0 \leq j \leq m`
and :math:`i + j \leq \max(n,m)`. It is only for the freezing temperature calculation
that the implemented procedures differ from what is presented in Melinder's
book :cite:`Melinder2010`. Freezing temperature is only a function of concentration
and the dependency on the fluid temperature has been removed. For mixtures,
:math:`m=5` and :math:`n=3` are assigned as default values.
Omitting the composition term with :math:`n=0` yields the pure fluid formulations
for which we selected :math:`l=1` and :math:`m=4`.
Brines and Solutions
--------------------
All the brines and solutions can be accessed through the Props function. To use them, the fluid name
is something like ``"MEG-20%"`` which is a 20% by mass ethylene glycol solution. Note that these fluids
have an arbitrary reference state: Be careful with enthalpy and entropy calculations. Again, only
temperature and pressure inputs are supported directly to calculate the same subset of thermophysical
properties as above , namely: density, heat capacity, internal energy, enthalpy, entropy, viscosity
and thermal conductivity. Hence, the available output keys for the ``Props`` function are: "D", "C",
"U", "H", "S", "V", "L", "Tmin", Tmax" and "Tfreeze". An internal iteration allows us to use enthalpy
and pressure as inputs, but be aware of the reduced computational efficiency.
The standard polynomials are used for the density, heat capacity and thermal
conductivity functions, while viscosity, vapour pressure and freezing temperature
are exponential functions. For exponential functions of only one variable
(:math:`\mu(T)`, :math:`p_\text{sat}(T)`, :math:`T_\text{freeze}(x)`), we start by fitting the
first equation. If the fit quality is poor, we try the second exponential function.
The exponential polynomial is used as a fall-back function for single variable
fits and it is the only function used for multivariate fits, e.g. :math:`\mu(T,x)`.
.. ipython::
If you would like to know more about the fitting procedures, you can have a look
at this `Python notebook <http://nbviewer.ipython.org/github/CoolProp/CoolProp/blob/master/dev/incompressible_liquids/LinearAlgebra.ipynb>`_,
which describes the basics of the multivariate polynomial fits employed in this
software. Non-polynomial functions are fitted using the minimisation routines
accessible through SciPy :cite:`Jones2001`. For the extremely curious, the
Python module `CPIncomp <https://github.com/CoolProp/CoolProp/tree/master/dev/incompressible_liquids/CPIncomp>`_
contains the source code for the fits used in CoolProp as well as the code to
generate the fitting reports. Feel free to browse the code.
In [1]: from CoolProp.CoolProp import PropsSI
Using only polynomials for the heat capacity functions, we can derive internal
energy and entropy by integrating the specific heat capacity
#Specific heat 20% mass ethylene glycol solution at 300 K and 1 atm.
In [1]: PropsSI('C','T',300,'P',101.325,'INCOMP::MEG-20%')
For Lithium-Bromide, the publication by Patek and Klomfar from 2005 was implemented based on the
source code provided by the authors. The `paper <http://dx.doi.org/10.1016/j.ijrefrig.2005.10.007>`_
covering the equations can be found in the
`International Journal of Refrigeration <http://dx.doi.org/10.1016/j.ijrefrig.2005.10.007>`_. Data is
available for temperatures from 0 C to 225 C and for the full composition range. Use ``LiBr`` to acccess
the functions.
A number of aqueous solutions are implemented using the coefficients from Aake Melinder "Properties of
Secondary Working Fluids for Indirect Systems" published in 2010 by IIR. According to the book, 2D
polynomials are given in a form that satisfies :math:`0 \leq i \leq 5`, :math:`0 \leq j \leq 3`
and :math:`i + j \leq 5` yielding a triangular matrix of coefficients. It is only for the freezing
temperature calculation that the implemented procedures differ from what is presented in Melinder's
book the dependency on the current temperature is removed. In CoolProp, :math:`T_{freeze}` only depends
on concentration.
========================== =================================================== ================= =================
Melinder Fluids Description max. T max. x
========================== =================================================== ================= =================
``MEG`` Ethylene Glycol (C2H6O2) +100 C 60 %
``MPG`` Propylene Glycol (C3H8O2) +100 C 60 %
``MEA`` Ethyl Alcohol, Ethanol (C2H6O) +40 C 60 %
``MMA`` Methyl Alcohol, Methanol (CH4O) +40 C 60 %
``MGL`` Glycerol (C3H8O3) +40 C 60 %
``MAM`` Ammonia (NH3) +30 C 30 %
``MKC`` Potassium Carbonate (K2CO3) +40 C 40 %
``MCA`` Calcium Chloride (CaCl2) +40 C 30 %
``MMG`` Magnesium Chloride (MgCl2) +40 C 30 %
``MNA`` Sodium Chloride (NaCl) +40 C 23 %
``MKA`` Potassium Acetate (CH3CO2K) +40 C 45 %
``MKF`` Potassium Formate (CHKO2) +40 C 48 %
``MLI`` Lithium Chloride (LiCl) +40 C 24 %
========================== =================================================== ================= =================
Furthermore, there is a number of other secondary fluids that can be accessed in the same way. Most
information is based on the data compiled by Morten Juel Skovrup in his `SecCool software <http://en.ipu.dk/Indhold/refrigeration-and-energy-technology/seccool.aspx>`_
provided by his employer `IPU <http://en.ipu.dk>`_. The coefficient matrix of the SecCool-based fluids
has the same structure as mentioned above.
For slurry ice, the concentration :math:`x` refers to the solid content and the heat capacity includes the heat of fusion.
It might be necessary to adjust the solid content during heat transfer. The implementation is based on the data available
in SecCool, which was originally recorded at the `Danish Technological Institute (DTI) <http://www.dti.dk/>`_.
========================== =================================================== ================= =================
SecCool Fluids Description max. T max. x
========================== =================================================== ================= =================
``ZiAC`` ZitrecAC (corrosion inhibitor) +100 C 50 %
``IceEA`` Ethanol-water mixture with slurry ice -10 C 35 %
``IcePG`` Propylene glycol-water mixture with slurry ice -10 C 35 %
``IceNA`` Sodium chloride-water mixture with slurry ice -5 C 35 %
``PK2000`` Pekasol 2000 (Potassium acetate and formate) +100 C 100 %
========================== =================================================== ================= =================
In both of the above cases, :math:`i` is the exponent for the concentration :math:`x` and :math:`j`
is used with the temperature :math:`T`. Properties are modelled with the following polynomials:
.. _BaseValue:
.. math::
\rho &= \sum_{i=0}^n x^i \cdot \sum_{j=0}^m C_{\rho}[i,j] \cdot T^j \\
c &= \sum_{i=0}^n x^i \cdot \sum_{j=0}^m C_{c}[i,j] \cdot T^j \\
c &= \sum_{i=0}^n x^i \cdot \sum_{j=0}^m C_{c}[i,j] \cdot T^j \text{ yielding } \\
u &= \int_{0}^{1} c\left( x,T \right) dT
= \sum_{i=0}^n x^i \cdot \sum_{j=0}^m \frac{1}{j+1} \cdot C_{c}[i,j]
\cdot \left( T_1^{j+1} - T_0^{j+1} \right) \\
\cdot \left( T_{1}^{j+1} - T_{0}^{j+1} \right) \text{ and } \\
s &= \int_{0}^{1} \frac{c\left( x,T \right)}{T} dT
= \sum_{i=0}^n x^i \cdot \left(
C_{c}[i,0] \cdot \ln\left(\frac{T_1}{T_0}\right)
+ \sum_{j=0}^{m-1} \frac{1}{j+1} \cdot C_{c}[i,j+1] \cdot \left( T_1^{j+1} - T_0^{j+1} \right)
C_{c}[i,0] \cdot \ln\left(\frac{T_{1}}{T_{0}}\right)
+ \sum_{j=0}^{m-1} \frac{1}{j+1} \cdot C_{c}[i,j+1] \cdot \left( T_{1}^{j+1} - T_{0}^{j+1} \right)
\right) \\
\lambda &= \sum_{i=0}^n x^i \cdot \sum_{j=0}^m C_{\lambda}[i,j] \cdot T^j \\
\mu &= \exp \left( \sum_{i=0}^n x^i \cdot \sum_{j=0}^m C_{\mu}[i,j] \cdot T^j \right) \\
T_{freeze} &= \sum_{i=0}^n C_{freeze}[i] \cdot x^i \\
Using a centered approach for the independent variables,
the fit quality can be enhanced. Therefore, all solutions have a reference temperature and concentration
in the original work by Melinder and Skovrup as well as in CoolProp: :math:`x = x_{real} - x_{ref}`
and :math:`T = T_{real} - T_{ref}`, this technique does not affect the calculation
According to Melinder :cite:`Melinder2010` and Skovrup :cite:`Skovrup2013`,
using a centred approach for the independent variables enhances the fit quality.
Therefore, all solutions have a base temperature and concentration in the original
works as well as in CoolProp: :math:`x_\text{in} = x - x_\text{base}`
and :math:`T_\text{in} = T - T_\text{base}`, this technique does not affect the calculation
of the derived quantity internal energy since the formula contains temperature differences.
However, integrating :math:`c(x,T)T^{-1}dT` for the entropy requires some changes due to
the logarithm. To structure the problem, we introduce a variable :math:`d(j,T_{real})`, which will be expressed by a third sum.
As a first step for simplification, one has to expand the the binomial :math:`(T_{real}-T_{ref})^n` to a series.
Only containing :math:`j` and :math:`T_{real}`, :math:`d` is independent from :math:`x` and can be
computed outside the loop for enhanced computational efficiency. An integration of the expanded binomial
then yields the final factor :math:`D` to be multiplied with the other coefficients and the concentration.
However, integrating :math:`c(x_\text{in},T_\text{in})T_\text{in}^{-1}dT_\text{in}` for the entropy requires some changes due to
the logarithm.
.. warning::
You must **not** use the base temperature :math:`T_\text{base}`
as reference temperature for your thermodynamic states. This will lead to an
error caused by a division by zero during the integration carried out to
obtain the entropy.
To structure the problem, we introduce a variable :math:`f(j,T)`,
which will be expressed by a third sum. As a first step for simplification, one
has to expand the the binomial :math:`(T-T_{base})^n` to a series. Only
containing :math:`j` and :math:`T`, :math:`f` is independent from :math:`x_\text{in}` and
can be computed outside the loop for enhanced computational efficiency. An
integration of the expanded binomial then yields the final factor :math:`F` to
be multiplied with the other coefficients and the concentration.
.. math::
s &= \int_{0}^{1} \frac{c\left( x,T \right)}{T} dT = \sum_{i=0}^n x^i \cdot \sum_{j=0}^m C_{c}[i,j] \cdot D(j,T_0,T_1) \\
D &= (-1)^j \cdot \ln \left( \frac{T_1}{T_0} \right) \cdot T_{ref}^j + \sum_{k=0}^{j-1} \binom{j}{k} \cdot \frac{(-1)^k}{j-k} \cdot \left( T_1^{j-k} - T_0^{j-k} \right) \cdot T_{ref}^k
s &= \int_{0}^{1} \frac{c\left( x_\text{in},T_\text{in} \right)}{T_\text{in}} dT_\text{in} = \sum_{i=0}^n x_\text{in}^i \cdot \sum_{j=0}^m C_{c}[i,j] \cdot F(j,T_\text{in,0},T_\text{in,1}) \\
F &= (-1)^j \cdot \ln \left( \frac{T_\text{in,1}}{T_\text{in,0}} \right) \cdot T_{base}^j + \sum_{k=0}^{j-1} \binom{j}{k} \cdot \frac{(-1)^k}{j-k} \cdot \left( T_\text{in,1}^{j-k} - T_\text{in,0}^{j-k} \right) \cdot T_{base}^k
.. bibliography:: ../../CoolPropBibTeXLibrary.bib
:style: unsrt
The Different Fluids
--------------------
The fluids implemented in CoolProp cover a wide range of industrial heat
transfer media. This database has initially been developed with refrigeration
systems in mind. That is why the majority of fluids are secondary refrigerants
with application temperatures close to the freezing point of water. Besides those,
there is also incompressible water, high temperature heat transfer oils and a
molten salt mixture for extreme temperatures.
Besides the different technical data sheets and calculation tools provided by
manufactures, two specific publications provided a lot of data used for the
incompressible fluids: Åke Melinder's book *Properties of Secondary Working
Fluids for Indirect Systems* :cite:`Melinder2010` has inspired both, the work on
pure fluids and aqueous solutions. The second major source of inspiration is the
`SecCool <http://en.ipu.dk/Indhold/refrigeration-and-energy-technology/seccool.aspx>`_
:cite:`Skovrup2013` software, which contains data compiled by Morten Juel
Skovrup. It is provided free of charge by his employer `IPU <http://en.ipu.dk>`_.
.. _Pure:
.. csv-table:: All incompressible pure fluids included in CoolProp
:widths: 10, 35, 13, 14, 14, 14
:header-rows: 1
:file: ../_static/fluid_properties/incompressible/table/pure-fluids.csv
There are also a number of water-based mixtures implemented in CoolProp. Most of them
are secondary heat transfer fluids, but there are also aqueous solutions of
ammonia :cite:`Melinder2010`, :download:`MAM<../_static/fluid_properties/incompressible/report/MAM_fitreport.pdf>`,
and lithium bromide :cite:`Patek2006`, :download:`LiBr<../_static/fluid_properties/incompressible/report/LiBr_fitreport.pdf>`,
which can be used to model absorption chillers.
.. _MassMix:
.. csv-table:: All incompressible mass-based binary mixtures included in CoolProp
:widths: 10, 30, 11, 11, 11, 11, 8, 8
:header-rows: 1
:file: ../_static/fluid_properties/incompressible/table/mass-based-fluids.csv
.. .. _MoleMix:
.. .. csv-table:: All incompressible mole-based binary mixtures included in CoolProp
:widths: 10, 30, 11, 11, 11, 11, 8, 8
:header-rows: 1
:file: ../_static/fluid_properties/incompressible/table/mole-based-fluids.csv
.. _VoluMix:
.. csv-table:: All incompressible volume-based binary mixtures included in CoolProp
:widths: 10, 30, 11, 11, 11, 11, 8, 8
:header-rows: 1
:file: ../_static/fluid_properties/incompressible/table/volume-based-fluids.csv
For slurry ice, the concentration :math:`x` refers to the solid content and the
heat capacity includes the heat of fusion. It might be necessary to adjust the
solid content during heat transfer. The implementation is based on the data
available in `SecCool <http://en.ipu.dk/Indhold/refrigeration-and-energy-technology/seccool.aspx>`_,
which was originally recorded at the Danish Technological Institute `(DTI) <http://www.dti.dk/>`_.
References
----------
.. bibliography:: Incompressibles.bib
:filter: docname in docnames
:style: unsrt

View File

@@ -1,12 +1,18 @@
.. _mixtures:
.. contents:: :depth: 2
********
Mixtures
********
Mixtures docs will go here when they are written.
Theoretical description
-----------------------
The mixture modeling used in CoolProp is based on the work of Kunz et al. :cite:`Kunz-BOOK-2007,Kunz-JCED-2012` and Lemmon :cite:`Lemmon-JPCRD-2000,Lemmon-JPCRD-2004,Lemmon-IJT-1999`
The treatment of mixtures in CoolProp as of v5 is quite rudimentary, though it will be improved in the very near future.
A mixture is composed of a number of components, and for each pair of components, it is necessary to have information for the excess Helmholtz energy term as well as the reducing function. See below for what binary pairs are included in CoolProp.
The numerical methods required for mixtures are far more complicated than those for pure fluids, so the number of flash routines that are currently available are relatively small compared to pure fluids.
The only types of inputs that are allowed for mixtures right now are
@@ -14,21 +20,46 @@ The only types of inputs that are allowed for mixtures right now are
- Temperature/quality
- Temperature/pressure
.. Used in Python script later on
.. role:: raw-html(raw)
:format: html
Binary pairs
------------
.. note::
Please hover the mouse pointer over the coefficients to get the full accuracy
for the listed coefficients. You can also get more information on references
that are not in bibliography.
.. csv-table:: All binary pairs included in CoolProp
:header-rows: 1
:file: mixture_binary_pairs.csv
Phase Envelope
--------------
.. plot::
import CoolProp
import matplotlib.pyplot as plt
HEOS = CoolProp.AbstractState('HEOS','R32&R134a')
HEOS = CoolProp.AbstractState('HEOS','Methane&Ethane')
for x0 in [0.02, 0.2, 0.4, 0.6, 0.8, 0.98]:
HEOS.set_mole_fractions([x0, 1 - x0])
try:
HEOS.build_phase_envelope("dummy")
except ValueError as VE:
print VE
print(VE)
PE = HEOS.get_phase_envelope_data()
plt.plot(PE.rhomolar_vap, PE.rhomolar_liq, 'o-')
plt.plot(PE.T, PE.p, 'o-')
plt.xlabel('Temperature [K]')
plt.ylabel('Pressure [Pa]')
plt.tight_layout()
plt.tight_layout()
References
----------
.. bibliography:: ../../CoolPropBibTeXLibrary.bib
:filter: docname in docnames
:style: unsrt

View File

@@ -0,0 +1,54 @@
'''
Created on 26 Sep 2014
@author: jowr
'''
import os
from CoolProp.BibtexParser import BibTeXerClass
def getPath(filename, search=True):
# Path to root
coolprop_dir = os.path.abspath(os.path.join(os.path.dirname(__file__),'..','..'))
# Test for file
fname = filename
if os.path.exists(fname): return os.path.abspath(fname)
# Test relative to this file
fname = os.path.join(os.path.dirname(__file__),filename)
if os.path.exists(fname): return os.path.abspath(fname)
# Test relative to root notation
fname = os.path.join(coolprop_dir,filename)
if os.path.exists(fname): return os.path.abspath(fname)
# Search in root tree
fname = os.path.basename(filename)
if search:
result = []
for root, dirs, files in os.walk(coolprop_dir):
if fname in files:
result.append(os.path.join(root, fname))
if len(result)==1:
return os.path.abspath(result[0])
elif len(result)>1:
print "Found multiple files with the name {0}. Try to specify the path as well.".format(fname)
print result
return os.path.abspath(result[0])
raise ValueError("Found no file with the name {0}. Try to specify the path as well.".format(fname))
def getBibtexParser(filename = '../../../CoolPropBibTeXLibrary.bib'):
"""Create a parser object that can be used to extract entries from a
library in Bibtex format."""
fpath = getPath(filename)
bibtexer = BibTeXerClass(fpath)
return bibtexer
def getCitationOrAlternative(bibtexer, bibtex_key):
"""Find the key in the library and convert to a citation, if it is not found,
we return a footnote string for sphinx."""
bibtex_key = bibtex_key.strip()
if bibtex_key in bibtexer.library.entries:
return u':cite:`{0}`'.format(bibtex_key)
else:
return u':raw-html:`<span title="{0}">Source</span>`'.format(bibtex_key)

View File

@@ -0,0 +1,69 @@
'''
Created on 26 Sep 2014
@author: jowr
'''
import codecs
import csv
import cStringIO
class UTF8Recoder:
"""
Iterator that reads an encoded stream and reencodes the input to UTF-8
"""
def __init__(self, f, encoding):
self.reader = codecs.getreader(encoding)(f)
def __iter__(self):
return self
def next(self):
return self.reader.next().encode("utf-8")
class UnicodeReader:
"""
A CSV reader which will iterate over lines in the CSV file "f",
which is encoded in the given encoding.
"""
def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds):
f = UTF8Recoder(f, encoding)
self.reader = csv.reader(f, dialect=dialect, **kwds)
def next(self):
row = self.reader.next()
return [unicode(s, "utf-8") for s in row]
def __iter__(self):
return self
class UnicodeWriter:
"""
A CSV writer which will write rows to CSV file "f",
which is encoded in the given encoding.
"""
def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds):
# Redirect output to a queue
self.queue = cStringIO.StringIO()
self.writer = csv.writer(self.queue, dialect=dialect, **kwds)
self.stream = f
self.encoder = codecs.getincrementalencoder(encoding)()
def writerow(self, row):
self.writer.writerow([s.encode("utf-8") for s in row])
# Fetch UTF-8 output from the queue ...
data = self.queue.getvalue()
data = data.decode("utf-8")
# ... and reencode it into the target encoding
data = self.encoder.encode(data)
# write to the target stream
self.stream.write(data)
# empty queue
self.queue.truncate(0)
def writerows(self, rows):
for row in rows:
self.writerow(row)

View File

@@ -0,0 +1,21 @@
"""
CPWeb - A collection of commonly used routines to produce CoolProp's online documentation
=====
"""
from __future__ import division, absolute_import, print_function
import codecs
import csv
import cStringIO
def get_version():
return 5.0
if __name__ == "__main__":
print('You are using version %s of the Python package for creating CoolProp\' online documentation.'%(get_version()))
print()

View File

@@ -0,0 +1,68 @@
from CPWeb.BibtexTools import getCitationOrAlternative, getBibtexParser
import CoolProp
import os.path
web_dir = os.path.abspath(os.path.join(os.path.dirname(__file__),'..'))
csvfile = os.path.join(web_dir,'fluid_properties','mixture_binary_pairs.csv')
def merge_args(*args):
return " :raw-html:`<br/>` ".join(list(args))
def printCoeff(number):
if number is None or \
len(str(number).strip())<1:
return " "
number = float(number)
short = "{0:.4e}".format(number)
long = "{0:.14e}".format(number)
return u':raw-html:`<span title="{1}">{0}</span>`'.format(short,long)
class Dossier:
def __init__(self):
self.data = {}
def add(self, key, value):
if key not in self.data:
self.data[key] = []
self.data[key].append(value)
d = Dossier()
pairs = CoolProp.get('mixture_binary_pairs_list')
for pair in pairs.split(','):
CAS1, CAS2 = pair.split('&')
d.add('CAS1', CAS1)
d.add('CAS2', CAS2)
for key in ['name1','name2','F','function','BibTeX','xi','zeta','betaT','betaV','gammaT','gammaV']:
try:
d.add(key, CoolProp.CoolProp.get_mixture_binary_pair_data(CAS1, CAS2, key))
except BaseException as BE:
d.add(key, '')
import pandas
df = pandas.DataFrame(d.data)
df = df.sort(['BibTeX','name1'], ascending = [0, 1])
bibtexer = getBibtexParser()#filename = '../../../CoolPropBibTeXLibrary.bib')
with open(csvfile,'w') as fp:
header = 'Ref.,Name1,Name2,function,F,'
header += merge_args("xi","zeta,")
header += merge_args("betaT","betaV,")
header += merge_args("gammaT","gammaV")
header += '\n'
fp.write(header)
for index, row in df.iterrows():
text = ','.join([ \
getCitationOrAlternative(bibtexer,row['BibTeX']),
row['name1'],
row['name2'],
row['function'],
row['F'],
merge_args(printCoeff(row['xi']),printCoeff(row['zeta'])),
merge_args(printCoeff(row['betaT']),printCoeff(row['betaV'])),
merge_args(printCoeff(row['gammaT']),printCoeff(row['gammaV']))
])+'\n'
fp.write(text)

View File

@@ -1,90 +0,0 @@
from __future__ import print_function
import json as pyjson
from datetime import datetime
import struct
import os
import argparse, textwrap
import sys
import generate_headers
# 0: Input file path relative to dev folder
# 1: Output file path relative to include folder
# 2: Name of variable
values = [
('all_fluids.json','all_fluids_JSON.h','all_fluids_JSON'),
('all_incompressibles.json','all_incompressibles_JSON.h','all_incompressibles_JSON'),
('mixtures/mixture_excess_term.json', 'mixture_excess_term_JSON.h', 'mixture_excess_term_JSON'),
('mixtures/mixture_reducing_parameters.json', 'mixture_reducing_parameters_JSON.h', 'mixture_reducing_parameters_JSON')
]
def TO_CPP(root_dir, hashes):
def to_chunks(l, n):
if n<1:
n=1
return [l[i:i+n] for i in range(0, len(l), n)]
# Normalise path name
root_dir = os.path.normpath(root_dir)
# First we package up the JSON files
import package_json
package_json.combine_json(root_dir)
for infile,outfile,variable in values:
json = open(os.path.join(root_dir,'dev',infile),'r').read()
# convert each character to hex and add a terminating NULL character to end the
# string, join into a comma separated string
if sys.version_info[0] == 2:
h = [hex(struct.unpack("b",b)[0]) for b in json] + ['0x00']
else:
# Encode as ASCII characters
json = json.encode('ascii')
h = [str(hex(b)) for b in json] + [str('0x00')]
# Break up the file into lines of 16 hex characters
chunks = to_chunks(h, 16)
# Put the lines back together again
# The chunks are joined together with commas, and then EOL are used to join the rest
hex_string = ',\n'.join([', '.join(chunk) for chunk in chunks])
# Check if hash is up to date based on using variable as key
if variable not in hashes or (variable in hashes and hashes[variable] != generate_headers.get_hash(hex_string)):
# Generate the output string
output = '// File generated by the script dev/JSON_to_CPP.py on '+ str(datetime.now()) + '\n\n'
output += '// JSON file encoded in binary form\n'
output += 'const unsigned char '+variable+'_binary[] = {\n' + hex_string + '\n};'+'\n\n'
output += '// Combined into a single std::string \n'
output += 'std::string {v:s}({v:s}_binary, {v:s}_binary + sizeof({v:s}_binary)/sizeof({v:s}_binary[0]));'.format(v = variable)
# Write it to file
f = open(os.path.join(root_dir,'include',outfile), 'w')
f.write(output)
f.close()
# Store the hash of the data that was written to file (not including the header)
hashes[variable] = generate_headers.get_hash(hex_string)
else:
print(outfile + ' is up to date')
if __name__=='__main__':
parser = argparse.ArgumentParser(
formatter_class=argparse.RawDescriptionHelpFormatter,
description=textwrap.dedent("""CoolProp
This program converts the JSON files from dev/fluid etc
to header files. It is necessary to give this program the
value for --path, this is the root directory where
dev/ can be found.""")
)
parser.add_argument('--path', required=False,
help='Location of the root folder',
default=None)
args = parser.parse_args()
TO_CPP(args.path)

View File

@@ -1,50 +0,0 @@
Buildbot masters and slaves
===========================
Master
------
From the root of the git checkout (this will use the master.cfg from CoolProp)
```
pip install buildbot
cd dev/buildbot
buildbot create-master master
buildbot start master
```
The file ``buildbot-private.py`` (which is a python module with the passwords for the slaves as well as the buildbot website), should also be placed in the master folder next to master.cfg. Alternatively, you can put the ``buildbot_private.py`` in another folder on the master's computer and make a soft-link in the master folder to point to the buildbot_private.py file.
If you want to completely restart the master, you can do
```
buildbot restart master
```
but usually a
```
buildbot reconfig master
```
will do the job since it will just reparse the configuration file without signing you out of the server
To ensure that the buildbot server stays online, you can make a script with the contents
```
buildbot start /path/to/master_folder
```
and add it to a cron job
Slaves
------
To start a slave connected to a buildbot master at IP address 10.0.0.2 (default for host for VirtualBox), with a slave named ``example-slave`` and passsword ``pass``, run the command
```
buildslave create-slave slave 10.0.0.2:9989 example-slave pass
buildslave start slave
```
If the master is somewhere else, just change the IP address.
On linux, you can add the following lines to the end of your ``~/.profile`` file (similar ideas apply on other platforms) to autostart the slave when the user logs in:
```
# Connect to the buildbot master
buildslave start ~/slave
```

View File

@@ -97,7 +97,7 @@ def sphinx_slave(platform, git_mode = 'incremental'):
# Run sphinx build
factory.addStep(ShellCommand(command=["python", "-c", "\"import CoolProp; print(CoolProp.__file___)\""], workdir= 'build/wrappers/Python', haltOnFailure = True))
# Run doxygen build
factory.addStep(ShellCommand(command=' '.join(["doxygen","Doxyfile","&&","mv","CoolPropDoxyLink.tag","Web/_static/doxygen"]), workdir= 'build', haltOnFailure = True))
factory.addStep(ShellCommand(command=' '.join(["doxygen","Doxyfile"]), workdir= 'build', haltOnFailure = True))
# Run sphinx apidoc
#factory.addStep(ShellCommand(command=["sphinx-apidoc","-T","-f","-o","apidoc","../CoolProp"],workdir= 'build/Web', haltOnFailure = True))
# Run sphinx build
@@ -151,6 +151,25 @@ def python_slave(key, platform, conda_env, cmake_args = [], cmake_env = {}, buil
return factory
def python_source_slave(key, platform, conda_env, cmake_args = [], cmake_env = {}, build_args = [], git_mode = 'incremental'):
factory = BuildFactory()
working_folder = "build/build"
factory.addStep(ShellCommand(command=cleanCommand, description='fullclean?', workdir=""))
# Check out sources
factory.addStep(Git(repourl='git://github.com/CoolProp/CoolProp', mode=git_mode, submodules = True, progress=True, haltOnFailure = True))
# Remove the temporary folder for installs
factory.addStep(RemoveDirectory(dir="build/install_root", haltOnFailure = True))
factory.addStep(MakeDirectory(dir=working_folder, haltOnFailure = True))
factory.addStep(ShellCommand(command = ' '.join(['source',"activate",conda_env,"&&","cmake", "..", "-DCOOLPROP_PYTHON_PYPI=ON","&&","cmake","--build","."]+cmake_args),
env = cmake_env,
workdir= working_folder,
haltOnFailure = True))
factory.addStep(DirectoryUpload(slavesrc="install_root", masterdest="public_html/binaries", url="binaries", compress="bz2"))
return factory
def deb_slave(git_mode = 'incremental'):
factory = BuildFactory()
working_folder = "build/wrappers/DEB"
@@ -298,7 +317,7 @@ BuilderConfig(name="Javascript-linux",
c['builders'].append(
BuilderConfig(name="Python-sdist",
slavenames=["OSX-slave"],
factory = python_slave("PYPI", platform = 'OSX', conda_env = 'py27')
factory = python_source_slave("PYPI", platform = 'OSX', conda_env = 'py27')
)
)

View File

@@ -134,8 +134,6 @@
<File Name="../../include/Ice.h"/>
<File Name="../../include/IncompressibleFluid.h"/>
<File Name="../../include/MatrixMath.h"/>
<File Name="../../include/mixture_excess_term_JSON.h"/>
<File Name="../../include/mixture_reducing_parameters_JSON.h"/>
<File Name="../../include/PlatformDetermination.h"/>
<File Name="../../include/PolyMath.h"/>
<File Name="../../include/Solvers.h"/>

View File

@@ -353,22 +353,22 @@
],
"critical_region_splines": {
"T_max": 508.1,
"T_min": 508.0999999999062,
"T_min": 508.09697325761744,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-4.656219323212737e-09,
508.10002188423084
-1.5123933548972854e-11,
-1.7185082712306687e-08,
0.0011638028537861549,
504.579957217175
],
"cV": [
0.0,
0.0,
4.64031360324759e-09,
508.0999781905261
1.9536072269032177e-10,
-2.983480058312324e-06,
0.015098157455448244,
482.76079813563524
],
"rhomolar_max": 4700.020155407677,
"rhomolar_min": 4699.9797791519495
"rhomolar_max": 4814.181193727979,
"rhomolar_min": 4590.050467927069
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -506,22 +506,22 @@
],
"critical_region_splines": {
"T_max": 150.687,
"T_min": 150.68674395835467,
"T_min": 150.68697834063298,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-2.124793992189458e-06,
150.7154880259892
-6.171554333557227e-07,
150.69527446806111
],
"cV": [
0.0,
0.0,
2.1223479463722503e-06,
150.65854476919804
6.072607995401675e-07,
150.67885819354578
],
"rhomolar_max": 13527.931526630135,
"rhomolar_min": 13286.788909807183
"rhomolar_max": 13442.525139946354,
"rhomolar_min": 13371.76233564158
},
"gas_constant": 8.31451,
"gas_constant_units": "J/mol/K",

View File

@@ -367,22 +367,22 @@
],
"critical_region_splines": {
"T_max": 132.86,
"T_min": 132.85999999951312,
"T_min": 132.85867131966137,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-4.587508257048314e-09,
132.8600497744646
3.1174266374072594e-11,
-1.0578676813227408e-06,
0.011945990965038183,
87.96227472439597
],
"cV": [
0.0,
0.0,
4.611514127080118e-09,
132.85994996507173
-2.7988602187391993e-11,
8.673443114829891e-07,
-0.008936706896165105,
163.4668663127422
],
"rhomolar_max": 10850.106136720144,
"rhomolar_min": 10849.894418190801
"rhomolar_max": 11038.842068491349,
"rhomolar_min": 10664.189840198747
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -1,7 +1,7 @@
{
"ALIASES": [
"Cyclohexane",
"CYCLOHEXANE",
"CYCLOHEXANE",
"CYCLOHEX"
],
"ANCILLARIES": {
@@ -450,22 +450,22 @@
],
"critical_region_splines": {
"T_max": 553.6,
"T_min": 553.5999997660659,
"T_min": 553.5979946139788,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-8.175876311970891e-07,
553.602635902523
1.56104739484658e-08,
-0.00015385588557227471,
0.5052887091787223,
0.6345188298942561
],
"cV": [
0.0,
0.0,
8.181583620573008e-07,
553.5973622574407
-1.5338245208003638e-08,
0.0001454870563719106,
-0.45981527881664047,
1037.8236160527126
],
"rhomolar_max": 3224.286127290438,
"rhomolar_min": 3223.7140723774714
"rhomolar_max": 3252.773506033089,
"rhomolar_min": 3195.2323910542696
},
"gas_constant": 8.3144621,
"gas_constant_units": "J/mol/K",

View File

@@ -2,7 +2,7 @@
"ALIASES": [
"cyclopropane",
"Cyclopropane",
"CYCLOPROPANE",
"CYCLOPROPANE",
"CYCLOPRO"
],
"ANCILLARIES": {

View File

@@ -2,7 +2,7 @@
"ALIASES": [
"CycloPentane",
"cyclopentane",
"CYCLOPENTANE",
"CYCLOPENTANE",
"CYCLOPEN"
],
"ANCILLARIES": {
@@ -388,22 +388,22 @@
],
"critical_region_splines": {
"T_max": 511.72,
"T_min": 511.71999999967744,
"T_min": 511.7095934234679,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-3.3125554580735164e-08,
511.72012653961855
-4.880588052926918e-09,
5.252717316693226e-05,
-0.18764912368477027,
734.1005944101676
],
"cV": [
0.0,
0.0,
3.3109614501400934e-08,
511.71987352127263
5.250582737174832e-09,
-6.357124543112242e-05,
0.2558285044919253,
169.4290891702673
],
"rhomolar_max": 3820.0097389577454,
"rhomolar_min": 3819.990256554135
"rhomolar_max": 3873.2904355172786,
"rhomolar_min": 3766.813756733369
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -352,22 +352,22 @@
],
"critical_region_splines": {
"T_max": 645.78,
"T_min": 642.4672205036263,
"T_min": 645.4997615767367,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
-6.230392935143472e-05,
0.07816508273019042,
621.263969382756
-1.554702914197144e-07,
0.00027871311312902783,
-0.16613864293822964,
678.7008854032358
],
"cV": [
3.6584356889802007e-07,
-0.0006916100001806448,
0.43580969539355185,
554.2417982977918
2.1732433324774884e-07,
-0.00042927603672073575,
0.28201442644063596,
584.1491278422845
],
"rhomolar_max": 857.8775266580042,
"rhomolar_min": 421.67935851484685
"rhomolar_max": 725.3981107757561,
"rhomolar_min": 542.276230072255
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -440,22 +440,22 @@
],
"critical_region_splines": {
"T_max": 38.34,
"T_min": 38.339416735480214,
"T_min": 38.3399506598222,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-2.853182978628294e-06,
38.389160342721766
-8.339819490855398e-07,
38.35436950898275
],
"cV": [
0.0,
0.0,
2.8554684120896426e-06,
38.2908002792597
8.380089288669903e-07,
38.325561106155625
],
"rhomolar_max": 17434.42590754112,
"rhomolar_min": 17025.73770897889
"rhomolar_max": 17289.162165151512,
"rhomolar_min": 17171.122133543762
},
"gas_constant": 8.3144621,
"gas_constant_units": "J/mol/K",

View File

@@ -409,22 +409,22 @@
],
"critical_region_splines": {
"T_max": 557.0,
"T_min": 556.9998876027566,
"T_min": 556.9999904919641,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-1.3572331448181178e-06,
557.0054289325793
-2.1173490191325178e-07,
557.0008469396076
],
"cV": [
0.0,
0.0,
1.2967566129304942e-06,
556.9948129735483
2.0050706260121842e-07,
556.9991979717496
],
"rhomolar_max": 4082.813512058265,
"rhomolar_min": 3913.3243337382946
"rhomolar_max": 4044.9053782587557,
"rhomolar_min": 3952.580044972171
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -1,6 +1,6 @@
{
"ALIASES": [
"DIMETHYLETHER",
"DIMETHYLETHER",
"DME"
],
"ANCILLARIES": {
@@ -390,22 +390,22 @@
],
"critical_region_splines": {
"T_max": 400.378,
"T_min": 400.37110506132734,
"T_min": 400.3774167354802,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
-1.2340856080204133e-11,
-3.6668010216655235e-07,
0.005662449102513134,
382.2672995716492
0.0,
0.0,
-1.846177917829548e-05,
400.48766296831906
],
"cV": [
3.2678596450956466e-11,
-1.1690463919857066e-06,
0.010429215559579295,
372.82769480948826
0.0,
0.0,
1.8536722158567707e-05,
400.2678918703781
],
"rhomolar_max": 6048.293446297928,
"rhomolar_min": 5831.9191440537215
"rhomolar_max": 5971.593082884313,
"rhomolar_min": 5908.534646267459
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -1,7 +1,7 @@
{
"ALIASES": [
"ethylbenzene",
"ETHYLBENZENE",
"ETHYLBENZENE",
"EBENZENE"
],
"ANCILLARIES": {
@@ -382,22 +382,22 @@
],
"critical_region_splines": {
"T_max": 617.12,
"T_min": 617.1169732576175,
"T_min": 617.1197439583547,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
-5.889287007942239e-10,
2.7489748115156017e-06,
-0.0017958058182523087,
613.5170511389289
0.0,
0.0,
-2.3245131740117315e-05,
617.1837152780217
],
"cV": [
2.7233018397998547e-10,
-4.332169254554028e-06,
0.017610902629837312,
595.7882622446201
0.0,
0.0,
2.3091817015124984e-05,
617.0567049600925
],
"rhomolar_max": 2778.835947943192,
"rhomolar_min": 2703.079602802352
"rhomolar_max": 2752.0308502563307,
"rhomolar_min": 2729.928018264121
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -510,22 +510,22 @@
],
"critical_region_splines": {
"T_max": 282.35,
"T_min": 282.34697325761744,
"T_min": 282.3497439583547,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
-5.3490529714823425e-11,
1.1806509186406972e-06,
-0.008673975227377104,
303.55881549532984
0.0,
0.0,
-3.634935446259431e-06,
282.37775915135825
],
"cV": [
5.6266047158959514e-11,
-1.3340632313871347e-06,
0.010531516936650963,
254.66645559595844
0.0,
0.0,
3.6437107681563877e-06,
282.3221738335621
],
"rhomolar_max": 7866.912063903078,
"rhomolar_min": 7408.049532488636
"rhomolar_max": 7707.205098345808,
"rhomolar_min": 7566.496505023215
},
"gas_constant": 8.31451,
"gas_constant_units": "J/mol/K",

View File

@@ -362,22 +362,22 @@
],
"critical_region_splines": {
"T_max": 377.921,
"T_min": 377.92099999999897,
"T_min": 377.88522000242136,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-6.93839214284477e-10,
377.9210032250623
4.9355266611563965e-11,
-1.1363349519029853e-06,
0.00736469652648742,
363.2831553274167
],
"cV": [
0.0,
0.0,
5.712986843822467e-10,
377.9209973445233
-1.6224665103344288e-10,
1.8467354481248633e-06,
-0.0066516525010036605,
385.2331741502011
],
"rhomolar_max": 4648.142188502035,
"rhomolar_min": 4648.138929822613
"rhomolar_max": 4935.29110614525,
"rhomolar_min": 4335.002308503029
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -440,22 +440,22 @@
],
"critical_region_splines": {
"T_max": 5.1953000000000005,
"T_min": 5.141297013055385,
"T_min": 5.19073171770731,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
-4.82863868046167e-13,
2.5798878786242034e-08,
-0.0004593197751427837,
7.920274522054607
-3.0333435224167437e-13,
1.5607506016709e-08,
-0.00026681298442982895,
6.710133323667334
],
"cV": [
0.0,
-1.5275455601862228e-09,
5.538880201235252e-05,
4.693200509758024
-4.479989405503328e-10,
1.624444158435496e-05,
5.048044137037824
],
"rhomolar_max": 22647.96434858185,
"rhomolar_min": 12184.179354171467
"rhomolar_max": 19915.76431162559,
"rhomolar_min": 14936.712852945791
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -412,22 +412,22 @@
],
"critical_region_splines": {
"T_max": 33.145,
"T_min": 33.144999999992066,
"T_min": 33.13810506132737,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-3.5640307070519154e-10,
33.145005527098824
3.1007578284721566e-12,
-1.5869880447859634e-07,
0.0026850233556669507,
18.107690278950276
],
"cV": [
0.0,
0.0,
3.1573424275146666e-10,
33.14499510359337
-2.3396699485553584e-12,
9.516798742074658e-08,
-0.0012636720187622463,
38.58044486815464
],
"rhomolar_max": 15508.022271289323,
"rhomolar_min": 15507.974851755711
"rhomolar_max": 16262.923237049079,
"rhomolar_min": 14746.877675758724
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -4,7 +4,7 @@
"Isobutane",
"ISOBUTANE",
"R600A",
"R600a",
"R600a",
"ISOBUTAN"
],
"ANCILLARIES": {
@@ -455,22 +455,22 @@
],
"critical_region_splines": {
"T_max": 407.817,
"T_min": 406.8534813947396,
"T_min": 407.73549293470376,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
-9.941703745512649e-10,
1.1401780743865456e-05,
-0.04357798580431196,
463.3231742084145
-5.728389280296945e-10,
6.296755366265217e-06,
-0.022991762972926447,
435.69130219666266
],
"cV": [
0.0,
-1.0815601793791963e-06,
0.00839238089576816,
391.53680162488934
5.562666408422913e-10,
-6.761233991678565e-06,
0.027344254864717768,
371.015481302833
],
"rhomolar_max": 4815.639002152002,
"rhomolar_min": 2935.903033135107
"rhomolar_max": 4253.160501655689,
"rhomolar_min": 3479.687062549918
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -1,7 +1,7 @@
{
"ALIASES": [
"Isobutene",
"ISOBUTENE",
"ISOBUTENE",
"IBUTENE"
],
"ANCILLARIES": {
@@ -350,22 +350,22 @@
],
"critical_region_splines": {
"T_max": 418.09000000000003,
"T_min": 418.08999999951317,
"T_min": 418.08543171770737,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-2.0580323178237388e-08,
418.09008581994766
1.0856405178489673e-09,
-1.4451084442137125e-05,
0.06388776104495195,
324.24484504699296
],
"cV": [
0.0,
0.0,
2.0591910110230444e-08,
418.0899141317349
-6.230035048466998e-10,
6.9227418610441575e-06,
-0.02523563018482191,
448.11876326463465
],
"rhomolar_max": 4170.023655555847,
"rhomolar_min": 4169.976356154625
"rhomolar_max": 4246.188019158735,
"rhomolar_min": 4095.5716752458243
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -2,7 +2,7 @@
"ALIASES": [
"ipentane",
"R601a",
"ISOPENTANE",
"ISOPENTANE",
"IPENTANE"
],
"ANCILLARIES": {
@@ -366,22 +366,22 @@
],
"critical_region_splines": {
"T_max": 460.35,
"T_min": 460.34999999967744,
"T_min": 460.34697325761744,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-1.3800199316984639e-08,
460.350045140452
8.005022701910341e-10,
-8.44526357152168e-06,
0.029554133854069683,
426.02215187987395
],
"cV": [
0.0,
0.0,
1.384341277338779e-08,
460.34995471819684
-5.384468503556533e-10,
4.689391032778603e-06,
-0.013394755215389163,
472.83487531264404
],
"rhomolar_max": 3271.023375025736,
"rhomolar_min": 3270.9766981300554
"rhomolar_max": 3346.612383148717,
"rhomolar_min": 3197.125647678554
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -349,22 +349,22 @@
],
"critical_region_splines": {
"T_max": 209.48000000000002,
"T_min": 209.47999999926515,
"T_min": 209.47310506132737,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-9.371176887927681e-09,
209.48010167726926
6.390300964893231e-11,
-2.199509680360674e-06,
0.02516089390363733,
113.79346021244321
],
"cV": [
0.0,
0.0,
9.068846146505593e-09,
209.47990160301933
-3.436623953002642e-11,
1.0066209446840255e-06,
-0.009706635600422744,
240.19068612286947
],
"rhomolar_max": 10850.078419187403,
"rhomolar_min": 10849.918967439311
"rhomolar_max": 11108.82129459245,
"rhomolar_min": 10591.412518037536
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -518,22 +518,22 @@
],
"critical_region_splines": {
"T_max": 190.564,
"T_min": 190.56361355465157,
"T_min": 190.5639673093741,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-2.9498492462244708e-06,
190.59390889908818
-8.298041773773189e-07,
190.57241349076935
],
"cV": [
0.0,
0.0,
3.00418301102579e-06,
190.53354020391578
8.001489626516288e-07,
190.5558871872486
],
"rhomolar_max": 10270.133117949952,
"rhomolar_min": 10010.492245451042
"rhomolar_max": 10178.523590876614,
"rhomolar_min": 10098.272325109083
},
"gas_constant": 8.31451,
"gas_constant_units": "J/mol/K",

View File

@@ -1,6 +1,6 @@
{
"ALIASES": [
"METHYLLINOLEATE",
"METHYLLINOLEATE",
"MLINOLEA"
],
"ANCILLARIES": {

View File

@@ -1,6 +1,6 @@
{
"ALIASES": [
"METHYLLINOLENATE",
"METHYLLINOLENATE",
"MLINOLEN"
],
"ANCILLARIES": {

View File

@@ -1,6 +1,6 @@
{
"ALIASES": [
"METHYLOLEATE",
"METHYLOLEATE",
"MOLEATE"
],
"ANCILLARIES": {

View File

@@ -1,6 +1,6 @@
{
"ALIASES": [
"METHYLPALMITATE",
"METHYLPALMITATE",
"MPALMITA"
],
"ANCILLARIES": {
@@ -396,22 +396,22 @@
],
"critical_region_splines": {
"T_max": 755.0,
"T_min": 754.9999999319605,
"T_min": 754.9979946139788,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-1.7213757676923328e-06,
755.0015440740636
-8.453804974988888e-07,
0.0022314430347624794,
-1.9626065342276378,
1330.1589912157262
],
"cV": [
0.0,
0.0,
1.7239651981209695e-06,
754.9984536032173
8.346377269227008e-07,
-0.002289692013105165,
2.0930363910460232,
117.46650514532276
],
"rhomolar_max": 897.0395262628024,
"rhomolar_min": 896.9605331088118
"rhomolar_max": 903.4045446436754,
"rhomolar_min": 890.603960171529
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -1,6 +1,6 @@
{
"ALIASES": [
"METHYLSTEARATE",
"METHYLSTEARATE",
"MSTEARAT"
],
"ANCILLARIES": {

View File

@@ -427,22 +427,22 @@
],
"critical_region_splines": {
"T_max": 44.491800000000005,
"T_min": 44.48723171770732,
"T_min": 44.49141355465158,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
-1.1025814119387474e-13,
1.491524533973909e-09,
0.00011741598951019355,
42.338817257479654
0.0,
0.0,
-1.5811616648711508e-06,
44.52956130288046
],
"cV": [
1.7438239837612905e-13,
-1.890874143571898e-08,
0.0006047801629533931,
38.4577598458307
0.0,
0.0,
1.5834258838542428e-06,
44.4539846230418
],
"rhomolar_max": 24720.30951969461,
"rhomolar_min": 23047.532486140095
"rhomolar_max": 24126.40596873362,
"rhomolar_min": 23637.943519451463
},
"gas_constant": 8.31434,
"gas_constant_units": "J/mol/K",

View File

@@ -349,22 +349,22 @@
],
"critical_region_splines": {
"T_max": 433.74,
"T_min": 433.73999999926514,
"T_min": 433.73543171770734,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-2.793653710159193e-08,
433.7400913524763
1.8157110662036835e-09,
-1.8874192929720874e-05,
0.0651915711809464,
358.895660684941
],
"cV": [
0.0,
0.0,
2.7689755256340264e-08,
433.7399094545003
-2.2365486585331262e-09,
2.089693784319932e-05,
-0.06492040004203695,
500.7835165371252
],
"rhomolar_max": 3270.026304880335,
"rhomolar_min": 3269.973461489175
"rhomolar_max": 3339.892894257803,
"rhomolar_min": 3198.06041887194
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -501,22 +501,22 @@
],
"critical_region_splines": {
"T_max": 126.19200000000001,
"T_min": 126.19199984500558,
"T_min": 126.19199998688855,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-1.7874713257311775e-07,
126.19399909031777
-1.547800694886972e-07,
126.19373104504585
],
"cV": [
0.0,
0.0,
1.1629442664483669e-08,
126.19186993745916
9.95463660457675e-10,
126.19198886683252
],
"rhomolar_max": 11184.76858012661,
"rhomolar_min": 11170.573704081868
"rhomolar_max": 11183.986174852074,
"rhomolar_min": 11170.73026187868
},
"gas_constant": 8.31451,
"gas_constant_units": "J/mol/K",

View File

@@ -417,22 +417,22 @@
],
"critical_region_splines": {
"T_max": 38.34,
"T_min": 38.33961355465158,
"T_min": 38.33996730937413,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-2.3235096620580277e-06,
38.38003407147726
-6.850188755192064e-07,
38.3518028752252
],
"cV": [
0.0,
0.0,
2.3247053545885936e-06,
38.29994532674044
6.843466890793785e-07,
38.328208706547166
],
"rhomolar_max": 17396.319664916562,
"rhomolar_min": 17063.76588019465
"rhomolar_max": 17277.722226405003,
"rhomolar_min": 17182.23089934681
},
"gas_constant": 8.3144621,
"gas_constant_units": "J/mol/K",

View File

@@ -2,7 +2,7 @@
"ALIASES": [
"Orthohydrogen",
"orthohydrogen",
"ORTHOHYDROGEN",
"ORTHOHYDROGEN",
"ORTHOHYD"
],
"ANCILLARIES": {
@@ -380,22 +380,22 @@
],
"critical_region_splines": {
"T_max": 33.22,
"T_min": 33.21999999998802,
"T_min": 33.216973257617425,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-4.57432325893615e-10,
33.220007064832
4.066468806855226e-12,
-2.0485786362827496e-07,
0.003417899984425546,
14.316580566669387
],
"cV": [
0.0,
0.0,
4.301031431449862e-10,
33.219993357254666
-3.379814959674437e-12,
1.404217131242082e-07,
-0.0019188970430762365,
41.812545688089735
],
"rhomolar_max": 15444.566501913807,
"rhomolar_min": 15444.512461229047
"rhomolar_max": 15899.98591137461,
"rhomolar_min": 14989.857909343546
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -415,22 +415,22 @@
],
"critical_region_splines": {
"T_max": 38.34,
"T_min": 38.33961355465158,
"T_min": 38.33996730937413,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-2.3234750017306126e-06,
38.38003347427982
-6.849502299785245e-07,
38.35180169246253
],
"cV": [
0.0,
0.0,
2.3248386159631863e-06,
38.29994303064696
6.848389037037868e-07,
38.32820022568919
],
"rhomolar_max": 17396.32214598207,
"rhomolar_min": 17063.77540885253
"rhomolar_max": 17277.727009113827,
"rhomolar_min": 17182.26523245882
},
"gas_constant": 8.3144621,
"gas_constant_units": "J/mol/K",

View File

@@ -2,7 +2,7 @@
"ALIASES": [
"Parahydrogen",
"parahydrogen",
"PARAHYDROGEN",
"PARAHYDROGEN",
"PARAHYD"
],
"ANCILLARIES": {
@@ -420,22 +420,22 @@
],
"critical_region_splines": {
"T_max": 32.938,
"T_min": 32.93799999997271,
"T_min": 32.93599461397884,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-6.176636722223463e-10,
32.938009597258144
4.253205081213295e-12,
-2.116493776473347e-07,
0.0034966692458426726,
13.749966028178376
],
"cV": [
0.0,
0.0,
5.786265121310599e-10,
32.93799100930126
-3.141534424322369e-12,
1.338646257848717e-07,
-0.0018846003827776433,
41.68699310689614
],
"rhomolar_max": 15538.044190612114,
"rhomolar_min": 15537.952830972841
"rhomolar_max": 15953.359013823481,
"rhomolar_min": 15115.765516662266
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -459,22 +459,22 @@
],
"critical_region_splines": {
"T_max": 364.211,
"T_min": 364.20410506132737,
"T_min": 364.21041673548024,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
-2.0397446597019764e-10,
3.2958687540071058e-06,
-0.017748737115287072,
396.06517964228243
0.0,
0.0,
-6.505035916897591e-06,
364.2464979809985
],
"cV": [
2.0280477994216778e-10,
-3.3625914669476956e-06,
0.018581444515139024,
329.9897393682322
0.0,
0.0,
6.4811926293276935e-06,
364.17563213182177
],
"rhomolar_max": 5722.778431306117,
"rhomolar_min": 5189.89767929224
"rhomolar_max": 5546.663535640788,
"rhomolar_min": 5367.006606323258
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -376,22 +376,22 @@
],
"critical_region_splines": {
"T_max": 487.21000000000004,
"T_min": 487.2031050613274,
"T_min": 487.20941673548026,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
3.6894468782358206e-10,
-4.073513681283046e-06,
0.014462353513138904,
470.5229580953627
0.0,
0.0,
-2.1155772356204888e-05,
487.27322739169836
],
"cV": [
1.1946318431162753e-09,
-1.1482911409880193e-05,
0.03662536226299625,
448.42495860364784
0.0,
0.0,
2.1763182218616364e-05,
487.1449572672853
],
"rhomolar_max": 3085.865073202007,
"rhomolar_min": 2900.0292736747374
"rhomolar_max": 3016.2291002048787,
"rhomolar_min": 2961.858589771953
},
"gas_constant": 8.314471,
"gas_constant_units": "J/mol/K",

View File

@@ -346,22 +346,22 @@
],
"critical_region_splines": {
"T_max": 293.03000000000003,
"T_min": 293.02999999985843,
"T_min": 293.02697325761744,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-7.658301925164341e-09,
293.0300340334938
5.973701413916427e-10,
-8.378309573561642e-06,
0.039073782995767505,
232.42219731732985
],
"cV": [
0.0,
0.0,
7.708669659796271e-09,
293.02996574267206
-4.2587664193266785e-10,
5.257573775768188e-06,
-0.02149722855677295,
322.1082759616395
],
"rhomolar_max": 4444.018490179812,
"rhomolar_min": 4443.981630049213
"rhomolar_max": 4535.77641861197,
"rhomolar_min": 4355.023810307573
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -394,22 +394,22 @@
],
"critical_region_splines": {
"T_max": 385.12,
"T_min": 385.11310506132736,
"T_min": 385.11941673548023,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
1.384320477183494e-11,
-6.214242836621232e-07,
0.004900765150571461,
374.37610683053464
0.0,
0.0,
-1.583911139375003e-05,
385.1940127028315
],
"cV": [
1.8819672379934522e-10,
-3.0664139289381314e-06,
0.01632960178423799,
356.56849340248095
0.0,
0.0,
1.5981068543804365e-05,
385.04532396245855
],
"rhomolar_max": 4800.06197048058,
"rhomolar_min": 4549.199865356502
"rhomolar_max": 4709.605576782584,
"rhomolar_min": 4636.284039366143
},
"gas_constant": 8.314471,
"gas_constant_units": "J/mol/K",

View File

@@ -470,22 +470,22 @@
],
"critical_region_splines": {
"T_max": 456.831,
"T_min": 456.83099999999655,
"T_min": 456.7079808473738,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-1.497293042906961e-09,
456.83100538489015
-5.2516982254248e-10,
4.95822393582125e-06,
-0.015285703141563677,
472.1032632289936
],
"cV": [
0.0,
0.0,
1.577833587606056e-09,
456.8309943254525
5.019316578137991e-10,
-6.104407328102757e-06,
0.024431712288804266,
424.57182248409964
],
"rhomolar_max": 3596.419300284971,
"rhomolar_min": 3596.414813901929
"rhomolar_max": 3965.7364882421543,
"rhomolar_min": 3221.873367889577
},
"gas_constant": 8.31451,
"gas_constant_units": "J/mol/K",

View File

@@ -2,7 +2,7 @@
"ALIASES": [
"R1233zdE",
"R1233ZDE",
"R1233ZD(E)",
"R1233ZD(E)",
"R1233ZD"
],
"ANCILLARIES": {

View File

@@ -392,22 +392,22 @@
],
"critical_region_splines": {
"T_max": 367.85,
"T_min": 367.84799461397887,
"T_min": 367.84983035809745,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
-6.280447767869642e-11,
4.941333351258848e-07,
-0.0008447696692286383,
367.3343146300655
0.0,
0.0,
-7.28092281910778e-06,
367.8803614481557
],
"cV": [
8.488656120290226e-11,
-1.3525258087977996e-06,
0.006851813473070161,
356.6416038903997
0.0,
0.0,
7.273842039048367e-06,
367.8196680786972
],
"rhomolar_max": 4252.211021596844,
"rhomolar_min": 4087.906435621643
"rhomolar_max": 4193.299505682264,
"rhomolar_min": 4146.67781322612
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -405,22 +405,22 @@
],
"critical_region_splines": {
"T_max": 382.52,
"T_min": 382.5194167354802,
"T_min": 382.5199506598222,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-4.227168461645191e-06,
382.53813455270046
-7.9305911732753e-07,
382.5234022236133
],
"cV": [
0.0,
0.0,
3.54150649256091e-06,
382.5048069371469
6.090875342473237e-07,
382.51738701447806
],
"rhomolar_max": 4427.979956342802,
"rhomolar_min": 4125.306098974923
"rhomolar_max": 4352.215006013345,
"rhomolar_min": 4208.993289113025
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -1,6 +1,6 @@
{
"ALIASES": [
"R1234ZE(Z)",
"R1234ZE(Z)",
"R1234ZE"
],
"ANCILLARIES": {
@@ -349,22 +349,22 @@
],
"critical_region_splines": {
"T_max": 423.27,
"T_min": 423.26999999889085,
"T_min": 423.26310506132734,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
0.0,
0.0,
-2.4196343285339583e-08,
423.27009972047097
-1.0661006391670194e-09,
1.2653370461499062e-05,
-0.04997314613163001,
488.933234607043
],
"cV": [
0.0,
0.0,
3.019678505019119e-08,
423.2698755498882
-8.160851613585538e-10,
9.267609720003654e-06,
-0.03480529660648677,
466.4282367596696
],
"rhomolar_max": 4121.349202957066,
"rhomolar_min": 4121.266633051825
"rhomolar_max": 4225.213370352157,
"rhomolar_min": 4025.0245673273625
},
"gas_constant": 8.314472,
"gas_constant_units": "J/mol/K",

View File

@@ -380,22 +380,22 @@
],
"critical_region_splines": {
"T_max": 374.21,
"T_min": 373.5716150640238,
"T_min": 374.15599701305536,
"_note": "Coefficients for the critical cubic spline. T = c[0]*rho^3 + c[1]*rho^2 + c[2]*rho + c[3] with rho in mol/m^3 and T in K",
"cL": [
-3.1676460727923154e-10,
4.632248820128229e-06,
-0.022560800178147874,
410.803318485873
-2.358891970526994e-10,
3.35250579170572e-06,
-0.015826824353177796,
399.0175702243528
],
"cV": [
3.734362612529562e-10,
-5.680300209122729e-06,
0.02879764276811166,
325.5497395319938
2.033032586375043e-10,
-3.2541387283179285e-06,
0.017300443262052236,
343.6482870886872
],
"rhomolar_max": 6152.557816507652,
"rhomolar_min": 3872.298405322532
"rhomolar_max": 5442.556273932187,
"rhomolar_min": 4580.218882520725
},
"gas_constant": 8.314471,
"gas_constant_units": "J/mol/K",

Some files were not shown because too many files have changed in this diff Show More