Skip to content

HVAC Engine: Psychrometrics (Humid Air) analysis Java library. Humid air properties and thermodynamic processes, flows, heating, cooling, air mixing and more. Immutable, thread-safe, very accurate.

License

Notifications You must be signed in to change notification settings

pjazdzyk/hvac-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HVAC|Engine - Psychrometrics Analysis Library.
Thermodynamics of Humid Air for MEP/HVAC Engineers.

Author: Piotr Jazdzyk, MScEng
LinkedIn: https://www.linkedin.com/in/pjazdzyk



HVAC|Engine is a comprehensive library for calculating moist air properties, encompassing crucial thermodynamic processes such as heating, dry cooling, real cooling with condensate discharge, mixing single or multiple air streams, and more. Our goal is to provide a straightforward and efficient psychrometrics library, ideal for integration into any HVAC software development project.

Thread-Safe Architecture: This library is developed to ensure thread safety, allowing for concurrent access without compromising data integrity through the utilization of immutable objects.

HVAC|Engine   Maven Central   Build And Test
Vulnerabilities   Security Rating   Quality Gate Status   Coverage  

INSTALLATION AND TECH

Copy the Maven dependency provided below to your pom.xml file, and you are ready to go. For other package managers, check maven central repository: HVAC|Engine.

<dependency>
    <groupId>com.synerset</groupId>
    <artifactId>hvac-engine</artifactId>
    <version>1.1.0</version>
</dependency>

HVAC|Engine is developed using the following technologies:

Core:
image   image   image  

Engineering:
Unitility   Brent-Dekker-Solver  

CI/CD:
image   image  

FUNCTIONALITY

Moist air properties:

  • atmospheric pressure based on height above sea level,
  • temperature change based on height above sea level,
  • water vapour saturation pressure,
  • dew point temperature and wet bulb temperature,
  • air relative humidity,
  • humidity ratio and maximum humidity ratio,
  • kinematic and dynamic viscosity,
  • thermal conductivity,
  • specific enthalpy of humid air with water mist and ice mist components,
  • specific heat,
  • density,
  • thermal diffusivity,
  • Prandtl number.

Liquid water properties:

  • specific heat,
  • density,
  • specific enthalpy.

Physics of flow:

  • mass flow,
  • volumetric flow,
  • mass flow of dry air component,
  • volumetric flow of dry air component,
  • based on flow type specified during instance creation, other flows will be recalculated accordingly for specified Fluid properties,

Air heating:

  • heating process for input heat,
  • heating process for target outlet air temperature,
  • heating process for target outlet air relative humidity,

Air cooling:

  • dry cooling process for input heat,
  • dry cooling process for target outlet air temperature,
  • real cooling process with condensate discharge process for input heat,
  • real cooling process with condensate discharge process for target outlet temperature,
  • real cooling process with condensate discharge process for target outlet relative humidity,

Air stream mixing:

  • simple mixing of two flows with humidity content,
  • mixing of multiple flows with humidity content,
  • mixing algorithm which will try to adjust inlet and recirculation flow accordingly, to meet target output dry air mass flow and target outlet temperature.

License

MIT LICENSE.
This work is licensed under the terms of the MIT License with the additional requirement that proper attribution be given to the Piotr Jazdzyk as the original author in all derivative works and publications.

Atrribution

I have provided badges that you can include in your project to showcase your usage of our library:

Small shield with referenced most recent version tag:
Hvac-Engine

