Skip to content

Commit d7d4539

Browse files
Yujie XuYujie Xu
authored andcommitted
remove global variables
1 parent 70091eb commit d7d4539

File tree

1 file changed

+82
-31
lines changed

1 file changed

+82
-31
lines changed

src/EnergyPlus/ExtendedHeatIndex.cc

Lines changed: 82 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -69,23 +69,24 @@
6969
namespace EnergyPlus {
7070

7171
namespace ExtendedHI {
72-
// Thermodynamic parameters
73-
constexpr Real64 Ttrip = 273.16; // K
74-
constexpr Real64 ptrip = 611.65; // Pa
75-
constexpr Real64 E0v = 2.3740e6; // J/kg
76-
constexpr Real64 E0s = 0.3337e6; // J/kg
77-
constexpr Real64 rgasa = 287.04; // J/kg/K
78-
constexpr Real64 rgasv = 461.; // J/kg/K
79-
constexpr Real64 cva = 719.; // J/kg/K
80-
constexpr Real64 cvv = 1418.; // J/kg/K
81-
constexpr Real64 cvl = 4119.; // J/kg/K
82-
constexpr Real64 cvs = 1861.; // J/kg/K
83-
constexpr Real64 cpa = cva + rgasa;
84-
constexpr Real64 cpv = cvv + rgasv;
8572

8673
// The saturation vapor pressure
8774
Real64 pvstar(Real64 const T)
8875
{
76+
// Thermodynamic parameters
77+
constexpr Real64 Ttrip = 273.16; // K
78+
constexpr Real64 ptrip = 611.65; // Pa
79+
constexpr Real64 E0v = 2.3740e6; // J/kg
80+
constexpr Real64 E0s = 0.3337e6; // J/kg
81+
constexpr Real64 rgasa = 287.04; // J/kg/K
82+
constexpr Real64 rgasv = 461.; // J/kg/K
83+
constexpr Real64 cva = 719.; // J/kg/K
84+
constexpr Real64 cvv = 1418.; // J/kg/K
85+
constexpr Real64 cvl = 4119.; // J/kg/K
86+
constexpr Real64 cvs = 1861.; // J/kg/K
87+
constexpr Real64 cpa = cva + rgasa;
88+
constexpr Real64 cpv = cvv + rgasv;
89+
8990
if (T == 0.0) {
9091
return 0.0;
9192
} else if (T < Ttrip) {
@@ -99,30 +100,33 @@ namespace ExtendedHI {
99100
// The latent heat of vaporization of water
100101
Real64 Le(Real64 const T)
101102
{
103+
// Thermodynamic parameters
104+
constexpr Real64 Ttrip = 273.16; // K
105+
constexpr Real64 E0v = 2.3740e6; // J/kg
106+
constexpr Real64 rgasv = 461.; // J/kg/K
107+
constexpr Real64 cvv = 1418.; // J/kg/K
108+
constexpr Real64 cvl = 4119.; // J/kg/K
102109
return (E0v + (cvv - cvl) * (T - Ttrip) + rgasv * T);
103110
}
104111

105-
// Thermoregulatory parameters
106-
constexpr Real64 sigma = 5.67e-8; // W/m^2/K^4 , Stefan-Boltzmann constant
107-
constexpr Real64 epsilon = 0.97; // , emissivity of surface, steadman1979
108-
constexpr Real64 M = 83.6; // kg , mass of average US adults, fryar2018
109-
constexpr Real64 H = 1.69; // m , height of average US adults, fryar2018
110-
Real64 A = 0.202 * pow(M, 0.425) * pow(H, 0.725); // m^2 , DuBois formula, parson2014
111-
constexpr Real64 cpc = 3492.; // J/kg/K , specific heat capacity of core, gagge1972
112-
Real64 C = M * cpc / A; // , heat capacity of core
113-
constexpr Real64 r = 124.; // Pa/K , Zf/Rf, steadman1979
114-
constexpr Real64 Q = 180.; // W/m^2 , metabolic rate per skin area, steadman1979
115-
constexpr Real64 phi_salt = 0.9; // , vapor saturation pressure level of saline solution, steadman1979
116-
constexpr Real64 Tc = 310.; // K , core temperature, steadman1979
117-
Real64 Pc = phi_salt * pvstar(Tc); // , core vapor pressure
118-
Real64 L = Le(310.); // , latent heat of vaporization at 310 K
119-
constexpr Real64 p = 1.013e5; // Pa , atmospheric pressure
120-
constexpr Real64 eta = 1.43e-6; // kg/J , "inhaled mass" / "metabolic rate", steadman1979
121-
constexpr Real64 Pa0 = 1.6e3; // Pa , reference air vapor pressure in regions III, IV, V, VI, steadman1979
122-
123112
// Function to calculate respiratory heat loss, W/m^2
124113
Real64 Qv(Real64 const Ta, Real64 const Pa)
125114
{
115+
constexpr Real64 Q = 180.; // W/m^2 , metabolic rate per skin area, steadman1979
116+
constexpr Real64 phi_salt = 0.9; // , vapor saturation pressure level of saline solution, steadman1979
117+
constexpr Real64 Tc = 310.; // K , core temperature, steadman1979
118+
Real64 Pc = phi_salt * pvstar(Tc); // , core vapor pressure
119+
constexpr Real64 r = 124.; // Pa/K , Zf/Rf, steadman1979
120+
constexpr Real64 eta = 1.43e-6; // kg/J , "inhaled mass" / "metabolic rate", steadman1979
121+
Real64 L = Le(310.); // , latent heat of vaporization at 310 K
122+
constexpr Real64 p = 1.013e5; // Pa , atmospheric pressure
123+
constexpr Real64 rgasa = 287.04; // J/kg/K
124+
constexpr Real64 rgasv = 461.; // J/kg/K
125+
constexpr Real64 cva = 719.; // J/kg/K
126+
constexpr Real64 cvv = 1418.; // J/kg/K
127+
constexpr Real64 cpa = cva + rgasa;
128+
constexpr Real64 cpv = cvv + rgasv;
129+
126130
return eta * Q * (cpa * (Tc - Ta) + L * rgasa / (p * rgasv) * (Pc - Pa));
127131
}
128132

@@ -135,6 +139,8 @@ namespace ExtendedHI {
135139
// Function to calculate heat transfer resistance through air, exposed part of skin, K m^2/W
136140
Real64 Ra(Real64 const Ts, Real64 const Ta)
137141
{
142+
constexpr Real64 sigma = 5.67e-8; // W/m^2/K^4 , Stefan-Boltzmann constant
143+
constexpr Real64 epsilon = 0.97; // , emissivity of surface, steadman1979
138144
constexpr Real64 hc = 17.4;
139145
constexpr Real64 phi_rad = 0.85;
140146
Real64 const hr = epsilon * phi_rad * sigma * (std::pow(Ts, 2) + std::pow(Ta, 2)) * (Ts + Ta);
@@ -144,6 +150,8 @@ namespace ExtendedHI {
144150
// Function to calculate heat transfer resistance through air, clothed part of skin, K m^2/W
145151
Real64 Ra_bar(Real64 const Tf, Real64 const Ta)
146152
{
153+
constexpr Real64 sigma = 5.67e-8; // W/m^2/K^4 , Stefan-Boltzmann constant
154+
constexpr Real64 epsilon = 0.97; // , emissivity of surface, steadman1979
147155
constexpr Real64 hc = 11.6;
148156
constexpr Real64 phi_rad = 0.79;
149157
Real64 const hr = epsilon * phi_rad * sigma * (std::pow(Tf, 2) + std::pow(Ta, 2)) * (Tf + Ta);
@@ -153,6 +161,8 @@ namespace ExtendedHI {
153161
// Function to calculate heat transfer resistance through air, when being naked, K m^2/W
154162
Real64 Ra_un(Real64 const Ts, Real64 const Ta)
155163
{
164+
constexpr Real64 sigma = 5.67e-8; // W/m^2/K^4 , Stefan-Boltzmann constant
165+
constexpr Real64 epsilon = 0.97; // , emissivity of surface, steadman1979
156166
constexpr Real64 hc = 12.3;
157167
constexpr Real64 phi_rad = 0.80;
158168
Real64 const hr = epsilon * phi_rad * sigma * (std::pow(Ts, 2) + std::pow(Ta, 2)) * (Ts + Ta);
@@ -167,6 +177,10 @@ namespace ExtendedHI {
167177
constexpr Real64 maxIter = 100;
168178
Real64 find_eqvar_phi(EnergyPlusData &state, Real64 const Ta, Real64 const RH)
169179
{
180+
constexpr Real64 Q = 180.; // W/m^2 , metabolic rate per skin area, steadman1979
181+
constexpr Real64 phi_salt = 0.9; // , vapor saturation pressure level of saline solution, steadman1979
182+
constexpr Real64 Tc = 310.; // K , core temperature, steadman1979
183+
Real64 Pc = phi_salt * pvstar(Tc); // , core vapor pressure
170184

171185
Real64 phi = 0.84;
172186
Real64 const Pa = RH * pvstar(Ta);
@@ -193,6 +207,12 @@ namespace ExtendedHI {
193207

194208
Real64 find_eqvar_Rf(EnergyPlusData &state, Real64 const Ta, Real64 const RH)
195209
{
210+
constexpr Real64 Q = 180.; // W/m^2 , metabolic rate per skin area, steadman1979
211+
constexpr Real64 phi_salt = 0.9; // , vapor saturation pressure level of saline solution, steadman1979
212+
constexpr Real64 Tc = 310.; // K , core temperature, steadman1979
213+
Real64 Pc = phi_salt * pvstar(Tc); // , core vapor pressure
214+
constexpr Real64 r = 124.; // Pa/K , Zf/Rf, steadman1979
215+
196216
Real64 Pa = RH * pvstar(Ta);
197217
constexpr Real64 Rs = 0.0387;
198218
constexpr Real64 phi = 0.84;
@@ -248,6 +268,15 @@ namespace ExtendedHI {
248268

249269
Real64 find_eqvar_rs(EnergyPlusData &state, Real64 const Ta, Real64 const RH)
250270
{
271+
constexpr Real64 M = 83.6; // kg , mass of average US adults, fryar2018
272+
constexpr Real64 H = 1.69; // m , height of average US adults, fryar2018
273+
Real64 A = 0.202 * pow(M, 0.425) * pow(H, 0.725); // m^2 , DuBois formula, parson2014
274+
constexpr Real64 cpc = 3492.; // J/kg/K , specific heat capacity of core, gagge1972
275+
Real64 C = M * cpc / A; // , heat capacity of core
276+
constexpr Real64 Q = 180.; // W/m^2 , metabolic rate per skin area, steadman1979
277+
constexpr Real64 phi_salt = 0.9; // , vapor saturation pressure level of saline solution, steadman1979
278+
constexpr Real64 Tc = 310.; // K , core temperature, steadman1979
279+
Real64 Pc = phi_salt * pvstar(Tc); // , core vapor pressure
251280

252281
Real64 Pa = RH * pvstar(Ta);
253282
constexpr Real64 phi = 0.84;
@@ -314,6 +343,16 @@ namespace ExtendedHI {
314343

315344
Real64 find_eqvar_dTcdt(EnergyPlusData &state, Real64 const Ta, Real64 const RH)
316345
{
346+
constexpr Real64 M = 83.6; // kg , mass of average US adults, fryar2018
347+
constexpr Real64 H = 1.69; // m , height of average US adults, fryar2018
348+
Real64 A = 0.202 * pow(M, 0.425) * pow(H, 0.725); // m^2 , DuBois formula, parson2014
349+
constexpr Real64 cpc = 3492.; // J/kg/K , specific heat capacity of core, gagge1972
350+
Real64 C = M * cpc / A; // , heat capacity of core
351+
constexpr Real64 Q = 180.; // W/m^2 , metabolic rate per skin area, steadman1979
352+
constexpr Real64 phi_salt = 0.9; // , vapor saturation pressure level of saline solution, steadman1979
353+
constexpr Real64 Tc = 310.; // K , core temperature, steadman1979
354+
Real64 Pc = phi_salt * pvstar(Tc); // , core vapor pressure
355+
317356
Real64 dTcdt = 0.0;
318357
Real64 const Pa = RH * pvstar(Ta);
319358
constexpr Real64 Rs = 0.0387;
@@ -354,6 +393,17 @@ namespace ExtendedHI {
354393
// given T and RH, returns a key and value pair
355394
Real64 find_eqvar_name_and_value(EnergyPlusData &state, Real64 const Ta, Real64 const RH, int &varname)
356395
{
396+
constexpr Real64 M = 83.6; // kg , mass of average US adults, fryar2018
397+
constexpr Real64 H = 1.69; // m , height of average US adults, fryar2018
398+
Real64 A = 0.202 * pow(M, 0.425) * pow(H, 0.725); // m^2 , DuBois formula, parson2014
399+
constexpr Real64 cpc = 3492.; // J/kg/K , specific heat capacity of core, gagge1972
400+
Real64 C = M * cpc / A; // , heat capacity of core
401+
constexpr Real64 Q = 180.; // W/m^2 , metabolic rate per skin area, steadman1979
402+
constexpr Real64 phi_salt = 0.9; // , vapor saturation pressure level of saline solution, steadman1979
403+
constexpr Real64 Tc = 310.; // K , core temperature, steadman1979
404+
Real64 Pc = phi_salt * pvstar(Tc); // , core vapor pressure
405+
constexpr Real64 r = 124.; // Pa/K , Zf/Rf, steadman1979
406+
357407
Real64 Pa = RH * pvstar(Ta);
358408
Real64 Rs = 0.0387;
359409
Real64 phi = 0.84;
@@ -452,6 +502,7 @@ namespace ExtendedHI {
452502
{
453503
Real64 T;
454504
int SolFla;
505+
constexpr Real64 Pa0 = 1.6e3; // Pa , reference air vapor pressure in regions III, IV, V, VI, steadman1979
455506

456507
if (eqvar_name == static_cast<int>(EqvarName::Phi)) {
457508
General::SolveRoot(

0 commit comments

Comments
 (0)