Thermal > User-Supplied Routines > COMMONBLK Definitions
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
COMMONBLK Definitions
It is best to only include the variables one needs in a given subroutine. Thus a group of common blocks is supplied. The array common blocks are defined in section 11.5 plus are in your qtran.f file. The various common blocks are shown below and can be found in the P3_HOME/p3thermal_files/examples/qtran/utilities directory. Some common blocks are include statements for other common blocks. All are listed below.
 
common.basc
 
C     The following is a list of the QTRAN common block variables.
C
C############################################################################
C
C     Value of common block counters
C
C     CB - 6   Character variables
C     IA - 92  Integer arrays
C     IB -117  Integer variables
C     LA - 1   Logical arrays
C     LB - 17  Logical variable
C     RA - 77  Real (double precision) arrays
C     RB -128  Real (double precision) variables
C
C#############################################################################
C
C     Include all the basic common block types
C     Exclude the character commons.  They're only needed for I/O and parsing.
C
#include "common.intr"
#include "common.logc"
#include "common.real"
#include "common.dims"
C
C############################################################################
common.blk
C     The following is a list of the QTRAN common block variables.
C
C############################################################################
C
C     Value of common block counters
C
C     CB - 6   Character variables
C     IA - 92  Integer arrays
C     IB -117  Integer variables
C     LA - 1   Logical arrays
C     LB - 17  Logical variable
C     RA - 77  Real (double precision) arrays
C     RB -128  Real (double precision) variables
C
C#############################################################################
C
C     Include all the different common block types
C
#include "common.intr"
#include "common.char"
#include "common.logc"
#include "common.real"
#include "common.dims"
C
C############################################################################
 
 
common.char
 
C     The following is a list of the QTRAN character common block variables.
C
C############################################################################
C
C     Value of common block counters
C
C     CB - 6   Character variables
C
C#############################################################################
C
C
      CHARACTER*1 ISCALE, ICCALC
      CHARACTER*10 TLABEL
      CHARACTER*256 RSTFNM, INPFIL(MAXFIL)
      CHARACTER*80 TITLE(3)
C
C############################################################################
C
C     This section is reserved for character variables.  The convention is
C            that all character common blocks will begin with the letters
C            "CB".
C
      COMMON / CB1 / ISCALE
      COMMON / CB2 / ICCALC
      COMMON / CB3 / TLABEL
      COMMON / CB4 / RSTFNM
      COMMON / CB5 / INPFIL
      COMMON / CB6 / TITLE
