Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %This is the code I used to calculate the PMV at points: A, B, C, D, E.
- %Where:
- %ta=tr=interior temperature setting (22°C, 23°C, 27°C) (variable);
- %va=0,2 m/s (invariable);
- %RH=50% (invariable);
- %W=0 (invariable);
- %Met= energy metabolism (1,2 met or 1,4 met) (variable);
- %Iclo= static clothing insulation (0,5 clo or 1,0 clo) (variable).
- ta=22.0;
- tr=22.0;
- va=0.2; %air speed
- RH=50; %relative humidity
- W=0;%mechanical work
- Met=1.2;%energy metabolism in met (1 met=58.2 W/m2)
- Iclo=0.5;%static clothing insulation
- %preparation of variables
- PHI=RH/100;%hygrometric dimensionless degree
- Icl=Iclo*.155;%Conversion from clo to m2K/W
- M=Met*58.15;%conversion of metabolism in unit of measurement of SI
- Iclr=Icldyn_7730(va, Icl, M); %calculation of dynamic clothing insulation
- vw=0.0052*(M-58);
- vr=va+vw;
- PMV_Fanger=PMV_evaluator( M,W,ta,tr,vr,PHI,Iclr );
- function [ Icldyn ] = Icldyn_7730(va, Iclst, M)
- %calculation of dynamic clothing insulation
- %Input data
- % va, air speed, m/s
- % Iclst, static clothing insulation
- % M, metabolism in W/m2
- vw=0.0052*(M-58);
- if vw>0.7
- vw=0.7;
- end
- vr=va+vw;
- %Static cloting insulation conversion m2K/W to clo
- Iclo = Iclst/0.155;
- %Clothing area factor
- if Iclst <=0.078
- fcl= 1.00 + 1.290 * Iclst;
- else
- fcl= 1.05 + 0.645 * Iclst;
- end
- %Static boundary layer thermal insulation in quiet air in m2K/W
- Iast = 0.111;
- %Total static insulation
- Itotst= Iclst + Iast / fcl;
- %Clothing insulation correction for wind (vr) and and walking (vw)
- vraux= vr;
- if vraux > 3.5
- vraux=3.5;
- end
- if vraux < 0.15
- vraux=0.15;
- end
- vwaux=vw;
- if vwaux>0.7
- vwaux=0.7;
- end
- CorIt=exp(-0.281*(vraux-0.15)+0.044*(vraux-0.15)^2-0.492*vwaux+0.176*vwaux^2);
- if CorIt>1
- CorIt=1;
- end
- CorIa=exp(-0.533*(vraux-0.15)+0.069*(vraux-0.15)^2-0.462*vwaux+0.201*vwaux^2);
- if CorIa>1
- CorIa=1;
- end
- Itr = Itotst * CorIt;
- Iar = CorIa * Iast;
- if Iclo<=0.6
- Itr= ((0.6-Iclo) * Iar + Iclo * Itr) / 0.6;
- end
- Itdyn = Itr;
- Iadyn = Iar;
- Icldyn = Itdyn - Iadyn / fcl;
- end
- function [ PMV ] = PMV_evaluator( M,W,ta,tr,vr,PHI,Icl )
- %Function for the calculation of the PMV index
- % Input data
- % M, metabolic rate in W/m2
- % W, mechanical work in W/m2
- % ta, air temperature in °C
- % tr, mean radiant temperature in °C
- % vr, rwlative air velocity in m/s
- % PHI, hygrometric ratio dimensionless
- % Icl in m2K/W (dynamic clothing insulation )
- if (ta >=0)
- ps = exp (16.6536-4030.183 / (235 + ta ));
- else
- ps = 0.6105* exp (21.875*ta / (265.5 + ta ));
- end;
- TAA = ta+273.0;
- TRA = tr+273.0;
- TCLA = TAA + (35.5-ta) / (3.5*Icl+0.1);
- hcf = 12.1 * sqrt(vr);
- %Clothing area factor
- if Icl <=0.078
- fcl= 1.00 + 1.290 * Icl;
- else
- fcl= 1.05 + 0.645 * Icl;
- end
- % Start of the loop for the evaluation of clothing surface temperature}
- P1 = Icl * fcl;
- P2 = P1 * 3.96;
- P3 = P1 * 100;
- P4 = P1 * TAA;
- P5 = 308.7 - 0.028 * (M-W) + P2 * (TRA/100)^4;
- XN = TCLA/100;
- XF = XN;
- EPS = 0.00015;
- CONV = 100;
- N=1;
- while (CONV>EPS)
- XF = (XF+XN)/2;
- hcn = 2.38 * ((abs(100*XF - TAA))).^0.25;
- if (hcf<=hcn)
- hc = hcn;
- else
- hc = hcf;
- end
- XN = (P5+P4*hc-P2*XF^4)/(100+P3*hc);
- CONV=abs(XF-XN);
- end
- tcl = 100*XN-273;
- % End of the loop for the evaluation of clothing surface temperature}
- %Skin diffusion heat loss
- HL1=3.05*0.001*(5733-6.99*(M-W)-1000*PHI*ps);
- %Sweat heat loss
- if (M-W)>58.15
- HL2= 0.42 * ((M-W)-58.15);
- else
- HL2=0;
- end
- %Respiration latent heat loss
- HL3= 1.7*0.00001 * M * (5867-1000*PHI*ps);
- %Respiration dry heat loss
- HL4= 0.0014 * M * (34-ta);
- %Radiative heat loss
- HL5= 3.96 * fcl * ((0.01*tcl+2.73)^4-(0.01*tr+2.73)^4);
- %Convective heat loss
- HL6= fcl * hc * (tcl-ta);
- %Thermal sensation transformation coefficient}
- TS= 0.303 * exp(-0.036*M) + 0.028;
- PMV= TS * (M-W-HL1-HL2-HL3-HL4-HL5-HL6);
- end
- data = [-1.5924 -0.2152 -1.1426 0.0421; -1.5924 -0.2152 -1.1426 0.0421; -1.2319 0.0313 -0.8241 0.2595; 0.2329 1.0332 0.4686 1.1427; 0.2329 1.0332 0.4686 1.1427];
- row_names = {'A', 'B', 'C', 'D', 'E'};
- var_names = {'met1d2_clo0d5', 'met1d2_clo1d0', 'met1d4_clo0d5', 'met1d4_clo1d0'};
- var_description = {'M = 1.2 met - 0.5 clo', 'M = 1.2 met - 1. clo', 'M = 1.4 met - 0.5 clo', 'M = 1.4 met - 1.0 clo' };
- testtable = array2table(data, 'VariableNames', var_names, 'RowNames', row_names);
- testtable.Properties.VariableDescriptions = var_description;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement