Skip to contents

These functions evaluate common comfort models without requiring Python at runtime. Relative humidity is always supplied in percent. Temperature and air-speed inputs follow units: SI uses degree C and m/s; IP uses degree F and ft/s.

Usage

comfort_pmv(
  tdb,
  tr = tdb,
  vr = 0.1,
  rh,
  met = 1.2,
  clo = 0.5,
  wme = 0,
  units = c("SI", "IP"),
  limit_inputs = TRUE,
  round_output = TRUE
)

comfort_set(
  tdb,
  tr = tdb,
  v = 0.1,
  rh,
  met = 1.2,
  clo = 0.5,
  wme = 0,
  units = c("SI", "IP"),
  limit_inputs = TRUE,
  round_output = TRUE,
  body_surface_area = 1.8258,
  p_atm = 101325,
  position = c("standing", "sitting")
)

comfort_adaptive(
  tdb,
  tr = tdb,
  t_running,
  v = 0.1,
  standard = c("ashrae55", "en16798"),
  category = NULL,
  units = c("SI", "IP"),
  limit_inputs = TRUE,
  round_output = TRUE
)

comfort_heat_index(
  tdb,
  rh,
  solar_exposure = 0,
  units = c("SI", "IP"),
  limit_inputs = TRUE,
  round_output = TRUE
)

Arguments

tdb

Dry-bulb air temperature.

tr

Mean radiant temperature. Defaults to tdb.

vr

Relative air speed for PMV.

rh

Relative humidity in percent.

met

Metabolic rate in met.

clo

Clothing insulation in clo.

wme

External work in met.

units

Unit system, "SI" or "IP".

limit_inputs

If TRUE, values outside the model applicability range are returned as NA.

round_output

If TRUE, round outputs like pythermalcomfort.

v

Air speed for SET and adaptive comfort.

body_surface_area

Body surface area in square meters for SET.

p_atm

Atmospheric pressure in Pa.

position

Body position, "standing" or "sitting".

t_running

Running mean outdoor temperature for adaptive comfort.

standard

Adaptive comfort standard, either "ashrae55" or "en16798".

category

Comfort category. For ASHRAE 55 use "80" or "90"; for EN 16798 use "I", "II", or "III".

solar_exposure

Relative solar exposure for heat index, from 0 to 1.

Value

A data frame with model outputs.

Details

Use these comfort_*() functions for vectorized data-frame calculations. Use comfort_model_pmv() and the other comfort_model_*() helpers to store fixed model assumptions for chart layers, and use geom_comfort_*() layers to draw comfort fields or zones on a psychrometric chart.

Output columns

  • comfort_pmv() returns pmv, ppd, and tsv (thermal sensation vote).

  • comfort_set() returns set.

  • comfort_adaptive() returns the selected standard, acceptability flags, comfort temperature, and upper/lower comfort-temperature limits. ASHRAE 55 includes 80% and 90% acceptability columns; EN 16798 includes category I, II, and III acceptability columns.

  • comfort_heat_index() returns heat_index, category, and category_id.

Examples

comfort_pmv(25, rh = 50, met = 1.4, clo = 0.5)
#>    pmv ppd     tsv
#> 1 0.41 8.5 Neutral
comfort_set(25, rh = 50)
#>    set
#> 1 24.3
comfort_adaptive(25, t_running = 20)
#>   standard tmp_cmf tmp_cmf_80_low tmp_cmf_80_up tmp_cmf_90_low tmp_cmf_90_up
#> 1 ashrae55      24           20.5          27.5           21.5          26.5
#>   acceptability_80 acceptability_90 lower upper acceptability
#> 1             TRUE             TRUE  20.5  27.5          TRUE
comfort_heat_index(32, rh = 70)
#>   heat_index category category_id
#> 1       40.4   danger           3