C
C     Usage:
C            ISCALE -->    temperature scale code for data output.
C            ICCALC -->    temperature scale code for calculations.
C            TLABEL -->    time units label.
C            RSTFNM -->    restart file name (if any).
C            INPFIL -->    input file names.
C            TITLE  -->    First 3 lines of title data (if any) from the
C                          QIN.DAT file.  This is saved for generating Nodal
C                          results files.
C
C############################################################################
 
 
 
 
common.dims
C     The following are the array dimension control variables.
C
C############################################################################
C     dims is the dimensions common block.
C
C     j1 is the maximum number of convective resistors.
C     j2 is the maximum number of material properties allowed for
C            each convective resistor, and should be equal to 7.
C     j3 is the maximum number of material properties allowed for the
C            thermal system.
C     ( j4 - 1 ) is the maximum number of material property data pairs
C            allowed to describe a material property.
C     j5 is the maximum number of conductive resistors.
C     j6 is the maximum number of geometric properties allowed to describe
C            a given convective resistor.
C     j7 is the maximum number of non-tabular, non-power series
C            micro-functions allowed in the system.
C     j8 is the maximum number of variables allowed to define a given
C            non-tabular, non-power series micro-function, and should
C            be equal to 4.
C     j9 is the maximum number of data tables or power series which may be
C            input to be evaluated for the system micro-functions.
C     (j10 - 1)  is the maximum number of data pairs which may be entered
C            for the tabular or power series micro-functions.
C     (j11 / 2) is the maximum number of conductive resistors allowed in
C            the system.
C     (j12 / 2) is the approximate number of convective resistors allowed
C            in the system.  use of 3-node resistors will reduce this maximum
C            number of convective resistors somewhat.
C            the formula for j12 is:  j12 = n2*2 + n3*3, where
C            n2 is the number of 2-node convective resistors and n3 is
C            number of 3-node convective resistors in the system.
C     j13 is the maximum number of radiative resistors allowed in
C            the system.
C     j14 is the total number of micro-functions allowed in the system.
C            this total includes both parameter and tabular micro-functions.
C     j15 is the 2nd "qcard" dimension, and should be equal to 4.
C     (j16 - 3) is the maximum number of microfunctions which may be combined
C            through the arithmetic operations of multiplication or division
C            to form a heat source/sink macrofunction.
C     j17 is the maximum number of heat source/sink macrofunctions allowed
C            in the system.
C     j18 is the maximum number of temperature control macrofunctions
C            which may be constructed by multiplying and dividing micro-
C            functions.
C     (j19 - 3) is the maximum number of microfunctions which may be combined
C            arithmetically through the operations of multiplication and
C            division to form temperature control macrofunctions.
C     (j20 / 2) is the maximum number of radiative resistors allowed.
C     j21 is the maximum number of "tfix" classification changes permitted.
C     j22 is the maximum number of allowed phase change information sets.
C     (j23 / 2) is the maximum number of phase changes per capacitor.  j23
C            is the pidpar vector dimension and the 2nd dimension for the
C            pidset array.
C     j24 is the pidid vector dimension and should be set equal to j36
C            if any phase changes in the system are possible, else set to 1.
C     j25 is the maximum number of gray radiative surface elements.
C     j26 is related to the maximum number of node numbers associated with
C            all gray radiative surface elements.
C     j27 is the 2nd dimension for the TERROR array.  It is the number of
C            iterative temperature errors that are carried along.
C     j28 is the maximum number of allowed wavelength dependent radiative
C            resistors.
C     j29 is twice the maximum number of allowed wavelength dependent
C            radiative resistors, so:  j29 = j28 * 2.
C     j30 is the maximum number of mass flow resistors.
C     j31 = j30 * 2  (pointer vector dimenson).
C     j32 = maximum number of dtmax changes + 1.
C     j33 = 2nd dtmaxa dimension and should be equal to 2.
C     j34 = maximum number of print interval changes + 1.
C     j35 = 2nd printa dimension and should be equal to 2.
C     j36 = maximum number of capacitors allowed in the system.
C     j37 = maximum number of wavelength dependent radiative surface elements.
C     j38 = related to the maximum number of wavelength dependent subsurface
C           areas for the wavelength dependent radiative surface elements.
C     j39 = first index in the user specified relaxation control parametrs
C           array. Should be 5 for the control groupings given the user.
C     j40 = 2nd relaxation parameters index, equals 3 for the 3 values input
C     j41 = 2nd index in relaxation error array RERROR, equals 3.
C           This represents the oldest, old and current error.
C     j42 = 2nd index in relaxation error grouping arrays, equals 6.
C           This represents the relaxation parameters for each group
C     j43 = 2nd index in relaxation error grouping integer arrays, equals 6.
C           This represents the relaxation parameter indexes and node
C           identities for each group.
C     j44 = Number of hydraulic resistors defined
C     j45 = Maximum number of geometric properties specified for a hydraulic
C           resistor.
C     j46 = Maximum number of material properties specified for a hydraulic
C           resistor.
C     j47 = Number of node pointer for the hydraulic resistors (2*j44)
C     j48 = Number of mass flow rate macro functions defined
C     j49 = Maximum number of micro functions specified in the mass flow rate
C           macro functions
C     j50 = Number of pressure macro functions defined for the hydraulic networks
C     j51 = Maximum number of micro functions in the pressure macro functions
C     j52 = Maximum number of temperature couplings
C     maxp =   The array sizes for the hydraulic solution.  Equals one more than
C              the number of pressure nodes specified for the hydraulic network.
C     maxt is the maximum number of allowed temperature nodes.
C     maxtnc = 1 if nc = 0, maxtnc = maxt if nc .ne. 0.
C     maxtnh = 1 if nh = 0, maxtnh = maxt if nh .ne. 0.
C     maxtnr = 1 if nr = 0, maxtnr = maxt if nr .ne. 0.
C     maxtnw = 1 if nw = 0, maxtnw = maxt if nw .ne. 0.
C     maxtqn = 1 if ifi = 0, maxtqn = maxt if ifi .ne. 0.
C     maxtnf = 1 if nf = 0, maxtnf = maxt if nf .ne. 0.
C     m1     = 1 if SOL .ne. 5.  Else, m1 = maxt + 1.  m1 is the dimension
C              of MATRIX, where MATRIX is the augmented matrix used for
C              qtran's linear gauss elimination routine.
C
      INTEGER J1, J2, J3, J4, J5, J6, J7, J8, J9,
     $       J10, J11, J12, J13, J14, J15, J16, J17, J18,
     $       J19, J20, J21, J22, J23, J24, J25, J26, J27,
     $       J28, J29, J30, J31, J32, J33, J34, J35, J36,
     $       J37, J38, J39, J40, J41, J42, J43,
     $       J44, J45, J46, J47, J48, J49, J50, J51, J52,
     $       MAXT, MAXTNC, MAXTNH, MAXTNR, MAXTNW, MAXTQN,
     $       MAXTNF, M1, MAXP
C
      COMMON /DIMS/ J1, J2, J3, J4, J5, J6, J7, J8, J9,
     $       J10, J11, J12, J13, J14, J15, J16, J17, J18,
     $       J19, J20, J21, J22, J23, J24, J25, J26, J27,
     $       J28, J29, J30, J31, J32, J33, J34, J35, J36,
     $       J37, J38, J39, J40, J41, J42, J43,
     $       J44, J45, J46, J47, J48, J49, J50, J51, J52,
     $       MAXT, MAXTNC, MAXTNH, MAXTNR, MAXTNW, MAXTQN,
     $       MAXTNF, M1, MAXP
C
C############################################################################
 
 
 
common.int
C     The following is a list of the QTRAN INTEGER common block variables.
C
C############################################################################
C
C     Value of common block counters
C
C     IA - 92  Integer arrays
C     IB -117  Integer variables
C
C#############################################################################
C
C     Declare the types of the common block variables.
C
C
C     (MAXFIL - 1) is the maximum number of nested $INSERT files.
C
      INTEGER MAXFIL
      INTEGER MAXFCH
C
      PARAMETER ( MAXFIL = 10 )
      PARAMETER ( MAXFCH = 256 )
