From 490e0263bca77c658af4c43b31898e7f658b6eda Mon Sep 17 00:00:00 2001 From: dmey Date: Thu, 21 Mar 2019 11:23:43 +0000 Subject: [PATCH] Fix GetTDewPointFromVapPres in case of discontinuity with GetSatVapPres + bound HumRatio for all (#30) Tightens up checks for handling the minimum value of humidity ratio (now reset to no lower than 1e-7) as well and it resolves the issue in GetTDewPointFromVapPres due to the discontinuity in the formulae in GetSatVapPres -- we restrict iteration to either left or right part of the saturation vapour pressure curve to avoid iterating back and forth across the discontinuity of the curve at the freezing point. When the partial pressure of water vapour is within the discontinuity of GetSatVapPres we simply return the freezing point of water. --- src/c/psychrolib.c | 225 +++++++++++++++++++++--------- src/fortran/psychrolib.f90 | 209 ++++++++++++++++++++------- src/js/psychrolib.js | 212 ++++++++++++++++++++-------- src/python/psychrolib.py | 173 +++++++++++++++++------ src/vba/psychrolib.bas | 212 +++++++++++++++++++--------- tests/js/test_psychrolib_ip.js | 12 ++ tests/js/test_psychrolib_si.js | 20 +++ tests/test_psychrolib_ip.py | 15 ++ tests/test_psychrolib_si.py | 22 +++ tests/vba/test_psychrolib_ip.bas | 18 +++ tests/vba/test_psychrolib_ip.xlsm | Bin 81265 -> 88031 bytes tests/vba/test_psychrolib_si.bas | 27 ++++ tests/vba/test_psychrolib_si.xlsm | Bin 80651 -> 88670 bytes 13 files changed, 865 insertions(+), 280 deletions(-) diff --git a/src/c/psychrolib.c b/src/c/psychrolib.c index 2060e561..f3b37df3 100644 --- a/src/c/psychrolib.c +++ b/src/c/psychrolib.c @@ -53,12 +53,16 @@ * Global constants *****************************************************************************************************/ -#define R_DA_IP 53.350 // Universal gas constant for dry air (IP version) in ft∙lbf/lb_da/R - // Reference: ASHRAE Handbook - Fundamentals (2017) ch. 1 -#define R_DA_SI 287.042 // Universal gas constant for dry air (SI version) in J/kg_da/K - // Reference: ASHRAE Handbook - Fundamentals (2017) ch. 1 +#define R_DA_IP 53.350 // Universal gas constant for dry air (IP version) in ft∙lbf/lb_da/R + // Reference: ASHRAE Handbook - Fundamentals (2017) ch. 1 +#define R_DA_SI 287.042 // Universal gas constant for dry air (SI version) in J/kg_da/K + // Reference: ASHRAE Handbook - Fundamentals (2017) ch. 1 +#define INVALID -99999 // Invalid value -#define INVALID -99999 // Invalid value +#define MAX_ITER_COUNT 100 // Maximum number of iterations before exiting while loops. + +#define MIN_HUM_RATIO 1e-7 // Minimum acceptable humidity ratio used/returned by any functions. + // Any value above 0 or below the MIN_HUM_RATIO will be reset to this value. /****************************************************************************************************** @@ -286,6 +290,41 @@ double GetRelHumFromVapPres // (o) Relative humidity [0-1] return VapPres/GetSatVapPres(TDryBulb); } +// Helper function returning the derivative of the natural log of the saturation vapor pressure +// as a function of dry-bulb temperature. +// Reference: ASHRAE Handbook - Fundamentals (2017) ch. 1 eqn. 5 & 6 +double dLnPws_ // (o) Derivative of natural log of vapor pressure of saturated air in Psi [IP] or Pa [SI] + ( double TDryBulb // (i) Dry bulb temperature in °F [IP] or °C [SI] + ) +{ + double dLnPws, T; + + if (isIP()) + { + T = GetTRankineFromTFahrenheit(TDryBulb); + + if (TDryBulb <= 32.) + dLnPws = 1.0214165E+04 / pow(T, 2) - 5.3765794E-03 + 2 * 1.9202377E-07 * T + + 2 * 3.5575832E-10 * pow(T, 2) - 4 * 9.0344688E-14 * pow(T, 3) + 4.1635019 / T; + else + dLnPws = 1.0440397E+04 / pow(T, 2) - 2.7022355E-02 + 2 * 1.2890360E-05 * T + - 3 * 2.4780681E-09 * pow(T, 2) + 6.5459673 / T; + } + else + { + T = GetTKelvinFromTCelsius(TDryBulb); + + if (TDryBulb <= 0.) + dLnPws = 5.6745359E+03 / pow(T, 2) - 9.677843E-03 + 2 * 6.2215701E-07 * T + + 3 * 2.0747825E-09 * pow(T, 2) - 4 * 9.484024E-13 * pow(T, 3) + 4.1635019 / T; + else + dLnPws = 5.8002206E+03 / pow(T, 2) - 4.8640239E-02 + 2 * 4.1764768E-05 * T + - 3 * 1.4452093E-08 * pow(T, 2) + 6.5459673 / T; + } + + return dLnPws; +} + // Return dew-point temperature given dry-bulb temperature and vapor pressure. // Reference: ASHRAE Handbook - Fundamentals (2017) ch. 1 eqn. 5 and 6 // Notes: the dew point temperature is solved by inverting the equation giving water vapor pressure @@ -301,55 +340,71 @@ double GetTDewPointFromVapPres // (o) Dew Point temperature in °F [IP] or °C , double VapPres // (i) Partial pressure of water vapor in moist air in Psi [IP] or Pa [SI] ) { - // Bounds and step size as a function of the system of units - double _BOUNDS[2]; // Domain of validity of the equations - double _STEPSIZE; // Temperature step used for the calculation of numerical derivatives + // Bounds function of the system of units + double BOUNDS[2]; // Domain of validity of the equations + double T_WATER_FREEZE, T_WATER_FREEZE_LOW, T_WATER_FREEZE_HIGH, PWS_FREEZE_LOW, PWS_FREEZE_HIGH; + if (isIP()) { - _BOUNDS[0] = -148.; - _BOUNDS[1] = 392.; - _STEPSIZE = 0.01 * 9. / 5.; + BOUNDS[0] = -148.; + BOUNDS[1] = 392.; + T_WATER_FREEZE = 32.; } else { - _BOUNDS[0] = -100.; - _BOUNDS[1] = 200.; - _STEPSIZE = 0.01; + BOUNDS[0] = -100.; + BOUNDS[1] = 200.; + T_WATER_FREEZE = 0.; } - double TMidPoint = (_BOUNDS[0] + _BOUNDS[1]) / 2.; // Midpoint of domain of validity - // Bounds outside which a solution cannot be found - ASSERT (VapPres >= GetSatVapPres(_BOUNDS[0]) && VapPres <= GetSatVapPres(_BOUNDS[1]), "Partial pressure of water vapor is outside range of validity of equations") + ASSERT (VapPres >= GetSatVapPres(BOUNDS[0]) && VapPres <= GetSatVapPres(BOUNDS[1]), "Partial pressure of water vapor is outside range of validity of equations") + + // Vapor pressure contained within the discontinuity of the Pws function: return temperature of freezing + T_WATER_FREEZE_LOW = T_WATER_FREEZE - PSYCHROLIB_TOLERANCE / 10.; // Temperature just below freezing + T_WATER_FREEZE_HIGH = T_WATER_FREEZE + PSYCHROLIB_TOLERANCE / 10.; // Temperature just above freezing + PWS_FREEZE_LOW = GetSatVapPres(T_WATER_FREEZE_LOW); + PWS_FREEZE_HIGH = GetSatVapPres(T_WATER_FREEZE_HIGH); + + // Restrict iteration to either left or right part of the saturation vapor pressure curve + // to avoid iterating back and forth across the discontinuity of the curve at the freezing point + // When the partial pressure of water vapor is within the discontinuity of GetSatVapPres, + // simply return the freezing point of water. + if (VapPres < PWS_FREEZE_LOW) + BOUNDS[1] = T_WATER_FREEZE_LOW; + else if (VapPres > PWS_FREEZE_LOW) + BOUNDS[0] = T_WATER_FREEZE_HIGH; + else + return T_WATER_FREEZE; + // We use NR to approximate the solution. // First guess - double Tdp = TDryBulb; // Calculated value of dew point temperatures, solved for iteratively in °F [IP] or °C [SI] - double lnVP = log(VapPres); // Natural logarithm of partial pressure of water vapor pressure in moist air + double TDewPoint = TDryBulb; // Calculated value of dew point temperatures, solved for iteratively in °F [IP] or °C [SI] + double lnVP = log(VapPres); // Natural logarithm of partial pressure of water vapor pressure in moist air + + double TDewPoint_iter; // Value of TDewPoint used in NR calculation + double lnVP_iter; // Value of log of vapor water pressure used in NR calculation + int index = 1; - double Tdp_c; // Value of Tdp used in NR calculation - double lnVP_c; // Value of log of vapor water pressure used in NR calculation - double d_Tdp; // Value of temperature step used in NR calculation do { - // Current point - Tdp_c = Tdp; - lnVP_c = log(GetSatVapPres(Tdp_c)); - // Step - negative in the right part of the curve, positive in the left part - // to avoid going past the domain of validity of eqn. 5 and 6 - // when Tdp_c is close to its bounds - if (Tdp_c > TMidPoint) - d_Tdp = -_STEPSIZE; - else - d_Tdp = _STEPSIZE; - // Derivative of function, calculated numerically - double d_lnVP = (log(GetSatVapPres(Tdp_c + d_Tdp)) - lnVP_c) / d_Tdp; + TDewPoint_iter = TDewPoint; // TDewPoint used in NR calculation + lnVP_iter = log(GetSatVapPres(TDewPoint_iter)); + + // Derivative of function, calculated analytically + double d_lnVP = dLnPws_(TDewPoint_iter); + // New estimate, bounded by domain of validity of eqn. 5 and 6 - Tdp = Tdp_c - (lnVP_c - lnVP) / d_lnVP; - Tdp = max(Tdp, _BOUNDS[0]); - Tdp = min(Tdp, _BOUNDS[1]); + TDewPoint = TDewPoint_iter - (lnVP_iter - lnVP) / d_lnVP; + TDewPoint = max(TDewPoint, BOUNDS[0]); + TDewPoint = min(TDewPoint, BOUNDS[1]); + + ASSERT (index <= MAX_ITER_COUNT, "Convergence not reached in GetTDewPointFromVapPres. Stopping.") + + index++; } - while (fabs(Tdp - Tdp_c) > PSYCHROLIB_TOLERANCE); - return min(Tdp, TDryBulb); + while (fabs(TDewPoint - TDewPoint_iter) > PSYCHROLIB_TOLERANCE); + return min(TDewPoint, TDryBulb); } // Return vapor pressure given dew point temperature. @@ -376,11 +431,13 @@ double GetTWetBulbFromHumRatio // (o) Wet bulb temperature in °F [IP] or °C [ { // Declarations double Wstar; - double TDewPoint, TWetBulb, TWetBulbSup, TWetBulbInf; + double TDewPoint, TWetBulb, TWetBulbSup, TWetBulbInf, BoundedHumRatio; + int index = 1; ASSERT (HumRatio >= 0., "Humidity ratio is negative") + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO); - TDewPoint = GetTDewPointFromHumRatio(TDryBulb, HumRatio, Pressure); + TDewPoint = GetTDewPointFromHumRatio(TDryBulb, BoundedHumRatio, Pressure); // Initial guesses TWetBulbSup = TDryBulb; @@ -388,19 +445,23 @@ double GetTWetBulbFromHumRatio // (o) Wet bulb temperature in °F [IP] or °C [ TWetBulb = (TWetBulbInf + TWetBulbSup) / 2.; // Bisection loop - while(TWetBulbSup - TWetBulbInf > PSYCHROLIB_TOLERANCE) + while ((TWetBulbSup - TWetBulbInf) > PSYCHROLIB_TOLERANCE) { // Compute humidity ratio at temperature Tstar Wstar = GetHumRatioFromTWetBulb(TDryBulb, TWetBulb, Pressure); // Get new bounds - if (Wstar > HumRatio) + if (Wstar > BoundedHumRatio) TWetBulbSup = TWetBulb; else TWetBulbInf = TWetBulb; // New guess of wet bulb temperature TWetBulb = (TWetBulbSup+TWetBulbInf) / 2.; + + ASSERT (index <= MAX_ITER_COUNT, "Convergence not reached in GetTWetBulbFromHumRatio. Stopping.") + + index++; } return TWetBulb; @@ -439,8 +500,8 @@ double GetHumRatioFromTWetBulb // (o) Humidity Ratio in lb_H₂O lb_Air⁻¹ [I HumRatio = ((2830. - 0.24 * TWetBulb) * Wsstar - 1.006 * (TDryBulb - TWetBulb)) / (2830. + 1.86 * TDryBulb - 2.1 * TWetBulb); } - - return HumRatio; + // Validity check. + return max(HumRatio, MIN_HUM_RATIO); } // Return humidity ratio given dry-bulb temperature, relative humidity, and pressure. @@ -516,9 +577,14 @@ double GetHumRatioFromVapPres // (o) Humidity Ratio in lb_H₂O lb_Air⁻¹ [I , double Pressure // (i) Atmospheric pressure in Psi [IP] or Pa [SI] ) { + double HumRatio; + ASSERT (VapPres >= 0., "Partial pressure of water vapor in moist air is negative") - return 0.621945 * VapPres / (Pressure - VapPres); + HumRatio = 0.621945 * VapPres / (Pressure - VapPres); + + // Validity check. + return max(HumRatio, MIN_HUM_RATIO); } // Return vapor pressure given humidity ratio and pressure. @@ -528,11 +594,12 @@ double GetVapPresFromHumRatio // (o) Partial pressure of water vapor in moist , double Pressure // (i) Atmospheric pressure in Psi [IP] or Pa [SI] ) { - double VapPres; + double VapPres, BoundedHumRatio; ASSERT (HumRatio >= 0., "Humidity ratio is negative") + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO); - VapPres = Pressure * HumRatio/(0.621945 + HumRatio); + VapPres = Pressure * BoundedHumRatio / (0.621945 + BoundedHumRatio); return VapPres; } @@ -547,8 +614,12 @@ double GetSpecificHumFromHumRatio // (o) Specific humidity ratio in lb_H₂O lb_ ( double HumRatio // (i) Humidity ratio in lb_H₂O lb_Dry_Air⁻¹ [IP] or kg_H₂O kg_Dry_Air⁻¹ [SI] ) { + double BoundedHumRatio; + ASSERT (HumRatio >= 0., "Humidity ratio is negative") - return HumRatio / (1.0 + HumRatio); + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO); + + return BoundedHumRatio / (1.0 + BoundedHumRatio); } // Return the humidity ratio (aka mixing ratio) from specific humidity @@ -557,8 +628,14 @@ double GetHumRatioFromSpecificHum // (o) Humidity ratio in lb_H₂O lb_Dry_Air ( double SpecificHum // (i) Specific humidity ratio in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI] ) { + double HumRatio; + ASSERT (SpecificHum >= 0.0 && SpecificHum < 1.0, "Specific humidity is outside range [0,1[") - return SpecificHum / (1.0 - SpecificHum); + + HumRatio = SpecificHum / (1.0 - SpecificHum); + + // Validity check + return max(HumRatio, MIN_HUM_RATIO); } @@ -618,12 +695,15 @@ double GetTDryBulbFromEnthalpyAndHumRatio // (o) Dry-bulb temperature in °F [I , double HumRatio // (i) Humidity ratio in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI] ) { + double BoundedHumRatio; + ASSERT (HumRatio >= 0., "Humidity ratio is negative") + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO); if (isIP()) - return (MoistAirEnthalpy - 1061.0 * HumRatio) / (0.240 + 0.444 * HumRatio); + return (MoistAirEnthalpy - 1061.0 * BoundedHumRatio) / (0.240 + 0.444 * BoundedHumRatio); else - return (MoistAirEnthalpy / 1000.0 - 2501.0 * HumRatio) / (1.006 + 1.86 * HumRatio); + return (MoistAirEnthalpy / 1000.0 - 2501.0 * BoundedHumRatio) / (1.006 + 1.86 * BoundedHumRatio); } // Return humidity ratio from enthalpy and dry-bulb temperature. @@ -634,10 +714,14 @@ double GetHumRatioFromEnthalpyAndTDryBulb // (o) Humidity ratio in lb_H₂O lb_ , double TDryBulb // (i) Dry-bulb temperature in °F [IP] or °C [SI] ) { + double HumRatio; if (isIP()) - return (MoistAirEnthalpy - 0.240 * TDryBulb) / (1061.0 + 0.444 * TDryBulb); + HumRatio = (MoistAirEnthalpy - 0.240 * TDryBulb) / (1061.0 + 0.444 * TDryBulb); else - return (MoistAirEnthalpy / 1000.0 - 1.006 * TDryBulb) / (2501.0 + 1.86 * TDryBulb); + HumRatio = (MoistAirEnthalpy / 1000.0 - 1.006 * TDryBulb) / (2501.0 + 1.86 * TDryBulb); + + // Validity check. + return max(HumRatio, MIN_HUM_RATIO); } @@ -692,10 +776,13 @@ double GetSatHumRatio // (o) Humidity ratio of saturated air in lb_H , double Pressure // (i) Atmospheric pressure in Psi [IP] or Pa [SI] ) { - double SatVaporPres; + double SatVaporPres, SatHumRatio; SatVaporPres = GetSatVapPres(TDryBulb); - return 0.621945 * SatVaporPres / (Pressure - SatVaporPres); + SatHumRatio = 0.621945 * SatVaporPres / (Pressure - SatVaporPres); + + // Validity check. + return max(SatHumRatio, MIN_HUM_RATIO); } // Return saturated air enthalpy given dry-bulb temperature and pressure. @@ -738,9 +825,12 @@ double GetDegreeOfSaturation // (o) Degree of saturation [] , double Pressure // (i) Atmospheric pressure in Psi [IP] or Pa [SI] ) { + double BoundedHumRatio; + ASSERT (HumRatio >= 0., "Humidity ratio is negative") + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO); - return HumRatio / GetSatHumRatio(TDryBulb, Pressure); + return BoundedHumRatio / GetSatHumRatio(TDryBulb, Pressure); } // Return moist air enthalpy given dry-bulb temperature and humidity ratio. @@ -750,12 +840,15 @@ double GetMoistAirEnthalpy // (o) Moist Air Enthalpy in Btu lb⁻¹ [IP] or , double HumRatio // (i) Humidity ratio in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI] ) { + double BoundedHumRatio; + ASSERT (HumRatio >= 0., "Humidity ratio is negative") + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO); if (isIP()) - return 0.240 * TDryBulb + HumRatio*(1061. + 0.444 * TDryBulb); + return 0.240 * TDryBulb + BoundedHumRatio*(1061. + 0.444 * TDryBulb); else - return (1.006 * TDryBulb + HumRatio*(2501. + 1.86 * TDryBulb)) * 1000.; + return (1.006 * TDryBulb + BoundedHumRatio*(2501. + 1.86 * TDryBulb)) * 1000.; } // Return moist air specific volume given dry-bulb temperature, humidity ratio, and pressure. @@ -768,12 +861,15 @@ double GetMoistAirVolume // (o) Specific Volume ft³ lb⁻¹ [IP] or in m , double Pressure // (i) Atmospheric pressure in Psi [IP] or Pa [SI] ) { - ASSERT(HumRatio >= 0., "Humidity ratio is negative") + double BoundedHumRatio; + + ASSERT (HumRatio >= 0., "Humidity ratio is negative") + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO); if (isIP()) - return R_DA_IP * GetTRankineFromTFahrenheit(TDryBulb) * (1. + 1.607858*HumRatio) / (144. * Pressure); + return R_DA_IP * GetTRankineFromTFahrenheit(TDryBulb) * (1. + 1.607858 * BoundedHumRatio) / (144. * Pressure); else - return R_DA_SI * GetTKelvinFromTCelsius(TDryBulb) * (1. + 1.607858*HumRatio) / Pressure; + return R_DA_SI * GetTKelvinFromTCelsius(TDryBulb) * (1. + 1.607858 * BoundedHumRatio) / Pressure; } // Return moist air density given humidity ratio, dry bulb temperature, and pressure. @@ -784,9 +880,12 @@ double GetMoistAirDensity // (o) Moist air density in lb ft⁻³ [IP] or k , double Pressure // (i) Atmospheric pressure in Psi [IP] or Pa [SI] ) { + double BoundedHumRatio; + ASSERT (HumRatio >= 0., "Humidity ratio is negative") + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO); - return (1. + HumRatio) / GetMoistAirVolume(TDryBulb, HumRatio, Pressure); + return (1. + BoundedHumRatio) / GetMoistAirVolume(TDryBulb, BoundedHumRatio, Pressure); } diff --git a/src/fortran/psychrolib.f90 b/src/fortran/psychrolib.f90 index f7293bc0..8b6bf88d 100644 --- a/src/fortran/psychrolib.f90 +++ b/src/fortran/psychrolib.f90 @@ -88,6 +88,7 @@ module psychrolib public :: CalcPsychrometricsFromTWetBulb public :: CalcPsychrometricsFromTDewPoint public :: CalcPsychrometricsFromRelHum + public :: dLnPws_ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -111,7 +112,14 @@ module psychrolib !+ Unit system to use. real :: PSYCHROLIB_TOLERANCE = 1.0 - !+ Tolerance of temperature calculations + !+ Tolerance of temperature calculations. + + integer, parameter :: MAX_ITER_COUNT = 100 + !+ Maximum number of iterations before exiting while loops. + + real, parameter :: MIN_HUM_RATIO = 1e-7 + !+ Minimum acceptable humidity ratio used/returned by any functions. + !+ Any value above 0 or below the MIN_HUM_RATIO will be reset to this value. contains @@ -383,6 +391,45 @@ function GetRelHumFromVapPres(TDryBulb, VapPres) result(RelHum) RelHum = VapPres / GetSatVapPres(TDryBulb) end function GetRelHumFromVapPres + function dLnPws_(TDryBulb) result(dLnPws) + !+ Helper function returning the derivative of the natural log of the saturation vapor pressure + !+ as a function of dry-bulb temperature. + !+ Reference: + !+ ASHRAE Handbook - Fundamentals (2017) ch. 1 eqn 5 + + real, intent(in) :: TDryBulb + !+ Dry-bulb temperature in °F [IP] or °C [SI] + real :: dLnPws + !+ Derivative of natural log of vapor pressure of saturated air in Psi [IP] or Pa [SI] + real :: T + !+ Dry bulb temperature in R [IP] or K [SI] + + if (isIP()) then + + T = GetTRankineFromTFahrenheit(TDryBulb) + + if (TDryBulb <= 32.) then + dLnPws = 1.0214165E+04 / T**2 - 5.3765794E-03 + 2 * 1.9202377E-07 * T & + + 2 * 3.5575832E-10 * T**2 - 4 * 9.0344688E-14 * T**3 + 4.1635019 / T + else + dLnPws = 1.0440397E+04 / T**2 - 2.7022355E-02 + 2 * 1.2890360E-05 * T & + - 3 * 2.4780681E-09 * T**2 + 6.5459673 / T + end if + + else + + T = GetTKelvinFromTCelsius(TDryBulb) + + if (TDryBulb <= 0) then + dLnPws = 5.6745359E+03 / T**2 - 9.677843E-03 + 2 * 6.2215701E-07 * T & + + 3 * 2.0747825E-09 * T**2 - 4 * 9.484024E-13 * T**3 + 4.1635019 / T + else + dLnPws = 5.8002206E+03 / T**2 - 4.8640239E-02 + 2 * 4.1764768E-05 * T & + - 3 * 1.4452093E-08 * T**2 + 6.5459673 / T + end if + end if + end function dLnPws_ + function GetTDewPointFromVapPres(TDryBulb, VapPres) result(TDewPoint) !+ Return dew-point temperature given dry-bulb temperature and vapor pressure. !+ References: @@ -403,73 +450,85 @@ function GetTDewPointFromVapPres(TDryBulb, VapPres) result(TDewPoint) !+ Partial pressure of water vapor in moist air in Psi [IP] or Pa [SI] real :: TDewPoint !+ Dew-point temperature in °F [IP] or °C [SI] - real :: Tdp - !+ Calculated value of dew point temperatures, solved for iteratively in °F [IP] or °C [SI] real :: lnVP !+ Natural logarithm of partial pressure of water vapor pressure in moist air real :: d_lnVP !+ Derivative of function, calculated numerically - real :: lnVP_c + real :: lnVP_iter !+ Value of log of vapor water pressure used in NR calculation - real :: Tdp_c - !+ Value of Tdp used in NR calculation - real :: d_Tdp - !+ Value of temperature step used in NR calculation - real :: STEPSIZE - !+ Size of timestep (dimensionless) - real :: TMidPoint - !+ Midpoint of domain of validity + real :: TDewPoint_iter + !+ Value of TDewPoint used in NR calculation real, dimension(2) :: BOUNDS !+ Valid temperature range in °F [IP] or °C [SI] integer :: index !+ Index used in the calculation + real :: T_WATER_FREEZE, T_WATER_FREEZE_LOW, T_WATER_FREEZE_HIGH, PWS_FREEZE_LOW, PWS_FREEZE_HIGH ! Bounds and step size as a function of the system of units if (isIP()) then BOUNDS(1) = -148.0 BOUNDS(2) = 392.0 - STEPSIZE = 0.01 * 9.0 / 5.0 + T_WATER_FREEZE = 32. else BOUNDS(1) = -100.0 BOUNDS(2) = 200.0 - STEPSIZE = 0.01 + T_WATER_FREEZE = 0. end if - TMidPoint = (BOUNDS(2) + BOUNDS(2)) / 2.0 - - ! Bounds outside which a solution cannot be found + ! Validity check -- bounds outside which a solution cannot be found if (VapPres < GetSatVapPres(BOUNDS(1)) .or. VapPres > GetSatVapPres(BOUNDS(2))) then error stop "Error: partial pressure of water vapor is outside range of validity of equations" end if - ! First guess - Tdp = TDryBulb + ! Vapor pressure contained within the discontinuity of the Pws function: return temperature of freezing + T_WATER_FREEZE_LOW = T_WATER_FREEZE - PSYCHROLIB_TOLERANCE / 10. ! Temperature just below freezing + T_WATER_FREEZE_LOW = T_WATER_FREEZE - PSYCHROLIB_TOLERANCE / 10. ! Temperature just below freezing + T_WATER_FREEZE_HIGH = T_WATER_FREEZE + PSYCHROLIB_TOLERANCE ! Temperature just above freezing + PWS_FREEZE_LOW = GetSatVapPres(T_WATER_FREEZE_LOW) + PWS_FREEZE_HIGH = GetSatVapPres(T_WATER_FREEZE_HIGH) + + ! Restrict iteration to either left or right part of the saturation vapor pressure curve + ! to avoid iterating back and forth across the discontinuity of the curve at the freezing point + ! When the partial pressure of water vapor is within the discontinuity of GetSatVapPres, + ! simply return the freezing point of water. + if (VapPres < PWS_FREEZE_LOW) then + BOUNDS(2) = T_WATER_FREEZE_LOW + else if (VapPres > PWS_FREEZE_HIGH) then + BOUNDS(1) = T_WATER_FREEZE_HIGH + else + TDewPoint = T_WATER_FREEZE + return + end if + + ! We use NR to approximate the solution. + TDewPoint = TDryBulb lnVP = log(VapPres) - Tdp_c = Tdp index = 1 - do while ((abs(Tdp - Tdp_c) > PSYCHROLIB_TOLERANCE) .or. (index < 2)) - ! Current point - Tdp_c = Tdp - lnVP_c = log(GetSatVapPres(Tdp_c)) - ! Step - negative in the right part of the curve, positive in the left part - ! to avoid going past the domain of validity of eqn. 5 and 6 - ! when Tdp_c is close to its bounds - if (Tdp_c > TMidPoint) then - d_Tdp = -STEPSIZE - else - d_Tdp = STEPSIZE + do while (.true.) + TDewPoint_iter = TDewPoint ! TDewPoint_iter used in NR calculation + lnVP_iter = log(GetSatVapPres(TDewPoint_iter)) + + ! Derivative of function, calculated analytically + d_lnVP = dLnPws_(TDewPoint_iter) + + ! New estimate, bounded by the search domain defined above + TDewPoint = TDewPoint_iter - (lnVP_iter - lnVP) / d_lnVP + TDewPoint = max(TDewPoint, BOUNDS(1)) + TDewPoint = min(TDewPoint, BOUNDS(2)) + + if (abs(TDewPoint - TDewPoint_iter) <= PSYCHROLIB_TOLERANCE) then + exit + end if + + if (index > MAX_ITER_COUNT) then + error stop "Convergence not reached in GetTDewPointFromVapPres. Stopping." end if - ! Derivative of function, calculated numerically - d_lnVP = (log(GetSatVapPres(Tdp_c + d_Tdp)) - lnVP_c) / d_Tdp - ! New estimate, bounded by domain of validity of eqn. 5 and 6 - Tdp = Tdp_c - (lnVP_c - lnVP) / d_lnVP - Tdp = max(Tdp, BOUNDS(1)) - Tdp = min(Tdp, BOUNDS(2)) + index = index + 1 end do - TDewPoint = min(Tdp, TDryBulb) + TDewPoint = min(TDewPoint, TDryBulb) end function GetTDewPointFromVapPres function GetVapPresFromTDewPoint(TDewPoint) result(VapPres) @@ -511,26 +570,32 @@ function GetTWetBulbFromHumRatio(TDryBulb, HumRatio, Pressure) result(TWetBulb) !+ Lower value of wet bulb temperature in bissection method (initial guess is from dew point temperature) in °F [IP] or °C [SI] real :: Wstar !+ Humidity ratio at temperature Tstar in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI] + real :: BoundedHumRatio + !+ Humidity ratio bounded to MIN_HUM_RATIO + integer :: index + !+ index used in iteration if (HumRatio < 0.0) then error stop "Error: humidity ratio cannot be negative" end if + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) - TDewPoint = GetTDewPointFromHumRatio(TDryBulb, HumRatio, Pressure) + TDewPoint = GetTDewPointFromHumRatio(TDryBulb, BoundedHumRatio, Pressure) ! Initial guesses TWetBulbSup = TDryBulb TWetBulbInf = TDewPoint TWetBulb = (TWetBulbInf + TWetBulbSup) / 2.0 + index = 1 ! Bisection loop - do while(TWetBulbSup - TWetBulbInf > PSYCHROLIB_TOLERANCE) + do while ((TWetBulbSup - TWetBulbInf) > PSYCHROLIB_TOLERANCE) ! Compute humidity ratio at temperature Tstar Wstar = GetHumRatioFromTWetBulb(TDryBulb, TWetBulb, Pressure) ! Get new bounds - if (Wstar > HumRatio) then + if (Wstar > BoundedHumRatio) then TWetBulbSup = TWetBulb else TWetBulbInf = TWetBulb @@ -538,6 +603,12 @@ function GetTWetBulbFromHumRatio(TDryBulb, HumRatio, Pressure) result(TWetBulb) ! New guess of wet bulb temperature TWetBulb = (TWetBulbSup + TWetBulbInf) / 2.0 + + if (index > MAX_ITER_COUNT) then + error stop "Convergence not reached in GetTWetBulbFromHumRatio. Stopping." + end if + + index = index + 1 end do end function GetTWetBulbFromHumRatio @@ -580,6 +651,9 @@ function GetHumRatioFromTWetBulb(TDryBulb, TWetBulb, Pressure) result(HumRatio) / (2830.0 + 1.86 * TDryBulb - 2.1 * TWetBulb) end if end if + + ! Validity check. + HumRatio = max(HumRatio, MIN_HUM_RATIO) end function GetHumRatioFromTWetBulb function GetHumRatioFromRelHum(TDryBulb, RelHum, Pressure) result(HumRatio) @@ -695,6 +769,9 @@ function GetHumRatioFromVapPres(VapPres, Pressure) result(HumRatio) end if HumRatio = 0.621945 * VapPres / (Pressure-VapPres) + + ! Validity check. + HumRatio = max(HumRatio, MIN_HUM_RATIO) end function GetHumRatioFromVapPres function GetVapPresFromHumRatio(HumRatio, Pressure) result(VapPres) @@ -708,12 +785,15 @@ function GetVapPresFromHumRatio(HumRatio, Pressure) result(VapPres) !+ Atmospheric pressure in Psi [IP] or Pa [SI] real :: VapPres !+ Partial pressure of water vapor in moist air in Psi [IP] or Pa [SI] + real :: BoundedHumRatio + !+ Humidity ratio bounded to MIN_HUM_RATIO if (HumRatio < 0.0) then error stop "Error: humidity ratio is negative" end if + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) - VapPres = Pressure * HumRatio / (0.621945 + HumRatio) + VapPres = Pressure * BoundedHumRatio / (0.621945 + BoundedHumRatio) end function GetVapPresFromHumRatio @@ -730,12 +810,15 @@ function GetSpecificHumFromHumRatio(HumRatio) result(SpecificHum) !+ Humidity ratio in lb_H₂O lb_Dry_Air⁻¹ [IP] or kg_H₂O kg_Dry_Air⁻¹ [SI] real :: SpecificHum !+ Specific humidity in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI] + real :: BoundedHumRatio + !+ Humidity ratio bounded to MIN_HUM_RATIO if (HumRatio < 0.0) then error stop "Error: humidity ratio cannot be negative" end if + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) - SpecificHum = HumRatio / (1.0 + HumRatio) + SpecificHum = BoundedHumRatio / (1.0 + BoundedHumRatio) end function GetSpecificHumFromHumRatio function GetHumRatioFromSpecificHum(SpecificHum) result(HumRatio) @@ -753,6 +836,9 @@ function GetHumRatioFromSpecificHum(SpecificHum) result(HumRatio) end if HumRatio = SpecificHum / (1.0 - SpecificHum) + + ! Validity check. + HumRatio = max(HumRatio, MIN_HUM_RATIO) end function GetHumRatioFromSpecificHum @@ -836,15 +922,18 @@ function GetTDryBulbFromEnthalpyAndHumRatio(MoistAirEnthalpy, HumRatio) result(T !+ Humidity ratio in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI] real :: TDryBulb !+ Dry-bulb temperature in °F [IP] or °C [SI] + real :: BoundedHumRatio + !+ Humidity ratio bounded to MIN_HUM_RATIO if (HumRatio < 0.0) then error stop "Error: humidity ratio is negative" end if + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) if (isIP()) then - TDryBulb = (MoistAirEnthalpy - 1061.0 * HumRatio) / (0.240 + 0.444 * HumRatio) + TDryBulb = (MoistAirEnthalpy - 1061.0 * BoundedHumRatio) / (0.240 + 0.444 * BoundedHumRatio) else - TDryBulb = (MoistAirEnthalpy / 1000.0 - 2501.0 * HumRatio) / (1.006 + 1.86 * HumRatio) + TDryBulb = (MoistAirEnthalpy / 1000.0 - 2501.0 * BoundedHumRatio) / (1.006 + 1.86 * BoundedHumRatio) end if end function GetTDryBulbFromEnthalpyAndHumRatio @@ -867,6 +956,9 @@ function GetHumRatioFromEnthalpyAndTDryBulb(MoistAirEnthalpy, TDryBulb) result(H else HumRatio = (MoistAirEnthalpy / 1000.0 - 1.006 * TDryBulb) / (2501.0 + 1.86 * TDryBulb) end if + + ! Validity check. + HumRatio = max(HumRatio, MIN_HUM_RATIO) end function GetHumRatioFromEnthalpyAndTDryBulb @@ -938,6 +1030,9 @@ function GetSatHumRatio(TDryBulb, Pressure) result(SatHumRatio) SatVaporPres = GetSatVapPres(TDryBulb) SatHumRatio = 0.621945 * SatVaporPres / (Pressure-SatVaporPres) + + ! Validity check. + SatHumRatio = max(SatHumRatio, MIN_HUM_RATIO) end function GetSatHumRatio function GetSatAirEnthalpy(TDryBulb, Pressure) result(SatAirEnthalpy) @@ -1000,12 +1095,15 @@ function GetDegreeOfSaturation(TDryBulb, HumRatio, Pressure) result(DegreeOfSatu !+ Atmospheric pressure in Psi [IP] or Pa [SI] real :: DegreeOfSaturation !+ Degree of saturation in arbitrary unit + real :: BoundedHumRatio + !+ Humidity ratio bounded to MIN_HUM_RATIO if (HumRatio < 0.0) then error stop "Error: humidity ratio is negative" end if + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) - DegreeOfSaturation = HumRatio/GetSatHumRatio(TDryBulb, Pressure) + DegreeOfSaturation = BoundedHumRatio / GetSatHumRatio(TDryBulb, Pressure) end function GetDegreeOfSaturation function GetMoistAirEnthalpy(TDryBulb, HumRatio) result(MoistAirEnthalpy) @@ -1019,15 +1117,18 @@ function GetMoistAirEnthalpy(TDryBulb, HumRatio) result(MoistAirEnthalpy) !+ Humidity ratio in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI] real :: MoistAirEnthalpy !+ Moist air enthalpy in Btu lb⁻¹ [IP] or J kg⁻¹ + real :: BoundedHumRatio + !+ Humidity ratio bounded to MIN_HUM_RATIO if (HumRatio < 0.0) then error stop "Error: humidity ratio is negative" end if + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) if (isIP()) then - MoistAirEnthalpy = 0.240 * TDryBulb + HumRatio * (1061.0 + 0.444 * TDryBulb) + MoistAirEnthalpy = 0.240 * TDryBulb + BoundedHumRatio * (1061.0 + 0.444 * TDryBulb) else - MoistAirEnthalpy = (1.006 * TDryBulb + HumRatio * (2501.0 + 1.86 * TDryBulb)) * 1000.0 + MoistAirEnthalpy = (1.006 * TDryBulb + BoundedHumRatio * (2501.0 + 1.86 * TDryBulb)) * 1000.0 end if end function GetMoistAirEnthalpy @@ -1047,15 +1148,18 @@ function GetMoistAirVolume(TDryBulb, HumRatio, Pressure) result(MoistAirVolume) !+ Atmospheric pressure in Psi [IP] or Pa [SI] real :: MoistAirVolume !+ Specific volume of moist air in ft³ lb⁻¹ of dry air [IP] or in m³ kg⁻¹ of dry air [SI] + real :: BoundedHumRatio + !+ Humidity ratio bounded to MIN_HUM_RATIO if (HumRatio < 0.0) then error stop "Error: humidity ratio is negative" end if + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) if (isIP()) then - MoistAirVolume = R_DA_IP * GetTRankineFromTFahrenheit(TDryBulb) * (1.0 + 1.607858 * HumRatio) / (144.0 * Pressure) + MoistAirVolume = R_DA_IP * GetTRankineFromTFahrenheit(TDryBulb) * (1.0 + 1.607858 * BoundedHumRatio) / (144.0 * Pressure) else - MoistAirVolume = R_DA_SI * GetTKelvinFromTCelsius(TDryBulb) * (1.0 + 1.607858 * HumRatio) / Pressure + MoistAirVolume = R_DA_SI * GetTKelvinFromTCelsius(TDryBulb) * (1.0 + 1.607858 * BoundedHumRatio) / Pressure end if end function GetMoistAirVolume @@ -1072,12 +1176,15 @@ function GetMoistAirDensity(TDryBulb, HumRatio, Pressure) result(MoistAirDensity !+ Atmospheric pressure in Psi [IP] or Pa [SI] real :: MoistAirDensity !+ Moist air density in lb ft⁻³ [IP] or kg m⁻³ [SI] + real :: BoundedHumRatio + !+ Humidity ratio bounded to MIN_HUM_RATIO if (HumRatio < 0.0) then error stop "Error: humidity ratio is negative" end if + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) - MoistAirDensity = (1.0 + HumRatio) / GetMoistAirVolume(TDryBulb, HumRatio, Pressure) + MoistAirDensity = (1.0 + BoundedHumRatio) / GetMoistAirVolume(TDryBulb, BoundedHumRatio, Pressure) end function GetMoistAirDensity diff --git a/src/js/psychrolib.js b/src/js/psychrolib.js index 757dc622..d2b35cee 100644 --- a/src/js/psychrolib.js +++ b/src/js/psychrolib.js @@ -57,12 +57,16 @@ function Psychrometrics() { * Global constants *****************************************************************************************************/ - var R_DA_IP = 53.350; // Universal gas constant for dry air (IP version) in ft lb_Force lb_DryAir⁻¹ R⁻¹ - // Reference: ASHRAE Handbook - Fundamentals (2017) ch. 1 - var R_DA_SI = 287.042; // Universal gas constant for dry air (SI version) in J kg_DryAir⁻¹ K⁻¹ - // Reference: ASHRAE Handbook - Fundamentals (2017) ch. 1 + var R_DA_IP = 53.350; // Universal gas constant for dry air (IP version) in ft lb_Force lb_DryAir⁻¹ R⁻¹ + // Reference: ASHRAE Handbook - Fundamentals (2017) ch. 1 + var R_DA_SI = 287.042; // Universal gas constant for dry air (SI version) in J kg_DryAir⁻¹ K⁻¹ + // Reference: ASHRAE Handbook - Fundamentals (2017) ch. 1 + var INVALID = -99999; // Invalid value (dimensionless) - var INVALID = -99999; // Invalid value (dimensionless) + var MAX_ITER_COUNT = 100 // Maximum number of iterations before exiting while loops. + + var MIN_HUM_RATIO = 1e-7 // Minimum acceptable humidity ratio used/returned by any functions. + // Any value above 0 or below the MIN_HUM_RATIO will be reset to this value. /****************************************************************************************************** @@ -252,6 +256,40 @@ function Psychrometrics() { return VapPres / this.GetSatVapPres(TDryBulb); } + // Helper function returning the derivative of the natural log of the saturation vapor pressure + // as a function of dry-bulb temperature. + // Reference: ASHRAE Handbook - Fundamentals (2017) ch. 1 eqn. 5 & 6 + this.dLnPws_ = function // (o) Derivative of natural log of vapor pressure of saturated air in Psi [IP] or Pa [SI] + ( TDryBulb // (i) Dry bulb temperature in °F [IP] or °C [SI] + ) { + var dLnPws, T; + + if (this.isIP()) + { + T = this.GetTRankineFromTFahrenheit(TDryBulb); + + if (TDryBulb <= 32.) + dLnPws = 1.0214165E+04 / pow(T, 2) - 5.3765794E-03 + 2 * 1.9202377E-07 * T + + 2 * 3.5575832E-10 * pow(T, 2) - 4 * 9.0344688E-14 * pow(T, 3) + 4.1635019 / T; + else + dLnPws = 1.0440397E+04 / pow(T, 2) - 2.7022355E-02 + 2 * 1.2890360E-05 * T + - 3 * 2.4780681E-09 * pow(T, 2) + 6.5459673 / T; + } + else + { + T = this.GetTKelvinFromTCelsius(TDryBulb); + + if (TDryBulb <= 0.) + dLnPws = 5.6745359E+03 / pow(T, 2) - 9.677843E-03 + 2 * 6.2215701E-07 * T + + 3 * 2.0747825E-09 * pow(T, 2) - 4 * 9.484024E-13 * pow(T, 3) + 4.1635019 / T; + else + dLnPws = 5.8002206E+03 / pow(T, 2) - 4.8640239E-02 + 2 * 4.1764768E-05 * T + - 3 * 1.4452093E-08 * pow(T, 2) + 6.5459673 / T; + } + + return dLnPws; + } + // Return dew-point temperature given dry-bulb temperature and vapor pressure. // Reference: ASHRAE Handbook - Fundamentals (2017) ch. 1 eqn. 5 and 6 // Notes: the dew point temperature is solved by inverting the equation giving water vapor pressure @@ -266,53 +304,71 @@ function Psychrometrics() { ( TDryBulb // (i) Dry bulb temperature in °F [IP] or °C [SI] , VapPres // (i) Partial pressure of water vapor in moist air in Psi [IP] or Pa [SI] ) { - // Bounds and step size as a function of the system of units - var _STEPSIZE; // Temperature step used for the calculation of numerical derivatives + // Bounds function of the system of units + var BOUNDS // Domain of validity of the equations + var T_WATER_FREEZE, T_WATER_FREEZE_LOW, T_WATER_FREEZE_HIGH, PWS_FREEZE_LOW, PWS_FREEZE_HIGH; + if (this.isIP()) { - var _BOUNDS = [-148., 392.] // Domain of validity of the equations - _STEPSIZE = 0.01 * 9. / 5. + BOUNDS = [-148., 392.]; // Domain of validity of the equations + T_WATER_FREEZE = 32.; } else { - var _BOUNDS = [-100., 200.] // Domain of validity of the equations - _STEPSIZE = 0.01; + BOUNDS = [-100., 200.]; // Domain of validity of the equations + T_WATER_FREEZE = 0.; } - var TMidPoint = (_BOUNDS[0] + _BOUNDS[1]) / 2.; // Midpoint of domain of validity - // Bounds outside which a solution cannot be found - if (VapPres < this.GetSatVapPres(_BOUNDS[0]) || VapPres > this.GetSatVapPres(_BOUNDS[1])) + if (VapPres < this.GetSatVapPres(BOUNDS[0]) || VapPres > this.GetSatVapPres(BOUNDS[1])) throw new Error("Partial pressure of water vapor is outside range of validity of equations"); + // Vapor pressure contained within the discontinuity of the Pws function: return temperature of freezing + T_WATER_FREEZE_LOW = T_WATER_FREEZE - PSYCHROLIB_TOLERANCE / 10.; // Temperature just below freezing + T_WATER_FREEZE_HIGH = T_WATER_FREEZE + PSYCHROLIB_TOLERANCE / 10.; // Temperature just above freezing + PWS_FREEZE_LOW = this.GetSatVapPres(T_WATER_FREEZE_LOW); + PWS_FREEZE_HIGH = this.GetSatVapPres(T_WATER_FREEZE_HIGH); + + // Restrict iteration to either left or right part of the saturation vapor pressure curve + // to avoid iterating back and forth across the discontinuity of the curve at the freezing point + // When the partial pressure of water vapor is within the discontinuity of GetSatVapPres, + // simply return the freezing point of water. + if (VapPres < PWS_FREEZE_LOW) + BOUNDS[1] = T_WATER_FREEZE_LOW; + else if (VapPres > PWS_FREEZE_HIGH) + BOUNDS[0] = T_WATER_FREEZE_HIGH; + else + return T_WATER_FREEZE; + + // We use NR to approximate the solution. // First guess - var Tdp = TDryBulb; // Calculated value of dew point temperatures, solved for iteratively in °F [IP] or °C [SI] - var lnVP = log(VapPres); // Natural logarithm of partial pressure of water vapor pressure in moist air + var TDewPoint = TDryBulb; // Calculated value of dew point temperatures, solved for iteratively in °F [IP] or °C [SI] + var lnVP = log(VapPres); // Natural logarithm of partial pressure of water vapor pressure in moist air - var Tdp_c; // Value of Tdp used in NR calculation - var lnVP_c; // Value of log of vapor water pressure used in NR calculation - var d_Tdp; // Value of temperature step used in NR calculation + var TDewPoint_iter; // Value of TDewPoint used in NR calculation + var lnVP_iter; // Value of log of vapor water pressure used in NR calculation + var index = 1; do { // Current point - Tdp_c = Tdp; - lnVP_c = log(this.GetSatVapPres(Tdp_c)); - // Step - negative in the right part of the curve, positive in the left part - // to avoid going past the domain of validity of eqn. 5 and 6 - // when Tdp_c is close to its bounds - if (Tdp_c > TMidPoint) - d_Tdp = -_STEPSIZE; - else - d_Tdp = _STEPSIZE; - // Derivative of function, calculated numerically - var d_lnVP = (log(this.GetSatVapPres(Tdp_c + d_Tdp)) - lnVP_c) / d_Tdp; + TDewPoint_iter = TDewPoint; + lnVP_iter = log(this.GetSatVapPres(TDewPoint_iter)); + + // Derivative of function, calculated analytically + var d_lnVP = this.dLnPws_(TDewPoint_iter); + // New estimate, bounded by domain of validity of eqn. 5 and 6 - Tdp = Tdp_c - (lnVP_c - lnVP) / d_lnVP; - Tdp = max(Tdp, _BOUNDS[0]); - Tdp = min(Tdp, _BOUNDS[1]); + TDewPoint = TDewPoint_iter - (lnVP_iter - lnVP) / d_lnVP; + TDewPoint = max(TDewPoint, BOUNDS[0]); + TDewPoint = min(TDewPoint, BOUNDS[1]); + + if (index > MAX_ITER_COUNT) + throw new Error("Convergence not reached in GetTDewPointFromVapPres. Stopping."); + + index++; } - while (abs(Tdp - Tdp_c) > PSYCHROLIB_TOLERANCE); - return min(Tdp, TDryBulb); + while (abs(TDewPoint - TDewPoint_iter) > PSYCHROLIB_TOLERANCE); + return min(TDewPoint, TDryBulb); } // Return vapor pressure given dew point temperature. @@ -337,12 +393,14 @@ function Psychrometrics() { ) { // Declarations var Wstar; - var TDewPoint, TWetBulb, TWetBulbSup, TWetBulbInf; + var TDewPoint, TWetBulb, TWetBulbSup, TWetBulbInf, BoundedHumRatio; + var index = 1; if (!(HumRatio >= 0.)) throw new Error("Humidity ratio is negative"); + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO); - TDewPoint = this.GetTDewPointFromHumRatio(TDryBulb, HumRatio, Pressure); + TDewPoint = this.GetTDewPointFromHumRatio(TDryBulb, BoundedHumRatio, Pressure); // Initial guesses TWetBulbSup = TDryBulb; @@ -350,18 +408,23 @@ function Psychrometrics() { TWetBulb = (TWetBulbInf + TWetBulbSup) / 2.; // Bisection loop - while (TWetBulbSup - TWetBulbInf > PSYCHROLIB_TOLERANCE) { + while ((TWetBulbSup - TWetBulbInf) > PSYCHROLIB_TOLERANCE) { // Compute humidity ratio at temperature Tstar Wstar = this.GetHumRatioFromTWetBulb(TDryBulb, TWetBulb, Pressure); // Get new bounds - if (Wstar > HumRatio) + if (Wstar > BoundedHumRatio) TWetBulbSup = TWetBulb; else TWetBulbInf = TWetBulb; // New guess of wet bulb temperature TWetBulb = (TWetBulbSup + TWetBulbInf) / 2.; + + if (index > MAX_ITER_COUNT) + throw new Error("Convergence not reached in GetTWetBulbFromHumRatio. Stopping."); + + index++; } return TWetBulb; @@ -400,8 +463,8 @@ function Psychrometrics() { HumRatio = ((2830. - 0.24 * TWetBulb) * Wsstar - 1.006 * (TDryBulb - TWetBulb)) / (2830. + 1.86 * TDryBulb - 2.1 * TWetBulb); } - - return HumRatio; + // Validity check. + return max(HumRatio, MIN_HUM_RATIO); } // Return humidity ratio given dry-bulb temperature, relative humidity, and pressure. @@ -475,10 +538,15 @@ function Psychrometrics() { ( VapPres // (i) Partial pressure of water vapor in moist air in Psi [IP] or Pa [SI] , Pressure // (i) Atmospheric pressure in Psi [IP] or Pa [SI] ) { + var HumRatio; + if (!(VapPres >= 0.)) throw new Error("Partial pressure of water vapor in moist air is negative"); - return 0.621945 * VapPres / (Pressure - VapPres); + HumRatio = 0.621945 * VapPres / (Pressure - VapPres); + + // Validity check. + return max(HumRatio, MIN_HUM_RATIO); } // Return vapor pressure given humidity ratio and pressure. @@ -487,12 +555,13 @@ function Psychrometrics() { ( HumRatio // (i) Humidity ratio in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI] , Pressure // (i) Atmospheric pressure in Psi [IP] or Pa [SI] ) { - var VapPres; + var VapPres, BoundedHumRatio; if (!(HumRatio >= 0.)) throw new Error("Humidity ratio is negative"); + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO); - VapPres = Pressure * HumRatio / (0.621945 + HumRatio); + VapPres = Pressure * BoundedHumRatio / (0.621945 + BoundedHumRatio); return VapPres; } @@ -506,10 +575,12 @@ function Psychrometrics() { this.GetSpecificHumFromHumRatio = function // (o) Specific humidity ratio in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI] ( HumRatio // (i) Humidity ratio in lb_H₂O lb_Dry_Air⁻¹ [IP] or kg_H₂O kg_Dry_Air⁻¹ [SI] ) { + var BoundedHumRatio; if (!(HumRatio >= 0.)) throw new Error("Humidity ratio is negative"); + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO); - return HumRatio / (1.0 + HumRatio); + return BoundedHumRatio / (1.0 + BoundedHumRatio); } // Return the humidity ratio (aka mixing ratio) from specific humidity @@ -517,10 +588,15 @@ function Psychrometrics() { this.GetHumRatioFromSpecificHum = function // (o) Humidity ratio in lb_H₂O lb_Dry_Air⁻¹ [IP] or kg_H₂O kg_Dry_Air⁻¹ [SI] ( SpecificHum // (i) Specific humidity ratio in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI] ) { + var HumRatio; + if (!(SpecificHum >= 0.0 && SpecificHum < 1.0)) throw new Error("Specific humidity is outside range [0, 1["); - return SpecificHum / (1.0 - SpecificHum); + HumRatio = SpecificHum / (1.0 - SpecificHum); + + // Validity check + return max(HumRatio, MIN_HUM_RATIO); } @@ -576,13 +652,15 @@ function Psychrometrics() { ( MoistAirEnthalpy // (i) Moist air enthalpy in Btu lb⁻¹ [IP] or J kg⁻¹ , HumRatio // (i) Humidity ratio in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI] ) { + var BoundedHumRatio; if (!(HumRatio >= 0.)) throw new Error("Humidity ratio is negative"); + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO); if (this.isIP()) - return (MoistAirEnthalpy - 1061.0 * HumRatio) / (0.240 + 0.444 * HumRatio); + return (MoistAirEnthalpy - 1061.0 * BoundedHumRatio) / (0.240 + 0.444 * BoundedHumRatio); else - return (MoistAirEnthalpy / 1000.0 - 2501.0 * HumRatio) / (1.006 + 1.86 * HumRatio); + return (MoistAirEnthalpy / 1000.0 - 2501.0 * BoundedHumRatio) / (1.006 + 1.86 * BoundedHumRatio); } // Return humidity ratio from enthalpy and dry-bulb temperature. @@ -592,10 +670,14 @@ function Psychrometrics() { ( MoistAirEnthalpy // (i) Moist air enthalpy in Btu lb⁻¹ [IP] or J kg⁻¹ , TDryBulb // (i) Dry-bulb temperature in °F [IP] or °C [SI] ) { + var HumRatio; if (this.isIP()) - return (MoistAirEnthalpy - 0.240 * TDryBulb) / (1061.0 + 0.444 * TDryBulb); + HumRatio = (MoistAirEnthalpy - 0.240 * TDryBulb) / (1061.0 + 0.444 * TDryBulb); else - return (MoistAirEnthalpy / 1000.0 - 1.006 * TDryBulb) / (2501.0 + 1.86 * TDryBulb); + HumRatio = (MoistAirEnthalpy / 1000.0 - 1.006 * TDryBulb) / (2501.0 + 1.86 * TDryBulb); + + // Validity check. + return max(HumRatio, MIN_HUM_RATIO); } @@ -650,10 +732,13 @@ function Psychrometrics() { ( TDryBulb // (i) Dry bulb temperature in °F [IP] or °C [SI] , Pressure // (i) Atmospheric pressure in Psi [IP] or Pa [SI] ) { - var SatVaporPres; + var SatVaporPres, SatHumRatio; SatVaporPres = this.GetSatVapPres(TDryBulb); - return 0.621945 * SatVaporPres / (Pressure - SatVaporPres); + SatHumRatio = 0.621945 * SatVaporPres / (Pressure - SatVaporPres); + + // Validity check. + return max(SatHumRatio, MIN_HUM_RATIO); } // Return saturated air enthalpy given dry-bulb temperature and pressure. @@ -695,11 +780,13 @@ function Psychrometrics() { , HumRatio // (i) Humidity ratio in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI] , Pressure // (i) Atmospheric pressure in Psi [IP] or Pa [SI] ) { + var BoundedHumRatio; if (!(HumRatio >= 0.)) throw new Error("Humidity ratio is negative"); + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO); - return HumRatio / this.GetSatHumRatio(TDryBulb, Pressure); + return BoundedHumRatio / this.GetSatHumRatio(TDryBulb, Pressure); } // Return moist air enthalpy given dry-bulb temperature and humidity ratio. @@ -708,11 +795,16 @@ function Psychrometrics() { ( TDryBulb // (i) Dry bulb temperature in °F [IP] or °C [SI] , HumRatio // (i) Humidity ratio in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI] ) { + var BoundedHumRatio; + + if (!(HumRatio >= 0.)) + throw new Error("Humidity ratio is negative"); + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO); if (this.isIP()) - return 0.240 * TDryBulb + HumRatio * (1061. + 0.444 * TDryBulb); + return 0.240 * TDryBulb + BoundedHumRatio * (1061. + 0.444 * TDryBulb); else - return (1.006 * TDryBulb + HumRatio * (2501. + 1.86 * TDryBulb)) * 1000.; + return (1.006 * TDryBulb + BoundedHumRatio * (2501. + 1.86 * TDryBulb)) * 1000.; } // Return moist air specific volume given dry-bulb temperature, humidity ratio, and pressure. @@ -724,14 +816,16 @@ function Psychrometrics() { , HumRatio // (i) Humidity ratio in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI] , Pressure // (i) Atmospheric pressure in Psi [IP] or Pa [SI] ) { + var BoundedHumRatio; if (!(HumRatio >= 0.)) throw new Error("Humidity ratio is negative"); + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO); if (this.isIP()) - return R_DA_IP * this.GetTRankineFromTFahrenheit(TDryBulb) * (1. + 1.607858 * HumRatio) / (144. * Pressure); + return R_DA_IP * this.GetTRankineFromTFahrenheit(TDryBulb) * (1. + 1.607858 * BoundedHumRatio) / (144. * Pressure); else - return R_DA_SI * this.GetTKelvinFromTCelsius(TDryBulb) * (1. + 1.607858 * HumRatio) / Pressure; + return R_DA_SI * this.GetTKelvinFromTCelsius(TDryBulb) * (1. + 1.607858 * BoundedHumRatio) / Pressure; } // Return moist air density given humidity ratio, dry bulb temperature, and pressure. @@ -741,11 +835,13 @@ function Psychrometrics() { , HumRatio // (i) Humidity ratio in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI] , Pressure // (i) Atmospheric pressure in Psi [IP] or Pa [SI] ) { + var BoundedHumRatio; if (!(HumRatio >= 0.)) throw new Error("Humidity ratio is negative"); + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO); - return (1. + HumRatio) / this.GetMoistAirVolume(TDryBulb, HumRatio, Pressure); + return (1. + BoundedHumRatio) / this.GetMoistAirVolume(TDryBulb, BoundedHumRatio, Pressure); } diff --git a/src/python/psychrolib.py b/src/python/psychrolib.py index 0a9ff266..cd3a0181 100644 --- a/src/python/psychrolib.py +++ b/src/python/psychrolib.py @@ -73,6 +73,17 @@ """ +MAX_ITER_COUNT = 100 +"""int: Maximum number of iterations before exiting while loops. + +""" + +MIN_HUM_RATIO = 1e-7 +"""float: Minimum acceptable humidity ratio used/returned by any functions. + Any value above 0 or below the MIN_HUM_RATIO will be reset to this value. + +""" + ####################################################################################################### # Helper functions @@ -116,7 +127,7 @@ def SetUnitSystem(Units: UnitSystem) -> None: # Define tolerance on temperature calculations # The tolerance is the same in IP and SI if Units == IP: - PSYCHROLIB_TOLERANCE = 0.001 * 9 / 5 + PSYCHROLIB_TOLERANCE = 0.001 * 9. / 5. else: PSYCHROLIB_TOLERANCE = 0.001 @@ -375,6 +386,40 @@ def GetRelHumFromVapPres(TDryBulb: float, VapPres: float) -> float: RelHum = VapPres / GetSatVapPres(TDryBulb) return RelHum +def dLnPws_(TDryBulb: float) -> float: + """ + Helper function returning the derivative of the natural log of the saturation vapor pressure + as a function of dry-bulb temperature. + + Args: + TDryBulb : Dry-bulb temperature in °F [IP] or °C [SI] + + Returns: + Derivative of natural log of vapor pressure of saturated air in Psi [IP] or Pa [SI] + + Reference: + ASHRAE Handbook - Fundamentals (2017) ch. 1 eqn 5 & 6 + + """ + if isIP(): + T = GetTRankineFromTFahrenheit(TDryBulb) + if TDryBulb <= 32.: + dLnPws = 1.0214165E+04 / math.pow(T, 2) - 5.3765794E-03 + 2 * 1.9202377E-07 * T \ + + 2 * 3.5575832E-10 * math.pow(T, 2) - 4 * 9.0344688E-14 * math.pow(T, 3) + 4.1635019 / T + else: + dLnPws = 1.0440397E+04 / math.pow(T, 2) - 2.7022355E-02 + 2 * 1.2890360E-05 * T \ + - 3 * 2.4780681E-09 * math.pow(T, 2) + 6.5459673 / T + else: + T = GetTKelvinFromTCelsius(TDryBulb) + if TDryBulb <= 0.: + dLnPws = 5.6745359E+03 / math.pow(T, 2) - 9.677843E-03 + 2 * 6.2215701E-07 * T \ + + 3 * 2.0747825E-09 * math.pow(T, 2) - 4 * 9.484024E-13 * math.pow(T, 3) + 4.1635019 / T + else: + dLnPws = 5.8002206E+03 / math.pow(T, 2) - 4.8640239E-02 + 2 * 4.1764768E-05 * T \ + - 3 * 1.4452093E-08 * math.pow(T, 2) + 6.5459673 / T + + return dLnPws + def GetTDewPointFromVapPres(TDryBulb: float, VapPres: float) -> float: """ Return dew-point temperature given dry-bulb temperature and vapor pressure. @@ -401,42 +446,59 @@ def GetTDewPointFromVapPres(TDryBulb: float, VapPres: float) -> float: """ if isIP(): - _BOUNDS = -148, 392 - _STEPSIZE = 0.01 * 9 / 5 + BOUNDS = [-148, 392] + T_WATER_FREEZE = 32. else: - _BOUNDS = -100, 200 - _STEPSIZE = 0.01 - - TMidPoint = (_BOUNDS[0] + _BOUNDS[1]) / 2. # Midpoint of domain of validity + BOUNDS = [-100, 200] + T_WATER_FREEZE = 0. - if VapPres < GetSatVapPres(_BOUNDS[0]) or VapPres > GetSatVapPres(_BOUNDS[1]): + # Validity check -- bounds outside which a solution cannot be found + if VapPres < GetSatVapPres(BOUNDS[0]) or VapPres > GetSatVapPres(BOUNDS[1]): raise ValueError("Partial pressure of water vapor is outside range of validity of equations") + # Vapor pressure contained within the discontinuity of the Pws function: return temperature of freezing + T_WATER_FREEZE_LOW = T_WATER_FREEZE - PSYCHROLIB_TOLERANCE / 10. # Temperature just below freezing + T_WATER_FREEZE_HIGH = T_WATER_FREEZE + PSYCHROLIB_TOLERANCE / 10. # Temperature just above freezing + PWS_FREEZE_LOW = GetSatVapPres(T_WATER_FREEZE_LOW) + PWS_FREEZE_HIGH = GetSatVapPres(T_WATER_FREEZE_HIGH) + + # Restrict iteration to either left or right part of the saturation vapor pressure curve + # to avoid iterating back and forth across the discontinuity of the curve at the freezing point + # When the partial pressure of water vapor is within the discontinuity of GetSatVapPres, + # simply return the freezing point of water. + if (VapPres < PWS_FREEZE_LOW): + BOUNDS[1] = T_WATER_FREEZE_LOW + elif (VapPres > PWS_FREEZE_HIGH): + BOUNDS[0] = T_WATER_FREEZE_HIGH + else: + return T_WATER_FREEZE + + # We use NR to approximate the solution. # First guess TDewPoint = TDryBulb # Calculated value of dew point temperatures, solved for iteratively - lnVP = math.log(VapPres) # Partial pressure of water vapor in moist air - while True: - TDewPoint_iter = TDewPoint # Value of Tdp used in NR calculation - # Step - negative in the right part of the curve, positive in the left part - # to avoid going past the domain of validity of eqn. 5 and 6 - # when TDewPoint_iter is close to its bounds - if TDewPoint_iter > TMidPoint: - StepSize = -_STEPSIZE - else: - StepSize = _STEPSIZE + index = 1 + while True: + TDewPoint_iter = TDewPoint # TDewPoint used in NR calculation lnVP_iter = math.log(GetSatVapPres(TDewPoint_iter)) - # Derivative of function, calculated numerically - d_lnVP = (math.log(GetSatVapPres(TDewPoint_iter + StepSize)) - lnVP_iter) / StepSize - # New estimate, bounded by domain of validity of eqn. 5 and 6 + + # Derivative of function, calculated analytically + d_lnVP = dLnPws_(TDewPoint_iter) + + # New estimate, bounded by the search domain defined above TDewPoint = TDewPoint_iter - (lnVP_iter - lnVP) / d_lnVP - TDewPoint = max(TDewPoint, _BOUNDS[0]) - TDewPoint = min(TDewPoint, _BOUNDS[1]) + TDewPoint = max(TDewPoint, BOUNDS[0]) + TDewPoint = min(TDewPoint, BOUNDS[1]) + + if ((math.fabs(TDewPoint - TDewPoint_iter) <= PSYCHROLIB_TOLERANCE)): + break + + if (index > MAX_ITER_COUNT): + raise ValueError("Convergence not reached in GetTDewPointFromVapPres. Stopping.") - if math.fabs(TDewPoint - TDewPoint_iter) <= PSYCHROLIB_TOLERANCE: - break + index = index + 1 TDewPoint = min(TDewPoint, TDryBulb) return TDewPoint @@ -481,28 +543,35 @@ def GetTWetBulbFromHumRatio(TDryBulb: float, HumRatio: float, Pressure: float) - """ if HumRatio < 0: raise ValueError("Humidity ratio cannot be negative") + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) - TDewPoint = GetTDewPointFromHumRatio(TDryBulb, HumRatio, Pressure) + TDewPoint = GetTDewPointFromHumRatio(TDryBulb, BoundedHumRatio, Pressure) # Initial guesses TWetBulbSup = TDryBulb TWetBulbInf = TDewPoint TWetBulb = (TWetBulbInf + TWetBulbSup) / 2 + index = 1 # Bisection loop - while (TWetBulbSup - TWetBulbInf > PSYCHROLIB_TOLERANCE): + while ((TWetBulbSup - TWetBulbInf) > PSYCHROLIB_TOLERANCE): # Compute humidity ratio at temperature Tstar Wstar = GetHumRatioFromTWetBulb(TDryBulb, TWetBulb, Pressure) # Get new bounds - if Wstar > HumRatio: + if Wstar > BoundedHumRatio: TWetBulbSup = TWetBulb else: TWetBulbInf = TWetBulb # New guess of wet bulb temperature TWetBulb = (TWetBulbSup + TWetBulbInf) / 2 + + if (index >= MAX_ITER_COUNT): + raise ValueError("Convergence not reached in GetTWetBulbFromHumRatio. Stopping.") + + index = index + 1 return TWetBulb def GetHumRatioFromTWetBulb(TDryBulb: float, TWetBulb: float, Pressure: float) -> float: @@ -540,7 +609,8 @@ def GetHumRatioFromTWetBulb(TDryBulb: float, TWetBulb: float, Pressure: float) - else: HumRatio = ((2830. - 0.24 * TWetBulb) * Wsstar - 1.006 * (TDryBulb - TWetBulb)) \ / (2830. + 1.86 * TDryBulb - 2.1 * TWetBulb) - return HumRatio + # Validity check. + return max(HumRatio, MIN_HUM_RATIO) def GetHumRatioFromRelHum(TDryBulb: float, RelHum: float, Pressure: float) -> float: """ @@ -654,7 +724,9 @@ def GetHumRatioFromVapPres(VapPres: float, Pressure: float) -> float: raise ValueError("Partial pressure of water vapor in moist air cannot be negative") HumRatio = 0.621945 * VapPres / (Pressure - VapPres) - return HumRatio + + # Validity check. + return max(HumRatio, MIN_HUM_RATIO) def GetVapPresFromHumRatio(HumRatio: float, Pressure: float) -> float: """ @@ -673,8 +745,9 @@ def GetVapPresFromHumRatio(HumRatio: float, Pressure: float) -> float: """ if HumRatio < 0: raise ValueError("Humidity ratio is negative") + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) - VapPres = Pressure * HumRatio / (0.621945 + HumRatio) + VapPres = Pressure * BoundedHumRatio / (0.621945 + BoundedHumRatio) return VapPres @@ -698,8 +771,9 @@ def GetSpecificHumFromHumRatio(HumRatio: float) -> float: """ if HumRatio < 0: raise ValueError("Humidity ratio cannot be negative") + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) - SpecificHum = HumRatio / (1.0 + HumRatio) + SpecificHum = BoundedHumRatio / (1.0 + BoundedHumRatio) return SpecificHum def GetHumRatioFromSpecificHum(SpecificHum: float) -> float: @@ -720,7 +794,9 @@ def GetHumRatioFromSpecificHum(SpecificHum: float) -> float: raise ValueError("Specific humidity is outside range [0, 1[") HumRatio = SpecificHum / (1.0 - SpecificHum) - return SpecificHum + + # Validity check. + return max(HumRatio, MIN_HUM_RATIO) ####################################################################################################### @@ -821,11 +897,12 @@ def GetTDryBulbFromEnthalpyAndHumRatio(MoistAirEnthalpy: float, HumRatio: float) """ if HumRatio < 0: raise ValueError("Humidity ratio is negative") + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) if isIP(): - TDryBulb = (MoistAirEnthalpy - 1061.0 * HumRatio) / (0.240 + 0.444 * HumRatio) + TDryBulb = (MoistAirEnthalpy - 1061.0 * BoundedHumRatio) / (0.240 + 0.444 * BoundedHumRatio) else: - TDryBulb = (MoistAirEnthalpy / 1000.0 - 2501.0 * HumRatio) / (1.006 + 1.86 * HumRatio) + TDryBulb = (MoistAirEnthalpy / 1000.0 - 2501.0 * BoundedHumRatio) / (1.006 + 1.86 * BoundedHumRatio) return TDryBulb def GetHumRatioFromEnthalpyAndTDryBulb(MoistAirEnthalpy: float, TDryBulb: float) -> float: @@ -851,7 +928,9 @@ def GetHumRatioFromEnthalpyAndTDryBulb(MoistAirEnthalpy: float, TDryBulb: float) HumRatio = (MoistAirEnthalpy - 0.240 * TDryBulb) / (1061.0 + 0.444 * TDryBulb) else: HumRatio = (MoistAirEnthalpy / 1000.0 - 1.006 * TDryBulb) / (2501.0 + 1.86 * TDryBulb) - return HumRatio + + # Validity check. + return max(HumRatio, MIN_HUM_RATIO) ####################################################################################################### @@ -917,7 +996,9 @@ def GetSatHumRatio(TDryBulb: float, Pressure: float) -> float: """ SatVaporPres = GetSatVapPres(TDryBulb) SatHumRatio = 0.621945 * SatVaporPres / (Pressure - SatVaporPres) - return SatHumRatio + + # Validity check. + return max(SatHumRatio, MIN_HUM_RATIO) def GetSatAirEnthalpy(TDryBulb: float, Pressure: float) -> float: """ @@ -988,9 +1069,10 @@ def GetDegreeOfSaturation(TDryBulb: float, HumRatio: float, Pressure: float) -> """ if HumRatio < 0: raise ValueError("Humidity ratio is negative") + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) SatHumRatio = GetSatHumRatio(TDryBulb, Pressure) - DegreeOfSaturation = HumRatio / SatHumRatio + DegreeOfSaturation = BoundedHumRatio / SatHumRatio return DegreeOfSaturation def GetMoistAirEnthalpy(TDryBulb: float, HumRatio: float) -> float: @@ -1010,11 +1092,12 @@ def GetMoistAirEnthalpy(TDryBulb: float, HumRatio: float) -> float: """ if HumRatio < 0: raise ValueError("Humidity ratio is negative") + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) if isIP(): - MoistAirEnthalpy = 0.240 * TDryBulb + HumRatio * (1061 + 0.444 * TDryBulb) + MoistAirEnthalpy = 0.240 * TDryBulb + BoundedHumRatio * (1061 + 0.444 * TDryBulb) else: - MoistAirEnthalpy = (1.006 * TDryBulb + HumRatio * (2501. + 1.86 * TDryBulb)) * 1000 + MoistAirEnthalpy = (1.006 * TDryBulb + BoundedHumRatio * (2501. + 1.86 * TDryBulb)) * 1000 return MoistAirEnthalpy def GetMoistAirVolume(TDryBulb: float, HumRatio: float, Pressure: float) -> float: @@ -1039,11 +1122,12 @@ def GetMoistAirVolume(TDryBulb: float, HumRatio: float, Pressure: float) -> floa """ if HumRatio < 0: raise ValueError("Humidity ratio is negative") + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) if isIP(): - MoistAirVolume = R_DA_IP * GetTRankineFromTFahrenheit(TDryBulb) * (1 + 1.607858 * HumRatio) / (144 * Pressure) + MoistAirVolume = R_DA_IP * GetTRankineFromTFahrenheit(TDryBulb) * (1 + 1.607858 * BoundedHumRatio) / (144 * Pressure) else: - MoistAirVolume = R_DA_SI * GetTKelvinFromTCelsius(TDryBulb) * (1 + 1.607858 * HumRatio) / Pressure + MoistAirVolume = R_DA_SI * GetTKelvinFromTCelsius(TDryBulb) * (1 + 1.607858 * BoundedHumRatio) / Pressure return MoistAirVolume def GetMoistAirDensity(TDryBulb: float, HumRatio: float, Pressure:float) -> float: @@ -1064,9 +1148,10 @@ def GetMoistAirDensity(TDryBulb: float, HumRatio: float, Pressure:float) -> floa """ if HumRatio < 0: raise ValueError("Humidity ratio is negative") + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) - MoistAirVolume = GetMoistAirVolume(TDryBulb, HumRatio, Pressure) - MoistAirDensity = (1 + HumRatio) / MoistAirVolume + MoistAirVolume = GetMoistAirVolume(TDryBulb, BoundedHumRatio, Pressure) + MoistAirDensity = (1 + BoundedHumRatio) / MoistAirVolume return MoistAirDensity diff --git a/src/vba/psychrolib.bas b/src/vba/psychrolib.bas index c75ffd62..15012ab1 100644 --- a/src/vba/psychrolib.bas +++ b/src/vba/psychrolib.bas @@ -64,6 +64,9 @@ End Enum Private Const R_DA_IP = 53.35 ' Universal gas constant for dry air (IP version) in ft lbf/lb_DryAir/R Private Const R_DA_SI = 287.042 ' Universal gas constant for dry air (SI version) in J/kg_DryAir/K +Private Const MAX_ITER_COUNT = 100 ' Maximum number of iterations before exiting while loops. +Private Const MIN_HUM_RATIO = 1e-7 ' Minimum acceptable humidity ratio used/returned by any functions. + ' Any value above 0 or below the MIN_HUM_RATIO will be reset to this value. '****************************************************************************************************** @@ -481,6 +484,43 @@ ErrHandler: End Function + +Private Function dLnPws_(TDryBulb As Variant) As Variant +' +' Helper function returning the derivative of the natural log of the saturation vapor pressure +' as a function of dry-bulb temperature. +' +' Args: +' TDryBulb : Dry-bulb temperature in °F [IP] or °C [SI] +' +' Returns: +' Derivative of natural log of vapor pressure of saturated air in Psi [IP] or Pa [SI] +' +' Reference: +' ASHRAE Handbook - Fundamentals (2017) ch. 1 eqn 5 & 6 +' + Dim T As Variant + If (isIP()) Then + T = GetTRankineFromTFahrenheit(TDryBulb) + If (TDryBulb <= 32.) Then + dLnPws_ = 10214.165 / T ^ 2 - 0.0053765794 + 2 * 0.00000019202377 * T _ + + 2 * 3.5575832E-10 * T ^ 2 - 4 * 9.0344688E-14 * T ^ 3 + 4.1635019 / T + Else + dLnPws_ = 10440.397 / T ^ 2 - 0.027022355 + 2 * 0.00001289036 * T _ + - 3 * 2.4780681E-09 * T ^ 2 + 6.5459673 / T + End If + Else + T = GetTKelvinFromTCelsius(TDryBulb) + If (TDryBulb <= 0.) Then + dLnPws_ = 5674.5359 / T ^ 2 - 0.009677843 + 2 * 0.00000062215701 * T _ + + 3 * 2.0747825E-09 * T ^ 2 - 4 * 9.484024E-13 * T ^ 3 + 4.1635019 / T + Else + dLnPws_ = 5800.2206 / T ^ 2 - 0.048640239 + 2 * 0.000041764768 * T _ + - 3 * 0.000000014452093 * T ^ 2 + 6.5459673 / T + End If + End If +End Function + Function GetTDewPointFromVapPres(ByVal TDryBulb As Variant, ByVal VapPres As Variant) As Variant ' ' Return dew-point temperature given dry-bulb temperature and vapor pressure. @@ -505,62 +545,81 @@ Function GetTDewPointFromVapPres(ByVal TDryBulb As Variant, ByVal VapPres As Var ' Convergence is usually achieved in 3 to 5 iterations. ' TDryBulb is not really needed here, just used for convenience. ' - Dim BOUNDS_(2) As Variant - Dim STEPSIZE_ As Variant + Dim BOUNDS(2) As Variant + Dim T_WATER_FREEZE As Variant, T_WATER_FREEZE_LOW As Variant, T_WATER_FREEZE_HIGH As Variant + Dim PWS_FREEZE_LOW As Variant, PWS_FREEZE_HIGH As Variant + Dim PSYCHROLIB_TOLERANCE As Variant + If (isIP()) Then - BOUNDS_(1) = -148 - BOUNDS_(2) = 392 - STEPSIZE_ = 0.01 * 9 / 5 + BOUNDS(1) = -148. + BOUNDS(2) = 392. + T_WATER_FREEZE = 32. Else - BOUNDS_(1) = -100 - BOUNDS_(2) = 200 - STEPSIZE_ = 0.01 + BOUNDS(1) = -100. + BOUNDS(2) = 200. + T_WATER_FREEZE = 0. End If - Dim TMidPoint As Variant - TMidPoint = (BOUNDS_(1) + BOUNDS_(2)) / 2# ' Midpoint of domain of validity - On Error GoTo ErrHandler - If ((VapPres < GetSatVapPres(BOUNDS_(1))) Or (VapPres > GetSatVapPres(BOUNDS_(2)))) Then + If ((VapPres < GetSatVapPres(BOUNDS(1))) Or (VapPres > GetSatVapPres(BOUNDS(2)))) Then MyMsgBox ("Partial pressure of water vapor is outside range of validity of equations") GoTo ErrHandler End If - ' First guess + PSYCHROLIB_TOLERANCE = GetTol() + ' Vapor pressure contained within the discontinuity of the Pws function: return temperature of freezing + T_WATER_FREEZE_LOW = T_WATER_FREEZE - PSYCHROLIB_TOLERANCE / 10. ' Temperature just below freezing + T_WATER_FREEZE_HIGH = T_WATER_FREEZE + PSYCHROLIB_TOLERANCE / 10. ' Temperature just above freezing + PWS_FREEZE_LOW = GetSatVapPres(T_WATER_FREEZE_LOW) + PWS_FREEZE_HIGH = GetSatVapPres(T_WATER_FREEZE_HIGH) + + ' Restrict iteration to either left or right part of the saturation vapor pressure curve + ' to avoid iterating back and forth across the discontinuity of the curve at the freezing point + ' When the partial pressure of water vapor is within the discontinuity of GetSatVapPres, + ' simply return the freezing point of water. + If (VapPres < PWS_FREEZE_LOW) Then + BOUNDS(2) = T_WATER_FREEZE_LOW + ElseIf (VapPres > PWS_FREEZE_HIGH) Then + BOUNDS(1) = T_WATER_FREEZE_HIGH + Else + GetTDewPointFromVapPres = T_WATER_FREEZE + Exit Function + End If + Dim TDewPoint As Variant Dim lnVP As Variant Dim d_lnVP As Variant Dim TDewPoint_iter As Variant - Dim StepSize As Variant Dim lnVP_iter + Dim index As Variant + index = 1 + + ' We use NR to approximate the solution. + ' First guess TDewPoint = TDryBulb ' Calculated value of dew point temperatures, solved for iteratively - Dim Tol As Variant + lnVP = Log(VapPres) ' Partial pressure of water vapor in moist air - lnVP = Log(VapPres) ' Partial pressure of water vapor in moist air - Tol = GetTol() Do TDewPoint_iter = TDewPoint ' Value of Tdp used in NR calculation + lnVP_iter = Log(GetSatVapPres(TDewPoint_iter)) - ' Step - negative in the right part of the curve, positive in the left part - ' to avoid going past the domain of validity of eqn. 5 and 6 - ' when TDewPoint_iter is close to its bounds - If (TDewPoint_iter > TMidPoint) Then - StepSize = -STEPSIZE_ - Else - StepSize = STEPSIZE_ - End If + ' Derivative of function, calculated analytically + d_lnVP = dLnPws_(TDewPoint_iter) - lnVP_iter = Log(GetSatVapPres(TDewPoint_iter)) - ' Derivative of function, calculated numerically - d_lnVP = (Log(GetSatVapPres(TDewPoint_iter + StepSize)) - lnVP_iter) / StepSize - ' New estimate, bounded by domain of validity of eqn. 5 and 6 + ' New estimate, bounded by domain of validity of eqn. 5 and 6 and by the freezing point TDewPoint = TDewPoint_iter - (lnVP_iter - lnVP) / d_lnVP - TDewPoint = Max(TDewPoint, BOUNDS_(1)) - TDewPoint = Min(TDewPoint, BOUNDS_(2)) + TDewPoint = Max(TDewPoint, BOUNDS(1)) + TDewPoint = Min(TDewPoint, BOUNDS(2)) + + If (index > MAX_ITER_COUNT) Then + GoTo ErrHandler + End If + + index = index + 1 - Loop While (Abs(TDewPoint - TDewPoint_iter) > Tol) + Loop While (Abs(TDewPoint - TDewPoint_iter) > PSYCHROLIB_TOLERANCE) TDewPoint = Min(TDewPoint, TDryBulb) GetTDewPointFromVapPres = TDewPoint @@ -617,7 +676,7 @@ Function GetTWetBulbFromHumRatio(ByVal TDryBulb As Variant, ByVal HumRatio As Va ' Declarations Dim Wstar As Variant Dim TDewPoint As Variant, TWetBulb As Variant, TWetBulbSup As Variant, TWetBulbInf As Variant - Dim Tol As Variant + Dim Tol As Variant, BoundedHumRatio As Variant, index As Variant On Error GoTo ErrHandler @@ -625,8 +684,9 @@ Function GetTWetBulbFromHumRatio(ByVal TDryBulb As Variant, ByVal HumRatio As Va MyMsgBox ("Humidity ratio cannot be negative") GoTo ErrHandler End If + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) - TDewPoint = GetTDewPointFromHumRatio(TDryBulb, HumRatio, Pressure) + TDewPoint = GetTDewPointFromHumRatio(TDryBulb, BoundedHumRatio, Pressure) ' Initial guesses TWetBulbSup = TDryBulb @@ -635,21 +695,27 @@ Function GetTWetBulbFromHumRatio(ByVal TDryBulb As Variant, ByVal HumRatio As Va ' Bisection loop Tol = GetTol() - While (TWetBulbSup - TWetBulbInf > Tol) + index = 0 + While ((TWetBulbSup - TWetBulbInf) > Tol) - ' Compute humidity ratio at temperature Tstar - Wstar = GetHumRatioFromTWetBulb(TDryBulb, TWetBulb, Pressure) + ' Compute humidity ratio at temperature Tstar + Wstar = GetHumRatioFromTWetBulb(TDryBulb, TWetBulb, Pressure) - ' Get new bounds - If (Wstar > HumRatio) Then - TWetBulbSup = TWetBulb - Else - TWetBulbInf = TWetBulb - End If + ' Get new bounds + If (Wstar > BoundedHumRatio) Then + TWetBulbSup = TWetBulb + Else + TWetBulbInf = TWetBulb + End If + + ' New guess of wet bulb temperature + TWetBulb = (TWetBulbSup + TWetBulbInf) / 2 - ' New guess of wet bulb temperature - TWetBulb = (TWetBulbSup + TWetBulbInf) / 2 + If (index > MAX_ITER_COUNT) Then + GoTo ErrHandler + End If + index = index + 1 Wend GetTWetBulbFromHumRatio = TWetBulb @@ -675,7 +741,7 @@ Function GetHumRatioFromTWetBulb(ByVal TDryBulb As Variant, ByVal TWetBulb As Va ' Reference: ' ASHRAE Handbook - Fundamentals (2017) ch. 1 eqn 33 and 35 - Dim Wsstar As Variant + Dim Wsstar As Variant, HumRatio As Variant Wsstar = GetSatHumRatio(TWetBulb, Pressure) On Error GoTo ErrHandler @@ -687,17 +753,19 @@ Function GetHumRatioFromTWetBulb(ByVal TDryBulb As Variant, ByVal TWetBulb As Va If isIP() Then If (TWetBulb >= 32) Then - GetHumRatioFromTWetBulb = ((1093 - 0.556 * TWetBulb) * Wsstar - 0.24 * (TDryBulb - TWetBulb)) / (1093 + 0.444 * TDryBulb - TWetBulb) + HumRatio = ((1093 - 0.556 * TWetBulb) * Wsstar - 0.24 * (TDryBulb - TWetBulb)) / (1093 + 0.444 * TDryBulb - TWetBulb) Else - GetHumRatioFromTWetBulb = ((1220 - 0.04 * TWetBulb) * Wsstar - 0.24 * (TDryBulb - TWetBulb)) / (1220 + 0.444 * TDryBulb - 0.48 * TWetBulb) + HumRatio = ((1220 - 0.04 * TWetBulb) * Wsstar - 0.24 * (TDryBulb - TWetBulb)) / (1220 + 0.444 * TDryBulb - 0.48 * TWetBulb) End If Else If (TWetBulb >= 0) Then - GetHumRatioFromTWetBulb = ((2501 - 2.326 * TWetBulb) * Wsstar - 1.006 * (TDryBulb - TWetBulb)) / (2501 + 1.86 * TDryBulb - 4.186 * TWetBulb) + HumRatio = ((2501 - 2.326 * TWetBulb) * Wsstar - 1.006 * (TDryBulb - TWetBulb)) / (2501 + 1.86 * TDryBulb - 4.186 * TWetBulb) Else - GetHumRatioFromTWetBulb = ((2830# - 0.24 * TWetBulb) * Wsstar - 1.006 * (TDryBulb - TWetBulb)) / (2830# + 1.86 * TDryBulb - 2.1 * TWetBulb) + HumRatio = ((2830 - 0.24 * TWetBulb) * Wsstar - 1.006 * (TDryBulb - TWetBulb)) / (2830 + 1.86 * TDryBulb - 2.1 * TWetBulb) End If End If + ' Validity check. + GetHumRatioFromTWetBulb = max(HumRatio, MIN_HUM_RATIO) Exit Function ErrHandler: @@ -850,6 +918,8 @@ Function GetHumRatioFromVapPres(ByVal VapPres As Variant, ByVal Pressure As Vari ' Reference: ' ASHRAE Handbook - Fundamentals (2017) ch. 1 eqn 20 ' + Dim HumRatio As Variant + On Error GoTo ErrHandler If VapPres < 0 Then @@ -857,7 +927,9 @@ Function GetHumRatioFromVapPres(ByVal VapPres As Variant, ByVal Pressure As Vari GoTo ErrHandler End If - GetHumRatioFromVapPres = 0.621945 * VapPres / (Pressure - VapPres) + HumRatio = 0.621945 * VapPres / (Pressure - VapPres) + ' Validity check. + GetHumRatioFromVapPres = max(HumRatio, MIN_HUM_RATIO) Exit Function ErrHandler: @@ -880,7 +952,7 @@ Function GetVapPresFromHumRatio(ByVal HumRatio As Variant, ByVal Pressure As Var ' ASHRAE Handbook - Fundamentals (2017) ch. 1 eqn 20 solved for pw ' - Dim VapPres As Variant + Dim VapPres As Variant, BoundedHumRatio As Variant On Error GoTo ErrHandler @@ -888,8 +960,9 @@ Function GetVapPresFromHumRatio(ByVal HumRatio As Variant, ByVal Pressure As Var MyMsgBox ("Humidity ratio is negative") GoTo ErrHandler End If + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) - VapPres = Pressure * HumRatio / (0.621945 + HumRatio) + VapPres = Pressure * BoundedHumRatio / (0.621945 + BoundedHumRatio) GetVapPresFromHumRatio = VapPres Exit Function @@ -959,7 +1032,7 @@ Function GetHumRatioFromSpecificHum(ByVal SpecificHum As Variant) As Variant End If HumRatio = SpecificHum / (1.0 - SpecificHum) - GetHumRatioFromSpecificHum = HumRatio + GetHumRatioFromSpecificHum = max(HumRatio, MIN_HUM_RATIO) Exit Function ErrHandler: @@ -1213,12 +1286,13 @@ Function GetSatHumRatio(ByVal TDryBulb As Variant, ByVal Pressure As Variant) As ' Reference: ' ASHRAE Handbook - Fundamentals (2017) ch. 1 eqn 36, solved for W ' - Dim SatVaporPres As Variant + Dim SatVaporPres As Variant, SatHumRatio As Variant On Error GoTo ErrHandler SatVaporPres = GetSatVapPres(TDryBulb) - GetSatHumRatio = 0.621945 * SatVaporPres / (Pressure - SatVaporPres) + SatHumRatio = 0.621945 * SatVaporPres / (Pressure - SatVaporPres) + GetSatHumRatio = max(SatHumRatio, MIN_HUM_RATIO) Exit Function ErrHandler: @@ -1307,6 +1381,8 @@ Function GetDegreeOfSaturation(ByVal TDryBulb As Variant, ByVal HumRatio As Vari ' ' Notes: ' This definition is absent from the 2017 Handbook. Using 2009 version instead. +' + Dim BoundedHumRatio As Variant On Error GoTo ErrHandler @@ -1314,8 +1390,9 @@ Function GetDegreeOfSaturation(ByVal TDryBulb As Variant, ByVal HumRatio As Vari MyMsgBox ("Humidity ratio is negative") GoTo ErrHandler End If + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) - GetDegreeOfSaturation = HumRatio / GetSatHumRatio(TDryBulb, Pressure) + GetDegreeOfSaturation = BoundedHumRatio / GetSatHumRatio(TDryBulb, Pressure) Exit Function ErrHandler: @@ -1337,17 +1414,20 @@ Function GetMoistAirEnthalpy(ByVal TDryBulb As Variant, ByVal HumRatio As Varian ' Reference: ' ASHRAE Handbook - Fundamentals (2017) ch. 1 eqn 30 ' + Dim BoundedHumRatio As Variant + On Error GoTo ErrHandler If (HumRatio < 0) Then MyMsgBox ("Humidity ratio is negative") GoTo ErrHandler End If + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) If (isIP()) Then - GetMoistAirEnthalpy = 0.24 * TDryBulb + HumRatio * (1061 + 0.444 * TDryBulb) + GetMoistAirEnthalpy = 0.24 * TDryBulb + BoundedHumRatio * (1061 + 0.444 * TDryBulb) Else - GetMoistAirEnthalpy = (1.006 * TDryBulb + HumRatio * (2501 + 1.86 * TDryBulb)) * 1000 + GetMoistAirEnthalpy = (1.006 * TDryBulb + BoundedHumRatio * (2501 + 1.86 * TDryBulb)) * 1000 End If Exit Function @@ -1375,17 +1455,20 @@ Function GetMoistAirVolume(ByVal TDryBulb As Variant, ByVal HumRatio As Variant, ' In IP units, R_DA_IP / 144 equals 0.370486 which is the coefficient appearing in eqn 26 ' The factor 144 is for the conversion of Psi = lb/in² to lb/ft². ' + Dim BoundedHumRatio As Variant + On Error GoTo ErrHandler If (HumRatio < 0) Then MyMsgBox ("Humidity ratio is negative") GoTo ErrHandler End If + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) If (isIP()) Then - GetMoistAirVolume = R_DA_IP * GetTRankineFromTFahrenheit(TDryBulb) * (1 + 1.607858 * HumRatio) / (144 * Pressure) + GetMoistAirVolume = R_DA_IP * GetTRankineFromTFahrenheit(TDryBulb) * (1 + 1.607858 * BoundedHumRatio) / (144 * Pressure) Else - GetMoistAirVolume = R_DA_SI * GetTKelvinFromTCelsius(TDryBulb) * (1 + 1.607858 * HumRatio) / Pressure + GetMoistAirVolume = R_DA_SI * GetTKelvinFromTCelsius(TDryBulb) * (1 + 1.607858 * BoundedHumRatio) / Pressure End If Exit Function @@ -1409,7 +1492,7 @@ Function GetMoistAirDensity(ByVal TDryBulb As Variant, ByVal HumRatio As Variant ' Reference: ' ASHRAE Handbook - Fundamentals (2017) ch. 1 eqn 11 ' - Dim MoistAirVolume As Variant + Dim MoistAirVolume As Variant, BoundedHumRatio As Variant On Error GoTo ErrHandler @@ -1417,9 +1500,10 @@ Function GetMoistAirDensity(ByVal TDryBulb As Variant, ByVal HumRatio As Variant MyMsgBox ("Humidity ratio is negative") GoTo ErrHandler End If + BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO) - MoistAirVolume = GetMoistAirVolume(TDryBulb, HumRatio, Pressure) - GetMoistAirDensity = (1 + HumRatio) / MoistAirVolume + MoistAirVolume = GetMoistAirVolume(TDryBulb, BoundedHumRatio, Pressure) + GetMoistAirDensity = (1 + BoundedHumRatio) / MoistAirVolume Exit Function ErrHandler: diff --git a/tests/js/test_psychrolib_ip.js b/tests/js/test_psychrolib_ip.js index 439c560f..d798bc01 100644 --- a/tests/js/test_psychrolib_ip.js +++ b/tests/js/test_psychrolib_ip.js @@ -91,6 +91,15 @@ it('test_VapPres_TDewPoint', function () { expect(psyjs.GetTDewPointFromVapPres(140.0, VapPres)).to.be.closeTo(122.0, 0.001) }); +// Test that the NR in GetTDewPointFromVapPres converges. +// This test was known problem in versions of PsychroLib <= 2.0.0 +it('test_GetTDewPointFromVapPres_convergence', function () { + for (var TDryBulb = -148; TDryBulb <= 392; TDryBulb += 1) + for (var RelHum = 0; RelHum <= 1; RelHum += 0.1) + for (var Pressure = 8.6; Pressure <= 17.4; Pressure += 1) + psyjs.GetTWetBulbFromRelHum(TDryBulb, RelHum, Pressure) +}); + // Test of relationships between humidity ratio and vapour pressure it('test_HumRatio_VapPres', function () { var HumRatio = psyjs.GetHumRatioFromVapPres(0.45973, 14.175) // conditions at 77 F, std atm pressure at 1000 ft @@ -121,6 +130,9 @@ it('test_HumRatio_TWetBulb', function () { checkRelDiff(HumRatio,0.00114657481090184, 0.0003) var TWetBulb = psyjs.GetTWetBulbFromHumRatio(30.2, HumRatio, 14.1751) expect(TWetBulb).to.be.closeTo(23.0, 0.001) + + // Low HumRatio -- this should evaluate true as we clamp the HumRation to 1e-07. + expect(psyjs.GetTWetBulbFromHumRatio(23,1e-09,95461)).to.equal(psyjs.GetTWetBulbFromHumRatio(23,1e-07,95461)) }); /** diff --git a/tests/js/test_psychrolib_si.js b/tests/js/test_psychrolib_si.js index c24e5cca..9a637a6e 100644 --- a/tests/js/test_psychrolib_si.js +++ b/tests/js/test_psychrolib_si.js @@ -91,6 +91,23 @@ it('test_VapPres_TDewPoint', function () { expect(psyjs.GetTDewPointFromVapPres(60.0, VapPres)).to.be.closeTo(50.0, 0.001) }); +// Test of relationships between wet bulb temperature and relative humidity +// This test was known to cause a convergence issue in GetTDewPointFromVapPres +// in versions of PsychroLib <= 2.0.0 +it('test_TWetBulb_RelHum', function () { + var TWetBulb = psyjs.GetTWetBulbFromRelHum(7, 0.61, 100000) + checkRelDiff(TWetBulb, 3.92667433781955, 0.001) +}); + +// Test that the NR in GetTDewPointFromVapPres converges. +// This test was known problem in versions of PsychroLib <= 2.0.0 +it('test_GetTDewPointFromVapPres_convergence', function () { + for (var TDryBulb = -100; TDryBulb <= 200; TDryBulb += 1) + for (var RelHum = 0; RelHum <= 1; RelHum += 0.1) + for (var Pressure = 60000; Pressure <= 120000; Pressure += 10000) + psyjs.GetTWetBulbFromRelHum(TDryBulb, RelHum, Pressure) +}); + // Test of relationships between humidity ratio and vapour pressure it('test_HumRatio_VapPres', function () { var HumRatio = psyjs.GetHumRatioFromVapPres(3169.7, 95461) // conditions at 25 C, std atm pressure at 500 m @@ -121,6 +138,9 @@ it('test_HumRatio_TWetBulb', function () { checkRelDiff(HumRatio, 0.00120399819933844, 0.0003) var TWetBulb = psyjs.GetTWetBulbFromHumRatio(-1, HumRatio, 95461) expect(TWetBulb).to.be.closeTo(-5, 0.001) + + // Low HumRatio -- this should evaluate true as we clamp the HumRation to 1e-07. + expect(psyjs.GetTWetBulbFromHumRatio(-5,1e-09,95461)).to.equal(psyjs.GetTWetBulbFromHumRatio(-5,1e-07,95461)) }); /** diff --git a/tests/test_psychrolib_ip.py b/tests/test_psychrolib_ip.py index aed5efc3..39319e0e 100644 --- a/tests/test_psychrolib_ip.py +++ b/tests/test_psychrolib_ip.py @@ -1,6 +1,7 @@ # Copyright (c) 2018 D. Thevenard and D. Meyer. Licensed under the MIT License. # Test of PsychroLib in IP units for Python, C, and Fortran. +import numpy as np import pytest pytestmark = pytest.mark.usefixtures('SetUnitSystem_IP') @@ -28,6 +29,18 @@ def test_GetSatVapPres(psy): assert psy.GetSatVapPres(212) == pytest.approx(14.7094, rel = 0.0003) assert psy.GetSatVapPres(300) == pytest.approx(67.0206, rel = 0.0003) +# Test that the NR in GetTDewPointFromVapPres converges. +# This test was known problem in versions of PsychroLib <= 2.0.0 +def test_GetTDewPointFromVapPres_convergence(psy): + TDryBulb = np.arange(-148, 392, 1) + RelHum = np.arange(0, 1, 0.1) + Pressure = np.arange(8.6, 17.4, 1) + for T in TDryBulb: + for RH in RelHum: + for p in Pressure: + psy.GetTWetBulbFromRelHum(T, RH, p) + print('GetTDewPointFromVapPres converged') + # Test saturation humidity ratio # The values are tested against those published in Table 2 of ch. 1 of the 2017 ASHRAE Handbook - Fundamentals # Agreement is not terrific - up to 2% difference with the values published in the table @@ -97,6 +110,8 @@ def test_HumRatio_TWetBulb(psy): assert HumRatio == pytest.approx(0.00114657481090184, rel = 0.0003) TWetBulb = psy.GetTWetBulbFromHumRatio(30.2, HumRatio, 14.1751) assert TWetBulb == pytest.approx(23.0, abs = 0.001) + # Low HumRatio -- this should evaluate true as we clamp the HumRation to 1e-07. + assert psy.GetTWetBulbFromHumRatio(25,1e-09,95461) == psy.GetTWetBulbFromHumRatio(25,1e-07,95461) ############################################################################### diff --git a/tests/test_psychrolib_si.py b/tests/test_psychrolib_si.py index cf461ad2..6759b710 100644 --- a/tests/test_psychrolib_si.py +++ b/tests/test_psychrolib_si.py @@ -1,6 +1,7 @@ # Copyright (c) 2018 D. Thevenard and D. Meyer. Licensed under the MIT License. # Test of PsychroLib in SI units for Python, C, and Fortran. +import numpy as np import pytest pytestmark = pytest.mark.usefixtures('SetUnitSystem_SI') @@ -68,6 +69,25 @@ def test_VapPres_TDewPoint(psy): VapPres = psy.GetVapPresFromTDewPoint(50.0) assert psy.GetTDewPointFromVapPres(60.0, VapPres) == pytest.approx(50.0, abs = 0.001) +# Test of relationships between wet bulb temperature and relative humidity +# This test was known to cause a convergence issue in GetTDewPointFromVapPres +# in versions of PsychroLib <= 2.0.0 +def test_TWetBulb_RelHum(psy): + TWetBulb = psy.GetTWetBulbFromRelHum(7, 0.61, 100000) + assert TWetBulb == pytest.approx(3.92667433781955, rel = 0.001) + +# Test that the NR in GetTDewPointFromVapPres converges. +# This test was known problem in versions of PsychroLib <= 2.0.0 +def test_GetTDewPointFromVapPres_convergence(psy): + TDryBulb = np.arange(-100, 200, 1) + RelHum = np.arange(0, 1, 0.1) + Pressure = np.arange(60000, 120000, 10000) + for T in TDryBulb: + for RH in RelHum: + for p in Pressure: + psy.GetTWetBulbFromRelHum(T, RH, p) + print('GetTDewPointFromVapPres converged') + # Test of relationships between humidity ratio and vapour pressure # Humidity ratio values to test against are calculated with Excel def test_HumRatio_VapPres(psy): @@ -97,6 +117,8 @@ def test_HumRatio_TWetBulb(psy): assert HumRatio == pytest.approx(0.00120399819933844, rel = 0.0003) TWetBulb = psy.GetTWetBulbFromHumRatio(-1, HumRatio, 95461) assert TWetBulb == pytest.approx(-5, abs = 0.001) + # Low HumRatio -- this should evaluate true as we clamp the HumRation to 1e-07. + assert psy.GetTWetBulbFromHumRatio(-5,1e-09,95461) == psy.GetTWetBulbFromHumRatio(-5,1e-07,95461) ############################################################################### diff --git a/tests/vba/test_psychrolib_ip.bas b/tests/vba/test_psychrolib_ip.bas index 3d51093f..7cf6417f 100644 --- a/tests/vba/test_psychrolib_ip.bas +++ b/tests/vba/test_psychrolib_ip.bas @@ -27,6 +27,7 @@ Sub RunAllTests() Call test_GetStandardAtmTemperature Call test_SeaLevel_Station_Pressure Call test_AllPsychrometrics + Call test_GetTDewPointFromVapPres_convergence Debug.Print "# of tests run :", TestCount Debug.Print "# of issues found:", IssueCount End Sub @@ -261,3 +262,20 @@ Sub test_AllPsychrometrics() Call TestExpression("CalcPsychrometricsFromRelHum", TWetBulb, 65, abst:=0.1) End Sub + +'############################################################################## +' Test of the convergence of the NR method in GetTDewPointFromVapPres +' over a wide range of inputs +' This test was known problem in versions of PsychroLib <= 2.0.0 +'############################################################################## +' +Sub test_GetTDewPointFromVapPres_convergence() + For TDryBulb = -148 To 392 Step 2 + For RelHum = 0 To 1 Step 0.1 + For Pressure = 8.6 To 17.4 Step 0.8 + TWetBulb = GetTWetBulbFromRelHum(TDryBulb, RelHum, Pressure) + Next Pressure + Next RelHum + Next TDryBulb + Call TestExpression("GetTDewPointFromVapPres convergence test", 1, 1, abst:=0.1) +End Sub diff --git a/tests/vba/test_psychrolib_ip.xlsm b/tests/vba/test_psychrolib_ip.xlsm index 5628e945ee2f4977f1b81d7eafacaafd476e44a0..1044a32859569d35a356b9651838b4f55df22bb7 100755 GIT binary patch delta 81378 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 TJp!dsmq|SVA_ins0RR91;Im@( delta 74486 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

w1v?h1F)nZ#0IhVn0>NI6vf32X8-A1% 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

