diff --git a/Doxyfile b/Doxyfile index 8766f43b..f1e58218 100644 --- a/Doxyfile +++ b/Doxyfile @@ -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. diff --git a/Web/coolprop/wrappers/Csharp/index.rst b/Web/coolprop/wrappers/Csharp/index.rst index 40da6b29..913420ff 100644 --- a/Web/coolprop/wrappers/Csharp/index.rst +++ b/Web/coolprop/wrappers/Csharp/index.rst @@ -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) diff --git a/Web/develop/buildbot.rst b/Web/develop/buildbot.rst index 09ab66e3..dbacc41c 100644 --- a/Web/develop/buildbot.rst +++ b/Web/develop/buildbot.rst @@ -1,4 +1,8 @@ +******** +Buildbot +******** + Setting MIME type handler ========================= diff --git a/Web/develop/cmake.rst b/Web/develop/cmake.rst index e69de29b..15903abf 100644 --- a/Web/develop/cmake.rst +++ b/Web/develop/cmake.rst @@ -0,0 +1,9 @@ +.. _cmake: + +***** +CMake +***** + +CMake is a very powerful cross-platform system for generating automated build systems. On Unix it builds makefiles which it then runs, on windows, it normally builds projects for Visual Studio (though it can also build Makefiles using MinGW on windows). + +CMake is used to build each of the wrappers for CoolProp. \ No newline at end of file diff --git a/Web/fluid_properties/HumidAir.rst b/Web/fluid_properties/HumidAir.rst index 2bae2aa6..5c61e802 100644 --- a/Web/fluid_properties/HumidAir.rst +++ b/Web/fluid_properties/HumidAir.rst @@ -190,7 +190,8 @@ Values here are obtained at documentation build-time using the Humid Air Propert .. ipython:: - In [1]: execfile('Validation/HAValidation.py') + In [1]: execfile('fluid_properties/Validation/HAValidation.py') + .. diff --git a/Web/fluid_properties/Incompressibles.bib b/Web/fluid_properties/Incompressibles.bib new file mode 100644 index 00000000..75f75546 --- /dev/null +++ b/Web/fluid_properties/Incompressibles.bib @@ -0,0 +1,241 @@ +% This file was created with JabRef 2.10. +% Encoding: ASCII + + +@Book{ASHRAE2001, + Title = {{2001 ASHRAE Handbook: Fundamentals}}, + Author = {{American Society of Heating, Refrigerating and Air-Conditioning Engineers}}, + Publisher = {{ASHRAE}}, + Year = {2001}, + Volume = {111}, + + ISBN = {9781883413880}, + Owner = {jowr}, + Timestamp = {2014.09.17} +} + +@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, + Title = {{Properties of Secondary Working Fluids for Indirect Systems}}, + Author = {{\AA}ke Melinder}, + Publisher = {IIF-IIR Publishing}, + Year = {2010}, + + Owner = {jowr}, + 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 v1.33}}, + Author = {Morten Juel Skovrup}, + Organization = {IPU Refrigeration and Energy Technology}, + Year = {2013}, + + Owner = {jowr}, + Timestamp = {2014.09.17}, + 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 v5.1}}, + Organization = {{Eastman Chemical Company}}, + Year = {2014}, + + Owner = {jowr}, + Timestamp = {2014.09.17}, + 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} +} + diff --git a/Web/fluid_properties/Incompressibles.rst b/Web/fluid_properties/Incompressibles.rst index e921c7b3..2d0858cf 100644 --- a/Web/fluid_properties/Incompressibles.rst +++ b/Web/fluid_properties/Incompressibles.rst @@ -1,18 +1,22 @@ -.. |degC| replace:: :math:`^\circ\!\!` C .. _Incompressibles: Incompressible Fluids ===================== -In CoolProp, the incompressible fluids are divided into four major groups. + +General Introduction +-------------------- + +In CoolProp, the incompressible fluids are divided into three major groups. * :ref:`Pure fluids `. * :ref:`Mass-based binary mixtures `. -.. * :ref:`Mole-based binary mixtures `. * :ref:`Volume-based binary mixtures `. +.. * :ref:`Mole-based binary mixtures `. + The pure fluids and mass-based binary mixtures are by far the most common fluids in this library. While the pure fluids contain data for many different kinds of incompressible liquids, almost all of the binary mixtures are aqueous solutions. @@ -30,17 +34,36 @@ documents with all the You can read more about these reports in a dedicated :ref:`section` called :ref:`Fitting Reports` below. +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{KJ}\,\text{kg}^{-1} & \\ + s_\text{ref} &= 0\:\text{KJ}\,\text{kg}^{-1}\,\text{K}^{-1} & \\ + +If you use a mixture, the reference state gets updated each time you change the +composition. + + +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:: @@ -52,20 +75,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') @@ -74,65 +87,40 @@ 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` or the :ref:`volume fraction` 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 like in ``LiBr-0.23`` or +``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:: + + In [1]: from CoolProp.CoolProp import PropsSI + + #Density of a lithium bromide solution at 300 K and 1 atm. + In [1]: PropsSI('D','T',300,'P',101325,'INCOMP::LiBr[0.23]') + + #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%') -Pure Fluids ------------ - -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. - -Some additional secondary cooling fluids are based on data compiled by Morten -Juel Skovrup in his `SecCool software `_ -provided by his employer `IPU `_. 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. - -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. - -.. _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 -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 @@ -178,85 +166,12 @@ Equations Exp or log for visc, other poly or log poly +.. math:: + x(T) &= \sum_{i=0}^n C[i] \cdot T^i \\ + x(T) &= \exp\left( \frac{C[0]}{T+C[1]} - C[2] \right) \\ + x(T) &= \exp\left( \log \left( \left(T+C[0]\right)^{-1} + \left( T+C[0] \right)^{-2} \right) *C[1]+C[2] \right) \\ -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 `_ -provided by his employer `IPU `_. 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 @@ -277,6 +192,8 @@ vapour pressure are exponential functions. \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) \\ +In some cases, the fit quality for the + Brines and Solutions -------------------- @@ -388,5 +305,76 @@ then yields the final factor :math:`D` to be multiplied with the other coefficie -.. 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 software `_ +:cite:`Skovrup2013` software, which contains data compiled by Morten Juel +Skovrup. It is provided free of charge by his employer `IPU `_. + + +.. _Pure: + +.. csv-table:: All incompressible pure fluids included in CoolProp + :widths: 10, 35, 15, 20, 20 + :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>`. + + +.. _MassMix: + +.. csv-table:: All incompressible mass-based binary mixtures included in CoolProp + :widths: 10, 30, 12, 12, 12, 12, 12 + :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, 12, 12, 12, 12, 12 + :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, 12, 12, 12, 12, 12 + :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`_, +which was originally recorded at the `Danish Technological Institute (DTI) `_. + + +References +---------- + +.. bibliography:: Incompressibles.bib + :filter: docname in docnames + :style: unsrt diff --git a/Web/fluid_properties/Validation/HAValidation.py b/Web/fluid_properties/Validation/HAValidation.py index e8e739f1..28d4e14b 100644 --- a/Web/fluid_properties/Validation/HAValidation.py +++ b/Web/fluid_properties/Validation/HAValidation.py @@ -214,10 +214,10 @@ print "Isothermal Compressibility of water (kT) [1/Pa]" from CoolProp.HumidAirProp import HAProps_Aux import numpy as np Tv=np.linspace(-60,300,13)+273.15 -Pv=[101325,200,500,1000] +Pv=[101325,200000,500000,1000000] variables="%-10s"%('T') for p in Pv: - variables+="%-20s"%("p = %-0.3f kPa "%(p)) + variables+="%-20s"%("p = %-0.3f Pa "%(p)) print variables #Build the actual table for T in Tv: @@ -235,10 +235,10 @@ print "Molar volume of saturated liquid water or ice (vbar_ws) [m^3/mol_H2O]" from CoolProp.HumidAirProp import HAProps_Aux import numpy as np Tv=np.linspace(-60,300,13)+273.15 -Pv=[101325,200,500,1000] +Pv=[101325,200000,500000,1000000] variables="%-10s"%('T') for p in Pv: - variables+="%-20s"%("p = %-0.3f kPa "%(p)) + variables+="%-20s"%("p = %-0.3f Pa "%(p)) print variables #Build the actual table for T in Tv: @@ -256,10 +256,10 @@ print "Enhancement factor (f) [no units]" from CoolProp.HumidAirProp import HAProps_Aux import numpy as np Tv=np.array([-60,-40,-20,0,40,80,120,160,200,250,300,350])+273.15 -Pv=[101325,200,500,1000,10000] +Pv=[101325,200000,500000,1000000,10000000] variables="%-10s"%(u'T') for p in Pv: - variables+="%-20s"%("p = %-0.3f kPa "%(p)) + variables+="%-20s"%("p = %-0.3f Pa "%(p)) print variables #Build the actual table for T in Tv: diff --git a/Web/parse_bib.py b/Web/parse_bib.py deleted file mode 100644 index f0572da8..00000000 --- a/Web/parse_bib.py +++ /dev/null @@ -1,163 +0,0 @@ -# coding: utf-8 - -from pybtex.database.input import bibtex - -def accent_substitutions(name): - - mapping = [('{\\~n}','\xf1'), # � - ('{\\`e}','\xe8'), # � - ("{\\'e}",'\xe9'), # � - ("{\\'a}",'\xe1'), # � - ("{\\`a}",'\xe0'), # � - ("{\\'i}",'\xed'), # � - ("{\\'i}",'\xed'), # � - ('{\\\"o}','\xf6'), # � - ('{\\\"u}','\xfc'), # � - ('{\\v s}','\x161'), # � - ] - for old, new in mapping: - name = name.replace(old, new) - return name - -def count_substr(s, ss): - c = 0 - for e in s: - if e == ss: - c += 1 - return c - -def DE(s): - try: - return s.decode('ascii').encode('utf-8') - except UnicodeEncodeError: - print 'Decoding error for',s - -class BibTeXerClass: - - def __init__(self, fName = '../CoolPropBibTeXLibrary.bib'): - parser = bibtex.Parser() - bib_data = parser.parse_file(fName) - self.entries = bib_data.entries - - def entry2rst(self, key): - - if key.startswith('__'): - return '' - - entry = self.entries[key] - - if entry is None: - return '' - - try: - authors = '; '.join([accent_substitutions(unicode(author).decode('ascii').encode('utf-8')) for author in entry.persons['author']]) - except UnicodeEncodeError: - print 'Decoding error for',[author for author in entry.persons['author']] - - if authors.find('{') > -1 or authors.find('}') > -1: - print authors - raise ValueError("authors [{authors:s}] may not have '{{' or '}}' character".format(authors = authors)) - - fields = entry.fields - - # Strip off the opening and closing brackets - fields['title'] = fields['title'].strip() - if fields['title'].startswith('{') and fields['title'].endswith('}'): - fields['title'] = fields['title'][1:len(entry.fields['title'])-1] - - f = fields - for key in f: - f[key] = DE(f[key]) - authors = str(authors) - - if entry.type == 'article': - if 'journal' not in fields: fields['journal'] = '' - if 'volume' not in fields: fields['volume'] = '' - if 'pages' not in fields: fields['pages'] = '' - - return authors + ', ' + f['year'] + ', ' + f['title'] + ', *' + f['journal'] + '*, ' + f['volume'] + ':' + f['pages'] - - elif entry.type == 'conference': - if 'journal' not in f: f['journal'] = '' - return authors + ', ' + f['year'] + ', ' + f['title'] + ', *' + f['booktitle'] + '*' - - elif entry.type == 'mastersthesis': - return authors + ', ' + f['year'] + ', ' + f['title'] + ', *' + f['school'] + '*' - - elif entry.type == 'unpublished': - return authors + ', ' + f['year'] + ', ' + f['title'] + ', note: ' + f['note'] - - elif entry.type == 'book': - return authors + ', ' + f['year'] + ', *' + f['title'] + '*, ' + f['publisher'] - - elif entry.type == 'techreport': - return authors + ', ' + f['year'] + ', *' + f['title'] + '*, ' + f['institution'] - - else: - print entry - - def entry2HTML(self, key): - - if key.startswith('__'): - return '' - - entry = self.entries[key] - - if entry is None: - return '' - - try: - authors = '; '.join([accent_substitutions(unicode(author).decode('ascii').encode('utf-8')) for author in entry.persons['author']]) - except UnicodeEncodeError: - print 'Decoding error for',[author for author in entry.persons['author']] - - if authors.find('{') > -1 or authors.find('}') > -1: - print authors - raise ValueError("authors [{authors:s}] may not have '{{' or '}}' character".format(authors = authors)) - - fields = entry.fields - - # Strip off the opening and closing brackets - fields['title'] = fields['title'].strip() - if fields['title'].startswith('{') and fields['title'].endswith('}'): - fields['title'] = fields['title'][1:len(entry.fields['title'])-1] - - f = fields - for key in f: - f[key] = DE(f[key]) - authors = str(authors) - - if entry.type == 'article': - if 'journal' not in fields: fields['journal'] = '' - if 'volume' not in fields: fields['volume'] = '' - if 'pages' not in fields: fields['pages'] = '' - - return authors + ', ' + f['year'] + ', ' + f['title'] + ', ' + f['journal'] + ', ' + f['volume'] + ':' + f['pages'] - - elif entry.type == 'conference': - if 'journal' not in f: f['journal'] = '' - return authors + ', ' + f['year'] + ', ' + f['title'] + ', ' + f['booktitle'] + '' - - elif entry.type == 'mastersthesis': - return authors + ', ' + f['year'] + ', ' + f['title'] + ', ' + f['school'] + '' - - elif entry.type == 'unpublished': - return authors + ', ' + f['year'] + ', ' + f['title'] + ', note: ' + f['note'] - - elif entry.type == 'book': - return authors + ', ' + f['year'] + ', ' + f['title'] + ', ' + f['publisher'] - - elif entry.type == 'techreport': - return authors + ', ' + f['year'] + ', ' + f['title'] + ', ' + f['institution'] - - else: - print entry - - def findentry(self, key): - for entry in self.entries: - if entry['key'] == key: - return entry - -if __name__=='__main__': - B = BibTeXerClass() - print B.entry2rst('Mulero-JPCRD-2012') \ No newline at end of file diff --git a/dev/fluids/Propylene.json b/dev/fluids/Propylene.json index 9bff9794..4d47650c 100644 --- a/dev/fluids/Propylene.json +++ b/dev/fluids/Propylene.json @@ -1,7 +1,7 @@ { "ALIASES": [ "propylene", - "PROPYLENE", + "PROPYLENE", "PROPYLEN" ], "ANCILLARIES": { @@ -512,5 +512,61 @@ "rhomolar": 1.021729100294701e-06, "rhomolar_units": "mol/m^3" } + }, + "TRANSPORT": { + "conductivity": { + "BibTeX": "Huber-IECR-2003", + "f_int": { + "T_reducing": 1.0, + "T_reducing_units": "K", + "a": [ + 0.00109939, + 3.72539e-07 + ], + "t": [ + 0, + 1 + ] + }, + "psi": { + "a": [ + 1.3521, + -0.123177 + ], + "rhomolar_reducing": 5309.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1 + ] + }, + "q_D": 1999999999.9999998, + "q_D_units": "m", + "reference_fluid": "Propane", + "type": "ECS" + }, + "viscosity": { + "BibTeX": "Huber-IECR-2003", + "epsilon_over_k": 298.9, + "epsilon_over_k_units": "K", + "psi": { + "a": [ + 1.33962, + -0.256307, + 0.0468211 + ], + "rhomolar_reducing": 5309.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1, + 2 + ] + }, + "reference_fluid": "Propane", + "sigma_eta": 4.678e-10, + "sigma_eta_units": "m", + "type": "ECS" + } } } \ No newline at end of file diff --git a/dev/fluids/R116.json b/dev/fluids/R116.json index 9daf9347..227f2b6a 100644 --- a/dev/fluids/R116.json +++ b/dev/fluids/R116.json @@ -399,5 +399,61 @@ "rhomolar": 18.4372956441027, "rhomolar_units": "mol/m^3" } + }, + "TRANSPORT": { + "conductivity": { + "BibTeX": "Huber-IECR-2003", + "f_int": { + "T_reducing": 1.0, + "T_reducing_units": "K", + "a": [ + 0.00132, + 0.0 + ], + "t": [ + 0, + 1 + ] + }, + "psi": { + "a": [ + 1.1804, + -0.0539975 + ], + "rhomolar_reducing": 4518.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1 + ] + }, + "q_D": 1999999999.9999998, + "q_D_units": "m", + "reference_fluid": "R134a", + "type": "ECS" + }, + "viscosity": { + "BibTeX": "Huber-IECR-2003", + "epsilon_over_k": 226.16, + "epsilon_over_k_units": "K", + "psi": { + "a": [ + 1.21996, + -0.0647835, + 0.0 + ], + "rhomolar_reducing": 4518.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1, + 2 + ] + }, + "reference_fluid": "R134a", + "sigma_eta": 5.249e-10, + "sigma_eta_units": "m", + "type": "ECS" + } } } \ No newline at end of file diff --git a/dev/fluids/R124.json b/dev/fluids/R124.json index 0cfc6aae..47b6d16f 100644 --- a/dev/fluids/R124.json +++ b/dev/fluids/R124.json @@ -419,7 +419,7 @@ }, "TRANSPORT": { "conductivity": { - "BibTeX": "", + "BibTeX": "Huber-IECR-2003", "f_int": { "T_reducing": 1.0, "T_reducing_units": "K", @@ -437,34 +437,38 @@ 1.0898, -0.0154229 ], - "rhomolar_reducing": 4103.279546177282, + "rhomolar_reducing": 4103.0, "rhomolar_reducing_units": "mol/m^3", "t": [ 0, 1 ] }, + "q_D": 1999999999.9999998, + "q_D_units": "m", "reference_fluid": "Propane", "type": "ECS" }, "viscosity": { - "BibTeX": "", + "BibTeX": "Huber-IECR-2003", "epsilon_over_k": 275.8, "epsilon_over_k_units": "K", "psi": { "a": [ 1.04253, - 0.00138528 + 0.00138528, + 0.0 ], - "rhomolar_reducing": 4103.279546177282, + "rhomolar_reducing": 4103.0, "rhomolar_reducing_units": "mol/m^3", "t": [ 0, - 1 + 1, + 2 ] }, "reference_fluid": "Propane", - "sigma_eta": 5.501e-10, + "sigma_eta": 5.501000000000001e-10, "sigma_eta_units": "m", "type": "ECS" } diff --git a/dev/fluids/R13.json b/dev/fluids/R13.json index c35fbe98..09328cec 100644 --- a/dev/fluids/R13.json +++ b/dev/fluids/R13.json @@ -449,5 +449,61 @@ "rhomolar": 0.0011096803080017864, "rhomolar_units": "mol/m^3" } + }, + "TRANSPORT": { + "conductivity": { + "BibTeX": "Huber-IECR-2003", + "f_int": { + "T_reducing": 1.0, + "T_reducing_units": "K", + "a": [ + 0.00107447, + 6.42373e-07 + ], + "t": [ + 0, + 1 + ] + }, + "psi": { + "a": [ + 1.1394, + -0.0365562 + ], + "rhomolar_reducing": 5580.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1 + ] + }, + "q_D": 2860117379.217243, + "q_D_units": "m", + "reference_fluid": "Propane", + "type": "ECS" + }, + "viscosity": { + "BibTeX": "Huber-IECR-2003", + "epsilon_over_k": 204.0, + "epsilon_over_k_units": "K", + "psi": { + "a": [ + 0.97618, + 0.0148047, + 0.0 + ], + "rhomolar_reducing": 5580.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1, + 2 + ] + }, + "reference_fluid": "Propane", + "sigma_eta": 4.971e-10, + "sigma_eta_units": "m", + "type": "ECS" + } } } \ No newline at end of file diff --git a/dev/fluids/R14.json b/dev/fluids/R14.json index 62548f7e..31c82ed9 100644 --- a/dev/fluids/R14.json +++ b/dev/fluids/R14.json @@ -468,5 +468,61 @@ "rhomolar": 11.391239450514538, "rhomolar_units": "mol/m^3" } + }, + "TRANSPORT": { + "conductivity": { + "BibTeX": "Huber-IECR-2003", + "f_int": { + "T_reducing": 1.0, + "T_reducing_units": "K", + "a": [ + 0.00119864, + 1.90048e-07 + ], + "t": [ + 0, + 1 + ] + }, + "psi": { + "a": [ + 1.0442, + 0.0 + ], + "rhomolar_reducing": 7109.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1 + ] + }, + "q_D": 4413724919.008148, + "q_D_units": "m", + "reference_fluid": "Nitrogen", + "type": "ECS" + }, + "viscosity": { + "BibTeX": "Huber-IECR-2003", + "epsilon_over_k": 164.44, + "epsilon_over_k_units": "K", + "psi": { + "a": [ + 1.10941, + -0.0630268, + 0.0 + ], + "rhomolar_reducing": 7109.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1, + 2 + ] + }, + "reference_fluid": "Nitrogen", + "sigma_eta": 4.543e-10, + "sigma_eta_units": "m", + "type": "ECS" + } } } \ No newline at end of file diff --git a/dev/fluids/R141b.json b/dev/fluids/R141b.json index b2f18c68..6cc84a6a 100644 --- a/dev/fluids/R141b.json +++ b/dev/fluids/R141b.json @@ -382,5 +382,61 @@ "rhomolar": 0.0046023582649346376, "rhomolar_units": "mol/m^3" } + }, + "TRANSPORT": { + "conductivity": { + "BibTeX": "Huber-IECR-2003", + "f_int": { + "T_reducing": 1.0, + "T_reducing_units": "K", + "a": [ + 0.000521722, + 2.92456e-06 + ], + "t": [ + 0, + 1 + ] + }, + "psi": { + "a": [ + 1.0867, + -0.0216469 + ], + "rhomolar_reducing": 3933.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1 + ] + }, + "q_D": 1999999999.9999998, + "q_D_units": "m", + "reference_fluid": "Propane", + "type": "ECS" + }, + "viscosity": { + "BibTeX": "Huber-IECR-2003", + "epsilon_over_k": 370.44, + "epsilon_over_k_units": "K", + "psi": { + "a": [ + 0.92135, + 0.041091, + 0.0 + ], + "rhomolar_reducing": 3933.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1, + 2 + ] + }, + "reference_fluid": "Propane", + "sigma_eta": 5.493000000000001e-10, + "sigma_eta_units": "m", + "type": "ECS" + } } } \ No newline at end of file diff --git a/dev/fluids/R142b.json b/dev/fluids/R142b.json index fd502c11..433330b3 100644 --- a/dev/fluids/R142b.json +++ b/dev/fluids/R142b.json @@ -382,5 +382,61 @@ "rhomolar": 0.0030613593463350687, "rhomolar_units": "mol/m^3" } + }, + "TRANSPORT": { + "conductivity": { + "BibTeX": "Huber-IECR-2003", + "f_int": { + "T_reducing": 1.0, + "T_reducing_units": "K", + "a": [ + 0.000940725, + 9.88196e-07 + ], + "t": [ + 0, + 1 + ] + }, + "psi": { + "a": [ + 1.0749, + -0.0177916 + ], + "rhomolar_reducing": 4438.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1 + ] + }, + "q_D": 1624288967.5044746, + "q_D_units": "m", + "reference_fluid": "Propane", + "type": "ECS" + }, + "viscosity": { + "BibTeX": "Huber-IECR-2003", + "epsilon_over_k": 278.2, + "epsilon_over_k_units": "K", + "psi": { + "a": [ + 0.9716, + 0.019181, + 0.0 + ], + "rhomolar_reducing": 4438.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1, + 2 + ] + }, + "reference_fluid": "Propane", + "sigma_eta": 5.362000000000001e-10, + "sigma_eta_units": "m", + "type": "ECS" + } } } \ No newline at end of file diff --git a/dev/fluids/R218.json b/dev/fluids/R218.json index 40681252..e980d6bb 100644 --- a/dev/fluids/R218.json +++ b/dev/fluids/R218.json @@ -397,5 +397,61 @@ "rhomolar": 0.0019353026559894213, "rhomolar_units": "mol/m^3" } + }, + "TRANSPORT": { + "conductivity": { + "BibTeX": "Huber-IECR-2003", + "f_int": { + "T_reducing": 1.0, + "T_reducing_units": "K", + "a": [ + 0.000892659, + 1.14912e-06 + ], + "t": [ + 0, + 1 + ] + }, + "psi": { + "a": [ + 1.2877, + -0.0758811 + ], + "rhomolar_reducing": 3340.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1 + ] + }, + "q_D": 917069412.9838686, + "q_D_units": "m", + "reference_fluid": "Propane", + "type": "ECS" + }, + "viscosity": { + "BibTeX": "Huber-IECR-2003", + "epsilon_over_k": 266.35, + "epsilon_over_k_units": "K", + "psi": { + "a": [ + 1.10225, + -0.00550442, + 0.0 + ], + "rhomolar_reducing": 3340.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1, + 2 + ] + }, + "reference_fluid": "Propane", + "sigma_eta": 5.8e-10, + "sigma_eta_units": "m", + "type": "ECS" + } } } \ No newline at end of file diff --git a/dev/fluids/R227EA.json b/dev/fluids/R227EA.json index 282156b3..7dad8218 100644 --- a/dev/fluids/R227EA.json +++ b/dev/fluids/R227EA.json @@ -469,5 +469,61 @@ "rhomolar": 0.006025348183498283, "rhomolar_units": "mol/m^3" } + }, + "TRANSPORT": { + "conductivity": { + "BibTeX": "Huber-IECR-2003", + "f_int": { + "T_reducing": 1.0, + "T_reducing_units": "K", + "a": [ + 0.00142313, + 8.31496e-09 + ], + "t": [ + 0, + 1 + ] + }, + "psi": { + "a": [ + 1.3122, + -0.0874448 + ], + "rhomolar_reducing": 3370.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1 + ] + }, + "q_D": 1999999999.9999998, + "q_D_units": "m", + "reference_fluid": "Propane", + "type": "ECS" + }, + "viscosity": { + "BibTeX": "Huber-IECR-2003", + "epsilon_over_k": 289.34, + "epsilon_over_k_units": "K", + "psi": { + "a": [ + 0.76758, + 0.254482, + -0.0533748 + ], + "rhomolar_reducing": 3370.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1, + 2 + ] + }, + "reference_fluid": "Propane", + "sigma_eta": 5.746000000000001e-10, + "sigma_eta_units": "m", + "type": "ECS" + } } } \ No newline at end of file diff --git a/dev/fluids/R236EA.json b/dev/fluids/R236EA.json index fb0fde4c..f28c1b38 100644 --- a/dev/fluids/R236EA.json +++ b/dev/fluids/R236EA.json @@ -447,5 +447,61 @@ "rhomolar": 8.768503197733738, "rhomolar_units": "mol/m^3" } + }, + "TRANSPORT": { + "conductivity": { + "BibTeX": "Huber-IECR-2003", + "f_int": { + "T_reducing": 1.0, + "T_reducing_units": "K", + "a": [ + 0.00170267, + -4.91063e-07 + ], + "t": [ + 0, + 1 + ] + }, + "psi": { + "a": [ + 0.9617, + 0.0337897 + ], + "rhomolar_reducing": 3703.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1 + ] + }, + "q_D": 1999999999.9999998, + "q_D_units": "m", + "reference_fluid": "R134a", + "type": "ECS" + }, + "viscosity": { + "BibTeX": "Huber-IECR-2003", + "epsilon_over_k": 318.33, + "epsilon_over_k_units": "K", + "psi": { + "a": [ + 1.12216, + -0.0273101, + 0.0 + ], + "rhomolar_reducing": 3703.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1, + 2 + ] + }, + "reference_fluid": "R134a", + "sigma_eta": 5.604e-10, + "sigma_eta_units": "m", + "type": "ECS" + } } } \ No newline at end of file diff --git a/dev/fluids/R236FA.json b/dev/fluids/R236FA.json index 9c15eb82..db3b39a4 100644 --- a/dev/fluids/R236FA.json +++ b/dev/fluids/R236FA.json @@ -424,5 +424,61 @@ "rhomolar": 0.10739880724453099, "rhomolar_units": "mol/m^3" } + }, + "TRANSPORT": { + "conductivity": { + "BibTeX": "Huber-IECR-2003", + "f_int": { + "T_reducing": 1.0, + "T_reducing_units": "K", + "a": [ + 0.00100946, + 1.21255e-06 + ], + "t": [ + 0, + 1 + ] + }, + "psi": { + "a": [ + 1.1627, + -0.0437246 + ], + "rhomolar_reducing": 3626.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1 + ] + }, + "q_D": 1999999999.9999998, + "q_D_units": "m", + "reference_fluid": "R134a", + "type": "ECS" + }, + "viscosity": { + "BibTeX": "Huber-IECR-2003", + "epsilon_over_k": 307.24, + "epsilon_over_k_units": "K", + "psi": { + "a": [ + 1.10195, + -0.0294253, + 0.0 + ], + "rhomolar_reducing": 3626.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1, + 2 + ] + }, + "reference_fluid": "R134a", + "sigma_eta": 5.644e-10, + "sigma_eta_units": "m", + "type": "ECS" + } } } \ No newline at end of file diff --git a/dev/fluids/R245fa.json b/dev/fluids/R245fa.json index 416a0e8d..7115f57e 100644 --- a/dev/fluids/R245fa.json +++ b/dev/fluids/R245fa.json @@ -580,5 +580,61 @@ "rhomolar": 0.009673802590130228, "rhomolar_units": "mol/m^3" } + }, + "TRANSPORT": { + "conductivity": { + "BibTeX": "Huber-IECR-2003", + "f_int": { + "T_reducing": 1.0, + "T_reducing_units": "K", + "a": [ + 0.00164999, + -3.28868e-07 + ], + "t": [ + 0, + 1 + ] + }, + "psi": { + "a": [ + 1.1627, + -0.0473491 + ], + "rhomolar_reducing": 3857.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1 + ] + }, + "q_D": 1999999999.9999998, + "q_D_units": "m", + "reference_fluid": "R134a", + "type": "ECS" + }, + "viscosity": { + "BibTeX": "Huber-IECR-2003", + "epsilon_over_k": 329.72, + "epsilon_over_k_units": "K", + "psi": { + "a": [ + 1.1529, + -0.044154, + 0.0 + ], + "rhomolar_reducing": 3857.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1, + 2 + ] + }, + "reference_fluid": "R134a", + "sigma_eta": 5.529e-10, + "sigma_eta_units": "m", + "type": "ECS" + } } } \ No newline at end of file diff --git a/dev/fluids/R32.json b/dev/fluids/R32.json index 2c11aefd..5d309c0a 100644 --- a/dev/fluids/R32.json +++ b/dev/fluids/R32.json @@ -427,5 +427,61 @@ "rhomolar": 0.042352544355903056, "rhomolar_units": "mol/m^3" } + }, + "TRANSPORT": { + "conductivity": { + "BibTeX": "Huber-IECR-2003", + "f_int": { + "T_reducing": 1.0, + "T_reducing_units": "K", + "a": [ + 0.000436654, + 1.78134e-06 + ], + "t": [ + 0, + 1 + ] + }, + "psi": { + "a": [ + 1.2942, + -0.0924549 + ], + "rhomolar_reducing": 8150.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1 + ] + }, + "q_D": 1999999999.9999998, + "q_D_units": "m", + "reference_fluid": "Propane", + "type": "ECS" + }, + "viscosity": { + "BibTeX": "Huber-IECR-2003", + "epsilon_over_k": 289.65, + "epsilon_over_k_units": "K", + "psi": { + "a": [ + 0.7954, + 0.0542658, + 0.0 + ], + "rhomolar_reducing": 8150.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1, + 2 + ] + }, + "reference_fluid": "Propane", + "sigma_eta": 4.098e-10, + "sigma_eta_units": "m", + "type": "ECS" + } } } \ No newline at end of file diff --git a/dev/fluids/RC318.json b/dev/fluids/RC318.json index db563f28..2fdc19ee 100644 --- a/dev/fluids/RC318.json +++ b/dev/fluids/RC318.json @@ -466,5 +466,61 @@ "rhomolar": 10.156903370453128, "rhomolar_units": "mol/m^3" } + }, + "TRANSPORT": { + "conductivity": { + "BibTeX": "Huber-IECR-2003", + "f_int": { + "T_reducing": 1.0, + "T_reducing_units": "K", + "a": [ + 0.00135697, + -1.11635e-07 + ], + "t": [ + 0, + 1 + ] + }, + "psi": { + "a": [ + 1.5249, + -0.147564 + ], + "rhomolar_reducing": 3099.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1 + ] + }, + "q_D": 2808318238.622801, + "q_D_units": "m", + "reference_fluid": "Propane", + "type": "ECS" + }, + "viscosity": { + "BibTeX": "Huber-IECR-2003", + "epsilon_over_k": 299.76, + "epsilon_over_k_units": "K", + "psi": { + "a": [ + 1.21141, + -0.0337573, + 0.0 + ], + "rhomolar_reducing": 3099.0, + "rhomolar_reducing_units": "mol/m^3", + "t": [ + 0, + 1, + 2 + ] + }, + "reference_fluid": "Propane", + "sigma_eta": 5.947e-10, + "sigma_eta_units": "m", + "type": "ECS" + } } } \ No newline at end of file diff --git a/dev/incompressible_liquids/CPIncomp/BaseObjects.py b/dev/incompressible_liquids/CPIncomp/BaseObjects.py index 5875f9e6..7d69686c 100644 --- a/dev/incompressible_liquids/CPIncomp/BaseObjects.py +++ b/dev/incompressible_liquids/CPIncomp/BaseObjects.py @@ -135,14 +135,21 @@ class IncompressibleData(object): eqnType=self.type, \ coeffs=self.coeffs, DEBUG=self.DEBUG) - elif self.type==IncompressibleData.INCOMPRESSIBLE_LOGEXPONENTIAL and self.data.size>10: - if self.DEBUG: print("Poor solution found with log exponential, trying once more with exponential polynomial.") - self.type=IncompressibleData.INCOMPRESSIBLE_EXPPOLYNOMIAL - self.coeffs = np.zeros((4,6)) - res,sErr = IncompressibleFitter.fitter(x=x, y=y, z=self.data, \ - xbase=xbase, ybase=ybase, \ - eqnType=self.type, \ - coeffs=self.coeffs, DEBUG=self.DEBUG) + elif self.type==IncompressibleData.INCOMPRESSIBLE_LOGEXPONENTIAL: + xLen = np.round([len(x)/1.5]) + yLen = np.round([len(y)/1.5]) + xLen = np.min([xLen,4]) + yLen = np.min([yLen,6]) + + if (xLen+yLen) > 2: + if self.DEBUG: print("Poor solution found with log exponential, trying once more with exponential polynomial.") + self.type=IncompressibleData.INCOMPRESSIBLE_EXPPOLYNOMIAL + + self.coeffs = np.zeros((xLen,yLen)) + res,sErr = IncompressibleFitter.fitter(x=x, y=y, z=self.data, \ + xbase=xbase, ybase=ybase, \ + eqnType=self.type, \ + coeffs=self.coeffs, DEBUG=self.DEBUG) # elif self.type==IncompressibleData.INCOMPRESSIBLE_EXPPOLYNOMIAL: # if self.DEBUG: print("Poor solution found with exponential polynomial, trying once more with normal polynomial.") @@ -485,7 +492,7 @@ class IncompressibleFitter(object): expLog = True xData = np.array(x_in.flat) - if expLog: zData = np.log(z_in.flat) + if expLog: zData = np.log(np.clip(z_in.flat,1e-10,IncompressibleData.maxLin)) else: zData = np.array(z_in.flat) # Remove np.nan elements diff --git a/dev/incompressible_liquids/CPIncomp/CoefficientFluids.py b/dev/incompressible_liquids/CPIncomp/CoefficientFluids.py index c830ac95..e8832dda 100644 --- a/dev/incompressible_liquids/CPIncomp/CoefficientFluids.py +++ b/dev/incompressible_liquids/CPIncomp/CoefficientFluids.py @@ -4,29 +4,29 @@ from CPIncomp.DataObjects import CoefficientData,PureData class NitrateSalt(PureData,CoefficientData): - """ + """ Heat transfer fluid based on 60% NaNO3 and 40% KNO3 """ def __init__(self): CoefficientData.__init__(self) - PureData.__init__(self) - self.name = "NaK" - self.description = "NitrateSalt" - self.reference = "Solar Power Tower Design Basis Document, Alexis B. Zavoico, Sandia Labs, USA" - + PureData.__init__(self) + self.name = "NaK" + self.description = "Nitrate salt, heat transfer fluid based on 60% NaNO3 and 40% KNO3" + self.reference = "Zavoico2001" + self.Tmin = 300 + 273.15 self.Tmax = 600 + 273.15 - self.TminPsat = self.Tmax - + self.TminPsat = self.Tmax + self.Tbase = 273.15 - + #self.temperature.data = self.getTrange() #self.concentration.data = np.array([ 0 ]) # mass fraction - + self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL self.density.source = self.density.SOURCE_COEFFS self.density.coeffs = np.array([[2090],[-0.636]]) - + self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL self.specific_heat.source = self.specific_heat.SOURCE_COEFFS self.specific_heat.coeffs = np.array([[1443],[+0.172]]) @@ -38,5 +38,4 @@ class NitrateSalt(PureData,CoefficientData): self.viscosity.type = self.viscosity.INCOMPRESSIBLE_POLYNOMIAL self.viscosity.source = self.viscosity.SOURCE_COEFFS self.viscosity.coeffs = np.array([[22.714],[-0.120],[2.281 * 1e-4],[-1.474 * 1e-7]])/1e3 - - \ No newline at end of file + diff --git a/dev/incompressible_liquids/CPIncomp/DataObjects.py b/dev/incompressible_liquids/CPIncomp/DataObjects.py index 288c8698..caef8aa1 100644 --- a/dev/incompressible_liquids/CPIncomp/DataObjects.py +++ b/dev/incompressible_liquids/CPIncomp/DataObjects.py @@ -467,7 +467,7 @@ class CoefficientData(SolutionData): if len(array)!=18: raise ValueError("The lenght is not equal to 18!") - self.reference = "Melinder Book" + #self.reference = "Melinder Book" array = np.array(array) tmp = np.zeros((6,4)) diff --git a/dev/incompressible_liquids/CPIncomp/DigitalFluids.py b/dev/incompressible_liquids/CPIncomp/DigitalFluids.py index 1d4b0bff..09fc797d 100644 --- a/dev/incompressible_liquids/CPIncomp/DigitalFluids.py +++ b/dev/incompressible_liquids/CPIncomp/DigitalFluids.py @@ -20,7 +20,7 @@ class HyCool20(PureData,DigitalData): self.name = "HY20" self.description = "HYCOOL 20, Potassium formate" - self.reference = "Hydro Chemicals" + self.reference = "Hydro2000" self.Tmax = 50 + 273.15 self.Tmin = -20 + 273.15 @@ -61,8 +61,8 @@ class HyCool30(PureData,DigitalData): PureData.__init__(self) self.name = "HY30" - self.description = "HYCOOL 30, Potassium formate" - self.reference = "Hydro Chemicals" + self.description = "HyCool 30, Potassium formate" + self.reference = "Hydro2000" self.Tmax = 50 + 273.15 self.Tmin = -30 + 273.15 @@ -103,8 +103,8 @@ class HyCool40(PureData,DigitalData): PureData.__init__(self) self.name = "HY40" - self.description = "HYCOOL 40, Potassium formate" - self.reference = "Hydro Chemicals" + self.description = "HyCool 40, Potassium formate" + self.reference = "Hydro2000" self.Tmax = 20 + 273.15 self.Tmin = -40 + 273.15 @@ -139,8 +139,8 @@ class HyCool45(PureData,DigitalData): PureData.__init__(self) self.name = "HY45" - self.description = "HYCOOL 45, Potassium formate" - self.reference = "Hydro Chemicals" + self.description = "HyCool 45, Potassium formate" + self.reference = "Hydro2000" self.Tmax = 20 + 273.15 self.Tmin = -45 + 273.15 @@ -175,8 +175,8 @@ class HyCool50(PureData,DigitalData): PureData.__init__(self) self.name = "HY50" - self.description = "HYCOOL 50, Potassium formate" - self.reference = "Hydro Chemicals" + self.description = "HyCool 50, Potassium formate" + self.reference = "Hydro2000" self.Tmax = 20 + 273.15 self.Tmin = -50 + 273.15 diff --git a/dev/incompressible_liquids/CPIncomp/ExampleObjects.py b/dev/incompressible_liquids/CPIncomp/ExampleObjects.py index 249451af..f0901042 100644 --- a/dev/incompressible_liquids/CPIncomp/ExampleObjects.py +++ b/dev/incompressible_liquids/CPIncomp/ExampleObjects.py @@ -5,20 +5,20 @@ from CPIncomp.DataObjects import PureData, SolutionData, DigitalData,\ class PureExample(PureData): def __init__(self): - PureData.__init__(self) + PureData.__init__(self) self.name = "ExamplePure" self.description = "Heat transfer fluid TherminolD12 by Solutia" self.reference = "Solutia data sheet" self.Tmax = 150 + 273.15 self.Tmin = 50 + 273.15 self.TminPsat = self.Tmax - + self.density.source = self.density.SOURCE_DATA self.specific_heat.source = self.specific_heat.SOURCE_DATA self.conductivity.source = self.conductivity.SOURCE_DATA self.viscosity.source = self.viscosity.SOURCE_DATA self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA - + self.temperature.data = np.array([ 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150])+273.15 # Kelvin self.density.data = np.array([ 740, 733, 726, 717, 710, 702, 695, 687, 679, 670, 662]) # kg/m3 self.specific_heat.data = np.array([ 2235, 2280, 2326, 2361, 2406, 2445, 2485, 2528, 2571, 2607, 2645]) # J/kg-K @@ -30,14 +30,14 @@ class PureExample(PureData): class SolutionExample(SolutionData): def __init__(self): - SolutionData.__init__(self) + SolutionData.__init__(self) self.name = "ExampleSolution" self.description = "Ethanol ice slurry" - self.reference = "SecCool software" - + self.reference = "SecCool software,Skovrup2013" + self.temperature.data = np.array([ -45 , -40 , -35 , -30 , -25 , -20 , -15 , -10])+273.15 # Kelvin self.concentration.data = np.array([ 5 , 10 , 15 , 20 , 25 , 30 , 35 ])/100.0 # mass fraction - + self.density.data = np.array([ [1064.0, 1054.6, 1045.3, 1036.3, 1027.4, 1018.6, 1010.0], [1061.3, 1052.1, 1043.1, 1034.3, 1025.6, 1017.0, 1008.6], @@ -47,12 +47,12 @@ class SolutionExample(SolutionData): [1040.7, 1033.2, 1025.7, 1018.4, 1011.2, 1004.0, 997.0], [1032.3, 1025.3, 1018.5, 1011.7, 1005.1, 998.5, 992.0], [1021.5, 1015.3, 1009.2, 1003.1, 997.1, 991.2, 985.4]]) # kg/m3 - + self.specific_heat.data = np.copy(self.density.data) - + self.density.source = self.density.SOURCE_DATA self.specific_heat.source = self.specific_heat.SOURCE_DATA - + self.Tmax = np.max(self.temperature.data) self.Tmin = np.min(self.temperature.data) self.xmax = np.max(self.concentration.data) @@ -63,51 +63,51 @@ class SolutionExample(SolutionData): class DigitalExample(DigitalData): def __init__(self): - DigitalData.__init__(self) + DigitalData.__init__(self) self.name = "ExampleDigital" self.description = "some fluid" self.reference = "none" - + self.Tmin = 273.00; self.Tmax = 500.00; self.xmax = 1.0 self.xmin = 0.0 self.xid = self.ifrac_mass self.TminPsat = self.Tmin; - + self.temperature.data = self.getTrange() self.concentration.data = self.getxrange() - + def funcRho(T,x): return T + x*100.0 + T*(x+0.5) self.density.xData,self.density.yData,self.density.data = self.getArray(dataID="D", func=funcRho, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.density.DEBUG) self.density.source = self.density.SOURCE_EQUATION - + def funcCp(T,x): return T + x*50.0 + T*(x+0.6) self.specific_heat.xData,self.specific_heat.yData,self.specific_heat.data = self.getArray(dataID="C", func=funcCp, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.specific_heat.DEBUG) self.specific_heat.source = self.specific_heat.SOURCE_EQUATION - + class DigitalExamplePure(PureData,DigitalData): def __init__(self): - DigitalData.__init__(self) - PureData.__init__(self) + DigitalData.__init__(self) + PureData.__init__(self) self.name = "ExampleDigitalPure" self.description = "water at 100 bar" self.reference = "none" - + self.Tmin = 280.00; self.Tmax = 500.00; self.TminPsat = self.Tmin; - + self.temperature.data = self.getTrange() self.concentration.data = self.getxrange() - + import CoolProp.CoolProp as CP - + def funcD(T,x): return CP.PropsSI('D','T',T,'P',1e7,'water') def funcC(T,x): @@ -118,34 +118,34 @@ class DigitalExamplePure(PureData,DigitalData): return CP.PropsSI('V','T',T,'P',1e7,'water') def funcP(T,x): return CP.PropsSI('P','T',T,'Q',0.0,'water') - + self.density.xData,self.density.yData,self.density.data = self.getArray(dataID="D", func=funcD, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.density.DEBUG) self.density.source = self.density.SOURCE_EQUATION self.specific_heat.xData,self.specific_heat.yData,self.specific_heat.data = self.getArray(dataID="C", func=funcC, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.specific_heat.DEBUG) self.specific_heat.source = self.specific_heat.SOURCE_EQUATION - + self.conductivity.xData,self.conductivity.yData,self.conductivity.data = self.getArray(dataID="L", func=funcL, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.conductivity.DEBUG) self.conductivity.source = self.conductivity.SOURCE_EQUATION - + self.viscosity.xData,self.viscosity.yData,self.viscosity.data = self.getArray(dataID="V", func=funcV, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.viscosity.DEBUG) self.viscosity.source = self.viscosity.SOURCE_EQUATION - + self.saturation_pressure.xData,self.saturation_pressure.yData,self.saturation_pressure.data = self.getArray(dataID="P", func=funcP, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.saturation_pressure.DEBUG) self.saturation_pressure.source = self.saturation_pressure.SOURCE_EQUATION - - - - - + + + + + class SecCoolExample(CoefficientData): - """ + """ Ethanol-Water mixture according to Melinder book Source: SecCool Software - """ + """ def __init__(self): - CoefficientData.__init__(self) + CoefficientData.__init__(self) self.name = "ExampleSecCool" self.description = "Methanol solution" #self.reference = "SecCool software" @@ -155,17 +155,17 @@ class SecCoolExample(CoefficientData): self.xmin = 0.0 self.xid = self.ifrac_mass self.TminPsat = 20 + 273.15 - + self.Tbase = -4.48 + 273.15 self.xbase = 31.57 / 100.0 - + self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL self.density.coeffs = self.convertSecCoolArray(np.array([ - 960.24665800, - -1.2903839100, - -0.0161042520, - -0.0001969888, - 1.131559E-05, + 960.24665800, + -1.2903839100, + -0.0161042520, + -0.0001969888, + 1.131559E-05, 9.181999E-08, -0.4020348270, -0.0162463989, @@ -176,12 +176,12 @@ class SecCoolExample(CoefficientData): 0.0001101514, -2.320217E-07, 7.794999E-08, - 9.937483E-06, + 9.937483E-06, -1.346886E-06, 4.141999E-08])) - - - + + + self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL self.specific_heat.coeffs = self.convertSecCoolArray(np.array([ 3822.9712300, @@ -189,97 +189,97 @@ class SecCoolExample(CoefficientData): 0.0678775826, 0.0022413893, -0.0003045332, - -4.758000E-06, - 2.3501449500, - 0.1788839410, - 0.0006828000, - 0.0002101166, - -9.812000E-06, - -0.0004724176, - -0.0003317949, - 0.0001002032, - -5.306000E-06, - 4.242194E-05, - 2.347190E-05, + -4.758000E-06, + 2.3501449500, + 0.1788839410, + 0.0006828000, + 0.0002101166, + -9.812000E-06, + -0.0004724176, + -0.0003317949, + 0.0001002032, + -5.306000E-06, + 4.242194E-05, + 2.347190E-05, -1.894000E-06])) self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL self.conductivity.coeffs = self.convertSecCoolArray(np.array([ - 0.4082066700, - -0.0039816870, - 1.583368E-05, - -3.552049E-07, - -9.884176E-10, - 4.460000E-10, - 0.0006629321, - -2.686475E-05, - 9.039150E-07, - -2.128257E-08, - -5.562000E-10, - 3.685975E-07, - 7.188416E-08, - -1.041773E-08, - 2.278001E-10, - 4.703395E-08, - 7.612361E-11, + 0.4082066700, + -0.0039816870, + 1.583368E-05, + -3.552049E-07, + -9.884176E-10, + 4.460000E-10, + 0.0006629321, + -2.686475E-05, + 9.039150E-07, + -2.128257E-08, + -5.562000E-10, + 3.685975E-07, + 7.188416E-08, + -1.041773E-08, + 2.278001E-10, + 4.703395E-08, + 7.612361E-11, -2.734000E-10])) self.viscosity.type = self.viscosity.INCOMPRESSIBLE_EXPPOLYNOMIAL self.viscosity.coeffs = self.convertSecCoolArray(np.array([ - 1.4725525500, - 0.0022218998, - -0.0004406139, - 6.047984E-06, - -1.954730E-07, - -2.372000E-09, - -0.0411841566, - 0.0001784479, - -3.564413E-06, - 4.064671E-08, - 1.915000E-08, - 0.0002572862, - -9.226343E-07, - -2.178577E-08, - -9.529999E-10, - -1.699844E-06, - -1.023552E-07, + 1.4725525500, + 0.0022218998, + -0.0004406139, + 6.047984E-06, + -1.954730E-07, + -2.372000E-09, + -0.0411841566, + 0.0001784479, + -3.564413E-06, + 4.064671E-08, + 1.915000E-08, + 0.0002572862, + -9.226343E-07, + -2.178577E-08, + -9.529999E-10, + -1.699844E-06, + -1.023552E-07, 4.482000E-09])) self.T_freeze.type = self.T_freeze.INCOMPRESSIBLE_POLYOFFSET self.T_freeze.coeffs = np.array([ 27.755555600/100.0, - -22.973221700+273.15, - -1.1040507200*100.0, - -0.0120762281*100.0*100.0, + -22.973221700+273.15, + -1.1040507200*100.0, + -0.0120762281*100.0*100.0, -9.343458E-05*100.0*100.0*100.0]) - + self.density.source = self.density.SOURCE_COEFFS self.specific_heat.source = self.specific_heat.SOURCE_COEFFS self.conductivity.source = self.conductivity.SOURCE_COEFFS self.viscosity.source = self.viscosity.SOURCE_COEFFS self.T_freeze.source = self.T_freeze.SOURCE_COEFFS - - + + class MelinderExample(CoefficientData): - """ + """ Methanol-Water mixture according to Melinder book Source: Book - """ + """ def __init__(self): - CoefficientData.__init__(self) + CoefficientData.__init__(self) self.name = "ExampleMelinder" self.description = "Methanol solution" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmax = 40 + 273.15 self.Tmin = -50 + 273.15 self.xmax = 0.6 self.xmin = 0.0 self.xid = self.ifrac_mass self.TminPsat = self.Tmax - + self.Tbase = 3.5359 + 273.15; self.xbase = 30.5128 / 100.0 - + coeffs = np.array([ [-26.29 , 958.1 ,3887 , 0.4175 , 1.153 ], [ -0.000002575 , -0.4151 , 7.201 , 0.0007271 , -0.03866 ], @@ -300,7 +300,6 @@ class MelinderExample(CoefficientData): [ -0.0000000005407, -0.0000001325 , 0.000007373 , -0.0000000000004573, -0.0000000009105 ], [ 0.00000002363 , -0.00000007727 , 0.000006433 , -0.0000000002033 , -0.0000000008472 ] ]) - + self.setMelinderMatrix(coeffs) - - \ No newline at end of file + diff --git a/dev/incompressible_liquids/CPIncomp/MelinderFluids.py b/dev/incompressible_liquids/CPIncomp/MelinderFluids.py index c5a98d7c..e62de801 100644 --- a/dev/incompressible_liquids/CPIncomp/MelinderFluids.py +++ b/dev/incompressible_liquids/CPIncomp/MelinderFluids.py @@ -5,15 +5,15 @@ from CPIncomp.BaseObjects import IncompressibleFitter class DEBLiquidClass(CoefficientData,PureData): - """ + """ Pure fluid according to Melinder's book - """ + """ def __init__(self): CoefficientData.__init__(self) - PureData.__init__(self) + PureData.__init__(self) self.name = "DEB" self.description = "Diethylbenzene mixture - Dowtherm J Dow Chemical Co." - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin = -80.0 + 273.15 self.Tmax = 100.0 + 273.15 @@ -30,7 +30,7 @@ class DEBLiquidClass(CoefficientData,PureData): self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL _,_,self.conductivity.coeffs = IncompressibleFitter.shapeArray(np.array([0.000189132,-2.06364e-07])) - + self.density.source = self.density.SOURCE_COEFFS self.specific_heat.source = self.specific_heat.SOURCE_COEFFS self.conductivity.source = self.conductivity.SOURCE_COEFFS @@ -38,15 +38,15 @@ class DEBLiquidClass(CoefficientData,PureData): class HCMLiquidClass(CoefficientData,PureData): - """ + """ Pure fluid according to Melinder's book - """ + """ def __init__(self): - CoefficientData.__init__(self) - PureData.__init__(self) + CoefficientData.__init__(self) + PureData.__init__(self) self.name = "HCM" self.description = "Hydrocarbon mixture (synthetic) - Therminol D12 (Gilotherm D12) Solutia" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin = -80.0 + 273.15 self.Tmax = 100.0 + 273.15 @@ -63,7 +63,7 @@ class HCMLiquidClass(CoefficientData,PureData): self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL _,_,self.conductivity.coeffs = IncompressibleFitter.shapeArray(np.array([0.000153716,-1.51212e-07])) - + self.density.source = self.density.SOURCE_COEFFS self.specific_heat.source = self.specific_heat.SOURCE_COEFFS self.conductivity.source = self.conductivity.SOURCE_COEFFS @@ -71,15 +71,15 @@ class HCMLiquidClass(CoefficientData,PureData): class HFELiquidClass(CoefficientData,PureData): - """ + """ Pure fluid according to Melinder's book - """ + """ def __init__(self): - CoefficientData.__init__(self) - PureData.__init__(self) + CoefficientData.__init__(self) + PureData.__init__(self) self.name = "HFE" self.description = "Hydrofluoroether - HFE-7100 3M Novec" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin = -80.0 + 273.15 self.Tmax = 100.0 + 273.15 @@ -96,7 +96,7 @@ class HFELiquidClass(CoefficientData,PureData): self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL _,_,self.conductivity.coeffs = IncompressibleFitter.shapeArray(np.array([9.92958e-05,-8.33333e-08])) - + self.density.source = self.density.SOURCE_COEFFS self.specific_heat.source = self.specific_heat.SOURCE_COEFFS self.conductivity.source = self.conductivity.SOURCE_COEFFS @@ -104,15 +104,15 @@ class HFELiquidClass(CoefficientData,PureData): class PMS1LiquidClass(CoefficientData,PureData): - """ + """ Pure fluid according to Melinder's book - """ + """ def __init__(self): - CoefficientData.__init__(self) - PureData.__init__(self) + CoefficientData.__init__(self) + PureData.__init__(self) self.name = "PMS1" self.description = "Polydimethylsiloxan 1. - Baysilone KT3" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin = -80.0 + 273.15 self.Tmax = 100.0 + 273.15 @@ -129,7 +129,7 @@ class PMS1LiquidClass(CoefficientData,PureData): self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL _,_,self.conductivity.coeffs = IncompressibleFitter.shapeArray(np.array([0.000207526,-2.84167e-07])) - + self.density.source = self.density.SOURCE_COEFFS self.specific_heat.source = self.specific_heat.SOURCE_COEFFS self.conductivity.source = self.conductivity.SOURCE_COEFFS @@ -137,15 +137,15 @@ class PMS1LiquidClass(CoefficientData,PureData): class PMS2LiquidClass(CoefficientData,PureData): - """ + """ Pure fluid according to Melinder's book - """ + """ def __init__(self): - CoefficientData.__init__(self) - PureData.__init__(self) + CoefficientData.__init__(self) + PureData.__init__(self) self.name = "PMS2" self.description = "Polydimethylsiloxan 2. - Syltherm XLT Dow Corning Co." - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin = -80.0 + 273.15 self.Tmax = 100.0 + 273.15 @@ -162,7 +162,7 @@ class PMS2LiquidClass(CoefficientData,PureData): self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL _,_,self.conductivity.coeffs = IncompressibleFitter.shapeArray(np.array([0.000172305,-2.11212e-07])) - + self.density.source = self.density.SOURCE_COEFFS self.specific_heat.source = self.specific_heat.SOURCE_COEFFS self.conductivity.source = self.conductivity.SOURCE_COEFFS @@ -170,15 +170,15 @@ class PMS2LiquidClass(CoefficientData,PureData): class SABLiquidClass(CoefficientData,PureData): - """ + """ Pure fluid according to Melinder's book - """ + """ def __init__(self): - CoefficientData.__init__(self) - PureData.__init__(self) + CoefficientData.__init__(self) + PureData.__init__(self) self.name = "SAB" self.description = "Synthetic alkyl benzene - Marlotherm X" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin = -80.0 + 273.15 self.Tmax = 100.0 + 273.15 @@ -195,7 +195,7 @@ class SABLiquidClass(CoefficientData,PureData): self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL _,_,self.conductivity.coeffs = IncompressibleFitter.shapeArray(np.array([0.000208374,-2.61667e-07])) - + self.density.source = self.density.SOURCE_COEFFS self.specific_heat.source = self.specific_heat.SOURCE_COEFFS self.conductivity.source = self.conductivity.SOURCE_COEFFS @@ -203,15 +203,15 @@ class SABLiquidClass(CoefficientData,PureData): class HCBLiquidClass(CoefficientData,PureData): - """ + """ Pure fluid according to Melinder's book - """ + """ def __init__(self): - CoefficientData.__init__(self) - PureData.__init__(self) + CoefficientData.__init__(self) + PureData.__init__(self) self.name = "HCB" self.description = "Hydrocarbon blend - Dynalene MV" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin = -80.0 + 273.15 self.Tmax = 100.0 + 273.15 @@ -228,7 +228,7 @@ class HCBLiquidClass(CoefficientData,PureData): self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL _,_,self.conductivity.coeffs = IncompressibleFitter.shapeArray(np.array([0.000203186,-2.3869e-07])) - + self.density.source = self.density.SOURCE_COEFFS self.specific_heat.source = self.specific_heat.SOURCE_COEFFS self.conductivity.source = self.conductivity.SOURCE_COEFFS @@ -236,15 +236,15 @@ class HCBLiquidClass(CoefficientData,PureData): class TCOLiquidClass(CoefficientData,PureData): - """ + """ Pure fluid according to Melinder's book - """ + """ def __init__(self): - CoefficientData.__init__(self) - PureData.__init__(self) + CoefficientData.__init__(self) + PureData.__init__(self) self.name = "TCO" self.description = "Terpene from citrus oils - d-Limonene" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin = -80.0 + 273.15 self.Tmax = 100.0 + 273.15 @@ -261,7 +261,7 @@ class TCOLiquidClass(CoefficientData,PureData): self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL _,_,self.conductivity.coeffs = IncompressibleFitter.shapeArray(np.array([0.000174156,-1.85052e-07])) - + self.density.source = self.density.SOURCE_COEFFS self.specific_heat.source = self.specific_heat.SOURCE_COEFFS self.conductivity.source = self.conductivity.SOURCE_COEFFS @@ -275,18 +275,18 @@ class TCOLiquidClass(CoefficientData,PureData): - - + + class EGSolution(CoefficientData): def __init__(self): - CoefficientData.__init__(self) + CoefficientData.__init__(self) self.name = "MEG" self.description = "Ethylene Glycol" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin =-100 + 273.15 self.Tmax = 100 + 273.15 - self.TminPsat = self.Tmax + self.TminPsat = self.Tmax self.xmin = 0.0 self.xmax = 0.6 @@ -317,18 +317,18 @@ class EGSolution(CoefficientData): ]) self.setMelinderMatrix(coeffs) - + class PGSolution(CoefficientData): def __init__(self): - CoefficientData.__init__(self) + CoefficientData.__init__(self) self.name = "MPG" self.description = "Propylene Glycol" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin =-100 + 273.15 self.Tmax = 100 + 273.15 - self.TminPsat = self.Tmax + self.TminPsat = self.Tmax self.xmin = 0.0 self.xmax = 0.6 @@ -359,18 +359,18 @@ class PGSolution(CoefficientData): ]) self.setMelinderMatrix(coeffs) - + class EASolution(CoefficientData): def __init__(self): - CoefficientData.__init__(self) + CoefficientData.__init__(self) self.name = "MEA" self.description = "Ethyl Alcohol (Ethanol)" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin =-100 + 273.15 self.Tmax = 40 + 273.15 - self.TminPsat = self.Tmax + self.TminPsat = self.Tmax self.xmin = 0.0 self.xmax = 0.6 @@ -401,18 +401,18 @@ class EASolution(CoefficientData): ]) self.setMelinderMatrix(coeffs) - + class MASolution(CoefficientData): def __init__(self): - CoefficientData.__init__(self) + CoefficientData.__init__(self) self.name = "MMA" self.description = "Methyl Alcohol (Methanol)" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin =-100 + 273.15 self.Tmax = 40 + 273.15 - self.TminPsat = self.Tmax + self.TminPsat = self.Tmax self.xmin = 0.0 self.xmax = 0.6 @@ -444,18 +444,18 @@ class MASolution(CoefficientData): ]) self.setMelinderMatrix(coeffs) - + class GLSolution(CoefficientData): def __init__(self): - CoefficientData.__init__(self) + CoefficientData.__init__(self) self.name = "MGL" self.description = "Glycerol" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin =-100 + 273.15 self.Tmax = 40 + 273.15 - self.TminPsat = self.Tmax + self.TminPsat = self.Tmax self.xmin = 0.0 self.xmax = 0.6 @@ -486,18 +486,18 @@ class GLSolution(CoefficientData): ]) self.setMelinderMatrix(coeffs) - + class AMSolution(CoefficientData): def __init__(self): - CoefficientData.__init__(self) + CoefficientData.__init__(self) self.name = "MAM" self.description = "Ammonia (NH3)" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin =-100 + 273.15 self.Tmax = 30 + 273.15 - self.TminPsat = self.Tmax + self.TminPsat = self.Tmax self.xmin = 0.0 self.xmax = 0.3 @@ -528,18 +528,18 @@ class AMSolution(CoefficientData): ]) self.setMelinderMatrix(coeffs) - + class KCSolution(CoefficientData): def __init__(self): - CoefficientData.__init__(self) + CoefficientData.__init__(self) self.name = "MKC" self.description = "Potassium Carbonate (K2CO3)" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin =-100 + 273.15 self.Tmax = 40 + 273.15 - self.TminPsat = self.Tmax + self.TminPsat = self.Tmax self.xmin = 0.0 self.xmax = 0.4 @@ -570,18 +570,18 @@ class KCSolution(CoefficientData): ]) self.setMelinderMatrix(coeffs) - + class CASolution(CoefficientData): def __init__(self): - CoefficientData.__init__(self) + CoefficientData.__init__(self) self.name = "MCA" self.description = "Calcium Chloride (CaCl2)" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin =-100.0 + 273.15 self.Tmax = 40.0 + 273.15 - self.TminPsat = self.Tmax + self.TminPsat = self.Tmax self.xmin = 0.0 self.xmax = 0.3 @@ -612,18 +612,18 @@ class CASolution(CoefficientData): ]) self.setMelinderMatrix(coeffs) - + class MGSolution(CoefficientData): def __init__(self): - CoefficientData.__init__(self) + CoefficientData.__init__(self) self.name = "MMG" self.description = "(MgCl2)" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin =-100.0 + 273.15 self.Tmax = 40.0 + 273.15 - self.TminPsat = self.Tmax + self.TminPsat = self.Tmax self.xmin = 0.0 self.xmax = 0.3 @@ -654,18 +654,18 @@ class MGSolution(CoefficientData): ]) self.setMelinderMatrix(coeffs) - + class NASolution(CoefficientData): def __init__(self): - CoefficientData.__init__(self) + CoefficientData.__init__(self) self.name = "MNA" self.description = "Sodium Chloride (NaCl)" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin =-100.0 + 273.15 self.Tmax = 40.0 + 273.15 - self.TminPsat = self.Tmax + self.TminPsat = self.Tmax self.xmin = 0.0 self.xmax = 0.23 @@ -696,18 +696,18 @@ class NASolution(CoefficientData): ]) self.setMelinderMatrix(coeffs) - + class KASolution(CoefficientData): def __init__(self): - CoefficientData.__init__(self) + CoefficientData.__init__(self) self.name = "MKA" self.description = "Potassium Acetate (CH3CO2K)" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin =-100.0 + 273.15 self.Tmax = 40.0 + 273.15 - self.TminPsat = self.Tmax + self.TminPsat = self.Tmax self.xmin = 0.0 self.xmax = 0.45 @@ -738,18 +738,18 @@ class KASolution(CoefficientData): ]) self.setMelinderMatrix(coeffs) - + class KFSolution(CoefficientData): def __init__(self): - CoefficientData.__init__(self) + CoefficientData.__init__(self) self.name = "MKF" self.description = "Potassium Formate (CHKO2)" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin =-100.0 + 273.15 self.Tmax = 40.0 + 273.15 - self.TminPsat = self.Tmax + self.TminPsat = self.Tmax self.xmin = 0.0 self.xmax = 0.48 @@ -780,18 +780,18 @@ class KFSolution(CoefficientData): ]) self.setMelinderMatrix(coeffs) - + class LISolution(CoefficientData): def __init__(self): - CoefficientData.__init__(self) + CoefficientData.__init__(self) self.name = "MLI" self.description = "Lithium Chloride (LiCl)" - self.reference = "Melinder-BOOK-2010" + self.reference = "Melinder2010" self.Tmin =-100.0 + 273.15 self.Tmax = 40.0 + 273.15 - self.TminPsat = self.Tmax + self.TminPsat = self.Tmax self.xmin = 0.0 self.xmax = 0.24 @@ -822,4 +822,4 @@ class LISolution(CoefficientData): ]) self.setMelinderMatrix(coeffs) - + diff --git a/dev/incompressible_liquids/CPIncomp/PureFluids.py b/dev/incompressible_liquids/CPIncomp/PureFluids.py index 97825273..70c72901 100644 --- a/dev/incompressible_liquids/CPIncomp/PureFluids.py +++ b/dev/incompressible_liquids/CPIncomp/PureFluids.py @@ -1,13 +1,13 @@ from __future__ import division, print_function import numpy as np from CPIncomp.DataObjects import PureData - + class TherminolD12(PureData): - """ + """ Heat transfer fluid Therminol D12 by Solutia """ def __init__(self): - PureData.__init__(self) + PureData.__init__(self) self.density.source = self.density.SOURCE_DATA self.specific_heat.source = self.specific_heat.SOURCE_DATA self.conductivity.source = self.conductivity.SOURCE_DATA @@ -17,22 +17,22 @@ class TherminolD12(PureData): self.density.data = np.array([+8.35000E+2, +8.32000E+2, +8.28000E+2, +8.25000E+2, +8.22000E+2, +8.18000E+2, +8.15000E+2, +8.11000E+2, +8.08000E+2, +8.05000E+2, +8.01000E+2, +7.98000E+2, +7.94000E+2, +7.91000E+2, +7.87000E+2, +7.84000E+2, +7.80000E+2, +7.77000E+2, +7.73000E+2, +7.70000E+2, +7.66000E+2, +7.62000E+2, +7.59000E+2, +7.55000E+2, +7.52000E+2, +7.48000E+2, +7.44000E+2, +7.41000E+2, +7.37000E+2, +7.33000E+2, +7.29000E+2, +7.26000E+2, +7.22000E+2, +7.18000E+2, +7.14000E+2, +7.10000E+2, +7.06000E+2, +7.03000E+2, +6.99000E+2, +6.95000E+2, +6.91000E+2, +6.87000E+2, +6.82000E+2, +6.78000E+2, +6.74000E+2, +6.70000E+2, +6.66000E+2, +6.61000E+2, +6.57000E+2, +6.53000E+2, +6.48000E+2, +6.44000E+2, +6.39000E+2, +6.35000E+2, +6.30000E+2, +6.25000E+2, +6.20000E+2, +6.16000E+2, +6.11000E+2, +6.06000E+2, +6.00000E+2, +5.95000E+2, +5.90000E+2, +5.84000E+2]) # kg/m3 self.specific_heat.data = np.array([+1.69400E+0, +1.71200E+0, +1.73100E+0, +1.75000E+0, +1.76800E+0, +1.78700E+0, +1.80600E+0, +1.82400E+0, +1.84300E+0, +1.86200E+0, +1.88100E+0, +1.90000E+0, +1.91900E+0, +1.93800E+0, +1.95700E+0, +1.97700E+0, +1.99600E+0, +2.01500E+0, +2.03500E+0, +2.05400E+0, +2.07300E+0, +2.09300E+0, +2.11300E+0, +2.13200E+0, +2.15200E+0, +2.17200E+0, +2.19100E+0, +2.21100E+0, +2.23100E+0, +2.25100E+0, +2.27100E+0, +2.29100E+0, +2.31200E+0, +2.33200E+0, +2.35200E+0, +2.37300E+0, +2.39300E+0, +2.41400E+0, +2.43400E+0, +2.45500E+0, +2.47600E+0, +2.49600E+0, +2.51700E+0, +2.53800E+0, +2.55900E+0, +2.58000E+0, +2.60200E+0, +2.62300E+0, +2.64400E+0, +2.66600E+0, +2.68700E+0, +2.70900E+0, +2.73100E+0, +2.75300E+0, +2.77500E+0, +2.79700E+0, +2.82000E+0, +2.84200E+0, +2.86500E+0, +2.88800E+0, +2.91100E+0, +2.93500E+0, +2.95900E+0, +2.98300E+0])*1000. # J/kg-K self.conductivity.data = np.array([+1.24400E-1, +1.23800E-1, +1.23200E-1, +1.22500E-1, +1.21900E-1, +1.21300E-1, +1.20600E-1, +1.20000E-1, +1.19300E-1, +1.18600E-1, +1.18000E-1, +1.17300E-1, +1.16600E-1, +1.15900E-1, +1.15200E-1, +1.14500E-1, +1.13700E-1, +1.13000E-1, +1.12200E-1, +1.11500E-1, +1.10700E-1, +1.10000E-1, +1.09200E-1, +1.08400E-1, +1.07600E-1, +1.06800E-1, +1.06000E-1, +1.05200E-1, +1.04400E-1, +1.03500E-1, +1.02700E-1, +1.01900E-1, +1.01000E-1, +1.00100E-1, +9.93000E-2, +9.84000E-2, +9.75000E-2, +9.66000E-2, +9.57000E-2, +9.48000E-2, +9.39000E-2, +9.29000E-2, +9.20000E-2, +9.10000E-2, +9.01000E-2, +8.91000E-2, +8.82000E-2, +8.72000E-2, +8.62000E-2, +8.52000E-2, +8.42000E-2, +8.32000E-2, +8.22000E-2, +8.12000E-2, +8.01000E-2, +7.91000E-2, +7.80000E-2, +7.70000E-2, +7.59000E-2, +7.48000E-2, +7.38000E-2, +7.27000E-2, +7.16000E-2, +7.05000E-2]) # W/m-K - self.viscosity.data = np.array([+3.59000E-1, +1.77000E-1, +9.59000E-2, +5.64000E-2, +3.55000E-2, +2.36000E-2, +1.65000E-2, +1.20000E-2, +9.07000E-3, +7.06000E-3, +5.63000E-3, +4.60000E-3, +3.82000E-3, +3.24000E-3, +2.78000E-3, +2.41000E-3, +2.12000E-3, +1.88000E-3, +1.69000E-3, +1.52000E-3, +1.38000E-3, +1.26000E-3, +1.16000E-3, +1.07000E-3, +9.88000E-4, +9.18000E-4, +8.56000E-4, +8.00000E-4, +7.50000E-4, +7.05000E-4, +6.64000E-4, +6.26000E-4, +5.92000E-4, +5.61000E-4, +5.31000E-4, +5.04000E-4, +4.79000E-4, +4.56000E-4, +4.35000E-4, +4.14000E-4, +3.95000E-4, +3.78000E-4, +3.61000E-4, +3.45000E-4, +3.30000E-4, +3.16000E-4, +3.03000E-4, +2.90000E-4, +2.78000E-4, +2.67000E-4, +2.57000E-4, +2.46000E-4, +2.37000E-4, +2.27000E-4, +2.19000E-4, +2.10000E-4, +2.02000E-4, +1.95000E-4, +1.87000E-4, +1.80000E-4, +1.74000E-4, +1.67000E-4, +1.61000E-4, +1.56000E-4]) # Pa-s - self.saturation_pressure.data = np.array([+4.75000E-9, +2.07000E-8, +8.08000E-8, +2.81000E-7, +8.86000E-7, +2.56000E-6, +6.82000E-6, +1.70000E-5, +3.96000E-5, +8.75000E-5, +1.84000E-4, +3.68000E-4, +7.06000E-4, +1.30000E-3, +2.33000E-3, +4.02000E-3, +6.75000E-3, +1.10000E-2, +1.76000E-2, +2.73000E-2, +4.16000E-2, +6.21000E-2, +9.10000E-2, +1.31000E-1, +1.86000E-1, +2.59000E-1, +3.56000E-1, +4.84000E-1, +6.48000E-1, +8.59000E-1, +1.13000E+0, +1.46000E+0, +1.88000E+0, +2.39000E+0, +3.01000E+0, +3.77000E+0, +4.68000E+0, +5.76000E+0, +7.05000E+0, +8.57000E+0, +1.03000E+1, +1.24000E+1, +1.48000E+1, +1.76000E+1, +2.08000E+1, +2.44000E+1, +2.85000E+1, +3.32000E+1, +3.84000E+1, +4.43000E+1, +5.09000E+1, +5.83000E+1, +6.64000E+1, +7.55000E+1, +8.55000E+1, +9.65000E+1, +1.09000E+2, +1.22000E+2, +1.36000E+2, +1.52000E+2, +1.69000E+2, +1.88000E+2, +2.08000E+2, +2.29000E+2])*1000. # Pa + self.viscosity.data = np.array([+3.59000E-1, +1.77000E-1, +9.59000E-2, +5.64000E-2, +3.55000E-2, +2.36000E-2, +1.65000E-2, +1.20000E-2, +9.07000E-3, +7.06000E-3, +5.63000E-3, +4.60000E-3, +3.82000E-3, +3.24000E-3, +2.78000E-3, +2.41000E-3, +2.12000E-3, +1.88000E-3, +1.69000E-3, +1.52000E-3, +1.38000E-3, +1.26000E-3, +1.16000E-3, +1.07000E-3, +9.88000E-4, +9.18000E-4, +8.56000E-4, +8.00000E-4, +7.50000E-4, +7.05000E-4, +6.64000E-4, +6.26000E-4, +5.92000E-4, +5.61000E-4, +5.31000E-4, +5.04000E-4, +4.79000E-4, +4.56000E-4, +4.35000E-4, +4.14000E-4, +3.95000E-4, +3.78000E-4, +3.61000E-4, +3.45000E-4, +3.30000E-4, +3.16000E-4, +3.03000E-4, +2.90000E-4, +2.78000E-4, +2.67000E-4, +2.57000E-4, +2.46000E-4, +2.37000E-4, +2.27000E-4, +2.19000E-4, +2.10000E-4, +2.02000E-4, +1.95000E-4, +1.87000E-4, +1.80000E-4, +1.74000E-4, +1.67000E-4, +1.61000E-4, +1.56000E-4]) # Pa-s + self.saturation_pressure.data = np.array([+4.75000E-9, +2.07000E-8, +8.08000E-8, +2.81000E-7, +8.86000E-7, +2.56000E-6, +6.82000E-6, +1.70000E-5, +3.96000E-5, +8.75000E-5, +1.84000E-4, +3.68000E-4, +7.06000E-4, +1.30000E-3, +2.33000E-3, +4.02000E-3, +6.75000E-3, +1.10000E-2, +1.76000E-2, +2.73000E-2, +4.16000E-2, +6.21000E-2, +9.10000E-2, +1.31000E-1, +1.86000E-1, +2.59000E-1, +3.56000E-1, +4.84000E-1, +6.48000E-1, +8.59000E-1, +1.13000E+0, +1.46000E+0, +1.88000E+0, +2.39000E+0, +3.01000E+0, +3.77000E+0, +4.68000E+0, +5.76000E+0, +7.05000E+0, +8.57000E+0, +1.03000E+1, +1.24000E+1, +1.48000E+1, +1.76000E+1, +2.08000E+1, +2.44000E+1, +2.85000E+1, +3.32000E+1, +3.84000E+1, +4.43000E+1, +5.09000E+1, +5.83000E+1, +6.64000E+1, +7.55000E+1, +8.55000E+1, +9.65000E+1, +1.09000E+2, +1.22000E+2, +1.36000E+2, +1.52000E+2, +1.69000E+2, +1.88000E+2, +2.08000E+2, +2.29000E+2])*1000. # Pa self.Tmin = np.min(self.temperature.data) self.Tmax = np.max(self.temperature.data) self.TminPsat = self.Tmin - self.name = "TD12" + self.name = "TD12" self.description = "TherminolD12" - self.reference = "Therminol Heat Transfer Reference Disk" + self.reference = "Therminol2014" self.reshapeAll() class TherminolVP1(PureData): - """ + """ Heat transfer fluid Therminol VP-1 by Solutia """ def __init__(self): - PureData.__init__(self) + PureData.__init__(self) self.density.source = self.density.SOURCE_DATA self.specific_heat.source = self.specific_heat.SOURCE_DATA self.conductivity.source = self.conductivity.SOURCE_DATA @@ -42,23 +42,23 @@ class TherminolVP1(PureData): self.density.data = np.array([+1.07000E+3, +1.07000E+3, +1.06000E+3, +1.06000E+3, +1.05000E+3, +1.05000E+3, +1.05000E+3, +1.04000E+3, +1.04000E+3, +1.03000E+3, +1.03000E+3, +1.03000E+3, +1.02000E+3, +1.02000E+3, +1.01000E+3, +1.01000E+3, +1.01000E+3, +1.00000E+3, +9.97000E+2, +9.93000E+2, +9.88000E+2, +9.84000E+2, +9.80000E+2, +9.76000E+2, +9.72000E+2, +9.67000E+2, +9.63000E+2, +9.59000E+2, +9.55000E+2, +9.50000E+2, +9.46000E+2, +9.42000E+2, +9.37000E+2, +9.33000E+2, +9.29000E+2, +9.24000E+2, +9.20000E+2, +9.15000E+2, +9.11000E+2, +9.06000E+2, +9.02000E+2, +8.98000E+2, +8.93000E+2, +8.89000E+2, +8.84000E+2, +8.79000E+2, +8.75000E+2, +8.70000E+2, +8.65000E+2, +8.60000E+2, +8.56000E+2, +8.51000E+2, +8.46000E+2, +8.41000E+2, +8.36000E+2, +8.31000E+2, +8.25000E+2, +8.20000E+2, +8.15000E+2, +8.10000E+2, +8.04000E+2, +7.99000E+2, +7.93000E+2, +7.88000E+2, +7.82000E+2, +7.76000E+2, +7.70000E+2, +7.65000E+2, +7.59000E+2, +7.52000E+2, +7.46000E+2, +7.40000E+2, +7.33000E+2, +7.27000E+2, +7.20000E+2, +7.13000E+2, +7.06000E+2, +6.99000E+2]) # kg/m3 self.specific_heat.data = np.array([+1.52300E+0, +1.53700E+0, +1.55200E+0, +1.56600E+0, +1.58100E+0, +1.59600E+0, +1.61000E+0, +1.62400E+0, +1.63900E+0, +1.65300E+0, +1.66800E+0, +1.68200E+0, +1.69600E+0, +1.71000E+0, +1.72400E+0, +1.73900E+0, +1.75300E+0, +1.76700E+0, +1.78100E+0, +1.79500E+0, +1.80900E+0, +1.82200E+0, +1.83600E+0, +1.85000E+0, +1.86400E+0, +1.87800E+0, +1.89100E+0, +1.90500E+0, +1.91900E+0, +1.93200E+0, +1.94600E+0, +1.95900E+0, +1.97300E+0, +1.98600E+0, +2.00000E+0, +2.01300E+0, +2.02700E+0, +2.04000E+0, +2.05400E+0, +2.06700E+0, +2.08000E+0, +2.09300E+0, +2.10700E+0, +2.12000E+0, +2.13300E+0, +2.14700E+0, +2.16000E+0, +2.17300E+0, +2.18600E+0, +2.19900E+0, +2.21300E+0, +2.22600E+0, +2.23900E+0, +2.25200E+0, +2.26600E+0, +2.27900E+0, +2.29300E+0, +2.30600E+0, +2.31900E+0, +2.33300E+0, +2.34700E+0, +2.36000E+0, +2.37400E+0, +2.38800E+0, +2.40200E+0, +2.41600E+0, +2.43100E+0, +2.44600E+0, +2.46000E+0, +2.47600E+0, +2.49100E+0, +2.50700E+0, +2.52300E+0, +2.54000E+0, +2.55800E+0, +2.57600E+0, +2.59500E+0, +2.61500E+0])*1000. # J/kg-K self.conductivity.data = np.array([+1.37000E-1, +1.36600E-1, +1.36100E-1, +1.35600E-1, +1.35200E-1, +1.34700E-1, +1.34200E-1, +1.33600E-1, +1.33100E-1, +1.32600E-1, +1.32000E-1, +1.31500E-1, +1.30900E-1, +1.30400E-1, +1.29800E-1, +1.29200E-1, +1.28600E-1, +1.28000E-1, +1.27400E-1, +1.26800E-1, +1.26200E-1, +1.25600E-1, +1.24900E-1, +1.24300E-1, +1.23600E-1, +1.22900E-1, +1.22300E-1, +1.21600E-1, +1.20900E-1, +1.20200E-1, +1.19500E-1, +1.18700E-1, +1.18000E-1, +1.17300E-1, +1.16500E-1, +1.15800E-1, +1.15000E-1, +1.14200E-1, +1.13500E-1, +1.12700E-1, +1.11900E-1, +1.11100E-1, +1.10300E-1, +1.09400E-1, +1.08600E-1, +1.07800E-1, +1.06900E-1, +1.06000E-1, +1.05200E-1, +1.04300E-1, +1.03400E-1, +1.02500E-1, +1.01600E-1, +1.00700E-1, +9.98000E-2, +9.89000E-2, +9.79000E-2, +9.70000E-2, +9.60000E-2, +9.51000E-2, +9.41000E-2, +9.31000E-2, +9.21000E-2, +9.11000E-2, +9.01000E-2, +8.91000E-2, +8.81000E-2, +8.71000E-2, +8.60000E-2, +8.50000E-2, +8.39000E-2, +8.29000E-2, +8.18000E-2, +8.07000E-2, +7.96000E-2, +7.85000E-2, +7.74000E-2, +7.63000E-2]) # W/m-K - self.viscosity.data = np.array([+5.48000E-3, +4.68000E-3, +4.05000E-3, +3.54000E-3, +3.12000E-3, +2.78000E-3, +2.49000E-3, +2.24000E-3, +2.04000E-3, +1.86000E-3, +1.70000E-3, +1.57000E-3, +1.45000E-3, +1.34000E-3, +1.25000E-3, +1.16000E-3, +1.09000E-3, +1.02000E-3, +9.62000E-4, +9.06000E-4, +8.56000E-4, +8.10000E-4, +7.68000E-4, +7.29000E-4, +6.93000E-4, +6.60000E-4, +6.30000E-4, +6.01000E-4, +5.75000E-4, +5.51000E-4, +5.28000E-4, +5.06000E-4, +4.86000E-4, +4.67000E-4, +4.50000E-4, +4.33000E-4, +4.18000E-4, +4.03000E-4, +3.89000E-4, +3.76000E-4, +3.64000E-4, +3.52000E-4, +3.41000E-4, +3.30000E-4, +3.20000E-4, +3.10000E-4, +3.01000E-4, +2.93000E-4, +2.84000E-4, +2.77000E-4, +2.69000E-4, +2.62000E-4, +2.55000E-4, +2.48000E-4, +2.42000E-4, +2.36000E-4, +2.30000E-4, +2.25000E-4, +2.19000E-4, +2.14000E-4, +2.09000E-4, +2.04000E-4, +2.00000E-4, +1.96000E-4, +1.91000E-4, +1.87000E-4, +1.83000E-4, +1.80000E-4, +1.76000E-4, +1.72000E-4, +1.69000E-4, +1.66000E-4, +1.62000E-4, +1.59000E-4, +1.56000E-4, +1.53000E-4, +1.51000E-4, +1.48000E-4]) # Pa-s - self.saturation_pressure.data = np.array([+5.76000E-4, +9.86000E-4, +1.65000E-3, +2.68000E-3, +4.27000E-3, +6.67000E-3, +1.02000E-2, +1.53000E-2, +2.26000E-2, +3.29000E-2, +4.71000E-2, +6.65000E-2, +9.26000E-2, +1.27000E-1, +1.73000E-1, +2.32000E-1, +3.09000E-1, +4.07000E-1, +5.30000E-1, +6.85000E-1, +8.77000E-1, +1.11000E+0, +1.40000E+0, +1.76000E+0, +2.18000E+0, +2.70000E+0, +3.31000E+0, +4.03000E+0, +4.88000E+0, +5.88000E+0, +7.05000E+0, +8.40000E+0, +9.96000E+0, +1.18000E+1, +1.38000E+1, +1.62000E+1, +1.89000E+1, +2.19000E+1, +2.53000E+1, +2.92000E+1, +3.35000E+1, +3.84000E+1, +4.37000E+1, +4.97000E+1, +5.63000E+1, +6.37000E+1, +7.17000E+1, +8.06000E+1, +9.03000E+1, +1.01000E+2, +1.13000E+2, +1.25000E+2, +1.39000E+2, +1.54000E+2, +1.70000E+2, +1.87000E+2, +2.06000E+2, +2.26000E+2, +2.48000E+2, +2.71000E+2, +2.96000E+2, +3.23000E+2, +3.51000E+2, +3.82000E+2, +4.14000E+2, +4.48000E+2, +4.85000E+2, +5.24000E+2, +5.64000E+2, +6.08000E+2, +6.54000E+2, +7.02000E+2, +7.53000E+2, +8.06000E+2, +8.62000E+2, +9.21000E+2, +9.83000E+2, +1.05000E+3])*1000. # Pa + self.viscosity.data = np.array([+5.48000E-3, +4.68000E-3, +4.05000E-3, +3.54000E-3, +3.12000E-3, +2.78000E-3, +2.49000E-3, +2.24000E-3, +2.04000E-3, +1.86000E-3, +1.70000E-3, +1.57000E-3, +1.45000E-3, +1.34000E-3, +1.25000E-3, +1.16000E-3, +1.09000E-3, +1.02000E-3, +9.62000E-4, +9.06000E-4, +8.56000E-4, +8.10000E-4, +7.68000E-4, +7.29000E-4, +6.93000E-4, +6.60000E-4, +6.30000E-4, +6.01000E-4, +5.75000E-4, +5.51000E-4, +5.28000E-4, +5.06000E-4, +4.86000E-4, +4.67000E-4, +4.50000E-4, +4.33000E-4, +4.18000E-4, +4.03000E-4, +3.89000E-4, +3.76000E-4, +3.64000E-4, +3.52000E-4, +3.41000E-4, +3.30000E-4, +3.20000E-4, +3.10000E-4, +3.01000E-4, +2.93000E-4, +2.84000E-4, +2.77000E-4, +2.69000E-4, +2.62000E-4, +2.55000E-4, +2.48000E-4, +2.42000E-4, +2.36000E-4, +2.30000E-4, +2.25000E-4, +2.19000E-4, +2.14000E-4, +2.09000E-4, +2.04000E-4, +2.00000E-4, +1.96000E-4, +1.91000E-4, +1.87000E-4, +1.83000E-4, +1.80000E-4, +1.76000E-4, +1.72000E-4, +1.69000E-4, +1.66000E-4, +1.62000E-4, +1.59000E-4, +1.56000E-4, +1.53000E-4, +1.51000E-4, +1.48000E-4]) # Pa-s + self.saturation_pressure.data = np.array([+5.76000E-4, +9.86000E-4, +1.65000E-3, +2.68000E-3, +4.27000E-3, +6.67000E-3, +1.02000E-2, +1.53000E-2, +2.26000E-2, +3.29000E-2, +4.71000E-2, +6.65000E-2, +9.26000E-2, +1.27000E-1, +1.73000E-1, +2.32000E-1, +3.09000E-1, +4.07000E-1, +5.30000E-1, +6.85000E-1, +8.77000E-1, +1.11000E+0, +1.40000E+0, +1.76000E+0, +2.18000E+0, +2.70000E+0, +3.31000E+0, +4.03000E+0, +4.88000E+0, +5.88000E+0, +7.05000E+0, +8.40000E+0, +9.96000E+0, +1.18000E+1, +1.38000E+1, +1.62000E+1, +1.89000E+1, +2.19000E+1, +2.53000E+1, +2.92000E+1, +3.35000E+1, +3.84000E+1, +4.37000E+1, +4.97000E+1, +5.63000E+1, +6.37000E+1, +7.17000E+1, +8.06000E+1, +9.03000E+1, +1.01000E+2, +1.13000E+2, +1.25000E+2, +1.39000E+2, +1.54000E+2, +1.70000E+2, +1.87000E+2, +2.06000E+2, +2.26000E+2, +2.48000E+2, +2.71000E+2, +2.96000E+2, +3.23000E+2, +3.51000E+2, +3.82000E+2, +4.14000E+2, +4.48000E+2, +4.85000E+2, +5.24000E+2, +5.64000E+2, +6.08000E+2, +6.54000E+2, +7.02000E+2, +7.53000E+2, +8.06000E+2, +8.62000E+2, +9.21000E+2, +9.83000E+2, +1.05000E+3])*1000. # Pa self.Tmin = np.min(self.temperature.data) self.Tmax = np.max(self.temperature.data) - self.TminPsat = self.Tmin - self.name = "TVP1" + self.TminPsat = self.Tmin + self.name = "TVP1" self.description = "TherminolVP1" - self.reference = "Therminol Heat Transfer Reference Disk" + self.reference = "Therminol2014" self.reshapeAll() - - + + class Therminol66(PureData): - """ + """ Heat transfer fluid Therminol 66 by Solutia """ def __init__(self): - PureData.__init__(self) + PureData.__init__(self) self.density.source = self.density.SOURCE_DATA self.specific_heat.source = self.specific_heat.SOURCE_DATA self.conductivity.source = self.conductivity.SOURCE_DATA @@ -72,19 +72,19 @@ class Therminol66(PureData): self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, 1.0000E+01, 2.0000E+01, 3.0000E+01, 5.0000E+01, 8.0000E+01, 1.2000E+02, 1.8000E+02, 2.7000E+02, 4.0000E+02, 5.8000E+02, 8.3000E+02, 1.1700E+03, 1.6200E+03, 2.2300E+03, 3.0200E+03, 4.0600E+03, 5.3900E+03, 7.1000E+03, 9.2500E+03, 1.1950E+04, 1.5310E+04, 1.9460E+04, 2.4550E+04, 3.0730E+04, 3.8220E+04, 4.7200E+04, 5.7940E+04, 7.0680E+04, 8.5740E+04, 1.0342E+05, 1.2409E+05, 1.4813E+05]) self.Tmin = np.min(self.temperature.data) self.Tmax = np.max(self.temperature.data) - self.TminPsat = 70+273.15 - self.name = "T66" + self.TminPsat = 70+273.15 + self.name = "T66" self.description = "Therminol66" - self.reference = "Therminol Heat Transfer Reference Disk" - self.reshapeAll() - - + self.reference = "Therminol2014" + self.reshapeAll() + + class Therminol72(PureData): - """ + """ Heat transfer fluid Therminol 72 by Solutia """ def __init__(self): - PureData.__init__(self) + PureData.__init__(self) self.density.source = self.density.SOURCE_DATA self.specific_heat.source = self.specific_heat.SOURCE_DATA self.conductivity.source = self.conductivity.SOURCE_DATA @@ -94,24 +94,24 @@ class Therminol72(PureData): self.density.data = np.array([+1.11000E+3, +1.10000E+3, +1.10000E+3, +1.09000E+3, +1.09000E+3, +1.08000E+3, +1.08000E+3, +1.07000E+3, +1.07000E+3, +1.07000E+3, +1.06000E+3, +1.06000E+3, +1.05000E+3, +1.05000E+3, +1.04000E+3, +1.04000E+3, +1.03000E+3, +1.03000E+3, +1.02000E+3, +1.02000E+3, +1.02000E+3, +1.01000E+3, +1.01000E+3, +1.00000E+3, +9.97000E+2, +9.93000E+2, +9.88000E+2, +9.84000E+2, +9.79000E+2, +9.74000E+2, +9.70000E+2, +9.65000E+2, +9.61000E+2, +9.56000E+2, +9.52000E+2, +9.47000E+2, +9.43000E+2, +9.38000E+2, +9.34000E+2, +9.29000E+2, +9.25000E+2, +9.20000E+2, +9.16000E+2, +9.11000E+2, +9.06000E+2, +9.02000E+2, +8.98000E+2, +8.93000E+2, +8.89000E+2, +8.84000E+2, +8.80000E+2, +8.75000E+2, +8.71000E+2, +8.66000E+2, +8.62000E+2, +8.57000E+2, +8.53000E+2, +8.48000E+2, +8.44000E+2, +8.39000E+2, +8.34000E+2, +8.30000E+2, +8.25000E+2, +8.21000E+2, +8.16000E+2, +8.12000E+2, +8.07000E+2, +8.03000E+2, +7.98000E+2, +7.94000E+2, +7.89000E+2, +7.85000E+2, +7.80000E+2, +7.76000E+2, +7.71000E+2, +7.66000E+2, +7.62000E+2, +7.57000E+2, +7.53000E+2]) # kg/m3 self.specific_heat.data = np.array([+1.47100E+0, +1.48400E+0, +1.49800E+0, +1.51200E+0, +1.52500E+0, +1.53900E+0, +1.55200E+0, +1.56600E+0, +1.57900E+0, +1.59300E+0, +1.60600E+0, +1.62000E+0, +1.63400E+0, +1.64700E+0, +1.66100E+0, +1.67400E+0, +1.68800E+0, +1.70100E+0, +1.71500E+0, +1.72800E+0, +1.74200E+0, +1.75500E+0, +1.76900E+0, +1.78300E+0, +1.79600E+0, +1.81000E+0, +1.82300E+0, +1.83700E+0, +1.85000E+0, +1.86400E+0, +1.87700E+0, +1.89100E+0, +1.90500E+0, +1.91800E+0, +1.93200E+0, +1.94500E+0, +1.95900E+0, +1.97200E+0, +1.98600E+0, +1.99900E+0, +2.01300E+0, +2.02600E+0, +2.04000E+0, +2.05400E+0, +2.06700E+0, +2.08100E+0, +2.09400E+0, +2.10800E+0, +2.12100E+0, +2.13500E+0, +2.14800E+0, +2.16200E+0, +2.17600E+0, +2.18900E+0, +2.20300E+0, +2.21600E+0, +2.23000E+0, +2.24300E+0, +2.25700E+0, +2.27000E+0, +2.28400E+0, +2.29700E+0, +2.31100E+0, +2.32500E+0, +2.33800E+0, +2.35200E+0, +2.36500E+0, +2.37900E+0, +2.39200E+0, +2.40600E+0, +2.41900E+0, +2.43300E+0, +2.44600E+0, +2.46000E+0, +2.47400E+0, +2.48700E+0, +2.50100E+0, +2.51400E+0, +2.52800E+0])*1000. # J/kg-K self.conductivity.data = np.array([+1.43200E-1, +1.42600E-1, +1.42000E-1, +1.41400E-1, +1.40800E-1, +1.40200E-1, +1.39600E-1, +1.39000E-1, +1.38400E-1, +1.37800E-1, +1.37100E-1, +1.36500E-1, +1.35900E-1, +1.35300E-1, +1.34700E-1, +1.34100E-1, +1.33500E-1, +1.32900E-1, +1.32300E-1, +1.31700E-1, +1.31100E-1, +1.30500E-1, +1.29900E-1, +1.29300E-1, +1.28700E-1, +1.28000E-1, +1.27400E-1, +1.26800E-1, +1.26200E-1, +1.25600E-1, +1.25000E-1, +1.24400E-1, +1.23800E-1, +1.23200E-1, +1.22600E-1, +1.22000E-1, +1.21400E-1, +1.20800E-1, +1.20200E-1, +1.19600E-1, +1.18900E-1, +1.18300E-1, +1.17700E-1, +1.17100E-1, +1.16500E-1, +1.15900E-1, +1.15300E-1, +1.14700E-1, +1.14100E-1, +1.13500E-1, +1.12900E-1, +1.12300E-1, +1.11700E-1, +1.11100E-1, +1.10500E-1, +1.09800E-1, +1.09200E-1, +1.08600E-1, +1.08000E-1, +1.07400E-1, +1.06800E-1, +1.06200E-1, +1.05600E-1, +1.05000E-1, +1.04400E-1, +1.03800E-1, +1.03200E-1, +1.02600E-1, +1.02000E-1, +1.01400E-1, +1.00700E-1, +1.00100E-1, +9.95000E-2, +9.89000E-2, +9.83000E-2, +9.77000E-2, +9.71000E-2, +9.65000E-2, +9.59000E-2]) # W/m-K - self.viscosity.data = np.array([+3.83000E-1, +1.19000E-1, +5.92000E-2, +3.60000E-2, +2.44000E-2, +1.77000E-2, +1.35000E-2, +1.07000E-2, +8.68000E-3, +7.21000E-3, +6.09000E-3, +5.21000E-3, +4.52000E-3, +3.96000E-3, +3.50000E-3, +3.12000E-3, +2.79000E-3, +2.52000E-3, +2.28000E-3, +2.08000E-3, +1.90000E-3, +1.75000E-3, +1.61000E-3, +1.49000E-3, +1.38000E-3, +1.29000E-3, +1.20000E-3, +1.12000E-3, +1.05000E-3, +9.86000E-4, +9.28000E-4, +8.74000E-4, +8.25000E-4, +7.79000E-4, +7.38000E-4, +6.99000E-4, +6.64000E-4, +6.31000E-4, +6.00000E-4, +5.72000E-4, +5.45000E-4, +5.20000E-4, +4.97000E-4, +4.75000E-4, +4.55000E-4, +4.36000E-4, +4.18000E-4, +4.01000E-4, +3.85000E-4, +3.70000E-4, +3.55000E-4, +3.42000E-4, +3.29000E-4, +3.17000E-4, +3.05000E-4, +2.95000E-4, +2.84000E-4, +2.74000E-4, +2.65000E-4, +2.56000E-4, +2.47000E-4, +2.39000E-4, +2.31000E-4, +2.24000E-4, +2.17000E-4, +2.10000E-4, +2.03000E-4, +1.97000E-4, +1.91000E-4, +1.85000E-4, +1.80000E-4, +1.75000E-4, +1.69000E-4, +1.65000E-4, +1.60000E-4, +1.55000E-4, +1.51000E-4, +1.47000E-4, +1.43000E-4]) # Pa-s - self.saturation_pressure.data = np.array([+9.60000E-1, +1.05000E+0, +1.14000E+0, +1.24000E+0, +1.35000E+0, +1.47000E+0, +1.60000E+0, +1.74000E+0, +1.89000E+0, +2.06000E+0, +2.24000E+0, +2.44000E+0, +2.65000E+0, +2.88000E+0, +3.14000E+0, +3.41000E+0, +3.71000E+0, +4.03000E+0, +4.39000E+0, +4.77000E+0, +5.18000E+0, +5.63000E+0, +6.12000E+0, +6.66000E+0, +7.23000E+0, +7.86000E+0, +8.54000E+0, +9.27000E+0, +1.01000E+1, +1.10000E+1, +1.19000E+1, +1.29000E+1, +1.40000E+1, +1.52000E+1, +1.65000E+1, +1.80000E+1, +1.95000E+1, +2.12000E+1, +2.30000E+1, +2.49000E+1, +2.71000E+1, +2.94000E+1, +3.19000E+1, +3.46000E+1, +3.75000E+1, +4.07000E+1, +4.42000E+1, +4.79000E+1, +5.20000E+1, +5.64000E+1, +6.11000E+1, +6.63000E+1, +7.19000E+1, +7.79000E+1, +8.45000E+1, +9.15000E+1, +9.92000E+1, +1.08000E+2, +1.17000E+2, +1.26000E+2, +1.37000E+2, +1.48000E+2, +1.61000E+2, +1.74000E+2, +1.89000E+2, +2.04000E+2, +2.21000E+2, +2.40000E+2, +2.60000E+2, +2.81000E+2, +3.04000E+2, +3.30000E+2, +3.57000E+2, +3.86000E+2, +4.18000E+2, +4.53000E+2, +4.90000E+2, +5.30000E+2, +5.74000E+2])*1000. # Pa + self.viscosity.data = np.array([+3.83000E-1, +1.19000E-1, +5.92000E-2, +3.60000E-2, +2.44000E-2, +1.77000E-2, +1.35000E-2, +1.07000E-2, +8.68000E-3, +7.21000E-3, +6.09000E-3, +5.21000E-3, +4.52000E-3, +3.96000E-3, +3.50000E-3, +3.12000E-3, +2.79000E-3, +2.52000E-3, +2.28000E-3, +2.08000E-3, +1.90000E-3, +1.75000E-3, +1.61000E-3, +1.49000E-3, +1.38000E-3, +1.29000E-3, +1.20000E-3, +1.12000E-3, +1.05000E-3, +9.86000E-4, +9.28000E-4, +8.74000E-4, +8.25000E-4, +7.79000E-4, +7.38000E-4, +6.99000E-4, +6.64000E-4, +6.31000E-4, +6.00000E-4, +5.72000E-4, +5.45000E-4, +5.20000E-4, +4.97000E-4, +4.75000E-4, +4.55000E-4, +4.36000E-4, +4.18000E-4, +4.01000E-4, +3.85000E-4, +3.70000E-4, +3.55000E-4, +3.42000E-4, +3.29000E-4, +3.17000E-4, +3.05000E-4, +2.95000E-4, +2.84000E-4, +2.74000E-4, +2.65000E-4, +2.56000E-4, +2.47000E-4, +2.39000E-4, +2.31000E-4, +2.24000E-4, +2.17000E-4, +2.10000E-4, +2.03000E-4, +1.97000E-4, +1.91000E-4, +1.85000E-4, +1.80000E-4, +1.75000E-4, +1.69000E-4, +1.65000E-4, +1.60000E-4, +1.55000E-4, +1.51000E-4, +1.47000E-4, +1.43000E-4]) # Pa-s + self.saturation_pressure.data = np.array([+9.60000E-1, +1.05000E+0, +1.14000E+0, +1.24000E+0, +1.35000E+0, +1.47000E+0, +1.60000E+0, +1.74000E+0, +1.89000E+0, +2.06000E+0, +2.24000E+0, +2.44000E+0, +2.65000E+0, +2.88000E+0, +3.14000E+0, +3.41000E+0, +3.71000E+0, +4.03000E+0, +4.39000E+0, +4.77000E+0, +5.18000E+0, +5.63000E+0, +6.12000E+0, +6.66000E+0, +7.23000E+0, +7.86000E+0, +8.54000E+0, +9.27000E+0, +1.01000E+1, +1.10000E+1, +1.19000E+1, +1.29000E+1, +1.40000E+1, +1.52000E+1, +1.65000E+1, +1.80000E+1, +1.95000E+1, +2.12000E+1, +2.30000E+1, +2.49000E+1, +2.71000E+1, +2.94000E+1, +3.19000E+1, +3.46000E+1, +3.75000E+1, +4.07000E+1, +4.42000E+1, +4.79000E+1, +5.20000E+1, +5.64000E+1, +6.11000E+1, +6.63000E+1, +7.19000E+1, +7.79000E+1, +8.45000E+1, +9.15000E+1, +9.92000E+1, +1.08000E+2, +1.17000E+2, +1.26000E+2, +1.37000E+2, +1.48000E+2, +1.61000E+2, +1.74000E+2, +1.89000E+2, +2.04000E+2, +2.21000E+2, +2.40000E+2, +2.60000E+2, +2.81000E+2, +3.04000E+2, +3.30000E+2, +3.57000E+2, +3.86000E+2, +4.18000E+2, +4.53000E+2, +4.90000E+2, +5.30000E+2, +5.74000E+2])*1000. # Pa self.Tmin = np.min(self.temperature.data) self.Tmax = np.max(self.temperature.data) - self.TminPsat = self.Tmin - self.name = "T72" + self.TminPsat = self.Tmin + self.name = "T72" self.description = "Therminol72" - self.reference = "Therminol Heat Transfer Reference Disk" + self.reference = "Therminol2014" self.reshapeAll() - - - + + + class DowthermJ(PureData): - """ + """ Heat transfer fluid Dowtherm J by Dow Chemicals """ def __init__(self): - PureData.__init__(self) + PureData.__init__(self) self.density.source = self.density.SOURCE_DATA self.specific_heat.source = self.specific_heat.SOURCE_DATA self.conductivity.source = self.conductivity.SOURCE_DATA @@ -122,17 +122,17 @@ class DowthermJ(PureData): self.specific_heat.data = np.array([+1.58400E+0, +1.59400E+0, +1.61600E+0, +1.63900E+0, +1.66300E+0, +1.68800E+0, +1.71400E+0, +1.74100E+0, +1.76900E+0, +1.79800E+0, +1.82800E+0, +1.85900E+0, +1.89000E+0, +1.92300E+0, +1.95500E+0, +1.98900E+0, +2.02300E+0, +2.05800E+0, +2.09300E+0, +2.12900E+0, +2.16500E+0, +2.20200E+0, +2.23900E+0, +2.27700E+0, +2.31500E+0, +2.35300E+0, +2.39200E+0, +2.39700E+0, +2.43200E+0, +2.47200E+0, +2.51200E+0, +2.55300E+0, +2.59400E+0, +2.63600E+0, +2.68000E+0, +2.72400E+0, +2.76900E+0, +2.81600E+0, +2.86600E+0, +2.91900E+0, +2.97600E+0, +3.04000E+0, +3.11500E+0, +3.20800E+0, +3.26500E+0])*1000. # J/kg-K self.conductivity.data = np.array([+1.48500E-1, +1.47500E-1, +1.45300E-1, +1.43200E-1, +1.41100E-1, +1.39000E-1, +1.36800E-1, +1.34700E-1, +1.32600E-1, +1.30500E-1, +1.28400E-1, +1.26200E-1, +1.24100E-1, +1.22000E-1, +1.19900E-1, +1.17700E-1, +1.15600E-1, +1.13500E-1, +1.11400E-1, +1.09300E-1, +1.07100E-1, +1.05000E-1, +1.02900E-1, +1.00800E-1, +9.87000E-2, +9.65000E-2, +9.44000E-2, +9.41000E-2, +9.23000E-2, +9.02000E-2, +8.80000E-2, +8.59000E-2, +8.38000E-2, +8.17000E-2, +7.96000E-2, +7.74000E-2, +7.53000E-2, +7.32000E-2, +7.11000E-2, +6.90000E-2, +6.68000E-2, +6.47000E-2, +6.26000E-2, +6.05000E-2, +5.94000E-2]) # W/m-K self.viscosity.data = np.array([+8.43000E+0, +7.11000E+0, +5.12000E+0, +3.78000E+0, +2.88000E+0, +2.25000E+0, +1.80000E+0, +1.48000E+0, +1.23000E+0, +1.05000E+0, +9.10000E-1, +7.90000E-1, +7.00000E-1, +6.30000E-1, +5.60000E-1, +5.10000E-1, +4.70000E-1, +4.30000E-1, +4.00000E-1, +3.70000E-1, +3.50000E-1, +3.30000E-1, +3.10000E-1, +2.90000E-1, +2.80000E-1, +2.70000E-1, +2.50000E-1, +2.50000E-1, +2.40000E-1, +2.30000E-1, +2.30000E-1, +2.20000E-1, +2.10000E-1, +2.00000E-1, +2.00000E-1, +1.90000E-1, +1.80000E-1, +1.80000E-1, +1.70000E-1, +1.70000E-1, +1.70000E-1, +1.60000E-1, +1.60000E-1, +1.60000E-1, +1.50000E-1])/1000. # Pa-s - self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, +5.00000E-3, +1.00000E-2, +2.00000E-2, +3.00000E-2, +5.00000E-2, +8.00000E-2, +1.10000E-1, +1.60000E-1, +2.30000E-1, +3.20000E-1, +4.30000E-1, +5.80000E-1, +7.60000E-1, +9.80000E-1, +1.01000E+0, +1.25000E+0, +1.58000E+0, +1.97000E+0, +2.43000E+0, +2.96000E+0, +3.59000E+0, +4.30000E+0, +5.13000E+0, +6.06000E+0, +7.12000E+0, +8.31000E+0, +9.64000E+0, +1.11300E+1, +1.27900E+1, +1.46400E+1, +1.66900E+1, +1.78000E+1])*1e5 # Pa + self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, +5.00000E-3, +1.00000E-2, +2.00000E-2, +3.00000E-2, +5.00000E-2, +8.00000E-2, +1.10000E-1, +1.60000E-1, +2.30000E-1, +3.20000E-1, +4.30000E-1, +5.80000E-1, +7.60000E-1, +9.80000E-1, +1.01000E+0, +1.25000E+0, +1.58000E+0, +1.97000E+0, +2.43000E+0, +2.96000E+0, +3.59000E+0, +4.30000E+0, +5.13000E+0, +6.06000E+0, +7.12000E+0, +8.31000E+0, +9.64000E+0, +1.11300E+1, +1.27900E+1, +1.46400E+1, +1.66900E+1, +1.78000E+1])*1e5 # Pa self.Tmin = np.min(self.temperature.data) self.Tmax = np.max(self.temperature.data) - self.TminPsat = 50 + 273.15 - self.name = "DowJ" + self.TminPsat = 50 + 273.15 + self.name = "DowJ" self.description = "DowthermJ" - self.reference = "Dow Chemicals data sheet" + self.reference = "Dow1997" self.reshapeAll() - + class DowthermQ(PureData): - """ + """ Heat transfer fluid Dowtherm Q by Dow Chemicals """ def __init__(self): @@ -141,28 +141,28 @@ class DowthermQ(PureData): self.specific_heat.source = self.specific_heat.SOURCE_DATA self.conductivity.source = self.conductivity.SOURCE_DATA self.viscosity.source = self.viscosity.SOURCE_DATA - self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA + self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA self.temperature.data = np.array([-3.50000E+1, -3.00000E+1, -2.00000E+1, -1.00000E+1, +0.00000E+0, +1.00000E+1, +2.00000E+1, +3.00000E+1, +4.00000E+1, +5.00000E+1, +6.00000E+1, +7.00000E+1, +8.00000E+1, +9.00000E+1, +1.00000E+2, +1.10000E+2, +1.20000E+2, +1.30000E+2, +1.40000E+2, +1.50000E+2, +1.60000E+2, +1.70000E+2, +1.80000E+2, +1.90000E+2, +2.00000E+2, +2.10000E+2, +2.20000E+2, +2.30000E+2, +2.40000E+2, +2.50000E+2, +2.60000E+2, +2.70000E+2, +2.80000E+2, +2.90000E+2, +3.00000E+2, +3.10000E+2, +3.20000E+2, +3.30000E+2, +3.40000E+2, +3.50000E+2, +3.60000E+2])+273.15 # Kelvin self.density.data = np.array([+1.01140E+3, +1.00320E+3, +9.95600E+2, +9.88000E+2, +9.80500E+2, +9.72900E+2, +9.65400E+2, +9.57800E+2, +9.50200E+2, +9.42700E+2, +9.35100E+2, +9.27600E+2, +9.20000E+2, +9.12400E+2, +9.04900E+2, +8.97300E+2, +8.89800E+2, +8.82200E+2, +8.74600E+2, +8.67100E+2, +8.59500E+2, +8.52000E+2, +8.44400E+2, +8.36800E+2, +8.29300E+2, +8.21700E+2, +8.14200E+2, +8.06600E+2, +7.99000E+2, +7.91500E+2, +7.83900E+2, +7.76400E+2, +7.68800E+2, +7.61200E+2, +7.53700E+2, +7.46100E+2, +7.38600E+2, +7.31000E+2, +7.23400E+2, +7.15900E+2, +7.08300E+2]) # kg/m3 self.specific_heat.data = np.array([+1.47800E+0, +1.49200E+0, +1.52500E+0, +1.55700E+0, +1.58900E+0, +1.62100E+0, +1.65300E+0, +1.68500E+0, +1.71600E+0, +1.74800E+0, +1.77900E+0, +1.81100E+0, +1.84200E+0, +1.87300E+0, +1.90400E+0, +1.93500E+0, +1.96600E+0, +1.99700E+0, +2.02700E+0, +2.05800E+0, +2.08800E+0, +2.11800E+0, +2.14800E+0, +2.17800E+0, +2.20800E+0, +2.23800E+0, +2.26800E+0, +2.29700E+0, +2.32700E+0, +2.35600E+0, +2.38600E+0, +2.41500E+0, +2.44400E+0, +2.47300E+0, +2.50200E+0, +2.53000E+0, +2.55900E+0, +2.58700E+0, +2.61600E+0, +2.64400E+0, +2.67200E+0])*1000. # J/kg-K self.conductivity.data = np.array([+1.28000E-1, +1.27700E-1, +1.26600E-1, +1.25500E-1, +1.24400E-1, +1.23200E-1, +1.22000E-1, +1.20800E-1, +1.19500E-1, +1.18300E-1, +1.17000E-1, +1.15600E-1, +1.14300E-1, +1.12900E-1, +1.11500E-1, +1.10100E-1, +1.08700E-1, +1.07200E-1, +1.05800E-1, +1.04300E-1, +1.02800E-1, +1.01300E-1, +9.98000E-2, +9.82000E-2, +9.67000E-2, +9.52000E-2, +9.36000E-2, +9.21000E-2, +9.05000E-2, +8.89000E-2, +8.74000E-2, +8.58000E-2, +8.43000E-2, +8.27000E-2, +8.11000E-2, +7.96000E-2, +7.80000E-2, +7.65000E-2, +7.49000E-2, +7.34000E-2, +7.19000E-2]) # W/m-K self.viscosity.data = np.array([+4.66000E+1, +2.42000E+1, +1.61000E+1, +1.09000E+1, +7.56000E+0, +5.42000E+0, +4.00000E+0, +3.04000E+0, +2.37000E+0, +1.89000E+0, +1.54000E+0, +1.28000E+0, +1.07000E+0, +9.20000E-1, +8.00000E-1, +7.00000E-1, +6.20000E-1, +5.50000E-1, +5.00000E-1, +4.50000E-1, +4.10000E-1, +3.80000E-1, +3.50000E-1, +3.30000E-1, +3.10000E-1, +2.90000E-1, +2.70000E-1, +2.60000E-1, +2.40000E-1, +2.30000E-1, +2.20000E-1, +2.10000E-1, +2.00000E-1, +1.90000E-1, +1.90000E-1, +1.80000E-1, +1.70000E-1, +1.70000E-1, +1.60000E-1, +1.60000E-1, +1.50000E-1])/1000. # Pa-s - self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, +5.00000E-3, +1.00000E-2, +2.00000E-2, +3.00000E-2, +5.00000E-2, +7.00000E-2, +9.00000E-2, +1.30000E-1, +1.70000E-1, +2.30000E-1, +3.10000E-1, +4.00000E-1, +5.10000E-1, +6.40000E-1, +8.10000E-1, +1.00000E+0, +1.24000E+0, +1.51000E+0, +1.82000E+0, +2.19000E+0, +2.61000E+0, +3.09000E+0, +3.64000E+0, +4.25000E+0, +4.95000E+0])*1e5 # Pa + self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, +5.00000E-3, +1.00000E-2, +2.00000E-2, +3.00000E-2, +5.00000E-2, +7.00000E-2, +9.00000E-2, +1.30000E-1, +1.70000E-1, +2.30000E-1, +3.10000E-1, +4.00000E-1, +5.10000E-1, +6.40000E-1, +8.10000E-1, +1.00000E+0, +1.24000E+0, +1.51000E+0, +1.82000E+0, +2.19000E+0, +2.61000E+0, +3.09000E+0, +3.64000E+0, +4.25000E+0, +4.95000E+0])*1e5 # Pa self.Tmin = np.min(self.temperature.data) self.Tmax = np.max(self.temperature.data) - self.TminPsat = 120 + 273.15 - self.name = "DowQ" + self.TminPsat = 120 + 273.15 + self.name = "DowQ" self.description = "DowthermQ" - self.reference = "Dow Chemicals data sheet" + self.reference = "Dow1997" self.reshapeAll() - - + + class Texatherm22(PureData): - """ + """ Heat transfer fluid Texatherm 22 by Texaco """ def __init__(self): - PureData.__init__(self) + PureData.__init__(self) self.density.source = self.density.SOURCE_DATA self.specific_heat.source = self.specific_heat.SOURCE_DATA self.conductivity.source = self.conductivity.SOURCE_DATA @@ -173,20 +173,20 @@ class Texatherm22(PureData): self.specific_heat.data = np.array([+1.81000E+0, +1.95000E+0, +1.99000E+0, +2.18000E+0, +2.36000E+0, +2.54000E+0, +2.72000E+0, +2.90000E+0, +3.08000E+0])*1e3 # J/kg-K self.conductivity.data = np.array([+1.35000E-1, +1.32000E-1, +1.32000E-1, +1.28000E-1, +1.25000E-1, +1.21000E-1, +1.17100E-1, +1.13000E-1, +1.10000E-1]) # W/m-K self.viscosity.data = np.array([+4.19760E+2, np.NAN, +2.31688E+1, np.NAN, +2.09601E+0, +1.26072E+0, np.NAN, np.NAN, np.NAN])/1000. # Pa-s - self.saturation_pressure.data = np.array([ np.NAN, +5.3300E-10, +4.00000E-8, +2.67000E-7, +2.27000E-5, +4.67000E-4, +6.67000E-3, +2.13000E-2, +5.33000E-2])*1e5 # Pa + self.saturation_pressure.data = np.array([ np.NAN, +5.3300E-10, +4.00000E-8, +2.67000E-7, +2.27000E-5, +4.67000E-4, +6.67000E-3, +2.13000E-2, +5.33000E-2])*1e5 # Pa self.Tmin = np.min(self.temperature.data) self.Tmax = np.max(self.temperature.data) - self.TminPsat = 40 + 273.15 - self.name = "TX22" + self.TminPsat = 40 + 273.15 + self.name = "TX22" self.description = "Texatherm22" - self.reference = "Texaco data sheet" + self.reference = "Chevron2004" self.reshapeAll() - + class SylthermXLT(PureData): - """ + """ Heat transfer fluid Syltherm XLT by Dow Chemicals - """ + """ def __init__(self): PureData.__init__(self) self.density.source = self.density.SOURCE_DATA @@ -200,19 +200,19 @@ class SylthermXLT(PureData): self.viscosity.data = np.array([+7.86100E+1, +5.01300E+1, +3.48600E+1, +2.58300E+1, +2.00400E+1, +1.60800E+1, +1.32200E+1, +1.10500E+1, +9.35600E+0, +7.99400E+0, +6.87900E+0, +5.95600E+0, +5.18400E+0, +4.53500E+0, +3.98600E+0, +3.52100E+0, +3.12600E+0, +2.78800E+0, +2.49900E+0, +2.25000E+0, +2.03500E+0, +1.84900E+0, +1.68700E+0, +1.54500E+0, +1.41900E+0, +1.30900E+0, +1.21000E+0, +1.12200E+0, +1.04300E+0, +9.72000E-1, +9.08000E-1, +8.49000E-1, +7.96000E-1, +7.48000E-1, +7.05000E-1, +6.65000E-1, +6.28000E-1, +5.95000E-1, +5.64000E-1, +5.36000E-1, +5.11000E-1, +4.87000E-1, +4.65000E-1, +4.45000E-1, +4.26000E-1, +4.09000E-1, +3.93000E-1, +3.77000E-1, +3.63000E-1, +3.50000E-1, +3.37000E-1, +3.25000E-1, +3.14000E-1, +3.03000E-1, +2.93000E-1, +2.84000E-1, +2.75000E-1, +2.66000E-1, +2.58000E-1, +2.51000E-1, +2.44000E-1, +2.38000E-1, +2.32000E-1, +2.26000E-1, +2.20000E-1, +2.15000E-1, +2.09000E-1, +2.04000E-1, +1.99000E-1, +1.94000E-1, +1.89000E-1, +1.85000E-1, +1.82000E-1])/1000. # Pa-s self.Tmin = np.min(self.temperature.data) self.Tmax = np.max(self.temperature.data) - self.TminPsat = self.Tmax - self.name = "XLT" + self.TminPsat = self.Tmax + self.name = "XLT" self.description = "SylthermXLT" - self.reference = "Dow Chemicals data sheet" + self.reference = "Dow1997" self.reshapeAll() - - + + class HC50(PureData): - """ + """ Heat transfer fluid Dynalene HC-50 """ def __init__(self): - PureData.__init__(self) + PureData.__init__(self) self.density.source = self.density.SOURCE_DATA self.specific_heat.source = self.specific_heat.SOURCE_DATA self.conductivity.source = self.conductivity.SOURCE_DATA @@ -223,22 +223,22 @@ class HC50(PureData): self.specific_heat.data = np.array([+2.56300E+3,+2.58300E+3,+2.60200E+3,+2.62200E+3,+2.64200E+3,+2.66100E+3,+2.68100E+3,+2.70100E+3,+2.72000E+3,+2.74000E+3,+2.76000E+3,+2.78000E+3,+2.79900E+3,+2.81900E+3,+2.83900E+3,+2.85800E+3,+2.87800E+3,+2.89800E+3,+2.91700E+3,+2.93700E+3,+2.95700E+3,+2.97700E+3,+2.99600E+3,+3.01600E+3,+3.03600E+3,+3.05500E+3,+3.07500E+3]) # J/kg-K self.conductivity.data = np.array([+4.35000E+2,+4.45000E+2,+4.55000E+2,+4.65000E+2,+4.75000E+2,+4.85000E+2,+4.95000E+2,+5.05000E+2,+5.15000E+2,+5.25000E+2,+5.35000E+2,+5.45000E+2,+5.55000E+2,+5.65000E+2,+5.75000E+2,+5.85000E+2,+5.95000E+2,+6.05000E+2,+6.15000E+2,+6.25000E+2,+6.35000E+2,+6.45000E+2,+6.55000E+2,+6.65000E+2,+6.75000E+2,+6.85000E+2,+6.94500E+2])/1e3 # W/m-K self.viscosity.data = np.array([+3.84000E-2,+2.04000E-2,+1.25000E-2,+8.40000E-3,+5.99000E-3,+4.70000E-3,+3.80000E-3,+3.20000E-3,+2.70000E-3,+2.40000E-3,+2.10000E-3,+1.80000E-3,+1.60000E-3,+1.50000E-3,+1.30000E-3,+1.20000E-3,+1.10000E-3,+1.00000E-3,+9.40000E-4,+8.70000E-4,+8.10000E-4,+7.60000E-4,+7.10000E-4,+6.60000E-4,+6.20000E-4,+5.80000E-4,+5.50000E-4]) # Pa-s - self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN,+1.58579E+3,+1.93053E+3,+3.10264E+3,+5.58475E+3,+9.85950E+3,+1.64785E+4,+2.60622E+4,+3.93691E+4,+5.72954E+4,+8.06687E+4,+1.11695E+5,+1.50995E+5,+2.00637E+5,+2.63380E+5,+3.41290E+5,+4.36438E+5,+5.53649E+5,+6.95681E+5,+8.67360E+5,+1.07282E+6]) # Pa + self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN,+1.58579E+3,+1.93053E+3,+3.10264E+3,+5.58475E+3,+9.85950E+3,+1.64785E+4,+2.60622E+4,+3.93691E+4,+5.72954E+4,+8.06687E+4,+1.11695E+5,+1.50995E+5,+2.00637E+5,+2.63380E+5,+3.41290E+5,+4.36438E+5,+5.53649E+5,+6.95681E+5,+8.67360E+5,+1.07282E+6]) # Pa self.Tmin = np.min(self.temperature.data) self.Tmax = np.max(self.temperature.data) - self.TminPsat = 20+273.15 + self.TminPsat = 20+273.15 self.name = "HC50" self.description = "Dynalene "+ self.name - self.reference = "Dynalene data sheet" + self.reference = "Dynalene2014" self.reshapeAll() - + class HC40(PureData): - """ + """ Heat transfer fluid Dynalene HC-40 - """ + """ def __init__(self): - PureData.__init__(self) + PureData.__init__(self) self.density.source = self.density.SOURCE_DATA self.specific_heat.source = self.specific_heat.SOURCE_DATA self.conductivity.source = self.conductivity.SOURCE_DATA @@ -249,22 +249,22 @@ class HC40(PureData): self.specific_heat.data = np.array([+2.80000E+3,+2.82000E+3,+2.84000E+3,+2.87000E+3,+2.89000E+3,+2.91000E+3,+2.93000E+3,+2.96000E+3,+2.98000E+3,+3.00000E+3,+3.03000E+3,+3.05000E+3,+3.07000E+3,+3.09000E+3,+3.12000E+3,+3.14000E+3,+3.16000E+3,+3.19000E+3,+3.21000E+3,+3.23000E+3,+3.25000E+3,+3.27000E+3,+3.28000E+3,+3.30000E+3,+3.32000E+3,+3.35000E+3]) # J/kg-K self.conductivity.data = np.array([+4.49000E+2,+4.59000E+2,+4.69000E+2,+4.79000E+2,+4.89000E+2,+4.99000E+2,+5.09000E+2,+5.19000E+2,+5.29000E+2,+5.39000E+2,+5.49000E+2,+5.59000E+2,+5.69000E+2,+5.79000E+2,+5.89000E+2,+5.99000E+2,+6.09000E+2,+6.19000E+2,+6.29000E+2,+6.39000E+2,+6.49000E+2,+6.54000E+2,+6.59000E+2,+6.69000E+2,+6.79000E+2,+6.89000E+2])/1e3 # W/m-K self.viscosity.data = np.array([+1.49000E-2,+9.20000E-3,+6.50000E-3,+4.90000E-3,+3.90000E-3,+3.20000E-3,+2.70000E-3,+2.30000E-3,+1.96000E-3,+1.70000E-3,+1.50000E-3,+1.40000E-3,+1.20000E-3,+1.10000E-3,+9.90000E-4,+9.10000E-4,+8.30000E-4,+7.70000E-4,+7.10000E-4,+6.60000E-4,+6.10000E-4,+5.90000E-4,+5.70000E-4,+5.30000E-4,+5.00000E-4,+4.70000E-4]) # Pa-s - self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN,+1.51685E+3,+2.20632E+3,+3.79212E+3,+6.68791E+3,+1.15142E+4,+1.87537E+4,+2.92338E+4,+4.37817E+4,+6.35007E+4,+8.96318E+4,+1.23416E+5,+1.66853E+5,+2.22701E+5,+2.92338E+5,+3.79212E+5,+4.85391E+5,+6.16391E+5,+7.74971E+5,+9.65955E+5,+1.19417E+6]) # Pa + self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN,+1.51685E+3,+2.20632E+3,+3.79212E+3,+6.68791E+3,+1.15142E+4,+1.87537E+4,+2.92338E+4,+4.37817E+4,+6.35007E+4,+8.96318E+4,+1.23416E+5,+1.66853E+5,+2.22701E+5,+2.92338E+5,+3.79212E+5,+4.85391E+5,+6.16391E+5,+7.74971E+5,+9.65955E+5,+1.19417E+6]) # Pa self.Tmin = np.min(self.temperature.data) self.Tmax = np.max(self.temperature.data) - self.TminPsat = 20+273.15 + self.TminPsat = 20+273.15 self.name = "HC40" self.description = "Dynalene "+ self.name - self.reference = "Dynalene data sheet" + self.reference = "Dynalene2014" self.reshapeAll() - + class HC30(PureData): - """ + """ Heat transfer fluid Dynalene HC-30 - """ + """ def __init__(self): - PureData.__init__(self) + PureData.__init__(self) self.density.source = self.density.SOURCE_DATA self.specific_heat.source = self.specific_heat.SOURCE_DATA self.conductivity.source = self.conductivity.SOURCE_DATA @@ -275,22 +275,22 @@ class HC30(PureData): self.specific_heat.data = np.array([+2.96100E+3,+2.98400E+3,+3.00700E+3,+3.03100E+3,+3.05400E+3,+3.07700E+3,+3.10000E+3,+3.12300E+3,+3.14600E+3,+3.16900E+3,+3.19200E+3,+3.21500E+3,+3.23800E+3,+3.26200E+3,+3.28500E+3,+3.30800E+3,+3.33100E+3,+3.35400E+3,+3.37700E+3,+3.40000E+3,+3.42300E+3,+3.44600E+3,+3.46900E+3,+3.49300E+3,+3.51600E+3]) # J/kg-K self.conductivity.data = np.array([+4.69000E+2,+4.79000E+2,+4.89000E+2,+4.99000E+2,+5.09000E+2,+5.19000E+2,+5.29000E+2,+5.39000E+2,+5.49000E+2,+5.59000E+2,+5.69000E+2,+5.79000E+2,+5.89000E+2,+5.99000E+2,+6.09000E+2,+6.19000E+2,+6.29000E+2,+6.39000E+2,+6.49000E+2,+6.59000E+2,+6.69000E+2,+6.79000E+2,+6.89000E+2,+6.99000E+2,+7.09000E+2])/1e3 # W/m-K self.viscosity.data = np.array([+7.00000E-3,+5.50000E-3,+4.50000E-3,+3.70000E-3,+3.00000E-3,+2.50000E-3,+2.20000E-3,+1.90000E-3,+1.60000E-3,+1.40000E-3,+1.30000E-3,+1.10000E-3,+9.90000E-4,+8.90000E-4,+8.00000E-4,+7.30000E-4,+6.70000E-4,+6.10000E-4,+5.70000E-4,+5.20000E-4,+4.80000E-4,+4.50000E-4,+4.20000E-4,+3.90000E-4,+3.70000E-4]) # Pa-s - self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN,+1.79264E+3,+2.41317E+3,+3.99896E+3,+7.17055E+3,+1.24795E+4,+2.06153E+4,+3.23364E+4,+4.86770E+4,+7.10160E+4,+9.99740E+4,+1.37895E+5,+1.86158E+5,+2.47522E+5,+3.24743E+5,+4.20580E+5,+5.39170E+5,+6.83960E+5,+8.59087E+5,+1.07145E+6,+1.32517E+6]) # Pa + self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN,+1.79264E+3,+2.41317E+3,+3.99896E+3,+7.17055E+3,+1.24795E+4,+2.06153E+4,+3.23364E+4,+4.86770E+4,+7.10160E+4,+9.99740E+4,+1.37895E+5,+1.86158E+5,+2.47522E+5,+3.24743E+5,+4.20580E+5,+5.39170E+5,+6.83960E+5,+8.59087E+5,+1.07145E+6,+1.32517E+6]) # Pa self.Tmin = np.min(self.temperature.data) self.Tmax = np.max(self.temperature.data) - self.TminPsat = 20+273.15 + self.TminPsat = 20+273.15 self.name = "HC30" self.description = "Dynalene "+ self.name - self.reference = "Dynalene data sheet" + self.reference = "Dynalene2014" self.reshapeAll() - - + + class HC20(PureData): - """ + """ Heat transfer fluid Dynalene HC-20 - """ + """ def __init__(self): - PureData.__init__(self) + PureData.__init__(self) self.density.source = self.density.SOURCE_DATA self.specific_heat.source = self.specific_heat.SOURCE_DATA self.conductivity.source = self.conductivity.SOURCE_DATA @@ -301,22 +301,22 @@ class HC20(PureData): self.specific_heat.data = np.array([+3.11700E+3,+3.14100E+3,+3.16400E+3,+3.18800E+3,+3.21200E+3,+3.23500E+3,+3.25900E+3,+3.28200E+3,+3.30600E+3,+3.33000E+3,+3.35300E+3,+3.37700E+3,+3.40000E+3,+3.42400E+3,+3.44800E+3,+3.47100E+3,+3.49500E+3,+3.51800E+3,+3.54200E+3,+3.56600E+3,+3.58900E+3,+3.61300E+3,+3.63600E+3,+3.66000E+3]) # J/kg-K self.conductivity.data = np.array([+4.83000E+2,+4.93000E+2,+5.03000E+2,+5.13000E+2,+5.23000E+2,+5.33000E+2,+5.43000E+2,+5.53000E+2,+5.63000E+2,+5.73000E+2,+5.83000E+2,+5.93000E+2,+6.03000E+2,+6.13000E+2,+6.23000E+2,+6.33000E+2,+6.43000E+2,+6.53000E+2,+6.63000E+2,+6.73000E+2,+6.83000E+2,+6.93000E+2,+7.03000E+2,+7.13000E+2])/1e3 # W/m-K self.viscosity.data = np.array([+4.50000E-3,+3.60000E-3,+3.00000E-3,+2.50000E-3,+2.10000E-3,+1.80000E-3,+1.60000E-3,+1.40000E-3,+1.20000E-3,+1.10000E-3,+9.50000E-4,+8.50000E-4,+7.70000E-4,+7.00000E-4,+6.30000E-4,+5.80000E-4,+5.40000E-4,+4.90000E-4,+4.60000E-4,+4.30000E-4,+4.00000E-4,+3.70000E-4,+3.50000E-4,+3.30000E-4]) # Pa-s - self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN,+2.06843E+3,+2.75790E+3,+4.55054E+3,+7.99792E+3,+1.37206E+4,+2.24769E+4,+3.52322E+4,+5.29517E+4,+7.72213E+4,+1.08937E+5,+1.50306E+5,+2.04085E+5,+2.71653E+5,+3.57148E+5,+4.62638E+5,+5.93639E+5,+7.52907E+5,+9.46650E+5,+1.18038E+6,+1.45962E+6]) # Pa + self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN,+2.06843E+3,+2.75790E+3,+4.55054E+3,+7.99792E+3,+1.37206E+4,+2.24769E+4,+3.52322E+4,+5.29517E+4,+7.72213E+4,+1.08937E+5,+1.50306E+5,+2.04085E+5,+2.71653E+5,+3.57148E+5,+4.62638E+5,+5.93639E+5,+7.52907E+5,+9.46650E+5,+1.18038E+6,+1.45962E+6]) # Pa self.Tmin = np.min(self.temperature.data) self.Tmax = np.max(self.temperature.data) - self.TminPsat = 20+273.15 + self.TminPsat = 20+273.15 self.name = "HC20" self.description = "Dynalene "+ self.name - self.reference = "Dynalene data sheet" + self.reference = "Dynalene2014" self.reshapeAll() - + class HC10(PureData): - """ + """ Heat transfer fluid Dynalene HC-10 - """ + """ def __init__(self): - PureData.__init__(self) + PureData.__init__(self) self.density.source = self.density.SOURCE_DATA self.specific_heat.source = self.specific_heat.SOURCE_DATA self.conductivity.source = self.conductivity.SOURCE_DATA @@ -327,13 +327,238 @@ class HC10(PureData): self.specific_heat.data = np.array([+3.24600E+3,+3.27100E+3,+3.29600E+3,+3.32000E+3,+3.34500E+3,+3.37000E+3,+3.39500E+3,+3.42000E+3,+3.44400E+3,+3.46900E+3,+3.49400E+3,+3.51900E+3,+3.54400E+3,+3.56800E+3,+3.59300E+3,+3.61800E+3,+3.64300E+3,+3.66800E+3,+3.69200E+3,+3.71700E+3,+3.74200E+3,+3.76700E+3,+3.79200E+3,+3.81100E+3]) # J/kg-K self.conductivity.data = np.array([+4.94000E+2,+5.04000E+2,+5.14000E+2,+5.24000E+2,+5.34000E+2,+5.44000E+2,+5.54000E+2,+5.64000E+2,+5.74000E+2,+5.84000E+2,+5.94000E+2,+6.04000E+2,+6.14000E+2,+6.24000E+2,+6.34000E+2,+6.44000E+2,+6.54000E+2,+6.64000E+2,+6.74000E+2,+6.84000E+2,+6.94000E+2,+7.04000E+2,+7.14000E+2,+7.22000E+2])/1e3 # W/m-K self.viscosity.data = np.array([+3.00000E-3,+2.50000E-3,+2.10000E-3,+1.80000E-3,+1.50000E-3,+1.30000E-3,+1.20000E-3,+1.00000E-3,+9.10000E-4,+8.10000E-4,+7.30000E-4,+6.60000E-4,+6.00000E-4,+5.50000E-4,+5.10000E-4,+4.70000E-4,+4.30000E-4,+4.00000E-4,+3.70000E-4,+3.50000E-4,+3.30000E-4,+3.10000E-4,+2.90000E-4,+2.80000E-4]) # Pa-s - self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN,+2.27527E+3,+2.89580E+3,+4.75738E+3,+8.54950E+3,+1.48927E+4,+2.46143E+4,+3.87485E+4,+5.83986E+4,+8.48055E+4,+1.19969E+5,+1.65474E+5,+2.23390E+5,+2.97164E+5,+3.90243E+5,+5.05386E+5,+6.47418E+5,+8.20476E+5,+1.03146E+6,+1.28587E+6,+1.58993E+6,+1.87468E+6]) # Pa + self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN,+2.27527E+3,+2.89580E+3,+4.75738E+3,+8.54950E+3,+1.48927E+4,+2.46143E+4,+3.87485E+4,+5.83986E+4,+8.48055E+4,+1.19969E+5,+1.65474E+5,+2.23390E+5,+2.97164E+5,+3.90243E+5,+5.05386E+5,+6.47418E+5,+8.20476E+5,+1.03146E+6,+1.28587E+6,+1.58993E+6,+1.87468E+6]) # Pa self.Tmin = np.min(self.temperature.data) self.Tmax = np.max(self.temperature.data) - self.TminPsat = 20+273.15 + self.TminPsat = 20+273.15 self.name = "HC10" self.description = "Dynalene "+ self.name - self.reference = "Dynalene data sheet" + self.reference = "Dynalene2014" + self.reshapeAll() + + + +## Paratherm, see http://paracalc.paratherm.com +class PCR(PureData): + """ + The Paratherm CR (Patent Pending) heat transfer fluid provides predictable, + repeatable performance in cryogenically-driven processes. Consistent + properties improve productivity, and eliminate runaway coil freeze-ups. + 10-cP viscosity @ -88 C (20-cP @ -96 C) brings higher efficiency at lower + temperatures. Ease of containment and handling allow greater latitude in + system design and component specification, and eliminate contamination and + costly clean-up. + """ + def __init__(self): + PureData.__init__(self) + self.density.source = self.density.SOURCE_DATA + self.viscosity.source = self.viscosity.SOURCE_DATA + self.specific_heat.source = self.specific_heat.SOURCE_DATA + self.conductivity.source = self.conductivity.SOURCE_DATA + self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA + self.temperature.data = np.array([1.731500E+2,1.741500E+2,1.751500E+2,1.761500E+2,1.771500E+2,1.781500E+2,1.791500E+2,1.801500E+2,1.811500E+2,1.821500E+2,1.831500E+2,1.841500E+2,1.851500E+2,1.861500E+2,1.871500E+2,1.881500E+2,1.891500E+2,1.901500E+2,1.911500E+2,1.921500E+2,1.931500E+2,1.941500E+2,1.951500E+2,1.961500E+2,1.971500E+2,1.981500E+2,1.991500E+2,2.001500E+2,2.011500E+2,2.021500E+2,2.031500E+2,2.041500E+2,2.051500E+2,2.061500E+2,2.071500E+2,2.081500E+2,2.091500E+2,2.101500E+2,2.111500E+2,2.121500E+2,2.131500E+2,2.141500E+2,2.151500E+2,2.161500E+2,2.171500E+2,2.181500E+2,2.191500E+2,2.201500E+2,2.211500E+2,2.221500E+2,2.231500E+2,2.241500E+2,2.251500E+2,2.261500E+2,2.271500E+2,2.281500E+2,2.291500E+2,2.301500E+2,2.311500E+2,2.321500E+2,2.331500E+2,2.341500E+2,2.351500E+2,2.361500E+2,2.371500E+2,2.381500E+2,2.391500E+2,2.401500E+2,2.411500E+2,2.421500E+2,2.431500E+2,2.441500E+2,2.451500E+2,2.461500E+2,2.471500E+2,2.481500E+2,2.491500E+2,2.501500E+2,2.511500E+2,2.521500E+2,2.531500E+2,2.541500E+2,2.551500E+2,2.561500E+2,2.571500E+2,2.581500E+2,2.591500E+2,2.601500E+2,2.611500E+2,2.621500E+2,2.631500E+2,2.641500E+2,2.651500E+2,2.661500E+2,2.671500E+2,2.681500E+2,2.691500E+2,2.701500E+2,2.711500E+2,2.721500E+2,2.731500E+2,2.741500E+2,2.751500E+2,2.761500E+2,2.771500E+2,2.781500E+2,2.791500E+2,2.801500E+2,2.811500E+2,2.821500E+2,2.831500E+2,2.841500E+2,2.851500E+2,2.861500E+2,2.871500E+2,2.881500E+2,2.891500E+2,2.901500E+2,2.911500E+2,2.921500E+2,2.931500E+2,2.941500E+2,2.951500E+2,2.961500E+2,2.971500E+2,2.981500E+2,2.991500E+2,3.001500E+2,3.011500E+2,3.021500E+2,3.031500E+2,3.041500E+2,3.051500E+2,3.061500E+2,3.071500E+2,3.081500E+2,3.091500E+2,3.101500E+2,3.111500E+2,3.121500E+2,3.131500E+2,3.141500E+2,3.151500E+2,3.161500E+2,3.171500E+2,3.181500E+2,3.191500E+2,3.201500E+2,3.211500E+2,3.221500E+2,3.231500E+2,3.241500E+2,3.251500E+2,3.261500E+2,3.271500E+2,3.281500E+2,3.291500E+2,3.301500E+2,3.311500E+2,3.321500E+2,3.331500E+2,3.341500E+2,3.351500E+2,3.361500E+2,3.371500E+2,3.381500E+2,3.391500E+2,3.401500E+2,3.411500E+2,3.421500E+2,3.431500E+2,3.441500E+2,3.451500E+2,3.461500E+2,3.471500E+2,3.481500E+2,3.491500E+2,3.501500E+2,3.511500E+2,3.521500E+2,3.531500E+2,3.541500E+2,3.551500E+2,3.561500E+2,3.571500E+2,3.581500E+2,3.591500E+2,3.601500E+2,3.611500E+2,3.621500E+2,3.631500E+2,3.641500E+2,3.651500E+2,3.661500E+2,3.671500E+2,3.681500E+2,3.691500E+2,3.701500E+2,3.711500E+2,3.721500E+2,3.731500E+2,3.741500E+2,3.751500E+2,3.761500E+2,3.771500E+2,3.781500E+2,3.791500E+2,3.801500E+2,3.811500E+2,3.821500E+2,3.831500E+2,3.841500E+2,3.851500E+2,3.861500E+2,3.871500E+2,3.881500E+2,3.891500E+2,3.901500E+2,3.911500E+2,3.921500E+2,3.931500E+2,3.941500E+2,3.951500E+2,3.961500E+2,3.971500E+2,3.981500E+2,3.991500E+2,4.001500E+2,4.011500E+2,4.021500E+2,4.031500E+2,4.041500E+2,4.051500E+2,4.061500E+2,4.071500E+2,4.081500E+2,4.091500E+2,4.101500E+2,4.111500E+2,4.121500E+2,4.131500E+2,4.141500E+2,4.151500E+2,4.161500E+2,4.171500E+2,4.181500E+2,4.191500E+2,4.201500E+2,4.211500E+2,4.221500E+2,4.231500E+2,4.241500E+2,4.251500E+2,4.261500E+2,4.271500E+2,4.281500E+2,4.291500E+2,4.301500E+2,4.311500E+2,4.321500E+2,4.331500E+2,4.341500E+2,4.351500E+2,4.361500E+2,4.371500E+2,4.381500E+2,4.391500E+2,4.401500E+2,4.411500E+2,4.421500E+2,4.431500E+2,4.441500E+2,4.451500E+2,4.461500E+2,4.471500E+2,4.481500E+2,4.491500E+2,4.501500E+2,4.511500E+2,4.521500E+2,4.531500E+2,4.541500E+2,4.551500E+2,4.561500E+2,4.571500E+2,4.581500E+2,4.591500E+2,4.601500E+2,4.611500E+2,4.621500E+2,4.631500E+2,4.641500E+2,4.651500E+2,4.661500E+2,4.671500E+2,4.681500E+2,4.691500E+2,4.701500E+2,4.711500E+2,4.721500E+2,4.731500E+2,4.741500E+2,4.751500E+2,4.761500E+2,4.771500E+2,4.781500E+2,4.791500E+2,4.801500E+2,4.811500E+2,4.821500E+2,4.831500E+2,4.841500E+2,4.851500E+2,4.861500E+2,4.871500E+2,4.881500E+2,4.891500E+2,4.901500E+2,4.911500E+2,4.921500E+2,4.931500E+2]) + self.density.data = np.array([9.490000E+2,9.480000E+2,9.470000E+2,9.460000E+2,9.450000E+2,9.440000E+2,9.430000E+2,9.420000E+2,9.410000E+2,9.400000E+2,9.390000E+2,9.380000E+2,9.370000E+2,9.360000E+2,9.350000E+2,9.340000E+2,9.330000E+2,9.320000E+2,9.310000E+2,9.300000E+2,9.290000E+2,9.280000E+2,9.270000E+2,9.260000E+2,9.250000E+2,9.240000E+2,9.230000E+2,9.220000E+2,9.210000E+2,9.200000E+2,9.190000E+2,9.180000E+2,9.170000E+2,9.160000E+2,9.150000E+2,9.140000E+2,9.130000E+2,9.120000E+2,9.110000E+2,9.100000E+2,9.090000E+2,9.080000E+2,9.070000E+2,9.060000E+2,9.050000E+2,9.040000E+2,9.030000E+2,9.020000E+2,9.010000E+2,9.000000E+2,8.990000E+2,8.980000E+2,8.970000E+2,8.960000E+2,8.950000E+2,8.940000E+2,8.930000E+2,8.920000E+2,8.910000E+2,8.900000E+2,8.890000E+2,8.880000E+2,8.870000E+2,8.860000E+2,8.850000E+2,8.830000E+2,8.820000E+2,8.810000E+2,8.800000E+2,8.790000E+2,8.780000E+2,8.770000E+2,8.760000E+2,8.750000E+2,8.740000E+2,8.730000E+2,8.720000E+2,8.710000E+2,8.700000E+2,8.690000E+2,8.680000E+2,8.670000E+2,8.660000E+2,8.650000E+2,8.640000E+2,8.630000E+2,8.620000E+2,8.610000E+2,8.600000E+2,8.590000E+2,8.580000E+2,8.570000E+2,8.560000E+2,8.550000E+2,8.540000E+2,8.530000E+2,8.520000E+2,8.510000E+2,8.500000E+2,8.490000E+2,8.480000E+2,8.470000E+2,8.460000E+2,8.450000E+2,8.440000E+2,8.430000E+2,8.420000E+2,8.410000E+2,8.400000E+2,8.390000E+2,8.380000E+2,8.370000E+2,8.360000E+2,8.350000E+2,8.340000E+2,8.330000E+2,8.320000E+2,8.310000E+2,8.300000E+2,8.290000E+2,8.280000E+2,8.270000E+2,8.260000E+2,8.250000E+2,8.240000E+2,8.230000E+2,8.220000E+2,8.210000E+2,8.200000E+2,8.190000E+2,8.180000E+2,8.170000E+2,8.160000E+2,8.150000E+2,8.140000E+2,8.130000E+2,8.120000E+2,8.110000E+2,8.100000E+2,8.090000E+2,8.080000E+2,8.070000E+2,8.060000E+2,8.050000E+2,8.040000E+2,8.030000E+2,8.020000E+2,8.010000E+2,8.000000E+2,7.990000E+2,7.980000E+2,7.970000E+2,7.960000E+2,7.950000E+2,7.940000E+2,7.930000E+2,7.920000E+2,7.910000E+2,7.900000E+2,7.890000E+2,7.880000E+2,7.870000E+2,7.860000E+2,7.850000E+2,7.840000E+2,7.830000E+2,7.820000E+2,7.810000E+2,7.800000E+2,7.790000E+2,7.780000E+2,7.770000E+2,7.760000E+2,7.750000E+2,7.740000E+2,7.730000E+2,7.720000E+2,7.710000E+2,7.700000E+2,7.690000E+2,7.680000E+2,7.670000E+2,7.660000E+2,7.650000E+2,7.640000E+2,7.630000E+2,7.620000E+2,7.610000E+2,7.600000E+2,7.590000E+2,7.580000E+2,7.570000E+2,7.560000E+2,7.550000E+2,7.540000E+2,7.520000E+2,7.510000E+2,7.500000E+2,7.490000E+2,7.480000E+2,7.470000E+2,7.460000E+2,7.450000E+2,7.440000E+2,7.430000E+2,7.420000E+2,7.410000E+2,7.400000E+2,7.390000E+2,7.380000E+2,7.370000E+2,7.360000E+2,7.350000E+2,7.340000E+2,7.330000E+2,7.320000E+2,7.310000E+2,7.300000E+2,7.290000E+2,7.280000E+2,7.270000E+2,7.260000E+2,7.250000E+2,7.240000E+2,7.230000E+2,7.220000E+2,7.210000E+2,7.200000E+2,7.190000E+2,7.180000E+2,7.170000E+2,7.160000E+2,7.150000E+2,7.140000E+2,7.130000E+2,7.120000E+2,7.110000E+2,7.100000E+2,7.090000E+2,7.080000E+2,7.070000E+2,7.060000E+2,7.050000E+2,7.040000E+2,7.030000E+2,7.020000E+2,7.010000E+2,7.000000E+2,6.990000E+2,6.980000E+2,6.970000E+2,6.960000E+2,6.950000E+2,6.940000E+2,6.930000E+2,6.920000E+2,6.910000E+2,6.900000E+2,6.890000E+2,6.880000E+2,6.870000E+2,6.860000E+2,6.850000E+2,6.840000E+2,6.830000E+2,6.820000E+2,6.810000E+2,6.800000E+2,6.790000E+2,6.780000E+2,6.770000E+2,6.760000E+2,6.750000E+2,6.740000E+2,6.730000E+2,6.720000E+2,6.710000E+2,6.700000E+2,6.690000E+2,6.680000E+2,6.670000E+2,6.660000E+2,6.650000E+2,6.640000E+2,6.630000E+2,6.620000E+2,6.610000E+2,6.600000E+2,6.590000E+2,6.580000E+2,6.570000E+2,6.560000E+2,6.550000E+2,6.540000E+2,6.530000E+2,6.520000E+2,6.510000E+2,6.500000E+2,6.490000E+2,6.480000E+2,6.470000E+2,6.460000E+2,6.450000E+2,6.440000E+2,6.430000E+2,6.420000E+2,6.410000E+2,6.400000E+2,6.390000E+2,6.380000E+2,6.370000E+2,6.360000E+2,6.350000E+2,6.340000E+2,6.330000E+2,6.320000E+2,6.310000E+2,6.300000E+2,6.290000E+2,6.280000E+2,6.270000E+2]) + self.viscosity.data = np.array([3.400000E-5,3.300000E-5,3.100000E-5,3.000000E-5,2.800000E-5,2.700000E-5,2.500000E-5,2.400000E-5,2.300000E-5,2.100000E-5,2.000000E-5,1.900000E-5,1.800000E-5,1.700000E-5,1.600000E-5,1.500000E-5,1.400000E-5,1.300000E-5,1.200000E-5,1.100000E-5,9.900000E-6,9.100000E-6,8.300000E-6,7.500000E-6,6.800000E-6,6.100000E-6,5.500000E-6,5.000000E-6,4.900000E-6,4.800000E-6,4.600000E-6,4.500000E-6,4.400000E-6,4.300000E-6,4.200000E-6,4.100000E-6,4.000000E-6,3.800000E-6,3.800000E-6,3.700000E-6,3.600000E-6,3.500000E-6,3.400000E-6,3.300000E-6,3.200000E-6,3.100000E-6,3.000000E-6,3.000000E-6,2.900000E-6,2.800000E-6,2.700000E-6,2.700000E-6,2.600000E-6,2.500000E-6,2.500000E-6,2.400000E-6,2.400000E-6,2.300000E-6,2.200000E-6,2.200000E-6,2.100000E-6,2.100000E-6,2.000000E-6,2.000000E-6,2.000000E-6,1.900000E-6,1.900000E-6,1.800000E-6,1.800000E-6,1.800000E-6,1.700000E-6,1.700000E-6,1.600000E-6,1.600000E-6,1.600000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.000000E-6,1.000000E-6,1.000000E-6,1.000000E-6,9.900000E-7,9.700000E-7,9.600000E-7,9.400000E-7,9.300000E-7,9.100000E-7,1.500000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.000000E-6,1.000000E-6,9.900000E-7,9.700000E-7,9.400000E-7,9.200000E-7,9.000000E-7,8.800000E-7,8.600000E-7,8.400000E-7,8.200000E-7,8.000000E-7,7.900000E-7,7.700000E-7,7.500000E-7,7.300000E-7,7.200000E-7,7.000000E-7,6.800000E-7,6.700000E-7,6.500000E-7,6.400000E-7,6.200000E-7,6.100000E-7,5.900000E-7,5.800000E-7,5.700000E-7,5.600000E-7,5.400000E-7,5.300000E-7,5.200000E-7,5.100000E-7,5.000000E-7,4.900000E-7,4.800000E-7,4.700000E-7,4.600000E-7,4.500000E-7,4.400000E-7,4.400000E-7,4.300000E-7,4.200000E-7,4.200000E-7,4.100000E-7,4.000000E-7,4.000000E-7,3.900000E-7,3.900000E-7,3.900000E-7,3.800000E-7,3.800000E-7,3.800000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.800000E-7,3.800000E-7,3.800000E-7,3.900000E-7,3.900000E-7,4.000000E-7,3.900000E-7,3.900000E-7,3.900000E-7,3.900000E-7,3.900000E-7,3.800000E-7,3.800000E-7,3.800000E-7,3.800000E-7,3.800000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.600000E-7,3.600000E-7,3.600000E-7,3.600000E-7,3.600000E-7,3.500000E-7,3.500000E-7,3.500000E-7,3.500000E-7,3.500000E-7,3.500000E-7,3.400000E-7,3.400000E-7,3.400000E-7,3.400000E-7,3.400000E-7,3.300000E-7,3.300000E-7,3.300000E-7,3.300000E-7,3.300000E-7,3.200000E-7,3.200000E-7,3.200000E-7,3.200000E-7,3.200000E-7,3.200000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.000000E-7,3.000000E-7,3.000000E-7,3.000000E-7,3.000000E-7,3.000000E-7,3.000000E-7,2.900000E-7,2.900000E-7,2.900000E-7,2.900000E-7,2.900000E-7,2.900000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.500000E-7,2.500000E-7,2.500000E-7,2.500000E-7,2.500000E-7,2.500000E-7,2.500000E-7,2.500000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.200000E-7,2.200000E-7,2.200000E-7,2.200000E-7,2.200000E-7,2.200000E-7,2.200000E-7,2.200000E-7]) + self.specific_heat.data = np.array([1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.500000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3]) + self.conductivity.data = np.array([1.500000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1]) + self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN,3.000000E+3,4.000000E+3,5.000000E+3,5.000000E+3,6.000000E+3,7.000000E+3,7.000000E+3,8.000000E+3,9.000000E+3,1.000000E+4,1.000000E+4,1.100000E+4,1.200000E+4,1.300000E+4,1.400000E+4,1.400000E+4,1.500000E+4,1.600000E+4,1.700000E+4,1.800000E+4,1.800000E+4,1.900000E+4,2.000000E+4,2.100000E+4,2.200000E+4,2.300000E+4,2.300000E+4,2.400000E+4,2.500000E+4,2.600000E+4,2.700000E+4,2.800000E+4,2.900000E+4,3.000000E+4,3.000000E+4,3.100000E+4,3.200000E+4,3.300000E+4,3.400000E+4,3.500000E+4,3.600000E+4,3.700000E+4,3.800000E+4,3.900000E+4,4.000000E+4,4.100000E+4,4.200000E+4,4.300000E+4,4.400000E+4,4.500000E+4,4.600000E+4,4.700000E+4,4.800000E+4,4.900000E+4,5.000000E+4,5.100000E+4,5.200000E+4,5.300000E+4,5.400000E+4,5.500000E+4,5.600000E+4,5.700000E+4,5.800000E+4,5.900000E+4,6.000000E+4,6.100000E+4,6.200000E+4,6.300000E+4,6.400000E+4,6.600000E+4,6.700000E+4,6.800000E+4,6.900000E+4,7.000000E+4,7.100000E+4,7.200000E+4,7.300000E+4,7.500000E+4,7.600000E+4,7.700000E+4,7.800000E+4,7.900000E+4,8.000000E+4,8.200000E+4,8.300000E+4,8.400000E+4,8.500000E+4,8.600000E+4,8.800000E+4,8.900000E+4,9.000000E+4,9.100000E+4,9.200000E+4,9.400000E+4,9.500000E+4,9.600000E+4,9.700000E+4,9.900000E+4,1.000000E+5,1.010000E+5,1.030000E+5,1.040000E+5,1.050000E+5,1.060000E+5,1.080000E+5,1.090000E+5,1.100000E+5,1.120000E+5,1.130000E+5,1.140000E+5,1.160000E+5,1.170000E+5,1.180000E+5,1.200000E+5,1.210000E+5,1.220000E+5,1.240000E+5,1.250000E+5,1.270000E+5,1.280000E+5,1.290000E+5,1.310000E+5,1.320000E+5,1.340000E+5,1.350000E+5,1.370000E+5,1.380000E+5,1.390000E+5,1.410000E+5,1.420000E+5,1.440000E+5,1.450000E+5,1.470000E+5,1.480000E+5,1.500000E+5,1.510000E+5]) + self.Tmin = np.min(self.temperature.data) + self.Tmax = np.max(self.temperature.data) + self.TminPsat = np.min(self.temperature.data[~np.isnan(self.saturation_pressure.data)]) + self.name = "PCR" + self.description = "Paratherm "+ self.name[1:] + self.reference = "Paratherm2013" + self.reshapeAll() + + + + +class PGLT(PureData): + """ + Heat transfer fluid Paratherm GLT The Paratherm GLT heat transfer fluid is + an alkylated-aromatic based heat transfer fluid formulated for closed-loop + liquid-phase heating systems to 550 F using fired heaters and to 575 F in + waste-heat recovery systems. + """ + def __init__(self): + PureData.__init__(self) + self.density.source = self.density.SOURCE_DATA + self.viscosity.source = self.viscosity.SOURCE_DATA + self.specific_heat.source = self.specific_heat.SOURCE_DATA + self.conductivity.source = self.conductivity.SOURCE_DATA + self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA + self.temperature.data = np.array([2.581500E+2,2.591500E+2,2.601500E+2,2.611500E+2,2.621500E+2,2.631500E+2,2.641500E+2,2.651500E+2,2.661500E+2,2.671500E+2,2.681500E+2,2.691500E+2,2.701500E+2,2.711500E+2,2.721500E+2,2.731500E+2,2.741500E+2,2.751500E+2,2.761500E+2,2.771500E+2,2.781500E+2,2.791500E+2,2.801500E+2,2.811500E+2,2.821500E+2,2.831500E+2,2.841500E+2,2.851500E+2,2.861500E+2,2.871500E+2,2.881500E+2,2.891500E+2,2.901500E+2,2.911500E+2,2.921500E+2,2.931500E+2,2.941500E+2,2.951500E+2,2.961500E+2,2.971500E+2,2.981500E+2,2.991500E+2,3.001500E+2,3.011500E+2,3.021500E+2,3.031500E+2,3.041500E+2,3.051500E+2,3.061500E+2,3.071500E+2,3.081500E+2,3.091500E+2,3.101500E+2,3.111500E+2,3.121500E+2,3.131500E+2,3.141500E+2,3.151500E+2,3.161500E+2,3.171500E+2,3.181500E+2,3.191500E+2,3.201500E+2,3.211500E+2,3.221500E+2,3.231500E+2,3.241500E+2,3.251500E+2,3.261500E+2,3.271500E+2,3.281500E+2,3.291500E+2,3.301500E+2,3.311500E+2,3.321500E+2,3.331500E+2,3.341500E+2,3.351500E+2,3.361500E+2,3.371500E+2,3.381500E+2,3.391500E+2,3.401500E+2,3.411500E+2,3.421500E+2,3.431500E+2,3.441500E+2,3.451500E+2,3.461500E+2,3.471500E+2,3.481500E+2,3.491500E+2,3.501500E+2,3.511500E+2,3.521500E+2,3.531500E+2,3.541500E+2,3.551500E+2,3.561500E+2,3.571500E+2,3.581500E+2,3.591500E+2,3.601500E+2,3.611500E+2,3.621500E+2,3.631500E+2,3.641500E+2,3.651500E+2,3.661500E+2,3.671500E+2,3.681500E+2,3.691500E+2,3.701500E+2,3.711500E+2,3.721500E+2,3.731500E+2,3.741500E+2,3.751500E+2,3.761500E+2,3.771500E+2,3.781500E+2,3.791500E+2,3.801500E+2,3.811500E+2,3.821500E+2,3.831500E+2,3.841500E+2,3.851500E+2,3.861500E+2,3.871500E+2,3.881500E+2,3.891500E+2,3.901500E+2,3.911500E+2,3.921500E+2,3.931500E+2,3.941500E+2,3.951500E+2,3.961500E+2,3.971500E+2,3.981500E+2,3.991500E+2,4.001500E+2,4.011500E+2,4.021500E+2,4.031500E+2,4.041500E+2,4.051500E+2,4.061500E+2,4.071500E+2,4.081500E+2,4.091500E+2,4.101500E+2,4.111500E+2,4.121500E+2,4.131500E+2,4.141500E+2,4.151500E+2,4.161500E+2,4.171500E+2,4.181500E+2,4.191500E+2,4.201500E+2,4.211500E+2,4.221500E+2,4.231500E+2,4.241500E+2,4.251500E+2,4.261500E+2,4.271500E+2,4.281500E+2,4.291500E+2,4.301500E+2,4.311500E+2,4.321500E+2,4.331500E+2,4.341500E+2,4.351500E+2,4.361500E+2,4.371500E+2,4.381500E+2,4.391500E+2,4.401500E+2,4.411500E+2,4.421500E+2,4.431500E+2,4.441500E+2,4.451500E+2,4.461500E+2,4.471500E+2,4.481500E+2,4.491500E+2,4.501500E+2,4.511500E+2,4.521500E+2,4.531500E+2,4.541500E+2,4.551500E+2,4.561500E+2,4.571500E+2,4.581500E+2,4.591500E+2,4.601500E+2,4.611500E+2,4.621500E+2,4.631500E+2,4.641500E+2,4.651500E+2,4.661500E+2,4.671500E+2,4.681500E+2,4.691500E+2,4.701500E+2,4.711500E+2,4.721500E+2,4.731500E+2,4.741500E+2,4.751500E+2,4.761500E+2,4.771500E+2,4.781500E+2,4.791500E+2,4.801500E+2,4.811500E+2,4.821500E+2,4.831500E+2,4.841500E+2,4.851500E+2,4.861500E+2,4.871500E+2,4.881500E+2,4.891500E+2,4.901500E+2,4.911500E+2,4.921500E+2,4.931500E+2,4.941500E+2,4.951500E+2,4.961500E+2,4.971500E+2,4.981500E+2,4.991500E+2,5.001500E+2,5.011500E+2,5.021500E+2,5.031500E+2,5.041500E+2,5.051500E+2,5.061500E+2,5.071500E+2,5.081500E+2,5.091500E+2,5.101500E+2,5.111500E+2,5.121500E+2,5.131500E+2,5.141500E+2,5.151500E+2,5.161500E+2,5.171500E+2,5.181500E+2,5.191500E+2,5.201500E+2,5.211500E+2,5.221500E+2,5.231500E+2,5.241500E+2,5.251500E+2,5.261500E+2,5.271500E+2,5.281500E+2,5.291500E+2,5.301500E+2,5.311500E+2,5.321500E+2,5.331500E+2,5.341500E+2,5.351500E+2,5.361500E+2,5.371500E+2,5.381500E+2,5.391500E+2,5.401500E+2,5.411500E+2,5.421500E+2,5.431500E+2,5.441500E+2,5.451500E+2,5.461500E+2,5.471500E+2,5.481500E+2,5.491500E+2,5.501500E+2,5.511500E+2,5.521500E+2,5.531500E+2,5.541500E+2,5.551500E+2,5.561500E+2,5.571500E+2,5.581500E+2,5.591500E+2,5.601500E+2,5.611500E+2,5.621500E+2,5.631500E+2,5.641500E+2,5.651500E+2,5.661500E+2,5.671500E+2,5.681500E+2,5.691500E+2,5.701500E+2,5.711500E+2,5.721500E+2,5.731500E+2,5.741500E+2,5.751500E+2,5.761500E+2,5.771500E+2,5.781500E+2,5.791500E+2,5.801500E+2,5.811500E+2,5.821500E+2,5.831500E+2,5.841500E+2,5.851500E+2,5.861500E+2,5.871500E+2,5.881500E+2]) + self.density.data = np.array([9.020000E+2,9.010000E+2,9.000000E+2,9.000000E+2,8.990000E+2,8.980000E+2,8.970000E+2,8.970000E+2,8.960000E+2,8.950000E+2,8.950000E+2,8.940000E+2,8.930000E+2,8.930000E+2,8.920000E+2,8.910000E+2,8.910000E+2,8.900000E+2,8.890000E+2,8.880000E+2,8.880000E+2,8.870000E+2,8.860000E+2,8.860000E+2,8.850000E+2,8.840000E+2,8.840000E+2,8.830000E+2,8.820000E+2,8.810000E+2,8.810000E+2,8.800000E+2,8.790000E+2,8.790000E+2,8.780000E+2,8.770000E+2,8.770000E+2,8.760000E+2,8.750000E+2,8.740000E+2,8.740000E+2,8.730000E+2,8.720000E+2,8.720000E+2,8.710000E+2,8.700000E+2,8.700000E+2,8.690000E+2,8.680000E+2,8.680000E+2,8.670000E+2,8.660000E+2,8.650000E+2,8.650000E+2,8.640000E+2,8.630000E+2,8.630000E+2,8.620000E+2,8.610000E+2,8.610000E+2,8.600000E+2,8.590000E+2,8.580000E+2,8.580000E+2,8.570000E+2,8.560000E+2,8.560000E+2,8.550000E+2,8.540000E+2,8.540000E+2,8.530000E+2,8.520000E+2,8.510000E+2,8.510000E+2,8.500000E+2,8.490000E+2,8.490000E+2,8.480000E+2,8.470000E+2,8.470000E+2,8.460000E+2,8.450000E+2,8.440000E+2,8.440000E+2,8.430000E+2,8.420000E+2,8.420000E+2,8.410000E+2,8.400000E+2,8.400000E+2,8.390000E+2,8.380000E+2,8.380000E+2,8.370000E+2,8.360000E+2,8.350000E+2,8.350000E+2,8.340000E+2,8.330000E+2,8.330000E+2,8.320000E+2,8.310000E+2,8.310000E+2,8.300000E+2,8.290000E+2,8.280000E+2,8.280000E+2,8.270000E+2,8.260000E+2,8.260000E+2,8.250000E+2,8.240000E+2,8.240000E+2,8.230000E+2,8.220000E+2,8.210000E+2,8.210000E+2,8.200000E+2,8.190000E+2,8.190000E+2,8.180000E+2,8.170000E+2,8.170000E+2,8.160000E+2,8.150000E+2,8.150000E+2,8.140000E+2,8.130000E+2,8.120000E+2,8.120000E+2,8.110000E+2,8.100000E+2,8.100000E+2,8.090000E+2,8.080000E+2,8.080000E+2,8.070000E+2,8.060000E+2,8.050000E+2,8.050000E+2,8.040000E+2,8.030000E+2,8.030000E+2,8.020000E+2,8.010000E+2,8.010000E+2,8.000000E+2,7.990000E+2,7.980000E+2,7.980000E+2,7.970000E+2,7.960000E+2,7.960000E+2,7.950000E+2,7.940000E+2,7.940000E+2,7.930000E+2,7.920000E+2,7.910000E+2,7.910000E+2,7.900000E+2,7.890000E+2,7.890000E+2,7.880000E+2,7.870000E+2,7.870000E+2,7.860000E+2,7.850000E+2,7.850000E+2,7.840000E+2,7.830000E+2,7.820000E+2,7.820000E+2,7.810000E+2,7.800000E+2,7.800000E+2,7.790000E+2,7.780000E+2,7.780000E+2,7.770000E+2,7.760000E+2,7.750000E+2,7.750000E+2,7.740000E+2,7.730000E+2,7.730000E+2,7.720000E+2,7.710000E+2,7.710000E+2,7.700000E+2,7.690000E+2,7.680000E+2,7.680000E+2,7.670000E+2,7.660000E+2,7.660000E+2,7.650000E+2,7.640000E+2,7.640000E+2,7.630000E+2,7.620000E+2,7.620000E+2,7.610000E+2,7.600000E+2,7.590000E+2,7.590000E+2,7.580000E+2,7.570000E+2,7.570000E+2,7.560000E+2,7.550000E+2,7.550000E+2,7.540000E+2,7.530000E+2,7.520000E+2,7.520000E+2,7.510000E+2,7.500000E+2,7.500000E+2,7.490000E+2,7.480000E+2,7.480000E+2,7.470000E+2,7.460000E+2,7.450000E+2,7.450000E+2,7.440000E+2,7.430000E+2,7.430000E+2,7.420000E+2,7.410000E+2,7.410000E+2,7.400000E+2,7.390000E+2,7.380000E+2,7.380000E+2,7.370000E+2,7.360000E+2,7.360000E+2,7.350000E+2,7.340000E+2,7.340000E+2,7.330000E+2,7.320000E+2,7.320000E+2,7.310000E+2,7.300000E+2,7.290000E+2,7.290000E+2,7.280000E+2,7.270000E+2,7.270000E+2,7.260000E+2,7.250000E+2,7.250000E+2,7.240000E+2,7.230000E+2,7.220000E+2,7.220000E+2,7.210000E+2,7.200000E+2,7.200000E+2,7.190000E+2,7.180000E+2,7.180000E+2,7.170000E+2,7.160000E+2,7.150000E+2,7.150000E+2,7.140000E+2,7.130000E+2,7.130000E+2,7.120000E+2,7.110000E+2,7.110000E+2,7.100000E+2,7.090000E+2,7.090000E+2,7.080000E+2,7.070000E+2,7.060000E+2,7.060000E+2,7.050000E+2,7.040000E+2,7.040000E+2,7.030000E+2,7.020000E+2,7.020000E+2,7.010000E+2,7.000000E+2,6.990000E+2,6.990000E+2,6.980000E+2,6.970000E+2,6.970000E+2,6.960000E+2,6.950000E+2,6.950000E+2,6.940000E+2,6.930000E+2,6.920000E+2,6.920000E+2,6.910000E+2,6.900000E+2,6.900000E+2,6.890000E+2,6.880000E+2,6.880000E+2,6.870000E+2,6.860000E+2,6.850000E+2,6.850000E+2,6.840000E+2,6.830000E+2,6.830000E+2,6.820000E+2,6.810000E+2,6.810000E+2,6.800000E+2,6.790000E+2,6.790000E+2,6.780000E+2,6.770000E+2,6.760000E+2,6.760000E+2,6.750000E+2,6.740000E+2,6.740000E+2,6.730000E+2,6.720000E+2,6.720000E+2]) + self.viscosity.data = np.array([5.620000E-4,5.120000E-4,4.660000E-4,4.240000E-4,3.860000E-4,3.500000E-4,3.180000E-4,2.890000E-4,2.620000E-4,2.380000E-4,2.170000E-4,1.980000E-4,1.810000E-4,1.660000E-4,1.530000E-4,1.380000E-4,1.300000E-4,1.230000E-4,1.160000E-4,1.090000E-4,1.020000E-4,9.600000E-5,9.100000E-5,8.500000E-5,8.000000E-5,7.600000E-5,7.100000E-5,6.700000E-5,6.300000E-5,5.900000E-5,5.600000E-5,5.300000E-5,5.000000E-5,4.700000E-5,4.400000E-5,4.200000E-5,4.000000E-5,3.800000E-5,3.600000E-5,3.400000E-5,3.200000E-5,3.100000E-5,2.900000E-5,2.800000E-5,2.700000E-5,2.500000E-5,2.400000E-5,2.300000E-5,2.200000E-5,2.100000E-5,2.000000E-5,1.900000E-5,1.800000E-5,1.700000E-5,1.600000E-5,1.600000E-5,1.500000E-5,1.500000E-5,1.400000E-5,1.300000E-5,1.300000E-5,1.300000E-5,1.200000E-5,1.200000E-5,1.100000E-5,1.100000E-5,1.100000E-5,1.000000E-5,9.900000E-6,9.600000E-6,9.200000E-6,8.900000E-6,8.600000E-6,8.300000E-6,8.100000E-6,7.800000E-6,7.600000E-6,7.300000E-6,7.100000E-6,6.900000E-6,6.700000E-6,6.500000E-6,6.300000E-6,6.100000E-6,5.900000E-6,5.800000E-6,5.600000E-6,5.400000E-6,5.300000E-6,5.200000E-6,5.000000E-6,4.900000E-6,4.800000E-6,4.700000E-6,4.600000E-6,4.400000E-6,4.300000E-6,4.200000E-6,4.100000E-6,4.000000E-6,3.900000E-6,3.800000E-6,3.800000E-6,3.700000E-6,3.600000E-6,3.500000E-6,3.400000E-6,3.400000E-6,3.300000E-6,3.200000E-6,3.200000E-6,3.100000E-6,3.000000E-6,3.000000E-6,2.900000E-6,2.900000E-6,2.800000E-6,2.800000E-6,2.700000E-6,2.700000E-6,2.600000E-6,2.500000E-6,2.500000E-6,2.500000E-6,2.400000E-6,2.400000E-6,2.300000E-6,2.300000E-6,2.200000E-6,2.200000E-6,2.200000E-6,2.100000E-6,2.100000E-6,2.100000E-6,2.000000E-6,2.000000E-6,2.000000E-6,1.900000E-6,1.900000E-6,1.900000E-6,1.900000E-6,1.800000E-6,1.800000E-6,1.800000E-6,1.700000E-6,1.700000E-6,1.700000E-6,1.700000E-6,1.600000E-6,1.600000E-6,1.600000E-6,1.600000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.000000E-6,1.000000E-6,1.000000E-6,1.000000E-6,1.000000E-6,9.900000E-7,9.800000E-7,9.700000E-7,9.600000E-7,9.500000E-7,9.400000E-7,9.300000E-7,9.200000E-7,9.100000E-7,9.000000E-7,8.900000E-7,8.800000E-7,8.700000E-7,8.600000E-7,8.500000E-7,8.400000E-7,8.300000E-7,8.300000E-7,8.200000E-7,8.100000E-7,8.000000E-7,7.900000E-7,7.800000E-7,7.800000E-7,7.700000E-7,7.600000E-7,7.500000E-7,7.500000E-7,7.400000E-7,7.300000E-7,7.200000E-7,7.200000E-7,7.100000E-7,7.000000E-7,7.000000E-7,6.900000E-7,6.800000E-7,6.800000E-7,6.700000E-7,6.600000E-7,6.600000E-7,6.500000E-7,6.500000E-7,6.400000E-7,6.300000E-7,6.300000E-7,6.200000E-7,6.200000E-7,6.100000E-7,6.100000E-7,6.000000E-7,6.000000E-7,5.900000E-7,5.800000E-7,5.800000E-7,5.700000E-7,5.700000E-7,5.600000E-7,5.600000E-7,5.600000E-7,5.500000E-7,5.500000E-7,5.400000E-7,5.400000E-7,5.300000E-7,5.300000E-7,5.200000E-7,5.200000E-7,5.100000E-7,5.100000E-7,5.100000E-7,5.000000E-7,5.000000E-7,4.900000E-7,4.900000E-7,4.900000E-7,4.800000E-7,4.800000E-7,4.700000E-7,4.700000E-7,4.700000E-7,4.600000E-7,4.600000E-7,4.600000E-7,4.500000E-7,4.500000E-7,4.500000E-7,4.400000E-7,4.400000E-7,4.400000E-7,4.300000E-7,4.300000E-7,4.300000E-7,4.200000E-7,4.200000E-7,4.200000E-7,4.100000E-7,4.100000E-7,4.100000E-7,4.000000E-7,4.000000E-7,4.000000E-7,4.000000E-7,3.900000E-7,3.900000E-7,3.900000E-7,3.800000E-7,3.800000E-7,3.800000E-7,3.800000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.600000E-7,3.600000E-7,3.600000E-7,3.600000E-7,3.500000E-7,3.500000E-7,3.500000E-7,3.500000E-7,3.400000E-7,3.400000E-7,3.400000E-7,3.400000E-7,3.400000E-7,3.300000E-7,3.300000E-7,3.300000E-7,3.300000E-7,3.200000E-7,3.200000E-7,3.200000E-7,3.200000E-7,3.200000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.000000E-7,3.000000E-7,3.000000E-7]) + self.specific_heat.data = np.array([1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3]) + self.conductivity.data = np.array([1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1]) + self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,9.000000E+3,9.000000E+3,9.000000E+3,9.000000E+3,9.000000E+3,1.000000E+4,1.000000E+4,1.000000E+4,1.000000E+4,1.100000E+4,1.100000E+4,1.100000E+4,1.200000E+4,1.200000E+4,1.200000E+4,1.200000E+4,1.300000E+4,1.300000E+4,1.300000E+4,1.400000E+4,1.400000E+4,1.400000E+4,1.500000E+4,1.500000E+4,1.500000E+4,1.600000E+4,1.600000E+4,1.700000E+4,1.700000E+4,1.700000E+4,1.800000E+4,1.800000E+4,1.900000E+4,1.900000E+4,1.900000E+4,2.000000E+4,2.000000E+4,2.100000E+4,2.100000E+4,2.200000E+4,2.200000E+4,2.300000E+4,2.300000E+4,2.400000E+4,2.400000E+4,2.500000E+4,2.500000E+4,2.600000E+4,2.700000E+4,2.700000E+4,2.800000E+4,2.800000E+4,2.900000E+4,3.000000E+4,3.000000E+4,3.100000E+4,3.100000E+4,3.200000E+4,3.300000E+4,3.300000E+4,3.400000E+4,3.500000E+4,3.600000E+4,3.600000E+4,3.700000E+4,3.800000E+4,3.900000E+4,3.900000E+4,4.000000E+4,4.100000E+4,4.200000E+4,4.300000E+4,4.400000E+4]) + self.Tmin = np.min(self.temperature.data) + self.Tmax = np.max(self.temperature.data) + self.TminPsat = np.min(self.temperature.data[~np.isnan(self.saturation_pressure.data)]) + self.name = "PGLT" + self.description = "Paratherm "+ self.name[1:] + self.reference = "Paratherm2013" + self.reshapeAll() + + + +class PHE(PureData): + """ + The Paratherm HE high flash and fire point heat transfer fluid is rated for + an optimal service range of 150 F to 600 F (66 C to 316 C). Engineered for + higher thermal and oxidative stability, it is efficient and cost effective. + Its greater purity allows it to strongly resist degradation while holding + thermal properties and maintaining efficiency. This provides for low + maintenance and solid performance over an extended operating life. + Non-toxic, the HE fluid is safe to use and easy to dispose. It can be + safely combined with spent lubricating oils and recycled locally. + """ + def __init__(self): + PureData.__init__(self) + self.density.source = self.density.SOURCE_DATA + self.viscosity.source = self.viscosity.SOURCE_DATA + self.specific_heat.source = self.specific_heat.SOURCE_DATA + self.conductivity.source = self.conductivity.SOURCE_DATA + self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA + self.temperature.data = np.array([2.731500E+2,2.741500E+2,2.751500E+2,2.761500E+2,2.771500E+2,2.781500E+2,2.791500E+2,2.801500E+2,2.811500E+2,2.821500E+2,2.831500E+2,2.841500E+2,2.851500E+2,2.861500E+2,2.871500E+2,2.881500E+2,2.891500E+2,2.901500E+2,2.911500E+2,2.921500E+2,2.931500E+2,2.941500E+2,2.951500E+2,2.961500E+2,2.971500E+2,2.981500E+2,2.991500E+2,3.001500E+2,3.011500E+2,3.021500E+2,3.031500E+2,3.041500E+2,3.051500E+2,3.061500E+2,3.071500E+2,3.081500E+2,3.091500E+2,3.101500E+2,3.111500E+2,3.121500E+2,3.131500E+2,3.141500E+2,3.151500E+2,3.161500E+2,3.171500E+2,3.181500E+2,3.191500E+2,3.201500E+2,3.211500E+2,3.221500E+2,3.231500E+2,3.241500E+2,3.251500E+2,3.261500E+2,3.271500E+2,3.281500E+2,3.291500E+2,3.301500E+2,3.311500E+2,3.321500E+2,3.331500E+2,3.341500E+2,3.351500E+2,3.361500E+2,3.371500E+2,3.381500E+2,3.391500E+2,3.401500E+2,3.411500E+2,3.421500E+2,3.431500E+2,3.441500E+2,3.451500E+2,3.461500E+2,3.471500E+2,3.481500E+2,3.491500E+2,3.501500E+2,3.511500E+2,3.521500E+2,3.531500E+2,3.541500E+2,3.551500E+2,3.561500E+2,3.571500E+2,3.581500E+2,3.591500E+2,3.601500E+2,3.611500E+2,3.621500E+2,3.631500E+2,3.641500E+2,3.651500E+2,3.661500E+2,3.671500E+2,3.681500E+2,3.691500E+2,3.701500E+2,3.711500E+2,3.721500E+2,3.731500E+2,3.741500E+2,3.751500E+2,3.761500E+2,3.771500E+2,3.781500E+2,3.791500E+2,3.801500E+2,3.811500E+2,3.821500E+2,3.831500E+2,3.841500E+2,3.851500E+2,3.861500E+2,3.871500E+2,3.881500E+2,3.891500E+2,3.901500E+2,3.911500E+2,3.921500E+2,3.931500E+2,3.941500E+2,3.951500E+2,3.961500E+2,3.971500E+2,3.981500E+2,3.991500E+2,4.001500E+2,4.011500E+2,4.021500E+2,4.031500E+2,4.041500E+2,4.051500E+2,4.061500E+2,4.071500E+2,4.081500E+2,4.091500E+2,4.101500E+2,4.111500E+2,4.121500E+2,4.131500E+2,4.141500E+2,4.151500E+2,4.161500E+2,4.171500E+2,4.181500E+2,4.191500E+2,4.201500E+2,4.211500E+2,4.221500E+2,4.231500E+2,4.241500E+2,4.251500E+2,4.261500E+2,4.271500E+2,4.281500E+2,4.291500E+2,4.301500E+2,4.311500E+2,4.321500E+2,4.331500E+2,4.341500E+2,4.351500E+2,4.361500E+2,4.371500E+2,4.381500E+2,4.391500E+2,4.401500E+2,4.411500E+2,4.421500E+2,4.431500E+2,4.441500E+2,4.451500E+2,4.461500E+2,4.471500E+2,4.481500E+2,4.491500E+2,4.501500E+2,4.511500E+2,4.521500E+2,4.531500E+2,4.541500E+2,4.551500E+2,4.561500E+2,4.571500E+2,4.581500E+2,4.591500E+2,4.601500E+2,4.611500E+2,4.621500E+2,4.631500E+2,4.641500E+2,4.651500E+2,4.661500E+2,4.671500E+2,4.681500E+2,4.691500E+2,4.701500E+2,4.711500E+2,4.721500E+2,4.731500E+2,4.741500E+2,4.751500E+2,4.761500E+2,4.771500E+2,4.781500E+2,4.791500E+2,4.801500E+2,4.811500E+2,4.821500E+2,4.831500E+2,4.841500E+2,4.851500E+2,4.861500E+2,4.871500E+2,4.881500E+2,4.891500E+2,4.901500E+2,4.911500E+2,4.921500E+2,4.931500E+2,4.941500E+2,4.951500E+2,4.961500E+2,4.971500E+2,4.981500E+2,4.991500E+2,5.001500E+2,5.011500E+2,5.021500E+2,5.031500E+2,5.041500E+2,5.051500E+2,5.061500E+2,5.071500E+2,5.081500E+2,5.091500E+2,5.101500E+2,5.111500E+2,5.121500E+2,5.131500E+2,5.141500E+2,5.151500E+2,5.161500E+2,5.171500E+2,5.181500E+2,5.191500E+2,5.201500E+2,5.211500E+2,5.221500E+2,5.231500E+2,5.241500E+2,5.251500E+2,5.261500E+2,5.271500E+2,5.281500E+2,5.291500E+2,5.301500E+2,5.311500E+2,5.321500E+2,5.331500E+2,5.341500E+2,5.351500E+2,5.361500E+2,5.371500E+2,5.381500E+2,5.391500E+2,5.401500E+2,5.411500E+2,5.421500E+2,5.431500E+2,5.441500E+2,5.451500E+2,5.461500E+2,5.471500E+2,5.481500E+2,5.491500E+2,5.501500E+2,5.511500E+2,5.521500E+2,5.531500E+2,5.541500E+2,5.551500E+2,5.561500E+2,5.571500E+2,5.581500E+2,5.591500E+2,5.601500E+2,5.611500E+2,5.621500E+2,5.631500E+2,5.641500E+2,5.651500E+2,5.661500E+2,5.671500E+2,5.681500E+2,5.691500E+2,5.701500E+2,5.711500E+2,5.721500E+2,5.731500E+2,5.741500E+2,5.751500E+2,5.761500E+2,5.771500E+2,5.781500E+2,5.791500E+2,5.801500E+2,5.811500E+2,5.821500E+2,5.831500E+2,5.841500E+2,5.851500E+2,5.861500E+2,5.871500E+2,5.881500E+2,5.891500E+2,5.901500E+2,5.911500E+2,5.921500E+2,5.931500E+2,5.941500E+2,5.951500E+2,5.961500E+2,5.971500E+2,5.981500E+2,5.991500E+2,6.001500E+2,6.011500E+2,6.021500E+2,6.031500E+2]) + self.density.data = np.array([8.750000E+2,8.750000E+2,8.740000E+2,8.740000E+2,8.730000E+2,8.720000E+2,8.720000E+2,8.710000E+2,8.700000E+2,8.700000E+2,8.690000E+2,8.680000E+2,8.680000E+2,8.670000E+2,8.660000E+2,8.660000E+2,8.650000E+2,8.650000E+2,8.640000E+2,8.630000E+2,8.630000E+2,8.620000E+2,8.610000E+2,8.610000E+2,8.600000E+2,8.590000E+2,8.590000E+2,8.580000E+2,8.580000E+2,8.570000E+2,8.560000E+2,8.560000E+2,8.550000E+2,8.540000E+2,8.540000E+2,8.530000E+2,8.520000E+2,8.520000E+2,8.510000E+2,8.500000E+2,8.500000E+2,8.490000E+2,8.490000E+2,8.480000E+2,8.470000E+2,8.470000E+2,8.460000E+2,8.450000E+2,8.450000E+2,8.440000E+2,8.430000E+2,8.430000E+2,8.420000E+2,8.420000E+2,8.410000E+2,8.400000E+2,8.400000E+2,8.390000E+2,8.380000E+2,8.380000E+2,8.370000E+2,8.360000E+2,8.360000E+2,8.350000E+2,8.340000E+2,8.340000E+2,8.330000E+2,8.330000E+2,8.320000E+2,8.310000E+2,8.310000E+2,8.300000E+2,8.290000E+2,8.290000E+2,8.280000E+2,8.270000E+2,8.270000E+2,8.260000E+2,8.250000E+2,8.250000E+2,8.240000E+2,8.240000E+2,8.230000E+2,8.220000E+2,8.220000E+2,8.210000E+2,8.200000E+2,8.200000E+2,8.190000E+2,8.180000E+2,8.180000E+2,8.170000E+2,8.170000E+2,8.160000E+2,8.150000E+2,8.150000E+2,8.140000E+2,8.130000E+2,8.130000E+2,8.120000E+2,8.110000E+2,8.110000E+2,8.100000E+2,8.090000E+2,8.090000E+2,8.080000E+2,8.080000E+2,8.070000E+2,8.060000E+2,8.060000E+2,8.050000E+2,8.040000E+2,8.040000E+2,8.030000E+2,8.020000E+2,8.020000E+2,8.010000E+2,8.000000E+2,8.000000E+2,7.990000E+2,7.990000E+2,7.980000E+2,7.970000E+2,7.970000E+2,7.960000E+2,7.950000E+2,7.950000E+2,7.940000E+2,7.930000E+2,7.930000E+2,7.920000E+2,7.920000E+2,7.910000E+2,7.900000E+2,7.900000E+2,7.890000E+2,7.880000E+2,7.880000E+2,7.870000E+2,7.860000E+2,7.860000E+2,7.850000E+2,7.840000E+2,7.840000E+2,7.830000E+2,7.830000E+2,7.820000E+2,7.810000E+2,7.810000E+2,7.800000E+2,7.790000E+2,7.790000E+2,7.780000E+2,7.770000E+2,7.770000E+2,7.760000E+2,7.750000E+2,7.750000E+2,7.740000E+2,7.740000E+2,7.730000E+2,7.720000E+2,7.720000E+2,7.710000E+2,7.700000E+2,7.700000E+2,7.690000E+2,7.680000E+2,7.680000E+2,7.670000E+2,7.670000E+2,7.660000E+2,7.650000E+2,7.650000E+2,7.640000E+2,7.630000E+2,7.630000E+2,7.620000E+2,7.610000E+2,7.610000E+2,7.600000E+2,7.590000E+2,7.590000E+2,7.580000E+2,7.580000E+2,7.570000E+2,7.560000E+2,7.560000E+2,7.550000E+2,7.540000E+2,7.540000E+2,7.530000E+2,7.520000E+2,7.520000E+2,7.510000E+2,7.500000E+2,7.500000E+2,7.490000E+2,7.490000E+2,7.480000E+2,7.470000E+2,7.470000E+2,7.460000E+2,7.450000E+2,7.450000E+2,7.440000E+2,7.430000E+2,7.430000E+2,7.420000E+2,7.420000E+2,7.410000E+2,7.400000E+2,7.400000E+2,7.390000E+2,7.380000E+2,7.380000E+2,7.370000E+2,7.360000E+2,7.360000E+2,7.350000E+2,7.340000E+2,7.340000E+2,7.330000E+2,7.330000E+2,7.320000E+2,7.310000E+2,7.310000E+2,7.300000E+2,7.290000E+2,7.290000E+2,7.280000E+2,7.270000E+2,7.270000E+2,7.260000E+2,7.250000E+2,7.250000E+2,7.240000E+2,7.240000E+2,7.230000E+2,7.220000E+2,7.220000E+2,7.210000E+2,7.200000E+2,7.200000E+2,7.190000E+2,7.180000E+2,7.180000E+2,7.170000E+2,7.170000E+2,7.160000E+2,7.150000E+2,7.150000E+2,7.140000E+2,7.130000E+2,7.130000E+2,7.120000E+2,7.110000E+2,7.110000E+2,7.100000E+2,7.090000E+2,7.090000E+2,7.080000E+2,7.080000E+2,7.070000E+2,7.060000E+2,7.060000E+2,7.050000E+2,7.040000E+2,7.040000E+2,7.030000E+2,7.020000E+2,7.020000E+2,7.010000E+2,7.010000E+2,7.000000E+2,6.990000E+2,6.990000E+2,6.980000E+2,6.970000E+2,6.970000E+2,6.960000E+2,6.950000E+2,6.950000E+2,6.940000E+2,6.930000E+2,6.930000E+2,6.920000E+2,6.920000E+2,6.910000E+2,6.900000E+2,6.900000E+2,6.890000E+2,6.880000E+2,6.880000E+2,6.870000E+2,6.860000E+2,6.860000E+2,6.850000E+2,6.840000E+2,6.840000E+2,6.830000E+2,6.830000E+2,6.820000E+2,6.810000E+2,6.810000E+2,6.800000E+2,6.790000E+2,6.790000E+2,6.780000E+2,6.770000E+2,6.770000E+2,6.760000E+2,6.760000E+2,6.750000E+2,6.740000E+2,6.740000E+2,6.730000E+2,6.720000E+2,6.720000E+2,6.710000E+2,6.700000E+2,6.700000E+2,6.690000E+2,6.680000E+2,6.680000E+2,6.670000E+2,6.670000E+2,6.660000E+2,6.650000E+2,6.650000E+2,6.640000E+2]) + self.viscosity.data = np.array([4.070000E-4,3.770000E-4,3.490000E-4,3.230000E-4,2.990000E-4,2.760000E-4,2.560000E-4,2.370000E-4,2.190000E-4,2.030000E-4,1.880000E-4,1.740000E-4,1.610000E-4,1.490000E-4,1.380000E-4,1.270000E-4,1.180000E-4,1.140000E-4,1.050000E-4,9.700000E-5,9.000000E-5,8.400000E-5,7.800000E-5,7.400000E-5,6.900000E-5,6.500000E-5,6.200000E-5,5.800000E-5,5.500000E-5,5.300000E-5,5.000000E-5,4.800000E-5,4.600000E-5,4.400000E-5,4.200000E-5,4.000000E-5,3.800000E-5,3.700000E-5,3.500000E-5,3.400000E-5,3.300000E-5,3.200000E-5,3.100000E-5,3.000000E-5,2.900000E-5,2.800000E-5,2.700000E-5,2.600000E-5,2.500000E-5,2.400000E-5,2.300000E-5,2.200000E-5,2.100000E-5,2.000000E-5,1.900000E-5,1.800000E-5,1.800000E-5,1.700000E-5,1.600000E-5,1.600000E-5,1.500000E-5,1.500000E-5,1.400000E-5,1.400000E-5,1.300000E-5,1.300000E-5,1.200000E-5,1.200000E-5,1.200000E-5,1.100000E-5,1.100000E-5,1.100000E-5,1.000000E-5,1.000000E-5,9.800000E-6,9.500000E-6,9.300000E-6,9.000000E-6,8.800000E-6,8.500000E-6,8.300000E-6,8.100000E-6,7.900000E-6,7.700000E-6,7.500000E-6,7.300000E-6,7.100000E-6,6.900000E-6,6.800000E-6,6.600000E-6,6.500000E-6,6.300000E-6,6.200000E-6,6.000000E-6,5.900000E-6,5.800000E-6,5.600000E-6,5.500000E-6,5.400000E-6,5.300000E-6,5.200000E-6,5.100000E-6,5.000000E-6,4.900000E-6,4.800000E-6,4.700000E-6,4.600000E-6,4.500000E-6,4.400000E-6,4.300000E-6,4.200000E-6,4.100000E-6,4.100000E-6,4.000000E-6,3.900000E-6,3.800000E-6,3.800000E-6,3.600000E-6,3.500000E-6,3.500000E-6,3.400000E-6,3.300000E-6,3.300000E-6,3.200000E-6,3.200000E-6,3.100000E-6,3.100000E-6,3.000000E-6,3.000000E-6,2.900000E-6,2.900000E-6,2.800000E-6,2.800000E-6,2.800000E-6,2.700000E-6,2.700000E-6,2.600000E-6,2.600000E-6,2.600000E-6,2.500000E-6,2.500000E-6,2.500000E-6,2.400000E-6,2.400000E-6,2.300000E-6,2.300000E-6,2.300000E-6,2.200000E-6,2.200000E-6,2.200000E-6,2.200000E-6,2.100000E-6,2.100000E-6,2.100000E-6,2.000000E-6,2.000000E-6,2.000000E-6,2.000000E-6,1.900000E-6,1.900000E-6,1.900000E-6,1.900000E-6,1.900000E-6,1.800000E-6,1.800000E-6,1.800000E-6,1.800000E-6,1.700000E-6,1.700000E-6,1.700000E-6,1.700000E-6,1.600000E-6,1.600000E-6,1.600000E-6,1.600000E-6,1.600000E-6,1.600000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.000000E-6,1.000000E-6,1.000000E-6,1.000000E-6,1.000000E-6,1.000000E-6,9.900000E-7,9.800000E-7,9.700000E-7,9.600000E-7,9.600000E-7,9.500000E-7,9.400000E-7,9.300000E-7,9.200000E-7,9.100000E-7,9.100000E-7,9.000000E-7,8.900000E-7,8.800000E-7,8.700000E-7,8.700000E-7,8.600000E-7,8.500000E-7,8.400000E-7,8.400000E-7,8.300000E-7,8.200000E-7,8.200000E-7,8.100000E-7,8.000000E-7,8.000000E-7,7.900000E-7,7.800000E-7,7.800000E-7,7.700000E-7,7.600000E-7,7.600000E-7,7.500000E-7,7.500000E-7,7.400000E-7,7.300000E-7,7.300000E-7,7.200000E-7,7.200000E-7,7.100000E-7,7.100000E-7,7.000000E-7,6.900000E-7,6.900000E-7,6.800000E-7,6.800000E-7,6.700000E-7,6.700000E-7,6.600000E-7,6.600000E-7,6.500000E-7,6.500000E-7,6.400000E-7,6.400000E-7,6.300000E-7,6.300000E-7,6.200000E-7,6.200000E-7,6.200000E-7,6.100000E-7,6.100000E-7,6.000000E-7,6.000000E-7,5.900000E-7,5.900000E-7,5.900000E-7,5.800000E-7,5.800000E-7,5.700000E-7,5.700000E-7,5.700000E-7,5.600000E-7,5.600000E-7,5.500000E-7,5.500000E-7,5.500000E-7,5.400000E-7,5.400000E-7,5.300000E-7,5.300000E-7,5.300000E-7,5.200000E-7,5.200000E-7,5.200000E-7,5.100000E-7,5.100000E-7,5.100000E-7,5.000000E-7,5.000000E-7,5.000000E-7,4.900000E-7,4.900000E-7,4.900000E-7,4.800000E-7,4.800000E-7,4.800000E-7,4.700000E-7,4.700000E-7,4.700000E-7,4.700000E-7,4.600000E-7,4.600000E-7,4.600000E-7,4.500000E-7,4.500000E-7,4.500000E-7,4.500000E-7,4.400000E-7,4.400000E-7,4.400000E-7,4.300000E-7]) + self.specific_heat.data = np.array([1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3]) + self.conductivity.data = np.array([1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1]) + self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,9.000000E+3,9.000000E+3,9.000000E+3,9.000000E+3,1.000000E+4,1.000000E+4,1.000000E+4,1.100000E+4,1.100000E+4,1.100000E+4]) + self.Tmin = np.min(self.temperature.data) + self.Tmax = np.max(self.temperature.data) + self.TminPsat = np.min(self.temperature.data[~np.isnan(self.saturation_pressure.data)]) + self.name = "PHE" + self.description = "Paratherm "+ self.name[1:] + self.reference = "Paratherm2013" + self.reshapeAll() + + + +class PHR(PureData): + """ + The Paratherm HR Heat Transfer Fluid is an alkylated-aromatic based heat + transfer fluid formulated for closed loop liquid phase heating to 650 F in + fired heaters and 675 F in waste heat recovery and full convection heaters. + """ + def __init__(self): + PureData.__init__(self) + self.density.source = self.density.SOURCE_DATA + self.viscosity.source = self.viscosity.SOURCE_DATA + self.specific_heat.source = self.specific_heat.SOURCE_DATA + self.conductivity.source = self.conductivity.SOURCE_DATA + self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA + self.temperature.data = np.array([2.581500E+2,2.591500E+2,2.601500E+2,2.611500E+2,2.621500E+2,2.631500E+2,2.641500E+2,2.651500E+2,2.661500E+2,2.671500E+2,2.681500E+2,2.691500E+2,2.701500E+2,2.711500E+2,2.721500E+2,2.731500E+2,2.741500E+2,2.751500E+2,2.761500E+2,2.771500E+2,2.781500E+2,2.791500E+2,2.801500E+2,2.811500E+2,2.821500E+2,2.831500E+2,2.841500E+2,2.851500E+2,2.861500E+2,2.871500E+2,2.881500E+2,2.891500E+2,2.901500E+2,2.911500E+2,2.921500E+2,2.931500E+2,2.941500E+2,2.951500E+2,2.961500E+2,2.971500E+2,2.981500E+2,2.991500E+2,3.001500E+2,3.011500E+2,3.021500E+2,3.031500E+2,3.041500E+2,3.051500E+2,3.061500E+2,3.071500E+2,3.081500E+2,3.091500E+2,3.101500E+2,3.111500E+2,3.121500E+2,3.131500E+2,3.141500E+2,3.151500E+2,3.161500E+2,3.171500E+2,3.181500E+2,3.191500E+2,3.201500E+2,3.211500E+2,3.221500E+2,3.231500E+2,3.241500E+2,3.251500E+2,3.261500E+2,3.271500E+2,3.281500E+2,3.291500E+2,3.301500E+2,3.311500E+2,3.321500E+2,3.331500E+2,3.341500E+2,3.351500E+2,3.361500E+2,3.371500E+2,3.381500E+2,3.391500E+2,3.401500E+2,3.411500E+2,3.421500E+2,3.431500E+2,3.441500E+2,3.451500E+2,3.461500E+2,3.471500E+2,3.481500E+2,3.491500E+2,3.501500E+2,3.511500E+2,3.521500E+2,3.531500E+2,3.541500E+2,3.551500E+2,3.561500E+2,3.571500E+2,3.581500E+2,3.591500E+2,3.601500E+2,3.611500E+2,3.621500E+2,3.631500E+2,3.641500E+2,3.651500E+2,3.661500E+2,3.671500E+2,3.681500E+2,3.691500E+2,3.701500E+2,3.711500E+2,3.721500E+2,3.731500E+2,3.741500E+2,3.751500E+2,3.761500E+2,3.771500E+2,3.781500E+2,3.791500E+2,3.801500E+2,3.811500E+2,3.821500E+2,3.831500E+2,3.841500E+2,3.851500E+2,3.861500E+2,3.871500E+2,3.881500E+2,3.891500E+2,3.901500E+2,3.911500E+2,3.921500E+2,3.931500E+2,3.941500E+2,3.951500E+2,3.961500E+2,3.971500E+2,3.981500E+2,3.991500E+2,4.001500E+2,4.011500E+2,4.021500E+2,4.031500E+2,4.041500E+2,4.051500E+2,4.061500E+2,4.071500E+2,4.081500E+2,4.091500E+2,4.101500E+2,4.111500E+2,4.121500E+2,4.131500E+2,4.141500E+2,4.151500E+2,4.161500E+2,4.171500E+2,4.181500E+2,4.191500E+2,4.201500E+2,4.211500E+2,4.221500E+2,4.231500E+2,4.241500E+2,4.251500E+2,4.261500E+2,4.271500E+2,4.281500E+2,4.291500E+2,4.301500E+2,4.311500E+2,4.321500E+2,4.331500E+2,4.341500E+2,4.351500E+2,4.361500E+2,4.371500E+2,4.381500E+2,4.391500E+2,4.401500E+2,4.411500E+2,4.421500E+2,4.431500E+2,4.441500E+2,4.451500E+2,4.461500E+2,4.471500E+2,4.481500E+2,4.491500E+2,4.501500E+2,4.511500E+2,4.521500E+2,4.531500E+2,4.541500E+2,4.551500E+2,4.561500E+2,4.571500E+2,4.581500E+2,4.591500E+2,4.601500E+2,4.611500E+2,4.621500E+2,4.631500E+2,4.641500E+2,4.651500E+2,4.661500E+2,4.671500E+2,4.681500E+2,4.691500E+2,4.701500E+2,4.711500E+2,4.721500E+2,4.731500E+2,4.741500E+2,4.751500E+2,4.761500E+2,4.771500E+2,4.781500E+2,4.791500E+2,4.801500E+2,4.811500E+2,4.821500E+2,4.831500E+2,4.841500E+2,4.851500E+2,4.861500E+2,4.871500E+2,4.881500E+2,4.891500E+2,4.901500E+2,4.911500E+2,4.921500E+2,4.931500E+2,4.941500E+2,4.951500E+2,4.961500E+2,4.971500E+2,4.981500E+2,4.991500E+2,5.001500E+2,5.011500E+2,5.021500E+2,5.031500E+2,5.041500E+2,5.051500E+2,5.061500E+2,5.071500E+2,5.081500E+2,5.091500E+2,5.101500E+2,5.111500E+2,5.121500E+2,5.131500E+2,5.141500E+2,5.151500E+2,5.161500E+2,5.171500E+2,5.181500E+2,5.191500E+2,5.201500E+2,5.211500E+2,5.221500E+2,5.231500E+2,5.241500E+2,5.251500E+2,5.261500E+2,5.271500E+2,5.281500E+2,5.291500E+2,5.301500E+2,5.311500E+2,5.321500E+2,5.331500E+2,5.341500E+2,5.351500E+2,5.361500E+2,5.371500E+2,5.381500E+2,5.391500E+2,5.401500E+2,5.411500E+2,5.421500E+2,5.431500E+2,5.441500E+2,5.451500E+2,5.461500E+2,5.471500E+2,5.481500E+2,5.491500E+2,5.501500E+2,5.511500E+2,5.521500E+2,5.531500E+2,5.541500E+2,5.551500E+2,5.561500E+2,5.571500E+2,5.581500E+2,5.591500E+2,5.601500E+2,5.611500E+2,5.621500E+2,5.631500E+2,5.641500E+2,5.651500E+2,5.661500E+2,5.671500E+2,5.681500E+2,5.691500E+2,5.701500E+2,5.711500E+2,5.721500E+2,5.731500E+2,5.741500E+2,5.751500E+2,5.761500E+2,5.771500E+2,5.781500E+2,5.791500E+2,5.801500E+2,5.811500E+2,5.821500E+2,5.831500E+2,5.841500E+2,5.851500E+2,5.861500E+2,5.871500E+2,5.881500E+2,5.891500E+2,5.901500E+2,5.911500E+2,5.921500E+2,5.931500E+2,5.941500E+2,5.951500E+2,5.961500E+2,5.971500E+2,5.981500E+2,5.991500E+2,6.001500E+2,6.011500E+2,6.021500E+2,6.031500E+2,6.041500E+2,6.051500E+2,6.061500E+2,6.071500E+2,6.081500E+2,6.091500E+2,6.101500E+2,6.111500E+2,6.121500E+2,6.131500E+2,6.141500E+2,6.151500E+2,6.161500E+2,6.171500E+2,6.181500E+2,6.191500E+2,6.201500E+2,6.211500E+2,6.221500E+2,6.231500E+2,6.241500E+2,6.251500E+2,6.261500E+2,6.271500E+2,6.281500E+2,6.291500E+2,6.301500E+2,6.311500E+2,6.321500E+2,6.331500E+2,6.341500E+2,6.351500E+2,6.361500E+2,6.371500E+2,6.381500E+2,6.391500E+2,6.401500E+2,6.411500E+2,6.421500E+2,6.431500E+2]) + self.density.data = np.array([9.870000E+2,9.860000E+2,9.850000E+2,9.850000E+2,9.840000E+2,9.830000E+2,9.820000E+2,9.810000E+2,9.810000E+2,9.800000E+2,9.790000E+2,9.780000E+2,9.780000E+2,9.770000E+2,9.760000E+2,9.750000E+2,9.750000E+2,9.740000E+2,9.730000E+2,9.720000E+2,9.710000E+2,9.710000E+2,9.700000E+2,9.690000E+2,9.680000E+2,9.680000E+2,9.670000E+2,9.660000E+2,9.650000E+2,9.650000E+2,9.640000E+2,9.630000E+2,9.620000E+2,9.610000E+2,9.610000E+2,9.600000E+2,9.590000E+2,9.580000E+2,9.580000E+2,9.570000E+2,9.560000E+2,9.550000E+2,9.550000E+2,9.540000E+2,9.530000E+2,9.520000E+2,9.510000E+2,9.510000E+2,9.500000E+2,9.490000E+2,9.480000E+2,9.480000E+2,9.470000E+2,9.460000E+2,9.450000E+2,9.450000E+2,9.440000E+2,9.430000E+2,9.420000E+2,9.410000E+2,9.410000E+2,9.400000E+2,9.390000E+2,9.380000E+2,9.380000E+2,9.370000E+2,9.360000E+2,9.350000E+2,9.350000E+2,9.340000E+2,9.330000E+2,9.320000E+2,9.310000E+2,9.310000E+2,9.300000E+2,9.290000E+2,9.280000E+2,9.280000E+2,9.270000E+2,9.260000E+2,9.250000E+2,9.250000E+2,9.240000E+2,9.230000E+2,9.220000E+2,9.210000E+2,9.210000E+2,9.200000E+2,9.190000E+2,9.180000E+2,9.180000E+2,9.170000E+2,9.160000E+2,9.150000E+2,9.150000E+2,9.140000E+2,9.130000E+2,9.120000E+2,9.110000E+2,9.110000E+2,9.100000E+2,9.090000E+2,9.080000E+2,9.080000E+2,9.070000E+2,9.060000E+2,9.050000E+2,9.050000E+2,9.040000E+2,9.030000E+2,9.020000E+2,9.010000E+2,9.010000E+2,9.000000E+2,8.990000E+2,8.980000E+2,8.980000E+2,8.970000E+2,8.960000E+2,8.950000E+2,8.950000E+2,8.940000E+2,8.930000E+2,8.920000E+2,8.910000E+2,8.910000E+2,8.900000E+2,8.890000E+2,8.880000E+2,8.880000E+2,8.870000E+2,8.860000E+2,8.850000E+2,8.850000E+2,8.840000E+2,8.830000E+2,8.820000E+2,8.810000E+2,8.810000E+2,8.800000E+2,8.790000E+2,8.780000E+2,8.780000E+2,8.770000E+2,8.760000E+2,8.750000E+2,8.750000E+2,8.740000E+2,8.730000E+2,8.720000E+2,8.710000E+2,8.710000E+2,8.700000E+2,8.690000E+2,8.680000E+2,8.680000E+2,8.670000E+2,8.660000E+2,8.650000E+2,8.650000E+2,8.640000E+2,8.630000E+2,8.620000E+2,8.610000E+2,8.610000E+2,8.600000E+2,8.590000E+2,8.580000E+2,8.580000E+2,8.570000E+2,8.560000E+2,8.550000E+2,8.540000E+2,8.540000E+2,8.530000E+2,8.520000E+2,8.510000E+2,8.510000E+2,8.500000E+2,8.490000E+2,8.480000E+2,8.480000E+2,8.470000E+2,8.460000E+2,8.450000E+2,8.440000E+2,8.440000E+2,8.430000E+2,8.420000E+2,8.410000E+2,8.410000E+2,8.400000E+2,8.390000E+2,8.380000E+2,8.380000E+2,8.370000E+2,8.360000E+2,8.350000E+2,8.340000E+2,8.340000E+2,8.330000E+2,8.320000E+2,8.310000E+2,8.310000E+2,8.300000E+2,8.290000E+2,8.280000E+2,8.280000E+2,8.270000E+2,8.260000E+2,8.250000E+2,8.240000E+2,8.240000E+2,8.230000E+2,8.220000E+2,8.210000E+2,8.210000E+2,8.200000E+2,8.190000E+2,8.180000E+2,8.180000E+2,8.170000E+2,8.160000E+2,8.150000E+2,8.140000E+2,8.140000E+2,8.130000E+2,8.120000E+2,8.110000E+2,8.110000E+2,8.100000E+2,8.090000E+2,8.080000E+2,8.080000E+2,8.070000E+2,8.060000E+2,8.050000E+2,8.040000E+2,8.040000E+2,8.030000E+2,8.020000E+2,8.010000E+2,8.010000E+2,8.000000E+2,7.990000E+2,7.980000E+2,7.980000E+2,7.970000E+2,7.960000E+2,7.950000E+2,7.940000E+2,7.940000E+2,7.930000E+2,7.920000E+2,7.910000E+2,7.910000E+2,7.900000E+2,7.890000E+2,7.880000E+2,7.880000E+2,7.870000E+2,7.860000E+2,7.850000E+2,7.840000E+2,7.840000E+2,7.830000E+2,7.820000E+2,7.810000E+2,7.810000E+2,7.800000E+2,7.790000E+2,7.780000E+2,7.780000E+2,7.770000E+2,7.760000E+2,7.750000E+2,7.740000E+2,7.740000E+2,7.730000E+2,7.720000E+2,7.710000E+2,7.710000E+2,7.700000E+2,7.690000E+2,7.680000E+2,7.680000E+2,7.670000E+2,7.660000E+2,7.650000E+2,7.640000E+2,7.640000E+2,7.630000E+2,7.620000E+2,7.610000E+2,7.610000E+2,7.600000E+2,7.590000E+2,7.580000E+2,7.580000E+2,7.570000E+2,7.560000E+2,7.550000E+2,7.540000E+2,7.540000E+2,7.530000E+2,7.520000E+2,7.510000E+2,7.510000E+2,7.500000E+2,7.490000E+2,7.480000E+2,7.480000E+2,7.470000E+2,7.460000E+2,7.450000E+2,7.440000E+2,7.440000E+2,7.430000E+2,7.420000E+2,7.410000E+2,7.410000E+2,7.400000E+2,7.390000E+2,7.380000E+2,7.380000E+2,7.370000E+2,7.360000E+2,7.350000E+2,7.340000E+2,7.340000E+2,7.330000E+2,7.320000E+2,7.310000E+2,7.310000E+2,7.300000E+2,7.290000E+2,7.280000E+2,7.280000E+2,7.270000E+2,7.260000E+2,7.250000E+2,7.240000E+2,7.240000E+2,7.230000E+2,7.220000E+2,7.210000E+2,7.210000E+2,7.200000E+2,7.190000E+2,7.180000E+2,7.180000E+2,7.170000E+2,7.160000E+2,7.150000E+2,7.140000E+2,7.140000E+2,7.130000E+2,7.120000E+2,7.110000E+2,7.110000E+2,7.100000E+2,7.090000E+2,7.080000E+2,7.080000E+2,7.070000E+2,7.060000E+2,7.050000E+2,7.040000E+2,7.040000E+2,7.030000E+2,7.020000E+2,7.010000E+2,7.010000E+2,7.000000E+2,6.990000E+2,6.980000E+2,6.980000E+2,6.970000E+2,6.960000E+2,6.950000E+2,6.940000E+2,6.940000E+2,6.930000E+2,6.920000E+2,6.910000E+2,6.910000E+2]) + self.viscosity.data = np.array([4.180000E-4,3.800000E-4,3.440000E-4,3.120000E-4,2.810000E-4,2.530000E-4,2.280000E-4,2.040000E-4,1.830000E-4,1.640000E-4,1.470000E-4,1.320000E-4,1.180000E-4,1.060000E-4,9.600000E-5,8.600000E-5,7.900000E-5,7.500000E-5,7.100000E-5,6.800000E-5,6.500000E-5,6.200000E-5,5.900000E-5,5.600000E-5,5.300000E-5,5.000000E-5,4.700000E-5,4.500000E-5,4.200000E-5,4.000000E-5,3.800000E-5,3.500000E-5,3.300000E-5,3.100000E-5,2.900000E-5,2.800000E-5,2.600000E-5,2.400000E-5,2.300000E-5,2.100000E-5,2.000000E-5,2.000000E-5,1.900000E-5,1.800000E-5,1.700000E-5,1.600000E-5,1.600000E-5,1.500000E-5,1.400000E-5,1.400000E-5,1.300000E-5,1.200000E-5,1.200000E-5,1.100000E-5,1.100000E-5,1.000000E-5,9.900000E-6,9.500000E-6,9.200000E-6,8.800000E-6,8.500000E-6,8.300000E-6,8.000000E-6,7.800000E-6,7.600000E-6,7.300000E-6,7.100000E-6,6.800000E-6,6.600000E-6,6.400000E-6,6.200000E-6,6.000000E-6,5.800000E-6,5.700000E-6,5.500000E-6,5.300000E-6,5.200000E-6,5.000000E-6,4.900000E-6,4.800000E-6,4.600000E-6,4.500000E-6,4.400000E-6,4.300000E-6,4.200000E-6,4.100000E-6,4.000000E-6,3.900000E-6,3.800000E-6,3.700000E-6,3.600000E-6,3.500000E-6,3.500000E-6,3.400000E-6,3.300000E-6,3.200000E-6,3.200000E-6,3.100000E-6,3.000000E-6,3.000000E-6,2.900000E-6,2.800000E-6,2.800000E-6,2.700000E-6,2.700000E-6,2.600000E-6,2.600000E-6,2.500000E-6,2.500000E-6,2.500000E-6,2.400000E-6,2.400000E-6,2.300000E-6,2.300000E-6,2.200000E-6,2.200000E-6,2.200000E-6,2.100000E-6,2.100000E-6,2.000000E-6,2.000000E-6,2.000000E-6,2.000000E-6,1.900000E-6,1.900000E-6,1.900000E-6,1.800000E-6,1.800000E-6,1.800000E-6,1.800000E-6,1.700000E-6,1.700000E-6,1.700000E-6,1.600000E-6,1.600000E-6,1.600000E-6,1.600000E-6,1.600000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.000000E-6,1.000000E-6,1.000000E-6,1.000000E-6,1.000000E-6,9.900000E-7,9.800000E-7,9.700000E-7,9.600000E-7,9.500000E-7,9.400000E-7,9.300000E-7,9.200000E-7,9.100000E-7,9.000000E-7,8.900000E-7,8.800000E-7,8.800000E-7,8.700000E-7,8.600000E-7,8.500000E-7,8.400000E-7,8.300000E-7,8.200000E-7,8.200000E-7,8.100000E-7,8.000000E-7,7.900000E-7,7.900000E-7,7.800000E-7,7.700000E-7,7.600000E-7,7.600000E-7,7.500000E-7,7.400000E-7,7.400000E-7,7.300000E-7,7.200000E-7,7.200000E-7,7.100000E-7,7.000000E-7,7.000000E-7,6.900000E-7,6.800000E-7,6.800000E-7,6.700000E-7,6.700000E-7,6.600000E-7,6.600000E-7,6.500000E-7,6.400000E-7,6.400000E-7,6.300000E-7,6.300000E-7,6.200000E-7,6.200000E-7,6.100000E-7,6.100000E-7,6.000000E-7,6.000000E-7,5.900000E-7,5.900000E-7,5.800000E-7,5.800000E-7,5.700000E-7,5.700000E-7,5.600000E-7,5.600000E-7,5.600000E-7,5.500000E-7,5.500000E-7,5.400000E-7,5.400000E-7,5.300000E-7,5.300000E-7,5.300000E-7,5.200000E-7,5.200000E-7,5.100000E-7,5.100000E-7,5.100000E-7,5.000000E-7,5.000000E-7,5.000000E-7,4.900000E-7,4.900000E-7,4.900000E-7,4.800000E-7,4.800000E-7,4.700000E-7,4.700000E-7,4.700000E-7,4.600000E-7,4.600000E-7,4.600000E-7,4.600000E-7,4.500000E-7,4.500000E-7,4.500000E-7,4.400000E-7,4.400000E-7,4.400000E-7,4.300000E-7,4.300000E-7,4.300000E-7,4.200000E-7,4.200000E-7,4.200000E-7,4.200000E-7,4.100000E-7,4.100000E-7,4.100000E-7,4.100000E-7,4.000000E-7,4.000000E-7,4.000000E-7,4.000000E-7,3.900000E-7,3.900000E-7,3.900000E-7,3.900000E-7,3.800000E-7,3.800000E-7,3.800000E-7,3.800000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.600000E-7,3.600000E-7,3.600000E-7,3.600000E-7,3.600000E-7,3.500000E-7,3.500000E-7,3.500000E-7,3.500000E-7,3.400000E-7,3.400000E-7,3.400000E-7,3.400000E-7,3.400000E-7,3.300000E-7,3.300000E-7,3.300000E-7,3.300000E-7,3.300000E-7,3.300000E-7,3.200000E-7,3.200000E-7,3.200000E-7,3.200000E-7,3.200000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.000000E-7,3.000000E-7,3.000000E-7,3.000000E-7,3.000000E-7,3.000000E-7,2.900000E-7,2.900000E-7,2.900000E-7,2.900000E-7,2.900000E-7,2.900000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.500000E-7,2.500000E-7,2.500000E-7,2.500000E-7,2.500000E-7,2.500000E-7,2.500000E-7,2.500000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.300000E-7]) + self.specific_heat.data = np.array([1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3]) + self.conductivity.data = np.array([1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.070000E-1,1.070000E-1,1.070000E-1,1.070000E-1,1.070000E-1,1.070000E-1,1.070000E-1,1.070000E-1,1.070000E-1,1.070000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.000000E-2,9.000000E-2,9.000000E-2,9.000000E-2,9.000000E-2,9.000000E-2,9.000000E-2,8.900000E-2,8.900000E-2,8.900000E-2,8.900000E-2,8.900000E-2,8.900000E-2,8.800000E-2,8.800000E-2,8.800000E-2,8.800000E-2,8.800000E-2,8.800000E-2,8.700000E-2,8.700000E-2,8.700000E-2,8.700000E-2,8.700000E-2,8.700000E-2,8.700000E-2,8.600000E-2,8.600000E-2,8.600000E-2,8.600000E-2,8.600000E-2,8.600000E-2,8.500000E-2,8.500000E-2,8.500000E-2,8.500000E-2,8.500000E-2,8.500000E-2,8.400000E-2,8.400000E-2,8.400000E-2,8.400000E-2,8.400000E-2,8.400000E-2,8.300000E-2]) + self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,9.000000E+3,9.000000E+3,9.000000E+3,9.000000E+3,1.000000E+4,1.000000E+4,1.000000E+4,1.000000E+4,1.100000E+4,1.100000E+4,1.100000E+4,1.200000E+4,1.200000E+4,1.200000E+4,1.300000E+4,1.300000E+4,1.300000E+4,1.400000E+4,1.400000E+4,1.500000E+4,1.500000E+4,1.500000E+4,1.600000E+4,1.600000E+4,1.700000E+4,1.700000E+4,1.800000E+4,1.800000E+4,1.900000E+4,1.900000E+4,1.900000E+4,2.000000E+4,2.100000E+4,2.100000E+4,2.200000E+4,2.200000E+4,2.300000E+4,2.300000E+4,2.400000E+4,2.500000E+4,2.500000E+4,2.600000E+4,2.600000E+4,2.700000E+4,2.800000E+4,2.900000E+4,2.900000E+4,3.000000E+4,3.100000E+4,3.100000E+4,3.200000E+4,3.300000E+4,3.400000E+4,3.500000E+4,3.500000E+4,3.600000E+4,3.700000E+4,3.800000E+4,3.900000E+4,4.000000E+4,4.100000E+4,4.200000E+4,4.300000E+4,4.400000E+4,4.500000E+4,4.600000E+4,4.700000E+4,4.800000E+4,4.900000E+4,5.000000E+4,5.100000E+4,5.300000E+4,5.400000E+4,5.500000E+4,5.600000E+4,5.800000E+4,5.900000E+4,6.000000E+4,6.100000E+4,6.300000E+4,6.400000E+4,6.600000E+4,6.700000E+4,6.900000E+4,7.000000E+4,7.200000E+4,7.300000E+4,7.500000E+4,7.600000E+4,7.800000E+4,8.000000E+4,8.100000E+4,8.300000E+4,8.500000E+4,8.700000E+4,8.900000E+4,9.000000E+4,9.200000E+4,9.400000E+4,9.600000E+4,9.800000E+4,1.000000E+5,1.020000E+5,1.050000E+5,1.070000E+5,1.090000E+5,1.110000E+5,1.130000E+5,1.160000E+5,1.180000E+5,1.200000E+5,1.230000E+5,1.250000E+5,1.280000E+5,1.300000E+5,1.330000E+5,1.360000E+5,1.380000E+5,1.410000E+5,1.440000E+5,1.470000E+5,1.500000E+5,1.520000E+5,1.550000E+5,1.580000E+5,1.610000E+5,1.650000E+5,1.680000E+5,1.710000E+5,1.740000E+5,1.780000E+5,1.810000E+5,1.840000E+5,1.880000E+5,1.920000E+5,1.950000E+5]) + self.Tmin = np.min(self.temperature.data) + self.Tmax = np.max(self.temperature.data) + self.TminPsat = np.min(self.temperature.data[~np.isnan(self.saturation_pressure.data)]) + self.name = "PHR" + self.description = "Paratherm "+ self.name[1:] + self.reference = "Paratherm2013" + self.reshapeAll() + + + + +class PLR(PureData): + """ + The Paratherm LR low-range heat transfer fluid is rated for service from + -40 F to 400 F (-40 C to 204 C). Non-aromatic, this non-toxic liquid is safe + to use and is easy to dispose. Tough and durable, the Paratherm LR fluid is + designed for a broad variety of cooling and heating applications. It is + engineered to provide extended performance under rugged operating + conditions, yet is easy and safe to handle. + """ + def __init__(self): + PureData.__init__(self) + self.density.source = self.density.SOURCE_DATA + self.viscosity.source = self.viscosity.SOURCE_DATA + self.specific_heat.source = self.specific_heat.SOURCE_DATA + self.conductivity.source = self.conductivity.SOURCE_DATA + self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA + self.temperature.data = np.array([1.881500E+2,1.891500E+2,1.901500E+2,1.911500E+2,1.921500E+2,1.931500E+2,1.941500E+2,1.951500E+2,1.961500E+2,1.971500E+2,1.981500E+2,1.991500E+2,2.001500E+2,2.011500E+2,2.021500E+2,2.031500E+2,2.041500E+2,2.051500E+2,2.061500E+2,2.071500E+2,2.081500E+2,2.091500E+2,2.101500E+2,2.111500E+2,2.121500E+2,2.131500E+2,2.141500E+2,2.151500E+2,2.161500E+2,2.171500E+2,2.181500E+2,2.191500E+2,2.201500E+2,2.211500E+2,2.221500E+2,2.231500E+2,2.241500E+2,2.251500E+2,2.261500E+2,2.271500E+2,2.281500E+2,2.291500E+2,2.301500E+2,2.311500E+2,2.321500E+2,2.331500E+2,2.341500E+2,2.351500E+2,2.361500E+2,2.371500E+2,2.381500E+2,2.391500E+2,2.401500E+2,2.411500E+2,2.421500E+2,2.431500E+2,2.441500E+2,2.451500E+2,2.461500E+2,2.471500E+2,2.481500E+2,2.491500E+2,2.501500E+2,2.511500E+2,2.521500E+2,2.531500E+2,2.541500E+2,2.551500E+2,2.561500E+2,2.571500E+2,2.581500E+2,2.591500E+2,2.601500E+2,2.611500E+2,2.621500E+2,2.631500E+2,2.641500E+2,2.651500E+2,2.661500E+2,2.671500E+2,2.681500E+2,2.691500E+2,2.701500E+2,2.711500E+2,2.721500E+2,2.731500E+2,2.741500E+2,2.751500E+2,2.761500E+2,2.771500E+2,2.781500E+2,2.791500E+2,2.801500E+2,2.811500E+2,2.821500E+2,2.831500E+2,2.841500E+2,2.851500E+2,2.861500E+2,2.871500E+2,2.881500E+2,2.891500E+2,2.901500E+2,2.911500E+2,2.921500E+2,2.931500E+2,2.941500E+2,2.951500E+2,2.961500E+2,2.971500E+2,2.981500E+2,2.991500E+2,3.001500E+2,3.011500E+2,3.021500E+2,3.031500E+2,3.041500E+2,3.051500E+2,3.061500E+2,3.071500E+2,3.081500E+2,3.091500E+2,3.101500E+2,3.111500E+2,3.121500E+2,3.131500E+2,3.141500E+2,3.151500E+2,3.161500E+2,3.171500E+2,3.181500E+2,3.191500E+2,3.201500E+2,3.211500E+2,3.221500E+2,3.231500E+2,3.241500E+2,3.251500E+2,3.261500E+2,3.271500E+2,3.281500E+2,3.291500E+2,3.301500E+2,3.311500E+2,3.321500E+2,3.331500E+2,3.341500E+2,3.351500E+2,3.361500E+2,3.371500E+2,3.381500E+2,3.391500E+2,3.401500E+2,3.411500E+2,3.421500E+2,3.431500E+2,3.441500E+2,3.451500E+2,3.461500E+2,3.471500E+2,3.481500E+2,3.491500E+2,3.501500E+2,3.511500E+2,3.521500E+2,3.531500E+2,3.541500E+2,3.551500E+2,3.561500E+2,3.571500E+2,3.581500E+2,3.591500E+2,3.601500E+2,3.611500E+2,3.621500E+2,3.631500E+2,3.641500E+2,3.651500E+2,3.661500E+2,3.671500E+2,3.681500E+2,3.691500E+2,3.701500E+2,3.711500E+2,3.721500E+2,3.731500E+2,3.741500E+2,3.751500E+2,3.761500E+2,3.771500E+2,3.781500E+2,3.791500E+2,3.801500E+2,3.811500E+2,3.821500E+2,3.831500E+2,3.841500E+2,3.851500E+2,3.861500E+2,3.871500E+2,3.881500E+2,3.891500E+2,3.901500E+2,3.911500E+2,3.921500E+2,3.931500E+2,3.941500E+2,3.951500E+2,3.961500E+2,3.971500E+2,3.981500E+2,3.991500E+2,4.001500E+2,4.011500E+2,4.021500E+2,4.031500E+2,4.041500E+2,4.051500E+2,4.061500E+2,4.071500E+2,4.081500E+2,4.091500E+2,4.101500E+2,4.111500E+2,4.121500E+2,4.131500E+2,4.141500E+2,4.151500E+2,4.161500E+2,4.171500E+2,4.181500E+2,4.191500E+2,4.201500E+2,4.211500E+2,4.221500E+2,4.231500E+2,4.241500E+2,4.251500E+2,4.261500E+2,4.271500E+2,4.281500E+2,4.291500E+2,4.301500E+2,4.311500E+2,4.321500E+2,4.331500E+2,4.341500E+2,4.351500E+2,4.361500E+2,4.371500E+2,4.381500E+2,4.391500E+2,4.401500E+2,4.411500E+2,4.421500E+2,4.431500E+2,4.441500E+2,4.451500E+2,4.461500E+2,4.471500E+2,4.481500E+2,4.491500E+2,4.501500E+2,4.511500E+2,4.521500E+2,4.531500E+2,4.541500E+2,4.551500E+2,4.561500E+2,4.571500E+2,4.581500E+2,4.591500E+2,4.601500E+2,4.611500E+2,4.621500E+2,4.631500E+2,4.641500E+2,4.651500E+2,4.661500E+2,4.671500E+2,4.681500E+2,4.691500E+2,4.701500E+2,4.711500E+2,4.721500E+2,4.731500E+2,4.741500E+2,4.751500E+2,4.761500E+2,4.771500E+2,4.781500E+2,4.791500E+2,4.801500E+2,4.811500E+2,4.821500E+2,4.831500E+2,4.841500E+2,4.851500E+2,4.861500E+2,4.871500E+2,4.881500E+2,4.891500E+2,4.901500E+2,4.911500E+2,4.921500E+2,4.931500E+2,4.941500E+2,4.951500E+2,4.961500E+2,4.971500E+2,4.981500E+2,4.991500E+2,5.001500E+2,5.011500E+2,5.021500E+2,5.031500E+2]) + self.density.data = np.array([8.390000E+2,8.380000E+2,8.380000E+2,8.370000E+2,8.360000E+2,8.350000E+2,8.350000E+2,8.340000E+2,8.330000E+2,8.330000E+2,8.320000E+2,8.310000E+2,8.300000E+2,8.300000E+2,8.290000E+2,8.280000E+2,8.270000E+2,8.270000E+2,8.260000E+2,8.250000E+2,8.240000E+2,8.240000E+2,8.230000E+2,8.220000E+2,8.210000E+2,8.210000E+2,8.200000E+2,8.190000E+2,8.190000E+2,8.180000E+2,8.170000E+2,8.160000E+2,8.160000E+2,8.150000E+2,8.140000E+2,8.130000E+2,8.130000E+2,8.120000E+2,8.110000E+2,8.100000E+2,8.100000E+2,8.090000E+2,8.080000E+2,8.070000E+2,8.070000E+2,8.060000E+2,8.050000E+2,8.050000E+2,8.040000E+2,8.030000E+2,8.020000E+2,8.020000E+2,8.010000E+2,8.000000E+2,7.990000E+2,7.990000E+2,7.980000E+2,7.970000E+2,7.960000E+2,7.960000E+2,7.950000E+2,7.940000E+2,7.930000E+2,7.930000E+2,7.920000E+2,7.910000E+2,7.910000E+2,7.900000E+2,7.890000E+2,7.880000E+2,7.880000E+2,7.870000E+2,7.860000E+2,7.850000E+2,7.850000E+2,7.840000E+2,7.830000E+2,7.820000E+2,7.820000E+2,7.810000E+2,7.800000E+2,7.800000E+2,7.790000E+2,7.780000E+2,7.770000E+2,7.770000E+2,7.760000E+2,7.750000E+2,7.740000E+2,7.740000E+2,7.730000E+2,7.720000E+2,7.710000E+2,7.710000E+2,7.700000E+2,7.690000E+2,7.680000E+2,7.680000E+2,7.670000E+2,7.660000E+2,7.660000E+2,7.650000E+2,7.640000E+2,7.630000E+2,7.630000E+2,7.620000E+2,7.610000E+2,7.600000E+2,7.600000E+2,7.590000E+2,7.580000E+2,7.570000E+2,7.570000E+2,7.560000E+2,7.550000E+2,7.540000E+2,7.540000E+2,7.530000E+2,7.520000E+2,7.520000E+2,7.510000E+2,7.500000E+2,7.490000E+2,7.490000E+2,7.480000E+2,7.470000E+2,7.460000E+2,7.460000E+2,7.450000E+2,7.440000E+2,7.430000E+2,7.430000E+2,7.420000E+2,7.410000E+2,7.410000E+2,7.400000E+2,7.390000E+2,7.380000E+2,7.380000E+2,7.370000E+2,7.360000E+2,7.350000E+2,7.350000E+2,7.340000E+2,7.330000E+2,7.320000E+2,7.320000E+2,7.310000E+2,7.300000E+2,7.290000E+2,7.290000E+2,7.280000E+2,7.270000E+2,7.270000E+2,7.260000E+2,7.250000E+2,7.240000E+2,7.240000E+2,7.230000E+2,7.220000E+2,7.210000E+2,7.210000E+2,7.200000E+2,7.190000E+2,7.180000E+2,7.180000E+2,7.170000E+2,7.160000E+2,7.150000E+2,7.150000E+2,7.140000E+2,7.130000E+2,7.130000E+2,7.120000E+2,7.110000E+2,7.100000E+2,7.100000E+2,7.090000E+2,7.080000E+2,7.070000E+2,7.070000E+2,7.060000E+2,7.050000E+2,7.040000E+2,7.040000E+2,7.030000E+2,7.020000E+2,7.010000E+2,7.010000E+2,7.000000E+2,6.990000E+2,6.990000E+2,6.980000E+2,6.970000E+2,6.960000E+2,6.960000E+2,6.950000E+2,6.940000E+2,6.930000E+2,6.930000E+2,6.920000E+2,6.910000E+2,6.900000E+2,6.900000E+2,6.890000E+2,6.880000E+2,6.880000E+2,6.870000E+2,6.860000E+2,6.850000E+2,6.850000E+2,6.840000E+2,6.830000E+2,6.820000E+2,6.820000E+2,6.810000E+2,6.800000E+2,6.790000E+2,6.790000E+2,6.780000E+2,6.770000E+2,6.760000E+2,6.760000E+2,6.750000E+2,6.740000E+2,6.740000E+2,6.730000E+2,6.720000E+2,6.710000E+2,6.710000E+2,6.700000E+2,6.690000E+2,6.680000E+2,6.680000E+2,6.670000E+2,6.660000E+2,6.650000E+2,6.650000E+2,6.640000E+2,6.630000E+2,6.620000E+2,6.620000E+2,6.610000E+2,6.600000E+2,6.600000E+2,6.590000E+2,6.580000E+2,6.570000E+2,6.570000E+2,6.560000E+2,6.550000E+2,6.540000E+2,6.540000E+2,6.530000E+2,6.520000E+2,6.510000E+2,6.510000E+2,6.500000E+2,6.490000E+2,6.490000E+2,6.480000E+2,6.470000E+2,6.460000E+2,6.460000E+2,6.450000E+2,6.440000E+2,6.430000E+2,6.430000E+2,6.420000E+2,6.410000E+2,6.400000E+2,6.400000E+2,6.390000E+2,6.380000E+2,6.370000E+2,6.370000E+2,6.360000E+2,6.350000E+2,6.350000E+2,6.340000E+2,6.330000E+2,6.320000E+2,6.320000E+2,6.310000E+2,6.300000E+2,6.290000E+2,6.290000E+2,6.280000E+2,6.270000E+2,6.260000E+2,6.260000E+2,6.250000E+2,6.240000E+2,6.230000E+2,6.230000E+2,6.220000E+2,6.210000E+2,6.210000E+2,6.200000E+2,6.190000E+2,6.180000E+2,6.180000E+2,6.170000E+2,6.160000E+2,6.150000E+2,6.150000E+2,6.140000E+2,6.130000E+2,6.120000E+2,6.120000E+2,6.110000E+2,6.100000E+2,6.090000E+2,6.090000E+2,6.080000E+2,6.070000E+2]) + self.viscosity.data = np.array([5.020000E-4,4.540000E-4,4.100000E-4,3.700000E-4,3.350000E-4,3.020000E-4,2.730000E-4,2.470000E-4,2.230000E-4,2.010000E-4,1.820000E-4,1.640000E-4,1.490000E-4,1.340000E-4,1.210000E-4,1.100000E-4,9.900000E-5,8.900000E-5,8.100000E-5,7.300000E-5,6.600000E-5,6.000000E-5,5.400000E-5,4.900000E-5,4.400000E-5,4.000000E-5,3.600000E-5,3.200000E-5,2.900000E-5,2.600000E-5,2.400000E-5,2.200000E-5,2.000000E-5,1.800000E-5,2.200000E-5,2.000000E-5,1.900000E-5,1.800000E-5,1.700000E-5,1.600000E-5,1.500000E-5,1.400000E-5,1.400000E-5,1.300000E-5,1.200000E-5,1.200000E-5,1.100000E-5,1.100000E-5,1.000000E-5,9.600000E-6,9.200000E-6,8.800000E-6,8.400000E-6,8.000000E-6,7.700000E-6,7.400000E-6,7.100000E-6,6.800000E-6,6.500000E-6,6.300000E-6,6.000000E-6,5.800000E-6,5.600000E-6,5.400000E-6,5.200000E-6,5.000000E-6,4.800000E-6,4.700000E-6,4.500000E-6,4.400000E-6,4.200000E-6,4.100000E-6,4.000000E-6,3.800000E-6,3.700000E-6,3.600000E-6,3.500000E-6,3.400000E-6,3.300000E-6,3.200000E-6,3.100000E-6,3.000000E-6,2.900000E-6,2.800000E-6,2.800000E-6,2.700000E-6,2.600000E-6,2.500000E-6,2.500000E-6,2.400000E-6,2.300000E-6,2.300000E-6,2.200000E-6,2.200000E-6,2.100000E-6,2.100000E-6,2.000000E-6,2.000000E-6,1.900000E-6,1.900000E-6,1.800000E-6,1.800000E-6,1.700000E-6,1.700000E-6,1.700000E-6,1.600000E-6,1.600000E-6,1.600000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.000000E-6,1.000000E-6,1.000000E-6,1.000000E-6,9.800000E-7,9.700000E-7,9.600000E-7,9.400000E-7,9.300000E-7,9.200000E-7,9.000000E-7,8.900000E-7,8.800000E-7,8.600000E-7,8.500000E-7,8.400000E-7,8.300000E-7,8.200000E-7,8.100000E-7,7.900000E-7,7.800000E-7,7.700000E-7,7.600000E-7,7.500000E-7,7.400000E-7,7.300000E-7,7.200000E-7,7.100000E-7,7.000000E-7,6.900000E-7,6.800000E-7,6.700000E-7,6.600000E-7,6.500000E-7,6.400000E-7,6.400000E-7,6.300000E-7,6.200000E-7,6.100000E-7,6.000000E-7,5.900000E-7,5.800000E-7,5.800000E-7,5.700000E-7,5.600000E-7,5.500000E-7,5.400000E-7,5.400000E-7,5.300000E-7,5.200000E-7,5.100000E-7,5.100000E-7,5.000000E-7,4.900000E-7,5.400000E-7,5.300000E-7,5.200000E-7,5.200000E-7,5.100000E-7,5.000000E-7,5.000000E-7,4.900000E-7,4.900000E-7,4.800000E-7,4.800000E-7,4.700000E-7,4.600000E-7,4.600000E-7,4.500000E-7,4.500000E-7,4.400000E-7,4.400000E-7,4.300000E-7,4.300000E-7,4.300000E-7,4.200000E-7,4.200000E-7,4.100000E-7,4.100000E-7,4.000000E-7,4.000000E-7,4.000000E-7,3.900000E-7,3.900000E-7,3.800000E-7,3.800000E-7,3.800000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.600000E-7,3.600000E-7,3.600000E-7,3.500000E-7,3.500000E-7,3.500000E-7,3.400000E-7,3.400000E-7,3.400000E-7,3.300000E-7,3.300000E-7,3.300000E-7,3.300000E-7,3.200000E-7,3.200000E-7,3.200000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.000000E-7,3.000000E-7,3.000000E-7,3.000000E-7,2.900000E-7,2.900000E-7,2.900000E-7,2.900000E-7,2.900000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.500000E-7,2.500000E-7,2.500000E-7,2.500000E-7,2.500000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.200000E-7,2.200000E-7,2.200000E-7,2.200000E-7,2.200000E-7,2.200000E-7,2.200000E-7,2.100000E-7,2.100000E-7,2.100000E-7,2.100000E-7,2.100000E-7,2.100000E-7,2.100000E-7,2.100000E-7,2.000000E-7,2.000000E-7,2.000000E-7,2.000000E-7,2.000000E-7,2.000000E-7,2.000000E-7,2.000000E-7,1.900000E-7,1.900000E-7,1.900000E-7,1.900000E-7,1.900000E-7,1.900000E-7,1.900000E-7,1.900000E-7,1.900000E-7,1.900000E-7,1.800000E-7]) + self.specific_heat.data = np.array([1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.600000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3]) + self.conductivity.data = np.array([1.600000E-1,1.600000E-1,1.600000E-1,1.600000E-1,1.600000E-1,1.600000E-1,1.590000E-1,1.590000E-1,1.590000E-1,1.590000E-1,1.590000E-1,1.590000E-1,1.590000E-1,1.590000E-1,1.590000E-1,1.590000E-1,1.590000E-1,1.590000E-1,1.580000E-1,1.580000E-1,1.580000E-1,1.580000E-1,1.580000E-1,1.580000E-1,1.580000E-1,1.580000E-1,1.580000E-1,1.580000E-1,1.580000E-1,1.580000E-1,1.580000E-1,1.570000E-1,1.570000E-1,1.570000E-1,1.570000E-1,1.570000E-1,1.570000E-1,1.570000E-1,1.570000E-1,1.570000E-1,1.570000E-1,1.570000E-1,1.570000E-1,1.560000E-1,1.560000E-1,1.560000E-1,1.560000E-1,1.560000E-1,1.560000E-1,1.560000E-1,1.560000E-1,1.560000E-1,1.560000E-1,1.560000E-1,1.560000E-1,1.560000E-1,1.550000E-1,1.550000E-1,1.550000E-1,1.550000E-1,1.550000E-1,1.550000E-1,1.550000E-1,1.550000E-1,1.550000E-1,1.550000E-1,1.550000E-1,1.550000E-1,1.540000E-1,1.540000E-1,1.540000E-1,1.540000E-1,1.540000E-1,1.540000E-1,1.540000E-1,1.540000E-1,1.540000E-1,1.540000E-1,1.540000E-1,1.540000E-1,1.540000E-1,1.530000E-1,1.530000E-1,1.530000E-1,1.530000E-1,1.530000E-1,1.530000E-1,1.530000E-1,1.530000E-1,1.530000E-1,1.530000E-1,1.530000E-1,1.530000E-1,1.520000E-1,1.520000E-1,1.520000E-1,1.520000E-1,1.520000E-1,1.520000E-1,1.520000E-1,1.520000E-1,1.520000E-1,1.520000E-1,1.520000E-1,1.520000E-1,1.520000E-1,1.510000E-1,1.510000E-1,1.510000E-1,1.510000E-1,1.510000E-1,1.510000E-1,1.510000E-1,1.510000E-1,1.510000E-1,1.510000E-1,1.510000E-1,1.510000E-1,1.500000E-1,1.500000E-1,1.500000E-1,1.500000E-1,1.500000E-1,1.500000E-1,1.500000E-1,1.500000E-1,1.500000E-1,1.500000E-1,1.500000E-1,1.500000E-1,1.500000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.490000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.480000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.470000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.460000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.450000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.440000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.430000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.420000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.410000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.400000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.390000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.380000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.370000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.360000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1,1.350000E-1]) + self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,9.000000E+3,9.000000E+3,9.000000E+3,1.000000E+4,1.000000E+4,1.100000E+4,1.100000E+4,1.200000E+4,1.200000E+4,1.300000E+4,1.300000E+4,1.400000E+4,1.400000E+4,1.500000E+4,1.600000E+4,1.600000E+4,1.700000E+4,1.800000E+4,1.800000E+4,1.900000E+4,2.000000E+4,2.100000E+4,2.100000E+4,2.200000E+4,2.300000E+4,2.400000E+4,2.500000E+4,2.600000E+4,2.700000E+4,2.800000E+4,2.900000E+4,3.000000E+4,3.100000E+4,3.200000E+4,3.300000E+4,3.400000E+4,3.500000E+4,3.700000E+4,3.800000E+4,3.900000E+4,4.000000E+4,4.200000E+4,4.300000E+4,4.400000E+4,4.500000E+4,4.700000E+4,4.800000E+4,5.000000E+4,5.100000E+4,5.300000E+4,5.500000E+4,5.700000E+4,6.000000E+4,6.200000E+4,6.400000E+4,6.600000E+4,6.800000E+4,7.000000E+4,7.200000E+4,7.400000E+4,7.600000E+4,7.800000E+4,8.000000E+4,8.200000E+4,8.400000E+4,8.600000E+4,8.800000E+4,8.900000E+4,9.100000E+4,9.300000E+4,9.500000E+4,9.700000E+4,9.800000E+4,1.000000E+5,1.020000E+5,1.030000E+5,1.050000E+5,1.070000E+5,1.080000E+5,1.100000E+5,1.110000E+5,1.130000E+5,1.150000E+5,1.160000E+5,1.180000E+5,1.190000E+5,1.210000E+5,1.220000E+5,1.230000E+5,1.250000E+5,1.260000E+5,1.270000E+5,1.290000E+5,1.300000E+5,1.310000E+5,1.330000E+5,1.340000E+5,1.350000E+5,1.360000E+5,1.380000E+5,1.390000E+5,1.400000E+5]) + self.Tmin = np.min(self.temperature.data) + self.Tmax = np.max(self.temperature.data) + self.TminPsat = np.min(self.temperature.data[~np.isnan(self.saturation_pressure.data)]) + self.name = "PLR" + self.description = "Paratherm "+ self.name[1:] + self.reference = "Paratherm2013" + self.reshapeAll() + + + + +class PMR(PureData): + """ + Paratherm MR is a food grade (NSF Certified) single fluid heating and + cooling from 36 F to 550 F. Eliminates design and maintenance problems + caused by steam/chilled water temperature control systems. Quick low- + temperature start-ups. + """ + def __init__(self): + PureData.__init__(self) + self.density.source = self.density.SOURCE_DATA + self.viscosity.source = self.viscosity.SOURCE_DATA + self.specific_heat.source = self.specific_heat.SOURCE_DATA + self.conductivity.source = self.conductivity.SOURCE_DATA + self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA + self.temperature.data = np.array([2.331500E+2,2.341500E+2,2.351500E+2,2.361500E+2,2.371500E+2,2.381500E+2,2.391500E+2,2.401500E+2,2.411500E+2,2.421500E+2,2.431500E+2,2.441500E+2,2.451500E+2,2.461500E+2,2.471500E+2,2.481500E+2,2.491500E+2,2.501500E+2,2.511500E+2,2.521500E+2,2.531500E+2,2.541500E+2,2.551500E+2,2.561500E+2,2.571500E+2,2.581500E+2,2.591500E+2,2.601500E+2,2.611500E+2,2.621500E+2,2.631500E+2,2.641500E+2,2.651500E+2,2.661500E+2,2.671500E+2,2.681500E+2,2.691500E+2,2.701500E+2,2.711500E+2,2.721500E+2,2.731500E+2,2.741500E+2,2.751500E+2,2.761500E+2,2.771500E+2,2.781500E+2,2.791500E+2,2.801500E+2,2.811500E+2,2.821500E+2,2.831500E+2,2.841500E+2,2.851500E+2,2.861500E+2,2.871500E+2,2.881500E+2,2.891500E+2,2.901500E+2,2.911500E+2,2.921500E+2,2.931500E+2,2.941500E+2,2.951500E+2,2.961500E+2,2.971500E+2,2.981500E+2,2.991500E+2,3.001500E+2,3.011500E+2,3.021500E+2,3.031500E+2,3.041500E+2,3.051500E+2,3.061500E+2,3.071500E+2,3.081500E+2,3.091500E+2,3.101500E+2,3.111500E+2,3.121500E+2,3.131500E+2,3.141500E+2,3.151500E+2,3.161500E+2,3.171500E+2,3.181500E+2,3.191500E+2,3.201500E+2,3.211500E+2,3.221500E+2,3.231500E+2,3.241500E+2,3.251500E+2,3.261500E+2,3.271500E+2,3.281500E+2,3.291500E+2,3.301500E+2,3.311500E+2,3.321500E+2,3.331500E+2,3.341500E+2,3.351500E+2,3.361500E+2,3.371500E+2,3.381500E+2,3.391500E+2,3.401500E+2,3.411500E+2,3.421500E+2,3.431500E+2,3.441500E+2,3.451500E+2,3.461500E+2,3.471500E+2,3.481500E+2,3.491500E+2,3.501500E+2,3.511500E+2,3.521500E+2,3.531500E+2,3.541500E+2,3.551500E+2,3.561500E+2,3.571500E+2,3.581500E+2,3.591500E+2,3.601500E+2,3.611500E+2,3.621500E+2,3.631500E+2,3.641500E+2,3.651500E+2,3.661500E+2,3.671500E+2,3.681500E+2,3.691500E+2,3.701500E+2,3.711500E+2,3.721500E+2,3.731500E+2,3.741500E+2,3.751500E+2,3.761500E+2,3.771500E+2,3.781500E+2,3.791500E+2,3.801500E+2,3.811500E+2,3.821500E+2,3.831500E+2,3.841500E+2,3.851500E+2,3.861500E+2,3.871500E+2,3.881500E+2,3.891500E+2,3.901500E+2,3.911500E+2,3.921500E+2,3.931500E+2,3.941500E+2,3.951500E+2,3.961500E+2,3.971500E+2,3.981500E+2,3.991500E+2,4.001500E+2,4.011500E+2,4.021500E+2,4.031500E+2,4.041500E+2,4.051500E+2,4.061500E+2,4.071500E+2,4.081500E+2,4.091500E+2,4.101500E+2,4.111500E+2,4.121500E+2,4.131500E+2,4.141500E+2,4.151500E+2,4.161500E+2,4.171500E+2,4.181500E+2,4.191500E+2,4.201500E+2,4.211500E+2,4.221500E+2,4.231500E+2,4.241500E+2,4.251500E+2,4.261500E+2,4.271500E+2,4.281500E+2,4.291500E+2,4.301500E+2,4.311500E+2,4.321500E+2,4.331500E+2,4.341500E+2,4.351500E+2,4.361500E+2,4.371500E+2,4.381500E+2,4.391500E+2,4.401500E+2,4.411500E+2,4.421500E+2,4.431500E+2,4.441500E+2,4.451500E+2,4.461500E+2,4.471500E+2,4.481500E+2,4.491500E+2,4.501500E+2,4.511500E+2,4.521500E+2,4.531500E+2,4.541500E+2,4.551500E+2,4.561500E+2,4.571500E+2,4.581500E+2,4.591500E+2,4.601500E+2,4.611500E+2,4.621500E+2,4.631500E+2,4.641500E+2,4.651500E+2,4.661500E+2,4.671500E+2,4.681500E+2,4.691500E+2,4.701500E+2,4.711500E+2,4.721500E+2,4.731500E+2,4.741500E+2,4.751500E+2,4.761500E+2,4.771500E+2,4.781500E+2,4.791500E+2,4.801500E+2,4.811500E+2,4.821500E+2,4.831500E+2,4.841500E+2,4.851500E+2,4.861500E+2,4.871500E+2,4.881500E+2,4.891500E+2,4.901500E+2,4.911500E+2,4.921500E+2,4.931500E+2,4.941500E+2,4.951500E+2,4.961500E+2,4.971500E+2,4.981500E+2,4.991500E+2,5.001500E+2,5.011500E+2,5.021500E+2,5.031500E+2,5.041500E+2,5.051500E+2,5.061500E+2,5.071500E+2,5.081500E+2,5.091500E+2,5.101500E+2,5.111500E+2,5.121500E+2,5.131500E+2,5.141500E+2,5.151500E+2,5.161500E+2,5.171500E+2,5.181500E+2,5.191500E+2,5.201500E+2,5.211500E+2,5.221500E+2,5.231500E+2,5.241500E+2,5.251500E+2,5.261500E+2,5.271500E+2,5.281500E+2,5.291500E+2,5.301500E+2,5.311500E+2,5.321500E+2,5.331500E+2,5.341500E+2,5.351500E+2,5.361500E+2,5.371500E+2,5.381500E+2,5.391500E+2,5.401500E+2,5.411500E+2,5.421500E+2,5.431500E+2,5.441500E+2,5.451500E+2,5.461500E+2,5.471500E+2,5.481500E+2,5.491500E+2,5.501500E+2,5.511500E+2,5.521500E+2,5.531500E+2,5.541500E+2,5.551500E+2,5.561500E+2,5.571500E+2,5.581500E+2,5.591500E+2,5.601500E+2,5.611500E+2,5.621500E+2,5.631500E+2,5.641500E+2,5.651500E+2,5.661500E+2,5.671500E+2,5.681500E+2,5.691500E+2,5.701500E+2,5.711500E+2,5.721500E+2,5.731500E+2,5.741500E+2,5.751500E+2,5.761500E+2,5.771500E+2,5.781500E+2,5.791500E+2,5.801500E+2,5.811500E+2,5.821500E+2,5.831500E+2,5.841500E+2,5.851500E+2,5.861500E+2,5.871500E+2,5.881500E+2]) + self.density.data = np.array([8.680000E+2,8.670000E+2,8.650000E+2,8.640000E+2,8.630000E+2,8.620000E+2,8.600000E+2,8.590000E+2,8.580000E+2,8.570000E+2,8.550000E+2,8.540000E+2,8.530000E+2,8.520000E+2,8.510000E+2,8.490000E+2,8.480000E+2,8.470000E+2,8.460000E+2,8.450000E+2,8.430000E+2,8.420000E+2,8.410000E+2,8.400000E+2,8.390000E+2,8.380000E+2,8.360000E+2,8.350000E+2,8.340000E+2,8.330000E+2,8.320000E+2,8.310000E+2,8.300000E+2,8.280000E+2,8.270000E+2,8.260000E+2,8.250000E+2,8.240000E+2,8.230000E+2,8.220000E+2,8.210000E+2,8.200000E+2,8.180000E+2,8.170000E+2,8.160000E+2,8.150000E+2,8.140000E+2,8.130000E+2,8.120000E+2,8.110000E+2,8.100000E+2,8.090000E+2,8.080000E+2,8.070000E+2,8.060000E+2,8.050000E+2,8.040000E+2,8.020000E+2,8.010000E+2,8.000000E+2,7.990000E+2,7.980000E+2,7.970000E+2,7.960000E+2,7.950000E+2,7.940000E+2,7.930000E+2,7.920000E+2,7.910000E+2,7.900000E+2,7.890000E+2,7.880000E+2,7.870000E+2,7.860000E+2,7.860000E+2,7.850000E+2,7.840000E+2,7.830000E+2,7.820000E+2,7.810000E+2,7.800000E+2,7.790000E+2,7.780000E+2,7.770000E+2,7.760000E+2,7.750000E+2,7.740000E+2,7.730000E+2,7.720000E+2,7.720000E+2,7.710000E+2,7.700000E+2,7.690000E+2,7.680000E+2,7.670000E+2,7.660000E+2,7.650000E+2,7.640000E+2,7.640000E+2,7.630000E+2,7.620000E+2,7.610000E+2,7.600000E+2,7.590000E+2,7.580000E+2,7.580000E+2,7.570000E+2,7.560000E+2,7.550000E+2,7.540000E+2,7.530000E+2,7.530000E+2,7.520000E+2,7.510000E+2,7.500000E+2,7.490000E+2,7.490000E+2,7.480000E+2,7.470000E+2,7.460000E+2,7.450000E+2,7.450000E+2,7.440000E+2,7.430000E+2,7.420000E+2,7.420000E+2,7.410000E+2,7.400000E+2,7.390000E+2,7.390000E+2,7.380000E+2,7.370000E+2,7.360000E+2,7.360000E+2,7.350000E+2,7.340000E+2,7.330000E+2,7.330000E+2,7.320000E+2,7.310000E+2,7.310000E+2,7.300000E+2,7.290000E+2,7.290000E+2,7.280000E+2,7.270000E+2,7.260000E+2,7.260000E+2,7.250000E+2,7.240000E+2,7.240000E+2,7.230000E+2,7.220000E+2,7.220000E+2,7.210000E+2,7.210000E+2,7.200000E+2,7.190000E+2,7.190000E+2,7.180000E+2,7.170000E+2,7.170000E+2,7.160000E+2,7.160000E+2,7.150000E+2,7.140000E+2,7.140000E+2,7.130000E+2,7.130000E+2,7.120000E+2,7.110000E+2,7.110000E+2,7.100000E+2,7.100000E+2,7.090000E+2,7.090000E+2,7.080000E+2,7.070000E+2,7.070000E+2,7.060000E+2,7.060000E+2,7.050000E+2,7.050000E+2,7.040000E+2,7.040000E+2,7.030000E+2,7.030000E+2,7.020000E+2,7.020000E+2,7.010000E+2,7.010000E+2,7.000000E+2,7.000000E+2,6.990000E+2,6.990000E+2,6.980000E+2,6.980000E+2,6.970000E+2,6.970000E+2,6.960000E+2,6.960000E+2,6.950000E+2,6.950000E+2,6.940000E+2,6.940000E+2,6.940000E+2,6.930000E+2,6.930000E+2,6.920000E+2,6.920000E+2,6.910000E+2,6.910000E+2,6.910000E+2,6.900000E+2,6.900000E+2,6.890000E+2,6.890000E+2,6.890000E+2,6.880000E+2,6.880000E+2,6.870000E+2,6.870000E+2,6.870000E+2,6.860000E+2,6.860000E+2,6.860000E+2,6.850000E+2,6.850000E+2,6.840000E+2,6.840000E+2,6.840000E+2,6.830000E+2,6.830000E+2,6.830000E+2,6.820000E+2,6.820000E+2,6.820000E+2,6.820000E+2,6.810000E+2,6.810000E+2,6.810000E+2,6.800000E+2,6.800000E+2,6.800000E+2,6.790000E+2,6.790000E+2,6.790000E+2,6.790000E+2,6.780000E+2,6.780000E+2,6.780000E+2,6.780000E+2,6.770000E+2,6.770000E+2,6.770000E+2,6.770000E+2,6.760000E+2,6.760000E+2,6.760000E+2,6.760000E+2,6.750000E+2,6.750000E+2,6.750000E+2,6.750000E+2,6.750000E+2,6.740000E+2,6.740000E+2,6.740000E+2,6.740000E+2,6.740000E+2,6.730000E+2,6.730000E+2,6.730000E+2,6.730000E+2,6.730000E+2,6.730000E+2,6.720000E+2,6.720000E+2,6.720000E+2,6.720000E+2,6.720000E+2,6.720000E+2,6.720000E+2,6.710000E+2,6.710000E+2,6.710000E+2,6.710000E+2,6.710000E+2,6.710000E+2,6.710000E+2,6.710000E+2,6.700000E+2,6.700000E+2,6.700000E+2,6.700000E+2,6.700000E+2,6.700000E+2,6.700000E+2,6.700000E+2,6.700000E+2,6.700000E+2,6.700000E+2,6.700000E+2,6.700000E+2,6.700000E+2,6.700000E+2,6.700000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.690000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.680000E+2,6.670000E+2,6.670000E+2,6.670000E+2,6.670000E+2,6.670000E+2,6.670000E+2,6.670000E+2,6.670000E+2]) + self.viscosity.data = np.array([3.860000E-4,3.150000E-4,2.730000E-4,2.440000E-4,2.210000E-4,2.030000E-4,1.870000E-4,1.730000E-4,1.610000E-4,1.500000E-4,1.410000E-4,1.320000E-4,1.240000E-4,1.160000E-4,1.090000E-4,1.020000E-4,9.600000E-5,9.000000E-5,8.500000E-5,8.000000E-5,7.500000E-5,7.000000E-5,6.500000E-5,6.100000E-5,5.700000E-5,5.300000E-5,4.900000E-5,4.500000E-5,4.200000E-5,3.800000E-5,3.500000E-5,3.200000E-5,2.800000E-5,2.500000E-5,2.800000E-5,2.700000E-5,2.600000E-5,2.500000E-5,2.400000E-5,2.300000E-5,2.200000E-5,2.100000E-5,2.000000E-5,1.900000E-5,1.900000E-5,1.800000E-5,1.700000E-5,1.600000E-5,1.600000E-5,1.500000E-5,1.400000E-5,1.400000E-5,1.300000E-5,1.200000E-5,1.200000E-5,1.100000E-5,1.100000E-5,1.000000E-5,1.000000E-5,9.600000E-6,9.200000E-6,8.900000E-6,8.500000E-6,8.200000E-6,8.000000E-6,7.700000E-6,7.500000E-6,7.300000E-6,7.100000E-6,7.000000E-6,6.800000E-6,6.600000E-6,6.400000E-6,6.200000E-6,6.000000E-6,5.800000E-6,5.700000E-6,5.500000E-6,5.300000E-6,5.200000E-6,5.100000E-6,4.900000E-6,4.800000E-6,4.700000E-6,4.600000E-6,4.500000E-6,4.400000E-6,4.300000E-6,4.200000E-6,4.100000E-6,4.000000E-6,3.900000E-6,3.800000E-6,3.800000E-6,3.700000E-6,3.600000E-6,3.600000E-6,3.500000E-6,3.400000E-6,3.400000E-6,3.300000E-6,3.100000E-6,3.000000E-6,3.000000E-6,2.900000E-6,2.800000E-6,2.800000E-6,2.700000E-6,2.600000E-6,2.600000E-6,2.500000E-6,2.500000E-6,2.400000E-6,2.400000E-6,2.300000E-6,2.300000E-6,2.200000E-6,2.200000E-6,2.100000E-6,2.100000E-6,2.100000E-6,2.000000E-6,2.000000E-6,2.000000E-6,1.900000E-6,1.900000E-6,1.800000E-6,1.800000E-6,1.800000E-6,1.800000E-6,1.700000E-6,1.700000E-6,1.700000E-6,1.600000E-6,1.600000E-6,1.600000E-6,1.600000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.000000E-6,1.000000E-6,1.000000E-6,1.000000E-6,1.000000E-6,9.800000E-7,9.700000E-7,9.600000E-7,9.500000E-7,9.400000E-7,9.300000E-7,9.200000E-7,9.100000E-7,9.000000E-7,8.900000E-7,8.800000E-7,8.700000E-7,8.600000E-7,8.500000E-7,8.400000E-7,8.300000E-7,8.200000E-7,8.200000E-7,8.100000E-7,8.000000E-7,7.900000E-7,7.800000E-7,7.800000E-7,7.700000E-7,7.600000E-7,7.500000E-7,7.500000E-7,7.400000E-7,7.300000E-7,7.200000E-7,7.200000E-7,7.100000E-7,7.000000E-7,7.000000E-7,6.900000E-7,6.800000E-7,6.800000E-7,6.700000E-7,6.700000E-7,6.600000E-7,6.500000E-7,6.500000E-7,6.400000E-7,6.400000E-7,6.300000E-7,6.300000E-7,6.200000E-7,6.200000E-7,6.100000E-7,6.100000E-7,6.000000E-7,5.900000E-7,5.900000E-7,5.900000E-7,5.800000E-7,5.800000E-7,5.700000E-7,5.700000E-7,5.600000E-7,5.600000E-7,5.500000E-7,5.500000E-7,5.400000E-7,5.400000E-7,5.400000E-7,5.300000E-7,5.300000E-7,5.200000E-7,5.200000E-7,5.200000E-7,5.100000E-7,5.100000E-7,5.000000E-7,5.000000E-7,5.000000E-7,4.900000E-7,4.900000E-7,4.900000E-7,4.800000E-7,4.800000E-7,4.700000E-7,4.700000E-7,4.700000E-7,4.600000E-7,4.600000E-7,4.600000E-7,4.500000E-7,4.500000E-7,4.500000E-7,4.500000E-7,4.400000E-7,4.400000E-7,4.400000E-7,4.300000E-7,4.300000E-7,4.300000E-7,4.200000E-7,4.200000E-7,4.200000E-7,4.200000E-7,4.100000E-7,4.100000E-7,4.100000E-7,4.100000E-7,4.000000E-7,4.000000E-7,4.000000E-7,3.900000E-7,3.900000E-7,3.900000E-7,3.900000E-7,3.800000E-7,3.800000E-7,3.800000E-7,3.800000E-7,3.800000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.700000E-7,3.600000E-7,3.600000E-7,3.600000E-7,3.600000E-7,3.600000E-7,3.500000E-7,3.500000E-7,3.500000E-7,3.500000E-7,3.400000E-7,3.400000E-7,3.400000E-7,3.400000E-7,3.400000E-7,3.400000E-7,3.300000E-7,3.300000E-7,3.300000E-7,3.300000E-7,3.300000E-7,3.200000E-7,3.200000E-7,3.200000E-7,3.200000E-7,3.200000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.100000E-7,3.000000E-7,3.000000E-7,3.000000E-7,3.000000E-7,3.000000E-7,3.000000E-7,3.000000E-7,2.900000E-7,2.900000E-7,2.900000E-7,2.900000E-7,2.900000E-7,2.900000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.700000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.600000E-7]) + self.specific_heat.data = np.array([2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3]) + self.conductivity.data = np.array([1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.340000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.330000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.320000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.310000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.300000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.290000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.280000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.270000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.260000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.250000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.240000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.230000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.220000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.210000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.200000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.190000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.180000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.170000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.160000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.150000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.140000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.130000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.120000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.110000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.100000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.090000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.080000E-1,1.070000E-1,1.070000E-1,1.070000E-1,1.070000E-1,1.070000E-1,1.070000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.030000E-1,1.030000E-1,1.030000E-1]) + self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,9.000000E+3,9.000000E+3,9.000000E+3,9.000000E+3,1.000000E+4,1.000000E+4,1.000000E+4,1.100000E+4,1.100000E+4,1.100000E+4,1.200000E+4,1.200000E+4,1.200000E+4,1.300000E+4,1.300000E+4,1.300000E+4,1.400000E+4,1.400000E+4,1.500000E+4,1.500000E+4,1.500000E+4,1.600000E+4,1.600000E+4,1.700000E+4,1.700000E+4,1.800000E+4,1.800000E+4,1.900000E+4,1.900000E+4,2.000000E+4,2.000000E+4,2.100000E+4,2.100000E+4,2.200000E+4,2.200000E+4,2.300000E+4,2.400000E+4,2.400000E+4,2.500000E+4,2.600000E+4,2.600000E+4,2.700000E+4,2.800000E+4,2.800000E+4,2.900000E+4,3.000000E+4,3.000000E+4,3.100000E+4,3.200000E+4,3.300000E+4,3.400000E+4,3.500000E+4,3.500000E+4,3.600000E+4,3.700000E+4,3.800000E+4,3.900000E+4,4.000000E+4,4.100000E+4,4.200000E+4,4.300000E+4,4.400000E+4,4.500000E+4,4.600000E+4,4.700000E+4,4.800000E+4,4.900000E+4,5.100000E+4,5.200000E+4,5.300000E+4,5.400000E+4,5.500000E+4,5.700000E+4,5.800000E+4,5.900000E+4,6.100000E+4,6.200000E+4,6.400000E+4,6.500000E+4,6.700000E+4,6.800000E+4,7.000000E+4,7.100000E+4,7.300000E+4,7.400000E+4,7.600000E+4,7.800000E+4]) + self.Tmin = np.min(self.temperature.data) + self.Tmax = np.max(self.temperature.data) + self.TminPsat = np.min(self.temperature.data[~np.isnan(self.saturation_pressure.data)]) + self.name = "PMR" + self.description = "Paratherm "+ self.name[1:] + self.reference = "Paratherm2013" + self.reshapeAll() + + + + +class PNF(PureData): + """ + The Paratherm NF heat transfer fluid is highly efficient, thermally stable + and cost-effective. Completely non-toxic, it is exceptionally safe to use + and is easy to dispose. Used fluid can be safely combined with spent + lubricating oils and recycled locally (EPA, citation 57FR21524). The NF + fluid is specified in a broad variety of applications, world wide. It is + tough and durable with a proven record of success under demanding + conditions, yet is easy and safe to handle. + """ + def __init__(self): + PureData.__init__(self) + self.density.source = self.density.SOURCE_DATA + self.viscosity.source = self.viscosity.SOURCE_DATA + self.specific_heat.source = self.specific_heat.SOURCE_DATA + self.conductivity.source = self.conductivity.SOURCE_DATA + self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA + self.temperature.data = np.array([2.631500E+2,2.641500E+2,2.651500E+2,2.661500E+2,2.671500E+2,2.681500E+2,2.691500E+2,2.701500E+2,2.711500E+2,2.721500E+2,2.731500E+2,2.741500E+2,2.751500E+2,2.761500E+2,2.771500E+2,2.781500E+2,2.791500E+2,2.801500E+2,2.811500E+2,2.821500E+2,2.831500E+2,2.841500E+2,2.851500E+2,2.861500E+2,2.871500E+2,2.881500E+2,2.891500E+2,2.901500E+2,2.911500E+2,2.921500E+2,2.931500E+2,2.941500E+2,2.951500E+2,2.961500E+2,2.971500E+2,2.981500E+2,2.991500E+2,3.001500E+2,3.011500E+2,3.021500E+2,3.031500E+2,3.041500E+2,3.051500E+2,3.061500E+2,3.071500E+2,3.081500E+2,3.091500E+2,3.101500E+2,3.111500E+2,3.121500E+2,3.131500E+2,3.141500E+2,3.151500E+2,3.161500E+2,3.171500E+2,3.181500E+2,3.191500E+2,3.201500E+2,3.211500E+2,3.221500E+2,3.231500E+2,3.241500E+2,3.251500E+2,3.261500E+2,3.271500E+2,3.281500E+2,3.291500E+2,3.301500E+2,3.311500E+2,3.321500E+2,3.331500E+2,3.341500E+2,3.351500E+2,3.361500E+2,3.371500E+2,3.381500E+2,3.391500E+2,3.401500E+2,3.411500E+2,3.421500E+2,3.431500E+2,3.441500E+2,3.451500E+2,3.461500E+2,3.471500E+2,3.481500E+2,3.491500E+2,3.501500E+2,3.511500E+2,3.521500E+2,3.531500E+2,3.541500E+2,3.551500E+2,3.561500E+2,3.571500E+2,3.581500E+2,3.591500E+2,3.601500E+2,3.611500E+2,3.621500E+2,3.631500E+2,3.641500E+2,3.651500E+2,3.661500E+2,3.671500E+2,3.681500E+2,3.691500E+2,3.701500E+2,3.711500E+2,3.721500E+2,3.731500E+2,3.741500E+2,3.751500E+2,3.761500E+2,3.771500E+2,3.781500E+2,3.791500E+2,3.801500E+2,3.811500E+2,3.821500E+2,3.831500E+2,3.841500E+2,3.851500E+2,3.861500E+2,3.871500E+2,3.881500E+2,3.891500E+2,3.901500E+2,3.911500E+2,3.921500E+2,3.931500E+2,3.941500E+2,3.951500E+2,3.961500E+2,3.971500E+2,3.981500E+2,3.991500E+2,4.001500E+2,4.011500E+2,4.021500E+2,4.031500E+2,4.041500E+2,4.051500E+2,4.061500E+2,4.071500E+2,4.081500E+2,4.091500E+2,4.101500E+2,4.111500E+2,4.121500E+2,4.131500E+2,4.141500E+2,4.151500E+2,4.161500E+2,4.171500E+2,4.181500E+2,4.191500E+2,4.201500E+2,4.211500E+2,4.221500E+2,4.231500E+2,4.241500E+2,4.251500E+2,4.261500E+2,4.271500E+2,4.281500E+2,4.291500E+2,4.301500E+2,4.311500E+2,4.321500E+2,4.331500E+2,4.341500E+2,4.351500E+2,4.361500E+2,4.371500E+2,4.381500E+2,4.391500E+2,4.401500E+2,4.411500E+2,4.421500E+2,4.431500E+2,4.441500E+2,4.451500E+2,4.461500E+2,4.471500E+2,4.481500E+2,4.491500E+2,4.501500E+2,4.511500E+2,4.521500E+2,4.531500E+2,4.541500E+2,4.551500E+2,4.561500E+2,4.571500E+2,4.581500E+2,4.591500E+2,4.601500E+2,4.611500E+2,4.621500E+2,4.631500E+2,4.641500E+2,4.651500E+2,4.661500E+2,4.671500E+2,4.681500E+2,4.691500E+2,4.701500E+2,4.711500E+2,4.721500E+2,4.731500E+2,4.741500E+2,4.751500E+2,4.761500E+2,4.771500E+2,4.781500E+2,4.791500E+2,4.801500E+2,4.811500E+2,4.821500E+2,4.831500E+2,4.841500E+2,4.851500E+2,4.861500E+2,4.871500E+2,4.881500E+2,4.891500E+2,4.901500E+2,4.911500E+2,4.921500E+2,4.931500E+2,4.941500E+2,4.951500E+2,4.961500E+2,4.971500E+2,4.981500E+2,4.991500E+2,5.001500E+2,5.011500E+2,5.021500E+2,5.031500E+2,5.041500E+2,5.051500E+2,5.061500E+2,5.071500E+2,5.081500E+2,5.091500E+2,5.101500E+2,5.111500E+2,5.121500E+2,5.131500E+2,5.141500E+2,5.151500E+2,5.161500E+2,5.171500E+2,5.181500E+2,5.191500E+2,5.201500E+2,5.211500E+2,5.221500E+2,5.231500E+2,5.241500E+2,5.251500E+2,5.261500E+2,5.271500E+2,5.281500E+2,5.291500E+2,5.301500E+2,5.311500E+2,5.321500E+2,5.331500E+2,5.341500E+2,5.351500E+2,5.361500E+2,5.371500E+2,5.381500E+2,5.391500E+2,5.401500E+2,5.411500E+2,5.421500E+2,5.431500E+2,5.441500E+2,5.451500E+2,5.461500E+2,5.471500E+2,5.481500E+2,5.491500E+2,5.501500E+2,5.511500E+2,5.521500E+2,5.531500E+2,5.541500E+2,5.551500E+2,5.561500E+2,5.571500E+2,5.581500E+2,5.591500E+2,5.601500E+2,5.611500E+2,5.621500E+2,5.631500E+2,5.641500E+2,5.651500E+2,5.661500E+2,5.671500E+2,5.681500E+2,5.691500E+2,5.701500E+2,5.711500E+2,5.721500E+2,5.731500E+2,5.741500E+2,5.751500E+2,5.761500E+2,5.771500E+2,5.781500E+2,5.791500E+2,5.801500E+2,5.811500E+2,5.821500E+2,5.831500E+2,5.841500E+2,5.851500E+2,5.861500E+2,5.871500E+2,5.881500E+2]) + self.density.data = np.array([9.040000E+2,9.030000E+2,9.030000E+2,9.020000E+2,9.010000E+2,9.010000E+2,9.000000E+2,8.990000E+2,8.990000E+2,8.980000E+2,8.970000E+2,8.970000E+2,8.960000E+2,8.950000E+2,8.950000E+2,8.940000E+2,8.930000E+2,8.930000E+2,8.920000E+2,8.910000E+2,8.910000E+2,8.900000E+2,8.890000E+2,8.890000E+2,8.880000E+2,8.870000E+2,8.870000E+2,8.860000E+2,8.850000E+2,8.850000E+2,8.840000E+2,8.830000E+2,8.830000E+2,8.820000E+2,8.810000E+2,8.810000E+2,8.800000E+2,8.790000E+2,8.790000E+2,8.780000E+2,8.780000E+2,8.770000E+2,8.760000E+2,8.760000E+2,8.750000E+2,8.740000E+2,8.740000E+2,8.730000E+2,8.720000E+2,8.720000E+2,8.710000E+2,8.700000E+2,8.700000E+2,8.690000E+2,8.680000E+2,8.680000E+2,8.670000E+2,8.660000E+2,8.660000E+2,8.650000E+2,8.640000E+2,8.640000E+2,8.630000E+2,8.620000E+2,8.620000E+2,8.610000E+2,8.600000E+2,8.600000E+2,8.590000E+2,8.580000E+2,8.580000E+2,8.570000E+2,8.560000E+2,8.560000E+2,8.550000E+2,8.540000E+2,8.540000E+2,8.530000E+2,8.520000E+2,8.520000E+2,8.510000E+2,8.500000E+2,8.500000E+2,8.490000E+2,8.480000E+2,8.480000E+2,8.470000E+2,8.460000E+2,8.460000E+2,8.450000E+2,8.440000E+2,8.440000E+2,8.430000E+2,8.420000E+2,8.420000E+2,8.410000E+2,8.400000E+2,8.400000E+2,8.390000E+2,8.380000E+2,8.380000E+2,8.370000E+2,8.360000E+2,8.360000E+2,8.350000E+2,8.340000E+2,8.340000E+2,8.330000E+2,8.320000E+2,8.320000E+2,8.310000E+2,8.300000E+2,8.300000E+2,8.290000E+2,8.280000E+2,8.280000E+2,8.270000E+2,8.260000E+2,8.260000E+2,8.250000E+2,8.240000E+2,8.240000E+2,8.230000E+2,8.220000E+2,8.220000E+2,8.210000E+2,8.200000E+2,8.200000E+2,8.190000E+2,8.190000E+2,8.180000E+2,8.170000E+2,8.170000E+2,8.160000E+2,8.150000E+2,8.150000E+2,8.140000E+2,8.130000E+2,8.130000E+2,8.120000E+2,8.110000E+2,8.110000E+2,8.100000E+2,8.090000E+2,8.090000E+2,8.080000E+2,8.070000E+2,8.070000E+2,8.060000E+2,8.050000E+2,8.050000E+2,8.040000E+2,8.030000E+2,8.030000E+2,8.020000E+2,8.010000E+2,8.010000E+2,8.000000E+2,7.990000E+2,7.990000E+2,7.980000E+2,7.970000E+2,7.970000E+2,7.960000E+2,7.950000E+2,7.950000E+2,7.940000E+2,7.930000E+2,7.930000E+2,7.920000E+2,7.910000E+2,7.910000E+2,7.900000E+2,7.890000E+2,7.890000E+2,7.880000E+2,7.870000E+2,7.870000E+2,7.860000E+2,7.850000E+2,7.850000E+2,7.840000E+2,7.830000E+2,7.830000E+2,7.820000E+2,7.810000E+2,7.810000E+2,7.800000E+2,7.790000E+2,7.790000E+2,7.780000E+2,7.770000E+2,7.770000E+2,7.760000E+2,7.750000E+2,7.750000E+2,7.740000E+2,7.730000E+2,7.730000E+2,7.720000E+2,7.710000E+2,7.710000E+2,7.700000E+2,7.690000E+2,7.690000E+2,7.680000E+2,7.670000E+2,7.670000E+2,7.660000E+2,7.650000E+2,7.650000E+2,7.640000E+2,7.630000E+2,7.630000E+2,7.620000E+2,7.610000E+2,7.610000E+2,7.600000E+2,7.590000E+2,7.590000E+2,7.580000E+2,7.580000E+2,7.570000E+2,7.560000E+2,7.560000E+2,7.550000E+2,7.540000E+2,7.540000E+2,7.530000E+2,7.520000E+2,7.520000E+2,7.510000E+2,7.500000E+2,7.500000E+2,7.490000E+2,7.480000E+2,7.480000E+2,7.470000E+2,7.460000E+2,7.460000E+2,7.450000E+2,7.440000E+2,7.440000E+2,7.430000E+2,7.420000E+2,7.420000E+2,7.410000E+2,7.400000E+2,7.400000E+2,7.390000E+2,7.380000E+2,7.380000E+2,7.370000E+2,7.360000E+2,7.360000E+2,7.350000E+2,7.340000E+2,7.340000E+2,7.330000E+2,7.320000E+2,7.320000E+2,7.310000E+2,7.300000E+2,7.300000E+2,7.290000E+2,7.280000E+2,7.280000E+2,7.270000E+2,7.260000E+2,7.260000E+2,7.250000E+2,7.240000E+2,7.240000E+2,7.230000E+2,7.220000E+2,7.220000E+2,7.210000E+2,7.200000E+2,7.200000E+2,7.190000E+2,7.180000E+2,7.180000E+2,7.170000E+2,7.160000E+2,7.160000E+2,7.150000E+2,7.140000E+2,7.140000E+2,7.130000E+2,7.120000E+2,7.120000E+2,7.110000E+2,7.100000E+2,7.100000E+2,7.090000E+2,7.080000E+2,7.080000E+2,7.070000E+2,7.060000E+2,7.060000E+2,7.050000E+2,7.040000E+2,7.040000E+2,7.030000E+2,7.020000E+2,7.020000E+2,7.010000E+2,7.000000E+2,7.000000E+2,6.990000E+2,6.980000E+2,6.980000E+2,6.970000E+2,6.970000E+2,6.960000E+2,6.950000E+2,6.950000E+2,6.940000E+2,6.930000E+2,6.930000E+2,6.920000E+2,6.910000E+2,6.910000E+2,6.900000E+2,6.890000E+2,6.890000E+2]) + self.viscosity.data = np.array([4.760000E-4,4.380000E-4,4.040000E-4,3.720000E-4,3.430000E-4,3.160000E-4,2.910000E-4,2.680000E-4,2.470000E-4,2.280000E-4,2.100000E-4,1.940000E-4,1.780000E-4,1.640000E-4,1.510000E-4,1.400000E-4,1.290000E-4,1.180000E-4,1.090000E-4,1.010000E-4,9.300000E-5,8.600000E-5,8.000000E-5,7.400000E-5,6.900000E-5,6.400000E-5,5.900000E-5,5.500000E-5,5.100000E-5,4.800000E-5,4.500000E-5,4.200000E-5,3.900000E-5,3.700000E-5,3.400000E-5,3.200000E-5,3.100000E-5,2.900000E-5,2.700000E-5,2.600000E-5,2.500000E-5,2.400000E-5,2.200000E-5,2.100000E-5,2.100000E-5,2.000000E-5,1.900000E-5,1.800000E-5,1.800000E-5,1.700000E-5,1.600000E-5,1.500000E-5,1.500000E-5,1.400000E-5,1.400000E-5,1.300000E-5,1.300000E-5,1.200000E-5,1.200000E-5,1.100000E-5,1.100000E-5,1.000000E-5,1.000000E-5,9.700000E-6,9.400000E-6,9.100000E-6,8.800000E-6,8.500000E-6,8.200000E-6,8.000000E-6,7.800000E-6,7.500000E-6,7.300000E-6,7.100000E-6,6.900000E-6,6.700000E-6,6.500000E-6,6.300000E-6,6.200000E-6,6.000000E-6,5.900000E-6,5.700000E-6,5.600000E-6,5.400000E-6,5.300000E-6,5.200000E-6,5.100000E-6,4.900000E-6,4.800000E-6,4.700000E-6,4.600000E-6,4.500000E-6,4.400000E-6,4.300000E-6,4.200000E-6,4.100000E-6,4.000000E-6,3.900000E-6,3.900000E-6,3.800000E-6,3.700000E-6,3.600000E-6,3.600000E-6,3.500000E-6,3.400000E-6,3.400000E-6,3.300000E-6,3.200000E-6,3.200000E-6,3.100000E-6,3.100000E-6,3.000000E-6,3.000000E-6,2.900000E-6,2.800000E-6,2.800000E-6,2.800000E-6,2.700000E-6,2.700000E-6,2.600000E-6,2.600000E-6,2.500000E-6,2.500000E-6,2.500000E-6,2.400000E-6,2.400000E-6,2.300000E-6,2.300000E-6,2.300000E-6,2.200000E-6,2.200000E-6,2.200000E-6,2.100000E-6,2.100000E-6,2.100000E-6,2.000000E-6,2.000000E-6,2.000000E-6,2.000000E-6,1.900000E-6,1.900000E-6,1.900000E-6,1.800000E-6,1.800000E-6,1.800000E-6,1.800000E-6,1.700000E-6,1.700000E-6,1.700000E-6,1.700000E-6,1.600000E-6,1.600000E-6,1.600000E-6,1.600000E-6,1.600000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.500000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.400000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.300000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.200000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.100000E-6,1.000000E-6,1.000000E-6,1.000000E-6,1.000000E-6,1.000000E-6,9.900000E-7,9.800000E-7,9.700000E-7,9.600000E-7,9.600000E-7,9.500000E-7,9.400000E-7,9.300000E-7,9.200000E-7,9.100000E-7,9.000000E-7,8.900000E-7,8.800000E-7,8.600000E-7,8.500000E-7,8.400000E-7,8.300000E-7,8.100000E-7,8.000000E-7,7.900000E-7,7.800000E-7,7.700000E-7,7.500000E-7,7.400000E-7,7.300000E-7,7.200000E-7,7.100000E-7,7.000000E-7,6.900000E-7,6.800000E-7,6.700000E-7,6.600000E-7,6.500000E-7,6.400000E-7,6.300000E-7,6.200000E-7,6.100000E-7,6.000000E-7,5.900000E-7,5.800000E-7,5.700000E-7,5.600000E-7,5.600000E-7,5.500000E-7,5.400000E-7,5.300000E-7,5.200000E-7,5.200000E-7,5.100000E-7,5.000000E-7,4.900000E-7,4.800000E-7,4.800000E-7,4.700000E-7,4.600000E-7,4.600000E-7,4.500000E-7,4.400000E-7,4.400000E-7,4.300000E-7,4.200000E-7,4.200000E-7,4.100000E-7,4.000000E-7,4.000000E-7,3.900000E-7,3.900000E-7,3.800000E-7,3.700000E-7,3.700000E-7,3.600000E-7,3.600000E-7,3.500000E-7,3.500000E-7,3.400000E-7,3.400000E-7,3.300000E-7,3.300000E-7,3.200000E-7,3.200000E-7,3.100000E-7,3.100000E-7,3.000000E-7,3.000000E-7,2.900000E-7,2.900000E-7,2.800000E-7,2.800000E-7,2.800000E-7,2.700000E-7,2.700000E-7,2.600000E-7,2.600000E-7,2.600000E-7,2.500000E-7,2.500000E-7,2.400000E-7,2.400000E-7,2.400000E-7,2.300000E-7,2.300000E-7,2.300000E-7,2.200000E-7,2.200000E-7,2.200000E-7,2.100000E-7,2.100000E-7,2.100000E-7,2.000000E-7,2.000000E-7,2.000000E-7,1.900000E-7,1.900000E-7,1.900000E-7,1.900000E-7,1.800000E-7,1.800000E-7,1.800000E-7,1.800000E-7,1.700000E-7,1.700000E-7,1.700000E-7,1.600000E-7,1.600000E-7,1.600000E-7,1.600000E-7,1.600000E-7,1.500000E-7,1.500000E-7,1.500000E-7,1.500000E-7]) + self.specific_heat.data = np.array([1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.700000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.800000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,1.900000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.000000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.100000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.200000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.300000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.400000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.500000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.600000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.700000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.800000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,2.900000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.100000E+3,3.100000E+3,3.100000E+3,3.100000E+3,3.100000E+3,3.100000E+3,3.100000E+3,3.100000E+3,3.100000E+3,3.100000E+3,3.100000E+3,3.100000E+3,3.100000E+3,3.100000E+3,3.100000E+3,3.100000E+3,3.100000E+3,3.100000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.200000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3,3.300000E+3]) + self.conductivity.data = np.array([1.070000E-1,1.070000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.060000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.050000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.040000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.030000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.020000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.010000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,1.000000E-1,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.900000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.800000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.700000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.600000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.500000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.400000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.300000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.200000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.100000E-2,9.000000E-2,9.000000E-2,9.000000E-2,9.000000E-2,9.000000E-2,9.000000E-2,9.000000E-2,9.000000E-2,9.000000E-2,9.000000E-2,9.000000E-2]) + self.saturation_pressure.data = np.array([ np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN, np.NAN,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,3.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,4.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,5.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,6.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,7.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,8.000000E+3,9.000000E+3,9.000000E+3,9.000000E+3,9.000000E+3,9.000000E+3,9.000000E+3,9.000000E+3,9.000000E+3,1.000000E+4,1.000000E+4,1.000000E+4,1.000000E+4,1.000000E+4,1.000000E+4,1.000000E+4,1.000000E+4,1.000000E+4,1.100000E+4,1.100000E+4,1.100000E+4,1.100000E+4,1.100000E+4,1.100000E+4,1.100000E+4,1.200000E+4,1.200000E+4,1.200000E+4,1.200000E+4,1.200000E+4,1.200000E+4,1.200000E+4,1.300000E+4,1.300000E+4,1.300000E+4,1.300000E+4,1.300000E+4,1.300000E+4,1.300000E+4,1.400000E+4,1.400000E+4,1.400000E+4,1.400000E+4]) + self.Tmin = np.min(self.temperature.data) + self.Tmax = np.max(self.temperature.data) + self.TminPsat = np.min(self.temperature.data[~np.isnan(self.saturation_pressure.data)]) + self.name = "PNF" + self.description = "Paratherm "+ self.name[1:] + self.reference = "Paratherm2013" self.reshapeAll() - \ No newline at end of file diff --git a/dev/incompressible_liquids/CPIncomp/SecCoolFluids.py b/dev/incompressible_liquids/CPIncomp/SecCoolFluids.py index bae70bd6..1278c5a4 100644 --- a/dev/incompressible_liquids/CPIncomp/SecCoolFluids.py +++ b/dev/incompressible_liquids/CPIncomp/SecCoolFluids.py @@ -295,104 +295,104 @@ class SecCoolSolutionData(DigitalData): """ print("Loading SecCool fluids: ", end="") sec = [] - sec += [SecCoolSolutionData(sFile='Antifrogen KF' ,sFolder='xVolume',name='AKF',desc='Antifrogen KF, Potassium Formate' ,ref='Clariant GmbH Jan. 2000, SecCool software')] + sec += [SecCoolSolutionData(sFile='Antifrogen KF' ,sFolder='xVolume',name='AKF',desc='Antifrogen KF, Potassium Formate' ,ref='Clariant2000,Skovrup2013')] print("{0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Antifrogen L' ,sFolder='xVolume',name='AL' ,desc='Antifrogen L, Propylene Glycol' ,ref='Clariant GmbH Jan. 2000, SecCool software')] + sec += [SecCoolSolutionData(sFile='Antifrogen L' ,sFolder='xVolume',name='AL' ,desc='Antifrogen L, Propylene Glycol' ,ref='Clariant2000,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Antifrogen N' ,sFolder='xVolume',name='AN' ,desc='Antifrogen N, Ethylene Glycol' ,ref='Clariant GmbH Jan. 2000, SecCool software')] + sec += [SecCoolSolutionData(sFile='Antifrogen N' ,sFolder='xVolume',name='AN' ,desc='Antifrogen N, Ethylene Glycol' ,ref='Clariant2000,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='ASHRAE, Ethylene Glycol' ,sFolder='xVolume',name='AEG',desc='ASHRAE, Ethylene Glycol' ,ref='ASHRAE Fundamentals Handbook 2001, SecCool software')] + sec += [SecCoolSolutionData(sFile='ASHRAE, Ethylene Glycol' ,sFolder='xVolume',name='AEG',desc='ASHRAE, Ethylene Glycol' ,ref='ASHRAE2001,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='ASHRAE, Propylene Glycol',sFolder='xVolume',name='APG',desc='ASHRAE, Propylene Glycol' ,ref='ASHRAE Fundamentals Handbook 2001, SecCool software')] + sec += [SecCoolSolutionData(sFile='ASHRAE, Propylene Glycol',sFolder='xVolume',name='APG',desc='ASHRAE, Propylene Glycol' ,ref='ASHRAE2001,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Glykosol N' ,sFolder='xVolume',name='GKN',desc='Glykosol N, Ethylene Glycol' ,ref='pro KUEHLSOLE GmbH, SecCool software')] + sec += [SecCoolSolutionData(sFile='Glykosol N' ,sFolder='xVolume',name='GKN',desc='Glykosol N, Ethylene Glycol' ,ref='PKS2005,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Pekasol 2000' ,sFolder='xVolume',name='PK2',desc='Pekasol 2000, Potassium acetate/formate',ref='pro KUEHLSOLE GmbH, SecCool software')] + sec += [SecCoolSolutionData(sFile='Pekasol 2000' ,sFolder='xVolume',name='PK2',desc='Pekasol 2000, Potassium acetate/formate',ref='PKS2005,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Pekasol L' ,sFolder='xVolume',name='PKL',desc='Pekasol L, Propylene Glycol' ,ref='pro KUEHLSOLE GmbH, SecCool software')] + sec += [SecCoolSolutionData(sFile='Pekasol L' ,sFolder='xVolume',name='PKL',desc='Pekasol L, Propylene Glycol' ,ref='PKS2005,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Zitrec AC' ,sFolder='xVolume',name='ZAC',desc='Zitrec AC, Corrosion Inhibitor' ,ref='Arteco, SecCool software')] + sec += [SecCoolSolutionData(sFile='Zitrec AC' ,sFolder='xVolume',name='ZAC',desc='Zitrec AC, Corrosion Inhibitor' ,ref='Arteco2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Zitrec FC' ,sFolder='xVolume',name='ZFC',desc='Zitrec FC, Propylene Glycol' ,ref='Arteco, SecCool software')] + sec += [SecCoolSolutionData(sFile='Zitrec FC' ,sFolder='xVolume',name='ZFC',desc='Zitrec FC, Propylene Glycol' ,ref='Arteco2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Zitrec LC' ,sFolder='xVolume',name='ZLC',desc='Zitrec LC, Propylene Glycol' ,ref='Arteco, SecCool software')] + sec += [SecCoolSolutionData(sFile='Zitrec LC' ,sFolder='xVolume',name='ZLC',desc='Zitrec LC, Propylene Glycol' ,ref='Arteco2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Zitrec MC' ,sFolder='xVolume',name='ZMC',desc='Zitrec MC, Ethylene Glycol' ,ref='Arteco, SecCool software')] + sec += [SecCoolSolutionData(sFile='Zitrec MC' ,sFolder='xVolume',name='ZMC',desc='Zitrec MC, Ethylene Glycol' ,ref='Arteco2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Zitrec M' ,sFolder='xVolume',name='ZM' ,desc='Zitrec M, Ethylene Glycol' ,ref='Arteco, SecCool software')] + sec += [SecCoolSolutionData(sFile='Zitrec M' ,sFolder='xVolume',name='ZM' ,desc='Zitrec M, Ethylene Glycol' ,ref='Arteco2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Melinder, Ammonia' ,sFolder='xMass',name='MAM2',desc='Melinder, Ammonia' ,ref='Melinder-BOOK-2010, SecCool software')] + sec += [SecCoolSolutionData(sFile='Melinder, Ammonia' ,sFolder='xMass',name='MAM2',desc='Melinder, Ammonia' ,ref='Melinder2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Melinder, Calcium Cloride' ,sFolder='xMass',name='MCA2',desc='Melinder, Calcium Chloride' ,ref='Melinder-BOOK-2010, SecCool software')] + sec += [SecCoolSolutionData(sFile='Melinder, Calcium Cloride' ,sFolder='xMass',name='MCA2',desc='Melinder, Calcium Chloride' ,ref='Melinder2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Melinder, Ethanol' ,sFolder='xMass',name='MEA2',desc='Melinder, Ethanol' ,ref='Melinder-BOOK-2010, SecCool software')] + sec += [SecCoolSolutionData(sFile='Melinder, Ethanol' ,sFolder='xMass',name='MEA2',desc='Melinder, Ethanol' ,ref='Melinder2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Melinder, Ethylene glycol' ,sFolder='xMass',name='MEG2',desc='Melinder, Ethylene Glycol' ,ref='Melinder-BOOK-2010, SecCool software')] + sec += [SecCoolSolutionData(sFile='Melinder, Ethylene glycol' ,sFolder='xMass',name='MEG2',desc='Melinder, Ethylene Glycol' ,ref='Melinder2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Melinder, Glycerol' ,sFolder='xMass',name='MGL2',desc='Melinder, Glycerol' ,ref='Melinder-BOOK-2010, SecCool software')] + sec += [SecCoolSolutionData(sFile='Melinder, Glycerol' ,sFolder='xMass',name='MGL2',desc='Melinder, Glycerol' ,ref='Melinder2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Melinder, Magnesium Chloride' ,sFolder='xMass',name='MMG2',desc='Melinder, Magnesium Chloride' ,ref='Melinder-BOOK-2010, SecCool software')] + sec += [SecCoolSolutionData(sFile='Melinder, Magnesium Chloride' ,sFolder='xMass',name='MMG2',desc='Melinder, Magnesium Chloride' ,ref='Melinder2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Melinder, Methanol' ,sFolder='xMass',name='MMA2',desc='Melinder, Methanol' ,ref='Melinder-BOOK-2010, SecCool software')] + sec += [SecCoolSolutionData(sFile='Melinder, Methanol' ,sFolder='xMass',name='MMA2',desc='Melinder, Methanol' ,ref='Melinder2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Melinder, Potassium Acetate' ,sFolder='xMass',name='MKA2',desc='Melinder, Potassium Acetate' ,ref='Melinder-BOOK-2010, SecCool software')] + sec += [SecCoolSolutionData(sFile='Melinder, Potassium Acetate' ,sFolder='xMass',name='MKA2',desc='Melinder, Potassium Acetate' ,ref='Melinder2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Melinder, Potassium Carbonate',sFolder='xMass',name='MKC2',desc='Melinder, Potassium Carbonate',ref='Melinder-BOOK-2010, SecCool software')] + sec += [SecCoolSolutionData(sFile='Melinder, Potassium Carbonate',sFolder='xMass',name='MKC2',desc='Melinder, Potassium Carbonate',ref='Melinder2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Melinder, Propylene Glycol' ,sFolder='xMass',name='MPG2',desc='Melinder, Propylene Glycol' ,ref='Melinder-BOOK-2010, SecCool software')] + sec += [SecCoolSolutionData(sFile='Melinder, Propylene Glycol' ,sFolder='xMass',name='MPG2',desc='Melinder, Propylene Glycol' ,ref='Melinder2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Melinder, Sodium Chloride' ,sFolder='xMass',name='MNA2',desc='Melinder, Sodium Chloride' ,ref='Melinder-BOOK-2010, SecCool software')] + sec += [SecCoolSolutionData(sFile='Melinder, Sodium Chloride' ,sFolder='xMass',name='MNA2',desc='Melinder, Sodium Chloride' ,ref='Melinder2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='VDI, Calcium Cloride' ,sFolder='xMass',name='VCA' ,desc='VDI, Calcium Cloride' ,ref='VDI Waermeatlas 9th Edition 2002, SecCool software')] + sec += [SecCoolSolutionData(sFile='VDI, Calcium Cloride' ,sFolder='xMass',name='VCA' ,desc='VDI, Calcium Cloride' ,ref='Preisegger2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='VDI, Magnesium Chloride' ,sFolder='xMass',name='VMG' ,desc='VDI, Magnesium Chloride' ,ref='VDI Waermeatlas 9th Edition 2002, SecCool software')] + sec += [SecCoolSolutionData(sFile='VDI, Magnesium Chloride' ,sFolder='xMass',name='VMG' ,desc='VDI, Magnesium Chloride' ,ref='Preisegger2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='VDI, Methanol' ,sFolder='xMass',name='VMA' ,desc='VDI, Methanol' ,ref='VDI Waermeatlas 9th Edition 2002, SecCool software')] + sec += [SecCoolSolutionData(sFile='VDI, Methanol' ,sFolder='xMass',name='VMA' ,desc='VDI, Methanol' ,ref='Preisegger2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='VDI, Potassium Carbonate' ,sFolder='xMass',name='VKC' ,desc='VDI, Potassium Carbonate' ,ref='VDI Waermeatlas 9th Edition 2002, SecCool software')] + sec += [SecCoolSolutionData(sFile='VDI, Potassium Carbonate' ,sFolder='xMass',name='VKC' ,desc='VDI, Potassium Carbonate' ,ref='Preisegger2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='VDI, Sodium Chloride' ,sFolder='xMass',name='VNA' ,desc='VDI, Sodium Chloride' ,ref='VDI Waermeatlas 9th Edition 2002, SecCool software')] + sec += [SecCoolSolutionData(sFile='VDI, Sodium Chloride' ,sFolder='xMass',name='VNA' ,desc='VDI, Sodium Chloride' ,ref='Preisegger2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='HFE-7100' ,sFolder='xPure',name='HFE2' ,desc='HFE-7100, Hydrofluoroether' ,ref='3M Novec, SecCool software')] + sec += [SecCoolSolutionData(sFile='HFE-7100' ,sFolder='xPure',name='HFE2' ,desc='HFE-7100, Hydrofluoroether' ,ref='3M2007,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='NBS, Water' ,sFolder='xPure',name='NBS' ,desc='NBS, Water' ,ref='Properties of Water and Steam in SI-Units, 2nd Revised and Updated Printing, Springer 1979, pp. 175 ff., SecCool software')] + sec += [SecCoolSolutionData(sFile='NBS, Water' ,sFolder='xPure',name='NBS' ,desc='NBS, Water' ,ref='Schmidt1979,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Paracryol' ,sFolder='xPure',name='PCL' ,desc='Paracryol, Aliphatic Hydrocarbon' ,ref='Sulzer Chemtech AG, SecCool software')] + sec += [SecCoolSolutionData(sFile='Paracryol' ,sFolder='xPure',name='PCL' ,desc='Paracryol, Aliphatic Hydrocarbon' ,ref='Sulzer1999,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Paratherm NF' ,sFolder='xPure',name='PNF' ,desc='Paratherm NF, Hydrotreated mineral oil' ,ref='Paratherm Ltd, SecCool software')] + sec += [SecCoolSolutionData(sFile='Paratherm NF' ,sFolder='xPure',name='PNF2' ,desc='Paratherm NF, Hydrotreated mineral oil' ,ref='Paratherm2013,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Tyfoxit 1.10' ,sFolder='xPure',name='TY10',desc='Tyfoxit 1.10, Potassium Acetate' ,ref='Tyforop Chemie Gmbh - Technical information 09/99, SecCool software')] + sec += [SecCoolSolutionData(sFile='Tyfoxit 1.10' ,sFolder='xPure',name='TY10',desc='Tyfoxit 1.10, Potassium Acetate' ,ref='Tyfoprop1999,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Tyfoxit 1.15' ,sFolder='xPure',name='TY15',desc='Tyfoxit 1.15, Potassium Acetate' ,ref='Tyforop Chemie Gmbh - Technical information 09/99, SecCool software')] + sec += [SecCoolSolutionData(sFile='Tyfoxit 1.15' ,sFolder='xPure',name='TY15',desc='Tyfoxit 1.15, Potassium Acetate' ,ref='Tyfoprop1999,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Tyfoxit 1.20' ,sFolder='xPure',name='TY20',desc='Tyfoxit 1.20, Potassium Acetate' ,ref='Tyforop Chemie Gmbh - Technical information 09/99, SecCool software')] + sec += [SecCoolSolutionData(sFile='Tyfoxit 1.20' ,sFolder='xPure',name='TY20',desc='Tyfoxit 1.20, Potassium Acetate' ,ref='Tyfoprop1999,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Tyfoxit 1.24' ,sFolder='xPure',name='TY24',desc='Tyfoxit 1.24, Potassium Acetate' ,ref='Tyforop Chemie Gmbh - Technical information 09/99, SecCool software')] + sec += [SecCoolSolutionData(sFile='Tyfoxit 1.24' ,sFolder='xPure',name='TY24',desc='Tyfoxit 1.24, Potassium Acetate' ,ref='Tyfoprop1999,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Zitrec S10' ,sFolder='xPure',name='ZS10',desc='Zitrec S10, Potassium formate/Sodium propionate' ,ref='Arteco, SecCool software')] + sec += [SecCoolSolutionData(sFile='Zitrec S10' ,sFolder='xPure',name='ZS10',desc='Zitrec S10, Potassium formate/Sodium propionate' ,ref='Arteco2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Zitrec S25' ,sFolder='xPure',name='ZS25',desc='Zitrec S25, Potassium formate/Sodium propionate' ,ref='Arteco, SecCool software')] + sec += [SecCoolSolutionData(sFile='Zitrec S25' ,sFolder='xPure',name='ZS25',desc='Zitrec S25, Potassium formate/Sodium propionate' ,ref='Arteco2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Zitrec S40' ,sFolder='xPure',name='ZS40',desc='Zitrec S40, Potassium formate/Sodium propionate' ,ref='Arteco, SecCool software')] + sec += [SecCoolSolutionData(sFile='Zitrec S40' ,sFolder='xPure',name='ZS40',desc='Zitrec S40, Potassium formate/Sodium propionate' ,ref='Arteco2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Zitrec S45' ,sFolder='xPure',name='ZS45',desc='Zitrec S45, Potassium formate/Sodium propionate' ,ref='Arteco, SecCool software')] + sec += [SecCoolSolutionData(sFile='Zitrec S45' ,sFolder='xPure',name='ZS45',desc='Zitrec S45, Potassium formate/Sodium propionate' ,ref='Arteco2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Zitrec S55' ,sFolder='xPure',name='ZS55',desc='Zitrec S55, Potassium formate/Sodium propionate' ,ref='Arteco, SecCool software')] + sec += [SecCoolSolutionData(sFile='Zitrec S55' ,sFolder='xPure',name='ZS55',desc='Zitrec S55, Potassium formate/Sodium propionate' ,ref='Arteco2010,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Syltherm XLT' ,sFolder='xPure',name='XLT2',desc='Syltherm XLT, Polydimethylsiloxan' ,ref='Dow Chemicals, SecCool software')] + sec += [SecCoolSolutionData(sFile='Syltherm XLT' ,sFolder='xPure',name='XLT2',desc='Syltherm XLT, Polydimethylsiloxan' ,ref='Dow1997,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Dowtherm J' ,sFolder='xPure',name='DowJ2',desc='Dowtherm J, Diethylbenzene mixture' ,ref='Dow Chemicals, SecCool software')] + sec += [SecCoolSolutionData(sFile='Dowtherm J' ,sFolder='xPure',name='DowJ2',desc='Dowtherm J, Diethylbenzene mixture' ,ref='Dow1997,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolSolutionData(sFile='Dowtherm Q' ,sFolder='xPure',name='DowQ2',desc='Dowtherm Q, Diphenylethane/alkylated aromatics' ,ref='Dow Chemicals, SecCool software')] + sec += [SecCoolSolutionData(sFile='Dowtherm Q' ,sFolder='xPure',name='DowQ2',desc='Dowtherm Q, Diphenylethane/alkylated aromatics' ,ref='Dow1997,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolIceData(sFile='IceEA' ,sFolder='xMass',name='IceEA',desc='Ice slurry with Ethanol' ,ref='Danish Technological Institute, SecCool software')] + sec += [SecCoolIceData(sFile='IceEA' ,sFolder='xMass',name='IceEA',desc='Ice slurry with Ethanol' ,ref='Kauffeld2001,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolIceData(sFile='IceNA' ,sFolder='xMass',name='IceNA',desc='Ice slurry with NaCl' ,ref='Danish Technological Institute, SecCool software')] + sec += [SecCoolIceData(sFile='IceNA' ,sFolder='xMass',name='IceNA',desc='Ice slurry with NaCl' ,ref='Kauffeld2001,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") - sec += [SecCoolIceData(sFile='IcePG' ,sFolder='xMass',name='IcePG',desc='Ice slurry with Propylene Glycol' ,ref='Danish Technological Institute, SecCool software')] + sec += [SecCoolIceData(sFile='IcePG' ,sFolder='xMass',name='IcePG',desc='Ice slurry with Propylene Glycol' ,ref='Kauffeld2001,Skovrup2013')] print(", {0}".format(sec[-1].name), end="") sec += [ThermogenVP1869()] @@ -421,7 +421,7 @@ class SecCoolIceData(SecCoolSolutionData): A base class that can be fed with a fluid ID from SecCool to read data files sitting in data/SecCool/xTables. """ - def __init__(self,sFile=None,sFolder=None,name=None,desc=None,ref='Danish Technological Institute, SecCool software'): + def __init__(self,sFile=None,sFolder=None,name=None,desc=None,ref='Danish Technological Institute,Skovrup2013'): SecCoolSolutionData.__init__(self,sFile=sFile,sFolder=sFolder,name=name,desc=desc,ref=ref) #self.density.xData,self.density.yData,self.density.data = self.getArray(dataID="Rho") @@ -520,7 +520,7 @@ class ThermogenVP1869(PureData,DigitalData): PureData.__init__(self) self.name = "TVP1869" self.description = "Thermogen VP 1869" - self.reference = "Hoechst, SecCool software" + self.reference = "Hoechst1995,Skovrup2013" self.Tmax = 20 + 273.15 self.Tmin = -80 + 273.15 @@ -569,7 +569,7 @@ class Freezium(DigitalData): self.name = "FRE" self.description = "Freezium, Potassium Formate" - self.reference = "Kemira Chemicals OY, SecCool software" + self.reference = "Kemira1998,Skovrup2013" self.Tmin = -40 + 273.00 self.Tmax = +40 + 273.00 @@ -668,7 +668,7 @@ class AS10(PureData,DigitalData): PureData.__init__(self) self.name = "AS10" self.description = "Aspen Temper -10, Potassium acetate/formate" - self.reference = "Aspen Petroleum AB, SecCool software" + self.reference = "Aspen2001,Skovrup2013" self.Tmax = 30 + 273.15 self.Tmin = -10 + 273.15 @@ -704,7 +704,7 @@ class AS20(PureData,DigitalData): PureData.__init__(self) self.name = "AS20" self.description = "Aspen Temper -20, Potassium acetate/formate" - self.reference = "Aspen Petroleum AB, SecCool software" + self.reference = "Aspen2001,Skovrup2013" self.Tmax = 30 + 273.15 self.Tmin = -20 + 273.15 @@ -752,7 +752,7 @@ class AS30(PureData,DigitalData): PureData.__init__(self) self.name = "AS30" self.description = "Aspen Temper -30, Potassium acetate/formate" - self.reference = "Aspen Petroleum AB, SecCool software" + self.reference = "Aspen2001,Skovrup2013" self.Tmax = 30 + 273.15 self.Tmin = -30 + 273.15 @@ -800,7 +800,7 @@ class AS40(PureData,DigitalData): PureData.__init__(self) self.name = "AS40" self.description = "Aspen Temper -40, Potassium acetate/formate" - self.reference = "Aspen Petroleum AB, SecCool software" + self.reference = "Aspen2001,Skovrup2013" self.Tmax = 30 + 273.15 self.Tmin = -40 + 273.15 @@ -847,7 +847,7 @@ class AS55(PureData,DigitalData): PureData.__init__(self) self.name = "AS55" self.description = "Aspen Temper -55, Potassium acetate/formate" - self.reference = "Aspen Petroleum AB, SecCool software" + self.reference = "Aspen2001,Skovrup2013" self.Tmax = 30 + 273.15 self.Tmin = -55 + 273.15 diff --git a/dev/incompressible_liquids/CPIncomp/SolutionFluids.py b/dev/incompressible_liquids/CPIncomp/SolutionFluids.py index d0d5d5c0..ce4bd35f 100644 --- a/dev/incompressible_liquids/CPIncomp/SolutionFluids.py +++ b/dev/incompressible_liquids/CPIncomp/SolutionFluids.py @@ -11,7 +11,7 @@ class LiBrData(SolutionData): def __init__(self): SolutionData.__init__(self) self.name = "LiBr" - self.description = "Lithium-Bromide solution from Patek2006" + self.description = "Aqueous lithium-bromide solution " self.reference = "Patek2006" self.temperature.data = np.array([2.73000e+02, 2.84947e+02, 2.96895e+02, 3.08842e+02, 3.20789e+02, 3.32737e+02, 3.44684e+02, 3.56632e+02, 3.68579e+02, 3.80526e+02, 3.92474e+02, 4.04421e+02, 4.16368e+02, 4.28316e+02, 4.40263e+02, 4.52211e+02, 4.64158e+02, 4.76105e+02, 4.88053e+02, 5.00000e+02]) # Kelvin diff --git a/dev/incompressible_liquids/CPIncomp/WriterObjects.py b/dev/incompressible_liquids/CPIncomp/WriterObjects.py index 6ee38bb0..03795ecd 100644 --- a/dev/incompressible_liquids/CPIncomp/WriterObjects.py +++ b/dev/incompressible_liquids/CPIncomp/WriterObjects.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python +# -*- coding: utf8 -*- from __future__ import division, print_function import numpy as np @@ -10,9 +12,73 @@ from matplotlib.patches import Rectangle from matplotlib.ticker import MaxNLocator from matplotlib.backends.backend_pdf import PdfPages import itertools -from datetime import datetime import matplotlib -import csv +from CoolProp.BibtexParser import BibTeXerClass +from warnings import warn + +# See: https://docs.python.org/2/library/csv.html#csv-examples +import csv, codecs, 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) + + class SolutionDataWriter(object): """ @@ -22,7 +88,8 @@ class SolutionDataWriter(object): information came from. """ def __init__(self): - pass + bibFile = os.path.join(os.path.dirname(__file__),'../../../Web/fluid_properties/Incompressibles.bib') + self.bibtexer = BibTeXerClass(bibFile) def fitAll(self, fluidObject=SolutionData()): @@ -660,6 +727,9 @@ class SolutionDataWriter(object): axVal.plot(pFree, zFree, alpha=0.25, ls=':', color=fitFormatter["color"]) if not zError is None and not axErr is None: + #formatter = matplotlib.ticker.ScalarFormatter(useOffset=False) + #axErr.yaxis.set_major_formatter(formatter) + #axErr.yaxis.get_major_formatter().useOffset=False axErr.plot(pData, zError, label='error' , **errorFormatter) elif not axErr is None: @@ -732,7 +802,27 @@ class SolutionDataWriter(object): #myAnnotate('Name: ',solObj.name,x=x,y=y); x += .0; y -= dy myAnnotate('Description: ',solObj.description,x=x,y=y); x += .0; y -= dy - myAnnotate('Source: ',solObj.reference,x=x,y=y); x += .0; y -= dy + + # TODO: Debug bibtexer + refs = solObj.reference.split(",") + maxLength = 75 + for i in range(len(refs)): + refs[i] = refs[i].strip() + try: + refs[i] = self.bibtexer.getEntry(key=refs[i], fmt='plaintext').strip() + except Exception as e: + warn("Your string \"{0}\"was not a valid Bibtex key, I will use it directly: {1}".format(refs[i],e)) + pass + if len(refs[i])>maxLength: + refs[i] = refs[i][0:maxLength-3]+u'...' + + if i==0: + myAnnotate('Source: ',refs[i],x=x,y=y); x += .0 #; y -= 2*dy + elif i==1: + myAnnotate( ' ',refs[i],x=x,y=y-dy); x += .0 #; y -= 2*dy + + y -= 2*dy + yRestart = y myAnnotate('Temperature: ',u'{0} \u00B0C to {1} \u00B0C'.format(solObj.Tmin-273.15, solObj.Tmax-273.15),x=x,y=y); x += .0; y -= dy conc = False if solObj.xid==solObj.ifrac_mass: conc=True @@ -755,7 +845,7 @@ class SolutionDataWriter(object): myAnnotate('Spec. Heat: ','no information',x=x,y=y) x += .0; y -= dy - x = xStart + dx; y = yStart-dy-dy + x = xStart + dx; y = yRestart if solObj.conductivity.source!=solObj.conductivity.SOURCE_NOT_SET: myAnnotate('Th. Cond.: ',u'{0} to {1} {2}'.format(solObj.conductivity.source, solObj.conductivity.type, solObj.conductivity.coeffs.shape),x=x,y=y) else: @@ -968,7 +1058,7 @@ class SolutionDataWriter(object): table_axis.legend( legVal, legKey, - bbox_to_anchor=(0.0, -0.025, 1., -0.025), + bbox_to_anchor=(0.0, -0.03, 1., -0.03), ncol=len(legKey), mode="expand", borderaxespad=0., numpoints=1) #table_axis.legend(handles, labels, bbox_to_anchor=(0.0, -0.1), loc=2, ncol=3) @@ -1101,26 +1191,26 @@ class SolutionDataWriter(object): return rst def table_div(self, max_cols, header_flag=1, indent=2): - out = "" + out = u"" for i in range(indent): - out += " " + out += u" " if header_flag == 1: - style = "=" + style = u"=" else: - style = "-" + style = u"-" for max_col in max_cols: - out += max_col * style + " " - out += "\n" + out += max_col * style + u" " + out += u"\n" return out def normalize_row(self, row, max_cols, indent=2): - r = "" + r = u"" for i in range(indent): - r += " " + r += u" " for i, max_col in enumerate(max_cols): - r += row[i] + (max_col - len(row[i]) + 1) * " " - return r + "\n" + r += row[i] + (max_col - len(row[i]) + 1) * u" " + return r + u"\n" def writeTextToFile(self, path,text): @@ -1128,19 +1218,21 @@ class SolutionDataWriter(object): if not os.path.exists(os.path.dirname(path)): os.makedirs(os.path.dirname(path)) with open(path, 'w') as f: - f.write(text) + f.write(text.encode('utf-8')) + return True - def writeTxtTableToFile(self, path,table,head=""): - if not head == "": - return self.writeTextToFile(path+".txt", head+"\n\n"+self.make_table(table)) + def writeTxtTableToFile(self, path,table,head=u""): + if not head == u"": + return self.writeTextToFile(path+".txt", head+u"\n\n"+self.make_table(table)) return self.writeTextToFile(path+".txt", self.make_table(table)) def writeCsvTableToFile(self, path,table): if not os.path.exists(os.path.dirname(path+".csv")): os.makedirs(os.path.dirname(path+".csv")) with open(path+".csv", 'wb') as f: - writer = csv.writer(f) + #writer = csv.writer(f) + writer = UnicodeWriter(f) writer.writerows(table) return True @@ -1156,6 +1248,10 @@ class SolutionDataWriter(object): reportFile = os.path.join("..","_static","fluid_properties","incompressible","report","{0}_fitreport.pdf".format(name)) return self.d(name,reportFile) + def getCitation(self, keys): + return u":cite:`{0}`".format(keys) + + def checkForNumber(self, number): try: n = float(number) @@ -1174,20 +1270,20 @@ class SolutionDataWriter(object): # link = "{0}".format(text) # pass # TODO: Fix this! - link = ":download:`{0}<{1}>`".format(text,target) + link = u":download:`{0}<{1}>`".format(text,target) return link def m(self, math): - text = ":math:`{0}`".format(math) + text = u":math:`{0}`".format(math) return text def c(self, number): #text = "{0:5.2f} |degC|".format(self.checkForNumber(number)-273.15) - text = "{0:5.2f}".format(self.checkForNumber(number)-273.15) + text = u"{0:5.2f}".format(self.checkForNumber(number)-273.15) return text def x(self, number): - text = "{0:3.2f}".format(self.checkForNumber(number)) + text = u"{0:3.2f}".format(self.checkForNumber(number)) return text @@ -1200,14 +1296,20 @@ class SolutionDataWriter(object): if np.any(xmin>0.0) and np.any(xmax<1.0): use_x = True else: use_x = False - header = ['Name', 'Description', 'Reference', \ - self.m('T_{min}')+" (|degC|)", self.m('T_{max}')+" (|degC|)"] - if use_x: header.extend([self.m('x_{min}'), self.m('x_{max}')]) + header = [u'Name', u'Description', u'Reference', \ + self.m(u'T_\\text{min}')+u" (°C)", self.m(u'T_\\text{max}')+u" (°C)"] + if use_x: header.extend([self.m(u'x_\\text{min}'), self.m(u'x_\\text{max}')]) testTable = [] testTable.append(header) # Headline for fluid in solObjs: - testTable.append([self.getReportLink(fluid.name), fluid.description, fluid.reference, self.c(fluid.Tmin), self.c(fluid.Tmax)]) + testTable.append([ + self.getReportLink(fluid.name), + fluid.description, + self.getCitation(fluid.reference), + self.c(fluid.Tmin), + self.c(fluid.Tmax) + ]) if use_x: testTable[-1].extend([self.x(fluid.xmin), self.x(fluid.xmax)]) self.writeTableToFile(path, testTable) diff --git a/dev/incompressible_liquids/all_incompressibles.py b/dev/incompressible_liquids/all_incompressibles.py index ad75e00a..b6fd330b 100644 --- a/dev/incompressible_liquids/all_incompressibles.py +++ b/dev/incompressible_liquids/all_incompressibles.py @@ -65,23 +65,13 @@ if __name__ == '__main__': if runTest: solObjs = [] from CPIncomp.SecCoolFluids import SecCoolSolutionData,SecCoolIceData,ThermogenVP1869 - from CPIncomp.PureFluids import Texatherm22 - solObjs += [SecCoolSolutionData(sFile='Melinder, Ammonia' ,sFolder='xMass',name='MAM2',desc='Melinder, Ammonia' ,ref='Melinder-BOOK-2010, SecCool software')] - solObjs += [SecCoolIceData(sFile='IceNA' ,sFolder='xMass',name='IceNA',desc='Ice slurry with NaCl' ,ref='Danish Technological Institute, SecCool software')] - #solObjs = [Freezium()] - #solObjs[0].density.DEBUG = True - #solObjs[0].specific_heat.DEBUG = True - #solObjs[0].conductivity.DEBUG = True - #solObjs[0].viscosity.DEBUG = True - #solObjs[0].T_freeze.DEBUG = True - #writer.fitSecCoolList(solObjs) - solObjs = [ThermogenVP1869()]#,Therminol72()] - solObjs[0].viscosity.DEBUG=True - #solObjs[0].saturation_pressure.DEBUG=True - # - ##from CPIncomp.ExampleObjects import SecCoolExample - ##solObjs = [SecCoolExample()] - #writer.fitFluidList(solObjs) + from CPIncomp.PureFluids import PMR + #from CPIncomp.PureFluids import Texatherm22 + #solObjs += [SecCoolSolutionData(sFile='Melinder, Ethanol' ,sFolder='xMass',name='MEA2',desc='Melinder, Ethanol' ,ref='Melinder2010,Skovrup2013')] + #solObjs += [SecCoolSolutionData(sFile='Melinder, Ammonia' ,sFolder='xMass',name='MAM2',desc='Melinder, Ammonia' ,ref='Melinder2010,Skovrup2013')] + + solObjs += [PMR()] + writer.fitSecCoolList(solObjs) writer.writeFluidList(solObjs) writer.writeReportList(solObjs) diff --git a/dev/incompressible_liquids/json/AEG.json b/dev/incompressible_liquids/json/AEG.json index 92a6c549..4ce8eac2 100644 --- a/dev/incompressible_liquids/json/AEG.json +++ b/dev/incompressible_liquids/json/AEG.json @@ -82,7 +82,7 @@ [ -9.073173e-07, 4.118599e-06, - -4.391163e-06, + -4.391164e-06, 0.000000e+00, 0.000000e+00, 0.000000e+00 @@ -109,7 +109,7 @@ "type": "notdefined" }, "name": "AEG", - "reference": "ASHRAE Fundamentals Handbook 2001, SecCool software", + "reference": "ASHRAE2001,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/AKF.json b/dev/incompressible_liquids/json/AKF.json index a5f25a62..471226bf 100644 --- a/dev/incompressible_liquids/json/AKF.json +++ b/dev/incompressible_liquids/json/AKF.json @@ -133,7 +133,7 @@ "type": "notdefined" }, "name": "AKF", - "reference": "Clariant GmbH Jan. 2000, SecCool software", + "reference": "Clariant2000,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/AL.json b/dev/incompressible_liquids/json/AL.json index 3f8121cc..77eebf22 100644 --- a/dev/incompressible_liquids/json/AL.json +++ b/dev/incompressible_liquids/json/AL.json @@ -133,7 +133,7 @@ "type": "notdefined" }, "name": "AL", - "reference": "Clariant GmbH Jan. 2000, SecCool software", + "reference": "Clariant2000,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/AN.json b/dev/incompressible_liquids/json/AN.json index 41b448b7..1f7b8659 100644 --- a/dev/incompressible_liquids/json/AN.json +++ b/dev/incompressible_liquids/json/AN.json @@ -133,7 +133,7 @@ "type": "notdefined" }, "name": "AN", - "reference": "Clariant GmbH Jan. 2000, SecCool software", + "reference": "Clariant2000,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/APG.json b/dev/incompressible_liquids/json/APG.json index 5854040e..d37cb1a0 100644 --- a/dev/incompressible_liquids/json/APG.json +++ b/dev/incompressible_liquids/json/APG.json @@ -80,7 +80,7 @@ 0.000000e+00 ], [ - 3.270564e-08, + 3.270563e-08, -2.261472e-07, 3.368862e-07, 0.000000e+00, @@ -109,7 +109,7 @@ "type": "notdefined" }, "name": "APG", - "reference": "ASHRAE Fundamentals Handbook 2001, SecCool software", + "reference": "ASHRAE2001,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/AS10.json b/dev/incompressible_liquids/json/AS10.json index 4116a6f8..d1a51f6b 100644 --- a/dev/incompressible_liquids/json/AS10.json +++ b/dev/incompressible_liquids/json/AS10.json @@ -45,7 +45,7 @@ "type": "notdefined" }, "name": "AS10", - "reference": "Aspen Petroleum AB, SecCool software", + "reference": "Aspen2001,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/AS20.json b/dev/incompressible_liquids/json/AS20.json index d4289d2a..de469b3c 100644 --- a/dev/incompressible_liquids/json/AS20.json +++ b/dev/incompressible_liquids/json/AS20.json @@ -45,7 +45,7 @@ "type": "notdefined" }, "name": "AS20", - "reference": "Aspen Petroleum AB, SecCool software", + "reference": "Aspen2001,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/AS30.json b/dev/incompressible_liquids/json/AS30.json index 76ae437a..7a8e8c4a 100644 --- a/dev/incompressible_liquids/json/AS30.json +++ b/dev/incompressible_liquids/json/AS30.json @@ -45,7 +45,7 @@ "type": "notdefined" }, "name": "AS30", - "reference": "Aspen Petroleum AB, SecCool software", + "reference": "Aspen2001,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/AS40.json b/dev/incompressible_liquids/json/AS40.json index 3600fc83..519c1e9e 100644 --- a/dev/incompressible_liquids/json/AS40.json +++ b/dev/incompressible_liquids/json/AS40.json @@ -45,7 +45,7 @@ "type": "notdefined" }, "name": "AS40", - "reference": "Aspen Petroleum AB, SecCool software", + "reference": "Aspen2001,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/AS55.json b/dev/incompressible_liquids/json/AS55.json index e1adb2ae..fd4c991f 100644 --- a/dev/incompressible_liquids/json/AS55.json +++ b/dev/incompressible_liquids/json/AS55.json @@ -48,7 +48,7 @@ "type": "notdefined" }, "name": "AS55", - "reference": "Aspen Petroleum AB, SecCool software", + "reference": "Aspen2001,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/DEB.json b/dev/incompressible_liquids/json/DEB.json index 26c77ce8..414a7d4e 100644 --- a/dev/incompressible_liquids/json/DEB.json +++ b/dev/incompressible_liquids/json/DEB.json @@ -39,7 +39,7 @@ "type": "notdefined" }, "name": "DEB", - "reference": "Melinder-BOOK-2010", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/DowJ.json b/dev/incompressible_liquids/json/DowJ.json index 063f2034..e9cece69 100644 --- a/dev/incompressible_liquids/json/DowJ.json +++ b/dev/incompressible_liquids/json/DowJ.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "DowJ", - "reference": "Dow Chemicals data sheet", + "reference": "Dow1997", "saturation_pressure": { "coeffs": [ -2.573167e+02, diff --git a/dev/incompressible_liquids/json/DowJ2.json b/dev/incompressible_liquids/json/DowJ2.json index 7d0ffbba..6a050a71 100644 --- a/dev/incompressible_liquids/json/DowJ2.json +++ b/dev/incompressible_liquids/json/DowJ2.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "DowJ2", - "reference": "Dow Chemicals, SecCool software", + "reference": "Dow1997,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/DowQ.json b/dev/incompressible_liquids/json/DowQ.json index e0d6c205..c864842d 100644 --- a/dev/incompressible_liquids/json/DowQ.json +++ b/dev/incompressible_liquids/json/DowQ.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "DowQ", - "reference": "Dow Chemicals data sheet", + "reference": "Dow1997", "saturation_pressure": { "coeffs": [ -3.242462e+02, diff --git a/dev/incompressible_liquids/json/DowQ2.json b/dev/incompressible_liquids/json/DowQ2.json index b0c6fa5f..bfa69c8a 100644 --- a/dev/incompressible_liquids/json/DowQ2.json +++ b/dev/incompressible_liquids/json/DowQ2.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "DowQ2", - "reference": "Dow Chemicals, SecCool software", + "reference": "Dow1997,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/ExampleDigital.json b/dev/incompressible_liquids/json/ExampleDigital.json index 27b0714b..5129879e 100644 --- a/dev/incompressible_liquids/json/ExampleDigital.json +++ b/dev/incompressible_liquids/json/ExampleDigital.json @@ -76,8 +76,8 @@ ], [ -4.117538e-10, - 3.193137e-09, - -3.138206e-09, + 3.193145e-09, + -3.138209e-09, 0.000000e+00, 0.000000e+00, 0.000000e+00 @@ -160,9 +160,9 @@ 0.000000e+00 ], [ - -1.548862e-10, - 8.615137e-10, - -8.067025e-11, + -1.548841e-10, + 8.615147e-10, + -8.067086e-11, 0.000000e+00, 0.000000e+00, 0.000000e+00 diff --git a/dev/incompressible_liquids/json/ExampleMelinder.json b/dev/incompressible_liquids/json/ExampleMelinder.json index adbddb03..e502d749 100644 --- a/dev/incompressible_liquids/json/ExampleMelinder.json +++ b/dev/incompressible_liquids/json/ExampleMelinder.json @@ -100,7 +100,7 @@ "type": "notdefined" }, "name": "ExampleMelinder", - "reference": "Melinder Book", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/ExampleSolution.json b/dev/incompressible_liquids/json/ExampleSolution.json index 43b69f21..88ec0926 100644 --- a/dev/incompressible_liquids/json/ExampleSolution.json +++ b/dev/incompressible_liquids/json/ExampleSolution.json @@ -95,7 +95,7 @@ "type": "notdefined" }, "name": "ExampleSolution", - "reference": "SecCool software", + "reference": "SecCool software,Skovrup2013", "saturation_pressure": { "coeffs": [ [ diff --git a/dev/incompressible_liquids/json/FRE.json b/dev/incompressible_liquids/json/FRE.json index c0515f0b..b5b23321 100644 --- a/dev/incompressible_liquids/json/FRE.json +++ b/dev/incompressible_liquids/json/FRE.json @@ -54,7 +54,7 @@ "type": "notdefined" }, "name": "FRE", - "reference": "Kemira Chemicals OY, SecCool software", + "reference": "Kemira1998,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" @@ -86,9 +86,9 @@ 0.000000e+00 ], [ - -6.379647e-08, + -6.379657e-08, 3.363858e-07, - -3.132405e-07, + -3.132406e-07, 0.000000e+00, 0.000000e+00, 0.000000e+00 @@ -124,8 +124,8 @@ ], [ -2.058397e-06, - -3.348859e-10, - 5.467784e-10, + -3.348864e-10, + 5.467785e-10, 0.000000e+00, 0.000000e+00, 0.000000e+00 diff --git a/dev/incompressible_liquids/json/GKN.json b/dev/incompressible_liquids/json/GKN.json index 7cf13f05..ec7a0761 100644 --- a/dev/incompressible_liquids/json/GKN.json +++ b/dev/incompressible_liquids/json/GKN.json @@ -45,7 +45,7 @@ [ 1.059366e-09, -2.212375e-09, - 2.522431e-10, + 2.522430e-10, 0.000000e+00, 0.000000e+00, 0.000000e+00 @@ -109,7 +109,7 @@ "type": "notdefined" }, "name": "GKN", - "reference": "pro KUEHLSOLE GmbH, SecCool software", + "reference": "PKS2005,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/HC10.json b/dev/incompressible_liquids/json/HC10.json index e912d732..9dd35aa6 100644 --- a/dev/incompressible_liquids/json/HC10.json +++ b/dev/incompressible_liquids/json/HC10.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "HC10", - "reference": "Dynalene data sheet", + "reference": "Dynalene2014", "saturation_pressure": { "coeffs": [ [ diff --git a/dev/incompressible_liquids/json/HC20.json b/dev/incompressible_liquids/json/HC20.json index 4f65de8b..7ebecfa0 100644 --- a/dev/incompressible_liquids/json/HC20.json +++ b/dev/incompressible_liquids/json/HC20.json @@ -16,7 +16,7 @@ 1.000000e-03 ], [ - 4.945495e-17 + 4.945410e-17 ], [ 4.446923e-20 @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "HC20", - "reference": "Dynalene data sheet", + "reference": "Dynalene2014", "saturation_pressure": { "coeffs": [ [ diff --git a/dev/incompressible_liquids/json/HC30.json b/dev/incompressible_liquids/json/HC30.json index 4fdfedc8..71cfef68 100644 --- a/dev/incompressible_liquids/json/HC30.json +++ b/dev/incompressible_liquids/json/HC30.json @@ -16,7 +16,7 @@ 1.000000e-03 ], [ - 3.613874e-17 + 3.613676e-17 ], [ 3.832824e-20 @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "HC30", - "reference": "Dynalene data sheet", + "reference": "Dynalene2014", "saturation_pressure": { "coeffs": [ [ diff --git a/dev/incompressible_liquids/json/HC40.json b/dev/incompressible_liquids/json/HC40.json index c42edf6c..9a2a6a61 100644 --- a/dev/incompressible_liquids/json/HC40.json +++ b/dev/incompressible_liquids/json/HC40.json @@ -16,7 +16,7 @@ 1.000000e-03 ], [ - 9.106767e-17 + 9.107021e-17 ], [ 1.979940e-20 @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "HC40", - "reference": "Dynalene data sheet", + "reference": "Dynalene2014", "saturation_pressure": { "coeffs": [ [ diff --git a/dev/incompressible_liquids/json/HC50.json b/dev/incompressible_liquids/json/HC50.json index 4364cff3..9494d331 100644 --- a/dev/incompressible_liquids/json/HC50.json +++ b/dev/incompressible_liquids/json/HC50.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "HC50", - "reference": "Dynalene data sheet", + "reference": "Dynalene2014", "saturation_pressure": { "coeffs": [ [ diff --git a/dev/incompressible_liquids/json/HCB.json b/dev/incompressible_liquids/json/HCB.json index 8eb1616f..5abfd214 100644 --- a/dev/incompressible_liquids/json/HCB.json +++ b/dev/incompressible_liquids/json/HCB.json @@ -39,7 +39,7 @@ "type": "notdefined" }, "name": "HCB", - "reference": "Melinder-BOOK-2010", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/HCM.json b/dev/incompressible_liquids/json/HCM.json index bf662386..c12209a2 100644 --- a/dev/incompressible_liquids/json/HCM.json +++ b/dev/incompressible_liquids/json/HCM.json @@ -39,7 +39,7 @@ "type": "notdefined" }, "name": "HCM", - "reference": "Melinder-BOOK-2010", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/HFE.json b/dev/incompressible_liquids/json/HFE.json index 19b4905d..7aa16acb 100644 --- a/dev/incompressible_liquids/json/HFE.json +++ b/dev/incompressible_liquids/json/HFE.json @@ -39,7 +39,7 @@ "type": "notdefined" }, "name": "HFE", - "reference": "Melinder-BOOK-2010", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/HFE2.json b/dev/incompressible_liquids/json/HFE2.json index 62941384..28de4644 100644 --- a/dev/incompressible_liquids/json/HFE2.json +++ b/dev/incompressible_liquids/json/HFE2.json @@ -33,7 +33,7 @@ -2.269000e+00 ], [ - -1.492754e-13 + -1.493085e-13 ], [ 1.637145e-16 @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "HFE2", - "reference": "3M Novec, SecCool software", + "reference": "3M2007,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" @@ -65,7 +65,7 @@ 2.000000e+00 ], [ - 1.348892e-13 + 1.348812e-13 ], [ -2.528359e-16 diff --git a/dev/incompressible_liquids/json/HY20.json b/dev/incompressible_liquids/json/HY20.json index 3b922fea..bbf89878 100644 --- a/dev/incompressible_liquids/json/HY20.json +++ b/dev/incompressible_liquids/json/HY20.json @@ -45,7 +45,7 @@ "type": "notdefined" }, "name": "HY20", - "reference": "Hydro Chemicals", + "reference": "Hydro2000", "saturation_pressure": { "coeffs": [ -5.000000e+03, diff --git a/dev/incompressible_liquids/json/HY30.json b/dev/incompressible_liquids/json/HY30.json index 83d782e6..62a47c01 100644 --- a/dev/incompressible_liquids/json/HY30.json +++ b/dev/incompressible_liquids/json/HY30.json @@ -35,7 +35,7 @@ ], "type": "polynomial" }, - "description": "HYCOOL 30, Potassium formate", + "description": "HyCool 30, Potassium formate", "mass2input": { "coeffs": "null", "type": "notdefined" @@ -45,7 +45,7 @@ "type": "notdefined" }, "name": "HY30", - "reference": "Hydro Chemicals", + "reference": "Hydro2000", "saturation_pressure": { "coeffs": [ -5.000000e+03, diff --git a/dev/incompressible_liquids/json/HY40.json b/dev/incompressible_liquids/json/HY40.json index e00bc149..47608a3a 100644 --- a/dev/incompressible_liquids/json/HY40.json +++ b/dev/incompressible_liquids/json/HY40.json @@ -29,7 +29,7 @@ ], "type": "polynomial" }, - "description": "HYCOOL 40, Potassium formate", + "description": "HyCool 40, Potassium formate", "mass2input": { "coeffs": "null", "type": "notdefined" @@ -39,7 +39,7 @@ "type": "notdefined" }, "name": "HY40", - "reference": "Hydro Chemicals", + "reference": "Hydro2000", "saturation_pressure": { "coeffs": [ -5.000000e+03, diff --git a/dev/incompressible_liquids/json/HY45.json b/dev/incompressible_liquids/json/HY45.json index 6466bdda..05bff2c2 100644 --- a/dev/incompressible_liquids/json/HY45.json +++ b/dev/incompressible_liquids/json/HY45.json @@ -29,7 +29,7 @@ ], "type": "polynomial" }, - "description": "HYCOOL 45, Potassium formate", + "description": "HyCool 45, Potassium formate", "mass2input": { "coeffs": "null", "type": "notdefined" @@ -39,7 +39,7 @@ "type": "notdefined" }, "name": "HY45", - "reference": "Hydro Chemicals", + "reference": "Hydro2000", "saturation_pressure": { "coeffs": [ -5.000000e+03, diff --git a/dev/incompressible_liquids/json/HY50.json b/dev/incompressible_liquids/json/HY50.json index 4c36fd15..911bd2af 100644 --- a/dev/incompressible_liquids/json/HY50.json +++ b/dev/incompressible_liquids/json/HY50.json @@ -29,7 +29,7 @@ ], "type": "polynomial" }, - "description": "HYCOOL 50, Potassium formate", + "description": "HyCool 50, Potassium formate", "mass2input": { "coeffs": "null", "type": "notdefined" @@ -39,7 +39,7 @@ "type": "notdefined" }, "name": "HY50", - "reference": "Hydro Chemicals", + "reference": "Hydro2000", "saturation_pressure": { "coeffs": [ -5.000000e+03, diff --git a/dev/incompressible_liquids/json/IceEA.json b/dev/incompressible_liquids/json/IceEA.json index 7b38d87d..d052fcd6 100644 --- a/dev/incompressible_liquids/json/IceEA.json +++ b/dev/incompressible_liquids/json/IceEA.json @@ -91,7 +91,7 @@ "type": "notdefined" }, "name": "IceEA", - "reference": "Danish Technological Institute, SecCool software", + "reference": "Kauffeld2001,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/IceNA.json b/dev/incompressible_liquids/json/IceNA.json index a7125a86..d6581960 100644 --- a/dev/incompressible_liquids/json/IceNA.json +++ b/dev/incompressible_liquids/json/IceNA.json @@ -91,7 +91,7 @@ "type": "notdefined" }, "name": "IceNA", - "reference": "Danish Technological Institute, SecCool software", + "reference": "Kauffeld2001,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/IcePG.json b/dev/incompressible_liquids/json/IcePG.json index 90d042ad..d37758eb 100644 --- a/dev/incompressible_liquids/json/IcePG.json +++ b/dev/incompressible_liquids/json/IcePG.json @@ -91,7 +91,7 @@ "type": "notdefined" }, "name": "IcePG", - "reference": "Danish Technological Institute, SecCool software", + "reference": "Kauffeld2001,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/LiBr.json b/dev/incompressible_liquids/json/LiBr.json index 99c02d2a..cf5c685a 100644 --- a/dev/incompressible_liquids/json/LiBr.json +++ b/dev/incompressible_liquids/json/LiBr.json @@ -85,7 +85,7 @@ ], "type": "polynomial" }, - "description": "Lithium-Bromide solution from Patek2006", + "description": "Aqueous lithium-bromide solution ", "mass2input": { "coeffs": "null", "type": "notdefined" @@ -160,7 +160,7 @@ 0.000000e+00 ], [ - 3.074006e-05, + 3.074005e-05, 4.644860e-04, -4.128601e-04, 0.000000e+00, diff --git a/dev/incompressible_liquids/json/MAM.json b/dev/incompressible_liquids/json/MAM.json index 50ab891f..b36c69ed 100644 --- a/dev/incompressible_liquids/json/MAM.json +++ b/dev/incompressible_liquids/json/MAM.json @@ -100,7 +100,7 @@ "type": "notdefined" }, "name": "MAM", - "reference": "Melinder Book", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MAM2.json b/dev/incompressible_liquids/json/MAM2.json index 17b03f24..69d28336 100644 --- a/dev/incompressible_liquids/json/MAM2.json +++ b/dev/incompressible_liquids/json/MAM2.json @@ -1,11 +1,13 @@ { "T_freeze": { "coeffs": [ - 9.292564e+05, - 6.000000e+04, - 1.000000e+01 + [ + 5.582814e+00, + 1.512284e-01, + -3.735343e+00 + ] ], - "type": "exponential" + "type": "exppolynomial" }, "Tbase": 0.000000e+00, "Tmax": 2.931500e+02, @@ -87,7 +89,7 @@ "type": "notdefined" }, "name": "MAM2", - "reference": "Melinder-BOOK-2010, SecCool software", + "reference": "Melinder2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MCA.json b/dev/incompressible_liquids/json/MCA.json index 80d1d16c..f8a622dc 100644 --- a/dev/incompressible_liquids/json/MCA.json +++ b/dev/incompressible_liquids/json/MCA.json @@ -100,7 +100,7 @@ "type": "notdefined" }, "name": "MCA", - "reference": "Melinder Book", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MCA2.json b/dev/incompressible_liquids/json/MCA2.json index 444b2c13..ce63f684 100644 --- a/dev/incompressible_liquids/json/MCA2.json +++ b/dev/incompressible_liquids/json/MCA2.json @@ -1,11 +1,14 @@ { "T_freeze": { "coeffs": [ - 9.308955e+05, - 6.000000e+04, - 1.000000e+01 + [ + 5.653313e+00, + -1.078524e+00, + 5.849055e+00, + -1.617841e+01 + ] ], - "type": "exponential" + "type": "exppolynomial" }, "Tbase": 0.000000e+00, "Tmax": 3.031500e+02, @@ -95,7 +98,7 @@ "type": "notdefined" }, "name": "MCA2", - "reference": "Melinder-BOOK-2010, SecCool software", + "reference": "Melinder2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MEA.json b/dev/incompressible_liquids/json/MEA.json index 805416c1..33eb46de 100644 --- a/dev/incompressible_liquids/json/MEA.json +++ b/dev/incompressible_liquids/json/MEA.json @@ -100,7 +100,7 @@ "type": "notdefined" }, "name": "MEA", - "reference": "Melinder Book", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MEA2.json b/dev/incompressible_liquids/json/MEA2.json index 9c16ba52..6f66cfd6 100644 --- a/dev/incompressible_liquids/json/MEA2.json +++ b/dev/incompressible_liquids/json/MEA2.json @@ -80,7 +80,7 @@ 0.000000e+00 ], [ - -1.261406e-06, + -1.261407e-06, 1.595687e-04, -2.874999e-04, 0.000000e+00, @@ -100,7 +100,7 @@ "type": "notdefined" }, "name": "MEA2", - "reference": "Melinder-BOOK-2010, SecCool software", + "reference": "Melinder2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MEG.json b/dev/incompressible_liquids/json/MEG.json index 156baf7a..f0fde74e 100644 --- a/dev/incompressible_liquids/json/MEG.json +++ b/dev/incompressible_liquids/json/MEG.json @@ -100,7 +100,7 @@ "type": "notdefined" }, "name": "MEG", - "reference": "Melinder Book", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MEG2.json b/dev/incompressible_liquids/json/MEG2.json index c1213315..3bb25b39 100644 --- a/dev/incompressible_liquids/json/MEG2.json +++ b/dev/incompressible_liquids/json/MEG2.json @@ -100,7 +100,7 @@ "type": "notdefined" }, "name": "MEG2", - "reference": "Melinder-BOOK-2010, SecCool software", + "reference": "Melinder2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MGL.json b/dev/incompressible_liquids/json/MGL.json index 5e273337..d9d372c7 100644 --- a/dev/incompressible_liquids/json/MGL.json +++ b/dev/incompressible_liquids/json/MGL.json @@ -100,7 +100,7 @@ "type": "notdefined" }, "name": "MGL", - "reference": "Melinder Book", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MGL2.json b/dev/incompressible_liquids/json/MGL2.json index b90240db..c558f094 100644 --- a/dev/incompressible_liquids/json/MGL2.json +++ b/dev/incompressible_liquids/json/MGL2.json @@ -1,11 +1,16 @@ { "T_freeze": { "coeffs": [ - 9.321636e+05, - 6.000000e+04, - 1.000000e+01 + [ + 5.643904e+00, + -5.983132e-01, + 3.208226e+00, + -1.038046e+01, + 1.531831e+01, + -9.146761e+00 + ] ], - "type": "exponential" + "type": "exppolynomial" }, "Tbase": 0.000000e+00, "Tmax": 3.131500e+02, @@ -95,7 +100,7 @@ "type": "notdefined" }, "name": "MGL2", - "reference": "Melinder-BOOK-2010, SecCool software", + "reference": "Melinder2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MKA.json b/dev/incompressible_liquids/json/MKA.json index 8843b0b3..97009767 100644 --- a/dev/incompressible_liquids/json/MKA.json +++ b/dev/incompressible_liquids/json/MKA.json @@ -100,7 +100,7 @@ "type": "notdefined" }, "name": "MKA", - "reference": "Melinder Book", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MKA2.json b/dev/incompressible_liquids/json/MKA2.json index dafc7634..0d6ef223 100644 --- a/dev/incompressible_liquids/json/MKA2.json +++ b/dev/incompressible_liquids/json/MKA2.json @@ -1,11 +1,15 @@ { "T_freeze": { "coeffs": [ - 9.317439e+05, - 6.000000e+04, - 1.000000e+01 + [ + 5.643432e+00, + -8.156028e-01, + 4.484583e+00, + -1.364947e+01, + 1.090680e+01 + ] ], - "type": "exponential" + "type": "exppolynomial" }, "Tbase": 0.000000e+00, "Tmax": 3.031500e+02, @@ -95,7 +99,7 @@ "type": "notdefined" }, "name": "MKA2", - "reference": "Melinder-BOOK-2010, SecCool software", + "reference": "Melinder2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MKC.json b/dev/incompressible_liquids/json/MKC.json index 057552ea..a155b4b9 100644 --- a/dev/incompressible_liquids/json/MKC.json +++ b/dev/incompressible_liquids/json/MKC.json @@ -100,7 +100,7 @@ "type": "notdefined" }, "name": "MKC", - "reference": "Melinder Book", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MKC2.json b/dev/incompressible_liquids/json/MKC2.json index 329c7460..cb990ea0 100644 --- a/dev/incompressible_liquids/json/MKC2.json +++ b/dev/incompressible_liquids/json/MKC2.json @@ -1,11 +1,16 @@ { "T_freeze": { "coeffs": [ - 9.337457e+05, - 6.000000e+04, - 1.000000e+01 + [ + 5.610043e+00, + 1.018931e-01, + -3.926708e+00, + 2.335889e+01, + -6.343317e+01, + 5.565994e+01 + ] ], - "type": "exponential" + "type": "exppolynomial" }, "Tbase": 0.000000e+00, "Tmax": 3.031500e+02, @@ -95,7 +100,7 @@ "type": "notdefined" }, "name": "MKC2", - "reference": "Melinder-BOOK-2010, SecCool software", + "reference": "Melinder2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MKF.json b/dev/incompressible_liquids/json/MKF.json index 93b9b6d5..4caf0608 100644 --- a/dev/incompressible_liquids/json/MKF.json +++ b/dev/incompressible_liquids/json/MKF.json @@ -100,7 +100,7 @@ "type": "notdefined" }, "name": "MKF", - "reference": "Melinder Book", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MLI.json b/dev/incompressible_liquids/json/MLI.json index b81ac462..2e0c4b21 100644 --- a/dev/incompressible_liquids/json/MLI.json +++ b/dev/incompressible_liquids/json/MLI.json @@ -100,7 +100,7 @@ "type": "notdefined" }, "name": "MLI", - "reference": "Melinder Book", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MMA.json b/dev/incompressible_liquids/json/MMA.json index 8b04508b..3ee50bd9 100644 --- a/dev/incompressible_liquids/json/MMA.json +++ b/dev/incompressible_liquids/json/MMA.json @@ -100,7 +100,7 @@ "type": "notdefined" }, "name": "MMA", - "reference": "Melinder Book", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MMA2.json b/dev/incompressible_liquids/json/MMA2.json index 223153e6..accf6fcc 100644 --- a/dev/incompressible_liquids/json/MMA2.json +++ b/dev/incompressible_liquids/json/MMA2.json @@ -1,11 +1,16 @@ { "T_freeze": { "coeffs": [ - 9.307502e+05, - 6.000000e+04, - 1.000000e+01 + [ + 5.612846e+00, + -2.775615e-01, + 1.946035e-01, + -2.014309e+00, + 3.148512e+00, + -2.580098e+00 + ] ], - "type": "exponential" + "type": "exppolynomial" }, "Tbase": 0.000000e+00, "Tmax": 2.931500e+02, @@ -95,7 +100,7 @@ "type": "notdefined" }, "name": "MMA2", - "reference": "Melinder-BOOK-2010, SecCool software", + "reference": "Melinder2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MMG.json b/dev/incompressible_liquids/json/MMG.json index c704e299..f62ccb45 100644 --- a/dev/incompressible_liquids/json/MMG.json +++ b/dev/incompressible_liquids/json/MMG.json @@ -100,7 +100,7 @@ "type": "notdefined" }, "name": "MMG", - "reference": "Melinder Book", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MMG2.json b/dev/incompressible_liquids/json/MMG2.json index 4c56d907..6771f6ce 100644 --- a/dev/incompressible_liquids/json/MMG2.json +++ b/dev/incompressible_liquids/json/MMG2.json @@ -1,11 +1,14 @@ { "T_freeze": { "coeffs": [ - 9.332731e+05, - 6.000000e+04, - 1.000000e+01 + [ + 5.609983e+00, + -1.321822e-01, + -1.458488e+00, + -3.263464e+00 + ] ], - "type": "exponential" + "type": "exppolynomial" }, "Tbase": 0.000000e+00, "Tmax": 3.031500e+02, @@ -38,9 +41,9 @@ 0.000000e+00 ], [ - -3.201909e-14, - -8.491526e-14, - 1.265223e-12, + -3.116864e-14, + -8.496811e-14, + 1.264271e-12, 0.000000e+00, 0.000000e+00, 0.000000e+00 @@ -75,9 +78,9 @@ 0.000000e+00 ], [ - 1.986411e-11, - -3.429773e-10, - 7.354027e-10, + 1.984946e-11, + -3.372422e-10, + 7.093277e-10, 0.000000e+00, 0.000000e+00, 0.000000e+00 @@ -95,7 +98,7 @@ "type": "notdefined" }, "name": "MMG2", - "reference": "Melinder-BOOK-2010, SecCool software", + "reference": "Melinder2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" @@ -127,9 +130,9 @@ 0.000000e+00 ], [ - 5.248779e-11, - -7.030447e-10, - 1.861376e-09, + 5.482548e-11, + -6.893357e-10, + 1.956098e-09, 0.000000e+00, 0.000000e+00, 0.000000e+00 @@ -164,9 +167,9 @@ 0.000000e+00 ], [ - -1.262879e-15, - -4.101099e-13, - 1.456601e-12, + -9.388323e-15, + -4.140820e-13, + 1.454213e-12, 0.000000e+00, 0.000000e+00, 0.000000e+00 diff --git a/dev/incompressible_liquids/json/MNA.json b/dev/incompressible_liquids/json/MNA.json index 2a634a7b..face89e3 100644 --- a/dev/incompressible_liquids/json/MNA.json +++ b/dev/incompressible_liquids/json/MNA.json @@ -100,7 +100,7 @@ "type": "notdefined" }, "name": "MNA", - "reference": "Melinder Book", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MNA2.json b/dev/incompressible_liquids/json/MNA2.json index e277feff..419bf94a 100644 --- a/dev/incompressible_liquids/json/MNA2.json +++ b/dev/incompressible_liquids/json/MNA2.json @@ -39,8 +39,8 @@ ], [ 5.963914e-14, - -1.171232e-12, - 3.544925e-12, + -1.171287e-12, + 3.544939e-12, 0.000000e+00, 0.000000e+00, 0.000000e+00 @@ -75,9 +75,9 @@ 0.000000e+00 ], [ - 2.382838e-11, - -4.371017e-10, - 2.078221e-09, + 2.382339e-11, + -4.369353e-10, + 2.078946e-09, 0.000000e+00, 0.000000e+00, 0.000000e+00 @@ -95,7 +95,7 @@ "type": "notdefined" }, "name": "MNA2", - "reference": "Melinder-BOOK-2010, SecCool software", + "reference": "Melinder2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" @@ -129,7 +129,7 @@ [ -7.407941e-11, 1.506720e-09, - -5.254342e-09, + -5.256161e-09, 0.000000e+00, 0.000000e+00, 0.000000e+00 @@ -164,9 +164,9 @@ 0.000000e+00 ], [ - 1.144571e-14, - -5.037253e-13, - 2.031073e-12, + 1.141968e-14, + -5.033025e-13, + 2.031147e-12, 0.000000e+00, 0.000000e+00, 0.000000e+00 diff --git a/dev/incompressible_liquids/json/MPG.json b/dev/incompressible_liquids/json/MPG.json index 6a49da5a..b04c80f5 100644 --- a/dev/incompressible_liquids/json/MPG.json +++ b/dev/incompressible_liquids/json/MPG.json @@ -100,7 +100,7 @@ "type": "notdefined" }, "name": "MPG", - "reference": "Melinder Book", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/MPG2.json b/dev/incompressible_liquids/json/MPG2.json index 2bc9cf9e..482871af 100644 --- a/dev/incompressible_liquids/json/MPG2.json +++ b/dev/incompressible_liquids/json/MPG2.json @@ -1,11 +1,16 @@ { "T_freeze": { "coeffs": [ - 9.314963e+05, - 6.000000e+04, - 1.000000e+01 + [ + 5.551677e+00, + 9.351475e-01, + -6.934728e+00, + 2.055368e+01, + -2.940299e+01, + 1.483940e+01 + ] ], - "type": "exponential" + "type": "exppolynomial" }, "Tbase": 0.000000e+00, "Tmax": 3.131500e+02, @@ -95,7 +100,7 @@ "type": "notdefined" }, "name": "MPG2", - "reference": "Melinder-BOOK-2010, SecCool software", + "reference": "Melinder2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/NBS.json b/dev/incompressible_liquids/json/NBS.json index 79e230ec..bfea1065 100644 --- a/dev/incompressible_liquids/json/NBS.json +++ b/dev/incompressible_liquids/json/NBS.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "NBS", - "reference": "Properties of Water and Steam in SI-Units, 2nd Revised and Updated Printing, Springer 1979, pp. 175 ff., SecCool software", + "reference": "Schmidt1979,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/NaK.json b/dev/incompressible_liquids/json/NaK.json index c1d3b1c7..af430e55 100644 --- a/dev/incompressible_liquids/json/NaK.json +++ b/dev/incompressible_liquids/json/NaK.json @@ -29,7 +29,7 @@ ], "type": "polynomial" }, - "description": "NitrateSalt", + "description": "Nitrate salt, heat transfer fluid based on 60% NaNO3 and 40% KNO3", "mass2input": { "coeffs": "null", "type": "notdefined" @@ -39,7 +39,7 @@ "type": "notdefined" }, "name": "NaK", - "reference": "Solar Power Tower Design Basis Document, Alexis B. Zavoico, Sandia Labs, USA", + "reference": "Zavoico2001", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/PCL.json b/dev/incompressible_liquids/json/PCL.json index bf6da345..b3d851cf 100644 --- a/dev/incompressible_liquids/json/PCL.json +++ b/dev/incompressible_liquids/json/PCL.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "PCL", - "reference": "Sulzer Chemtech AG, SecCool software", + "reference": "Sulzer1999,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/PCR.json b/dev/incompressible_liquids/json/PCR.json new file mode 100644 index 00000000..93cc2066 --- /dev/null +++ b/dev/incompressible_liquids/json/PCR.json @@ -0,0 +1,96 @@ +{ + "T_freeze": { + "coeffs": "null", + "type": "notdefined" + }, + "Tbase": 0.000000e+00, + "Tmax": 4.931500e+02, + "Tmin": 1.731500e+02, + "TminPsat": 3.581500e+02, + "conductivity": { + "coeffs": [ + [ + 1.631059e-01 + ], + [ + -7.723938e-05 + ], + [ + -9.279440e-09 + ], + [ + 9.384425e-12 + ] + ], + "type": "polynomial" + }, + "density": { + "coeffs": [ + [ + 1.122801e+03 + ], + [ + -9.963599e-01 + ], + [ + -4.931404e-05 + ], + [ + 6.240201e-08 + ] + ], + "type": "polynomial" + }, + "description": "Paratherm CR", + "mass2input": { + "coeffs": "null", + "type": "notdefined" + }, + "mole2input": { + "coeffs": "null", + "type": "notdefined" + }, + "name": "PCR", + "reference": "Paratherm2013", + "saturation_pressure": { + "coeffs": [ + -3.500387e+02, + -1.263655e+00, + 5.633270e+00 + ], + "type": "logexponential" + }, + "specific_heat": { + "coeffs": [ + [ + 7.239249e+02 + ], + [ + 4.715865e+00 + ], + [ + -3.019390e-03 + ], + [ + 2.864835e-06 + ] + ], + "type": "polynomial" + }, + "viscosity": { + "coeffs": [ + 5.082283e+02, + -9.138133e+01, + 1.654139e+01 + ], + "type": "exponential" + }, + "volume2input": { + "coeffs": "null", + "type": "notdefined" + }, + "xbase": 0.000000e+00, + "xid": "pure", + "xmax": 1.000000e+00, + "xmin": 0.000000e+00 +} \ No newline at end of file diff --git a/dev/incompressible_liquids/json/PGLT.json b/dev/incompressible_liquids/json/PGLT.json new file mode 100644 index 00000000..440802db --- /dev/null +++ b/dev/incompressible_liquids/json/PGLT.json @@ -0,0 +1,105 @@ +{ + "T_freeze": { + "coeffs": "null", + "type": "notdefined" + }, + "Tbase": 0.000000e+00, + "Tmax": 5.881500e+02, + "Tmin": 2.581500e+02, + "TminPsat": 4.731500e+02, + "conductivity": { + "coeffs": [ + [ + 1.570900e-01 + ], + [ + -8.237954e-05 + ], + [ + 5.104634e-09 + ], + [ + -3.543260e-12 + ] + ], + "type": "polynomial" + }, + "density": { + "coeffs": [ + [ + 1.081655e+03 + ], + [ + -6.968367e-01 + ], + [ + -1.680946e-06 + ], + [ + 1.614770e-09 + ] + ], + "type": "polynomial" + }, + "description": "Paratherm GLT", + "mass2input": { + "coeffs": "null", + "type": "notdefined" + }, + "mole2input": { + "coeffs": "null", + "type": "notdefined" + }, + "name": "PGLT", + "reference": "Paratherm2013", + "saturation_pressure": { + "coeffs": [ + [ + 1.029911e+01 + ], + [ + -7.539220e-02 + ], + [ + 2.280184e-04 + ], + [ + -1.679013e-07 + ] + ], + "type": "exppolynomial" + }, + "specific_heat": { + "coeffs": [ + [ + 1.158514e+03 + ], + [ + 2.031880e+00 + ], + [ + 2.669012e-03 + ], + [ + -1.975084e-06 + ] + ], + "type": "polynomial" + }, + "viscosity": { + "coeffs": [ + 9.153925e+02, + -1.626026e+02, + 1.710192e+01 + ], + "type": "exponential" + }, + "volume2input": { + "coeffs": "null", + "type": "notdefined" + }, + "xbase": 0.000000e+00, + "xid": "pure", + "xmax": 1.000000e+00, + "xmin": 0.000000e+00 +} \ No newline at end of file diff --git a/dev/incompressible_liquids/json/PHE.json b/dev/incompressible_liquids/json/PHE.json new file mode 100644 index 00000000..2a3b8004 --- /dev/null +++ b/dev/incompressible_liquids/json/PHE.json @@ -0,0 +1,105 @@ +{ + "T_freeze": { + "coeffs": "null", + "type": "notdefined" + }, + "Tbase": 0.000000e+00, + "Tmax": 6.031500e+02, + "Tmin": 2.731500e+02, + "TminPsat": 5.591500e+02, + "conductivity": { + "coeffs": [ + [ + 1.563268e-01 + ], + [ + -8.253507e-05 + ], + [ + 5.264080e-09 + ], + [ + -3.543260e-12 + ] + ], + "type": "polynomial" + }, + "density": { + "coeffs": [ + [ + 1.049547e+03 + ], + [ + -6.336424e-01 + ], + [ + -1.734667e-05 + ], + [ + 1.346206e-08 + ] + ], + "type": "polynomial" + }, + "description": "Paratherm HE", + "mass2input": { + "coeffs": "null", + "type": "notdefined" + }, + "mole2input": { + "coeffs": "null", + "type": "notdefined" + }, + "name": "PHE", + "reference": "Paratherm2013", + "saturation_pressure": { + "coeffs": [ + [ + 2.095865e+03 + ], + [ + -1.084546e+01 + ], + [ + 1.872153e-02 + ], + [ + -1.073661e-05 + ] + ], + "type": "exppolynomial" + }, + "specific_heat": { + "coeffs": [ + [ + 5.783817e+02 + ], + [ + 5.381708e+00 + ], + [ + -4.198314e-03 + ], + [ + 3.228878e-06 + ] + ], + "type": "polynomial" + }, + "viscosity": { + "coeffs": [ + 9.416352e+02, + -1.670752e+02, + 1.674234e+01 + ], + "type": "exponential" + }, + "volume2input": { + "coeffs": "null", + "type": "notdefined" + }, + "xbase": 0.000000e+00, + "xid": "pure", + "xmax": 1.000000e+00, + "xmin": 0.000000e+00 +} \ No newline at end of file diff --git a/dev/incompressible_liquids/json/PHR.json b/dev/incompressible_liquids/json/PHR.json new file mode 100644 index 00000000..3ab2ca75 --- /dev/null +++ b/dev/incompressible_liquids/json/PHR.json @@ -0,0 +1,105 @@ +{ + "T_freeze": { + "coeffs": "null", + "type": "notdefined" + }, + "Tbase": 0.000000e+00, + "Tmax": 6.431500e+02, + "Tmin": 2.581500e+02, + "TminPsat": 4.701500e+02, + "conductivity": { + "coeffs": [ + [ + 1.057443e-01 + ], + [ + 1.094539e-04 + ], + [ + -2.440677e-07 + ], + [ + 3.113233e-11 + ] + ], + "type": "polynomial" + }, + "density": { + "coeffs": [ + [ + 1.184850e+03 + ], + [ + -7.644911e-01 + ], + [ + -1.218437e-05 + ], + [ + 9.408965e-09 + ] + ], + "type": "polynomial" + }, + "description": "Paratherm HR", + "mass2input": { + "coeffs": "null", + "type": "notdefined" + }, + "mole2input": { + "coeffs": "null", + "type": "notdefined" + }, + "name": "PHR", + "reference": "Paratherm2013", + "saturation_pressure": { + "coeffs": [ + [ + -2.614839e+01 + ], + [ + 1.237943e-01 + ], + [ + -1.354870e-04 + ], + [ + 5.544196e-08 + ] + ], + "type": "exppolynomial" + }, + "specific_heat": { + "coeffs": [ + [ + 1.582541e+03 + ], + [ + 1.287975e-01 + ], + [ + 4.655061e-03 + ], + [ + -3.240899e-06 + ] + ], + "type": "polynomial" + }, + "viscosity": { + "coeffs": [ + 7.500522e+02, + -1.738728e+02, + 1.679323e+01 + ], + "type": "exponential" + }, + "volume2input": { + "coeffs": "null", + "type": "notdefined" + }, + "xbase": 0.000000e+00, + "xid": "pure", + "xmax": 1.000000e+00, + "xmin": 0.000000e+00 +} \ No newline at end of file diff --git a/dev/incompressible_liquids/json/PK2.json b/dev/incompressible_liquids/json/PK2.json index f3f709cb..68197524 100644 --- a/dev/incompressible_liquids/json/PK2.json +++ b/dev/incompressible_liquids/json/PK2.json @@ -80,7 +80,7 @@ 0.000000e+00 ], [ - 7.584600e-07, + 7.584599e-07, -1.681891e-06, 8.927989e-07, 0.000000e+00, @@ -109,7 +109,7 @@ "type": "notdefined" }, "name": "PK2", - "reference": "pro KUEHLSOLE GmbH, SecCool software", + "reference": "PKS2005,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/PKL.json b/dev/incompressible_liquids/json/PKL.json index 68ae924f..a4439993 100644 --- a/dev/incompressible_liquids/json/PKL.json +++ b/dev/incompressible_liquids/json/PKL.json @@ -80,7 +80,7 @@ 0.000000e+00 ], [ - -8.851911e-08, + -8.851905e-08, 8.435685e-07, -1.848113e-06, 0.000000e+00, @@ -109,7 +109,7 @@ "type": "notdefined" }, "name": "PKL", - "reference": "pro KUEHLSOLE GmbH, SecCool software", + "reference": "PKS2005,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/PLR.json b/dev/incompressible_liquids/json/PLR.json new file mode 100644 index 00000000..b14c2fe2 --- /dev/null +++ b/dev/incompressible_liquids/json/PLR.json @@ -0,0 +1,105 @@ +{ + "T_freeze": { + "coeffs": "null", + "type": "notdefined" + }, + "Tbase": 0.000000e+00, + "Tmax": 5.031500e+02, + "Tmin": 1.881500e+02, + "TminPsat": 3.681500e+02, + "conductivity": { + "coeffs": [ + [ + 1.752725e-01 + ], + [ + -8.246367e-05 + ], + [ + 6.437195e-09 + ], + [ + -5.383617e-12 + ] + ], + "type": "polynomial" + }, + "density": { + "coeffs": [ + [ + 9.779182e+02 + ], + [ + -7.391660e-01 + ], + [ + 1.022684e-05 + ], + [ + -1.054994e-08 + ] + ], + "type": "polynomial" + }, + "description": "Paratherm LR", + "mass2input": { + "coeffs": "null", + "type": "notdefined" + }, + "mole2input": { + "coeffs": "null", + "type": "notdefined" + }, + "name": "PLR", + "reference": "Paratherm2013", + "saturation_pressure": { + "coeffs": [ + [ + 9.986393e+01 + ], + [ + -7.381715e-01 + ], + [ + 1.892038e-03 + ], + [ + -1.535903e-06 + ] + ], + "type": "exppolynomial" + }, + "specific_heat": { + "coeffs": [ + [ + 6.687819e+02 + ], + [ + 5.676328e+00 + ], + [ + -5.336007e-03 + ], + [ + 5.156555e-06 + ] + ], + "type": "polynomial" + }, + "viscosity": { + "coeffs": [ + 6.701186e+02, + -1.187849e+02, + 1.717146e+01 + ], + "type": "exponential" + }, + "volume2input": { + "coeffs": "null", + "type": "notdefined" + }, + "xbase": 0.000000e+00, + "xid": "pure", + "xmax": 1.000000e+00, + "xmin": 0.000000e+00 +} \ No newline at end of file diff --git a/dev/incompressible_liquids/json/PMR.json b/dev/incompressible_liquids/json/PMR.json new file mode 100644 index 00000000..01286de1 --- /dev/null +++ b/dev/incompressible_liquids/json/PMR.json @@ -0,0 +1,105 @@ +{ + "T_freeze": { + "coeffs": "null", + "type": "notdefined" + }, + "Tbase": 0.000000e+00, + "Tmax": 5.881500e+02, + "Tmin": 2.331500e+02, + "TminPsat": 4.651500e+02, + "conductivity": { + "coeffs": [ + [ + 1.134095e-01 + ], + [ + 1.536496e-04 + ], + [ + -2.870616e-07 + ], + [ + -7.117922e-12 + ] + ], + "type": "polynomial" + }, + "density": { + "coeffs": [ + [ + 1.296943e+03 + ], + [ + -2.418344e+00 + ], + [ + 2.615453e-03 + ], + [ + -5.409719e-07 + ] + ], + "type": "polynomial" + }, + "description": "Paratherm MR", + "mass2input": { + "coeffs": "null", + "type": "notdefined" + }, + "mole2input": { + "coeffs": "null", + "type": "notdefined" + }, + "name": "PMR", + "reference": "Paratherm2013", + "saturation_pressure": { + "coeffs": [ + [ + -1.233687e+01 + ], + [ + 4.439058e-02 + ], + [ + 1.824763e-05 + ], + [ + -4.341090e-08 + ] + ], + "type": "exppolynomial" + }, + "specific_heat": { + "coeffs": [ + [ + 1.561140e+03 + ], + [ + 3.575435e+00 + ], + [ + -3.740280e-03 + ], + [ + 3.091760e-06 + ] + ], + "type": "polynomial" + }, + "viscosity": { + "coeffs": [ + 8.245834e+02, + -1.416506e+02, + 1.698899e+01 + ], + "type": "exponential" + }, + "volume2input": { + "coeffs": "null", + "type": "notdefined" + }, + "xbase": 0.000000e+00, + "xid": "pure", + "xmax": 1.000000e+00, + "xmin": 0.000000e+00 +} \ No newline at end of file diff --git a/dev/incompressible_liquids/json/PMS1.json b/dev/incompressible_liquids/json/PMS1.json index cea3ea2f..a2314b8d 100644 --- a/dev/incompressible_liquids/json/PMS1.json +++ b/dev/incompressible_liquids/json/PMS1.json @@ -39,7 +39,7 @@ "type": "notdefined" }, "name": "PMS1", - "reference": "Melinder-BOOK-2010", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/PMS2.json b/dev/incompressible_liquids/json/PMS2.json index 709f7b85..c16cad12 100644 --- a/dev/incompressible_liquids/json/PMS2.json +++ b/dev/incompressible_liquids/json/PMS2.json @@ -39,7 +39,7 @@ "type": "notdefined" }, "name": "PMS2", - "reference": "Melinder-BOOK-2010", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/PNF.json b/dev/incompressible_liquids/json/PNF.json index 35dfe45b..aee0f1b6 100644 --- a/dev/incompressible_liquids/json/PNF.json +++ b/dev/incompressible_liquids/json/PNF.json @@ -4,22 +4,22 @@ "type": "notdefined" }, "Tbase": 0.000000e+00, - "Tmax": 5.931500e+02, + "Tmax": 5.881500e+02, "Tmin": 2.631500e+02, - "TminPsat": 5.931500e+02, + "TminPsat": 4.661500e+02, "conductivity": { "coeffs": [ [ - 1.252004e-01 + 1.249024e-01 ], [ - -7.963016e-05 + -7.883376e-05 ], [ - 3.613946e-08 + 3.690718e-08 ], [ - -3.788073e-12 + -6.226963e-12 ] ], "type": "polynomial" @@ -27,21 +27,21 @@ "density": { "coeffs": [ [ - 1.058840e+03 + 1.076543e+03 ], [ - -5.464228e-01 + -6.492110e-01 ], [ - -1.752530e-04 + -3.154808e-05 ], [ - 5.776002e-08 + 2.345312e-08 ] ], "type": "polynomial" }, - "description": "Paratherm NF, Hydrotreated mineral oil", + "description": "Paratherm NF", "mass2input": { "coeffs": "null", "type": "notdefined" @@ -51,35 +51,57 @@ "type": "notdefined" }, "name": "PNF", - "reference": "Paratherm Ltd, SecCool software", + "reference": "Paratherm2013", "saturation_pressure": { - "coeffs": "null", - "type": "notdefined" + "coeffs": [ + [ + 3.701951e+01 + ], + [ + -1.977911e-01 + ], + [ + 4.184691e-04 + ], + [ + -2.748032e-07 + ] + ], + "type": "exppolynomial" }, "specific_heat": { "coeffs": [ [ - 2.932522e+02 + 6.490715e+02 ], [ - 5.411624e+00 + 2.766590e+00 ], [ - -6.468458e-04 + 5.777205e-03 ], [ - 5.066952e-07 + -4.589360e-06 ] ], "type": "polynomial" }, "viscosity": { "coeffs": [ - -2.400889e+02, - 2.880136e+00, - 5.928291e+00 + [ + 4.078752e+01 + ], + [ + -3.356326e-01 + ], + [ + 7.034467e-04 + ], + [ + -5.051335e-07 + ] ], - "type": "logexponential" + "type": "exppolynomial" }, "volume2input": { "coeffs": "null", @@ -87,6 +109,6 @@ }, "xbase": 0.000000e+00, "xid": "pure", - "xmax": 0.000000e+00, + "xmax": 1.000000e+00, "xmin": 0.000000e+00 } \ No newline at end of file diff --git a/dev/incompressible_liquids/json/PNF2.json b/dev/incompressible_liquids/json/PNF2.json new file mode 100644 index 00000000..6e03a9f0 --- /dev/null +++ b/dev/incompressible_liquids/json/PNF2.json @@ -0,0 +1,92 @@ +{ + "T_freeze": { + "coeffs": "null", + "type": "notdefined" + }, + "Tbase": 0.000000e+00, + "Tmax": 5.931500e+02, + "Tmin": 2.631500e+02, + "TminPsat": 5.931500e+02, + "conductivity": { + "coeffs": [ + [ + 1.252004e-01 + ], + [ + -7.963016e-05 + ], + [ + 3.613946e-08 + ], + [ + -3.788073e-12 + ] + ], + "type": "polynomial" + }, + "density": { + "coeffs": [ + [ + 1.058840e+03 + ], + [ + -5.464228e-01 + ], + [ + -1.752530e-04 + ], + [ + 5.776002e-08 + ] + ], + "type": "polynomial" + }, + "description": "Paratherm NF, Hydrotreated mineral oil", + "mass2input": { + "coeffs": "null", + "type": "notdefined" + }, + "mole2input": { + "coeffs": "null", + "type": "notdefined" + }, + "name": "PNF2", + "reference": "Paratherm2013,Skovrup2013", + "saturation_pressure": { + "coeffs": "null", + "type": "notdefined" + }, + "specific_heat": { + "coeffs": [ + [ + 2.932522e+02 + ], + [ + 5.411624e+00 + ], + [ + -6.468458e-04 + ], + [ + 5.066952e-07 + ] + ], + "type": "polynomial" + }, + "viscosity": { + "coeffs": [ + -2.400889e+02, + 2.880136e+00, + 5.928291e+00 + ], + "type": "logexponential" + }, + "volume2input": { + "coeffs": "null", + "type": "notdefined" + }, + "xbase": 0.000000e+00, + "xid": "pure", + "xmax": 0.000000e+00, + "xmin": 0.000000e+00 +} \ No newline at end of file diff --git a/dev/incompressible_liquids/json/SAB.json b/dev/incompressible_liquids/json/SAB.json index 58c59d0a..afb767f6 100644 --- a/dev/incompressible_liquids/json/SAB.json +++ b/dev/incompressible_liquids/json/SAB.json @@ -39,7 +39,7 @@ "type": "notdefined" }, "name": "SAB", - "reference": "Melinder-BOOK-2010", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/T66.json b/dev/incompressible_liquids/json/T66.json index 6ccc57ac..0b31d2a4 100644 --- a/dev/incompressible_liquids/json/T66.json +++ b/dev/incompressible_liquids/json/T66.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "T66", - "reference": "Therminol Heat Transfer Reference Disk", + "reference": "Therminol2014", "saturation_pressure": { "coeffs": [ -9.020703e+03, diff --git a/dev/incompressible_liquids/json/T72.json b/dev/incompressible_liquids/json/T72.json index bed5d168..7f7a2605 100644 --- a/dev/incompressible_liquids/json/T72.json +++ b/dev/incompressible_liquids/json/T72.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "T72", - "reference": "Therminol Heat Transfer Reference Disk", + "reference": "Therminol2014", "saturation_pressure": { "coeffs": [ [ diff --git a/dev/incompressible_liquids/json/TCO.json b/dev/incompressible_liquids/json/TCO.json index 3c5539d0..86f8ff6f 100644 --- a/dev/incompressible_liquids/json/TCO.json +++ b/dev/incompressible_liquids/json/TCO.json @@ -39,7 +39,7 @@ "type": "notdefined" }, "name": "TCO", - "reference": "Melinder-BOOK-2010", + "reference": "Melinder2010", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/TD12.json b/dev/incompressible_liquids/json/TD12.json index b184fcc0..06977b70 100644 --- a/dev/incompressible_liquids/json/TD12.json +++ b/dev/incompressible_liquids/json/TD12.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "TD12", - "reference": "Therminol Heat Transfer Reference Disk", + "reference": "Therminol2014", "saturation_pressure": { "coeffs": [ -3.457536e+03, diff --git a/dev/incompressible_liquids/json/TVP1.json b/dev/incompressible_liquids/json/TVP1.json index 54cdcea7..3fd44306 100644 --- a/dev/incompressible_liquids/json/TVP1.json +++ b/dev/incompressible_liquids/json/TVP1.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "TVP1", - "reference": "Therminol Heat Transfer Reference Disk", + "reference": "Therminol2014", "saturation_pressure": { "coeffs": [ -4.313871e+03, diff --git a/dev/incompressible_liquids/json/TVP1869.json b/dev/incompressible_liquids/json/TVP1869.json index a9a4b11f..0452b8a1 100644 --- a/dev/incompressible_liquids/json/TVP1869.json +++ b/dev/incompressible_liquids/json/TVP1869.json @@ -39,7 +39,7 @@ "type": "notdefined" }, "name": "TVP1869", - "reference": "Hoechst, SecCool software", + "reference": "Hoechst1995,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/TX22.json b/dev/incompressible_liquids/json/TX22.json index 55d40bc0..bc909195 100644 --- a/dev/incompressible_liquids/json/TX22.json +++ b/dev/incompressible_liquids/json/TX22.json @@ -51,14 +51,23 @@ "type": "notdefined" }, "name": "TX22", - "reference": "Texaco data sheet", + "reference": "Chevron2004", "saturation_pressure": { "coeffs": [ - -8.896764e+03, - -4.346506e+01, - -2.438007e+01 + [ + -4.667597e+01 + ], + [ + 1.402790e-01 + ], + [ + -3.198287e-05 + ], + [ + -8.170467e-08 + ] ], - "type": "exponential" + "type": "exppolynomial" }, "specific_heat": { "coeffs": [ diff --git a/dev/incompressible_liquids/json/TY10.json b/dev/incompressible_liquids/json/TY10.json index 0660d531..d23f9857 100644 --- a/dev/incompressible_liquids/json/TY10.json +++ b/dev/incompressible_liquids/json/TY10.json @@ -33,10 +33,10 @@ -4.000000e-01 ], [ - -2.441934e-14 + -2.441148e-14 ], [ - 4.087442e-17 + 4.090153e-17 ] ], "type": "polynomial" @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "TY10", - "reference": "Tyforop Chemie Gmbh - Technical information 09/99, SecCool software", + "reference": "Tyfoprop1999,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/TY15.json b/dev/incompressible_liquids/json/TY15.json index 05ccc2fd..e9f5f6c1 100644 --- a/dev/incompressible_liquids/json/TY15.json +++ b/dev/incompressible_liquids/json/TY15.json @@ -16,7 +16,7 @@ 7.000000e-04 ], [ - 6.853149e-17 + 6.853806e-17 ], [ -2.456396e-20 @@ -33,7 +33,7 @@ -4.000000e-01 ], [ - -8.005915e-15 + -8.003880e-15 ], [ -3.881444e-17 @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "TY15", - "reference": "Tyforop Chemie Gmbh - Technical information 09/99, SecCool software", + "reference": "Tyfoprop1999,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/TY20.json b/dev/incompressible_liquids/json/TY20.json index e05db468..4b6364ee 100644 --- a/dev/incompressible_liquids/json/TY20.json +++ b/dev/incompressible_liquids/json/TY20.json @@ -33,7 +33,7 @@ -4.000000e-01 ], [ - 2.591269e-14 + 2.590801e-14 ], [ -5.114724e-17 @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "TY20", - "reference": "Tyforop Chemie Gmbh - Technical information 09/99, SecCool software", + "reference": "Tyfoprop1999,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/TY24.json b/dev/incompressible_liquids/json/TY24.json index 6b5626de..23961fd1 100644 --- a/dev/incompressible_liquids/json/TY24.json +++ b/dev/incompressible_liquids/json/TY24.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "TY24", - "reference": "Tyforop Chemie Gmbh - Technical information 09/99, SecCool software", + "reference": "Tyfoprop1999,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/VCA.json b/dev/incompressible_liquids/json/VCA.json index 196a87b8..d61529cd 100644 --- a/dev/incompressible_liquids/json/VCA.json +++ b/dev/incompressible_liquids/json/VCA.json @@ -1,11 +1,13 @@ { "T_freeze": { "coeffs": [ - 9.290333e+05, - 6.000000e+04, - 1.000000e+01 + [ + 5.362735e+00, + 2.668310e+00, + -8.579530e+00 + ] ], - "type": "exponential" + "type": "exppolynomial" }, "Tbase": 0.000000e+00, "Tmax": 2.931500e+02, @@ -87,7 +89,7 @@ "type": "notdefined" }, "name": "VCA", - "reference": "VDI Waermeatlas 9th Edition 2002, SecCool software", + "reference": "Preisegger2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/VKC.json b/dev/incompressible_liquids/json/VKC.json index 84be0956..cdbd6aca 100644 --- a/dev/incompressible_liquids/json/VKC.json +++ b/dev/incompressible_liquids/json/VKC.json @@ -1,11 +1,15 @@ { "T_freeze": { "coeffs": [ - 9.319965e+05, - 6.000000e+04, - 1.000000e+01 + [ + 5.665198e+00, + -1.100695e+00, + 5.859190e+00, + -1.501478e+01, + 1.017784e+01 + ] ], - "type": "exponential" + "type": "exppolynomial" }, "Tbase": 0.000000e+00, "Tmax": 2.931500e+02, @@ -95,7 +99,7 @@ "type": "notdefined" }, "name": "VKC", - "reference": "VDI Waermeatlas 9th Edition 2002, SecCool software", + "reference": "Preisegger2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/VMA.json b/dev/incompressible_liquids/json/VMA.json index 9a4e64a2..0a7c2ba0 100644 --- a/dev/incompressible_liquids/json/VMA.json +++ b/dev/incompressible_liquids/json/VMA.json @@ -1,11 +1,16 @@ { "T_freeze": { "coeffs": [ - 9.231550e+05, - 6.000000e+04, - 1.000000e+01 + [ + 5.713551e+00, + -2.247710e+00, + 1.244199e+01, + -3.430821e+01, + 3.950593e+01, + -1.605229e+01 + ] ], - "type": "exponential" + "type": "exppolynomial" }, "Tbase": 0.000000e+00, "Tmax": 2.731500e+02, @@ -95,7 +100,7 @@ "type": "notdefined" }, "name": "VMA", - "reference": "VDI Waermeatlas 9th Edition 2002, SecCool software", + "reference": "Preisegger2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/VMG.json b/dev/incompressible_liquids/json/VMG.json index 3eba6e1d..dc08e577 100644 --- a/dev/incompressible_liquids/json/VMG.json +++ b/dev/incompressible_liquids/json/VMG.json @@ -1,11 +1,13 @@ { "T_freeze": { "coeffs": [ - 9.326449e+05, - 6.000000e+04, - 1.000000e+01 + [ + 5.589693e+00, + 3.337734e-01, + -4.242772e+00 + ] ], - "type": "exponential" + "type": "exppolynomial" }, "Tbase": 0.000000e+00, "Tmax": 2.931500e+02, @@ -87,7 +89,7 @@ "type": "notdefined" }, "name": "VMG", - "reference": "VDI Waermeatlas 9th Edition 2002, SecCool software", + "reference": "Preisegger2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/VNA.json b/dev/incompressible_liquids/json/VNA.json index 79bf463c..51fab60b 100644 --- a/dev/incompressible_liquids/json/VNA.json +++ b/dev/incompressible_liquids/json/VNA.json @@ -95,7 +95,7 @@ "type": "notdefined" }, "name": "VNA", - "reference": "VDI Waermeatlas 9th Edition 2002, SecCool software", + "reference": "Preisegger2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/XLT.json b/dev/incompressible_liquids/json/XLT.json index 2547c982..e4d38e24 100644 --- a/dev/incompressible_liquids/json/XLT.json +++ b/dev/incompressible_liquids/json/XLT.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "XLT", - "reference": "Dow Chemicals data sheet", + "reference": "Dow1997", "saturation_pressure": { "coeffs": [ -5.000000e+03, diff --git a/dev/incompressible_liquids/json/XLT2.json b/dev/incompressible_liquids/json/XLT2.json index 5ecc7dec..ec2318af 100644 --- a/dev/incompressible_liquids/json/XLT2.json +++ b/dev/incompressible_liquids/json/XLT2.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "XLT2", - "reference": "Dow Chemicals, SecCool software", + "reference": "Dow1997,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" @@ -65,7 +65,7 @@ 2.100000e+00 ], [ - 8.650944e-15 + 8.662076e-15 ], [ -1.546072e-16 diff --git a/dev/incompressible_liquids/json/ZAC.json b/dev/incompressible_liquids/json/ZAC.json index 1d28e08e..4af4b9ad 100644 --- a/dev/incompressible_liquids/json/ZAC.json +++ b/dev/incompressible_liquids/json/ZAC.json @@ -38,7 +38,7 @@ 0.000000e+00 ], [ - 7.748626e-09, + 7.748627e-09, -1.399289e-07, 2.343560e-07, 0.000000e+00, @@ -128,7 +128,7 @@ "type": "notdefined" }, "name": "ZAC", - "reference": "Arteco, SecCool software", + "reference": "Arteco2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/ZFC.json b/dev/incompressible_liquids/json/ZFC.json index 65564112..6dd073d9 100644 --- a/dev/incompressible_liquids/json/ZFC.json +++ b/dev/incompressible_liquids/json/ZFC.json @@ -1,11 +1,13 @@ { "T_freeze": { "coeffs": [ - 9.288690e+05, - 6.000000e+04, - 1.000000e+01 + [ + 5.477459e+00, + 6.932423e-01, + -1.434348e+00 + ] ], - "type": "exponential" + "type": "exppolynomial" }, "Tbase": 0.000000e+00, "Tmax": 3.731500e+02, @@ -112,7 +114,7 @@ "type": "notdefined" }, "name": "ZFC", - "reference": "Arteco, SecCool software", + "reference": "Arteco2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/ZLC.json b/dev/incompressible_liquids/json/ZLC.json index 2e51f648..ce17fb70 100644 --- a/dev/incompressible_liquids/json/ZLC.json +++ b/dev/incompressible_liquids/json/ZLC.json @@ -1,11 +1,13 @@ { "T_freeze": { "coeffs": [ - 9.271642e+05, - 6.000000e+04, - 1.000000e+01 + [ + 5.479471e+00, + 6.827346e-01, + -1.363820e+00 + ] ], - "type": "exponential" + "type": "exppolynomial" }, "Tbase": 0.000000e+00, "Tmax": 3.731500e+02, @@ -120,7 +122,7 @@ "type": "notdefined" }, "name": "ZLC", - "reference": "Arteco, SecCool software", + "reference": "Arteco2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/ZM.json b/dev/incompressible_liquids/json/ZM.json index 081c963b..5ddda9e5 100644 --- a/dev/incompressible_liquids/json/ZM.json +++ b/dev/incompressible_liquids/json/ZM.json @@ -133,7 +133,7 @@ "type": "notdefined" }, "name": "ZM", - "reference": "Arteco, SecCool software", + "reference": "Arteco2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/ZMC.json b/dev/incompressible_liquids/json/ZMC.json index 12b4849b..f0cc17b6 100644 --- a/dev/incompressible_liquids/json/ZMC.json +++ b/dev/incompressible_liquids/json/ZMC.json @@ -1,11 +1,13 @@ { "T_freeze": { "coeffs": [ - 9.272130e+05, - 6.000000e+04, - 1.000000e+01 + [ + 5.591126e+00, + 1.053098e-02, + -5.295193e-01 + ] ], - "type": "exponential" + "type": "exppolynomial" }, "Tbase": 0.000000e+00, "Tmax": 3.831500e+02, @@ -120,7 +122,7 @@ "type": "notdefined" }, "name": "ZMC", - "reference": "Arteco, SecCool software", + "reference": "Arteco2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/ZS10.json b/dev/incompressible_liquids/json/ZS10.json index 5518c09a..e7f6c502 100644 --- a/dev/incompressible_liquids/json/ZS10.json +++ b/dev/incompressible_liquids/json/ZS10.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "ZS10", - "reference": "Arteco, SecCool software", + "reference": "Arteco2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/ZS25.json b/dev/incompressible_liquids/json/ZS25.json index ec5247f7..e6560546 100644 --- a/dev/incompressible_liquids/json/ZS25.json +++ b/dev/incompressible_liquids/json/ZS25.json @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "ZS25", - "reference": "Arteco, SecCool software", + "reference": "Arteco2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/ZS40.json b/dev/incompressible_liquids/json/ZS40.json index 3a0330dc..a5efc609 100644 --- a/dev/incompressible_liquids/json/ZS40.json +++ b/dev/incompressible_liquids/json/ZS40.json @@ -36,7 +36,7 @@ -4.200618e-10 ], [ - 4.712469e-13 + 4.712470e-13 ] ], "type": "polynomial" @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "ZS40", - "reference": "Arteco, SecCool software", + "reference": "Arteco2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/ZS45.json b/dev/incompressible_liquids/json/ZS45.json index 635e03cf..ce9ad2c3 100644 --- a/dev/incompressible_liquids/json/ZS45.json +++ b/dev/incompressible_liquids/json/ZS45.json @@ -33,7 +33,7 @@ -5.524646e-01 ], [ - -3.713730e-11 + -3.713729e-11 ], [ 3.828340e-14 @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "ZS45", - "reference": "Arteco, SecCool software", + "reference": "Arteco2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/dev/incompressible_liquids/json/ZS55.json b/dev/incompressible_liquids/json/ZS55.json index 199c45f7..f408acd2 100644 --- a/dev/incompressible_liquids/json/ZS55.json +++ b/dev/incompressible_liquids/json/ZS55.json @@ -33,10 +33,10 @@ -6.044286e-01 ], [ - -2.253584e-12 + -2.253580e-12 ], [ - -3.942105e-15 + -3.942159e-15 ] ], "type": "polynomial" @@ -51,7 +51,7 @@ "type": "notdefined" }, "name": "ZS55", - "reference": "Arteco, SecCool software", + "reference": "Arteco2010,Skovrup2013", "saturation_pressure": { "coeffs": "null", "type": "notdefined" diff --git a/src/Backends/Helmholtz/FlashRoutines.cpp b/src/Backends/Helmholtz/FlashRoutines.cpp index d549142c..e50eff7c 100644 --- a/src/Backends/Helmholtz/FlashRoutines.cpp +++ b/src/Backends/Helmholtz/FlashRoutines.cpp @@ -932,7 +932,6 @@ void FlashRoutines::HSU_P_flash(HelmholtzEOSMixtureBackend &HEOS, parameters oth { bool saturation_called = false; long double value; - std::cout << "PHSU" << std::endl; if (HEOS.imposed_phase_index != iphase_not_imposed) { // Use the phase defined by the imposed phase @@ -940,7 +939,6 @@ void FlashRoutines::HSU_P_flash(HelmholtzEOSMixtureBackend &HEOS, parameters oth } else { - std::cout << "PHSU not imposed" << std::endl; // Find the phase, while updating all internal variables possible switch (other) { diff --git a/src/Backends/Helmholtz/ReducingFunctions.h b/src/Backends/Helmholtz/ReducingFunctions.h index 7c8781ab..4bf91ebc 100644 --- a/src/Backends/Helmholtz/ReducingFunctions.h +++ b/src/Backends/Helmholtz/ReducingFunctions.h @@ -147,17 +147,88 @@ public: long double d2Trdxidxj(const std::vector &x, std::size_t i, std::size_t j, x_N_dependency_flag xN_flag); long double Yr(const std::vector &x, const STLMatrix &beta, const STLMatrix &gamma, const STLMatrix &Y_c_ij, const std::vector &Yc); + /** \brief First composition derivative of \f$Y_r\f$ with \f$x_i\f$ + * + * If \f$x_N\f$ is given by \f$ x_N = 1-\sum_{i=1}^{N-1}x_i\f$ (Gernert, FPE, 2014, Table S1): + * \f{eqnarray*}{ + * \left(\frac{\partial Y_r}{\partial x_i}\right)_{\substack{x_{j\neq i} \\ i &x, std::size_t i, const STLMatrix &beta, const STLMatrix &gamma, const STLMatrix &Y_c_ij, const std::vector &Yc, x_N_dependency_flag xN_flag); + /** \brief Second composition derivative of \f$Y_r\f$ with \f$x_i\f$ + * + * If \f$x_N\f$ is given by \f$ x_N = 1-\sum_{i=1}^{N-1}x_i\f$ (Gernert, FPE, 2014, Table S1): + * \f{eqnarray*}{ + * \left(\frac{\partial^2 Y_r}{\partial x_i^2}\right)_{\substack{x_{j\neq i} \\ i &x, std::size_t i, const STLMatrix &beta, const STLMatrix &gamma, const STLMatrix &Y_c_ij, const std::vector &Yc, x_N_dependency_flag xN_flag); + /** \brief Second mixed composition derivative of \f$Y_r\f$ with \f$x_i\f$ and \f$x_j\f$ + * + * If \f$x_N\f$ is given by \f$ x_N = 1-\sum_{i=1}^{N-1}x_i\f$ (Gernert, FPE, 2014, Table S1): + * \f{eqnarray*}{ + * \left(\frac{\partial^2 Y_r}{\partial x_i\partial x_j}\right)_{\substack{x_{k\neq j\neq i} \\ i &x, std::size_t i, std::size_t j, const STLMatrix &beta, const STLMatrix &gamma, const STLMatrix &Y_c_ij, const std::vector &Yc, x_N_dependency_flag xN_flag); long double c_Y_ij(std::size_t i, std::size_t j, const STLMatrix &beta, const STLMatrix &gamma, const STLMatrix &Y_c); long double f_Y_ij(const std::vector &x, std::size_t i, std::size_t j, const STLMatrix &beta); + /** + * + * \f[ + * \left(\frac{\partial f_{Y,ki}(x_k, x_i)}{\partial x_i}\right)_{x_{k\neq i}} = x_k\frac{x_k+x_i}{\beta_{Y,ki}^2x_k+x_i} + \frac{x_kx_i}{\beta_{Y,ki}^2x_k+x_i}\left(1-\frac{x_k+x_i}{\beta_{Y,ki}^2x_k+x_i}\right) + * \f] + */ long double dfYkidxi__constxk(const std::vector &x, std::size_t k, std::size_t i, const STLMatrix &beta); + /** + * + * \f[ + * \left(\frac{\partial f_{Y,ik}(x_i, x_k)}{\partial x_i}\right)_{x_k} = x_k\frac{x_i+x_k}{\beta_{Y,ik}^2x_i+x_k} + \frac{x_ix_k}{\beta_{Y,ik}^2x_i+x_k}\left(1-\beta_{Y,ik}^2\frac{x_i+x_k}{\beta_{Y,ik}^2x_i+x_k}\right) + * \f] + */ long double dfYikdxi__constxk(const std::vector &x, std::size_t i, std::size_t k, const STLMatrix &beta); - long double d2fYkidxi2__constxk(const std::vector &x, std::size_t k, std::size_t i, const STLMatrix &beta); + /** + * \f[ + * \left(\frac{\partial^2 f_{Y,ki}(x_k, x_i)}{\partial x_i^2}\right)_{x_{k\neq i}} = \frac{1}{\beta_{Y,ki}^2x_k+x_i}\left(1-\frac{x_k+x_i}{\beta_{Y,ki}^2x_k+x_i}\right)\left(2x_k-\frac{2x_kx_i}{\beta_{Y,ki}^2x_k+x_i}\right) + * \f] + */ + long double d2fYkidxi2__constxk(const std::vector &x, std::size_t k, std::size_t i, const STLMatrix &beta); + /** + * \f[ + * \left(\frac{\partial^2 f_{Y,ik}(x_i, x_k)}{\partial x_i^2}\right)_{x_{k}} = \frac{1}{\beta_{Y,ik}^2x_i+x_k}\left(1-\beta_{Y,ik}^2\frac{x_i+x_k}{\beta_{Y,ik}^2x_i+x_k}\right)\left(2x_k-\frac{2x_ix_k\beta_{Y,ik}^2}{\beta_{Y,ik}^2x_i+x_k}\right) + * \f] + */ long double d2fYikdxi2__constxk(const std::vector &x, std::size_t i, std::size_t k, const STLMatrix &beta); - long double d2fYijdxidxj(const std::vector &x, std::size_t i, std::size_t k, const STLMatrix &beta); + /** + * \f{eqnarray*}{ + * \left(\frac{\partial^2 f_{Y,ki}(x_k, x_i)}{\partial x_i\partial x_j}\right)_{x_{k\neq j\neq i}} &=& \frac{x_i+x_j}{\beta_{Y,ij}^2x_i+x_j} + \frac{x_j}{\beta_{Y,ij}^2x_i+x_j}\left(1-\frac{x_i+x_j}{\beta_{Y,ij}^2x_i+x_j}\right) \\ + * &+& \frac{x_i}{\beta_{Y,ij}^2x_i+x_j}\left(1-\beta_{Y,ij}^2\frac{x_i+x_j}{\beta_{Y,ij}^2x_i+x_j}\right) - \frac{x_ix_j}{(\beta_{Y,ij}^2x_i+x_j)^2}\left(1+\beta_{Y,ij}^2-2\beta_{Y,ij}^2\frac{x_i+x_j}{\beta_{Y,ij}^2x_i+x_j}\right) + * \f} + */ + long double d2fYijdxidxj(const std::vector &x, std::size_t i, std::size_t k, const STLMatrix &beta); }; /** \brief Reducing function converter for dry air and HFC blends diff --git a/src/Backends/Incompressible/IncompressibleBackend.cpp b/src/Backends/Incompressible/IncompressibleBackend.cpp index ce233d0f..d81d510b 100644 --- a/src/Backends/Incompressible/IncompressibleBackend.cpp +++ b/src/Backends/Incompressible/IncompressibleBackend.cpp @@ -67,7 +67,7 @@ void IncompressibleBackend::update(CoolProp::input_pairs input_pair, double valu this->_phase = iphase_liquid; if (get_debug_level()>=50) std::cout << format("Incompressible backend: Phase type is %d ",this->_phase) << std::endl; - switch (input_pair) + switch (input_pair) { case PT_INPUTS: { _p = value1; @@ -94,6 +94,12 @@ void IncompressibleBackend::update(CoolProp::input_pairs input_pair, double valu _T = this->HmassP_flash(value1, value2); break; } + case QT_INPUTS: { + if (value1!=0) {throw ValueError("Incompressible fluids can only handle saturated liquid, Q=0.");} + _T = value2; + _p = fluid->psat(value2, _fractions[0]); + break; + } default: { throw ValueError( format("This pair of inputs [%s] is not yet supported", @@ -108,6 +114,21 @@ void IncompressibleBackend::update(CoolProp::input_pairs input_pair, double valu fluid->checkTPX(_T,_p,_fractions[0]); } +/// Set the fractions +/** +@param fractions The vector of fractions of the components converted to the correct input +*/ +void IncompressibleBackend::set_fractions(const std::vector &fractions){ + if (get_debug_level()>=10) std::cout << format("Incompressible backend: Called set_fractions with %s ",vec_to_string(fractions).c_str()) << std::endl; + if (fractions.size()!=1) throw ValueError(format("The incompressible backend only supports one entry in the fraction vector and not %d.",fractions.size())); + if ( ( this->_fractions.size()!=1 ) || + ( this->_fractions[0]!=fractions[0] ) ) { // Change it! + if (get_debug_level()>=20) std::cout << format("Incompressible backend: Updating the fractions triggered a change in reference state %s -> %s",vec_to_string(this->_fractions).c_str(),vec_to_string(fractions).c_str()) << std::endl; + this->_fractions = fractions; + fluid->set_reference_state(fluid->getTref(), fluid->getpref(), this->_fractions[0], fluid->gethref(), fluid->getsref()); + } +} + /// Set the mole fractions /** @param mole_fractions The vector of mole fractions of the components @@ -116,15 +137,16 @@ void IncompressibleBackend::set_mole_fractions(const std::vector &m if (get_debug_level()>=10) std::cout << format("Incompressible backend: Called set_mole_fractions with %s ",vec_to_string(mole_fractions).c_str()) << std::endl; if (mole_fractions.size()!=1) throw ValueError(format("The incompressible backend only supports one entry in the mole fraction vector and not %d.",mole_fractions.size())); if (fluid->getxid()==IFRAC_PURE) { - this->_fractions = std::vector(1,0); + this->set_fractions(std::vector(1,0)); if (get_debug_level()>=20) std::cout << format("Incompressible backend: Overwriting fractions for pure fluid with %s -> %s",vec_to_string(mole_fractions).c_str(),vec_to_string(this->_fractions).c_str()) << std::endl; } else if (fluid->getxid()==IFRAC_MOLE) { - this->_fractions = mole_fractions; + this->set_fractions(mole_fractions); } else { - this->_fractions.clear(); + std::vector tmp_fractions; for (std::size_t i = 0; i < mole_fractions.size(); i++) { - this->_fractions.push_back((long double) fluid->inputFromMole(0.0, mole_fractions[i])); + tmp_fractions.push_back((long double) fluid->inputFromMole(0.0, mole_fractions[i])); } + this->set_fractions(tmp_fractions); } } @@ -136,15 +158,16 @@ void IncompressibleBackend::set_mass_fractions(const std::vector &m if (get_debug_level()>=10) std::cout << format("Incompressible backend: Called set_mass_fractions with %s ",vec_to_string(mass_fractions).c_str()) << std::endl; if (mass_fractions.size()!=1) throw ValueError(format("The incompressible backend only supports one entry in the mass fraction vector and not %d.",mass_fractions.size())); if (fluid->getxid()==IFRAC_PURE) { - this->_fractions = std::vector(1,0); + this->set_fractions(std::vector(1,0)); if (get_debug_level()>=20) std::cout << format("Incompressible backend: Overwriting fractions for pure fluid with %s -> %s",vec_to_string(mass_fractions).c_str(),vec_to_string(this->_fractions).c_str()) << std::endl; } else if (fluid->getxid()==IFRAC_MASS) { - this->_fractions = mass_fractions; + this->set_fractions(mass_fractions); } else { - this->_fractions.clear(); + std::vector tmp_fractions; for (std::size_t i = 0; i < mass_fractions.size(); i++) { - this->_fractions.push_back((long double) fluid->inputFromMass(0.0, mass_fractions[i])); + tmp_fractions.push_back((long double) fluid->inputFromMass(0.0, mass_fractions[i])); } + this->set_fractions(tmp_fractions); } } @@ -156,15 +179,16 @@ void IncompressibleBackend::set_volu_fractions(const std::vector &v if (get_debug_level()>=10) std::cout << format("Incompressible backend: Called set_volu_fractions with %s ",vec_to_string(volu_fractions).c_str()) << std::endl; if (volu_fractions.size()!=1) throw ValueError(format("The incompressible backend only supports one entry in the volume fraction vector and not %d.",volu_fractions.size())); if (fluid->getxid()==IFRAC_PURE) { - this->_fractions = std::vector(1,0); + this->set_fractions(std::vector(1,0)); if (get_debug_level()>=20) std::cout << format("Incompressible backend: Overwriting fractions for pure fluid with %s -> %s",vec_to_string(volu_fractions).c_str(),vec_to_string(this->_fractions).c_str()) << std::endl; } else if (fluid->getxid()==IFRAC_VOLUME) { - this->_fractions = volu_fractions; + this->set_fractions(volu_fractions); } else { - this->_fractions.clear(); + std::vector tmp_fractions; for (std::size_t i = 0; i < volu_fractions.size(); i++) { - this->_fractions.push_back((long double) fluid->inputFromVolume(0.0, volu_fractions[i])); + tmp_fractions.push_back((long double) fluid->inputFromVolume(0.0, volu_fractions[i])); } + this->set_fractions(tmp_fractions); } } diff --git a/src/Backends/Incompressible/IncompressibleBackend.h b/src/Backends/Incompressible/IncompressibleBackend.h index 66765a5d..b2174eed 100644 --- a/src/Backends/Incompressible/IncompressibleBackend.h +++ b/src/Backends/Incompressible/IncompressibleBackend.h @@ -18,6 +18,13 @@ protected: //int _fractions_id; std::vector _fractions; IncompressibleFluid *fluid; + + /// Set the fractions + /** + @param fractions The vector of fractions of the components converted to the correct input + */ + void set_fractions(const std::vector &fractions); + public: IncompressibleBackend(); virtual ~IncompressibleBackend(){}; @@ -68,7 +75,7 @@ public: /// Check if the mole fractions have been set, etc. void check_status(); - + /// Calculate T given pressure and density /** @param rhomass The mass density in kg/m^3 @@ -90,7 +97,7 @@ public: @returns T The temperature in K */ long double PSmass_flash(long double p, long double smass); - + /// Calculate T given pressure and internal energy /** @param umass The mass internal energy in J/kg diff --git a/src/Backends/Incompressible/IncompressibleFluid.cpp b/src/Backends/Incompressible/IncompressibleFluid.cpp index bde623cf..48886828 100644 --- a/src/Backends/Incompressible/IncompressibleFluid.cpp +++ b/src/Backends/Incompressible/IncompressibleFluid.cpp @@ -16,6 +16,7 @@ This fluid instance is populated using an entry from a JSON file //IncompressibleFluid::IncompressibleFluid(); void IncompressibleFluid::set_reference_state(double T0, double p0, double x0, double h0, double s0){ + this->Tref = T0; this->rhoref = rho(T0,p0,x0); this->pref = p0; this->uref = h0 - p0/rhoref; @@ -491,7 +492,7 @@ bool IncompressibleFluid::checkP(double T, double p, double x) { double ps = 0.0; if (p_sat.type!=IncompressibleData::INCOMPRESSIBLE_NOT_SET) ps = psat(T, x); if (p < 0.0) throw ValueError(format("You cannot use negative pressures: %f < %f. ", p, 0.0)); - if (ps>0.0 && p < ps) throw ValueError(format("Equations are valid for liquid phase only: %f < %f (psat). ", p, ps)); + if (ps> 0.0 && p < ps) throw ValueError(format("Equations are valid for liquid phase only: %f < %f (psat). ", p, ps)); return true; } diff --git a/src/Backends/Incompressible/IncompressibleLibrary.cpp b/src/Backends/Incompressible/IncompressibleLibrary.cpp index 02ed986b..2e23fc71 100644 --- a/src/Backends/Incompressible/IncompressibleLibrary.cpp +++ b/src/Backends/Incompressible/IncompressibleLibrary.cpp @@ -486,7 +486,7 @@ void JSONIncompressibleLibrary::add_one(rapidjson::Value &fluid_json) { if (get_debug_level()>=20) std::cout << format("Incompressible library: Loading reference state for %s ",fluid.getName().c_str()) << std::endl; fluid.set_reference_state( - parse_value(fluid_json, "Tref", false, 25+273.15) , + parse_value(fluid_json, "Tref", false, 20+273.15) , parse_value(fluid_json, "pref", false, 1.01325e5) , parse_value(fluid_json, "xref", false, 0.0) , parse_value(fluid_json, "href", false, 0.0) , @@ -498,7 +498,7 @@ void JSONIncompressibleLibrary::add_one(rapidjson::Value &fluid_json) { // Add name->index mapping string_to_index_map[fluid.getName()] = index; - + // Add name to vector of names if (fluid.is_pure()){ this->name_vector_pure.push_back(fluid.getName()); diff --git a/src/Backends/REFPROP/REFPROPMixtureBackend.cpp b/src/Backends/REFPROP/REFPROPMixtureBackend.cpp index be068859..e79a5227 100644 --- a/src/Backends/REFPROP/REFPROPMixtureBackend.cpp +++ b/src/Backends/REFPROP/REFPROPMixtureBackend.cpp @@ -770,6 +770,26 @@ void REFPROPMixtureBackend::calc_phase_envelope(const std::string &type) &ierr, herr, errormessagelength); // Error message if (ierr > 0) { throw ValueError(format("%s",herr).c_str()); } } +long double REFPROPMixtureBackend::calc_cpmolar_idealgas(void) +{ + double rho_mol_L = 0.001*_rhomolar; + double p0, e0, h0, s0, cv0, cp0, w0, A0, G0; + THERM0dll(&_T,&rho_mol_L,&(mole_fractions[0]),&p0,&e0,&h0,&s0,&cv0,&cp0,&w0,&A0,&G0); + return static_cast(cp0); +} +long double REFPROPMixtureBackend::calc_first_partial_deriv(parameters Of, parameters Wrt, parameters Constant) +{ + if (Of == iP && Wrt == iT && (Constant == iDmolar || Constant == iDmass)) + { + double rho_mol_L = 0.001*_rhomolar; + double dpt; + DPDTdll(&_T, &rho_mol_L, &(mole_fractions[0]), &dpt); + return static_cast(dpt*1000); + } + else{ + throw ValueError(format("These derivative terms are not supported")); + } +} void REFPROPMixtureBackend::update(CoolProp::input_pairs input_pair, double value1, double value2) { diff --git a/src/Backends/REFPROP/REFPROPMixtureBackend.h b/src/Backends/REFPROP/REFPROPMixtureBackend.h index 43b6bc4c..525e15cf 100644 --- a/src/Backends/REFPROP/REFPROPMixtureBackend.h +++ b/src/Backends/REFPROP/REFPROPMixtureBackend.h @@ -55,6 +55,10 @@ public: /// Returns true if REFPROP is supported on this platform bool REFPROP_supported(void); + + long double calc_cpmolar_idealgas(void); + + long double calc_first_partial_deriv(parameters Of, parameters Wrt, parameters Constant); /// Set the fluids in REFPROP DLL by calling the SETUPdll function /** diff --git a/src/CoolProp.cpp b/src/CoolProp.cpp index 2ae3f255..54b21ee8 100644 --- a/src/CoolProp.cpp +++ b/src/CoolProp.cpp @@ -461,10 +461,8 @@ double PropsSI(const std::string &Output, const std::string &Name1, double Prop1 // Here is the real code that is inside the try block extract_backend(Ref, backend, fluid); double val = _PropsSI(Output, Name1, Prop1, Name2, Prop2, backend, fluid, std::vector()); - if (get_debug_level() > 1){ - std::cout << format("_PropsSI will return %g",val) << std::endl; - } - + if (get_debug_level() > 1){ std::cout << format("_PropsSI will return %g",val) << std::endl; } + return val; // END OF TRY #if !defined(PROPSSI_NO_ERROR_CATCH) } diff --git a/src/DataStructures.cpp b/src/DataStructures.cpp index b84ad823..c549e351 100644 --- a/src/DataStructures.cpp +++ b/src/DataStructures.cpp @@ -125,6 +125,7 @@ public: index_map.insert(std::pair("Tmax", iT_max)); index_map.insert(std::pair("pmax", iP_max)); index_map.insert(std::pair("molemass", imolar_mass)); + index_map.insert(std::pair("A", ispeed_sound)); std::map::iterator it; for(it = index_map.begin(); it != index_map.end(); ++it ) diff --git a/src/Solvers.cpp b/src/Solvers.cpp index 109c0bc0..40833dba 100644 --- a/src/Solvers.cpp +++ b/src/Solvers.cpp @@ -9,11 +9,11 @@ namespace CoolProp{ /** In this formulation of the Multi-Dimensional Newton-Raphson solver the Jacobian matrix is known. -Therefore, the dx vector can be obtained from +Therefore, the dx vector can be obtained from J(x)dx=-f(x) -for a given value of x. The pointer to the class FuncWrapperND that is passed in must implement the call() and Jacobian() +for a given value of x. The pointer to the class FuncWrapperND that is passed in must implement the call() and Jacobian() functions, each of which take the vector x. The data is managed using std::vector vectors @param f A pointer to an subclass of the FuncWrapperND class that implements the call() and Jacobian() functions @@ -33,7 +33,7 @@ std::vector NDNewtonRaphson_Jacobian(FuncWrapperND *f, std::vectortol){ f0 = f->call(x0); J = f->Jacobian(x0); - + // Negate f0 negative_f0 = f0; for (unsigned int i = 0; i NDNewtonRaphson_Jacobian(FuncWrapperND *f, std::vectortol) { @@ -137,11 +137,11 @@ double Secant(FuncWrapper1D* f, double x0, double dx, double tol, int maxiter, s if (iter>1) { double deltax = x2-x1; - if (std::abs(deltax)<1e-14) - { + if (std::abs(deltax)<1e-14) + { if (std::abs(fval) < tol*10) { - return x; + return x; } else { @@ -151,7 +151,7 @@ double Secant(FuncWrapper1D* f, double x0, double dx, double tol, int maxiter, s y2=fval; x3=x2-y2/(y2-y1)*(x2-x1); y1=y2; x1=x2; x2=x3; - + } if (iter>maxiter) { @@ -166,7 +166,7 @@ double Secant(FuncWrapper1D* f, double x0, double dx, double tol, int maxiter, s /** In the secant function, a 1-D Newton-Raphson solver is implemented. An initial guess for the solution is provided. -@param f A pointer to an instance of the FuncWrapper1D class that implements the call() function +@param f A pointer to an instance of the FuncWrapper1D class that implements the call() function @param x0 The inital guess for the solution @param xmax The upper bound for the solution @param xmin The lower bound for the solution @@ -181,7 +181,7 @@ double BoundedSecant(FuncWrapper1D* f, double x0, double xmin, double xmax, doub double x1=0,x2=0,x3=0,y1=0,y2=0,x,fval=999; int iter=1; errstring = ""; - + if (std::abs(dx)==0){ errstring = "dx cannot be zero"; return _HUGE;} while (iter<=3 || std::abs(fval)>tol) { @@ -204,7 +204,7 @@ double BoundedSecant(FuncWrapper1D* f, double x0, double xmin, double xmax, doub x3 = (xmax + x2)/2; } y1=y2; x1=x2; x2=x3; - + } if (iter>maxiter) { @@ -216,7 +216,7 @@ double BoundedSecant(FuncWrapper1D* f, double x0, double xmin, double xmax, doub return x3; } -/** +/** This function implements a 1-D bounded solver using the algorithm from Brent, R. P., Algorithms for Minimization Without Derivatives. Englewood Cliffs, NJ: Prentice-Hall, 1973. Ch. 3-4. @@ -243,11 +243,11 @@ double Brent(FuncWrapper1D* f, double a, double b, double macheps, double t, int // If one of the boundaries is to within tolerance, just stop if (std::abs(fb) < t) { return b;} if (!ValidNumber(fb)){ - throw ValueError(format("Brent's method f(b) is NAN for b = %g",b).c_str()); + throw ValueError(format("Brent's method f(b) is NAN for b = %g, other input was a = %g",b,a).c_str()); } if (std::abs(fa) < t) { return a;} if (!ValidNumber(fa)){ - throw ValueError(format("Brent's method f(a) is NAN for a = %g",a).c_str()); + throw ValueError(format("Brent's method f(a) is NAN for a = %g, other input was b = %g",a,b).c_str()); } if (fa*fb>0){ throw ValueError(format("Inputs in Brent [%f,%f] do not bracket the root. Function values are [%f,%f]",a,b,fa,fb)); diff --git a/src/Tests/TestObjects.cpp b/src/Tests/TestObjects.cpp index 6b56f6b0..9ee33bea 100644 --- a/src/Tests/TestObjects.cpp +++ b/src/Tests/TestObjects.cpp @@ -199,9 +199,9 @@ CoolProp::IncompressibleFluid CoolPropTesting::incompressibleFluidObject(){ //CH3OH.setMassToMole(mass2mole); //XLT.set_reference_state(25+273.15, 1.01325e5, 0.0, 0.0, 0.0); - double Tref = 25+273.15; - double pref = 0.0; - double xref = 0.25; + double Tref = 20+273.15; + double pref = 101325; + double xref = 0.0; double href = 0.0; double sref = 0.0; CH3OH.set_reference_state(Tref, pref, xref, href, sref); diff --git a/wrappers/Python/CoolProp/BibtexParser.py b/wrappers/Python/CoolProp/BibtexParser.py index 7a2e0d45..e479ff82 100644 --- a/wrappers/Python/CoolProp/BibtexParser.py +++ b/wrappers/Python/CoolProp/BibtexParser.py @@ -2,9 +2,11 @@ # -*- coding: utf8 -*- from __future__ import division, absolute_import, print_function -from pybtex.database.input import bibtex -from pybtex.plugin import find_plugin +from __future__ import generators +import pybtex.plugin, pybtex.database.input.bibtex, pybtex.errors import io +import codecs, latexcodec +import os @@ -14,228 +16,192 @@ class BibTeXerClass(object): to print a very basic bibliography. """ - def __init__(self, fName = '../../../CoolPropBibTeXLibrary.bib'): - self.DEBUG = False - - self.sanitizeDict = {} - self.sanitizeDict['year'] = "no year" - self.sanitizeDict['title'] = "no title" - self.sanitizeDict['journal'] = "no journal" - self.sanitizeDict['volume'] = "no volume" - self.sanitizeDict['pages'] = "no pages" - self.sanitizeDict['booktitle'] = "no book title" - self.sanitizeDict['school'] = "no school" - self.sanitizeDict['note'] = "no note" - self.sanitizeDict['publisher'] = "no publisher" - self.sanitizeDict['institution'] = "no institution" - + def __init__(self, fName = u'../../../CoolPropBibTeXLibrary.bib'): self.loadLibrary(fName) - def loadLibrary(self, path, keys=[]): + def loadLibrary(self, path, keys=[], encoding="latex"): + """Open a BibTex file and do some initial parsing. + The path to the file has to be provided, otherwise an exception is raised. + + Optionally, you can provide an array of keys to reduce the amount of + processed entries immediately. + + By default, the Bibtex file gets scanned with the artificial \"latex\" + encoding, which translates Latex commands to their unicode equivalents. + If you need Latex output, you can skip this step by passing another + codec to the \"encoding\" parameter, for example \"ascii\" or \"utf-8\". + """ + + if path is None: + raise ValueError("You have to provide a path to a bibtex file.") + + # Create the parser object if len(keys)>0: - bib_parser = bibtex.Parser(wanted_entries=keys) + bib_parser = pybtex.database.input.bibtex.Parser(wanted_entries=keys) else: - bib_parser = bibtex.Parser() + bib_parser = pybtex.database.input.bibtex.Parser() - self.library = bib_parser.parse_file(path) + # TODO: not needed anymore? + oldLatexCodec = False + if oldLatexCodec: + # Do not print that many warnings + pybtex.errors.set_strict_mode(enable=False) - #filename = path.splitext(aux_filename)[0] - #aux_data = auxfile.parse_file(aux_filename, output_encoding) - #bib_parser = find_plugin('pybtex.database.input', "bibtex") - #bib_data = bib_parser( - # encoding=bib_encoding, - # wanted_entries=aux_data.citations, - # min_crossrefs=min_crossrefs, - #).parse_files(aux_data.data, bib_parser.default_suffix) + # TODO: Remove empty lines to keep Pybtex from choking + with open(path, "r") as f: + lines = f.readlines() + cleaned = [l.strip() for l in lines if l.strip()] + + path = path+".filtered.bib" + with open(path, "w") as f: + f.writelines('\n'.join(cleaned)) + + # Open the file and convert it according to the encoding + with codecs.open(path, encoding=encoding) as stream: + self.library = bib_parser.parse_stream(stream) + + #os.remove(path) + + # Do some post-processing if encoding was latex + if encoding=="latex": + for tag in self.library.entries: + entry = self.library.entries[tag] + for key, value in entry.fields.iteritems(): + entry.fields[key] = self.stripCurls(value) + for key in entry.persons.keys(): + for i in range(len(entry.persons[key])): + entry.persons[key][i]._first = self.stripCurls(entry.persons[key][i].first()) + entry.persons[key][i]._middle = self.stripCurls(entry.persons[key][i].middle()) + entry.persons[key][i]._prelast = self.stripCurls(entry.persons[key][i].prelast()) + entry.persons[key][i]._last = self.stripCurls(entry.persons[key][i].last()) + entry.persons[key][i]._lineage = self.stripCurls(entry.persons[key][i].lineage()) + def stripCurls(self, text): + """Remove curly brackets from processed Latex code + + A function that always returns unicode. It also tries to recurse into + lists and dicts, but be careful this is not thoroughly tested. + """ + table = { ord(u'{'): None, ord(u'}'): None } + + if isinstance(text, str): # ordinary string + text = unicode(text) + elif isinstance(text, unicode): # unicode string + pass + else: + try: + for k in text.keys(): + text[k] = self.stripCurls(text[k]) + except AttributeError: + pass + # Check for list + if type(text)==type([]): + for i in range(len(text)): + text[i] = self.stripCurls(text[i]) + # return the plain object + return text + + stripped = text.translate(table) + return stripped + + + def getBibliography(self, keys=None, fmt="plaintext", style="unsrtalpha", enc=None, objects=False): + """This function creates a formatted bibliography according to the + defined parameters using Pybtex. + Specify your desired output format using the \"fmt\" parameter. Supported + formats are defined by Pybtex and the parameter is only passed on to the + plugin search function: latex, html, plaintext and markdown. + The \"style\" parameter is handled similarly. At the moment, Pybtex partly + supports the styles: alpha, plain, unsrt and unsrtalpha. + Use the objects parameter to obtain the formatted bibliography and the + backend renderer instead of the unicode object. + """ - def getEntry(self, key): if self.library is None: - raise ValueError("Library has not been loaded.") - if key in self.library.entries.keys(): - return self.library.entries[key] - else: - return "Key {0} not in library.".format(key) + raise ValueError("No library has been loaded, yet.") - ####################################### - # Some of Ian's old functions - ####################################### - def accent_substitutions(self, name): - mapping = [('{\\~n}','\xf1'), # � - ('{\\`e}','\xe8'), # � - ("{\\'e}",'\xe9'), # � - ("{\\'a}",'\xe1'), # � - ("{\\`a}",'\xe0'), # � - ("{\\'i}",'\xed'), # � - ("{\\'i}",'\xed'), # � - ('{\\\"o}','\xf6'), # � - ('{\\\"u}','\xfc'), # � - ('{\\v s}','\x161'), # � - ] - for old, new in mapping: - name = name.replace(old, new) - return name - - def count_substr(self, s, ss): - c = 0 - for e in s: - if e == ss: - c += 1 - return c - - def DE(self, s): - try: - return s.decode('ascii').encode('utf-8') - except UnicodeEncodeError: - print('Decoding error for',s) - - - def entry2rst(self, key): - - if key.startswith('__'): - return '' - - entry = self.getEntry(key) - - if entry is None: - return '' - - try: - authors = '; '.join([self.accent_substitutions(unicode(author).decode('ascii').encode('utf-8')) for author in entry.persons['author']]) - except UnicodeEncodeError: - print('Decoding error for',[author for author in entry.persons['author']]) - - if authors.find('{') > -1 or authors.find('}') > -1: - print(authors) - raise ValueError("authors [{authors:s}] may not have '{{' or '}}' character".format(authors = authors)) - - fields = entry.fields - - # Strip off the opening and closing brackets - fields['title'] = fields['title'].strip() - if fields['title'].startswith('{') and fields['title'].endswith('}'): - fields['title'] = fields['title'][1:len(entry.fields['title'])-1] - - f = fields - for key in f: - f[key] = self.DE(f[key]) - authors = str(authors) - - if entry.type == 'article': - if 'journal' not in fields: fields['journal'] = '' - if 'volume' not in fields: fields['volume'] = '' - if 'pages' not in fields: fields['pages'] = '' - - return authors + ', ' + f['year'] + ', ' + f['title'] + ', *' + f['journal'] + '*, ' + f['volume'] + ':' + f['pages'] - - elif entry.type == 'conference': - if 'journal' not in f: f['journal'] = '' - return authors + ', ' + f['year'] + ', ' + f['title'] + ', *' + f['booktitle'] + '*' - - elif entry.type == 'mastersthesis': - return authors + ', ' + f['year'] + ', ' + f['title'] + ', *' + f['school'] + '*' - - elif entry.type == 'unpublished': - return authors + ', ' + f['year'] + ', ' + f['title'] + ', note: ' + f['note'] - - elif entry.type == 'book': - return authors + ', ' + f['year'] + ', *' + f['title'] + '*, ' + f['publisher'] - - elif entry.type == 'techreport': - return authors + ', ' + f['year'] + ', *' + f['title'] + '*, ' + f['institution'] - - else: - print(entry) - - def entry2HTML(self, key): - - if key.startswith('__'): - return '' - - entry = self.getEntry(key) - - if entry is None: - return '' - - try: - authors = '; '.join([self.accent_substitutions(unicode(author).decode('ascii').encode('utf-8')) for author in entry.persons['author']]) - except UnicodeEncodeError: - print('Decoding error for',[author for author in entry.persons['author']]) - - if authors.find('{') > -1 or authors.find('}') > -1: - print(authors) - raise ValueError("authors [{authors:s}] may not have '{{' or '}}' character".format(authors = authors)) - - fields = entry.fields - - # Strip off the opening and closing brackets - fields['title'] = fields['title'].strip() - if fields['title'].startswith('{') and fields['title'].endswith('}'): - fields['title'] = fields['title'][1:len(entry.fields['title'])-1] - - f = fields - for key in f: - f[key] = self.DE(f[key]) - authors = str(authors) - - if entry.type == 'article': - if 'journal' not in fields: fields['journal'] = '' - if 'volume' not in fields: fields['volume'] = '' - if 'pages' not in fields: fields['pages'] = '' - - return authors + ', ' + f['year'] + ', ' + f['title'] + ', ' + f['journal'] + ', ' + f['volume'] + ':' + f['pages'] - - elif entry.type == 'conference': - if 'journal' not in f: f['journal'] = '' - return authors + ', ' + f['year'] + ', ' + f['title'] + ', ' + f['booktitle'] + '' - - elif entry.type == 'mastersthesis': - return authors + ', ' + f['year'] + ', ' + f['title'] + ', ' + f['school'] + '' - - elif entry.type == 'unpublished': - return authors + ', ' + f['year'] + ', ' + f['title'] + ', note: ' + f['note'] - - elif entry.type == 'book': - return authors + ', ' + f['year'] + ', ' + f['title'] + ', ' + f['publisher'] - - elif entry.type == 'techreport': - return authors + ', ' + f['year'] + ', ' + f['title'] + ', ' + f['institution'] - - else: - print(entry) - - - def entries2All(self, - keys=[], - output_encoding=None, - output_backend='plaintext', - style='unsrt'): - - style_cls = find_plugin('pybtex.style.formatting', style) + style_cls = pybtex.plugin.find_plugin('pybtex.style.formatting', style) style = style_cls() - bib_data = self.library #[ self.getEntry(key) for key in keys ] - formatted_bibliography = style.format_bibliography(bib_data) + data = self.library + biblio = style.format_bibliography(data,citations=keys) - output_backend = find_plugin('pybtex.backends', output_backend) - #output_filename = filename + output_backend.default_suffix - #output_backend(output_encoding).write_to_file(formatted_bibliography, output_filename) + backend_cls = pybtex.plugin.find_plugin('pybtex.backends', fmt) + backend = backend_cls(encoding=enc) + + if objects: + return biblio,backend stream = io.StringIO() - output_backend(output_encoding).write_to_stream(formatted_bibliography, stream) - # Retrieve contents + backend.write_to_stream(biblio, stream) contents = stream.getvalue() - # Close object and discard memory buffer -- - # .getvalue() will now raise an exception. stream.close() - print(contents) + return contents + + + def getEntry(self, key, label=False, fmt="plaintext", style="unsrtalpha", enc=None): + """If you only want a single entry from your bibliography and not the + whole thing, this function is for you. + It uses Pybtex, but removes the prologue and the epilogue and optionally + deletes the label. + For the other parameters, have a look at :func:`getBibliography`. + """ + # TODO: What is this for? + if key.startswith('__'): + return None + + biblio,backend = self.getBibliography(keys=[key], fmt=fmt, style=style, enc=enc, objects=True) + + # Disable prologue and the epilogue + backend.write_prologue = lambda : None + backend.write_epilogue = lambda : None + + stream = io.StringIO() + backend.write_to_stream(biblio, stream) + contents = stream.getvalue() + stream.close() + + if label: + return contents + + label_table = { + 'latex' : '}', + 'html' : '', + 'markdown' : ']', + 'plaintext' : ']', + } # How do we find the end of the label? + + end_of_label = contents.index(label_table[fmt]) + contents = contents[end_of_label+len(label_table[fmt]):].strip() + + if fmt=="latex": + contents = contents.replace(u"\\newblock ","") + elif fmt=="html": + contents = contents.replace(u"
","") + contents = contents.replace(u"
","") + + contents = contents.replace(u"\n","") + + return contents + + + +#getEntry(self, key, label=False, fmt="markdown", style="unsrtalpha", enc=None): if __name__=='__main__': - B = BibTeXerClass() - B.loadLibrary('../../../Web/fluid_properties/Incompressibles.bib') - print(B.entry2rst('Cesar2013')) - print(B.entries2All(keys=['Cesar2013'])) -# B = BibTeXerClass(fName='../../../Web/CoolPropBibTeXLibrary.bib') -# print(B.entry2rst('Mulero-JPCRD-2012')) -# print(B.entries2All(keys=['Mulero-JPCRD-2012'])) \ No newline at end of file + B = BibTeXerClass('../../../CoolPropBibTeXLibrary.bib') + print("\nLatex:") + print(B.getEntry(key='Mulero-JPCRD-2012', fmt='latex')) + print("\nHTML:") + print(B.getEntry(key='Mulero-JPCRD-2012', fmt='html')) + print("\nMarkdown:") + print(B.getEntry(key='Mulero-JPCRD-2012', fmt='markdown')) + print("\nText:") + print(B.getEntry(key='Mulero-JPCRD-2012', fmt='plaintext')) + + + + + + diff --git a/wrappers/Python/CoolProp/CoolProp.pyx b/wrappers/Python/CoolProp/CoolProp.pyx index 0e496d12..25b301ae 100644 --- a/wrappers/Python/CoolProp/CoolProp.pyx +++ b/wrappers/Python/CoolProp/CoolProp.pyx @@ -396,21 +396,26 @@ cdef class State: if _Fluid == 'none': return else: - if backend is None: + if '::' in Fluid: + backend, Fluid = Fluid.split(u'::',1) + elif backend is None: backend = u'?' + self.set_Fluid(Fluid, backend) self.Fluid = _Fluid + + # Parse the inputs provided + self.update(StateDict) + self.phase = phase if phase is None: self.phase = u'??'.encode('ascii') - # Parse the inputs provided - self.update(StateDict) -# #Set the phase flag -# if self.phase == 'Gas' or self.phase == 'Liquid' or self.phase == 'Supercritical': -# if self.is_CPFluid and (self.phase == 'Gas' or self.phase == 'Liquid'): -# self.CPS.flag_SinglePhase = True -# elif not self.is_CPFluid and phase is not None: -# _set_phase(self.phase) + + # Set the phase flag + if self.phase.lower() == 'gas': + self.pAS.specify_phase(constants_header.iphase_gas) + elif self.phase.lower() == 'liquid': + self.pAS.specify_phase(constants_header.iphase_liquid) # def __reduce__(self): # d={} @@ -421,7 +426,22 @@ cdef class State: # return rebuildState,(d,) cpdef set_Fluid(self, string Fluid, string backend): - self.pAS = AbstractState(backend, Fluid) + + cdef object _Fluid = Fluid + cdef object _backend = backend + new_fluid = [] + fracs = [] + if '[' in _Fluid and ']' in _Fluid: + pairs = _Fluid.split('&') + for pair in pairs: + fluid, frac = pair.split('[') + new_fluid.append(fluid) + fracs.append(float(frac.strip(']'))) + _Fluid = '&'.join(new_fluid) + else: + fracs = [1] + self.pAS = AbstractState(_backend, _Fluid) + self.pAS.set_mole_fractions(fracs) cpdef update_ph(self, double p, double h): """ @@ -434,7 +454,7 @@ cdef class State: h: float Enthalpy [kJ/kg] """ - self.pAS.update(HmassP_INPUTS, p*1000, h*1000) + self.pAS.update(HmassP_INPUTS, h*1000, p*1000) self.T_ = self.pAS.T() self.rho_ = self.pAS.rhomass() @@ -692,32 +712,23 @@ cdef class State: print 'Call to the Python call layer (CoolProp.CoolProp.Props)' print "'M' involves basically no computational effort and is a good measure of the function call overhead" - keys = ['H','P','S','U','C','O','V','L','M','C0','dpdT'] + keys = ['H','P','S','U','C','O','V','L','M','d(P)/d(T)|Dmolar'] for key in keys: t1=clock() for i in range(N): - CP.Props(key,'T',self.T_,'D',self.rho_,Fluid) + CP.PropsSI(key,'T',self.T_,'D',self.rho_,Fluid) t2=clock() print 'Elapsed time for {0:d} calls for "{1:s}" at {2:g} us/call'.format(N,key,(t2-t1)/N*1e6) print 'Direct c++ call to CoolProp without the Python call layer (_Props function)' print "'M' involves basically no computational effort and is a good measure of the function call overhead" - keys = ['H','P','S','U','C','O','V','L','M','C0','dpdT'] + keys = ['H','P','S','U','C','O','V','L','M','C0','d(P)/d(T)|Dmolar'] for key in keys: t1=clock() for i in range(N): - _Props(key,'T',self.T_,'D',self.rho_,Fluid) + _PropsSI(key,'T',self.T_,'D',self.rho_,Fluid) t2=clock() print 'Elapsed time for {0:d} calls for "{1:s}" at {2:g} us/call'.format(N,key,(t2-t1)/N*1e6) - - print 'Call to the c++ layer through IProps' - keys = [iH,iP,iS,iU,iC,iO,iV,iL,iMM,iC0,iDpdT] - for key in keys: - t1=clock() - for i in range(N): - _IProps(key,iT,self.T_,iD,self.rho_,self.iFluid) - t2=clock() - print 'Elapsed time for {0:d} calls for "{1:s}" at {2:g} us/call'.format(N,paras[key],(t2-t1)/N*1e6) print 'Call to the c++ layer using integers' keys = [iHmass, iP,iSmass,iUmass] @@ -728,11 +739,14 @@ cdef class State: self.pAS.keyed_output(key) t2=clock() print 'Elapsed time for {0:d} calls for "{1:s}" at {2:g} us/call'.format(N,paras[key],(t2-t1)/N*1e6) + + print 'Call to the AbstractState for molar mass (fast)' + t1=clock() + for i in range(N): + self.pAS.keyed_output(imolar_mass) + t2=clock() + print 'Elapsed time for {0:d} calls at {1:g} us/call'.format(N, (t2-t1)/N*1e6) - #~ keys = [iH,iP,iS,iU,iC,iO,iV,iL,iMM,iC0,iDpdT] - #~ isenabled = _isenabled_TTSE_LUT(Fluid) - #~ _enable_TTSE_LUT(Fluid) - #~ _IProps(iH,iT,self.T_,iD,self.rho_,self.iFluid) # # print 'Call using TTSE with T,rho' # print "'M' involves basically no computational effort and is a good measure of the function call overhead"