C
      INTEGER  IOPT, IMAX, IMIN, IMAXSS, NC, NH, NR, NS, NX, IFI, ITI
      INTEGER  IFIXI, JTP, NF, NW, NCAPS, IST, NTEMPS, IPS, IPT, IS
      INTEGER  NODE, ICPNTR, IHPNTR, IRPNTR, IWPNTR, IQPNTR, IFPNTR
      INTEGER  ICAPPT, DCMF, IENODE, ITER, IIN, IO, STATUS, J, JI, IOPTR
      INTEGER  IRETN, NRF, NWRAD, IFAIL, NRAD, NMID, NPID, NMFID, CPUSEC
      INTEGER  CPUSAV, IBT, IBS, ISSDMP, IGSURF, IGPNTR, IXPNTR, IWSURF
      INTEGER  IPERTR, SOL, NITBUP, NRDUMP, LUDUMP, OWIDTH
      INTEGER  LINNUM(MAXFIL), FILPNT, IRESIS, INNERI, NPLTMP, LUPLOT
      INTEGER  IEMAXE, IFSRLX, IFTRLX, KQMAC, KTMAC, NMAXWD, RRRCNT
      INTEGER  KMMAC, KPMAC
      INTEGER  NRFORM, NRFWID
      INTEGER  NP, NUPNOD, IMMI, IPI, MPIDGH, MPIDGX, MPIDGY, MPIDGZ
      INTEGER  JH, JHI, IMPNTR, IMAXPR, IMAXHE, IMAXME, HIOPT, HSOL
      INTEGER  NTBHUP, HITER, HPITER, NHYCNT, NODEHY, IPPNTR, NPDUMP
      INTEGER  NPFWID, NFFWID
      INTEGER  NTCPL
      INTEGER  FPRTFL, JPRTFL
      INTEGER  IFLIPF, JFLIPF, MFLIPF
      INTEGER  OVRWFL
      INTEGER  MXHPIT
!!!      INTEGER  ICPNT
      INTEGER  HLFDTF
      INTEGER  TOTITR
      INTEGER  INDTPA
C
      INTEGER IRQFLO(9)
      INTEGER IDMNRF(20)
C
      COMMON / IA73 / IDMNRF
C
C     NOTE: Usage
C
C     IDMNRF   -> Flag to indicate what results quantities are to be put
C                 in the nodal results file.
C
C############################################################################
C
C     This section contains the integer common blocks.  The convention is
C            that all integer common block names will begin with the
C            letters "IB".
C
      COMMON / IB1 / IOPT
      COMMON / IB2 / IMAX
      COMMON / IB3 / IMIN
      COMMON / IB4 / IMAXSS
      COMMON / IB5 / ISSDMP
      COMMON / IB6 / NC
      COMMON / IB7 / NH
      COMMON / IB8 / NR
      COMMON / IB9 / IFI
      COMMON / IB10 / ITI
      COMMON / IB11 / IFIXI
      COMMON / IB12 / JTP
      COMMON / IB13 / NF
      COMMON / IB14 / NW
      COMMON / IB15 / NCAPS
      COMMON / IB16 / IST
      COMMON / IB17 / NTEMPS
      COMMON / IB18 / IBS
      COMMON / IB19 / IBT
      COMMON / IB20 / IS
      COMMON / IB21 / NODE
      COMMON / IB22 / ICPNTR
      COMMON / IB23 / IHPNTR
      COMMON / IB24 / IRPNTR
      COMMON / IB25 / IWPNTR
      COMMON / IB26 / IQPNTR
      COMMON / IB27 / IFPNTR
      COMMON / IB28 / ICAPPT
      COMMON / IB29 / DCMF
      COMMON / IB30 / IENODE
      COMMON / IB31 / ITER
      COMMON / IB32 / IIN
      COMMON / IB33 / IO
      COMMON / IB34 / STATUS
      COMMON / IB35 / J
      COMMON / IB36 / JI
      COMMON / IB37 / IOPTR
      COMMON / IB38 / IRETN
      COMMON / IB39 / NRF
      COMMON / IB40 / NWRAD
      COMMON / IB41 / IFAIL
      COMMON / IB42 / NRAD
      COMMON / IB43 / IRQFLO
      COMMON / IB44 / NMID
      COMMON / IB45 / NPID
      COMMON / IB46 / NMFID
      COMMON / IB47 / CPUSEC
      COMMON / IB48 / CPUSAV
      COMMON / IB49 / NS
      COMMON / IB50 / IGSURF
      COMMON / IB51 / IGPNTR
      COMMON / IB52 / IPS
      COMMON / IB53 / IPT
      COMMON / IB54 / IXPNTR
      COMMON / IB55 / IWSURF
      COMMON / IB56 / NX
      COMMON / IB57 / IPERTR
      COMMON / IB58 / SOL
      COMMON / IB59 / NITBUP
      COMMON / IB61 / NRDUMP
      COMMON / IB62 / LUDUMP
      COMMON / IB63 / OWIDTH
      COMMON / IB64 / LINNUM
      COMMON / IB65 / FILPNT
      COMMON / IB66 / IRESIS
      COMMON / IB67 / INNERI
      COMMON / IB68 / NPLTMP
      COMMON / IB69 / LUPLOT
      COMMON / IB70 / IEMAXE
      COMMON / IB71 / IFSRLX
      COMMON / IB72 / IFTRLX
      COMMON / IB73 / KQMAC
      COMMON / IB74 / KTMAC
      COMMON / IB75 / NMAXWD
      COMMON / IB76 / RRRCNT
      COMMON / IB77 / NRFORM
      COMMON / IB78 / NRFWID
      COMMON / IB79 / NUPNOD
      COMMON / IB80 / NP
      COMMON / IB81 / IMMI
      COMMON / IB82 / IPI
      COMMON / IB83 / MPIDGH
      COMMON / IB84 / MPIDGX
      COMMON / IB85 / MPIDGY
      COMMON / IB86 / MPIDGZ
      COMMON / IB87 / JH
      COMMON / IB88 / JHI
      COMMON / IB89 / IMPNTR
      COMMON / IB90 / IMAXPR
      COMMON / IB91 / IMAXHE
      COMMON / IB92 / IMAXME
      COMMON / IB93 / HIOPT
      COMMON / IB94 / HSOL
      COMMON / IB95 / NTBHUP
      COMMON / IB96 / HITER
      COMMON / IB97 / HPITER
      COMMON / IB98 / NHYCNT
      COMMON / IB99 / NODEHY
      COMMON / IB100 / IPPNTR
      COMMON / IB101 / NPDUMP
      COMMON / IB102 / NPFWID
      COMMON / IB103 / NFFWID
      COMMON / IB104 / KMMAC
      COMMON / IB105 / KPMAC
      COMMON / IB106 / NTCPL
      COMMON / IB107 / FPRTFL
      COMMON / IB108 / JPRTFL
      COMMON / IB109 / IFLIPF
      COMMON / IB110 / JFLIPF
      COMMON / IB111 / MFLIPF
      COMMON / IB112 / OVRWFL
      COMMON / IB113 / MXHPIT
