Sneak Peak Video of the 
New Solar Hydrogen Home DVD
Coming SOON!

Download Over 100Meg of
FREE Hydrogen Video
Ride in the Famous H2 Geo
Click Here

re: thermal performance model
30 jan 2005
 wrote:

>i'm building a house and am looking for a computer model (linux or
>windows, free or inexpensive) that can *accurately* predict my hvac
>heating loads given my exact residential floor plan, building envelope
>construction, glazing, occupancy and location (near reno).

you might write your own. third-graders can learn basic :-)
here's a start, which reads the reno typical meterological 
year (tmy2) hourly weather data file (available from nrel's
web site) and makes another simplified file called "winter." 

10 pi=4*atn(1):screen 9:key off:cls
20 line (0,0)-(639,349),,b:df=.434
30 for tr= 60 to 80 step 10'temp ref lines
40 line (0,349-5*(tr-10))-(639,349-5*(tr-10)):next
50 f$="23185.tm2"'nrel tmy2 file name (reno)
60 open f$ for input as #1
70 open "winter" for output as #2
80 line input#1,s$'read header
90 city$=mid$(s$,8,25)
100 lat=val(mid$(s$,40,2))+val(mid$(s$,43,2))/60
110 lon=val(mid$(s$,48,3))+val(mid$(s$,52,2))/60
120 print#2,city$,lat,lon
130 gosub 190
140 pass=1
150 close #1
160 open f$ for input as #1
170 line input#1,s$'ignore header
180 gosub 190
190 for h=1 to 8760'hour of year
200 line input#1,s$
210 month=val(mid$(s$,4,2))'month of year (1-12)
220 if pass=0 and month<10 goto 610
230 if pass=1 and month=2 then end
240 wh=h+8760*pass
250 day=val(mid$(s$,6,2))'day of month
260 hour=val(mid$(s$,8,2))-.5'hour of day
270 n=h/24'day of year (1 to 365)
280 tdb=val(mid$(s$,68,4))*.18+32'dry bulb temp (f)
290 pset(df*(wh-8030),349-5*(tdb-10))
300 igloh=val(mid$(s$,18,4))*.317'global horizontal radiation (btu/ft^2)
310 print#2,month;day;hour;tdb;igloh;
320 idif=val(mid$(s$,30,4))*.317'diffuse horizontal radiation (btu/ft^2)
330 idir=val(mid$(s$,24,4))*.317'direct normal radiation (btu/ft^2)
340 l=pi*lat/180'phila latitude (radians)
350 t=hour'solar time (est)
360 x=-sin(pi*23.45/180)*cos(2*pi*(n+10)/365.25)
370 d=atn(x/sqr(-x*x+1))'sin^-1(x) = declination (radians)
380 w=2*pi*(t-12)/24'hour angle (radians)
390 x=cos(l)*cos(d)*cos(w)+sin(l)*sin(d)
400 thetas=-atn(x/sqr(-x*x+1))+pi/2'cos^-1(x) = sun zenith angle (radians)
410 x=cos(d)*sin(w)/sin(thetas)
420 if x^2 >=1 then phis=-1.570796327#:goto 440
430 phis=atn(x/sqr(-x*x+1))'sin^-1(x) = sun azimuth angle (radians)
440 for phipd=0 to 180 step 90'azimuth angle of plane (degrees)
450 phip=pi*phipd/180
460 x=sin(thetas)*cos(phis-phip)
470 thetai=-atn(x/sqr(-x*x+1))+pi/2'incidence angle to surface (radians)
480 if thetai>=pi/2 then thetai=pi/2
490 rhog=.2'ground reflectance
500 iglop=idir*cos(thetai)+idif/2+igloh*rhog/2'radiation on surface (btu/ft^2)
510 print#2,iglop;
520 'if phipd = 0 then pset(h-8030,349-iglop)
530 next phipd
540 phip=pi*270/180
550 x=sin(thetas)*cos(phis-phip)
560 thetai=-atn(x/sqr(-x*x+1))+pi/2'incidence angle to surface (radians)
570 if thetai>=pi/2 then thetai=pi/2
580 iglop=idir*cos(thetai)+idif/2+igloh*rhog/2'radiation on surface (btu/ft^2)
590 print#2,iglop
600 if hour=.5 then line (df*(wh-8030),349)-(df*(wh-8030),345)
610 next h
620 return

here's the start of the winter file, with the month, day, hour, dry bulb
temperature (f), and btu/ft^2 of sun falling on the ground and south, west,
north, and east walls for the months of october through january. the worst-
case months are december and january. i start simulating in october to make
sure house temperatures have stabilized by december.  

