Utilities functions

Body Surface Area (BSA)

Returns the body surface area in square meters

body_surface_area(weight: number, height: number, formula: ("dubois" | "takahira" | "fujimoto" | "kurazumi")): number
Parameters
  • weight (number) body weight, [kg]
  • height (number) height, [m]
  • formula (("dubois" | "takahira" | "fujimoto" | "kurazumi") = "dubois") formula used to calculate the body surface area. default="dubois"
Returns
number : body surface area, [m2]

Relative Air Speed (v_relative)

Estimates the relative air speed which combines the average air speed of the space plus the relative air speed caused by the body movement. Vag is assumed to be 0 for metabolic rates equal and lower than 1 met and otherwise equal to Vag = 0.3 (M - 1) (m/s)

v_relative(v: number, met: number): number
Parameters
  • v (number) air spped measured by the sensor, [m/s]
  • met (number) metabolic rate, [met]
Returns
number : relative air speed, [m/s]

Dynamic Clothing Insulation

Estimates the dynamic clothing insulation of a moving occupant. The activity as well as the air speed modify the insulation characteristics of the clothing and the adjacent air layer. Consequently, the ISO 7730 states that the clothing insulation shall be corrected [2]. The ASHRAE 55 Standard corrects for the effect of the body movement for met equal or higher than 1.2 met using the equation clo = Icl × (0.6 + 0.4/met)

clo_dynamic(clo: number, met: number, standard: ("ASHRAE" | "ISO")): number
Parameters
  • clo (number) clothing insulation, [clo]
  • met (number) metabolic rate, [met]
  • standard (("ASHRAE" | "ISO") = "ASHRAE") If "ASHRAE", uses Equation provided in Section 5.2.2.2 of ASHRAE 55 2020
Returns
number : dunamic clothing insulation, [clo]

Units Converter

Converts IP values to SI units

units_converter(kwargs: T, from_units: ("IP" | "SI")): T
Parameters
  • kwargs (T) [t, v] units to convert
  • from_units (("IP" | "SI") = "IP") specify system to convert from
Returns
T : converted values in SI units

Running Mean Outdoor Temperature

Estimates the running mean temperature also known as prevailing mean outdoor temperature

running_mean_outdoor_temperature(temp_array: Array<number>, alpha: number, units: ("IP" | "SI")): number
Parameters
  • temp_array (Array<number>) array containing the mean daily temperature in descending order (i.e. from newest/yestedayr to oldest) :math: [t_{day-1}, t_{day-2}, ... , t_{day-n}] , Where :math: t_{day-1} is yesterday's daily mean temperature. The EN 16798-1 2019 [3] states that n should be equal to 7
  • alpha (number = 0.8) constant between 0 and 1. The EN 16798-1 2019 [3] recommends a value of 0.8, while the ASHRAE 55 2020 recommends to choose values between 0.9 and 0.6, corresponding to a slow- and fast- response running mean, respectively. Adaptive comfort theory suggest that a slow-response running mean (alpha = 0.9) could be more appropriate for climates in which synoptic-scale (day-to-day) temperature dynamics are relatively minor, sich as the humid tropics.
  • units (("IP" | "SI") = "SI") select the SI (International System of Units) or the IP (Imperial Units) system.
Returns
number : running mean outdoor temperature

Sky Vault View Factor (f_svv)

Calculates the sky-vault view fraction

f_svv(w: number, h: number, d: number): number
Parameters
  • w (number) width of the window, [m]
  • h (number) height of the window, [m]
  • d (number) distance between the occupant and the window, [m]
Returns
number : sky-vault view faction ranges between 0 and 1