!!!      COMMON / IB114 / ICPNT
      COMMON / IB115 / HLFDTF
      COMMON / IB116 / TOTITR
      COMMON / IB117 / INDTPA
C
C     Usage:
C            IOPT   -->    run control option.
C            IMAX   -->    maximum number of allowed transient iterations
C                          per time step.
C            IMIN   -->    minimum number of preferred transient iterations
C                          per time step.
C            IMAXSS -->    maximum number of allowed steady state iterations.
C            ISSDMP -->    number of steady state iterations per print dump.
C            NC     -->    number of conductive resistors.
C            NH     -->    number of convective resistors.
C            NR     -->    number of gray radiation resistors.
C            IFI    -->    number of QMACROfunctions assigned.
C            ITI    -->    number of TMACROfunctions assigned.
C            IFIXI  -->    number of nodal fixed/not-fixed/TMACROfunction
C                          controlled classification changes to be made.
C            JTP    -->    phase change flag:  = 0 --> no potential phase
C                          changes in the model, = 1 --> potential phase
C                          changes exist.
C            NF     -->    number of advection resistors.
C            NW     -->    number of spectral dependent radiative resistors.
C            NCAPS  -->    number of capacitors.
C            IST    -->    minimum number of transient iterations between
C                          increases in the size of the transient relaxation
C                          parameter.
C            NTEMPS -->    number of nodes.
C            IBS    -->    (not used)
C            IBT    -->    (not used)
C            IS     -->    minimum number of steady state iterations between
C                          increases in the size of the steady state
C                          relaxation parameter.
C            NODE   -->    current node being iterated upon (internal node
C                          number, not the one the user assigned).
C            ICPNTR -->    conductive resistor pointer variable.
C            IHPNTR -->    convective resistor pointer variable.
C            IRPNTR -->    gray radiative resistor pointer variable.
C            IWPNTR -->    spectral radiative resistor pointer variable.
C            IQPNTR -->    QMACROfunction pointer variable.
C            IFPNTR -->    advection resistor pointer variable.
C            ICAPPT -->    capacitor pointer variable.
C            DCMF   -->    discontinuous macrofunction flag.
C            IENODE -->    internal node number for node with largest error.
C            ITER   -->    iteration counter.
C            IIN    -->    logical unit number assigned to QIN.DAT.
C            IO     -->    logical unit number assigned to QOUT.DAT.
C            STATUS -->    logical unit number assigned to STAT.DAT.
C            J      -->    convective resistor configuration number.
C            JI     -->    convective resistor being calculated.
C            IOPTR  -->    logical unit number for current $INSERT file,
C                          if any.  If none, logical unit number for QIN.DAT.
C            IRETN  -->    transient iteration flag:  = 0 --> new time step
C                          is about to begin, = 1 --> more transient
C                          iterations are about to occur.
C            NRF    -->    advective resistor being calculated.
C            NWRAD  -->    spectral radiative resistor being calculated.
C            IFAIL  -->    time step expansion flag.  Time steps may be
C                          expanded only if IFAIL = 0.
C            NRAD   -->    gray radiative resistor being calculated.
C            IRQFLO()-->   1-d array of flags for resistor/capacitor/qmacro
C                          data print/no-print options.
C            NMID   -->    number of material properties defined.
C            NPID   -->    number of phase change sets defined.
C            NMFID  -->    number of microfunctions defined.
C            CPUSEC -->    current (or last) cpu time, in seconds.
C            CPUSAV -->    starting cpu time (in seconds).
C            NS     -->    (not used)
C            IGSURF -->    (not used)
C            IGPNTR -->    (not used)
C            IPS    -->    relaxation parameter iteration counter (steady
C                          state).
C            IPT    -->    relaxation parameter iteration counter (transient).
C            IXPNTR -->    (not used)
C            NX     -->    (not used)
C            IPERTR -->    this variable is used to signal whether the
C                          heat flow calculation for the resistors/capacitors/
C                          heat sources/etc. is currently based upon T,
C                          T+pertur, or T-pertur.  the value of ipertr is set
C                          as follows:    ipertr =  0 --> T
C                                         ipertr = +1 --> T+pertur
C                                         ipertr = -1 --> T-pertur
C            SOL    -->    Solution option, where:
C                              sol = 0 --> standard solution
C                                  = 1 --> quasi-linear conduction resistors.
C            NITBUP -->    For SOL > 0 only, the Number of ITerations Between
C                          UPdates of conductive resistors.
C            NRDUMP -->    Nodal results file suffix number.
C            LUDUMP -->    Logical unit number for nodal results files.
C            OWIDTH -->    Number of columns of data to be output to the
C                          QTRAN nodal results files.
C            LINNUM -->    Current line number for each input file.
C            FILPNT -->    File pointer, indexes into the LINNUM and INSFIL
C                          arrays to point to the current input file/line number
C                          data.
C            IRESIS -->    Current conductive or convective resistor being
C                          calculated.
C            INNERI -->    Inner iteration counter.
C            NPLTMP -->    Number of temperatures to be dumped to the plot
C                          file at each converged calculation
C            LUPLOT -->    Logical unit for plot output file
C            IEMAXE -->    Node index with the maximum system error
C            IFSRLX -->    Steady state relaxation option to use
C            IFTRLX -->    Transient relaxation option to use
C            KTMAC  -->    Index of the temperature macrofunctions
C            KQMAC  -->    Index of the heat macrofunctions
C            KMMAC  -->    Index of the mass flow rate macrofunctions
C            KPMAC  -->    Index of the pressure macrofunctions
C            NMAXWD -->    Number of word to be used for incore direct solver
C            RRRCNT -->    Number of time steps or number of time in reset1
C            NRFORM -->    Flag to indicate type of results file output
C            NRFWID -->    Number of items put in nodal results file
C            NUPNOD -->    Number of hydraulic nodals
C            NP     -->    Number of hydraluic resistors
C            IMMI   -->    Number of mass flow rate macrofunctions
C            IPI    -->    Number of pressure macrofunctions
C            MPIDGH -->    Material property for time dependent gravity
C            MPIDGX -->    Material property for time dependent gravity
C            MPIDGY -->    Material property for time dependent gravity
C            MPIDGZ -->    Material property for time dependent gravity
C            JH     -->    Hydraulic element option type
C            JHI    -->    Hydraulic element number (index)
C            IMPNTR -->    Index pointer in the mass flow rate pointer table
C            IMAXPR -->    Index indicating the hydraulic node with maximum
C                          pressure error
C            IMAXHE -->    Index indicating the hydraulic node with maximum
C                          hydraulic head difference error
C            IMAXME -->    Index indicating the hydraulic node with maximum
C                          mas flow rate error
C            HIOPT  -->    Hydraulic option
C            HSOL   -->    Hydraulic solution option
C            NTBHUP -->    Hydraulic counter to control update frequency
C            HITER  -->    Iteration counter between hydraulic updates
C            HPITER -->    Iteration counter between hydraulic pressure updates
C            NHYCNT -->    Count of the number of hydraulic solutions that have
C                          been performed.
C            NODEHY -->    Internal hydraulic node number
C            IPPNTR -->    Hydraulic resistor pointer
C            NPDUMP -->    Hydraulic results file output counter
C            NPFWID -->    Number of items written to pressure results file
C            NFFWID -->    Number of items written to hydraulic linkage file
C            NTCPL  -->    Number of temperature couplings to be made
C            FPRTFL -->    Flag to force a print out at this time
C            JPRTFL -->    Flag to indicate that a print out occurred on the
C                          previous time step
C            IFLIPF -->    Count of how many times the maximum iterative
C                          Temperature error has consecutively reversed itself
C            JFLIPF -->    Count of how many times the full bisection has
C                          been used this iteration
C            MFLIPF -->    Maximum number of temperature reversals allowed
C                          before a model wide bisection iteration is performed
C            OVRWFL -->    Over Write Flag used with restarts that indicate
C                          the information related to temperature initialization
C                          is to be used to replace the information specified
C                          in the restart file.
C            MXHPIT -->    maximum number of allowed iterations for the
C                          hydraulic pressure solution.
C            ICPNT  -->    Internal pointer to the capacitor being evaluated
C            HLFDTF -->    Flag that the time step has been halved as it 
C                          approaches a print time.
C            TOTITR -->    Total number of iteration performed during a 
C                          solution including those that did not converge.
C            INDTPA -->    Index into the PRINTA array for active values.
C
C############################################################################
 
 
 
 
 
