psychrometry

Crates.iopsychrometry
lib.rspsychrometry
version0.3.0
sourcesrc
created_at2022-05-19 02:59:00.073898
updated_at2022-07-19 19:54:28.148518
descriptionPsychrometric calculations in Rust
homepage
repositoryhttps://github.com/idheepan/psychrometry
max_upload_size
id589478
size39,201
Dheepan Iyyampillai (idheepan)

documentation

https://docs.rs/psychrometry

README

Psychrometry library for Rust

Functions to calculate thermodynamic properties of gas-vapor mixtures

Psychrometry is derived from PsychroLib https://github.com/psychrometrics/psychrolib.

This library should make it easy to integrate temperature and humidity sensors with your rust based dashboards. Versions of PsychroLib for other languages are available from the above repository. The names are as close to the original as possible. The one major difference is that the function calls in this library is in snake_case while the original repository uses CamelCase. This library will update when it merges upstream.

Quick Start

The following example lets you get the enthalpy of moist air with dry bulb temperature and relative humidty.

use psychrometry::psychrolib::*;
use psychrometry::quantities::{Pressure, SpecificEnthalpy, Temperature};
use psychrometry::units::{Atmosphere, Fahrenheit, JoulesPerKg, KilojoulesPerKg};
let rel_hum = 0.25;
let tdry_bulb = Temperature::<Fahrenheit>::from(86);
let pres_ambient = Pressure::<Atmosphere>::from(1);
let sp_enthalpy: SpecificEnthalpy<KilojoulesPerKg> =
    get_moist_air_enthalpy_from_rel_hum(tdry_bulb, rel_hum, pres_ambient).unwrap();
let sp_enthalpy_exp = SpecificEnthalpy::<JoulesPerKg>::from(47015.61);
assert_eq!(sp_enthalpy_exp, sp_enthalpy);

Quantities and units

  • Temperature
    • celcius
    • kelvin
    • fahrenheit
  • Pressure
    • pascal
    • psi
    • atmosphere
  • Specific Enthalpy
    • joules per kilogram
    • kilojoules per kilogram
    • btu per pound

Functions implemented so far

  • get_trankine_from_tfahrenheit
  • get_tfahrenheit_from_trankine
  • get_tkelvin_from_tcelsius
  • get_tcelsius_from_tkelvin
  • get_sat_vap_pres
  • get_moist_air_enthalpy_from_rel_hum
  • get_moist_air_enthalpy_from_hum_ratio
  • get_vap_pres_from_hum_ratio
  • get_rel_hum_from_vap_pres
  • get_vap_pres_from_rel_hum
  • get_hum_ratio_from_vap_pres
  • get_hum_ratio_from_rel_hum

For questions, issues, feature requests like compatibility with similar devices and other changes, please file an issue in the github project

License

Licensed under

Commit count: 22

cargo fmt