[![Hvac-Engine](https://img.shields.io/github/v/release/pjazdzyk/hvac-engine?label=Hvac-Engine&color=13ADF3&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMi41bW0iIGhlaWdodD0iMTQuNW1tIiB2aWV3Qm94PSIwIDAgMjI1MCAxNDUwIj4NCiAgPHBvbHlnb24gZmlsbD0iIzUwN0QxNCIgcG9pbnRzPSIyMjQxLjAzLDE1Ljg4IDExMzYuMzgsMTUuODQgOTA1Ljg4LDQxNS4xIDIwMTAuNTMsNDE1LjA5IiAvPg0KICA8cG9seWdvbiBmaWxsPSIjNzFBQjIzIiBwb2ludHM9IjExMTYuMzgsMTUuODQgNjU1Ljk5LDE1Ljg0IDQ5NC4xNSwyOTYuMTcgNzI0LjM1LDY5NC44OCIgLz4NCiAgPHBvbHlnb24gZmlsbD0iIzhBQzkzNCIgcG9pbnRzPSI0ODQuMTUsMzA2LjE3IDI1NS4wNiw3MDIuOTYgMzg3LjY2LDkzMi42NCA4NDUuODMsOTMyLjYzIiAvPg0KICA8cG9seWdvbiBmaWxsPSIjNThEMEZGIiBwb2ludHM9Ii03LjE3LDE0NDAuMDkgMTA5Ny45NywxNDQwLjA4IDEzMjguNDcsMTA0MC44MyAyMjMuMzIsMTA0MC44NSIgLz4NCiAgPHBvbHlnb24gZmlsbD0iIzEzQURGMyIgcG9pbnRzPSIxNzM5LjA0LDExNjAuOTEgMTUwOS4wOSw3NjIuNjQgMTExNy45NywxNDQwLjA4IDExODYuOTMsMTQ0MC4wOCAxNTc3Ljg3LDE0NDAuMDgiIC8+DQogIDxwb2x5Z29uIGZpbGw9IiMwMzkzRDAiIHBvaW50cz0iMTk3OC44LDc1Mi45NiAxODQ2LjIsNTIzLjMgMTM4Ni42OCw1MjMuMyAxNzQ5LjA0LDExNTAuOTEiIC8+DQo8L3N2Zz4=)](https://github.com/pjazdzyk/hvac-engine)

Tech shield with version tag for manual adjustment (you can indicate which version you actually use):
Hvac-Engine

[![Hvac-Engine](https://img.shields.io/badge/Hvac_Engine-v1.0.0-13ADF3?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMi41bW0iIGhlaWdodD0iMTQuNW1tIiB2aWV3Qm94PSIwIDAgMjI1MCAxNDUwIj4NCiAgPHBvbHlnb24gZmlsbD0iIzUwN0QxNCIgcG9pbnRzPSIyMjQxLjAzLDE1Ljg4IDExMzYuMzgsMTUuODQgOTA1Ljg4LDQxNS4xIDIwMTAuNTMsNDE1LjA5IiAvPg0KICA8cG9seWdvbiBmaWxsPSIjNzFBQjIzIiBwb2ludHM9IjExMTYuMzgsMTUuODQgNjU1Ljk5LDE1Ljg0IDQ5NC4xNSwyOTYuMTcgNzI4LjM1LDY5NC44OCIgLz4NCiAgPHBvbHlnb24gZmlsbD0iIzhBQzkzNCIgcG9pbnRzPSI0ODQuMTUsMzA2LjE3IDI1NS4wNiw3MDIuOTYgMzg3LjY2LDkzMi42NCA4NDUuODMsOTMyLjYzIiAvPg0KICA8cG9seWdvbiBmaWxsPSIjNThEMEZGIiBwb2ludHM9Ii03LjE3LDE0NDAuMDkgMTA5Ny45NywxNDQwLjA4IDEzMjguNDcsMTA0MC44MyAyMjMuMzIsMTA0MC44NSIgLz4NCiAgPHBvbHlnb24gZmlsbD0iIzEzQURGMyIgcG9pbnRzPSIxNzM5LjA0LDExNjAuOTEgMTUwOS4wOSw3NjIuNjQgMTExNy45NywxNDQwLjA4IDExODYuOTMsMTQ0MC4wOCAxNTc3Ljg3LDE0NDAuMDgiIC8+DQogIDxwb2x5Z29uIGZpbGw9IiMwMzkzRDAiIHBvaW50cz0iMTk3OC44LDc1Mi45NiAxODQ2LjIsNTIzLjMgMTM4Ni42OCw1MjMuMyAxNzQ5LjA0LDExNTAuOTEiIC8+DQo8L3N2Zz4=)](https://github.com/pjazdzyk/hvac-engine)

REFERENCE SOURCES

In the JavaDoc, you'll find linked references to specific papers and technical literature listed below.

  • [1] - ASHRAE FUNDAMENTALS 2002, CHAPTER 6 "Psychrometrics"
  • [2] - Buck, Arden L. "New Equations for Computing Vapour Pressure and Enhancement Factor". Journal of Applied Meteorology and Climatology (December 1981).
  • [3] - Buck Research Instruments L.L.C. "MODEL CR-1A HYGROMETER WITH AUTO FILL OPERATING MANUAL" (May 2012).
  • [4] - Morvay Z.K, Gvozdenac D.D. "Fundamentals for analysis and calculation of energy and environmental performance". Applied Industrial Energy And Environmental Management.
  • [5] - Lipska B. "Projektowanie Wentylacji i Klimatyzacji. Podstawy uzdatniania powietrza" Wydawnictwo Politechniki Śląskiej (Gliwice 2014).
  • [6] - https://www.engineeringtoolbox.com
  • [7] - Stull R. "Wet-Bulb Temperature from Relative Humidity and Air Temperature". Manuscript received 14 July 2011, in final form 28 August 2011
  • [8] - Tsilingiris P.T "Thermophysical and transport properties of humid air at temperature range between 0 and 100oC". Elsevier, Science Direct (September 2007)
  • [9] - E.W. Lemmon, R.T. Jacobsen, S.G. Penoncello, D. Friend. Thermodynamic Properties of Air and Mixtures of Nitrogen, Argon, and Oxygen from 60 to 2000 K at Pressures to 2000 MPa. J. Phys. Chem. Ref. Data, Vol. 29, No. 3, ( 2000)
  • [10] - M. Wanielista, R. Kersten, R. Eaglin. "Hydrology Water Quantity and Quality Control. 2nd ed." (1997).
  • [11] - F.E. Jones, G.L. Harris. ITS-90 Density of water formulation for volumetric standards' calibration. Journal of Research of the National Institute of Standards and Technology (1992)
  • [12] - Water specific heat tables: https://www.engineeringtoolbox.com/specific-heat-capacity-water-d_660.html

Acknowledgments

I extend my heartfelt gratitude to the Silesian University of Technology for imparting invaluable knowledge to me.
Thanks to Mathieu Soysal for his Maven central publisher.
Badges used in readme: Shields.io and Badges 4 README.md.