common.logc
C     The following is a list of the QTRAN logical common block variables.
C
C############################################################################
C
C     Value of common block counters
C
C     LA - 1   Logical arrays
C     LB - 17  Logical variable
C
C#############################################################################
C
C     Declare the types of the common block variables.
C
      LOGICAL STEADY, ALGBRA, LOGP, CVFLAG, DTFLAG, INNER, TRACE,
     $       RSTART, LEXIT, IHCVFL, LABORT, LNGSTA, LPRTHY,
     2         PNRFLG, PNPFLG, PNFFLG
C
C############################################################################
C
C     This section is reserved for logical variables.  The convention is
C            that all logical variable common blocks will have common
C            block names beginning with the letters "LB".
C
      COMMON / LB1 / STEADY
      COMMON / LB2 / ALGBRA
      COMMON / LB3 / LOGP
      COMMON / LB4 / CVFLAG
      COMMON / LB5 / DTFLAG
      COMMON / LB6 / INNER
      COMMON / LB7 / TRACE
      COMMON / LB8 / RSTART
      COMMON / LB9 / LEXIT
C*C*      COMMON / LB10 / WSTDYS
      COMMON / LB11 / IHCVFL
      COMMON / LB12 / LABORT
      COMMON / LB13 / LNGSTA
      COMMON / LB14 / LPRTHY
      COMMON / LB15 / PNRFLG
      COMMON / LB16 / PNPFLG
      COMMON / LB17 / PNFFLG
