{ "info": { "author": "User:Nanite @ wikipedia", "author_email": "UNKNOWN", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Manufacturing", "Intended Audience :: Science/Research", "License :: Public Domain", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Scientific/Engineering :: Physics" ], "description": "=======================\r\nthermocouples_reference\r\n=======================\r\n\r\nPython module containing calibration data and lookup functions for standard\r\n`thermocouples`_ of types **B**, **C**, **D**, **E**, **G**, **J**, **K**,\r\n**M**, **N**, **P**, **R**, **S**, **T**, and some less standard types too.\r\n\r\nUsage and examples\r\n------------------\r\n\r\nBelow, the first computation shows that the type K thermocouple\r\nemf at 42\u00a0\u00b0C, with reference junction at 0\u00a0\u00b0C, is 1.694\u00a0mV\r\n(`compare to NIST table`_); the second calculation shows how passing\r\nin an array applies the function for each element, in the style of numpy:\r\n\r\n >>> from thermocouples_reference import thermocouples\r\n >>> typeK = thermocouples['K']\r\n >>> typeK\r\n \r\n >>> typeK.emf_mVC(42, Tref=0)\r\n 1.6938477049901346\r\n >>> typeK.emf_mVC([-3.14159, 42, 54], Tref=0)\r\n array([-0.12369326, 1.6938477 , 2.18822176])\r\n\r\nAn inverse lookup function is provided that you can use to get a temperature\r\nout of a measured voltage, including cold junction compensation effects.\r\nIf we put our type K thermocouple into a piece of spam and we read 1.1\u00a0mV,\r\nusing our voltmeter at room temperature (23\u00a0\u00b0C), then the spam is at\r\n50\u00a0\u00b0C. [1]_\r\n\r\n >>> typeK.inverse_CmV(1.1, Tref=23.0)\r\n 49.907928030075773\r\n >>> typeK.emf_mVC(49.907928030075773, Tref=23.0) # check result\r\n 1.1000000000000001\r\n\r\nThe functions are called ``emf_mVC`` and ``inverse_CmV`` just to remind you\r\nabout the units of voltage and temperature. Other temperature units are\r\nsupported as well:\r\n\r\n================== ========== ==============\r\n Temperature unit EMF lookup Inverse lookup\r\n================== ========== ==============\r\ndegrees Celsius .emf_mVC .inverse_CmV\r\ndegrees Fahrenheit .emf_mVF .inverse_FmV\r\nkelvins .emf_mVK .inverse_KmV\r\ndegrees Rankine .emf_mVR .inverse_RmV\r\n================== ========== ==============\r\n\r\nYou can also compute derivatives of the emf function. These are functional\r\nderivatives, not finite differences. The Seebeck coefficients of chromel\r\nand alumel differ by 42.00\u00a0\u03bcV/\u00b0C, at 687\u00a0\u00b0C:\r\n\r\n >>> typeK.emf_mVC(687,derivative=1)\r\n 0.041998175982382979\r\n\r\nData sources\r\n------------\r\n\r\nReaders may be familiar with thermocouple lookup tables (`example table`_).\r\nSuch tables are computed from standard reference functions, generally\r\npiecewise polynomials. [2]_ This module contains the source polynomials\r\n*directly*, and so in principle it is more accurate than any lookup table.\r\nLookup tables also often also include approximate polynomials for temperature\r\nlookup based on a given compensated emf value. Such inverse polynomials are\r\n*not included* in this module; rather, the inverse lookup is based on\r\nnumerically searching for a solution on the exact emf function.\r\n\r\nFor any thermocouple object, information about calibration and source is\r\navailable in the repr() of the .func attribute:\r\n\r\n >>> typeK.func\r\n \r\n\r\nThe data sources are:\r\n\r\n- Types B, E, J, K, N, R, S, T\r\n use coefficients from `NIST`_'s website, and are calibrations\r\n to the `ITS-90`_ scale. [3]_\r\n- Types G, M, P, and non-lettered types Au/Pt, Au/Pd, AuFe 0.07,\r\n IrRh 40/0, PtMo 5/0.1, PtRh 40/20\r\n use coefficients from `ASTM E 1751-00`_ and are calibrations to ITS-90.\r\n- Types C, D [4]_\r\n use coefficients found from a publication of OMEGA Engineering\r\n Inc., and are calibrations to `IPTS-68`_ scale. [5]_\r\n\r\nGraphs of functions (if you don't see anything, see\r\n`low temperature types here`_, `intermediate temperature types here`_, and\r\n`high temperature types here`_):\r\n\r\n.. image:: https://upload.wikimedia.org/wikipedia/commons/f/f8/Low_temperature_thermocouples_reference_functions.svg\r\n.. image:: https://upload.wikimedia.org/wikipedia/commons/9/95/Intermediate_temperature_thermocouples_reference_functions.svg\r\n.. image:: https://upload.wikimedia.org/wikipedia/commons/c/c3/High_temperature_thermocouples_reference_functions.svg\r\n\r\nRequirements\r\n------------\r\n\r\n- ``numpy``\r\n- ``scipy`` (optional, only needed for inverse lookup)\r\n- ``python2`` or ``python3`` languages\r\n\r\nInstallation\r\n------------\r\n\r\nRecommended installation is via pip. First, `install pip`_. Then::\r\n\r\n pip install thermocouples_reference --user\r\n\r\n(Remove the ``--user`` option if you are superuser and want to install\r\nsystem-wide.)\r\n\r\nDisclaimer\r\n----------\r\nThis module is provided for educational purposes. For any real-world\r\nprocess, I strongly recommend that you check the output of this module\r\nagainst a known good standard.\r\n\r\nI make no warranties as to the accuracy of this module, and shall\r\nnot be liable for any damage that may result from errors or omissions.\r\n\r\n.. _thermocouples: https://en.wikipedia.org/wiki/Thermocouple\r\n.. _emf reference function: https://en.wikipedia.org/wiki/Thermocouple#Thermocouple_characteristic_function\r\n.. _install pip: http://www.pip-installer.org/en/latest/installing.html\r\n.. _compare to NIST table: http://srdata.nist.gov/its90/download/type_k.tab\r\n.. _low temperature types here: http://commons.wikimedia.org/wiki/File:Low_temperature_thermocouples_reference_functions.svg\r\n.. _intermediate temperature types here: http://commons.wikimedia.org/wiki/File:Intermediate_temperature_thermocouples_reference_functions.svg\r\n.. _high temperature types here: http://commons.wikimedia.org/wiki/File:High_temperature_thermocouples_reference_functions.svg\r\n.. _NIST: http://srdata.nist.gov/its90/main/\r\n.. _example table: http://srdata.nist.gov/its90/download/type_k.tab\r\n.. _ITS-90: https://en.wikipedia.org/wiki/International_Temperature_Scale_of_1990\r\n.. _ASTM E 1751-00: http://www.google.com/search?q=ASTM+E1751\r\n.. _IPTS-68: http://www.bipm.org/en/si/history-si/temp_scales/ipts-68.html\r\n.. [1] This is the optimal temperature for spam. Always make sure your\r\n spam reads around 1.1 millivolt and you'll have a tasty treat.\r\n.. [2] A notable exception is NIST's type K curve which uses a polynomial plus\r\n gaussian. The gaussian conveniently captures a wiggle in the Seebeck\r\n coefficient of alumel, that happens around 130\u00a0\u00b0C.\r\n.. [3] The ITS-90 value *T*\\ :sub:`90` is believed to track the true\r\n thermodynamic temperature *T* very closely. \r\n The error *T* \u2212 *T*\\ :sub:`90` is quite small, of order 0.01 K for\r\n everyday conditions (up to about 200\u00a0\u00b0C), rising to around 0.05 K up\r\n at 1000\u00a0\u00b0C, and increasing even further after that. See\r\n `Supplementary Information for the ITS-90`_. Generally your\r\n thermocouple accuracy will be more limited by manufacturing variations\r\n and by degradation of the metals in the thermal gradient region.\r\n.. [4] An extra type G IPTS68 curve from the same source is available in\r\n ``thermocouples_reference.source_OMEGA.thermocouples``. The type G in\r\n the main ``thermocouples_reference.thermocouples`` contains the ASTM\r\n curve which is ITS-90 calibrated.\r\n.. [5] IPTS-68 reads higher than ITS-90 by about 1\u00a0\u00b0C at high temperatures\r\n around 2000\u00a0\u00b0C. See `Supplementary Information for the ITS-90`_\r\n (specifically Fig. 5 in the Introduction) for more information about\r\n the difference.\r\n\r\n.. _Supplementary Information for the ITS-90: http://www.bipm.org/en/publications/mep_kelvin/its-90_supplementary.html", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pypi.python.org/pypi/thermocouples_reference", "keywords": "thermocouple,thermometer,temperature,emf,electromotive,thermoelectric,Seebeck,lookup,table,NIST,ASTM", "license": "public domain", "maintainer": "", "maintainer_email": "", "name": "thermocouples_reference", "package_url": "https://pypi.org/project/thermocouples_reference/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/thermocouples_reference/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://pypi.python.org/pypi/thermocouples_reference" }, "release_url": "https://pypi.org/project/thermocouples_reference/0.20/", "requires_dist": null, "requires_python": null, "summary": "Thermocouple emf reference functions", "version": "0.20" }, "last_serial": 961112, "releases": { "0.16": [ { "comment_text": "", "digests": { "md5": "144e5c719c2030356fc7304bce5f648e", "sha256": "20a8e05f5c4b761f578c0ca51222c5c17da01982e7d088e4dca3850d589918c2" }, "downloads": -1, "filename": "thermocouples_reference-0.16.tar.gz", "has_sig": false, "md5_digest": "144e5c719c2030356fc7304bce5f648e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10520, "upload_time": "2013-12-17T00:34:42", "url": "https://files.pythonhosted.org/packages/c2/b6/8dac8cd52d7a504874b1f245109985888e80e6b171df5b135f6702fb46bd/thermocouples_reference-0.16.tar.gz" } ], "0.20": [ { "comment_text": "", "digests": { "md5": "9c2dbe3ba24834811a936d451f254a7a", "sha256": "94dd18ce6d44e92fffafbb0caf4ed2452efbc31a763850ff439929717f0f4f84" }, "downloads": -1, "filename": "thermocouples_reference-0.20.tar.gz", "has_sig": false, "md5_digest": "9c2dbe3ba24834811a936d451f254a7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17107, "upload_time": "2014-01-05T14:46:51", "url": "https://files.pythonhosted.org/packages/f9/38/4baa55697a347878f540ac1189e70ae40f8878dc400d526232c6ab779d6a/thermocouples_reference-0.20.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9c2dbe3ba24834811a936d451f254a7a", "sha256": "94dd18ce6d44e92fffafbb0caf4ed2452efbc31a763850ff439929717f0f4f84" }, "downloads": -1, "filename": "thermocouples_reference-0.20.tar.gz", "has_sig": false, "md5_digest": "9c2dbe3ba24834811a936d451f254a7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17107, "upload_time": "2014-01-05T14:46:51", "url": "https://files.pythonhosted.org/packages/f9/38/4baa55697a347878f540ac1189e70ae40f8878dc400d526232c6ab779d6a/thermocouples_reference-0.20.tar.gz" } ] }