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############################################################################