C
C     Usage:
C            STEADY -->    steady state run flag.  If .true., a steady state
C                          run is in progress.  If .false., a transient
C                          run is in progress.
C            ALGBRA -->    algebraic node iteration flag.  If .true., the
C                          current iteration being performed will involve
C                          only those nodes without capacitors.  If .false.,
C                          the iteration will involve all nodes.
C            LOGP   -->    logical print/no-print flag used during data input
C                          and also during resistor heat flow data output
C                          after print dumps.  If .false., no data printed.
C                          If .true., data is printed.
C            CVFLAG -->    convergence flag.  If .true., the steady state or
C                          transient iterations have converged.  If .false.,
C                          convergence is incomplete.
C            DTFLAG -->    time step change flag.
C     
C            INNER  -->    inner iteration loop flag.  If .true., a phase
C                          change is occurring and the bisection algorithm
C                          is iterating on the node changing phase.
C            TRACE  -->    status file trace flag.  If .true., all input data
C                          file lines are printed to the status file.
C            RSTART -->    restart flag, = .false. = normal run from initial
C                          conditions (default), = .true. = read the qin.dat
C                          file, then read the RSTART.DMP file and restart
C                          from the conditions stored in RSTART.DMP.
C            LEXIT  -->    Exit flag, when true it indicates that the
C                          transient solution has finished and there are no
C                          more analysis desired.
C            WSTDYS -->    Logical flag that indicates if the last calculation
C                          was steady state
C            IHCVFL -->    Flag that indicates that the network has converged,
C                          now go back a recalculate all explicit node or
C                          reevaluate resistors if the weakly nonlinear
C                          solution is used.
C            LABORT -->    Flag to indicate that the job is to be terminated
C                          and an output file is created at this point
C            LNGSTA -->    Flag to indicate that long or continuous status
C                          file are to be created for transient runs
C
C            LPRTHY -->    Flag to indicate that a hydraulic solution has been
C                          calculated and should be printed at the next print
C                          condition
C
C            PNRFLG -->    Flag indicating that nodal results file is written
C
C            PNPFLG -->    Flag indicating that pressure nodal results file 
C                          is written for the hydraulic nodes
C
C            PNFFLG -->    Flag indicating that hydraulic linkage file 
C                          is written for the hydraulic network
C
C############################################################################
 
 
 
common.real
C     The following is a list of the QTRAN real common block variables.
C
C############################################################################
C
C     Value of common block counters
C
C     RA - 77  Real (double precision) arrays
C     RB -128  Real (double precision) variables
C
C#############################################################################
C
C     Declare the types of the common block variables.
C
      double_precision TIME, DT, TSTART, TSTOP, TPRINT, EPSISS, EPSIT,
     $       PERTUR, PERTU2, PERTSQ, DTMAX, RELAX, RELAXS, RELAXT,
     $       TSFMIN, TSFMAX, BETAEX, BETAIM, DTOLD, EFACT, QGLOBL,
     $       SBC, SMALL, TINY, HUGE, QVECTP, QVECTM, GSUM, GVALC,
     $       BETA, PCBAND, DELMAX, DTP, ERROR, Q, T1, T2, T3, GVALH,
     $       CLOCK, EOLDST, ERROLD, DTPRED, CP, BALNCE, Q12, Q21, GVAL,
     $       QWAVE, QGRAY, EMISS, TAU, QSURF, GVALS, QSURFT, GVALT,
     $       TTMAC, FOLD, DELT, F11, F22, RMFLOW, EPSIT2, TSAVE, CPDELT,
     $       QINPUT, DTMIN, H, MINTMP, MAXTMP, BETMIN, BETMAX
      double_precision  PINITL, MGLOBL, GH, GX, GY, GZ, HYBETA, HDIAM,
     1   HCSAA, HDLEN, HDX, HDY, HDZ, HPRHO, HPRHOE, HMU, HNU, HCP, 
     2   HEPS, HLOSCF, HFF, HWDOT, HREYN, HQFLOW, HHX, HHY, HHZ, 
     3   HHXREF, HHYREF, HHZREF, HDPHED, HP1, HP2, HDTEMP, HPHEAD,
     4   PI, GRAVTY, BTINY, HPERRM, HMERRM, HERRMX, HYEPIS, DTMAXH,
     5   HYTIME, HYOTIM, HUNITS
      double_precision  RSTIME
      double_precision  HYHDEP, HYMDEP, HYPREP
!!!      double_precision  TNODE
      double_precision  SUMQ
      double_precision  SUMCNV
      double_precision  SUMRAD
      double_precision  CLKDTM
