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 / ACOND.FOR < prev    next >
Text File  |  1992-05-11  |  7KB  |  215 lines

  1.       SUBROUTINE ACOND(IBLOW,TRETWB,TRETB)
  2. C
  3. C  AIR-CONDITIONER MODEL(BASED ON ORIGINAL EQNS IN SP43 MODEL)
  4. C    EXCEPT THAT MORE TIME CONSTANTS ARE PROVIDED
  5. C  NOTE:::::   THIS AIR-CONDITIONING MODEL HAS NEVER BEEN USED WITH
  6. C              THE MULTIZONE MODEL HOUSE_II, SO EXPECT SOME MINOR
  7. C              INTERFACE PROBLEMS.  SEE REF. 5, FILE C:\HII\SCR\S2.DOC
  8. C              FOR MORE INFO ON THIS MODEL.
  9. C
  10. CMDK ACND
  11. CMDK BLKGS2
  12. CMDK BLKQGS
  13. CMDK HUMIDC
  14. CMDK INDIC1
  15. CMDK OWETHR
  16. CMDK TIMEB
  17.       DIMENSION CONS13(4)
  18.       PARAMETER (CPAIR=.24)
  19. C      
  20. C INPUTS IN NAMELIST INPAC:
  21. C  ACAPAC  - SENSIBLE AND LATENT CAPACITY MULTIPLIER
  22. C  APOWFAC - POWER MULTIPLIER
  23. C  DTCAP   - TEMP DIFF BELOW TCAP AT WHICH LATENT CAPACITY IS ZERO,F
  24. C  RECOVC - FRACTION OF A/C CAPACITY AVAILABLE AFTER TURN-OFF
  25. C  REDC   - COOLING CAPACITY REDUCTION FACTOR
  26. C  TCAP    - INDOOR WET BULB TEMP AT WHICH MODEL BEGINS TO SHUT OFF
  27. C            LATENT CAPACITY,F     
  28. C  TCEQIP   "ON" TIME CONST FOR REFR-SIDE TOTAL CLG CAPCY,HR
  29. C  TCEQP0   "OFF" TIME CONST FOR REFR-SIDE TOTAL CLG CAPCY,HR
  30. C  TCLAT0  "OFF" TIME CONST FOR LATENT CLG CAPCY,HR
  31. C  TCLAT1  "ON" TIME CONST FOR LATENT CLG CAPCY,HR
  32.       NAMELIST/INPAC/ACAPFAC,APOWFAC,DTCAP,RECOVC,REDC,TCAP,TCEQP0,
  33.      +               TCLAT0,TCLAT1
  34. C      
  35.       DATA IACLS/-1/,IREAD/0/,TCAP/1./,DTCAP/1./
  36. C  FROM HEAT PUMP PRODUCT LITERATURE
  37.       DATA CFAC/0.835/,THOU/1000./,ACAPFAC/1./,APOWFAC/1./
  38.       AFAC=CFAC/THOU
  39. C
  40.       IF(IREAD.EQ.0)THEN
  41. C
  42.         OPEN(16,FILE='TAPE16',STATUS='OLD',IOSTAT=IO16)
  43.         IF(IO16.NE.0)THEN
  44.           WRITE(60,*)' ACOND: CANT OPEN TAPE16 WITH NAMELIST INPAC '
  45.           STOP ' ACOND: CANT OPEN TAPE16 WITH NAMELIST INPAC'
  46.         ENDIF
  47.         READ(16,INPAC,END=99)
  48.         WRITE(60,INPAC)
  49.         IF(REDC.EQ.0.)REDC=1.
  50.         CFANPC=CFANPC*REDC
  51.         EFANPC=EFANPC*REDC
  52.         REWIND(16)
  53.         WRITE(60,  510)
  54.         DO 80 I=1, 3
  55. C--------A (1, N) - A/C TOTAL CAPACITY COEFFICIENTS
  56. C--------A (2, N) - A/C SENSIBLE CAPACITY COEFFICIENTS
  57. C--------A (3, N) - A/C COMPRESSOR POWER + BY-PASS FACTOR COEFFICIENTS
  58. C  NOTE: A VALUES MUST START IN THE FIRST LINE OF TAPE16!
  59. C  CORRELATIONS ARE OF THE FORM:
  60. C   A(I,1) - COEFFICIENT ON OUTDOOR DRY BULB TEMP(IN DEG F)
  61. C   A(I,2) - COEF ON AIR FLOW RATE (IN CFM) THROUGH INDOOR COIL 
  62. C   A(I,3) - COEF ON RETURN AIR WET BULB TEMP(IN DEG F)
  63. C   A(I,4) - CONSTANT
  64. C   A(I,5) - COEF ON OUTDOOR DRY BULB TEMP SQUARED
  65. C   A(I,6-8) - NOT CURRENTLY USED
  66.          READ(16, *,END=991) (A (I, J), J=1, 8)
  67.          WRITE(60,  511) (A (I, J), J=1, 8)
  68. 80       CONTINUE
  69.        
  70.          CLOSE(16)
  71. C
  72.          IREAD=1
  73.        ENDIF
  74. C
  75.       TCS=TCLAT0
  76.       IF(TCLAT1.LT.TCS) TCS=TCLAT1
  77.       IF(TCEQP0.LT.TCS) TCS=TCEQP0
  78.       IF(TCEQIP.LT.TCS) TCS=TCEQIP
  79. C
  80. C
  81.       A13=A(1,3)*REDC
  82.       A23=A(2,3)*REDC
  83.       A33=A(3,3)*REDC
  84. C     BF=A(3,5)+A(3,6)*ECFMC1
  85. C     BFECFM=4.5*CPAIR*(1.-BF)*ECFMC1*REDC
  86.       A120=(A(1,2)*ECFMC1+A(1,4))*REDC
  87.       A220=(A(2,2)*ECFMC1+A(2,4))*REDC
  88.       A320=(A(3,2)*ECFMC1+A(3,4))*REDC
  89.       A121=A(1,1)*REDC
  90.       A221=A(2,1)*REDC
  91.       A321=A(3,1)*REDC
  92.       A122=A(1,5)*REDC
  93.       A222=A(2,5)*REDC
  94.       A322=A(3,5)*REDC
  95.       TCN=0.
  96.       DS=0.
  97.       XLCN=0.
  98.       SHCN=0.
  99.       POW=0.
  100.       XLCC0=DTIME/TCLAT0
  101.       XLCC1=DTIME/TCLAT1
  102.       SHCC0=DTIME/TCEQP0
  103.       SHCC1=DTIME/TCEQIP
  104. C
  105. C  BELOW WAS IN HUMDF BEFORE 8/85
  106. C  CONS13 HAS UNITS OF BTU/R/HR
  107.       CONS13(1)=ECFMC2*4.5*CPAIR
  108.       CONS13(2)=ECFMC2*4.5*CPAIR*REDC
  109.       CONS13(3)=ECFMH1*4.5*REDH*CPAIR
  110.       CONS13(4)=ECFMC1*4.5*CPAIR*REDC
  111. C---END IN HUMDF
  112.       RETURN
  113. C
  114. C  OUTDOOR DRY-BULB TEMP KNOWN(TODDB)  2-MIN. TIMESTEP HERE
  115.       ENTRY ACND1(IBLOW,TRETWB,TRETB)
  116.    20 A12=A120+A121*TODDB + A122*TODDB**2
  117.       A22=A220+A221*TODDB + A222*TODDB**2
  118.       A32=A320+A321*TODDB + A322*TODDB**2
  119.       RETURN
  120. C
  121. C  WET-BULB TEMP AT INLET TO INDOOR COIL KNOWN( RETWB)  20 SEC TIMESTEP
  122.       ENTRY ACND2(IBLOW,TRETWB,TRETB)
  123.       ISKIP=1
  124. C
  125.       CALL ZERV(7,QEXT,QVENTB,QVNTLS,QVENTA,QDRAFT,QJACK,POW,
  126.      +            DM1,DM2,DM3)
  127.       TCT=1.E-20
  128.       SHCT=1.E-20
  129. C  IS A/C ON?
  130.       IF(IAC.EQ.0)GO TO 30
  131.       TCT=(A12+A13*TRETWB)*1000.*ACAPFAC
  132.       SHCT=(A22+A23*TRETWB)*1000.*ACAPFAC
  133.       POW=(A32+A33*TRETWB)*APOWFAC
  134. C
  135. C  CORRECT SENSIBLE CAPACITY FOR DRY-BULB OTHER THAN 80 F
  136.       SHCT=SHCT+AFAC*ECFMC1*(TRETB-80.)*1000.*ACAPFAC
  137.       IF(SHCT.GT.TCT)SHCT=TCT
  138. C
  139.       IF(TRETWB.LT.TCAP) THEN
  140.          IF(TRETWB.LT.TCAP-DTCAP) THEN
  141.             TCT=SHCT
  142.          ELSE
  143.             TCT=TCT-(TCT-SHCT)*(TCAP-TRETWB)/DTCAP
  144.          ENDIF
  145.       ENDIF
  146. C
  147. C  CODE TO ALLOW A VARIABLE DTIME - FOR ANALYSIS OF MEASURED DATA
  148. C
  149.  30   IF(DTIME.NE.DS) THEN
  150.          XLCC0=DTIME/TCLAT0
  151.          XLCC1=DTIME/TCLAT1
  152.          SHCC0=DTIME/TCEQP0
  153.          SHCC1=DTIME/TCEQIP
  154.          IACLS=-1
  155.       ENDIF
  156.       DS=DTIME
  157. C
  158. C  FIND TRANSIENT INSTANTANEOUS CAPACITIES
  159.       IF(IAC.EQ.IACLS)GO TO 32
  160.       IF(IAC.EQ.1)THEN
  161.           XLCC=XLCC1
  162.           SHCC=SHCC1
  163.       ELSE
  164.           XLCC=XLCC0
  165.           SHCC=SHCC0
  166.           ENDIF
  167.       NLOOP=DTIME*5./TCS+1
  168.       RNLOOP=1./NLOOP
  169.       IF(IDEBUG.EQ.1) WRITE(60,100) TCT,SHCT,POW,DTIME,TCS,NLOOP
  170.  100  FORMAT(1X,'ACOND - TCT,SHCT,POW,DTIME,TCS,NLOOP ',5E11.3,I5)
  171. C
  172. C  USE SMALLER TIME STEP OF DTIME/NLOOP TO OBTAIN
  173. C  DIFFERENCE EQUATION STABILITY AND ACCURACY
  174. C
  175.  32   DO 34 I=1,NLOOP
  176.       XLCN=XLCC*RNLOOP*((TCT-SHCT)-XLCN)+XLCN
  177.  34   SHCN=SHCC*RNLOOP*(SHCT-SHCN)+SHCN
  178. C
  179.       IF(SHCN.LT.0.)SHCN=0.
  180.       IF(XLCN.LT.0.)XLCN=0.
  181.       TCN=SHCN+XLCN
  182.       IF(TCN.GT.TCT.AND.IAC.GT.0)THEN
  183.           RAT=TCT/TCN
  184.           XLCN=RAT*XLCN
  185.           TCN=TCT
  186.           SHCN=RAT*SHCN
  187.           ENDIF
  188. C  BELOW WAS IN HUMDF BEFORE 8/85
  189. C
  190. C  RDF'S OPINION(8/85): RECOVC SHOULD ALWAYS BE INPUT AS ZERO
  191.       RECC=(1.-RECOVC)*IAC+RECOVC
  192.       TCR=TCN*RECC
  193.       SHCR=SHCN*RECC
  194.       I10=1+IAC+2*IBLOW
  195.       TB=TRETB-SHCR/CONS13(I10)
  196.       IF(IDEBUG.EQ.1) WRITE(60,110) TRETB,TB,TCR,SHCR,CONS13(I10),I10
  197.  110  FORMAT(1X,'ACOND - TRETB,TB,TCR,SHCR,CONS13(I10),I10 ',5E11.3,I5)
  198. C
  199. C  END---IN HUMDF
  200. C
  201.       TA2=TB
  202.       CALL PLENM1
  203. C
  204. C  MOISTURE REMOVED
  205.       WMOIST=(TCR-SHCR)/1061.
  206.       IACLS=IAC
  207.       RETURN
  208.    99 WRITE(60,*)' ACOND: EOF ON TAPE16 LOOKING FOR NAMELIST INPAC'
  209.       STOP ' ACOND: EOF ON TAPE16 LOOKING FOR NAMELIST INPAC'
  210.   991 WRITE(60,*)' ACOND: EOF ON TAPE16 READING A() DATA'
  211.       STOP ' ACOND: EOF ON TAPE16 READING A() DATA'
  212.  510  FORMAT (1X,'AIR CONDITIONER COEFFICIENTS (TC,SHC,POW)')
  213.  511  FORMAT (8E16.5)
  214.       END
  215.