reno                   nv    39.5          119.7833
 10  1  .5  44.06  0  0  0  0  0
 10  1  1.5  43.52  0  0  0  0  0
 10  1  2.5  42.08  0  0  0  0  0
 10  1  3.5  39.74  0  0  0  0  0
 10  1  4.5  39.74  0  0  0  0  0
 10  1  5.5  40.28  .634  .2433778  .2218999  .2218999  .8492084
 10  1  6.5  41  20.288  20.40661  6.466783  6.466783  110.9118
 10  1  7.5  48.92  79.884  78.2263  16.23037  16.23037  211.7582
 10  1  8.5  57.02  142.333  137.1752  25.48676  25.48676  228.2724
 10  1  9.5  64.94  194.638  186.9535  33.09476  33.09476  201.9825
 10  1  10.5  69.98001  232.361  223.7174  38.29355  38.29355  149.5433
 10  1  11.5  75.02001  247.577  240.1501  40.44915  40.44915  78.724
 10  1  12.5  80.06001  245.041  240.2293  78.39368  40.03705  40.03705
 10  1  13.5  80.06001  221.583  221.1326  147.2574  36.74025  36.74025
 10  1  14.5  80.06001  178.154  183.0438  197.6003  30.65386  30.65386
 10  1  15.5  80.06001  121.094  130.7123  218.4883  22.25336  22.25336
 10  1  16.5  74.12  56.743  67.68118  185.0582  12.64827  12.64827
 10  1  17.5  68  11.412  10.40487  49.15384  4.311193  4.311193
 10  1  18.5  62.06  0  0  0  0  0
 10  1  19.5  60.08  0  0  0  0  0
 10  1  20.5  57.92  0  0  0  0  0
 10  1  21.5  55.94  0  0  0  0  0
 10  1  22.5  51.26  0  0  0  0  0
 10  1  23.5  46.76  0  0  0  0  0
 10  2  .5  42.08  0  0  0  0  0
...
 
here's a program that simulates an 8' r32 cube with an r2 south wall
with 80% solar transmission and a huge thermal mass using the winter
file as an input. there are much more efficient solar heating schemes
(eg those using simple air heaters or low-thermal-mass sunspaces), but
this direct gain scheme is simple to simulate with a 21 line program.

10 cls:screen 9:line (0,0)-(639,349),,b:df=.43
20 for tr=20 to 70 step 10'plot temp ref lines
30 line (0,349-5*(tr-10))-(639,349-5*(tr-10)):next
40 rv=32'wall r-value
50 c=20000!'house capacitance (btu/f)

increasing the r-value or capacitance raises the worst-case temperature... 

60 ti=70:timin=1000'initial house air temps (f)
70 open "winter" for input as #1:line input#1,h$
80 input#1,month,day,hour,ta,sh,ss,sw,sn,se
100 solgain=.8*64*ss-(ti-ta)*32'net south window solar gain (btu)

the solar gain is 80% of the south sun minus the heat loss to the outdoors.

110 ih=solgain-(ti-ta)*5*64/rv
120 ti=ti+ih/c'find new house temperature (f)

divide the net heatflow by the capacitance to find its temperature change.

130 if ti>70 then ti=70'limit house temp

an exhaust fan might enforce this 70 f upper comfort limit.

200 if tione that i've tried (equest) is wonderful in its detail and
>ease-of-use. unfortunately, there must be a flaw in the underlying
>model calculation because increasing the south facing (double pane,
>high shgc) glass from 12% to 70% *increases* the hvac heating
>requirements.

windows lose heat at night and on cloudy days, as dj mentioned.

you might try making this south window a simple air heater that loses
no heat at night, or move it to a low-thermal-mass sunspace that's
isolated from the living space and let warm air circulate between
the sunspace during the day and stop the circulation at night and 
let the sunspace get cold, so the window loses little heat at night,
if your simulation program permits. lots of them don't, even doe's
latest and greatest energy 10.

changing the window to an air heater in the cube above reduces the
required thermal mass from 20k to 3.5k btu/f, for a 65 f min temp.
putting in the ceiling with a larger temp swing reduces it further, 
especially with a nighttime heat setback. 

>other software (e.g. the canadian hot2000, resfen 3.1 )
>does not seem to allow one to input the exact floorplan, unique
>building materials (e.g. icf's) and other data necessary for an
>accurate estimate of heating requirements. some also have artificial
>limitations (e.g. unable to specify 80% of the south facing wall as
>windows)

those are the kinds of limitations and bugs and unclear assumptions
that led me to write my own hourly simulation programs. also, being
able to change the fundamentals can give much deeper insight as to
what's going on, compared to canned programs.

nick




I got ALL of these 85 Solar Panels for FREE and so can you.  Its in our Ebook
Ready for DOWNLOAD NOW.

Site Meter