C
C############################################################################
C
C     This section is reserved for all real common blocks.  The convention
C            is that all real common block names will begin with the
C            letters "RB".
C
      COMMON / RB1 / TIME
      COMMON / RB2 / DT
      COMMON / RB3 / TSTART
      COMMON / RB4 / TSTOP
      COMMON / RB5 / TPRINT
      COMMON / RB6 / EPSISS
      COMMON / RB7 / EPSIT
      COMMON / RB8 / PERTUR
      COMMON / RB9 / PERTU2
      COMMON / RB10 / PERTSQ
      COMMON / RB11 / DTMAX
      COMMON / RB12 / RELAX
      COMMON / RB13 / RELAXS
      COMMON / RB14 / RELAXT
      COMMON / RB15 / TSFMIN
      COMMON / RB16 / TSFMAX
      COMMON / RB17 / BETAEX
      COMMON / RB18 / BETAIM
      COMMON / RB19 / DTOLD
      COMMON / RB20 / EFACT
      COMMON / RB21 / QGLOBL
      COMMON / RB22 / SBC
      COMMON / RB23 / SMALL
      COMMON / RB24 / TINY
      COMMON / RB25 / HUGE
      COMMON / RB26 / QVECTP
      COMMON / RB27 / QVECTM
      COMMON / RB28 / GSUM
      COMMON / RB29 / GVALC
      COMMON / RB30 / BETA
      COMMON / RB31 / PCBAND
      COMMON / RB32 / DELMAX
      COMMON / RB33 / ERROR
      COMMON / RB34 / DTP
      COMMON / RB35 / Q
      COMMON / RB36 / T1
      COMMON / RB37 / T2
      COMMON / RB38 / T3
      COMMON / RB39 / GVALH
      COMMON / RB40 / CLOCK
      COMMON / RB41 / EOLDST
      COMMON / RB42 / ERROLD
      COMMON / RB43 / DTPRED
      COMMON / RB44 / CP
      COMMON / RB45 / BALNCE
      COMMON / RB46 / Q12
      COMMON / RB47 / Q21
      COMMON / RB48 / GVAL
      COMMON / RB49 / QWAVE
      COMMON / RB50 / QGRAY
      COMMON / RB51 / EMISS
      COMMON / RB52 / TAU
      COMMON / RB53 / QSURF
      COMMON / RB54 / GVALS
      COMMON / RB55 / QSURFT
      COMMON / RB56 / GVALT
      COMMON / RB57 / TTMAC
      COMMON / RB58 / DELT
      COMMON / RB59 / FOLD
      COMMON / RB60 / F11
      COMMON / RB61 / F22
      COMMON / RB62 / RMFLOW
      COMMON / RB63 / EPSIT2
      COMMON / RB64 / TSAVE
      COMMON / RB65 / CPDELT
      COMMON / RB67 / QINPUT
      COMMON / RB68 / DTMIN
      COMMON / RB69 / H
      COMMON / RB70 / MINTMP
      COMMON / RB71 / MAXTMP
      COMMON / RB72 / BETMIN
      COMMON / RB73 / BETMAX
      COMMON / RB74 / PINITL
      COMMON / RB75 / MGLOBL
      COMMON / RB76 / GH
      COMMON / RB77 / GX
      COMMON / RB78 / GY
      COMMON / RB79 / GZ
      COMMON / RB80 / HYBETA
      COMMON / RB81 / HDIAM
      COMMON / RB82 / HCSAA
      COMMON / RB83 / HDLEN
      COMMON / RB84 / HDX
      COMMON / RB85 / HDY
      COMMON / RB86 / HDZ
      COMMON / RB87 / HPRHO
      COMMON / RB88 / HPRHOE
      COMMON / RB89 / HMU
      COMMON / RB90 / HNU
      COMMON / RB91 / HCP
      COMMON / RB92 / HEPS
      COMMON / RB93 / HLOSCF
      COMMON / RB94 / HFF
      COMMON / RB95 / HWDOT
      COMMON / RB96 / HREYN
      COMMON / RB97 / HQFLOW
      COMMON / RB98 / HHX
      COMMON / RB99 / HHY
      COMMON / RB100 / HHZ
      COMMON / RB101 / HHXREF
      COMMON / RB102 / HHYREF
      COMMON / RB103 / HHZREF
      COMMON / RB104 / HDPHED
      COMMON / RB105 / HP1
      COMMON / RB106 / HP2
      COMMON / RB107 / HDTEMP
      COMMON / RB108 / HPHEAD
      COMMON / RB109 / PI
      COMMON / RB110 / GRAVTY
      COMMON / RB111 / BTINY
      COMMON / RB112 / HPERRM
      COMMON / RB113 / HMERRM
      COMMON / RB114 / HERRMX
      COMMON / RB115 / HYEPIS
      COMMON / RB116 / DTMAXH
      COMMON / RB117 / HYTIME
      COMMON / RB118 / HYOTIM
      COMMON / RB119 / HUNITS
      COMMON / RB120 / RSTIME
      COMMON / RB121 / HYHDEP
      COMMON / RB122 / HYMDEP
      COMMON / RB123 / HYPREP
!!!      COMMON / RB124 / TNODE
      COMMON / RB125 / SUMQ
      COMMON / RB126 / SUMCNV
      COMMON / RB127 / SUMRAD
      COMMON / RB128 / CLKDTM
