      SUBROUTINE  TCONC(DEGRAD,DTIM1)
C
C  CALCULATE CONSTANTS USED TO CALCULATE LUMP TEMPERATURES
C  BY FINITE DIFFERENCE EQNS
C
C  LINK THESE CALCULATIONS TO CONSTRUCTS, SINCE NO. OF CONSTANTS ARE
C  A FUNCTION OF NO. OF LUMPS OR NODES WHICH IS SPECIFIED IN CONSTRUCT
C
C - - - PARAMETER CONSTANTS
CMDK NKONST
CMDK NWL
CMDK NZN
CMDK NZW
      PARAMETER (FMODMN=30.)
C
C - - - COMMON BLOCKS
C
CMDK CNSTRK
CMDK ENCBK1
CMDK ENCBLK
CMDK IRDFQ
CMDK IZZQ
CMDK STRUCA
CMDK TCNBLK
CMDK TCONCB
C
      DO 10 I=1,15
   10 KONI(I)=0
      NKON=0
C
C  FIND CONSTRUCT NOS USED IN THIS SIMULATION
      DO 100 J=1,NROOMS
      NRM=NRMA(J)
      N2=NWALLA(NRM)
C
      DO 90 K2=1,N2
      IZW=NENC(NRM,K2)
      KON=KONSTA(IZW)
      IF(NKON.EQ.0)THEN
          KONI(1)=KON
          NKON=1
          GO TO 90
          ENDIF
      IFG=0
      DO 80 I=1,NKON
      IF(KON.EQ.KONI(I))IFG=1
   80 CONTINUE
      IF(IFG.EQ.0)THEN
          NKON=NKON+1
          KONI(NKON)=KON
          ENDIF
   90 CONTINUE
  100 CONTINUE
      NKON=NKON+1
      KONI(NKON)=KONRF(1)
      IF(NATC.EQ.2)THEN
          NKON=NKON+1
          KONI(NKON)=KONRF(2)
          ENDIF
C
C  NOW CALC CONSTANTS, TCON, FOR EACH CONSTRUCT
      DO 150 IK=1,NKON
      KON=KONI(IK)
      NLM=NLMP(KON)
C
      VK1=WK(1,KON)
      VX1=WX(1,KON)
      VRHO1=WRHO(1,KON)
      VCP1=WCP(1,KON)
      IF(NLM.EQ.3)THEN
          VK2=WK(2,KON)
          VX2=WX(2,KON)
          VRHO2=WRHO(2,KON)
          VCP2=WCP(2,KON)
          VK3=WK(3,KON)
          VX3=WX(3,KON)
          VRHO3=WRHO(3,KON)
          VCP3=WCP(3,KON)
          ENDIF
C
      IF(NLM.EQ.1)THEN
          FRCPX=VRHO1*VCP1*VX1
          TCON(1,KON)=8.*DTIM1*(VK1/DEGRAD)/(VX1*FRCPX)
          TCON(2,KON)=DTIM1*4./FRCPX
          TCON(3,KON)=TCON(1,KON)
C  FOURIER MODULUS (MUST BE EQ OR GT 30. FOR STABILITY OF FINITE DIFF CALC
C    THIS IS USED IN IWALLS TO CORRECT POSSIBLE INSTABILITY WHICH MAY
C    BE EXPERIENCED WITH LIGHTWEIGHT INSULATED BARRIER WALLS BETWN ZONES
C    .  THE MINIMUM VALUE OF 30. WAS ESTABLISHED BASED ON EXPERIENCE.
          FMOD=VX1**2*VRHO1*VCP1/(VK1*DTIM1)
          IF(FMOD.LT.FMODMN)THEN
              NKSTAB=NKSTAB+1
              IF(NKSTAB.GT.5)STOP 'TCONC:INCR DIM ON KONSTB AND NRATTM'
              RATTM=FMODMN/FMOD
              NRATTM(NKSTAB)=INT(RATTM)
              IF(FLOAT(NRATTM(NKSTAB)).LT.RATTM)
     +            NRATTM(NKSTAB)=NRATTM(NKSTAB)+1
              KONSTB(NKSTAB)=KON
              WRITE(60,500)KON,NRATTM(NKSTAB),FMOD,FMODMN
              ENDIF
          ENDIF
      IF(NLM.EQ.3)THEN
          FRCPX1=VRHO1*VCP1*VX1
          FRCPX2=VRHO2*VCP2*VX2
          FRCPX3=VRHO3*VCP3*VX3
          TCON(1,KON)=DTIM1*2.*VK1/(VX1*FRCPX1)
          TCON(2,KON)=DTIM1*2./FRCPX1
          FR12=0.5*(FRCPX1+FRCPX2)
          TCON(3,KON)=DTIM1*VK1/(VX1*FR12)
          VKD=VK2/DEGRAD
          TCON(4,KON)=DTIM1*VKD/(VX2*FR12)
          FR23=0.5*(FRCPX2+FRCPX3)
          TCON(5,KON)=DTIM1*VKD/(VX2*FR23)
          TCON(6,KON)=DTIM1*VK3/(VX3*FR23)
          TCON(7,KON)=DTIM1*2.*VK3/(VX3*FRCPX3)
          TCON(8,KON)=DTIM1*2./FRCPX3
          ENDIF
  150 CONTINUE
      RETURN
  500 FORMAT(1H0,10(1H$),'STABILITY CORRECTION IMPLEMENTED FOR',
     +' CONSTRUCT NO. ',I4/11X,'WALL TEMP CALC REPEATED ',I4,
     +' TIMES IN IWALLS.  FOURIER MOD= ',F8.1,' CF MIN OF ',F8.1)
      END
