home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / h / house_ii.zip / FOR / CNDFUR.FOR < prev    next >
Text File  |  1991-08-16  |  6KB  |  220 lines

  1.       SUBROUTINE TFLC
  2. C
  3. C  SET TFLUE FOR CONDENSING FURNACE DURING ON CYCLE
  4. C
  5. C  ITFL=1  FOR LINEAR RISE AFTER BURNER TURNED ON
  6. C   NOTE :::   USER MUST SET ITFL = 0 EVERY TIME BURNER IS TURNED ON
  7. C  NOTE: LINEAR RAMP PORTION OF TFLUE IS CHECKED EVERY TIMESTEP
  8. C
  9. CMDK PRT1
  10. CMDK BLKQHX
  11.       DATA B/1680./,TFLMAX/113./
  12.       DATA NJAN/0/
  13.       IF(ITFL.EQ.0.AND.TCYCQ.LE.DTIMQ)THEN
  14.           A=88.
  15.           IF(TFLUE.LT.88.)A=TFLUE
  16. C         FIND TIME OF ON CYCLE AT MAX FLUE TEMP
  17.           TMAX=(TFLMAX-A)/B
  18. C  THREE LINES ADDED BELOW, A. RUTZ, 3/6/85
  19.           TMAX=0.
  20.           TFLMAX=-1.
  21.           B=99999.
  22.           ITFL=1
  23.           ENDIF
  24. C   NOTE THAT INITIAL RISE IN FLUE TEMP IS REFERENCED TO FLUE TEMP
  25. C     AT END OF OFF CYCLE.
  26.       TFLUE=A+B*TCYCQ
  27.       IF(TFLUE.GT.TFLMAX)THEN
  28.           TIM=TCYCQ-TMAX
  29.           ISTOP=0
  30. C
  31. C     NOTE THAT SEEK MUST HAVE ACCESS TO TABLES OF FLUE TEMP WITH
  32. C     TIME REFERENCED TO ZERO AT MAX FLUE TEMP
  33.            TFLUE=SEEK(TIM,ISTOP)
  34.           IF(ISTOP.EQ.1)THEN
  35.                  NJAN=NJAN+1
  36.                  IF(NJAN.LT.50)WRITE(60,500)TCYCQ,TMAX,TIM
  37.                  ENDIF
  38.           ENDIF
  39.       RETURN
  40.   500 FORMAT(1X,'BAD TABLE LOOKUP FOR TFLUE'/
  41.      +1X,'TCYCQ,TMAX,TIM= ',F12.5,G13.5)
  42.       END
  43.       SUBROUTINE QINHX(E)
  44. C
  45. C  FIND ENERGY INPUT(E) TO HX METAL OF CONDENSING FURNACE FOR THIS
  46. C   TIMESTEP
  47. C
  48. CMDK BLKQHX
  49. CMDK FUEL1
  50.       DATA NBOB/0/
  51.       TM2=TCYCQ
  52.       IF(TCYCQ.LE.DTIMQ)THEN
  53.           NBOB=0
  54.           TM1=0.
  55.           TM2=DTIMQ
  56.           ENDIF
  57. C  RETURN IF TFLUE HAS BECOME CONSTANT
  58.       IF(NBOB.GT.2)RETURN
  59. C
  60. C  USE SIMPSONS ONE-THIRD RULE TO GET ENERGY INPUT.
  61. C  INTEGRATION IS NECESSARY TO PRESERVE EFFECT OF VARIATION IN
  62. C   TFLUE WITHIN A TIMESTEP
  63.       DT=TM2-TM1
  64.       DTM=DT/NINTGF
  65.       E1=FLUEQ(TM1)
  66.       E1S=QVSLOS
  67.       E1L=QVLLOS
  68.       E2=FLUEQ(TM2)
  69.       E2S=QVSLOS
  70.       E2L=QVLLOS
  71.       E=E1+E2
  72.       ES=E1S+E2S
  73.       EL=E1L+E2L
  74.       IMX=NINTGF-1
  75.       DO 10 I=1,IMX,2
  76.       E=E+4.*FLUEQ(TM1+I*DTM)
  77.       ES=ES+4.*QVSLOS
  78.    10 EL=EL+4.*QVLLOS
  79.       IMY=NINTGF-2
  80.       DO 20 I=2,IMY,2
  81.       E=E+2.*FLUEQ(TM1+I*DTM)
  82.       ES=ES+2.*QVSLOS
  83.    20 EL=EL+2.*QVLLOS
  84.       E=DTM*E/3.
  85.       QVSLOS=DTM*ES/(3.*DT)
  86.       QVLLOS=DTM*EL/(3.*DT)
  87.       IF(E1.EQ.E2)NBOB=NBOB+1
  88.       TM1=TM2
  89.       RETURN
  90.       END
  91.       FUNCTION FLUEQ(TIM)
  92. C
  93. C  COMPUTE HEATING RATE INTO HX
  94. CMDK BLKQHX
  95. CMDK FUEL1
  96.       TCYCSV=TCYCQ
  97.       TCYCQ=TIM
  98.       CALL TFLC
  99.       TCYCQ=TCYCSV
  100.       CALL FUELA
  101.       FLUEQ=QIN-(QVSLOS+QVLLOS)
  102.       RETURN
  103.       END
  104.       SUBROUTINE HXMTL(E,TM,TA1,TA2)
  105. C
  106. C  SIMULATE THERMAL LAG DUE TO METAL IN HEAT EXCHANGER
  107. C   NEEDED TO GET PROPER VARIATION IN TIME OF AIR TEMP RISE
  108. C
  109. C  NOTE: E IS INTERGRATED ENERGY INTO METAL,SO HAS UNITS OF BTU
  110. CMDK BLKHX
  111. CMDK BLK10
  112. CMDK BLKQHX
  113. CMDK INDIC1
  114.       DATA DTM/80./,NJON/60/
  115.       IF(NRDF1.GT.0)GO TO 100
  116.       WAONCP=.24*WAON
  117.       WAOFCP=.24*WAOF
  118.       WGTHCP=.113*WGTHX
  119.       TCAON=1./EXP(UAHXON/WAONCP)
  120.       TCAOF=1./EXP(UAHXOF/WAOFCP)
  121.       TCM=1./WGTHCP
  122.   100 CONTINUE
  123.       IF(IEFNHX.EQ.0)THEN
  124.           TCA=TCAOF
  125.           WACP=WAOFCP
  126.       ELSE
  127.           TCA=TCAON
  128.           WACP=WAONCP
  129.       ENDIF
  130.       NJAN=0
  131.   110 TMAVG=TM+0.5*DTM
  132.       TA2=TMAVG-TCA*(TMAVG-TA1)
  133.       QAIR=WACP*(TA2-TA1)
  134.       DTMC=(E-QAIR*DTIMQ)*TCM
  135.       NJON=NJON+1
  136.       IF(NJON.LT.50)WRITE(60,536)NJAN,DTM,DTMC,TA2,TMAVG,E
  137.   536 FORMAT(1X,'NJAN,DTM,DTMC,TA2,TMAVG,E= ',I5,5G13.5)
  138.       IF(ABS(DTM-DTMC).LE.0.005.AND.NJAN.GT.0)GO TO 120
  139.       DTM=DTMC
  140.       NJAN=NJAN+1
  141.       IF(NJAN.LT.20)GO TO 110
  142.       WRITE(60,537)TCYCQ,NJAN,TMAVG,TA1,TA2,TM,TMAVG
  143.   537 FORMAT(1X,'TCYCQ,NJAN,TMAVG,TA1,TA2,TM,TMAVG= ',F12.5,I5,5G13.5)
  144.   120 CONTINUE
  145.       TM=TM+DTM
  146.       RETURN
  147.       END
  148.       FUNCTION SEEK(ARG,ISTOP)
  149. C
  150. C  TABLE LOOKUP.  EXECUTION TIME REDUCED BY REMEMBERING LOCATION OF
  151. C   PREV LOOKUP(J2). INDEP PAR MUST INCREASE WITH INCREASING J, WHERE
  152. C   J MAY BE 1 TO 30 VALUES.
  153. C  SOURCE::: GALE WHITACRE,BATTELLE
  154. C
  155. C  ARG    VALUE OF INDEP PAR
  156. C  ISTOP  PROGRAM STOP PAR (IF=1,TROUBLE IN LOOKUP)
  157. C  NFLT   NO. OF TABULAR VALUES
  158. C  TMFLT   INDEP PAR TABLE
  159. C  TFLT   DEP PAR TABLE
  160. C
  161. CMDK BLKSK
  162.       DATA J2/1/
  163.       MLAST=NFLT
  164.       IF(J2.GT.MLAST)J2=MLAST
  165.       J1=J2
  166.       XB1=TMFLT(J1)
  167.    10 IF(ARG-XB1)20,30,40
  168.    20 IF(J1.LE.1)GO TO 80
  169.       J1=J1-1
  170.       XB1=TMFLT(J1)
  171.       GO TO 10
  172.    30 SEEK=TFLT(J1)
  173.       RETURN
  174. C
  175.    40 IF(J1-MLAST)50,70,90
  176.    50 IF(XB1-ARG)60,30,70
  177.    60 J1=J1+1
  178.       XB1=TMFLT(J1)
  179.       GO TO 40
  180. C
  181.    70 J2=J1-1
  182.       XB=TMFLT(J2)
  183.       YB2=TFLT(J2)
  184.       YBQ=TFLT(J1)
  185.       SEEK=YB2+(YBQ-YB2)*(ARG-XB)/(XB1-XB)
  186.       IF((XB1-ARG).GT.0.)RETURN
  187.       WRITE(60,500) ARG
  188.       ISTOP=1
  189.       RETURN
  190.    80 WRITE(60,510) ARG
  191.       ISTOP=1
  192.       RETURN
  193.    90 WRITE(60,520) ARG
  194.       ISTOP=1
  195.       RETURN
  196.   500 FORMAT(1H0,5X,'SEEK STOP-EXCEEDS MAX TABLE VALUE.',
  197.      +' ARG= ',G13.5)
  198.   510 FORMAT(1H0,5X,'SEEK STOP-ARG IS LESS THAN MIN TABLE VALUE.',
  199.      +' ARG= ',G13.5)
  200.   520 FORMAT(1H0,5X,'SEEK STOP-J IS GREATER THAN MLAST.',
  201.      +' J,MLAST,ARG= ',3I5,G13.5)
  202.       END
  203. C,H1FFZC,H1FGZC= ',4G13.5/
  204.      +5X,'H3FHC,H3FIC,H1FHZC,H1FIZC= ',4G13.5)
  205.   509 FORMAT(1H0,15(6H *  * )/
  206.      +7X,'TAZONE:HEAT LOSS AT LVG SPC/GARAGE WALL IS ARBITRARILY',
  207.      +' PLACED IN QWALL FOR SOUTH WALL'/1X,15(6H *  * )/)
  208.   510 FORMAT(1X,'TAZONE:TIME,NRM,TIA,TIN(NRM),QIZONN= ',G13.5,
  209.      +I4,3G13.5)
  210.       END
  211. ΓaπaΣaσaµaτaΦaΘaΩaδa∞aφaεa∩a≡a±a≥a≤a⌠a⌡a÷a≈a°a∙a·a√aⁿa²a■a abLKSV
  212.       INTEGER FLOC(NZN7), NDAYTOT(12)
  213.       REAL TIS(NZN), ACMAX(NZN), ACMIN(NZN), ODHUM(25)
  214.       COMMON /BLKSV/ ACMAX, ACMIN, CFSC, COMFTS, 
  215.      +               DTIM1, DTIM1N, DTIM2, EXCEST, FLOC, FUELCS,
  216.      +               HDUM, HICS, HIFS, HIWS, ICL1, IDAYM, IDBG,
  217.      +               IFWL, ILINES, IMONTH, ISIZEC, IWR, IWRB,
  218.      +               NDAYTOT, ODHUM, RDUM, RELHMI, RODB, SOLRHM,
  219.      +               TBASM, TDUM, TIS, TODDBM, TS, VBMAX,
  220.      +               VBMIN, WGMINS, WSC,