io.github.dfieser/thermocouple-its90
thermocouple-its90
NIST ITS-90 열전대 변환을 위한 Python 라이브러리: 8가지 문자 지정 유형(B, E, J, K, N, R, S, T) 모두에 대해 전압에서 온도로, 온도에서 전압으로 변환하며, 냉접점 보상( cold-junction compensation)과 제벡 계수(Seebeck coefficients)를 지원합니다. 테스트 스위트는 실행할 때마다 NIST 참조 테이블의 12,026개 표로 작성된 지점 전체를 검증합니다.
순수 표준 라이브러리만 사용하고, 의존성이 없으며, 완전히 타입이 지정되어 있습니다. 이 엔진의 브라우저 버전은 무료 온라인 열전대 계산기로 실행되며, 릴리스 때마다 이 저장소에서 복제(vendored)됩니다.
설치
pip install thermocouple-its90Related MCP server: mcp-units
열전대 밀리볼트를 온도로 변환
from thermocouple_its90 import TypeK
TypeK.emf(300.0) # 12.209 (mV at 300 C, 0 C reference: the table value)
TypeK.temperature(12.209) # 300.0 (C, ice-bath reference)
TypeK.seebeck(300.0) # 0.0416 (mV per C)
TypeK.range # (-270.0, 1372.0)냉접점 보상
열전대는 두 접점 간의 차이를 측정하며, 참조 테이블은 냉접점이 0 C에 있다고 가정합니다. 계측기 단자가 실온에 있다면, 테이블을 직접 조회하는 것은 잘못된 결과를 줍니다:
from thermocouple_its90 import TypeK
# Meter reads 4.096 mV, terminals at 25 C:
TypeK.temperature(4.096) # 100.0 C <- naive lookup, wrong
TypeK.temperature(4.096, reference=25.0) # 124.3 C <- the actual answer8가지 유형 모두 동일한 방식으로 작동합니다:
from thermocouple_its90 import get, letters
letters() # ['B', 'E', 'J', 'K', 'N', 'R', 'S', 'T']
get("s").emf(1400.0) # 14.373 mV
get("t").temperature(-4.648) # -149.98 C (cryogenic ranges included)주장이 아닌 검증된 정확도
순방향 참조 함수는 NIST 참조 테이블의 모든 12,026개 1도 단위 지점을 0.001 mV 인쇄 반올림 범위 내에서 재현합니다. 전체 비교는 모든 푸시에서 CI로 실행됩니다 (
tests/test_full_tables.py).역변환은 공개된 ITS-90 역다항식으로 초기값을 설정한 후, 정확한 순방향 함수에 대해 뉴턴 반복법으로 정밀화합니다. 왕복(round trip) 결과는 역다항식의 0.02~0.06 C 오차 범위 대신 마이크로도 단위까지 일치합니다.
K, E, T 유형은 공개된 역다항식이 중단되는 지점 아래인 전체 극저온 범위(-270 C까지)에서 역변환됩니다.
B 유형은 물리적 특성에 따라 처리됩니다: 실온 부근에서 EMF가 단조적이지 않으므로, 0.291 mV(약 250 C) 미만의 역변환은 두 가지 가능한 답 중 하나를 반환하는 대신 설명과 함께 거부됩니다.
AI 에이전트용 MCP 서버
언어 모델은 열전대 다항식을 잘못 기억합니다. 이 패키지는 Model Context Protocol 서버를 포함하여 에이전트가 대신 검증된 구현을 호출할 수 있게 합니다:
pip install "thermocouple-its90[mcp]"
claude mcp add thermocouple -- thermocouple-its90-mcp도구: thermocouple_to_temperature, thermocouple_to_emf,
thermocouple_types.
데이터 출처 및 라이선스
계수는 수작업으로 입력하지 않고 NIST ITS-90 열전대 데이터베이스(SRD 60, https://its90.nist.gov/)에서 기계적으로 파싱되었습니다. 이 데이터베이스는 미국 정부 간행물로 저작권의 적용을 받지 않는 NIST Monograph 175(Burns, Scroger, Strouse, Croarkin, Guthrie, 1993)를 재현합니다. 표준 데이터 세트는 data/its90.json에 있으며, _data.py는 이 파일에서 생성되고 두 파일이 어긋나면 CI가 실패합니다. 코드는 MIT 라이선스입니다.
관련 자료
실시간 계산기, 브라우저에서 실행되는 이 엔진, 예제와 FAQ 포함
같은 저자의 더 많은 검증된 공학 계산기 — 기준 전극, 합금 조성, 확산 및 XRD 도구 포함
lcf-strain-life, 저사이클 피로 해석을 위한 동일한 라이브러리-플러스-MCP 패턴
인용
이 라이브러리가 출판된 연구에서 유용하게 사용된다면, 항상 최신 릴리스를 가리키는 개념 DOI https://doi.org/10.5281/zenodo.22036393로 인용해 주시기 바랍니다 (CITATION.cff 참조). 또한 기반이 되는 참고문헌도 인용해 주시기 바랍니다: Burns, G. W., Scroger, M. G., Strouse, G. F., Croarkin, M. C., & Guthrie, W. F. (1993). Temperature-electromotive force reference functions and tables for the letter-designated thermocouple types based on the ITS-90 (NIST Monograph 175). NIST.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for aerospace calculations: orbital mechanics, ephemeris, DSN operations, ...
Remote MCP server for deterministic educational practice-assessment score conversions.
QuLab MCP remote server (Streamable HTTP) for computational science and lab tools.
Engineering calculation MCP server for oil and gas engineering applications.
Related MCP Servers
- AlicenseAqualityFmaintenanceA universal MCP server that exposes all UTCP-registered tools to MCP clients while providing a web interface for tool management.714 npm205MIT
- AlicenseAqualityDmaintenanceMCP server for converting cooking measurements (volume, weight, temperature) between common units like ml, cup, g, oz, and Celsius/Fahrenheit.31MIT
- AlicenseBqualityBmaintenanceAn MCP server for controlling lab instruments (oscilloscopes, signal generators, etc.) via standardized interfaces like USBTMC, RS-232, and LAN.100MIT
- AlicenseAqualityCmaintenanceThis MCP server enables AI clients to calculate the boiling temperature of water at a given absolute pressure using the IAPWS-IF97 standard, separating natural-language reasoning from authoritative scientific computation.1MIT