C
C     Usage:
C            TIME   -->    chronometer's reading
C            DT     -->    current time step
C            TSTART -->    simulation start time
C            TSTOP  -->    simulation stop time
C            EPSISS -->    steady state convergence criterion
C            EPSIT  -->    transient convergence criterion
C            PERTUR -->    perturbation parameter
C            PERTU2 -->    2 * PERTUR
C            PERTSQ -->    PERTUR * PERTUR
C            DTMAX  -->    maximum allowed value of the time step, DT
C            RELAX  -->    current relaxation parameter
C            RELAXS -->    steady state relaxation parameter
C            RELAXT -->    transient relaxation parameter
C            TSFMIN -->    time step factor for decreasing the time step
C            TSFMAX -->    time step factor for increasing the time step
C            BETAEX -->    explicit integration weighting factor
C            BETAIM -->    implicit integration weighting factor
C                          (note:  BETAEX + BETAIM = 1.0)
C            DTOLD  -->    "old" time step value
C            EFACT  -->    error factor (used to convert iterative delta
C                          into an estimated error)
C            QGLOBL -->    constant per-unit-volume heat flux value
C            SBC    -->    stephan-boltzman constant
C            SMALL  -->    a small value (~0.001)
C            TINY   -->    a near zero value (~1.E-30)
C            HUGE   -->    a very large value (~1.E+30)
C            QVECTP -->    the heat flow into a node at T+PERTUR
C            QVECTM -->    the heat flow into a node at T-PERTUR
C            GSUM   -->    summation of conductances for a node
C            GVALC  -->    summation of conductive resistor conductances for
C                          a node
C            BETA   -->    user-input explicit/implicit weighting parameter
C            PCBAND -->    phase change band
C            DELMAX -->    largest allowed iterative delta
C            ERROR  -->    largest iterative delta
C            DTP    -->    temporary time step variable
C            Q      -->    heat flow rate
C            T1     -->    temperature at node 1 of resistor
C            T2     -->    temperature at node 2 of resistor
C            T3     -->    temperature at node 3 of resistor
C            GVALH  -->    conductance of convective resistor
C            CLOCK  -->    time at which next print dump will occur
C            EOLDST -->    iterative delta (oldest)
C            ERROLD -->    iterative delta (old)
C            DTPRED -->    time step used for predictor equation
C            CP     -->    specific heat value
C            BALNCE -->    energy balance
C            Q12    -->    heat flow from resistor node 1 to node 2
C            Q21    -->    heat flow from resistor node 2 to node 1
C            GVAL   -->    conductance of current resistor
C            QWAVE  -->    heat flow across spectral resistor
C            EMISS  -->    emissivity of radiative resistor
C            TAU    -->    transmissivity of radiative resistor
C            QSURF  -->    not used
C            GVALS  -->    not used
C            QSURFT -->    not used
C            GVALT  -->    not used
C            TTMAC  -->    TMACROfunction "old" temperature value.
C            DELT   -->    phase change bisection method's interval size.
C            FOLD   -->    phase change bisection method's last nodal
C                          heat flow value.
C            F11    -->    Fraction of energy between lambda1-lambda2 for node
C                          1 of spectral resistors.
C            F22    -->    Fraction of energy between lambda1-lambda2 for node
C                          2 of spectral resistors.
C            RMFLOW -->    Mass flow rate set by advective resistors in
C                          subroutine AFLOW.
C            EPSIT2 -->    Transient iteration "cut-out" criteria.
C            TSAVE  -->    Temporary saved node temperature, used
C                          during transient phase change inner iterations.
C            CPDELT -->    Delta Temperature used for the integral of 
C                          Cp * dT.  This can be used if an extremely rapid
C                          variation of Cp with respect to Temperature is
C                          expected, e.g., phase change problems.
C            QINPUT -->    Total of all Q sources (QMACRO's + QBASE's).
C            DTMIN  -->    Minimum allowed time step for transient runs.
C            H      -->    Convection Coefficient
C            MINTMP -->    Minimum allowed temperature calculated.
C            MAXTMP -->    Maximum allowed temperature calculated.
C            BETMIN -->    Minimum explicit/implicit weighting factor
C            BETMAX -->    Maximum explicit/implicit weighting factor
C            PINITL -->    Initial pressure for hydraulic network
C            MGLOBL -->    Globally assigned mass flow rate for hydraulic net
C            GH     -->    Gravity head used for pumps 
C            GX     -->    Gravity in the principle x-axis direction
C            GY     -->    Gravity in the principle y-axis direction
C            GZ     -->    Gravity in the principle z-axis direction
C            HYBETA -->    Compressibility term for hydraulic bounancy
C            HDIAM  -->    Hydraulic diameter
C            HCSAA  -->    Hydraulic crossectional area
C            HDLEN  -->    Hydraulic length of element
C            HHDX   -->    Hydraulic length of element along x axis
C            HHDY   -->    Hydraulic length of element along y axis
C            HHDZ   -->    Hydraulic length of element along z axis
C            HPRHO  -->    Hydraulic fluid density at node
C            HPRHOE -->    Hydraulic fluid density of element
C            HMU    -->    Hydraulic fluid viscosity
C            HNU    -->    Hydraulic fluid kinematic viscosity
C            HCP    -->    Hydraulic fluid specific heat
C            HEPS   -->    Hydraulic surface roughness of pipe elements
C            HLOSCF -->    Hydraulic loss coefficient of element
C            HFF    -->    Hydraulic friction factor
C            HWDOT  -->    Hydraulic mass flow rate
C            HREYN  -->    Hydraulic Reynolds Number
C            HQFLOW -->    Hydraulic volumetric flow rate
C            HHX    -->    Hydraulic head along x axis
C            HHY    -->    Hydraulic head along y axis
C            HHZ    -->    Hydraulic head along z axis
C            HHXREF -->    Hydraulic head reference along x axis
C            HHYREF -->    Hydraulic head reference along y axis
C            HHZREF -->    Hydraulic head reference along z axis
C            HDPHED -->    Hydraulic head differential in element
C            HP1    -->    Hydraulic static pressure at node 1
C            HP2    -->    Hydraulic static pressure at node 2
C            HDTEMP -->    Temperature difference across hydraulic element
C            HPHEAD -->    Pump head
C            PI     -->    PI (3.14159....)
C            GRAVTY -->    Gravity acceleration used in units conversions
C            BTINY  -->    A big tiny value ( 1.0D-18 )
C            HPERRM -->    Maximum ratio of iterative delta in static pressure
C            HMERRM -->    Maximum ratio of iterative delta in mass flow rate
C            HERRMX -->    Maximum ratio of iterative delta in hyraulic head
C            HYEPIS -->    Maximum allowed ratio of hyraulic iterative delta
C            DTMAXH -->    Hyraulic time step
C            HYTIME -->    Hyraulic time for next update
C            HYOTIM -->    Time that last hyraulic solution was performed
C            HUNITS -->    Units conversion value used for the hydraulics
C            RSTIME -->    Restart time
C            HYHDEP -->    Maximum allowed ratio of hyraulic iterative delta
C                          for the Hydraulic Dynamic Head
C            HYMDEP -->    Maximum allowed ratio of hyraulic iterative delta
C                          for the Hydraulic Mass Flow Rate ( MDOT )
C            HYPREP -->    Maximum allowed ratio of hyraulic iterative delta
C                          for the Hydraulic Pressure
C            TNODE  -->    Time-weighted temperature value used to evaluate
C                          properties for capacitors.
C            CLKDTM -->    Clock time for print stagging of Maximum time step
C
C############################################################################