b`zn+k`S!SBr{SdJOK5s!#7mzFi34qYK|6QO}Lv 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 delta 73884 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

4_5Jx!g3tgQy0Uza0>62aO==9Pw`!C*^o< zZYUGez1*5Gq!3gjpgIv1m?{+Op#?QUe<7NYU>qW7DOFCnscNp3DlGNtQ^Qralbb2V zA(g72Mam*`;k$#Dx+#b6?6=pR0+p$u@+LhsS?o(@t8}cY8vb=RL!9_qLId;qOp~Nrji?}(hU#0 zWSPSMu3-+iw)V&vMfyMyi7DHlGiXp~P*~As6 ze4yaaXr?^?_u5hdggaoVVj24o^;bA_uy0WH%;-CtTnxrqfH4V2BY%W(o6h3m_QE%k zdplLZGj)BNMol>47=^H*yn#|2QV-mmOX-fO@^N%toPJn-%!67lbkpwze+=-JyU9Ab zRiJMISQ&H)GMFdJCK=3=`7lI!5b1v&>39<*su?dC5h1C2w*VrF@jic(qh*`Si^o?HmmKQvfBS_3;?w(0lw>o?U5Q7xj0I_ zz#(xfZY`Y*bWY7FCo@2&f1#8dKA%S4+^#;Z?TU* zO4(Qpo`pE%ivbfY+PD(AAd6>X3r7+1yU?+BX`XVU#=Gsnw?oDuwBbV7Tml;sIN6qH zvm&2g8lf%hP2@9XJ>Aq`Eoh8zw$)}!LsA)I#=VTwaX+6jKNk_Oe-F}x@VJsovMAg~ zZ4H_-Z~_TtSZ0mwBg5lt6a|6?=y0~9$q>i8Fcgi0^Ir(jwN%guEmtIi&=i+T1~&#| zHJ$l0At*fa7bQD}3o-R|FdSMaS-Jz|ssXHtDRIEJQo-qgYoaf$3yI3^lEIuk4x^J_nq4L zy-&tS)OrG~C_dD{;l^)%zmaU)RWFnpMb_o(#q#+FMNLBNe?lF>xl9+yrJt_?n0JbG zf$wEplWPyJ>usS`JkCZ=>ZTv0Kj4uY@WJI|$YmG8^+LEy2=5cZ{bF9-k*9E)ijY1b zUJ4wcf_)bute?vut4hOSrj2fe<}lTwMPh_6v9aX57>}i2=5cZpl1y{#X@+U5I!V?`-QMwCt$Kp2p0A^qf4=o{cafm4oy-_;A_HS{fC?sBpgcN8_=O7C#Od~6$$=imcP z-%#Wl7)~04j{$_{)%Q8MAn{jYuppt8C8NB6515<6&L}tiEnDr+&{sh}k zr~p53e@7*Jv4uQu6-P9@HnXy0Q~4YPzd6C7F$(gaMZ&v&AzU*E-@GX!O~Fm!=;7QU zXh&27LFNwa2engg8ruL~vDoABu3%v>Z7sjPw0uE!`Ss|zkOW$q?Z0hM05UHc~z7+uC zep}F$d*aTsy2`F_Ydw_mVria!p>+jy22l06Y_A~B)seq*ZK5R&4saJ4 zG{;^{rD7;gg!821FX#vlv1O0de|}178LAZWv2T_%3j7%q&K#%g|^w3e?ahC3+O& z5lqDLSW#`a9*l?LESEoKdq~fJf4>DfWVNXrW^e|$c;w4x1{a<4AD#U4>zmHscg6a* zp0b@Iho%^W$UM9OQ2~ol!Rt7uyHxx|*H?wmnDwc(1MJ%<+P6~xh0AdjHn(_>)Dkkb z0{zD;rAvH;*;fZnFA|h$~i?n=5o7q4|I|Ye^^nIN?#(0 z0dapBksu7=Q;eq;!l270QI3Gl$lr zLe^qYT@MbaNd|l|-hZi>2Sd^l}1(1rf9O6>Ne`+AyDh|ZDk6+OCb4Bfc`bS5fAA9`z$G<=6eK7m!ky2dz zNhqASI$QBu93Knx?IxEiP&2Hb5};u8aAw6ynP;VI`W~C2ajOf@kP~&U2}`i3HF5|= zDo)AFBh--Qh{20UAS{112;q28rO;fII*b(;K-@Af1Mu#HTB}C25J0z zAPz06IQDO(1KE;JFTz%9Vn)=|jZsyJuSh^Tjvva#qpDT6E)>V(^#yyXwGvo>T*oNW?@5y1e;_Zo-AjTRa_pS zwJ?AEi|+-Iv6#vLe-ywn3t=Hdf?v<$N6F1wS$uggi131%aj9`0CR+HmEDP-@`}Fjy z*V3qU+e?DfwG+P+263tw3J)I73>}8XAB=`E|jcrT3 zBngf~E#&P?M>ob+>>}64_1fQt-?QA?tf2Napb}(nnwkYYXZ2$VT z>4ZXyXB4}9b)30Q)N(`DaU5zB2_!q`qLvqXfxoqtx?71Yzgd^w*os^V8YY{5 z7{`9h-;{eUiCVT}Tb7&ny>8NFZ#$%nM*Z^klme-H2lH$)%J!S&>N#^N4MR; zb<(b9b&`H)TXk$Z>34#j=XNYBwvx~$t$uvxG(ldcWebw#oQRtZh8Zc8Egf0yX7Q6W z>fFX^YH8odcKmjee^_0o-Son+-E7o#b4T_jlgvLn_8E8qlRV5w`d{|Hu)se6w+v7L zu>l2bp3hu2x57~YBmsYvl3z>1Fcih#1;0bddz+?(;X>Pi%AOnuP88ola<>JWKP1s^ z-`=#HwS&F*c<(v+-E%LgR!7w)-{8D7x<(|+Q39G9A@#mSuiJHchY}x{7OXWIYIFjR zR?Y2A#VzH=!Lu_KT#(?CNYb8iTcbk=mSXJr0TlCDbm%DVj8lIs#M14tW&D%v0T+3` zzzPBrEHK;yQ#%pS87cULv|p|r0D@y^L4gh)lZ@a$ZvdzK)dzzzb1E55HtuweJ7)_% zij({3Ps#!S04A4qR{>50>j?k=lMxCUmv&hJ5F6bTu|q%t z008j>000;O000000000000000L6;3!0Yw3~ms3~)Kn!~o004MwFLQKxY-N|>SOFE6 zv{(Te0cV%bSOF&+_N@T#4i^Cc04xIl5dZ)H0000000000004=X5m^B~0>&_xQCR^` z1IRG}moZTRD3{Aw0T2akp3hu2m*80e6#`>2m-kr#Jp$1*mo{1fA_kB*0RR91mm&ch