4-ti al * fl4.4 t~ak
TRANSCRIPT
W
-"4
4A4
1w
-Uu
:'-4, ej
y y A
k~I
''I ,-
In
p' -~"h -
.'Att
"'"4-tI - - Al* fl4.4
<' A~,v--4 ~ -'-4'
* 4"-t
;
A"T ',
I
'41'
it-
- R0
y -~3
- -C
- 'j: j :-y
q'1
rS
iv -J ..A
44
.1f-
p- s
- ' e
'P~v> 1 kt't''-i §~3~~QW4" .
*~~~ ~ *W, 111 'F WV 4U I . 9 r 7 . I,' ' Y II~o l
AA"- 4
4), - V,7'-~-I
-4,'r
41
K C
T~Ak
- '
inI*ww
MITNE-19
NUCLE I E GINEERING
READiNG Ru0M - M.I.T.
DESCRIPTION OF THE
COMPUTER CODE
2DTD
by
R.A. Shober
November, 1976
Massachusetts Institute o.f Technology
Department of Nuclear lingineering
Cambridge, Massachusetts 02139
Eilectric Power Research Institute Report
- 2 -
I. Introduction
The digital computer program 2DTD was written to test the flatleakage method developed in Ref. 1. It solves the static and transient
diffusion equations in two spatial dimensions and two groups. Theprogram uses an approximate analytical method to solve the neutrondiffusion equation. The 2DTD program was written entirely in single
precision on the IBM 370/168 at the M.I.T. Information ProcessingCenter.
The 2DTD program always begins by solving the static, two-group
diffusion equations for the eigenvalue and eigenfunction. After the
steady state calculation has been completed, a transient solution may
be calculated based on this initial condition. Initial criticality
is insured by dividing vEf in every region by the eigenvalue X.
2DTD requires that the reactor configuration be input as a
regular array of rectangular assemblies. The borders of the reactor
do not have to be rectangular, however. 2DTD allows the use of
albedo boundary conditions on any border.
During a transient, 2DTD will edit the total reactor power and
region powers integrated over user-defined regions. The code also
edits the time required for various parts of the computation.
II. The Problem To Be Solved
The input to 2DTD describes an array of rectangular cells, each of
which may contain a different composition. A map which defines the
composition numbers is input into 2DTD. The composition numbers are
defined by positive integers. The basic problem grid is the gridupon which the discrete problem will be formulated.
Around the outside of the composition map, one extra level of
boxes must exist. This extra level is used to indicate the boundary
condition at that edge of the reactor.
- 3 -
The 2DTD program has three symmetry options:
i) Full core
ii) Half core
iii) Quarter core
In the full-core option, only albedo boundary conditions can be
applied. For the half-core option, the symmetry boundary is located
along the left edge, and albedo conditions must be applied along all
other boundaries. For the quarter-core option, the symmetry boundaries
are located along the left and bottom edges of the problem; the other
edges can only have albedo boundaries. The albedos are indicated
by a negative integar in the material composition map. Each negative
integer (each albedo set) has a set of both x-directed and y-directed
albedos. If a problem has, for example, five albedo sets, these
albedos sets are numbered -1 to -5. The symmetry options are defined
by the input flags IBCL (controls the left boundary condition), and
IBCB (controls the bottom boundary condition). If IBCL=l, the left
boundary condition is symmetry; if IBCB=2, an albedo boundary condition
is imposed. The same values hold for IBCB.
For each set of x-directed or y-directed albedos, the albedos are
written [l 11 12 12) 21 a22 2
Therefore a zero flux boundary is easily imposed by setting all the
O terms to zero. The zero flux is then imposed at the edge of the
mesh rectangle.
We now give some examples of composition maps for various
symmetry and albedo options:
- 4 -
1) This problem is quarter-core
-1 -1
-1 1
-1 2
-1 1
-1 2
-1 -1l
symmetric with
-1 -1 -1
2 1 2
1 2 1
2 1 2
1 2 1
-1 -1 -1
only one albedo set
-1l
-1
-1
-1
-1
-1
IBCL=IBCB=l
2) This problem is half-core symetric with four different albedo sets:
-1 -1 -2 -3 -4 -4-1
-1
-1
-1l
-1l
-1
-1
-1
-1
3
3
3
3
.3
3
3
3
-1
2
2
2
2
2
2
2
2
-2
2
2
1
1
1
1
2
2
-3
1
1
1
1
1
1
1
1
-4
-4
-4
-4
-4
-4
-4
-4
-4
-4
IBCL=1, IBCB=2
We note that albedo set #1 is applied at the top and bottom of
the first column; set #2 at top and bottom of the second column;
set #3 at top and bottom of the third column; and set #4 at
the top, bottom and right of the fourth column.
- 5 -
3) This quarter-core problem has a jagged boundary, and three
albedo sets.
-1 -1 -1 0 0 0 0 0 0
-1 2 1 -4 -4 0 0 0 0
-1 1 2 1 2 -3 0 0 0
-1 2 1 2 1 2 -3 0 0
-1 1 2 1 2 1 2 -2 0
-1 2 1 2 1 2 1 -2 0
-1 1 2 1 2 1 2 1 -1
-1 2 1 2 1 2 1 2 -1
-l -1 -1 -1 -1 -1 -1 -1 -1
IBCL=IBCB=l
We note that a solution only exists for regions above which have
an integer greater than zero. Note also that although the left
boundary condition is specified by IBCL, there must be a row of
boxes on the left (above written as all -l's). These -1 entries
are required by the code, but ignored. However, the -1 entries
above the first and second columns, however, indicate albedo
set #1.
The above composition map is indexed by the variables ND1
(x direction) and ND2 (y direction). These variables run
1 < ND1 < ND1X
1< ND2< ND2X.
Since there are always two extra boxes per row and per column, the
solution is computed over an array of boxes indexed NP1 (x direction)
and NP2 (y direction), where
1 < NP1 < NP1X
1 < NP2 < NP2Xand
NPlX=ND1X-2
NP2X=ND2X-2
- 6 -
Therefore when ND1=2, we have NPl=l. So
NP1=NDl-1
NP2=ND2-1
The 2DTD program allows editing at every edit time to be done over
regions which may be as fine as the basic material composition mesh,or may integrate over several of these regions. The edit regions
also must comprise a regular array of rectangular cells.
After the initial conditions have been calculated, the solution
is normalized such that the mean power density is equal to a certain
input value. The ower in region k, written as P k can be defined as:2 k () ILdE Region k fg
dVkRegion k
where c=energy conversion factor, watt-seconds/fission.
The mean reactor power P is then
KE PkA
P_ k=lm K
E Akk=l k
where
A =dVk fRegion k
and K is the total number of regions.
The total reactor power Pt is
K
t E k kk=1
- 7 -
The user must input the value of Pm he wishes to initialize the solution
to.
The other equations of the neutronics and thermal-hydraulics
equations in 2DTD are given in Ref. 1.
III. Machine Requirements for 2DTD
As currently programmed, 2DTD will execute on any IBM 360 or
370 with OS. The data is read in on data cards, and output written
on a line printer. The core requirements are problem dependent.
The 2DTD program uses the dynamic storage allocation technique.
This eliminates the need for large arrays reserved by DIMENSION or
COMMON statements. The data management scheme used here is similar
to that used in the MEKIN program, however 2DTD does not use any
disk storage. The result is that the user need only request as much
storage by the REGION parameter as needed by the particular problem.
The general formula for core requirements of 2DTD is (in bytes)
CORE = 120 K + 4Cs + 4Ct where
Cs = 68(NPXY) + 9(NP1X) + 5(NP2X) + 8(NCORX) +
+ 8(NALB) + NEDX + NEDY + 12
Ct = 2(NDEL)(NPXY) + 3(NPXY)
The variables are defined:
NPXY = NPlX * NP2X
NALB = the number of albedo sets
NCORX = the number of different material compositions
NEDX = number of edit regions in the x direction
NEDY = number of edit regions in the y direction
NDEL = number of precursor groups
Ct = zero if no transient is performed, equal to above
expression if transient is performed.
This CORE requirement should be the minimum number entered on the
- 8 -
REGION parameter.
IV. Input Description:
Card 1: NINNER, XFEFF, DIFSS, DIFTD (15, 3E10.3)
NINNER - the number of cyclic Chebyshev iterations per
outer iteration for the steady state only. If
NINNER is entered as zero, the code computes
the number of inners to use.
XKEFF - input approximate eigenvalue
DIFSS - steady state convergence criterion - change in
pointwise fluxes from one outer to another
DIFTD - transient convergence criterion - expressed as
an error reduction.
Recommend: NINNER=O, XKEFF=1.0; If no transient is to be
performed DIFSS=10~4 or 10- 5, if transient is
to be performed DIFSS=10-6 . DIFTD=.05 unless
prompt critical, then = 10~4.
Card 2: NDIX, ND2X, IBCL, IBCB, NALB, ITHFB (615)
NDiX = number of x-regions +2
ND2X = number of y-regions +2
IBCL = left boundary condition=1 symmetry=2 albedo
IBCB = bottom boundary condition
NALB = number of albedo sets
ITHFB = thermal feedback flag (O=NO, l=YES).
Card 3: XNU, WPCC, EPSIL (3E10.3)
XNU = number of neutrons per fission
WPCC = initial mean power density, watts/cc
EPSIL = energy conversion factor (watt-sec/fission).
- 9 -
Card(s) 4: Composition Box Map
Let NBOX(ND1, ND2) be the composition box map. Read
in the order of - from top to bottom. For example
ND2 = ND2X + 1DO 10 ND2P=l, ND2X
ND2 = ND2-1
10 READ(5,20)(NB0X(ND1,ND2), NDl=1,NDlX)
20 FORMAT(12I6)
So we enter ND2X cards, each with NDlX entries.
Card 5: NCPX Format(15)
NCPX = number of material compositions.
Card(s) 6:
Card(s) 7:
Card(s) 8:
Card(s) 9:
x-Directed Mesh Spacings
(XMESH(NPl), NPl=l, NPlX)(6E10.5)
Read in the mesh spacings in the x-direction from
NPl=1 to NPlX.
y-Directed Mesh Spacings
(YMESH(NP2), NP2=lNP2X)(6E10.5)
Read in the mesh spacings in the y-direction from
NP2=1 to NP2X.
x-Directed Albedos
(all(I),al2(I),a21(I),a22(I), I=1, NALB)(4E10.3)
Read in one albedo set (4 numbers) per card for NALB
albedo sets. These are the x-directed albedos.
y-Directed Albedos
(all(I),al2(I),a21(I),a22(I), I=1, NALB)(4E10.3)
Read in the y-directed albedos in the same format as thex-directed albedos.
- 10 -
Card(s) 10: Cross Sections
Read in the cross sections for composition 1 first,
then 2, etc. For each composition read in 8 numbers:
D1, E T19 Zrl " V"Z1i D 29 ET29 Z r2' _VE f2
FORMAT (8E10. 4)
DD 2 are two-group diffusion coefficients
T E T2 are two-group total cross sections. Note
ETi al + Erl'
and vrf 2 are two group fission cross sections times nu.
rl = scattering from group 1 to 2.
r2 = 0. (must be entered as zero).
Card 11: NEDX, NEDY Format(215)
NEDX = number of edit regions in x-direction
NEDY = number of edit regions in y-direction
Card(s) 12: x-Directed Edit Boundaries
(IEDX(I), I=1, NEDX)(1215)
Each region of integration is over region (IEDX(I)+l) to
(IEDX(I+l)). Therefore if NP1=1 to iD and we desire to
integrate over NP1 regions (1 and 2), (3 and 4), (5 and 6),
(7 and 8), (9 and 10); then enter NEDX=5 and
IEDX(I)=2,4,6,8,10.
Note the numbers input on IEDX correspond to the NPl grid.
- 11 -
Card(s) 13: y-Directed Edit Boundaries
(IEDY(J), J=l, NEDY).(12I5)
Same input description as x-directed edit boundaries.
Card 14: ITRANS, NTD, NDEL, IEDTS(415)
ITRANS = transient flag
= 0 means no transient performed
= 1 means do transient
NTD = number of time domains (t5). A time domain is a region
with a uniform time step.
NDEL = number of delayed precursor groups (21)
IEDTS = edit flag. An edit is performed every IEDTS time steps.
If ITRANS=O, no more cards are read. The condition code
is set to 1111.
Card 15: NUMS(I), DELT(I), I=1, NTD(15,E10.5)
Read two numbers per card for NTD cards.
NUMS(I) = number of time steps in time domain I
DELT(I) = time step length (sec) in time domain I
Card 16: VIN(l), VIN(2)(2E10.3)
VIN(l) = 1/V1 fast inverse velocity
VIN(2) = 1/V2 thermal inverse velocity
Card 17: BETA(J), RLAM(J), J=l, NDEL(2E10.3)
BETA(J) = delayed neutron fraction for delayed family J.
RLAM(J) = delayed neutron decay constant for delayed family J.
(two numbers per card for NDEL cards).
- 12 -
Card 18: IPERT, NCOMP, TST, TFIN, SIG1, SIG2,(215,4E10.3)
IPERT = perturbation flag
= 1 step perturbation
= 2 ramp perturbation
NCOMP = composition number where perturbation is
TST = starting time for ramp or step
TFIN = final time for ramp
SIGl = total change to ETl for step or ramp(added to zTlO
SIG2 = total change to ET2 for step or ramp(added to zT2)
If ITHFB=O, no more cards read.
Card 19: ALFA, GAMMA, TREF(3E10.3)
ALFA = conversion factor for feedback, *K/cc
GAMMA = feedback constant, *K
TREF = initial temperature (spatially independent), *K
Successful completion of a transient is followed by
setting the condition code equal to 2222.
- 13 -
References
1) R. A. Shober, "Nonlinear Methods for Solving the DiffusionEquation", M.I.T. Department of Nuclear Engineering, Ph.D. Thesis,November, 1976.
APPENDIX A
LISTING OF COMPUTER PROGRAM 2DTD
C
C
C
CC
CDO 1 T=1,19
PROGRAM 2DTD 2 DIMENSIONAL, TIME DEPENDENTI SOLVE THE NODAL EQUATIONS AFTER A SUBSTITUTIONTHIS VERSION HAS A CONSTANT LEAKAGETHIS VERSION USES ONE CURRENT UPDATE PER OUTER ITERATIONFLUXES ARE FOUND USING CYCLIC CHEBYSHEVFULLY IMPLICIT IN TIMETHIS VEPSION HAS ADIABATIC THERMAL FEEDBACK (FASI DOPPLER)
USES R. SIM'S SUBROUTINE CORE FOR DATA MANAGEMENT
COMMON / NAMES / WHXWHYWINTX,WINTYWCORRWNBOXWFLUXWMAT,X WFISS,WRHSWSWBWPRECWOMGP,WCMGD,WALBXWALBYWEDXWEDYC0 MMN / CRIGIN / KHX,KHY,KISTPX,KISTPY,KIENDXKIENDYKCORRKNBOX,
X KFLUXKMAT,KFISSKRHSKS1,KS2,KS3,KBKPRECKONGPKOMGD,X KALBXKALBYKEDXKEDYKTEMP,KSA1COMMON / FIXED / NINNER,NOUT,N1,N2,N3,N4,DIFSSDIFTDRHO,ND1X,
X ND2XNP1X,NP2XNPXYIBCLIBCB,NCPX,XKEFFITSIPERT,NCOMP,X TST,TFIN,TIME,SIG1,SIG2,ITRANSNTDNDELBETA(6),RL AM (6),X VIN(2),DELT(5),NUMS(5),NEDX,NEDY,NALBBTOTDTDTI,IEDTSCOMMON / THFEED / ITHFB,XNUWPCCEPSIL,ALFAGAMMA,TREF
COMMON DATA(1)DTMENSION AQ(1)EQUIVALENCE (WHXAQ(1))KWOED=1CALL GETCOR(KWORD)CALL CLEAR
ASSIGN BLOCK NAMES
MAIN0001MAIN0002MAIN0003MAIN0004MAIN0005MAIN0006MAIN0007MAIN0008MAIN0009ItAIN0010MAIN0011MAINO012MAIN0013MAIN0014MAIN0015MAIN0016MAIN0017MAIN0018MAIN0019MAIN0020MAIN0021MAIN0022MAIN0023MAIN0024MAIN0025MAIN0026MAIN0027MAIN0028MAIN0029MAIN0030MAIN0031MAIN0032MAIN0033MAIN0034MAIN0035MAIN0036
C
1 AQ(:)=FIAT)CZ READ IN INPeUT
CALL INPUTO
CCALCULATE N! ,N2,N3, N4C
NN=NP1X-(NP1X/2)*2IF(NN . EQ. n) GC TO 10N3=NP1X-1N4=NP1XGO TO 11
10 N3=NP1XN4=NP1X-1
11 N2=N3N1=N4
C COMPUIE THE STEADY STATE SOLUTIONC
CALL CALC
C COMPUTE THE TRANSIENT SOLUTION
CALL TRANSC
STOP 2222C
END
MAIN0037MAIN0038MAIN0039MAIN0040KAIN0041MAINCO42MAIN0043MAIN0044MAIN0045MAIN0046MAIN0047MAIN0048MAIN0049MAIN0050MAIN0051MAIN0052MAIN0053MAIN0054MAIN0055 2MAIN0056MAIN0057MAIN0058MAIN0059MAIN0060MAIN0061MAIN0062MAIN0063MAIN0064MAIN0065
SIBROUTINE INPUTC
CMMCN / NAMES / WHXWHY,WINTX,WINTYWCORRiNBOXWFLUXVMAT,X WFISSWRHSWSWBWPREC,WOMGP,WOHGD,WALBXWALBYWEDIWEDYC3MMCN / ORIGIN / KHI,KHYKISTRIKISTRYKIENDXKIENDYKCORRKNBOX,
I KFLUX,KMATKFISSKHS,KS1,KS2,KS3,KBKPREC,KOMGPKO GD,x KALBXKALBYKEDXKEDYKTEMPKSA1
COMMON / FIXED / NINNER,NOUT,N1,N2,N3,N4,DIFSSDIFTDRHOND1X,x ND2XNP1X,NP2XNPXYIBCLIBCBNCPXXKEFFITSIPERTNCOMP,K TSTTFINTIMESIG1,SIG2,ITRANSNTDNDELBETA(6),RLAM(6),X VIN(2),DELT(5) ,NUMS(5) ,NEDI,NEDYNALBBTOTDTDTIIEDTSCOMMON / THFEED / ITHFB,XNU,WPCCEPSIL,ALFAGAMMA,TREF
CCOMMONIZERO=OIONE=1ITWO=2IFOUR=4IN=5IOUT=6KTEMP=1
CC=====CARD TYPE 2C
DATA (1)
WRITE (IOUT ,2001)READ(IN,1010) NINNERXKEFFDIFSS,DIFTDIF(NINNER .EQ. 0) WRITE (IOUT,2006)WRITE(IOUT,2005) NINNERXKEFFDIFSSDIFTDXKEFF=XKEFF*0.8
CC=====CARD TYPE 4C
READ(IN,1020) ND1X,ND2XIBCLIBCBNALBITHFBCC
WRITE(IOUT,2015) ND1XND2X,IBCLIBCBNALBITHFB
CINPT0001INPT0002INPT0003INPT0004INPT0005INPT0006INPT0007INPT0008INPT0009INPT0010INPT0011INPT0012INPT0013INPT0014INPT0015INPT0016INPT0017INPT0018INPT0019INPT0021INPT0021INPT0022INPT0023INPT0024INPT0025INPT0026INPT0027INPT0028INPT0029INPT0031INPT0031INPTOO32INPT0033INPT0034INPT0035INPT0036
READ(IN,103C) XNUWPCC,EPSILC
WRITE(IOUT,2020) XNUNPCCEPSILC
-=====RAD REACTCP GEOMETRY DATAC
CALL IGEOMOCC=====READ NEUTPCNIC DATA
CALL INEUTOCC=====C3NSTRUCT NEUTRONIC FINE MESH GEOMETRY DATA
-CALL IFINECC
AD COMPOSITION DATAC
CALL ICOMPOCC=====READ TRANSIENT DATAC
CALL ITRANRETURN
CCC=====FORMATSC
1010 FORMAT(I5,3E10.3)1020 FORMAT(6I5)1030 FORMAT(3E10.3)2001 FORMAT(1H1,45X,'PROGRAM 2DTD OU'PUT',////)2005 FORMAT(1HO,9X,'NO. CF INNERS PER OUTER IS ',I5,//,
X 1OX,'INITIAL EIGENVALUE ESTIMATE',E12.4,//,X 10X,'STEADY STATE CONV. CRIT. ',E12.4,//,
INPTO037INPT0038INPT0039INPT0040INPT0041INPT0042INPT0043INPT0044INPT0045INPT0046INPT0047INPT0048INPT0049INPT0050INPT0051INPT0052INPT0053INPT0054INPT0055INPT0056INPT0057INPT0058INPT0059INPT0060INPT0061INPT0062INPT0063INPT0064INPT0065INPT0066INPT0067INPT0068INPT0069INPT0070INPT0071INPT0072
X ICX,'TRANSIENT CONV. CRIT. ',E12. 4)2006 F)RMAT(1HO,9X,'CODE WILL COMPUTE NINNER FOR STEADY STATE')2015 FORMAT(1HC,9X,40HNC. OF HORIZONTAL (BOX) COORDINATES, X =,15//
1 10X,40HNO. CF HORIZONTAL (BOX) COORDINATES, Y =,I5//2 1OX,'LEFT BOUNDARY CONDITION ',15,//,3 10X,'BO T TOM BCUNDARY CONDITION ',I5,//,4 1OX,'NUMBER OF ALBEDO SETS ',I5,//,5 1OX,'THERMAL FEEDBACK FLAG (0=NO, 1=YES) ',15)
2020 F3RNAT(1H3,9X,'NUJMBER OF NEUTRONS PER FISSION IS ',E12.4,//,X 1OX,'INITIAL MEAN POWEB LEVEL (W/CC) ',212.4,//,X 1OX,'ENERGY CONVERSION FACTOR (WS/FISS) ',E12.4)
END
INPT0073INPT0074INPT0075INPT0076INPT0077INPT0078INPT0079INPT0080INPT0081INPT0082INPT0083INPT0084INPT0085
~0
CnOMMON / NAMES / WHX,WHY,WINTX,WINTY,WCORR,WNBOX,WFLUX,WMAT,X IJSS,WRHS,WSWBWPRECWOMGPNOMGDWALBXWALBYWEDI,WEDYCOMtN / CRIGIN / KRIKHYKISTRXKISTRYKIENDXKIENDYKCORRKNBOX,
X KFLUX,KMAT,KFISS, KRHS,KS1,KS2,KS3,KB,KPRECKOMGPKOMGD,X KALBX,KALBY,KEDX,(KEDY,KTEMP,KSA1COMMON / ?IXED / NINNER, NCUT,N1,N2,N3,N4,DIFSSDIFTDRHO,ND1X,
X ND2X,NP1X,NP2XNPXY,IBCL,IBCBNCPX,XKEFF ,ITS, IPERT,NCOMP,X TST,TFINTIM[E,SIG1,SIG2,ITRANSNTDNDEL,BETA(6),RLAM(6),X VIN(2),DELT(5),NUMS(5) ,NEDX,NEDYNALB,BTOTDTDTI,IEDTSCOMMON / THFEED / ITHFB,XNUWPCC,EPSIL,ALFAGAMMATREF
COMMONREAL*8 DDAT(1)INTEGEREQUIVALENCEIN=5IOUT=6TZERO=0IONE=1ITWO=2
CARDS TYPE G3
DATA (1)
IDAT (1)(DATA (1) ,DDAT(1) ,IDAT (1))
NP1X=ND1X-2NP2X=ND2X-2NPXY=NP1X*NP2XCALL ALOC(WNBOX,0,KNBOX,ND1X*ND2X)KNBOX=KNBOX-1WRITE(IOUT, 2017)ND2=ND2X+IONEDO 100 ND2P=1,ND2X-N)2=ND2-TONEREAD (IN,1030) (IDAT(KNBOX+ND1+ND1X*(ND2-IONE)),ND1=1,NDX)
100 WRITE (IOUT ,2018) (I DAT(KNBOX+ND1+ND1X* (ND2-IONE)) ,ND1=1, ND1X)
IGE30001IGOM0002IGOM0003IGO[0004IGON0005IGO[0006IGD0007IGO[0008IGO[0009IGOM0010IGOM0011IGOM0012IG3M0013IGOM0014IGO[0015IGO[0016IGO[0017IG3[0018IGO[0019IG0M0020IGOM0021IGOM0022IGOM0023IGOM0024IGOM0025IG0M00261G310027IG3,M0028IGOM0029IG0M0030IG00031IGOM00321GON0033IG3[00341G0M0035IGOM0036
CC====C
0
KN ?X=KNFCX+1? TURN
C=== F'?PMATS
1030 FORMAT (1216)
2017 FORMAT(1HO,9X,'REACTOR BCX MAP (CORP. NUMBERS) VERSUS ND1,ND2',//)2118 F3RMAT(5X,3014)
EN D
IGOM0037IGOM0038IG3Mc00391GO0N040IGOM0041IGOM0042IGOM0043IGON0044IG0M0045IG0M0046IGOM0047
s1:B7UTINE INEUTC
CMMON / NAMES / WHX,WHY,WINTX,WINTYWCORR,WNBOX,WFLUX,WWMAT,X WISS,WRHFS,WS,WEWPREC,WOMGPWOMGD,WALBXWALBY,WEDX,WEDYCOMMION / ORIGIN / KHXKHYKISTRXKISTRY,KIENDXKIENDYKCORRKNBOX,
X KFLUX,KMAT,KFSS, KES,KS1,KS2,KS3,KBKPEC,KOGPKOMGD,X KALBXKALBY,KEDX,KEDYKTEMPKSA1
COMMON / FIXED / NINNEP, NCUT,N1,N2,N3,N4,DIFSSDIFTDRHOND1X,x ND2XNP1X,NP2XNPXYIBCLIBCBNCPXXKEFFITSIPERTNCOMP,X TSTTFINTIlwE,SIG1,SIG2,ITRANSNTDNDELBETA(6),RLAM (6)K VIN(2),DELT(5),NUMS(5),NEDXNEDYNALBBTOTDTDTIIEDTS
COMMONREAL*8 DDAT(1)INTEGEREQUIVALENCEIZERO=OIONE=1TWO=2IN =5I3UT=6
DATA (1)
IDAT(1)(DATA(1),DDAT(1),IDAT(1))
C=====CARD TYPE NOC
READ(IN,1000) NCPXC
WRITE (IOUT,2002) NCPXCC RESERV SPACE AND READ IN MESH SPACINGSC
CALL ALOC(WHX,0,KHX,NP1X)CALL ALOC(WHY,0,KHY,NP2X)KHX=KHX-1KHY=KHY-1READ(IN,1040) (DATA(KHX+J),J=1,NP1X)READ(IN,1040) (DATA(KHY+J),J=1,NP2X)
INET0001INET0002INET0003INET0004INET0005INET0006INET0007INETOO08INET0009INET0010INET0011INET0012INET0013INET0014INET0015INET0016INET0017INET0018INET0019INET0020INETOO21INET0022INET0023INET0024INET0025INET0026INET0027INET0028INET0029INET0030INET0031INET0032INET0033INET0034INET0035INET0036
C
,
W :T'(AtUT,2003)WITTE(IOUT,2C5) (DATA(KHX+J),J=1,NP1X)WRITE (InOUT,2004)WRITE(IOUT,2005) (DATA (KfiY+J),J=1,NP2X)KHX=KHX+1KBY=KH Y+1CALL ALOC(WINTX,1,KISTRX,ND2X)CALL ALCC(WINTX,2,KIENDXND2X)CALL ALCC(WINTY,1,KISTRY,ND1X)CALL ALOC(WINTY,2,KIENDYND1X)
C SET UP KISTRX AND KIENDXND2XX=ND2X-1DO 10 ND2=2,ND2XXDO 20 ND1=1,ND1XI=ND1K=IDAT (KNBOX+(ND2-1)*NE1X+ND1-1)TP(K .GT. 0) GO TO 25
20 CONTINUE25 IDAT(KISTPX+ND2-1)=I
DO 30 NDD1=1,ND1XND1=ND1X+1-NDD1T=ND1K=IDAT(KNBOX+(ND2-1)*ND1X+ND1-1)TF(K .GT . C) GO TO 35
30 CONTINUE35 IDAT(KIENDX+ND2-1)=I10 CONTINUE
ND1XX=ND1X-1DO 40 ND1=2,ND1XXDO 50 ND2=1,ND2XI=ND2K=IDAT (KNBOX+(ND2-1)*ND1X+ND1-1)IF(K .GT. 0) GO TO 55
50 CJNTINUE55 ID)AT(KISTRY+ND1-1)=I
DO 60 NDD2=1,ND2X
INET0037INET0038INET0039INET0040INET0041INET0042INET0043INET0044INET0045INET0046INET0047INET0048INET0049INET0050INET0051INET0052INET0053INET0054INET0055INET0056INET0057INET0058INET0059INET0060INET0061INET0062INET0063INET0064INET0065INET0066INET0067INET0068INET0069INET0070INET0071INET0072
ND2=ND2X+1-NDD2T=ND2K=IDAT (KNBOX+ (ND2-1) *ND1X+ND1-1)IF(K .GT. C) GC TO 65
60 CINTTNUE65 IDAT(KIENDY+ND1-1)=I40 CONTINUE
WRITE (6,2006)D^ 70 J=1,ND2X
70 WRITE(6,2007) JIDAT(KISTPX+J-1),IDAT(KIENDX+J-1)WPITE(6,2008)DO 80 J=1,ND1X
80 WRITE(6,2007) J,IDAT(KISTFY+J-1),IDAT(KIENDY+J-1)CALL ALOC(WALBX,0,KALBXNALB*4)ZALL ALOC (WALBY,0,KALBYNALB*4)KALBX=KALBX-1KALBY=KALBY-1WRITE(6,2010)D% 22 I=1,NALBJ=KALBX+ (I-1)*4PEAD(5,1070) (DATA(J+K),K=1,4)
22 WRITE(6,2011) I, (DATA (J+K) ,K=1,l4)WRITE(6,2012)DO 21 I=1,NALEJ=KALBY+ (1-1) *4READ(5,1070) (DATA(J+K),K=1,4)
21 WRITE(6,2011) I,(DATA(J+K),K=1,4)KALBX=KALBX+1KALBY=KALBY+1RETURN
C
1000
1050
INETUO73INET0074INET0075INET0076INET0077INET0078INET0079INET0080INET0081INET0082INET0083INET0084INET0085INET0086INET0087INET0088INET0089INET0090INET0091INET0092INET0093INET0094INET0095INET0096INET0097INET0098INET0099INET0100INET0101INET0102INET0103INET0104INET0105INET0106INET0107INET0108
FORMATS
FORMAT(2I5)FORMAT (6E10.5)FORMAT(6E10.5)
[,
C .3),9X,'NUM BER CF C!PCSITIONS IS ',I5),9X,'X DTECICN MESH SPACINGS',/),9X,'Y DIRECITCN MESH SPACINGS',/),6E 12. 4), 9X,'IND2 ILSTAEI IEN D',//),13,5X,13, 5X,13),91,'ND1 ISTAFT IEND',//),9X,'X DIRECTILD ALBEDOS',/,10X,'NALB,13,3X,4E12.4),9X,' Y DIRECTED ALBEDOS' ,/,10X,'NALB
1 7''2 22 '032)0420,05,
20 072008
23104200 in
20112012
INET0109INET0110INET0111INET0112INET0113INETOl114INETO115INET0116INETO117INETO118INETO 119INET0120
'F RMAT
F RM ATF RMAT
0 RM ATF)RMATF3RMAT
F:RM4ATFND
(4E1(1,h)(1H0(IH0(15X(1 H(iHOx(liX(11X
(1HO
ALBEDOS' ,//)
ALBEDOS',//)
~J1
SUBROkUTINE IFINECC
C'2'OMN / NAMS / WHX,aiH,'INTX,WINTYWCCRWNBOXWFLUX,WMAT,X WFISS,WRHS,WS,WI,E'ZrC,WOMGP,WOMGD,WALBX,WALBY,WEDX,WEDY
COMMCN / CRIGIN / KHX,KEY,KISTRX,KISTY,KIENDX,KTENDY,KCCRR,KNBOX,KFLX,KMATKFISS, iSS,KS1,KS2,KS3,KB,KPREC,KOMGPKOMGD,,
X KALBXKALBY,KzDXK DYKTEMP,KSA1CIMON / FIXED / NINNER,n0U:,N1,N2,N3,N4,DIFSSDIFTDRHOND1X,X lnD2X,NP1X,NP2X,NPXY,I3CLIBCBNCPX,XKEFF,ITSIPERTNCOMP,
-;ST,TFINlTI!ESIG1,SIG2,ITRANSNTDNDELBETA(6),RLAM(6),X VIN (2) ,DELT (5),NUFS(5) ,NEDXNEDY,NALBBTOTDT,DTI,IEDTS
ALLDCATE BLOCKS FOR DATA STCRAGE
NE2D=NP1X* (NP2X+2) *2CALL AIGC(WFLUX,0,KFL,UX,NEED)Kv LUX=KFLUX+NP1 X+NP1XNE1D=NPXY*52CALL ALOC(WMAT,0,KMAT,NEED)NE4D=NPXY*2CALL ALCC(WFISS,0,KFISSNEED)NEED=NPXY*4CALL ALCC(WRUS,,K?:HS,NEEE)NEED=NPXYCALL ALOC(WS,1,KS1,NEED)CALL ALOC(WS,2,KS2,N it)CALL ALCC(WS,3,KS3,NEEi)NEED=NPXY*4CALL ALOC(WB,0,KB,NEED)FEED=50. ()CALL ALOC(FEED,1,KSA1,NPXY)RETURN
END
IFINQOolIFIN0002IFIN0003IFIN0004IFIN0005IFIN0006IFIN0O07IFIN0008IFIN0009IFIIN0010IFIN0011IFIN0012IFIN0013IFIN0014IFIN0015IFINCO16IFIN0017IFIN0018IFIN0019IFIN0020IFIN0021IFIN0022IFIN0023IFIN0024IFIN0025IFIN0026IFIN0027IFIN0028IFIN0029IFIN0030IFIN0031IFIN0032IFIN0033IFIN0034IFIN0035
CCC
,3?115'JBD UT I NE IIC CMiPC
CANON / MES / WHX,WHYWINi"X,INTY,WCCPF~,WNBOXWFLUX,WMAT,x WFISSWFHSWgoS,WBWPR--C,--W0MGPWOMGDWALBXUWALBYWEDXWEDYCOMMON / OFIGIN / KHKKHYKISTXKISTRYKIENDX,KIENDYKCQREKNBSX,
x KFLUXUKftIAT. KFISS. Kr.HS. KS1. KS2,KS3,KBFKPTECK0MGP*KOMGD.x KALBX,KALBYtKEDXKEDYKTF MP9 KSA1C IMMON / ?IXED / NINN!M.',NCtT.i;-NlN2,N3,NLID1FSSDTFTDE9H0,NDlX,
x ND2X,NPlXNP2-X, NPXYIBCLIBCB,NCPKXKEPFIT'SIPT!RT,NCOMPjx TSTTFINTIMESIG1,SIG2,ITRANSN'AD, NDEL, BETA (6) rRLAM (6),x VIN(2) ,DELT(5) 9 NUMS(5) ,NEDKNEDYNALBBTOTDrtDTIIEDTS
C')MNMO NREAL*8 DDAT(1)INTEGEREQUIIVALENCE
DATA (1)
ID AT(1(DATA (1) ,DLAT (1) #TDAT (1)
113NE= 1ITWO=2!N=5I110111=6
C== CARDS TYPE N8
NCORX=BCALL ALOC(WCCRRr,),KC3PRF,NCCPX*NCPX)KCORR=KCCRP.-1DO 200 NCP=lNCPXREAD (IN, 2000) (DATA (KCOBR+NCOR+NC-ORX* (NCP-1)) rNCOR1l ,NCORX)
200 WRITE (IOUT, 1002) NCP, (DATA (KCORR+NCOR+NCORLX* (NCP-IONE))x NCOP=1, NCORX)
KCORR=KCOPR+ 1
1CM PO001ICMPOO021CMP0003ICMPOO04ICNP0005ICMPOO06ICMPO0 07ICMPO008icmpooC9ICMPO010ICMPO01 1ICMPOO12ICM POO1 3ICMPOO14ICNPO015ICMPOO16ICM2001,7ICMPO018ICMPO019ICMPOO20ICMPOO21ICMPOO22ICMPCO23ICMPOO24ICMPO0025ICMPOC261CMP002 7ICMPOO28ICMPOO29ICMPO0030ICM P0031ICMP20032ICMPOO33ICMP0034ICMPOO35ICMPOO36
c
IEAD IN EIT STUFF
-AkD (IN,2001) NEDX,N EDYCALL ALOC(WEDX,0,KFDXNEDX)CALL ALCC(WEDY,0,KEDY,NEDY)KEDX=KEDX-1KEDY=KEDY-1WRITE (IOUT, 1003)READ(IN,2001) (IDAT(J+KEDX)WRITE(ICUT, 1004) (IDAT (J+K FDX)PEAD(IN,20P,1) (IDAT(J+K EDY)WRITI(IOUT, 1C4) (IrAI (J+KEDY)KEDX=KEDX+1KEDY=KEDY+1RETURN
,J=1,NEDX), J=1, NEDX),J=1,NEDY),J=1,NEDY)
1"02 F2RMAT (28F COMPCSITION DATA/11X,11(1H-),3X,90(1H-)/x (11X,111,3X,1P4E15.5) / (25X,4P15.5))
1003 FORMAT(1HO,9X,'X AND Y DIRECTED EDIT BOUNDS,//)13014 FORMAT (1CX,12I5)
2000 FORMAT(8E10.4)2001 FORMAT(12I5)
C
ICMP0037ICMP0038ICMPOO39ICMPOO40ICMPOO41ICMPOO42ICMPOO43ICMP0044ICMPOO45ICMPOO46ICMPOO47ICMP0048ICMPOO49ICMP0050ICMPOO51ICMP0052ICMP0053ICMPOO54ICMP0055ICMPOO56ICMPOO57ICMPOO58ICMP0059ICMPOO60ICMPOO61
m0
TRAN
C I VCN / NAMES / WHXWHY,WINTXWINTYWCCRR,WNBX, WFLUXWMAT,K WFISS,WRHSWS,WBWPREC,WOMGPWOMGDWALBXWALBYWEDXWEDY
CO MM-)N / ORIGIN / KHXKHYKISTRXKISTRYKIENDXKIENDYKCORRKNBOX,X KFLUX,KMAT,KFISS, KRHS,KS1, KS2,KS3,KBKPREC,KOMGP,KOMGD,x KALBXKALBYKEDX,KEDYKTEMP,KSA1OM MON / FIXED / NINNEP,NCUT,N1,N2,N3,N4,DIFSSDIFTDRHOND1X,
x ND2X,NP1X,NP2XNPXYIBCLIBCBNCPX,XKEFF,ITSIPERTNCOMP,X TST,iFINTIME,SIG1,STG2,ITRANSNTD,NDEL,BETA(6),RLAMi(6),x VIN(2),DELT(5),NtUMS(5),NEDXNEDYNALBBTOT,DTDTIIEDTSCOMMON / THFEED / ITHFB,XJWPCC,EPSILALFAGAMMATREF
COMMON A(1)DIMENSION IDAT(1)EQUIVALENCE (A(1) ,IDAT (1))R2AD(5,1010) ITRANSNTD,kNDELIEDTSI"(ITTRANS .EQ. 2) GO TO 50PWPTTE(6,2C10) NTD,NDEL,IEDTSDr 10 I=1,NTDREAD(5,1020) NU MS(I),D ELT(I)
11 WRITE(6,2020) I,NUMS(I),DELT(I)READ(5,1030) VIN(1),VIN(2)WI6TE(6,2 0 3C) VIN(1),VIN(2)WRITE (6,2040)DO 20 J=1,NDELEAD(5,1 030) BE'rA(J),RLAM(J)
20 WRITE(6,2050) JBETA(J) ,RLAM(J)PEAD(5,1040) IPERT,NCOMP,TST,TFIN,SIG1,SIG2IF(IPERT .EQ. 1) WRITE(6,2060)T(IPFRT .EQ. 2) WRIIE(6,2070)WRTTE(6,2080) NCOMPTSTTFINSIG1,SIG2NFED=NDEL*NPXYCALL ALOC(WPREC,0,KPRECNEED)N D=NPXY*2CALL ALCC (WOMGP,0, KOMGP, NEED)
ITRN0001ITRN0002ITRN0003ITRN0004ITRN0005ITRN0006ITRN0007ITRN0008ITRN0009ITRN0010ITRN0011ITRN0012ITRN0013ITRN0014ITRN0015ITRN0016ITRN0017ITRN0018ITRN0019ITRN0020ITRN0021ITRN0022ITRN0023ITRN0024ITRN0025ITRN0026ITRN0027ITRN0028ITRN0029ITRN0030ITRN0031ITRN0032ITRN0033ITRN0034ITRN0035ITRN0036
'.
:zD=NDEL*NPXYCALL ALOC(WOMGDG,KOMGE,NEE.D)IF(ITHFB .EQ. 0) PETURNFEED=50.0READ(5,1050) ALFAGAMMATBEFWFITE(6,22090) ALFAGAMMA,TREFCALL ALCC(FEED,2,KTEMPNPXY)DO 50 NP=1,NPXY
50 A(KTEMP+NP-1)=TREFR'TUP_?N
500 WRITE(b,2005)UR N
C1010102010301040105O
C
FORM.AT(4I5)FORMAT(I5,E10.5)FORMPAT(2E10.3)FORMAT (215,4E10.3)Fc RMAT(3E1C.3)
2005 FORMAT(1HO,9X,'DO NOT DO TRANSIENT CALCULATION')2010 FORMAT(1H1, 9X,'NUMBER OF TIME DOMAINS ',15,/,10X,
X 'NUMBER OF DELAYED FAMILIES',15,/,1OX,X 'NUMBER OF TIME STEPS PER EDIT',I5,//,X 1CX,'TIME DOMAIN NO. OF STEPS- DELTA T',//)
2020 FORMAT (15XI2,9XI4,4X,E12.4)2030 FORMAT(1HO,9X,'FAST INVERSE VELOCITY',E12.4,/,10X,'SLOW INVERSE VE
XLOCITY' ,E12.4)2040 FORMAT(1HO,9X,'DEL. FAM. BETA LANDA',//)2050 FORMAT (12XI2,3X,2E12. 4)2060 FORMAT(1Hr,9X,'STEP PERTURBATION')2070 FORMAT(1H0,9X,'RAMP PEFTURBATION')2080 FORMAT(1Ho,9X,'PERTURBATION IN COMPOSITION',I5,/,10X,
X 'STARTING TIME ',E12. 4,/,10X,'FINISH TIME ',E12.4,/,10X,X 'CHANGE IN SIG-T-1 ',E12.4,/,10X,X 'CHANGE IN SIG-T-2 ',E12.4)
2090 FORMAT(1H0,9X,'CONVERSION FACTOR FOR FEEDBACK (K/CC) ',E12.4,//,
ITRN0037ITRN0038ITRN0039ITRN0040ITRN0041ITRN0042ITRN0043ITRNO044ITRN0045ITRN0046ITRN0047ITRN0048ITRN0049ITRN0050ITRN0051ITRN0052ITRN0053ITRN0054ITRN0055ITRN0056ITRN0057ITRN0058ITRN0059ITRN0060ITRN0061ITRN0062ITRNO063ITR N 0064ITRN0065ITRN0066ITRN0067ITRN0068ITRN0069ITRN0070ITRN0071ITRN0072
1
CA
1OX,R'EEDBACK CNT P;ARTi (K)12. 4,/ lol10X, ' REFEPENCE TE!PfE vr TURE (K) '#,E12.4)
ITRN0073ITRN0074ITRN0075ITRN0076
A
X4-
E~D
SUDROUTTINE CALC
COMMON / NAMES / WHXWiiY,WNTX,WINTYWCORRWNBCXWFLUX,WMAT,X WFTSS,WRHSWSWBWPREC,WOMGPWONGDWALBXWALBYWEDXWEDY
ZOMMON / ORIGIN / KHXKHY,KISTPX,KISTTRY,KTENDXKIENDYKCORR,KNBOX,X KFLUXKMAT, KFISSKFHSKS1,KS2,KS,KB, KPREC, KONGPKOMGD,x KALBXKALBY,KEDX,KEDY, KTEMP, KSA1COMMCN / FIXED / NINNER, NCU', N1,N2, N3, N4, DIFSSDIFTD,RHO, ND1X,
X ND2X,NP1X,NP2X, NPXY,:IBCL,IBCBNCPXXKEFF, ITS,IPERT, NCOMP,X TSTTFIN,TIME,STG1,SIG2,ITRANS,NID,NDELBETA(6),RLAM(6),X VIN (2) , DEL-T (5) , NU MS (5) , NEDX, NEDY,NALB, BTOT,DT, DTI, IEDTSCOMMON / THFEED / ITHFEXNUWPCCEPSILALFAGAMMA,TREF
CO1MON A(1)DIMENSION IDAT(1)EQUIVALENCE (A(1),IDAT(1))LOGICAL JSW,JJJJLASTJSW=.FALSE.JJJ=.FALSE.JLAST=.FALSE.RH0=0. 9ITS=0TIME=0.CCALL TFER(A(KISTRX),A(KIENDX),NP1X,NP2X,A(KNBOX), A(KCORR),
X A(KSA1),ND1X)CALL CPUTOCALL MATRXCALL CPUT(CTIME)CSTDR=CTIMEWRITE(6,201) CTIMW
201 FORMAT (1HO,5X,'TIME FOR MATRX IS ',E12.4)
INITIALIZE FLUXES
DO 20 NP2=1,NP2XIS=IDAT(KISTRX+NP2)
CALC0001CALCO002CALCO003CALCO004CALCO005CALCO006CALCO007CALCO008CAL C0009CALCO010CALCO011CALCO012CALCO013CALCO014CALCO015CALCO016CALCO017CALCO018CALCO019CALCO020CALCO021CALCO022CALCO023CALCO024CALCO25CALCO026CALCO27CALCO028CALCO029CALCO030CALCO031CALCO032CALCO033CALCO034CALCO035CALCO036
C
CCC
.=ILAT (KiENDX+NP2)D 21 ND1IS,IENP1 = N D1 -1NP= (!,P2-1) *NP1X+NP1D" 23 NG=1,2
23 A(KFLUX-1+ (NPP-1)*2+NG)=1.021 7-NTINUE20 C'NTINUt
CALL CPUTOCALL DORPESCALL CPUT(CTIME)WRITE(6,202) CTIME
202 O'PMAT(1HC,5X,'TIME FOR DCRPVS IS ',E12.4)CALL CPUTODO 170 NP=1,NPXYNP1=(NP-1)*2NP2=NP1+1X=A(KFLUX+NP1)*A(KFISS+NP1)+A(KPLUX+NP2)*A(KFISS+NP2)
170 A(KS1+NP-1)=XDO 110 NP=1,NPXYNPP=NP-1A(KS2+NPP)=A(KS1+NPP)
110 A(KS3+NPP)=A(KS1+NPP)
10)0 IT=IT+1CC CALCULATE RIGHT HANDC
CALCO037CALCO038CALC0039CALC0040CALCO041CALCO042CALCO043CALCO044CALCO045CALCO046CALCO047CALCO048CALCO049CALCO050CALCO051CALCO052CALCO053CALCO054CALCO055CALCO056CALCO057CALCO058CALCO059CALCO060CALCO061CALCO062CALCO063CALCO064CALCO065CALCO066CALCO067CALCO068CALCO069CALC0070CALCO071CALCO072
SIDE
DO 120 NP=1,NPXYNP1= (NP-1) *4NP2=NP1+1X=A(KS1+NP-1)A(KPHS+NP1)=X / XKEFF
120 "(KPHS+NP2)=0. 0CALL INNERS(JSW)Dn 160 NP=1,NPXY
NP1= (NP-1) *2N22=NP1 +1X=A (KFLUX+NP1) *A (KFISS+NP1) +A (KFLUX+NP2)*A (KFISS+NP2)
160 A(KS1+NP-1)=XCALL OUTERS(IT,A(KS1),A(KS2),A(KS3),NPXY,IRET,DIFSS,X DIFLAMXKEFF)IF(IRET . EQ. 1) GO TO 2C000IF(IT .GE. 200) GO TC 2000IF(JJJ) GC 'T 10CCIF((DIFLAM/1C.0) .GT. DIFSS) GO TO 1000CALL MATRXWRITE(6,175)
175 FORMAT(1HO)JJJ=.TRUE.GO TO 1000
2000 IF(JLAST) GO TO 2001CALL MATRXJLAST= . TPUr.GO TO 1000
2001 CALL CPUT(CTIME)CTIME=CTIME+CSTORWRITE(6,20'3) CTIME
203 FORMAT(1H0,5X,'TIME TO DO OUTER ITERATIONS ',E12.4)CALL EDIT (NP1X,NP2X,NEDXNEDYITSNPXYA(KFLUX),
X A(KFTSS),A(KS3),A(KEDX),A(KEDY),A(KS2),A(KB),TIME,X A(KHX),A(KHY),A(KTEMP))
RETURNC
CALCO073CALCO074CALCO075CALCO076CALCO077CALCO078CALC0079CALCO080CALCO081CALCO082CALCO083CALCO084CALCO085CALC0086CALCO087CALCO088CALCO089CALC0090CALCO091CALCO092CALCO093CALC0094CALC0095CALCC096CALCO097CALCO098CALCO099CALCO100CALCO101
W
SUBiEOUTINE MATPX
C)MMCN / NAMES / WHX,WHYWINTXWINTY,WCORRWNBOXWFLUX,WMAT,x WFISSWRHSWSWBWPREC,WOGPWOMGDWALBXWALBYWEDXWEDYCYNMKON / ORIGIN / KHXKHYKISTRX,KISTRYKIENDXKIENDY,KCORRKNBOX,X KFLUX,KMATKFISS,KRRS,KS1,KS2,KS3,KB,KPREC,KOMGP,KOMGD,X KALBX,KALBYKEDX,KEDY,KTEMPP,KSA1
,OMKON / FIXED / NINNER,NCUTN1,N2,N3,N4,DIFSSDIFTDRHO,ND1X,X ND2X, NP1XNP2X, NPXY,IBCL, IBCB, NCPXXKEFFITSg IPERT,NCOMP,X TST,TFIN,TIME,SIG1,SIG2,ITRANS,NTD,NDEL,BETA(6),RLAM(6),X VIN (2) ,DEL TI (5) , NTM S (5) ,NEDX, NEDYNALB, BTOT,DTDTI, IEDT S
DIMENSION AA(4,75) ,BB(4,75),COLEF(4,75)COMMON A(1)
CALL XSWEEP(A(KMAT),A(KFISS),A(KNBOX),A(KHX),A(KHY),A(KCORR),X AA,BB,COEF,A(KALB X),A(KCMGP),A(KONGD),A(KSA1))
CALL YSWFEP(A(KMAT),A(KFISS) ,A(KNBOX),A(KHX),A(KHY),A(KCORR),X AA, BB,COEF, A (KALBY) , A (KOMGP) ,A(KO MGD) ,A (KSA1))
PTUPNF'ND
MTRX0001MTRX0002MTRX0003MTRX0004MTRX0005MTRX0006MTRX0007MTRX0008MTR 10009MTRX0010MTRIO011MTRX0012MTRX0013NTRX0014MTR10015MTRX0016MTRX0017MTRX0018MTRX0019MTR10020MTPX0021MTRX0022MTRX0023
C
SUM-iOUT INE XSWEE (X ",I~.r, 12OX, HX, HY, CORR, A,B, CALB,OMP,0MD,SA1)
COMMON / NAMES / WhXir,=T NIXWINTY,WCORR,WNB0X WFLUXWMAT,x WFISSWRHSWS, i.,49'C,WMGPWOMGDWALBX,WALBY,WEDIWEDYCMMON / ORIGIN / KHX, zP ,KTRX,KISTRY,KIENDX,KIENDY,KCORR,KNBOX,
X KFLUX,KMATKFUZi, i3S,KS1,KS2,KS3,KBKPREC, KOMGPKOMGD,X KALBXKALBY, KEZl L Y,KT EMP,,KSA1COMMON / FIXED / NINN:.f T", N1,lN2,N3,N4,DIFSS, DIFTD, RHOND1X,X ND2XNP1X,NP2X, -, IBCL, TBCBNCP, XK1FF1,ITS, IPERT,NCOMP,X TSTTFINTI7E,>.: ',.z:2,ITRANS,NTDNDEL,BETA(6),RLAM(6),X VIN (2) ,DELT (5) ,A 7) ,NLDX, NEDY, NALB, BTOT, DT, DTI, IEDTS
DIMENSION XMAT(52,1) , T- -(2, 1) ,HX(1),HY(1),NBOX(ND1X,1)',,SA1(1),,X CORR (8,1) ,A (f4,1) *i (J..') ,2(4,1), ALB(4, 1) ,OMP(2,1) ,0MD(NDEL,1)DIMENSION D(4,1)COMMON IDAT(1)Z.3P0=0.0HALF=0.5RL=X KEFFI?(ITS .EQ. 0) GO TC TSMM=1.0-BTOTDO 2 ND=1,NDEL
2 SMM=SMM+(BETA(ND)*PLA!f2))/(DTI+RLAM(ND))CC COMPUTE FISS VECTORC
1 DO 51 NP2=1,NP2XND2=NP2+1IS=IDAT (KISTRX+NP2)I'E=IDAT(KIENDX+NP2)DO 51 ND1=ISIENP1=ND1-1NPP= (NP2-1)K=NBOX (ND1,FISS (1 ,NPP)FISS (2,NPP)
*NP1X+NP1iND2)=HX(NP1) !i: 1-22)*CORR(4,K)=HX (NP1) W LE 1 l 2) *CO1 R (8, K)
XSWPO001XSWPOO02XSWPOO03XSWP0004XSWPOO05XSWP0006XSWP0007XSWP0008XSWPD 009XSWP0010XSWP0011XSWP0012XSVP0013ISWP0014XSWP0015XSWP0016XSWP0017XSWP0018XSWP0019XSWP0020ISWP0021XSWP0022ISWP0023XSWP0024ISWP0025XSWP0026XSWP0027XSWP0028XSWP0029ISWP0030XSWP0031XSWP0032XSWP0033XSWP0034XSWP0035XSW P0036
(.
C
51 CTNTINE 15 D: 4') NP2=1,NP2X
NO2=NP2+1IS=IDAT (KISTRX+NP2)I=I DAT (KIENDX+NP2)Do- 52 ND1=IS,IENP1=ND1-1NPP= (NP2-1) *NP1X+NP1T=NP1K=NBOX (ND1,ND2)D1=CORR(1,K)D2=C)RR (5,K)S=CORR (3,K)IF(ITS .EQ. 0) GO TO 18SUM= 1. 0-BTOTDO 17 ND=1,NDEL
17 SUM=SUM+(BETA(ND)*RLAS(NE))/(OND(NDNPP)+RLAM(ND))S1=SA1(NPP)-SUM*CCPR(L4,K)/RL+VIN(1)*OMP(1,NPP)S2=CORR (6, K) +OMP (2, NPP)*VIN (2)V2=SUM*CORR(8,K)GO TO 19
18 S1=SA1 (NPP)-CORR(4IK)/RLS2=CORR(6,K)V2 =CORR(8,K)
19 C1=S1/D1+S2/D2C2=(HALF*(S2/D2-S1/D1) )*2 + (V2*SR)/(RL*D1*D2)C3=SQRT(C2)XKS=-HALF*C1+C3XMS=HALP*C1+C3IF(V2 .GT. ZERO) GO TC 81XS=1.CE+20GO TO 82
81 XS=SR/(-D2*XMS+S2)82 XR=SR/(D2*XKS+S2)
TW(XKS .LE. ZERC) GO TO 61
XSWP0037XSWP0038XSWP0039XSWP0040XSWP0041XSWP0042XSVP0043XSWP0044ISWP0045XSWP0046XSWP0047ISWP0048XSWP0049ISWP0050XSWP0051ISWP0052XSWP0053XSWP0054XSWP0055XSVP0056XSWP0057XSWP0058XSWP0059XSWP0060XSWP0061XSWP0062XSWP0063XSWP0064XSWP0065XSWP0066XSWP0067XSWP0068XSWP0069XSWP0070XSWP0071XSWP0 072
-4
KAPPA IS R:AL
X=SQRT (XKS)XK=XIF (X .LT. 1.0E-07) GO TC 31XCSC=X/STN (X*HX (I))XTAN=TAN (X*HX (I) *HALF) /XXCDK=XCSC/XKSGO TO 62
31 XCSC=1.0/HX(I)XTAN=H X (I) *HALFXCDK=XCSC/XKSGO TO 62
KAPPA IS IMAGINARY
61 X=SQRT(ABS(XKS))XK=XIF(X .LT. 1.OE-07) GO TO 31XCSC=X/SINH (X*HX(I))XTAN=TANH(X*HX(I)*HALF)/XXCDK=-XCSC/ (X*X)
62 CONTINUEX4i=SQRT(XMS)XZSCH=XM/SINH (XM*HX (I))XTANH=TANH (XM*HX (I) *HALF) /XMXCHiDK=XCSCH/(XM*XM)
NOW FIND PNTRIFS OF A AND B MATRICES
XSWP0073XSWP0074XSWP0075XSWP-0076XSWP0077XSWP0078XSWP0079XSWP0080XSWPO081XSWP0082XSWP0083XSWP0084XSWP0085XSWP0086XSWP0087XSWP0088XSWP0089ISWP0090XSWPO091XSWP0092XSWP0093XSWP0094XSWP0095XSWP0096XSWP0097XSWP0098XSWPO099XSWP0100XSWP0101XSWP0102XSWPO103XSWPO104XSWP0105XSWPO106XSWP0107XSWPO108
AND C MATRX ALSOC
TF(V2 .GT. ZERO) GO TO 91CC WE ARE IN A REFLECTOR REGION - USE THE EXACT FORMULASC
A(1I)=XCSCA (2,1) =ZERO
00
A(3,I)=XR*XCSC - %2*ISCHr.(4,1)=XCSCHB(1, I)=XTAN/D19 (2,1) =ZFR3(3, I)= (XP/D1) * (XTA-X4: )B (4,I) =XTANH/D2HI=HX (I)DET=Sl*S2
C1,I) = (ICDK*HI)/1+.2 iC(2,1) =ZEROC-(3,I) =(XR*XCDK*HI+X -1:B:X*i:)/D1+SR/D.ETC (4,TI) =- (XCHDK*H I) /D?+3/E TS TO 52
91 XMULT=1.0/(XS-XR)A (1,I) =( XS*XCSC-XEBIC3Ci) *XULTA(2,I)=(- XCSC+XCSR A-AjLrA (3, ) =XS*XR*XMTUL T* (IC C-IC3CH)A (4, I)= (- XR*XCSc+I5"-ECH) *XMU LTXMM=XS-XRXI1=XTAN/(L1*XMM)TM2=XTAN / (D2*X MM)XM3=XTANH/ (D1*XMM)X'04=XTANH/ (D2*X MM)B (1,I) =XS*XM1-XR*XM3B(2,I)=-XM2+XM4B (3,1) =XR*XS* (XM1-X!3B (4,1) =-XR*XM2+XS*ItXwH1=1X (I)T1=-XCDKT2=XCHDKT3=XR*T1T4=XS*T2T5=-XS/D1"6=1.0/D2T 7=X R/D1Tq=-T6
XSWP0109XSWP011cXSWP0 111XSWP0112XSWPO113XSWP0114XSWPO115XSWP0116XSWP0117XSWPO118XSWPO119XSWPO120XSWP0121ISWPO122XSWP0123XSWP0124XSW P0125XSWPO126XSWPO127XSWP0128XSWPO129XSWPO130XSW P0131XSWP0132XSWPO133XSWP0134XSWP0135XSWP0136XSWPO137XSWPO138XSWP0139XSWPO140XSWPO141XSWPO142XSWP0143XSWPO144
0(11) =T1*T5+T2*T7C(2,4)=T1*T6+ 2*Tg
C(3,1) =T3*T5+T4*T7C(4,1) =T3*T6+T4*TbTL=lH/(XS-XR)DO 92 K=1,4
92 C(K,I)=C(K,I)*TIDET=S1*S2- (V2*SR) /RLC (1,I) =C(1,I) +S2/DETC (2,) =C (2I) +V2/(FL*DET)C(3,1) =C (3,1) +SR/DETC (4,I) =C (4,1) +s1/DET
52 7ONTINUFCC N~OW PIND COUPLING COEFFICIENTSC LEFT BOUNDARY IS ZERO J OR ALBEDOC RIGH" BOUNDARY IS ALBEDOC
DO 55 ND1=IS,INP1=ND1-1NPP=(NP2-1) *NP1X+NP1I=NP1
CC COMPUTE COUPLING TO LEFTC
IF(ND1 .NE. IS) GO TO 85
XSWPO145XSWPO146XSWP0147XSWP0148XSWP0149XSWP0150XSWP0 151XSWPO152XSWPO153XSWP0154XSWPO155XSWPO156XSWPO157XSWPO158XSWPO159XSWP0160XSWPO161XSWP0162XSWPO163XSWP0164XSWP0165XSWP0166XSWPO167XSWP0168XSWPO169XSWP0170XSWP0171XSWP0172XSWP0173XSWPO174XSWP0175XSWPO176XSWP0177XSWPO178XSWPO179XSWPO180
IBCL=1 SYMNFTRY BOUNDAPY ON LEFTIBCL=2 ALBEDO BOUNDARY ON LEFT
IF (IBCLXL1=ZEROXL2=ZFRCXL3=ZFROXL4=ZEROGO TO 56
.EQ. 2) GO TC 86
CCCC
C)
6KL EFT=IABSq( NBOX(X1-1N2)D' 11 J4=1,4
CALL BINV(D,I,0,XL1,XL2,XL3,XL4)GO TO 56
85 CALL BINV(BI-1,I,X1,X2,X3,XL)XL1=X1XL2=X2XL3=X3XL4=X4F1=X1F2=X2F3=X3FL4=X4CALL BMULT(X1,X2,X3,X4,A,I-1)CALL BHULT(F1,F2,F3,F4,C,I-1)HHi=HX (I-1) *HY (NP2)XMAT (5,NPP)=-HH*X1XMAT (6,NPP}=-HH*X2XMAT(7 ,NPP)=-HH*X3XMAT (8,NPP) =-HH*X4XMAT(29,NPP)=FlXMAT (30,NPP) =F2X'IAT (31,NPP)=F3XMAT(32,NPP)=F4
COMPUTE CENTEF POINT COUPLING
56 CONTINUE31=1J2=I+1IF(ND1 .NE. IE) GO TO 12KRIGHT=IABS (NBOX (ND1+1 ,ND2))DO 13 J4=1,4
13 B(J4,I)=B(J4,I) +ALB(J 4,KRIGHT)J2 = 0
XSWPIC181XSWP0182XSWPO183XSWP0184XSwP0185XSWP0186XSWPO187XSWPO188XSWPO 189XSWP0190XSWPO191XSWP0192XSWP0193XSWPO194XSWP0195XSVP0196XSWP0197XSWPO198XSWPO199XSWP0200XSWP0201XSWP0202XSWPO203XSWPO204XSWPO205XSWPO 206XSWP0207XSWP0208XSWP0209XSWPO210XSWPO211XSWPO212XSWPO213XSWP0214XSWPO215XSWP0216
CCC
12 -ALL BINV(E,J1,32,X1,X2, X3,X4)XR1=x1XR2=X2XR3=X3XR4=X4X1=XR1+XL1X2=XR2+XL2X3=XP3+XL3X4=XR4+XL4F1=X1F2=X2F3=X3
CALL PULT(X1,12,X3,X4,A,I)CALL BMULT(F1,F2,P3,F4,C,I1)HH=HX (I)*HY(NP2)K=NBOX (ND1 ,Nr2)ST1=SA1(NPP)*HHST2=CRP (6,K) *HHS?1=COPR (3 ,K) *HflXMAT(1,NPP)=ST1+HH*X1XMAT(2,NPP)=ZERO+HH*X2XMAT (3,NPP)=-SR1+HH*X3XMAT (4,NPP) =ST2+HH*X4XMAT (21,NPP) =HH*X1XMAT(22,NPP)=HH*X2X MAT (23, PP) =HH*X3XMAT (24,NPP) =HH*X4XMAT(33,NPP)=-F1XIAT (34,NPP)=-F2XMAT(35, NPP)=-F3XMAT(36,NPP)=-F4IF(ITS .EQ. 0) GO TO 57X MAT(1,NPP)=XMIAT(1,NPP)+DTI*VIN(1XMAT (2,NPP) =XM'0AT(2, NPP) -SMM*HH*CO1XMAT(4,NPPF)=XMAT(4,NPP)+ETI*VIN(2
XSWPO217XSWPO218XSWPO219XSWP0220XSWPO221XSWP0222XSWP0223XSWP0224XSWP0225XSWP0226XSWP0227XSWP0228XSWP0229XSWP0230XSWP0231XSWP0232XSWP0233XSWPO234XSWP0235XSWP0236XSWP0237XSWP0238XSWP0239XSWPO240XSWP0241XSWP0242XSWPO243XSWP0244XSWP0245XSWP0246XSWP0247XSWP0248XSWP0249XSWP0250XSWPO251XSWP0252
) *HH-SMM*HH*CORR (4, K) /RLRR(8,K)/RL) *HH
C.
CYo'PUTE PIGHT CCUPLING
57 IF(ND1
F2=XF23=X 3
5540
.EQ. IE) GO TC 55
F4=XL4CALL EIMULT (XE1,IXF-2,XR3,rXR4i,AI+*1)CLL MULT(F1,F2,F3,FL4,C,I+1)HH=HX (1+1) *HY (NP2),X!AT(9,NPP)=-HH*XR1IXAT (10,NPP)=-HH*XP2XMAT(11,NPP)=-HH*XR3XMAT(12,NPP)=-HH*XR4X'MAT(37,NPP)=F1XMAT (38,NPP)=F2XMAT (39, NPP) =F3XMAT (4CNPP) =F4CONTINUEC2NTINUERETURNEND
C
C
XSWP0253XSWP0254XSWP0255XSWP0256XSWP0257XSWPC258XSWP0259XSWP0260XSWP0261XSWP0262XSWP0263XSWPO264XSWPO265XSWPO266XSWP0267XSWP0268XSWP0269XSWPO270XSWP0271XSWP0272XSWPO273XSWP0274XSWP0275
SUTINE YSWErP(XsAT,FISS,N CX, HXHY,CORP,A, 3,C,ALB,0MP,0mD, SA1)
C CMMON / NAMES / WHX,WHY , WINTX,WINTY,WCORR,WNBOXWFLUX,WMAT,X WFISS,WRHSWS,WBeWPREC,WCMGPWOMGDWALBXWALBYWEDX,WEDY
C1MMNON / ORIGIN / KHX,KHY,KTSTEX,KISTRYKIENDXKIENDYKCORRKNBOX,X KFLUX,K.M.AT ,KFISS,KRHS ,K3 1,KS2,KS3,KE,KPREC,KOMGP,KOMGD,X KALBX,KALB Y,KEZDX,KEDY,KTEMP,KSA1COMCN / FIXFD / NTNNERNCUT,N1,N2,N3,N4,DIFSSDIFTDRHOND1X,X ND2X,NP1X,NP2X,NPXY,IBCL,IBCB,NCPX,XKEFF,ITS, IPERT,NCO MP,
TSTFIN,TIMF,STG1,SIG2,ITRANS,NTDNDEL,BETA(6),RLAM(6),X VIN(2) ,DELT(5) ,NU MS(5) ,NEDX,NEDY,NALB,BTOT,DT,DTI,TEDTS
DIMENSION. XMAT(52,1),FIS3(2,1),HX (1),HYX C:3R R(8,81),A(4 ,1),B (4,1),C(4,1),ALB (4,
DIMENSION D(4l,1)-O MON IDAT(1)
ZVR4=0 .9ALF=0 .5RL=XKEFFIF (ITS .EQ. 0) GO TO 1SMM=1.0-BTCTDI 2 ND=1,NDELS4M.=S M+ (BETA (ND) *RLAM (ND) )/(DTI+RLAM (NDO 40 NP1=1,NP1XND1=NP1+1IS=IDAT(KISTRY+NP1)IE=IDAT(KIENDY+NP1)DO 52 ND2=ISIENP2=ND2-1NPP= (NP2-1) *NP1X+NP1T=NP2K=NBOX (ND1 ,ND2)D1=COPR(1 ,K)D2=CORR(5,K)SP=CORR(3,K)IF(ITS .EQ. 0) GO TO 18
(1) ,INBOX(ND1X,1) ,SA1 (1)1) ,OMP (2,1) ,OMD (NDEL, 1)
D))
CYswP0001YSWP0002YSWP0003YSWP0004YSWPOO05YSWPOO06YSWP0007YSWPO000YSWP0009YSWP0o10YSWP0011YSWPOO12YSWP0013YSWP0014YSWPOO15YSWPOO16YSWPOO17YSWP0018YSWPO019YSWP0020YSWP0021YSWP0022YSWP0023YSWP0024YSWP0025YSWP0026YSWP0027YSWP0028YSWP0029YSWP0030YSWP0031YSWP0032YSWP0033YSWP0034YSWP0035YSWP0036
C
21
17 ND=1,NDEL17 UM=SUM+(BETA(ND) RLA(NE))/(CMD(ND,NPP)+FLAM(ND))
31=SA1 (NPP) -SUM*CORR(4,K)/RL+VTN(1) *0MP(1,NPP)S2=COhR (6,K) +0MP (2,NPP)*VIN(2)V2=SUM*CORR (8,K)GO TO 19
18 S1=SA1(NPP)-CCRR(4,K)/RLS2=CORP(6,K)V2=CR (8s,K)
19 C1=S1/D1+S2/D2C2=(HALF*(S2/D2-S1/D1))**2C3=SQRT(C2)XKS=-H ALF*C1 +C3XMS=HALF*C1+C3I?(V2 .GT. ZEREO) GO TO 8XS=1.0E+20GO TO 82
81 XS=SR/(-D2*XMS+S2)82 XR=SR/(D2*XKS+S2)
IF(XKS .LE. ZERO) GO TO
+ (V2*SR)/(RL*D1*D2)
1
61
YSWPC037YSWP0038YSWP0039YSWP0040YSWP0041YSWP004z'2YSWP0043YSWP0044YSWP0045YSWP0046YSWP0047YSWP0048YSWP0049YSWPO050YSWP0051YSWP0052YSW10053YSWP0054YSWP0055YSWP0056YSWP0057YSWP0058YSWP0059YSWP0060YSWP0061YSWP0062YSWP0063YSWP0064YSWP0065YSWP0066YSWP0067YSWP0068YSWP0069YSWP0070YSWP0071YSWP0072
CC KAPPA IS REALC
X=SQRT(XKS)XK=XIF(X .LT. 1.GE-07) GO TO 31XCSC=X/SIN (X*HY (I))XTAN=TAN (X*HY (I) *HALF) /XXCDK=XCSC/XKSGO TO 62
31 XCSC=1.0/HY(I)XTAN=HY(I)*HALFXCDK=XCS C/XKSG- TO 62
4:b
C KAPPA IS IMAGINARY
61 X=SQRT (ABS (XKS))XK=XIF(X .LT. 1.OE-07) GO TO 31XCSC=X/SINH (X*HY (I))XTAN=TANH (X*HY (I) *HALF)/XXCDK=-XCSC/ (X*X)
62 CONTINUEXM=SQRT(XMS)XCSCH=XM/SINH(XM*HY (I))XTANH=TANH (XM*HY (I) *HAIF) /X!XCHDK=XCSCH/ (XM*XM)
NOW FIND ENTRIES OF A AND B MATRICES
TF(V2 .GT. ZERO) GO TC 91
C WE ARE IN A REFLECTOR REGION - USE THE EXACT FORMULASC
A(1,I)=XCSCA(2,I)=ZERCA(3,I)=XR*XCSC - XR*XCSCHA(4,I)=XCSCHB(1,I) =XTAN/D1B(2,I)=ZERCB (3,I)= (XR/D1)* (XTAN-XTANH)B(4,I)=XTANH/D2HI=HY(I)DET=S1*S2C (1 ,I) =(XCDK*HI) /D1 +S2/DETC(2,I)=ZEROC (3,I)=(XR*XCDK*HI+XR*XCHDK*HI)/Di+SR/DETC(4,I) =-(XCHDK*HI)/D2+S1/rETSO TO 52
91 X MUL T=1. 0/ (XS-XR)
YSWP0073YSWP0074YSWP0075YSWP0076YSWP0077YSWP0078YSWP0079YSWP0080YSWPO081YSWP0082YSWPOO83YSWP0084YSWP0085YSWP0086YSWP0087YSWP0088YSWP0089YSWP0090YSWP0091YSWP0092YSWP0093YSWP0094YSWP0095YSWP0096YSWP0097YSWP0098YSWP0099YSWPO100YSWP0101YSWPO102YSWPO103YSWP0104YSWP0105YSWP0106YSWP0107YSWPO 108
AND C MATRX ALSOCC
A(1,I)= ( XS*XCSC-XR*XCSCH) *XMULTA(2,I)=(- XCSC+XCSCH)*XMULTA(3,I)=XS*XR*XMULT*(XCSC-XCSCH)A (4,1) =(- XR*XCSC+XS*XCSCH) *XMULTXMM=XS-XKRXM1=XTAN/(D1*XM M)XM2=XTAN/ (D2*XIM)XM3=XTANH/ (D1*XMM)XM 4=XT AN H/ (D2*XM!)B (1, I) =XS*XI1X-R*XM3B (2,I) =-XM2+XM4B (3,1) =XR*XS* (XM1-XM3)B(4,I)=-XR*XM2+XS*XM4HI=HY(I)T1=-XCDKT2=XCHDKT3=XR*T1T4=XS*T2T5=-XS/D1T6=1.0/D2T7~XR/DiT8=-T6C(1,I)=T1*T5+T2*T7C(2,1) =T1*T6+T2*T8C(3,I)=T3*T5+T4*T7Z(4,) =T3*T6+T4*T8TI=HI/(XS-XR)DO 92 K=1,4
92 C(KI)=C(KI)*TIDET=S1*S2- (V2*SR)/RLC (1) =C (1,I) +S2/DETC (2,I) =C (2,I)+V2/(RL*DET)C (3,1) =C (3,1) +SR/DETC (4,I) =C (4,1) +S1/DET
52 CONTINUE
YSWP0109YSWPO110YSupO 111YSVP0112YSVP0113YSV P0114YSWPO 115YSWP0116YSVPO 117YSW PO 118YSWPO 119YSVP0120YSIPO 121YSVP0122YSWPO123YSWP0124YSWP0125YSVP0126YSWP0127YSWP0128YSV P0129YSWP0130YSVP0131YSWP0132YSWPO133YSWPO134YSWPO135YSWP0136YSWPO137YSV P0138YSWPO139YSW P0140YSWP0141YSVPO 142YSWP0143YSWP0144C
C NJW IND COUPLING COEFFICTENISC LEFT BOUNDARY IS ZERO J CF ALPEDCC RIGHT BCUNDARY IS ALBEDC
D3 55 WD2=IS,IENP2=ND2-1NPP= (NP2-1) *NP1X+NP1I=NP2
CC COMPUTE COUPLING TO LEFT
IF(ND2 .NE. IS) GO TO 85
C IBCB=1 SYMMETRY BOUNDARY CN BOTTOMC IBCB=2 ALBEDO POUNDAPY ON BOTTOMC
I'(IBCB .EQ. 2) GO TO 86XL1=Z FOXL 2=Z PRXL3=Z'PCXL4=ZFRC"O TO 56
86 KDN=IABS(NBOX(ND1,ND2-1)DO 11 J4=1,4
11 D(J4,1)=B(J4, 1)+ALB(J4,KDN)CALL EINV(D,1,0,XL1,XL2,XL3,XL4)G1 TO 56
85 CALL BINV(B,I-1,I,X1,X2,X3,X4)XL1=X1KL2=X2XL=3=X3XL4=X4F1=X1W2=X2F 3=X 3
YSWPO145YSWP0146YSWPO147YSWP0148YSWP0149YSWP0150YSWP0151YSW-P0 152YSWP0153YSWP0154YSWPO155YSWPO156YSWPO157YSWPO158YSwP0159YSWPO160YSWPO161YSWPO162YSWPO163YSWP0164YSWPo165YSWP0166YSWP0167YSWP0168YSWPO169YSWPO170YSWPO 171YSWP0172YSWPO173YSWP0174YSWP0175YSWPO176YSWP0177YSWPO178YSWPO179YSWP0180
I.
CALL BMULT(X1,X2,&3,CALL BMULT(F1,?2,F3,HH=HY (I-1) *HK (NP1)X-AT (13, NPP) =-HH*l1XMAT (14, NPP) =-HH*X2XIMAT (15,NPP)=-HH*X3X MfAT(16,NPP =-HHi*X4XMAT(41,NPP =F1XMAT (42,NPP) =F2XMAT (43,NPP)=F3XMAT (4 4,NPP)=F4
X4,A,I-1)F 4,C ,I-1)
C COMPUTE CENTER POINT COUPLING
96 CONTINUEJ 1=I1J2=I+ 1I (ND2 .NE. IF) GC TC 12KUP=IABS(NBCX(ND1,ND2+1))DO 13 J4=1,4
13 B(J4,I)=B(J4,I)+ALB(J4,KUP)J2=0
12 CALL BINV(B,J1,J2,X1,i2,X3,X4)XR1=X1XR2=X2XR3=X3XR4=X4X1=XR1+XL1X2=XR2+XL2X3=XR3+XL3X4=XP4+XL4F1=X1F2=X2F3=X3F4=X4CALL BMULT(X1,X2,X3,X4,A,T)
YSWPO 181YSWPO182YSWPO183YSW P0184YSUP0185YSWPO186YSVP0187YSVP0188YSWP0189YSWPO190YSW P0191YSWPO192YSWP0193YSWP0194YSWP0195Y SW P0 196YSWP0197YSWPO198YSWPO199YSWP0200YSWP0201YSWP0202YSWP0203YSWP0204YSWP0205YSWP0206YSWP0207YSWP0208YSWP0209YSWPO210YSWP0211YSWPO212YSWP0213YSWP0214YSWPO215YSWPO216
'.0
X el) X(I N P1)
X( Argi1, *)miL3A11NP P) + !HfI1
Yt AA 2% MP4IAT2,NP) + H*X2
X NAS(1,)&) MfX3!T(yNP) *X3:X M 274,T xAT N PP) + H * X 41
Xr .T (C'4NsR * 1MAX (2k,19f) -R * X 2
Y- P 2Iiii NH*X3
X(IT (4517ee)w-F1
1P RI
x (N2 .EP. IE)fj XOT 5
1= Ml 1' C-
OA X R 3
X:4 R4 1 ~-X(P1-C OAT t#4(,m l -f{) X 3 I
CA LLT (2i T P)1,:F2,3,F4,CX+1)
-C",PT~a -01 )N99) -O PL X N 1G
Y~~R GO 70 T (159 -6HxE3XAT20N - *X R 41
=X RA (2&P=1
YPIAT (5', tPP)=F2X A T (51, NPP) =F3XNAT (52, PP)=F4
55 CONTINUE40 cLNIN I
DX M4, C N P2=1, H 2 X R
5MY.PAO 217f5P 218
YVgVPO2 192~1~ 2 905UM0220AEiW0 22 1Of W 222
4 P53MO 223
-)(99,0 2 2 4Y3IkPO2254
YflPO 226YM227iY9PO 22 9IS4W0 229YII3 23 0
46MPD 231
* X%50232iY830 2 33 D 233Ar90V 234
0"" 238SaPO 23 9IM1W 240
JD242',Y5ED 2 4 2
W*MD243YgIP0 2 4 4
24 5YSWPO 246
YVPO 247TEVPO 248YS4PO 2149YSVP0250YSVP0251YSw P0252
IS=IDAT(KI STPX+NP2)IE=IDAT (KIENDX+NP2)DO 400 ND1=IS,IENP1=ND1-1NPP= (NP2-1)*NP1X+NP1F1=XMAT(1, NPP)F2=XMAT(2,NPP)'3=XM.AT (3,NPP)F4=XM!AT (4, NPP)D ET=F1 *FU- F2*F3XMAT (1 ,NPP) =F4/DETXNAT (2,NPP) =-F2/DiCTX.M AT (3,NPP) =-F3/DFTXMAT(4,NPP)=F1/DET
400 CONTINUERETURN
YSWP0253YSWP0254YSWP0255YSWP0256YSWP0257YSWP0258YSWP0259YSWP0260YSWP0261YSWP0262YSWP0263YSWP0264YSWP0265YSWP0266YSWPO267YSWP0268YSWP0269 ,
SUBROUTINE BINV (E,I 1,12, Xl ,X2, X3 X4)DIME NSION B(4,1)IF(12 .FQ. 0) GC TO 1Y1=B (1,I1)+B(1,12)Y2=B (2,11) +B(2, 12)Y3=B (3,11) +B(3,12)Y4=B (4 ,11) +B(4,12)
2 DET=1.)/(Y1*Y4-Y2*Y3)X1=Y4*DETX2=-Y2*DETX3=-Y3*DnETX4=Y1*DETRETURN
1 Y1=B (1,11)Y2=B (2,11)Y3=Bt3, 11)Y4=B(4,11)Gn4 TO 2
EN D
BINVO001BINV0002BINV0003BINV0004BINV0005BINV0006BINV0007BINV0008BINV0009BINVO010BINV0011BINV0012BINV0013BINV0014BINV0015BINVO016BINV0017BINVO018BINV0019 U.,
SUBROUTIN E BMULT (A1,X2,X3,X4,A, I)DIMENSTON A(Li,1)Y1=X1*A(1,I) +X2*A (3,I)Y2=X1*A(2,I)+X2*A(4,I)Y3=X3*A(1,I) +X4*A (3,1)Y4=X3*A (2,1) +X4*A (4,I)X1=Y1X2=Y2X3=Y 3X4=Y4PRTURNEND
BMLT000 1BMLT0002BMLT0003BMLT0004BMLT0005BMLT0006BMLT0007BMLT0008BMLT0009BMLTOO 10BMLTOO11BMLT0012
U,
SUBCUIINE DEPL.S
C)MMON / NAMES / WHXWHYWIN'"X,WINTYWCORRWNBOXWFLUX,WMAT,I WFISS, WRHS, WS,BWPREC, WONGPVOfGDWALBXWALBY,WEDI,WEDYCOMMON / ORIGIN / KHXKHYKISTPXKISTRYKIENDX,KIENDYKCORRKNBOX,
x KFL UX,KMAT,KFISS, KRHS, KS1 KS2,KS3,KB, KPREC, KO MGP, KOMGD,X KALEX,KALBYKEDX,KEDYKTEMPKSA1COMMON / FIXED / NINNER,NOUT,N1,N2,N3,N4,DIFSSDIFTDRHO,ND1X,K N D2X,NP1X,NP2XNPXY,IBCLIBCBNCPX, XKEFFITSIPERTNCOMP,X TSTTFINTIMESIG1,SIG2,ITRANSNTD,NDELBETA(6),RLAM(6),I VIN (2) ,DELT (5) , NUMS (5) ,NEDX,NEDYNALBBTOTDT,DTI, IEDTS
COMMON A(1)DIMENSION IDAT(1)EQUIVALENCF(A(1),IDAT(1))LOGICAL JSWDATA INMTIN/2/
PSINRM=DIFTDIF(ITS .EQ. 0) PSINRM=.02IOUT=6
ZERO OUT THE FILE WRHS
TT=NPXY*4
DO 50 NPP=1,IT5P A(KPHS+NPP-1)=n.0
STORE GROUP 1 FLUX AWAY IN KS1
DO 550 NP=1,NPXYNPP=NP*2-2
55^ A (KS1+NP-1)=A (KFLUX+NPP)
ST:-R GROUP 2 FLUX AWAY IN KS3
DRPS0001DRPS0002DRPS0003DRPS0004DRPS0005DRPS0006DRPS0007DRPS0008DRPS0009DRPS0010DRPS0011DRPS0012DRPS0013DRPS0014DRPS0015DRPS0016DRPS0017DRPS0018DRPS0019DRPS0020DRPS0021DRPS0022DRPS0023DRPS0024DRPS0025DRPS0026DRPS0027DRPS0028DRPS0029DRPS0030DRPS0031DRPS0032DRPS0033DRPS0034DRPS0035DRPS0036
C
CCC
CC
CC
c
U,
DO 560 NP=1,NPXY'P=NP*2- 1
560 A(KS3+NP-1)=A(KFLUX+NPP)ICYCIT=1
120 CO)NIINU?P XFFD=0.0PDIFN=O. 0PIAMUP=0.0PLAMLO=1. QE+20
C C PY FLUX TNTO KS2C
DO 110 NP=1,NPXYNPP=NP*2-1
1 * A (KS2+NP-1) =A (KFLUX+NPP)CALL SOLV (JSN,ICYCIT)
CTHIS CALL TO SOLV WILL DO ONE INNER ITERATION WITH OMEGA=1.0
C AND WITH THE RIGHT HANL SIDE SOURCE SET EQUAL TO ZERO.
DRPS0037DRPS0038DRPS0039DRPS0040DRPS0041DRPS0042DRPS0043DRPS004 4DRPS0045DRPS0046DRPS0047DRPS0048DRPS0049DRPS0050DRPS0051DRPS0052DRPS0053DRPS0054DPPS0055DRPS0056DRPS0057DRPS0058DRPS0059DRPS0060DRPS0061DRPS0062DRPS0063DRPS0064DRPS0065DRPS0066DRPS0067DRPS0068DRPS0069DRPS0070DRPS0071DRPS0072
DO 130 NP2=1,NP2XI3=IDAT (KISTRX+NP2)IF=IDAT (KIENDX+NP2)D2 131 ND1=S,IENP1=ND1-1N?P=(NP2-1) *NP1X+NP1PSIN=A (KFLUX+NPP*2-1)IF(ABS(PSIN) .LT. 1.CE-20) GO TO 130PSIO=A (KS2+NPP-1)RATO=ABS (PSIN/PSIC)PLAhLO=AMIN1 (PLAMLO,RATO)PLAMUP=AMAX1 (PLAMUPRATO)PDIFN=PSIN*PSIN+PDIFNPDIFD=PSIN*PSIO+PDIFD
131 CONTINU?130 CONTINUE
U,(/
C
CCOMPUTE CMEFGA AND NUMDO
XIULT'=PDIFD/PDIFNIT=NPXY*2DO 135 NPP1,IT
135 A(KFLUX+NPP-1)=A(KFLUX+NPP-1) * XMULTC
ICYCIT=ICYCIT+ 1 -IF(ICYCIT .LT. 8) GO TC 120RHOEST=PDIFN/PDIFDOMEGBL=2.0/(1.0+SQRT(1.0-PLAMLO))X=1.0-PLAMUPIF(X .LE. C.C) OMEGBU=2.0IF(X .GT. 0.0) OMEGBU=2.0/(1.0+SQRT(X))OMEGM=2.C/(1.0+SQRT(1.C-RHOEST))IF (ABS (OMEGBU-OMIGBL) . LE. ((2.0-OMEGM) /5.0)) GO rO 240IF(ICYCIT .LT. 50) GO TO 120
240 CONTINUERHC= RHOEST
X=2. 0*SQRT (OMEGM/ (OMEGM- 1.0))Y=OMEGM-1. CNING=0
260 X=X*YNING=NING+1TF(X .GT. PSINPM) GO TC 260NUMD=NINGIF(NUMDO .LT. INMIN) NUJMDO=INMINIF(NINNEP .EQ. 0) NINNEF=NUMDOIF(ITS .NF. 0) NINNER=NUMDOWPITE(I0UT,1000) NINNEPH0,0MEGM
1000 FORMAT(1Hf1,5X,'DC ',I5,3X'INNERS WITH RHO = ',E12.4,3X,X 'AND OMEGA = ',112.4)IF(ITS .NF. 0) GO TO 50r
CSFT FLUXES EQUAL TO ONF
DRPS0073DRPS0074DRPS0075DRPS0076DRPS0077DRPS0078DRPS0079DRPS0080DRPS0081DRPS0082DRPS0083DRPS0084DRPS0085DRPS0086DRPS0087DRPS0088DRPS0089DRPS0090DRPS0091DRPS0092DRPS0093DRPS0094DRPSO095DRPS0096DRPS0097DRPS0098DRPS0099DRPS0100DRPS0101DRPS0102DRPS0103DRPS0104DRPS0105DRPS0106DRPS0107DRPS0108
I
ul
D- 34C NP2=1,NP2XIDAT(KISTP X+NP2)
I7=IDAT (KIENDX+NP2)DO 340 ND1=ISIENP 1= N D 1- 1NPP= (NP2-1) *NP1X+NP1DD 340 NG=1,2
34n A(KFLUX-1+NG+ (NPP-1)*2)=1.0Ir=NPXY*4DI 341 NPP=1,IT
341 A(KB+NPP-1)=0.0GO TO 600
500 DO 570 NP=1,NPXYNPP=NP*2-2
570 A(KFLUX+NPP)=A(KS1+NP-1)
DO 580 NP=1,NPXYNPP=NP*2-1
5P0 A(KFLUX+NPP)=A(KS3+NP-1)
600 ~rTURN!TN D
DRPS0 109DRPS0110DRPS01 11DRPS0112DRPSO 113DRPS0114DRPS0115DRPSO 116DRPSO 117DRPSO 118DRPSO 119DRPSO 120DRPS0121DRPS0122DRPS0123DRPS0124DRPS0125DRPS0126DRPS0127DRPS0128DRPS0129DRPS0130DRPSO131DRPS0132
c
C
CSUBROUTINE I NNBRS(JSW)
COMMON / NAMES / WHXWHY,WINTXWINTYWCORRWNBOXWFLUXWMAT,I WFISSWRHSWS,WBWPRECviOMGPWOHGD,WALBXWALBY,WEDXWEDYCOM!ON / ORIGIN / KHXKHY,KISTRI,KISTRYKIENDX,KIENDY,KCORRKNBOX,
X KFLUX,KMATKFISSKRHS,KS1,KS2,KS3,KBKPRECKO GPKOMGD,X KALBXKALBYKEDX,KEDYKTEMP,KSA1
COMMON / FIXED / NINNER,NOUT,N1,N2,N3,N4,DIFSSDIFTDRHOND1X,X ND2XNP1X,NP2XNPXYIBCLIBCBNCPXXKEFFITSIPERTNCOMP,X TST,TFIN,TIME,SIG1,SIG2, ITRANS,NTDNDELBETA(6),RLAM(6),X VIN(2) ,DELT (5) ,NUMS (5) ,NEDXNEDYNALBBTOTDT,DTIIEDTS
CONMON A(1)
DO NINNEP NUMBFR OF INNER (FLUX) ITERATIONS
LOGICAL JSWCALL PHS(A(KMAT),A(KB),A(KFLUX),A(KRHS))DO 1) IN=1,NINNER
10 CALL SOLV(JSWIN)CALL BUCK(A(KMAT),A(KB),A(KFLUX),A(KHX),A(KHY))RETURNEND
C
CCC
INRS0001INRS0002INRS0003INRS0004INRS0005INRS0006INRS0007INRS0008INRS0009INRSC010INRS0011INRS0012INRS0013INRS0014INRS0015INRS0016INRS0017INRS0018INRS0019INRS0020INRS0021INRS0022INRS0023
tn00
CSl-FOU-?TINE RHS(XMAT,B,FLUX,?)
CO MMON / NAMES / WHX,WHY,WINTXWINTYWCORR,WNBOX,WFLUXWMAT,X WFISSWRHSWSWBWPRECr,OMGPWONGDWALBXWALBY,WEDXWEDY
C25MON / ORIGIN / KHX,KHY,KISTRX,KISTRYKIENDXKIENDYKCORRKNBOX,x KFLUX,KMATKFISS,KRHSKS1,KS2,KS3,KBKPRECKOMGPKOMGD,X KALBX,KALBY,KEDXKEDY,KTEX P,KSA1Z04MON / FTXFD / NINNER,NCUT,N1,N2,N3,N4,DIFSSDIFTDRHOND1X,
x ND2XNP1X,NP2XNPXYIBCLTBCBNCPXXKEFF,ITSIPERTNCOMP,X TST,TWINTIMESIG1,SIG2,ITRANS,NTDNDEL,3ETA(6),RLAM(6),X VIN (2) ,DELT (5) ,NUMS(5) ,NEDX, NEDYNALBBTOTDTDTI, IEDTS
COMMON IDAT(1)DIMENSION XMAT(1) p,B(4,1),#FLUX(2,1),vR(4,1)ZE90=0. cD? 10 NP2=1,NP2XIS=IDAT(KI STRX+NP2)IZ=IDAT (KIENDX+NP2)DJ 11 ND1=IS,IENP1=ND1-1SUM1=ZEPOSUM2 =ZEROSUM5=ZEROSU M6=ZEROSM1=ZEROSM2=ZFPOSM5=ZIROSM6=ZERONPP=(NP2-1)*NP1X+NP1NPPL=NPP-1NPPP=NPP+1J=(NPP-1)*52TF(ND1 .EQ. IS) GO TO 15SU1=XMAT(29+J)*B (3,NPPL)+XMAT(30+J)*B(4,NPPL)SJM2=XMAT (31+J) *B (3,NPPL) +XMAT(32+J) *B (4,NPPL)
15 SUM3=XMAT (33+J) *B (3,NPP) +XMAT (34+J) *B (4,NPP)
RTBS0001RTHS0002RTHS0003RTHS0004RTHS0005PTHS0036RTHS0007RTHS0008RTHS0009PTHS0010RTHS0011RTHS0012RTHS0013RTHS0014RTHS0015RTHS0016RTHS0017RTHS0018RTHS0019RTHS0020RTHS0021RTHS0022RTHS0023RTHS0024RTHS0025RTHS0026RTHS0027RTHS0028RTHS0029RTHS0030RTHS0031RTHS0032RTHS0033RTHS0034RTHS0035RTHS0036
C
U,
SU4=XMAT(35+J)*B(3,NPP) +XMAT(36+J)*B(4,NPP),IF (ND1 .WQ. IF) GO TO 16
=*B(3 'NPPR)+X*AT(38+J)*B(4,NPPR)SUM6=XEAT(39+J)*B(3,NPPR)+XMAT(40j+J)*B(4,NPPR)
16 NPPL=NPP-NP1XNPPR=NPP+NPlXTF(NP2 .EQ.SM1=XMAT (41+J)S.42=X MAT (43+J)
17 SM3=XMAT (45+J)SM4=XMAT (47+J)TF (NP2 .EQ.SM5=XMAT(49+J)'SM6=XMAT (51+J)
1) GO TO 17*B(1,NPPL) +XIAT(L42+J)*B(2,NPPL)*B(1,NPPL)+XMA"(44+J)*B(2,NPPL)*B(1,NPP)+XMA T(46+J)*B(2,NPP)*B(1,NPP)+XMAT (48+J)*B(2,NPP)NP2X) GO TO 18*B(1,NPPR) +XMAT (50+J) *B(2,NPPR)*B(1,NPPR) +XMAT (52+3) *B(2,NPPR)
18 31SUM=(SUM1+SUM3+SUM5+SM1+SM3+S.M5)
G2SUM= (SUM2+SUM4+SUM6+SM2+SM4+S"!6)P'(3,NPP)=G1SUM?(4,NPP)=32SUM
11 C)NTINU !10 CONTINU -r
ETURN
RTHS0037RTHS0038RTHS00 39RTHS0040RTHS0041RTHS0042RTHS0043RTHS0044RTHS0045RTHS0046RTHS0047RTHS0048RTH S0049RTHS0050RTHS0051RTHS0052RTHS0053RTHS0054RTHS0055RTHS0056RTHS0057RTHS0058
C
SUJBROUT'NF SOLV(JSW,MM)
COM1MCN / NAMES / WHX,WHY,iIN7X,WINTYWCORR,WNBOX,WFLUXvWMAT,x WFISSWRHS,WSWBWPR EC, WOMGPWOMGDWALBXWALBYVEDX,WEDY
C3MMON / ORIGIN / K,KHY,KISTRX,KISTRY,KIENDX,KIENDY,KCORRKNBOX,X KFLUX,KMATKFISS,KRBS,KS1,KS2,KS3,KBKPREC,KOMGPKOMGD,X KALBX, KALBY, KEDX, KEDY, KTP,KSA 1
COMMON / FIXED / NINNE?,NCUI,N1,N2,N3,N4,DIFSSDIFTDRHOND1X,X ND2XNP11,NP2XNPXY,IBCL,IBCBNCPXXKEFFITSIPERTNCOMP,X TST, rFIIN, TIME,SIGlSIG2, ITRANS,NTD,NDEL,BETA(6), RL AM(6),X VIN(2),DELT (5),NUMS(5) ,NEDXNEDYNALB,BTOT,DTDTI,IEDTS
LOGICAL JSWCOMMON A(1)
CC IF JSW IS TRUE, SET W TO ONE FOR ALL INNERSC MM IS THE INNER ITERATICN CCUNTE?C FIST GO THROUGH RED SQUABES, THEN BLACK
TF(MM .NE. 1) GC TO 5W=1. .G! TO 6
5 W=1 .0/ (1 .0-RHO*WLAST*0 .25)6 TF(JSW) W=1.0 C
DO 20 NP2=1,NP2XNN=NP2-(NP2/2)* 2IF(NN .f0. C) GO TO 21NPX1=2NPX2=N3GO TO 30
21 NPX1=1NPX2=N4
30 CALL ROW(NPX1,NPX2,NP2,W,A(KFLUX) ,A(KMAT),A(KRHS),NP1X,X A(KISTRX+NP2) ,A(KIENDX+NP2)
20 CONTINUEWLAST=W
SOLVO001SOLV0002SOLY0003SOL V00014SOLV0005SOLV0006SOLV0007SOLV0008SOLV0009SOL VO0 10SOLV0011SOLV0012S0LVO013SOLVO014S0LVO015SOLV0016SOLVO017SOLV0018SOLVO019SOLV0020SOLV0021SOLV0022SOLV0023SOLVO024SOLV0025SOLVO026SOLV0027SOLV0028SOLV0029SOLV0030SOLVO031SOLV0032SOLVO033SOLV0034SOLV0035SOLV0036
IF(MM .NE. 1) GO TO 7W=2.0/ (2.0-RHO)30 T0 8
7 W=1.0/(1.0-RHO*WLAST*O.25)8 IP(JSW) W=1.0
DJ 40 NP2=1,NP2IXNN=NP2-(NP2/2)*2IF(NN .EQ. 0) GO TO 41NPX1=1NPX2=N1GO TO 50
41 NPX1=2NPX2=N2
5m CALL POW(NPX1,NPX2,NP2,W,A(KFLUX) ,A(KMAT),A(KRHS),NP1,X A (KISTRX+NP2) ,A (KIENLX+NP2))
40 CONTINUEWLAST=WR 7TURNFND
SOLVO037SOLV0038SOLVO39SOLVO040SOLV0041SOLVO042SOLV0043SOLVO044SOLV0045SOLVO046SOLV0047SOLV0048SOLVO049SOLV0050SO-LV0051SOLV0052SOLV0053SOLYO054SOLVO055
I M
,
cp
SUBROUTINE BUCK(XMAT,B,F,HX,HY)
COMMON / NAMES / WHXWHY,WINTXWINTYWCCRRWNBOX,WFLUXWMAT,x WFISSvWRHSWS,WB,WPPEC,WOMGP,WOMGD,WALBX,WALBY,WEDX,WEDY
COMMCN / ORIGIN / KHXKHY,KISTrX,KISTRY,KIENDX,KIENDYKCORR,KNB0X,,x KFLUX, KMATI,KFISSKRHSKS1,KS2, KS3,KB,KPRECKOMGPKOMGD,X KALBXKALBYKEDXKEDY,KTEMPKSA1CD MMON / FIXED / NINNER,NCUT,N1, N 2, N3, N4,DIFSSDIFTDRHO,ND1X,
X ND2XNP1lXNP2X. NPXYIBCL,IBCBNCPXXKEFITSIPERTNCOMP,X TSTTFINTIMSIG1,SIG2,TRANSNIDNDELBETA(6),RLAi(6),y VIN(2),D7LT(5),NUMS(5),NEDX,NEDYNALB,3TOT,DTDTI,IEDTS
COMMON IDAT(1)DIMENSICN XMAT(1),B(4,1),F(2,1),HX(1),HY(1)
ZERC=c.C
FI ST CALCULATE X DIFECTED LEAKAGES
DO 10C NP2=1,NP2XIS=IDAT(KISTRX+NP2)IE=IDAT (KI ENDX+NP2)D,' -100 ND1=IS,IENP1=NDl-1NPP= (NP2-1) *NP1X+NP1J= (NPP-1) *52
51 NPPL=NPP-1NnPe=Npp+1X1=ZEROX2=ZEROCZ1 =ZE BcZ2=ZER CX5=Z RCX6=ZEPCZ5=ZERC36=ZE PC
BUC KO0001BUCKOO02BUCK0003BUCK0004BUCK0005BUZK0006BUCK0007BUC KO0008BUCK0009BUCK0010BUCK001 1BUCKOO12BUCKOO1 3BUCK0014BUCK0015BUCK0016BUC K0017BUCK0018BUC K00 19BUCK0020BUCK0021BUCK0022BUCK0023BUICK0024BUCK0025BUCK0026BUCK0027BUCK0028BUCK0029BUZK0030BUCK0031BUCK0032BUC6 K0033BUCK0034BUCK0035BUCK0036
C
C
C
IF(ND1 .EQ. IS) GO TO 10X1=XMAT(5+J)*F(1,NPPL) +XMAT (6+J)*F(2,NPPL)X2=XMAT (7+J) *F(1, NPPL) +XMAT( R+J) *F(2, NPPL)Z1=XMAT(29+J)*B(3,NPPL)+XMAT(30+J)*B(4,NPPL)Z2=XMAT(31+J)*B(3,NPPL)+XMAT(32+J)*B(4,NPPI)
10 X3=XmiAT(21 +J) F (1 NPP) +XMAT(22+J) *F(2, NEP)X4=XMAT (23+J) *F (1,NPP) +XMAT(2 4+J) *F(2, NPP)Z3=XIAT (33 +J) *B(3, NPP) +XMAT(34+J) *B (4, NFP)Z4=XMAT(35+J) *B(3,NP?) +XrMAT(36+J) *B (4,NPP)IF(ND1 .EQ. IE) GC TC 11X5=XMAT(9+J)*F(1,NPPR)+XMAT (1C+J)*F(2,NPPR)X6=XMAT(11+J)*F(1,NPPR)+X MAT(12+J)*F(2,NPPP)Z5=XMAT(37+J)*B(3,NPPR)+XMAT(38+J)*B(4,NPPR)Z6=XMAT(39+J)*B(3,NPP F)+XMAT(40+J)*B(4,NPPR)
11 S1=(X1+Z1+X3+Z3+X5+Z5)/HY(NP2)S2=(X2+Z2+X4+Z4+X6+Z6)B(1,NPP)=S13(2,NPP)=S2
100 C0NTINUE
/HY (4P2)
BUCK0037BUCK0036BUCK00 39BUCK0040BUCK004 IBUCK0042BUCK0043BUCK0044BUJCK0045BUCK0046BIJCK0047BUCK0048BUCK0049BUCK0050BUCK0051BUCK0052BUCK0053BUCK0054BUCK0055BUCK0056BU K0057BUCK0058BUCK0059BUCK0060BUCK0061BUCK0062BUCK0063BUCK0064BUCK0065BUCK0066BUCK0067BUCK0068BUCK0069BUCK0070BUCK0071BUCK0072
CC NOW DO LEAKAGES IN THE Y DIPECTIONC
DO 200 NP2=1,NP2XIS=IDAT(KISTRX+NP2)IE=IDAT (KI ENDX+NP2)DO 200 ND1=IS,IENP1=ND1-1NPP= (NP2-1) *NP1X+NP1J= (NPP-1)*52
50 NPPL=NPP-NP1XNPPR=NPP+NP1XX1=ZEROCX2=ZERCZ1=ZEROZ2=ZEPCX5=ZERC
X6=ZEROZ5=ZEPROZ6=ZEROIF(NP2 .EQ.X1=MAT(13+J)
2=XMA T (1 5+J)Z1=XiAT(41+J)Z2=XMAT(43+J)
12 X3=XMAT(25+J)X4=XMAT (27+J)Z3=XMAT(45+J)
1) GO TO 12*F (1,NPPL) +XMAT (14+J) *F (2,NPPL)*F (1, NPPL)+XMAT (16+J) *F (2,NPPL)*B (1,NPPL)+XMAT(42+J) *B(2,NPPL)*B (1,NPPL) +XMAT (44+J) *B (2,NPPL)*F(1,NPP)+X[MAT(26+J)*F(2,NPP)
*F(1,9NPP) +XMAT(28+J) *F (2,NPP)*B(1,NPP) +X MAT(46+J) *B(2,NPP)
Z4=XM AT(47+J) *B(1,NPP) +XM AT(48+J)*IF(NP2 .EQ. NP2X) GO TO 13X5=XMAT (17+J) *F(1, NPPR) +XMAT (18+J)X6=XMAT(19+J)*F(1,NPPR)+XMAT (20+J)Z5=XMAT (49+J) *B(1, NPPR) +XMAT (50+J)Z6=XMAT(51+J) *B (1 ,NPPR) +XMAT (52+J)
13 S1=(X1+Z1+X3+Z3+X5+Z5)/HX(NP1)S2= (X2+Z2+X4+Z4+X6+Z6)/HX (NP1)B(3,NPP)=S1B (4, NPP)-=S2
200 CONTINUERETURNEND
B(2, NPP)
*F(2,NPPR)*F(2,NPPR)*B(2,NPPR)*B (2, NPPR)
BUCK0073BUCK0074BUCK0075BUCK0076BUKO077BUCK0078BUCKOO79BUCK0080BUCK0081BUCK0082BUCKOO83BUCK0084BUCK0085BUCK0086BUCK0087BUCK0088BUCK0089BUCK0090BUCK0091BUCK0092BUCK009 3BUCKOO94BUCK0095BUCK0096
cU,
SU3EOUTINE RCW(NPX1 ,NPX2,NP2,W,FLUX,XMAT,RHS,NP1X,ISTR,IEND)
NP=(NP2-1) *NP1XDC 10 I=NPX1,NPX2,2K=I+ 1-F(K .LT. ISTP .CR.NPP=NP+INIP=NPP+NP1XNDN=NPP-NP1XNL=NPP-1NP=NPP+1J= (NPP-1)*52SUM1=XMATSUM2=XMATSUM3=XMATS TYM4= X MATST M5=XMATSUM6=XMATSUM7=XMATSUM8=XMAT
K .GT. TEND) GO TO 10
(J+17) *FLUX (1 ,NUP) +XMAT(J+ 18) *FLUX (2,NUP)(J+19) *FLUX (1 ,NUF) +XMAT(J+20) *FLUX (2,NUP)(J+9)*(J+11)(J+5)(J+7)*(J+13)(J+15)
FLUX (1,NrP) +X MAT(J+10)*FLUX (2,NR)*FLUX (1, NR) +XM'AT (J+12) *FLUX (2, NF)FLUX (1, NL) +XIAT(J+6) *FLUX(2,NL)FLUX (1, NL) +XMAT(J+8) *FLUX(2, NL)*FLUX (1 ,NDN) +XMAT(J+ 14) *FLUX (2,NDN)*FLUX (1,NrN)+XMAT(J+16)*FLUX(2, NDN)
RHS1=RHS (1,NPP) -SUIM1-SUM3-SU'5-SUM7-RIS2=PHS (2,NPP) -SUM2-SUM4-SUM6-SUM8-F1=XMAT(J+1)F2=XMAT (J+2)F3=XMAT(J+3)F4=XMAT (J+4)E1=F1*RHS1+F2*RHS2E2=F3*RHS1+F4*RHS2FLUX (1 ,NPP) =W*E1+ (1. 0-W) *FLUX (1,NPP)FLUX (2 , NPP) =W*E2+(1 .0-w) *FLUX (2,NPP)
10 CONTINUEYETURNEND
RHS(3,NPP)RHS(4,NPP)
CD-bIMENSION FL X 2 1 , S(,) X A 1)
ROWS0001ROWS0002POWS0003ROWS0004RCWLS0005ROWS0006ROWS0007ROWS0008ROWS0009ROWS0010ROWS0011ROWS0012ROWS0013ROWS0014ROWS0015ROWS0016ROWS0017ROWS0018ROWS0019ROWS0020ROWS0021ROWS0022ROWS0023ROWS0024ROWS0025ROWS0026ROWS0027ROWS0028ROWS0029ROWS0030ROWS0031ROWS0032ROWS0033ROWS0034ROWS0035
0N
SUBROUTTNE CUTERS(ICT,SCRC,SORC1,S0RC2,NPXY,IRETRN,DIF,X DIFLANXKEFF)
PTMENSION SCPC(1),SCRC1(1),S'5RC2(1)IS-IX=6ININ=9TTW=12NO UTBA=4FISMON=1.0E-C6It?(IOT .NE. 1) GC TC 10WRITF(6,660)
660 FORMAT(1H0,5X,'CUTFR ITERATION OUTPUT ',//)EFFK=1.0SIGMA=0 .0SIGBAR=0.0FISMIN=FISMCNFLAMDA=1.0FISLNN=C.0F'TSLNO=O.OEPRATN=1.0ERRAT=1 .0
10 CONTINUEDIFKEF=0. fGAMiMAN=0. CGAMMAD=0.0FLAMUP=0.0FLAMLC=1 . OE+20FFRATD=ER9AINFTSLNO=FISLNNFISLNN=0.0F RS L N 1N = C .0ARRATN=0.0TF (IOT .GT. NOUTBA) GO TO 110
100 CONTINUENDRDCP=0,WCP=1
LPH AC=C.-
OTRS00010TRS0002OTRS0003OTRS0004OTRS0005OTRS0006OTRS0007OTRS0008OTRS0009OTRS0010OTRS0011OTRS0012OTRS0013OTRS0014OTRS0015OTRS0016OTRS0017OTRS0018OTRS0019OTES0020OTRS0021OTRS0022OTRS0023OTRS0024OTRS0025OTRS0026OTRS0027OTRS0028OTPS0029OTRS0030OTRS0031OTRS0032OTRS0033OTRS0034OTRS0035OTRS0036
~-1
BETAC=3.CG7' TO 130
10 CONTINUEIF(NEWCP .EQ. 1) GO TO 120NORDCP=NORDCP+1CALL CHEBE(ALPHACBETAC, NOERDCP,SIGMA)G0 TO 130
120 ERPROD=1.0N)RDCP=1S7GMA=SIGBAPIF(SIGMA .GT. 1.0 .OR. SIGMA .LT. 0.4) GO TC 100IF(IOT .LE. ISIX) SIGMA=AMIN1(SIGMA,0.9)IF(IOT .LE. ININ) SIGMA=AMIN1(SIGMA,0.95)IF(IOT .LF. IIW) SIGMA=AMIN1(SIGMA,0.985)SIGMA=AMIN1(5IGMA,0.999)NFWCP=0CALL CHEBE(ALPHACBETACNCRDCP,SIGMA)
13 C)NTINUEASSIGN 15C TO NS1IF (BETAC .LF. 1.0) ASSIGN 16) TO NS1Iv(NORDCP .EQ. 0) ASSIGN 170 TO NS1
CC==== BEGIN THE SWEEP OVER THE MESHC
DD 31C NPP=1,NPXYFISNS=SORC(NPP)FISN2=FISNSFROM1S=SORC1 (NPP)IF(IOT .EQ. 1) FISLNC=FISLNO+FROM1SFISM1S=FROM1SFISDEL=FISNS-FROM1 SER? RA TN=FRR ATN+FISDEL* FISDELFISM2S=SORC2 (NPP)SORC2 (NPP) =FROM1ST'(FISM1S .LE. FISMIN) GO TC 140PATO=FISNS/FISM is
OTRS037OTRS0038OTRS0039OTRS0040OTRS0041OTRS0042OTRS0043OTRS0044OTRS0045OTRS0046OTRS0047OTRS0048OTRS0049OTRS0050OTRS0051OTRS0052OTRS0053OTRS0054OTRS0055OTRS0056OTRS0057OTRS0058OTRS0059OTRS0060OTRS0061OTRS0062OTRS0063OTRS0064OTRS0065O TR SO 066OTRS0067OTRS0068OTRS0069OTRS0070OTRS0071OTRS0072
00
FLAMUP=AMAX1 (FLAMUP,RATC)FLAMLO=AMIN1 (FLAMLO ,RATC)
140 GAMMAN=GAMMAN+FISNS*FISNSGAMMAD=GAMMAD+FISM1S*FISNSIF(NORDCP .LE. 0) GO TO 180GO TO NS1,(150,160,170)
150 FISNE=FISM1S+ALPHAC*(FISK S-FISM1S)+BETAC*(FISM1S-FIS M2S)GO TO 170
160 FTSNE=FISM1S+ALPHAC* (FISNS-FISM1S)170 CONTINUE
IF(FISN. .LF. C.0) FISNE=ABS(FISNE)180 CONTINUE
SORC (NPP) =FISNESORC1 (NPP) =FISNEFISLNN=FISLNN+FISNE
190 CONTINUE310 CONTINUE
D) UM 2 = FLA MD A*GA M MA N/G AM MADDIFKEF=ABS (DUM2-EFFK)?FFK=DUM2FLAMDA=FLAMDA*FISLNN/FISLNODTFLAM= (FLAMUP-FLAMLO)/2.0DIFFIS=SQRT(ERRATN/GAMMAD)IF(IOT .GT. 1) ERRAT=SQRT(ERRATN/ERRATD)IF(NOPDCP-1) 220,230,240
220 SIGBAR=ERRATGO TO 250
230 EPPROD=1.0GO TO 250
240 FRPROD.=ERPROD*ERRATNPM1=NORDCP-1DUM3=FLOAT(NPM1)DUM4= (2.0-SIGMA)/SIGMACPM1=COSH1(DUM3*DACOSH(DUM4))IF(ERPRCD*CPM1 .LT. 1.0) SIGBAR=SIGMA*(COS(ARCOS(CPM1*ERPROD)/
X DUM3)+1.0)/2. 0
OTRS0073OTRS0074CTRS3075OTRS0076OTRS0077OTRS0078OTRS0079OTRS0080OTRS0081OTRS0082OTRS0083OTRS0084OTRS0085OTRS0086OTRS0087OTRS0088OTRS0089OTBS0090OTRS0091OTRS0092OTRS0093
OTRS0094OTRS0095OTRS0096OTRSO097OTRS0098OTRS0099OTRS0100OTRS0101OTRS0102OTRS0103OTRS0104OTRS0105OTRS0106OTRS0107OTRS0108
F(ERPROD*CPM1 .GE. 1.0)X SI'TGAR=SIGMA*(COSH1 (DACCSH(ERPOD*CPM1)/DUM3)+1.0)/2.0IF(NOEDCP .LT. 3) GO TO 250IF(ERPROD .LT. (1.0/CPM1)) GO TO 250NIWCP=1
250 IR3TRN=C0IT(IOT .?Q. 1) GO TO 270IF(DIFLAM .LE. DIF) IRETRN=1
270 XKEFF=FLAMDAIF(IRETRN .EQ. 1) XKEFF=EFFKWRITE(6,661) IOTNORDCPSIGMAEFFKXKEFF
661 tRMAT(6X,2I1C,5X,E12.4,5XE15.7,5X,E15.7)RESTURN?ND
OTRS0109OTRSO 110OTRSO 111OTRSO 112OTRS0113OTRSO 114OTRS0115OTRS0116OTRSO 117OTRS0118OTRS0119OTRS0120OTRS0121OTRS0122
--jCD
----------
SUBROUTINE CHEBE(ALPHACaBkETAC,NORDCP,SIGMA)IFP(NOBDCP .GT. 1) GO TC 100ALPHAC=2. 0/(2.0-SIGMA)BETAC0=0.0RET URN
100 COSHGM=(2.0-SIGMA)/SIGMAGAMtIA=DACOSH (COSHGM)ALPHAC=4.G*COSH1 ((NORDCP-1) *GAMMA) /(SIGMA*COSH1 (NORDCP*GAMMA))BETLC= (1 .0-C.5*SIGMA) *ALPHAC-1. 0RETURNEND
CHEB0001CHEB0002CHEB0003CHEB0004CHEB0005CHEB0006CHEB0007CHEB0008CHEB0009CHEB0010CHEB0011
-.4
NCTITCN CCSH1(X)c23SH1=CCSH(X)
-TUn
COSHOO01COSHOO02COSHOO03COSHOO04
FU NC1T 0N DACCSH (K)DACSH=ALCG(X+SQRT (X*X-1 .0))RTU N
DACH0001DACHO002DAH0003DACH0004
SU3ROUTINE CPUT(CI'IME)CALL TIMING (IT) -CTIIE=FLOAT (IT-ITT) . 1RETURNENTRY CPUTOCALL TIMING(ITT)RETURNEND -
CPUTJ001CPUT0002CPUT0003CPUT0004CPUT0005CPUTOC06CPUT0007CPUT0008
4-
C
SUBEC0TINE EDIT(ND1X,NE2X,NEDX,NEDYITS,NPXYFLUXFISS,S,NX,X NY,ST'lR,BUCK,TIMEHXHY,TEMP)
C0MMON / THFEED / ITHFBXNUWPCCEPSILALFAGAMMATREF
DIMENSICN FLUX(2,ND1X,1),FISS(2,ND1X,1),S(ND1X,1),TEMP(ND1X,1)DIMENSION NX(1),NY (1),STOR(NEDXNEDY),BUCK(4,ND1X,1),HX(1),HY(1)TF(ITS .NE. 0) GO TO 26TTOT=C .CHrOT=0.0Dn 210 NP2=1,ND2XDO 210 NP1=1,ND1XX=?LUX(1,NP1,NP2)*PISS(1,NP1,NP2)+FLUX(2,Np1,NP2)*FISS(2,NP1,NP2)X=X/XNUS(NP1,NP2)=XI(X .LE. 0.0) GO TO 210XIT=XTOT+XHH=HX(NP1)*HY (NP2)HTOIl=HTOT+HH
210 q0NTINU"PI = (HT'T*WPCC)/(XTOT*EPSIL)DO 220 NP2=1,ND2XDC) 220 NP1=1,ND1XFLUX(1,NP1,NP2)=FLUX(1,NP1,NP2) * PTOTFLUX(2,NP1,NP2)=FLUX(2,NP1,NP2) * PTOT
220 S(NP1,N'P2)=S(NP1,NP2) * PTOTDO 221 NP2=1,ND2XDO 221 NP1=1,ND1XDO 221 L=1,4BUCK (LNP1,NP2) =BUCK (LNP1,NP2)*PTOT
221 CONTINUFGO TO 26
25 WRITE(6,260)260 FORMAT(1HO,5X,
NP1',5X,'NP2',5X,'FLUX1*,8X,'FLUX2',8X,'LEAKAGES ,-461,X 'POWER FRACTION',//)
EDIT0001EDIT0002EDITO003EDIT0004EDIT0005EDIT0006EDIT0007EDIT0008EDIT0009EDIT0010EDIT0011EDITO012EDIT0013EDITO014EDIT0015EDIT0016EDIT0017EDIT0018EDITO019EDITO020EDIT0021EDIT0022EDIT0023EDIT0024EDITO025EDIT0026EDIT0027EDITO028EDIT0029EDITO030EDIT0031EDIT0032EDIT0033EDIT0034EDIT0035EDIT0036
-. 1
DO 23f NP2=1,ND2XDO 23P, NP1=1,N!D1X
230 WRITE(6,250) NP1,NP2,PLUX(1,NP1,NP2),FLUX(2,NP1,NP2),X (BUCK(KNP1,NP2),K=1,4),S(NP1,NP2)
250 FORMAT (6X,2I5,3X,7E14.6)27 D0 10 J=1,NEDY
DO 10 I=1,NYDX1" STOR(I,J)=0.0C
DC. 11 U'=1,tNEDY
IF(J .NE. 1) JJ1=NY(J-1)+1IF(J .Eo. 1) JJ1=lJJ2=NY (J)DO 11 I=1,NEDXIF(I .NE. 1) II1=NX(I-1)+1IF(I .EO. 1) I11=1II2=NX (I)TOT=0.0DO 12 JJ=JJ1,JJ2DO 12 II=II1,IT2
12 TOT=TOT+S(II,JJ)11 STOR (I,J)=TCT
WRITE(6,15)15 FORMAT(1HC,5X,'BOX POWERS',//)
D) 16 JJ1,NEDYJ=NEDY+1-JJ
16 WRITE(6,17) Jr (STO0R (IvJ),I= 1,rNED X)17 F3RMAT(1HC,3X,I5,2X,3 (2X,10 E12.4,/))
TF(ITHFB .FQ. 0C) R1eTURNWRITE(6,140)
140 FORMAT (1PC,5X,'BCK TEMPERATURES',//)DO 141 JJ=1,NT2XJ=ND2X+1-JJ
141 WRITE(6,#142) J, (TEMP (IJ) ,I=1,ND1X)142 FORMAT (3X, 13,3 (2X, 11 El 1. 4,/))
R FT UR26 XTOT=0.0
EDIT0037EDIT0038EDIT0039EDIT0040EDIT0041EDIT0042EDIT0043EDTT0044EDIT0045EDIT0046EDIT0047EDIT0048EDIT0049EDITO050EDIT0051EDIT0052EDIT0053EDIT0054EDIT0055EDIT0056EDIT0057EDIT0058EDIT0059EDIT0060EDIT0061EDIT0062EDIT0063EDIT0064EDTT0065EDIT0066EDIT0067EDITO068EDIT0069EDITO070EDIT0071EDIT0072
-4
HTOT=0. CDO 170 NP2=1,ND2XDD 170 NP1=1,ND1XX=FLUX (1 NP1,NP2) *FISS (1, NP1, NP2) +FLUX (2,NP1, NP2) *FISS (2,NP1,NP2)X=X/XNUIF(X .LE. 0.0) GO TO 175XTOT=XTOT+XiH=H X (NP1) *HY (NP2)H4TOT=HTOT+HHX=X/H HS (NP1,NP2) =X4PSILG) TO 170
175 S(NP1,NP2)=0.C17 CONTINUE
P TOTXTOVT*EPSILP0 =PTCT/HTCT31RITE(6,28) ITS,TI1ME,PTOT,PM
28 F)RMAT(1HC,5X,'TIME STEP',15,3X,'TIIE ISX 'TOTAL PCWER ',E14.6,/,10X,'tEAN POWERIF(ITS .EQ. 0) GO TO 25GO TO 27END
*g
',
EDITO073EDIT0074EDIT0075EDI T0076EDIT0077EDIT0078EDIT0079EDITO080EDIT0081EDITO082EDITO083EDITO084EDIT0085EDIT0086EDIT0087EDITO088EDITO089EDIT0090EDITO091EDIT0092EDIT0093EDIT0094
,E 12.4,3X,E14. 6,//)
S'BcO.UTIN: TEANS
023i05 / NAMES / WHX,WHYWINTX,WINTY,WCORRWNBOXWFLUXuWMAT,X WFISSWRHS,WSWBWPREC,WOMGPWOMGDWALBXWALBY,WEDX,WEDYCOMMON / ORIGIN / KHX,KBY,KISTRXKISTRY,KIENDXKIENDYKCORRKNBOX,
X KFLUX,KMATKFISSKRHSKS1,KS2,KS3,KBKPREC,KOMGP,KONGD,X KALBXKALBY,KEDX, KEDY, KTEMP,KSA1:OMKCN / FIXED / NINNERNOUT,N1,N2,N3,N4,DIFSSDIFTDRHOND1X,
X ND2XNP1X,NP2XNPXY,IBCL,IBCB,NCPX,XKEFF,ITS, IPERT,NCOIP,X TST,TFINTIMESIG1,SIG2,ITRANSNTDNDELBETA(6),RLM(6),X VIN (2) ,DiELT (5) ,NUMS(5) ,NEDXNEDY,NALBBTOT,DTDTI,IEDTS
10MMON / THFEED / ITHiFB,XNUWPCC, EPSILALFAGAMMA,TREF
COMMON A(1)LOGICAL JSWJST,JENDLOGICAL JFRPSTIF(ITPANS .EQ. 0) STOP 1111CALL CPUTWRITE (6,450)
45A FORMAT(1H1,1CX,'START TRANSIENT CALCULATIONS',//)JSW=.FALSE.JST*=.FALSE.JEND=.FALSE.3T T=0. rDO 10 ND=1,NDEL
10 3TOT=BTCT+BETA(ND):T=NPXY*2T) 20 NP=1,T
2' A(KC9IGP+NP-1)=0.CT7 =NPXY*ND ELD! 3f) NP=1,IT
30 A(KCMGD+NP-1)= .TIMF=0- .
CALL PEPTO(A(KCORR))CA.LL PREC0 (A(KPREC) ,A(KFLUX) ,A(KISTRX) ,A(KIENDX) ,A(KFISS) v
CTRNS0001TRNS0002TRNSO003TRNS0004TRNS0005TRNS0006TRNS0007TRNS0008THNS0009TRNS0010TRNS0011TRNS0012TRNS0013TRNS0014TRNS0015TRNS0016TRNS0017TRNS0018TRNS0019TRNS0020TRNS0021TRNS0022TRNS0023TRNS0024TRNS0025TRNS0026TRNSC0027TRNS0028TRNS0029TRNS0030TRNS0031TRNS0032TRNS0033TRNS0034TRNS0035TRNS0036
00
X BETA,PLAM,NP1X,NP2XNDL,XKiEFF)0 100 NTTD=1,NTD
NSTEP=NUMS (NTTD)DT=DELT (NTTD)DTI=1.O/DTDO 20C NST=1,NSTEPTIME=TIME+DTITS=ITS+1CALL PEPT(A(KCORR) ,JSTJEND)CALL T*ER(A(KISTPX),A(KIENDX) ,NP1X,NP2X,A(KNBOX),A(KCORP) r
X A(KSA1),ND1X)CALL FDBK(A(KSA1),A(KTEMP),A(KS3) ,A(KISTRX),A(KIENDX),NP1X,NP2X,
X A(KNBCX) ,A(KCORR),ND1X)CALL MATRXJIRST=.FALSE.IF(NST .GT. 1 .OR. NTTD .GT. 1) GO TO 50CALL DORPESJFrIRST=. TRUE.
50 CONTINUECALL RHST(A(KRHS),A(KFLUX),A(KPREC) ,A(KS1) ,A(KS2) ,RLAMA(KISTRX),
X A(KIENDX),A(KHX),A(KHY),NP1X,NP2XNDEL,VINDT)CALL FEX'(A(KFLUX) ,A(KB) ,A(KOMGP) ,A(KISTRXv),A(KIENDX),NP1X,NP2X,
X DT)CALL INNFEES(JSW)CALL PREC1 (A(KPPlC),A(KFLUX),A(KS1),A(KS2),A(KOMGP), A(KOMGD),
X A(KISTRX),A(KIENDX),A(KFISS),BETARLAMNP1X,NP2XNDELXKEFFDTI)CALL TEMP (A (KFLUX), A (KFISS) ,A (KR1X) , A ((KHY), A (KISTRX),
X A(KIENDX),NP1X,NP2X,A(KI EP),A(KS3),A(KS1),DT,JFIRST)I= (ITS/IEDTS) *IEDTS-IT3I (I .EQ. 0) CALL EDIT (NP1X, NP2X, NEDX,NEDY, ITS, NPXY, A (KFLUX),
X A(KFISS),A(KS1),A(KEDX),A(KEDY),A(KS2),A(KB),TIME,X A(K HX),A(KHY),A(KTEMP))
200 CONTINUE100 CONTINUE
CALL CPUT(CTIME)WRITE(6,1) CTIME
TRNS0037TRNS0038TRNS0039TRNS0040TRNS0041TRNS0042TRNS0043TRNS0044TRNS0045TRNS0046TRNS0047TRNS0048TRNSO049TRNS0050TRNS0051TRNS0052TRNS0053TRN'S0054TRNS0055TRNS0056TRNS0057TRNS0058TRNS0059TRNS0060TRNS0061TRNS0062TRNS0063TRNS0064TRNs0063TRNS0066TRNS0067TRNS0068TRNS0069TRNS0070TRNS0071TRNS0072
1 RMA (1M9,Xf,' TIME TO DC T7 A N3EN TRET URN
IS' ,i212.4) TENS0073TRNS0074T RN S0075TRNS0076END
oo
S'i3FUTINE TFER (ISTR,IEND,alX,NP2XNBCXCPR,SA1,ND11)DT-I ENSION ISTR(1),IEND (1),N (ND1X,1),rSA1(1),oCORtR(8, 1)D" 10 NP2=1,NP2XND2=NP2+ 1TS=ISTR (ND2)IE=IEND(ND2)DO 20 ND1=IS,IENP1= ND 1-1K=NBCX(ND1,ND2)NPP= (NP2-1) *NP1X+NP1SA1 (NPP) =CCRP (2,K)CONTINUECONTINUERFTURNEND
TFERC001TFEROOO2TFERCc03TFER0004TFER0005TFER0006TFER0007TFER0008TFER0009TFER0010TFERCO 11TFER0012TFER0013TFEROO14TFER0015
10
SUBROUTINE PREC0(PEEC,FLUX,ISTr,IENDFISS,BETA,tRLAiNP1X,NP2X,X NDEL,RL)
DIMLNSION PREC(NDEL, 1),ISTR (1),jIE ND(1) ,Fiss(2,1),FLUX (2,1) ,X BETA(1),PLAM(1)
DO 10 NP2=1,NP2XTS=ISTP (NP2+1)IE=IEND(NP2+1)DO 20 ND1=IS,TENP1=ND1-1NPP= (NP2-1) *NP1X+NP1X= (FISS(1, NPP) *FLUX (1, NPP) +FISS (2 ,NPP) *FLUX (2,NPP) )/RlDO 30 ND=1,NDEL
30 PREC(ND,NPF)=(BETA(ND)/RLAM(ND))*X20 CONTINUE10 CONTINUF
RETURNEND
PRZ:00001PRC00002PR100003PRC00004PR 00005PRCOO006PR00007PRC00008PRC00009PRC 00010PRC00011PRC00012PRC00013PRC00014PRC00015PRC00016PRC 00017
00
SUB~C~t1TI~ £~(CC~RJ.3TJi~NJ)
COMMnN / FIXEL / NTNNER,NCUT,N1,N2,N3,N4,DIFSSDIFTD,RHOND1X,X ND2X,NP1X,NP2X,NPXYIBCL,IBCBNCPXXKEFF,ITSIPERTNCOMP,X TSTTFINTIME,SIG1,SIG2,ITRANS,NTDNDELBETA(6),RLAM (6),X VIN(2),DELT(5),NUMS(5),NEDX,NEDY,NALB,BTOTDTDTI,IEDTS
DIXENSION CCPP(8,1)L(GICAL JST,JEND
F(IPIERT .:Q. 1) GO TC 10T(JEND) RETURNIF(JST) GO TC 20
12 IF(TIME .LE. TST) RETURNJST=.TRUE.
20 IF(TIME .GT. TFIN) GO TO 21TOT=TFIN-TSTFRAC=(TIME-TST)/TCTCOR (2,NCOMP) =SIGB1 +SIG1*FRACCORR (6,NCOMP) =SIG32+SIG2*FRACRETURN
10 LIF(JST) RETURNTF(TIME .LE. TST) RETURNJST=.TRUE.CMRR (2,NCCMP)=CORP(2,NCOMF)+SIG1CORF (6,NCOMP)=COR (6,NCOMP) +SIG2RETURN
21 J7END=.TPTE-RET U RNENTRY PEPT0(CRR)SIGB1=COPR (2, NCOMP)STGB2=CCPR (6,NCOMP)RETURNEND
PERT0001PERTOOC2PERT0003-PERT0004PERT0005PERT0006PERT0007PERTO 008PERT0009PERT0010PERT0011PERT0012PERT0013PERTO014PERT0015PERT0016PERT0017PERT0018PERT0019PERTO020PERT00 21PERT0022PERT0023PERT0024PERT0025PERT0026PERT0027PERT0028PERTO029PERT0030PERT0031PERT0032PERT0033
C
00
BROUTINE F EIT(FlUCOPT 1,ENDNP1XNP2XDT)D- -TNS ION FLU X( 2,1),vBUCK (4, v1),r0MP(2,1),ISTR(1),IEND(1)Y3 10 NP2=1,NP2XIS=ISTR(NP2+1)I?=IEND(NP2+1)Dc' 20 ND1=ISTENP1=ND1-1NPP= (NP2-1) *NPT1X+NP1FAC1=EXP(OMP(1,NPP) *DT)?AC2=EXP(0MP(2,NPP)*DT)'FLUX (1,NPP)=FLUX(1,NPP)*FAC1FLUX (2, NPP) =FLrJX (2, NPP) *FAC2DO 30 ND=l,4
30 BUCK(NDNPP)=BUCK(NDNPP)*FAC220 CN TINUE10 C0NTINUE
R ETU RNEND
FiEXT0001FEXT0002FEXT0003FEXT0004FEXT0005FEXT0006FEXT0007FEXT0008FEXT0009FEXT0010FEXT0011FEXT0012FEXT0013FEXT0014FEXTOO15FEXT0016FEIT0017FEXT0018
00
_5B7 UTINL JH-T(iHS,FLUXPREC,SNC1,SORC2,RLAM,ISTRIEND,X HX,HY,NP1X,NP2XNDELVIND T )
DIMENSI-N RHS (4, 1),OFLUX (2,1),PR"C (NDEL, 1),oRLAM(1), ISITR(1),N IEND(1),HX(1),HY (1),VIN(1),SORC1(1),S0RC2(1)
DO 10 NP2=1,NP2XI!=ISTR (NP2+1)IE=IENiD (N P2+1)DO 20 FD1=IS,IENP1=ND1-1NPP= (NP2-1) *NP1X+NP1HH=HX (NP 1) *HY (NP2) /DTSJM1=FLJX(1,NPP) *HH*VIN (1)SU92=FIUX(2,NPP) *HH*VIN(2)DO 30 ND=1,NDEL
30 SUM1=SU1+(PREC(ND,NPP)*RLAM(ND))/(1.0+DT*RLAM(ND))RHS(1,NPP)=SUM1PHS (2,NPP) =SU#2SORC1 (N4PP) =FLUX(1,NPP)S1RC2(NPP)=FLUX(2,NPP)
20 CONTINUE10 CONTINUE
RE_7TURN
END
RHST0001RHST0002RHST0003RHST0004RHST0005RHST0006RHST0007RHST0008RHST0009RHST0010RHST0011RHST0012RHST0013RHST0014RHST0015RHST0016RHST0017RHST0018RHST0019RHST0020RHST0021RHST0022RHST0023
00U-'
SUBEDUTINE FDBK(SAl,TEM1P,SORC,tSTR,IEND,NP11,NP2X,X NBOX,CORF,ND1X)
COMMN / THFEED / ITdFB,XNU,WPCCEPSIL,ALFA.,GAMMATR EF
DlIMFNSION SAl (1) ,TEMP (1) ,SORC (1)DU ENSICN NB0CX(ND1X,1),CCRR(3,1)IF(ITHFB .EQ. C) ]RETURNSR=SQT (T EF)DO 12 NP2=1,NP2X
ISTR (1) ,IEND(1)
ND2=NP2+1IS=ISTR (ND2)IE=IEND(ND2)DO 20 ND1=ISIENP1=ND1-1NPP= (NP2-1)*NP1X+NP1TF? (SORC(NPP) .LE. 0.0) GO To 2)K=NBOX (ND1,ND2)SP1=COIRP (3,K)TOT=SA1(NPP)-Si1TOT=TCT* (1. 0+GAMMA* (SQRT (TEMP (NPP)) -SR))SA1(NPP)=TCT+SR1CONTINUECONTINUERETURN71N D
FDBK001FDBKO002FDBKO003FDBKO004FDBK0005FDBK0006FDBK0007FDBK0008FDBKO009FDBKO010FDBK0011FDBKO012FDBKO013FDBK0014FDBKO015FDBKO016FDBK0017FDBK0018FDBKO019FDBKO020FDBKO021FDBKO022FDBKO023FDBKO024FDBK0025FDBK0026
C
201?
00
SIB-DUTINE PREC1(RECFLUX,S--C1,SORC2,0MPCMD,ISTRIEND,FISS,X BETA,FLAM,NP1X,NP2X,NDEL,?L,DTI)DIMENSION PREC(NDZL,1),FLUX(2,1),SRC1(1),SORC2(1),3MP(2,1),
X O-MD (NDEL, 1),vI STzR(1),Mi D(1),F IS S(2, 1),BETA (1),#RLAM (1)DI 10 NP2=1,NP21IS=ISTR (NP2+1)I:,=IEND (NP 2+ 1)DO 20 ND1=IS,IENP1=ND1-1NPP= (NP2-1)*NP1X+NP1S1=FL17X (1,NPP)S2=FLIX ( 2 ,NPP)P1=S1/SOr'-C1 (NPP)F2=S2/SORC2 (NPP)IF(F1 .LEh. 1.0 .0B. F2 .LE. 1.0) GO TO 150M P (1 ,NPP) =D"I*ALOG (Fl)O MP(2, NPP) =DTI*ALOG (F2)GO TCn 5r
15 OMP (1,'LPP) =0. -0MP(2,NPP)=0.C
50 X1=(FISS(1,NPP)*FLUX(1,NPP)+FISS(2,NPP)*FLUX(2,NPP))/RLDD 30 ND=1,NDELX= (X1 BETA (ND)+DTI*PREC(ND,NPP))/(DTI+RLAM (ND))TF(X .LT. 1.0E-25) GO 10 31XOMG= (-RLAM (ND) *X+X1*BETA (ND) )/XOMD (NDNPP) =XCMG
31 P7,C(ND,NPP)=X30 CONTINUF20 CONTINUF10 C:NTINU
RFTURNEND
PR: 10001PRC10002PRC10003PRC 10004PR: 10005PRC10006PRO 10007PR: 10008PRC10009PRC10010PRC 10011PRCO 100 12PRC 10013PRC 100 14PRC1001 5PRC10016PR: 10017PRC10018PR-10019PRC 10020PRC 10021PRC10022PRC 10023PRC 10024PRC 10025PRC 10026PRC10027PRC10028PRC10029PRC10030PPC10031PR: 10032
00-- j
SU3RCUTINE TEMP (FLUX,FISS,H.,HY,ISTRTENDNP1 XNP2XTiPP,SCRC1,X SCRC2,DTJFIRST)
CC-MMON / THFEED / ITHFB, XNU,WPCC,EPSIL, ALFA,GAMMA,TREF
DIMENSICN FLUX(2,1) FISS (2,1) ,HK(1) ,HY(1) ,STR(1) ,IEND(1) ,TMPP(1)X SORC1(1),SORC2(1)LDGICAL JFIRSTIF(ITHFB .EQ. 0) RETURNDe 10 NP2=1,NP2XIS=ISTR (NP2+1)IE=IEND(NP2+1)DD 20 ND1=IS,IENP1=ND1-1NPP= (NP2-1)*NP1X+NP1X=FLUX (1, NPP) *FISS (1, N PP) +FLUX (2, NPP) *FISS (2, NPP)HH=HX (NP1) *HY (NP2) *XNUe NW=X/H iSO'LD=SORC1 (NPP)IF'(JFTRST) SCLD=SNEWSRALF= (SNEW+SOLD) *0.5SORC1 (NPP) =SNEWTNEW=TMPP(NPP)+ALFA*DT*SHALFTAPP (NPP)=TNEWC,'NTINUE
-ATURNFND
TEMPO001TEMP0002TEMP0003TEMP0004TEMP0005TEMP0006TEMP0007TEMPOOO8TEM P0009TEMPOO10TEMPOOl1TEMP0012TEMP0013TEMPO014TEMP0015TEMP0016TEMP0017TEMP(018TEMPOO19TEMP0020TEMP0021TEMP0022TEMP0023TEMP0024TEMP0025TEMP0026TE MPO027TEMP0028
0000
SIBROUTINEa CCRE
C-== STORAGE
CCfMMON DATA(1)I)AL BT(999),AT(99),A(1)TNTEGER DATAAV,KUT (999),ITYP(1),KXT(999)INTEGLR NT (999) ,ITYPET (99)
CCCCC=====GE~TC0 OC
EN2RY GETCO(KMAX)
CALL ZIGET (DATA(1) ,KMAX,4,KS,5100.,&905)KFIEE=KSKMX =KMAX+KS-1KS=KS+MOD(KS+1,2)KMAX=KMX-KS+1GO TO 900
CORE0031COEM002CORE0003CORE0004CORE0005CORE0006CORE0007COPE0008CORE0009CORE0010CORE0011CORE0012CORE0013CORE0014CORE0015CORE0016CORE0017CORE0018CORE0019CORE0020CORE0021CORE0022CORE0023CORE0024CORE0025CORE0026CORE0027CORE0028CORE0029CORE0030CORE0031CORE0032CORE0033CORE0034CORE0035CORE0036
C=========CLEAR
ENTRY CLEAR
IN=TOUT=6TERFL=0iXX=999D' 11C K=KS,KMX
00
110 DATA(K)=0DO 120 T=1,IXXBT (T)~CcNT (I) =0KOT(I) =0
120 KXT(I)=0I.,X=0
KLST=0JX=0IP=0JXX=99DO 125 1=1,JXXAT(I)=0.0
125 ITYPET(I)=0GO TO 900
CC
-=========FRE ATA SPACEC
ENTRY FEECORCALL ZIFREE (DArA(KFREE),&907)GO TO 9C
C
C=========ALLC CATEC
ENTRY ALOC(B,N,KORG,KN)KY=KN+ MOD (KN,2)IF(KY.LE.0) GO TO 903IF(N.LT.0) GO TO 900KAY=2ASSIGN 150 TC KAYPGO TO 300
15 IF(IX.EQ.0) KCRG=KSIF (IL.GT.0) KORG=KOT(IX) +KXT (IX)
COREA037CORE0038CORE0039CORE0040CORE0041CORE0042CORE0043CORE0044CORE0045CORE0046CORE0047CORE0048CORE0049CORE0050CORE0051CORE0052CORE0053CORE0054CORE0055CORE0056CORE0057CORE0058CORE0059CORE0060CORE0061CORE0062CORE0063CORE0064CORE0065CORE0066CORE0067CORE0068CORE0069CORE0070CORE0071CORE0072
0
KXP=KCRG+KY- 1IF(KXP.GT.KM.X) GO TO 901IF(KXP.GT.KLST) KLST=KXPIX=IX+1IF(IX.GT.IXX) GO TO 902BT (IX) =BNT (IX) =NKOT (IX) =KO)GKXT(TX)=KYIV(KAY .EQ. 7) GC TO 840'o TO 900
CCC=========LENGTH
ENTRY LENGTH(B,N,KXXX, *C
ENTRY FIND(B,N,KCRG,KEY=1ASSIGN 230 TO KEYPASSIGN 90' TC KOYP
2CC TS=MAXO(IP,1)IF (IS.GT.IX) IS=1IE=IX
205 DO 210 I=IS,IEIF(B.NE.BT(I)) GO TOIF(N.NE.NT(I).AND.N.i--
GO TO 220C
210 CIN"INUEIE=IP- 1TPn
*
)
CORE0073CORE0074CORE0075CORE0076CORE0077CORE0078CORE0079CORE0080COREOO81CORE0082CORE0083CORE0084CORE0085CORE0086CORE0087CORE0088CORE0089CORE0090COREO091CORE0092CORE0093CORE0094CORE0095CORE0096CORE0097CORE0098CORE0099CORE0100CORE0101CORE0102CORE0103CORE0104CORE0105CORE0106CORE0107CORE0108
)
2 10GO TO 210
Cl=========FIND
IF(S.EQ.1)
T0 O0 205
GC TC 220
220 -0 TO KEYP, (230,250,310,
230 IF(IP.NE.0)GO TO 999
231 KXXX=KXT(IP)KORG=KOT (IP)10 TO 900
560,620,670, 830,900)
GO TO 231
C=========FILLC
ENTFY FILL (B,N,KORGAV)K7Y=2ASSIGN 250 TC KEYPASSIGN 900 TO KOYPGO TO 200
250 IF(IP.EQ.O) GO TO 900KORG=KCT (IP)KX=KXT (IP)DO 260 K=1,KX
260 DATA(KOPG+K-1)=AVGO TO 90$
C
C=========DROPC
ENTRY DRCP(BN)290 KAY=1
ASSIGN 900 Tr KAYP3C0 K EY=3
ASSIGN 31C TC KEYP
C
C
CORE0109CORE0110CORE01 11COREO 112CORE0113COREO114CORE0115COREO 116CORE0117COREO 118COR E0119CORE0120COREO 121CORE0 122CORE0123CORE0124CORE0125CORE0126CORE0127CORE0128CORE0129CORE0130CORE0131CORE0132CORE0133CORE0134CORE0135CORE0136CORE0137CORE0138CORE0139CORE0140COREO 141CORE0142CORE0143CORE0144
C '
f~c
ASSIGN 9C00 TC KOYPGO TC 200
310 IF(IP.EQ.0)IF (KAY .NE.KK=KXT (IP)TF (KY .NE.AV= CGO TO 250
315 CCNTINUE
GC TC 3802) GO TO
K K) GO TO 315
IF(IP.EQ.IX) GO TO 350KL=KOT(IP+1)KH=KOT (IX) +KXT (IX) -1KX=KXT(IP)DO 320 K=KLKH
320 DAT A(K-KX)=DATA(K)KL=KH-KX+1DO 33C K=KL,KB
330 DATA(K)=1IL=TP+1DO 340 I=IL,IXBT(I-I)=ET(I)KOT (I-1) =KT(I) -KXNT (1-1) =NT (I)KXT (1-1) =-K-XT(I)
34% CONTINU-GO TO 370
350 KO=KOT(IP)KX=KXT (IP)Dl 3b0 K=1,KX
360 DAT'A(KO+K-1)=0370 BT(IX)=.0
NT (IX) =KT (IX) =0
C
COBREO 145CORE0146CORE0147CORE0148
CORE0149CORE0150COREO 151CORE0152CORE0153CORE0154CORE0155CORE0156CORE0157CORE0158CORE0159CORE0160COREO161CORE0162CORE0163CORE0164CORE0165CORE0166CORE0167CORE0168CORE0169CORE0170CORE0171CORE0172CORE0173CORE0174CORE0175CORE0176CORE0177CORE0178CORE0179CORE0180
C
C
to
rX T(IX) =IX=IX-1
380 GO TO KAYP, (150,510, 900)
c=========LISTC
ENTRY LIST385 IF(IX.LE.0) GC TC 900
WR IT3E(IO UT , 390) IX, (BT (I) , NT (I) ,KOT (I) ,KX T(I) , =1, IX)390 FORMAT(1HOI3,7H BLOCKS/5H NAME,8X,13HORIGIN LENGTH/
$ 1X,10H----------,2(2X,6H------)/(1X,A4,16,218))IF(IERFL.EQ.1) GO TO 386GO TO 900
---=COUNTC
ENTRY COUNTWTRITF(TOUT,500) KLST
500 FORMAT(28HOLAST DATA LOCATION USED WAS,16)
GO TO 900cCC-=========OPFNC
ENTRY OPFN(B,N,KORG)IF(N.LT.0) GO TO 900
KAY=3ASSIGN 510 TO KAYPGO TO 300
C51V TF(IX.EQ.0) KORG=KS
lF(IX.GT.0) KORG=KOT(IX) +KXT (IX)T V(IX.GE.IXX) GO TO 902
CORE0181CORE0182CORE0183CORE0184CORE0185CORE0186CORE0187CORE0188CORE0189CO2EO190CORE0191CORE0192CORE0193CORE0194CORE0195CORE0196CORE0197CORE0198CORE0199CORE0200CORE0201CORE0202CORE0203CORE0204CORE0205CORE0206CORE0207CORE0208CORE0209CORE0210CORE0211CORE0212CORE0213CORE0214CORE0215CORE0216
1.0
ST (IX+1)=BNT (:x+1)=NKT (TX+1) =KOPGGO TO 9 00
CCC=========CLCSEC
ENTRY CLCSE(B,N,KXN)IX=IX+1IFR(IX.G'.IXX) GO TO 902IF(B.NE.BT(IX).OR.N.NE.NT(IX)) GO TO 903KXX=KXN+MOD(KXN,2)+KOT(IX)-1IF(KXX.GT.KMX) GO TO 901KXT(IX)=KXX-KROT (IX) +1IF(KXX.GT.KLST) KLST=KXXGO TO 900
CCC=========CPYB
ENTRY COPYB(AA,M,BPNP,KORG, * )NCOPYB=1B= AAN=MKTY=21ASSIGN 830 TO IASSIGN 900 TO kGO TO 200
830 I?(IP.NE.O) G(GO TO 999
831 IF (NCOPYB. EQ. 2)B=B PN = -M P
CORE0217CORE0218CORE0219CORE0220CORE0221CORE0222CORE0223CORE0224CORE0225CORE0226CORE0227CORE0228CORE0229CORE0230COR E0231CORE0232CORE0233CORE0234CORE0235CORE0236CORE0237CORE0238CORE0239CORE0240CORE0241CORE0242CORE0243CORE0244CORE0245CORE0246CORE0247CORE0248CORE0249CORE0250CORE0251CORE0252
KEYPKOYP
TO 831
GO TO 832
to0c,
C
C
KY=KXT (P)KIV= 7ASSIGN 15030 TO 300
841' K2=K)RGNCOPYB=2B=AAN8= A1A
KEY=21ASSIGN 830ASSIGN 90030 TO 200
TO KAYP
TO KEYPTC KOYP
C832 K1=KOT(IP)
KX1=KXT(IP)D- 850 K=1,KX1
850 D:A(K2-1+K)=DATA(K1-1+K)GO TO 900
CCC=========CLIPC
FNTRY CLIP(B,N,KN)IF (KN.LE.0) GO TO 290KEY=18ASSIGN 560 TO KEYPASSIGN 900 TO KOYPGO TO 200
C560 IF(IP.LE.0) GO TO 900
IF(IP.LT.IX) GO TO 565IF (KN.GT.KXT(IP)) GO TO 904KH=KOT (IX) +KXT (IX) -1KXT(IX)=KN+MOD(KN,2)KL=KOT (IX) +KXT(IX)
CORE0253CORE0254CORE0255CORE0256CORE0 257CORE0258CORE0259CORF0260CORE0261CORE0262CORE0263CORE0264CORE0265CORE0266CORE0267CORE0268CORE0269CORE0270CORE0271CORE0272CORE0273CORE0274CORE0275CORE0276CORE0277CORE0278CORE0279CORE0280CORE0281CORE0282CORE0283CORE0284CORE0285CORE0286CORE0287CORE0288
%.0
D- 564 K=KLKHDATA (K) =0
554 CONTINUEG 'O 900
56r KL=KOT(IP+1)KH=KOT (IX) +PXT (IX)-1KX=KXT (IP) -KN-.IOD(KN,2)IF'(KX.LT.1) GO TO 904DO 570 K=KL,KB
570 DATA (K-KX) =DATA (K)KXT (P)= KN+MCD (KN, 2)IL=IP+1DO 575 I=ILIX
575 KOT (I) =KOT (I) -KXKO=KOI (IX) +KXT(IX)-1D' 580 K=1,KX
50 DATIA(KC+K)=GO TO 900
CC
-== SETNAMC
ENTRY SFTNAM(AITYP,JXP)IF(JXP.LT.1) GO TO 900KEY=6ASSIGN 900 IC KEYPASSIGN 600 TO KOYPDO 61( I=1,JXPAP=A (I)G3 TO 620
CIF(JP.GT.0) GO TO 610IF (JX+1.G T .JXX) GO TO 9C2JX=JX+ 11 P=J X
CORE0289CORE0290COREQ291CORE0292CORE0293CORE0294CORE0295CORE0296CORE0297CORE0298CORE0299CORE0300CORE0301CORE0302CORE0303CORE0304CORE0305CORE0306CORE0307CORE0308CORE0309CORE0310CORE0311CORE0312CORE0313CORE0314CORE0315CORE0316CORE0317CORE0318CORE0319CORE0320CORE0321CORE0322CORE0323CORE0324
'3
AT(JP)=APTTYPET" (JP) =ITYP(T)
610 CI"NTIN UEGO TO 900
CC---------SEARCH TABLE FCR AF. SET JP
620 JP=0Dn' 63C J=1,JXIF (AP.NE.AT(J)) GO TO 63CJP=JGn TO 64C
C630 CONTINUEC
640 30 TO KCYP, (600, 680,x 760,780,790,
750,90C)
CC=========-R I NT BLOCKC
ENTRY PRINT(B,N,IlX)KEY=8ASSIGN 670 TO KEYPASSIGN 680 TO KOYPGD TO 200
670 IF(IP.EQ.0) GC TO 900KORG=KOT(IP)LEN=KXT(IP)AP=BGO TO 62!
C6PC IF(JP.EQ.0) GC TO 90V
IF (JP.NE.0) TTYPL=ITYPET (JP)CALL GPRNT (B,N,LEN, KCRG ,ITYPE,I1X)
CORE0325CORE0326CORE0327CORE0328CORE0329CORE0330CORE0331CORE0332CORE0333CORE0334CORE0335CORE0336CORE0337CORE0338CORE0339CORE0340CORE0341CORE0342CORE0343COR E0 344CORE0345CORE0346CORE0347CORE0348CORE0349CORE0350CORE0351COPE0352CORE0353CORE0354CORE0355CORE0356CORE0357CORE0358CORE0359CORE0360
30 T3 900
cCC=========EXCHANGE NAME.C
ENTRY EXNAME(AA,M,BP,NP, * )KEY=14ASSIGN 620 TO KEYPASSIGN 780 TO KOYPNI=NpB=BPAP=BPGO TO 2C0
C75) IF'(IP.GT.0) GO TO 751
GO TO 999
751 T1P=TPJip=JPAP=AAK EY =15ASSIGN 620 TC KEYPASSIGN 760 TC KOYP3= AA
GC' TO 200C760 IF (IP.GT.0) GO TO 761
GO TO 999
761 BT(IP)=BT (I1P)NT (IP) =NT (TP)BT(I1P)=AANT (1P) mIF(J1P.GT.0) AT(J1P)=AAIF(JP.GT.O) AT(JP)=BP
CORE0361CORE0362CORE0363CORE0364CORE0365CORE0366CORE0367CORE0368CORE0369CORE0370CORE0371CORE0372COR E0373CORE0374CORE0375CORE0376CORE0377CORE0378CORE0379CORE0380CORE0381CORE0382CORE0383CORE0384CORE0385CORE0386CORE0387CORE0388CORE0389CORE0390CORE0391CORE0392CORE0393CORE0394CORE0395CORE0396
t~o
GO TO 900CCC=========R-NAMEC
ENTEY RENAME (AALo,BP,NP, * )KEY=16ASSIGN 620 SC KEYPASSIGN 78: TO KOYPB=BPN=NPAP=BGO TO 200
C780 CONTINUE
TF(IP.LE.O) GOGO TO 999
C781 IF(JP.NF.0) GO
JX=JX+ 1IF(JX.GT.JXX)JP=JXAT(JX)=AP
C
TO 781
TO 782
GC TC 902
CORE0397CCRE0398CORE0399COR E0400CORE0401CORE0402CORE0403CORE0404CORE0405CORE0406CORE0407CORE04-08CORE0409CORE0410CORE0411CORE0412CORE0413CORE0414CORE0415CORE0416CORE0417CORE0418CORE0419CORE0420CORE0421CORE0422CORE0423CORE0424CORE0425CORE0426CORE0427CORE0428CORE0429CORE0430COdEO431CORE0432
782 KEY=17ASSIGN 620 TO KEYPASSIGN 79') TO KOYP
B=AAGn TO 2CO
C79P CONTINUE
TF(IP.GE.1) GO TO 7913 ic 999
C
791 BT(IP)=B PNT (IP) =NPG30 TO 900
CC,-=========CCMPUTE CORE REMAININGC
ENTRY CREM (KXA)KXA=KMX- (KT (IX) +KXT (IX) ) +1
CCC=========FINISHEDC
900 RETURNCC
999 RETURN 1CCCC=========ERROR STOPSC
901 WRITE(IOUT,9010)9010 FORMAT(33HO*** CORE *** DATA ARRAY OVERFLOW)
TERFL=1GO TO 385
386 CONTINUEKXA=KMX-(KOT(IX)+KXT(IX))+1WRITE(IOUT,162) KXA
162 FORMAT(30X,29HOUNUSED CORE ( IN WORDS ) =,I10)STOP 1
902 WRITE(IOUT,9020)9"20 FORMAT(32HO*** CORE *** CATALOGUE OVERFLOW)
KXA=KMX- (KCT (IX) +KXT (IX) ) +1WRITE(IOUT,162) KXASTOP 1
CORE0433CORE0434CORE0435CORE0436CORE0437CORE0438CORE0439CORE0440CORE0441CORE0442CORE0443CORE0444CORE0445CORE0446CORE0447CORE0448CORE0449CORE0450CORE0451CORE0452CORE0453CORE0454CORE0455CORE0456CORE0457CORE0458CORE0459CORE0460CORE0461CORE0462CORE0463CORE0464CORE0465CORE0466CORE0467CORE0468
0
903 WRITE(IcUT,9030)903n, WORMAT(38HO*** CORE *** CLCSTNG, BLOCK IMPROPERLY)
KXA=KMX-(KOT (IX)+KXT(IX))+1WRITE(IOUT,162) KXASTOP I
904 WRITE(ICUT,9 0P40)904O FORMAT(33HO*** CORE *** IMPROPER CLIP ENTRY)
KXA=KMX- (KOT (IX) +KXT (IX) )+1WRITE(ICUT,162) KXASTOP 1
905 WRITE(ICUrT,9050)9050 FRMATr(41H0********** PROBLEM WITH ZIGET *******)
STOP 1907 WRITE(IOUT,9070)
9071) ?ORMAT(142H********** PROBLEM WITH ZIFREE **********)STC'P 1234
CORE0469CORE0470CORE0471CORE0472CORE0473CORE0474CORE0475CORE0476CORE0477CORE0478CORE0479CORE0480CORE0481CORE0482CORE0483CORE0484CORE0485
0
SUBROUTINE GPiNT(BL,NBL,LXKORG ,IDT,I1X)
O MMON DATA(1)INTEGER I4DATA(1)REAL R4DATA(1)DOUBLE PRiECISION n8DAIA(1)EQUIVALENCE (R8DATA(1),R4DATA(1),I4DATA(1),DATA(1))
INTEGER FVT 4 (5),FM TR 48( 7),INTGR (20)DATA FMTI4 / 20H(lH+,12X, 16/) /,
$ FMTR48 / 28H(1H+,11X, (1PE12.4)/)$ INTGR/ 80H 1 2 3 4 5 6$ 13 14 15 16 17 18 19 20 /
/I7 8 9 10 11 12
TN=5IOUT=6
L0=0LOX=0NPL= 10
LIX=I1 X
IF((IDT.GE. 1) .AND. (IDT .LE.3))WRITE(IOUT,9020) BL,NBLIDTGO TO 900
119 GO TO1 10 NPL=20
(12C, 110, 120
GO TO 109
),IDT
CC
120 I?(LIX.GT.1) GO TO 130
CGPRN0001GPRN0002GPRN0003GPRN0004GPRN0005GPRN0006GPRN0007GPRN0008GPR N0009GPRN0010GPRN0011GPRN0012GPRN0013GPRN0014GPRN0015GPRN0016GPRN0017GPRN0018GPRN0019GPRN0020GPRN0021GPRN0022GPRN0023GPRN0024GPRN0025GPRN0026GPRN0027GPRN0028GPRN0029GPRN0030GPRN0031GPRN0032GPRN0033GPRN0034GPRN0035GPRN0036
CC
C
CC
CC
C
01-
G: TO (121,121,122121 LIX=LX
GO 3o 3C0122 TX=LX/2
GO TO 300
130 GO TO (140,140,150140 LOX=LX/LIX
GO TO 160150 LX=LX/2
LOX=LX/LIX160 CONTINUE
300 WPITE(IOUT,6C10) BLNBLTF(LOX.EQ.0) GO TO 330WRITE(IO UT, 7010)
330 IPL=NPL/1030 TO (340,35C),TPL
340 WRITE(ICUT,7021)GO TO 360
350 WRITE(IOUT,7022)360 IF(LOX.EQ.0) GO TO 370
WRITE(IOUT,7030)37A) WRITE(IOUT,7040)
), IDT
), IDT
C
201 LO=LO+1
GO TO (204,204,205204 IR=(LC-1)*LIX+KORG-1
GO TO 206205 IR= (LO-1)*LIX+(KORlG-1) /2
), IDT
GPRN0037GPRN0038GPRN0039GPRN0040GPRN0041GPRN0042GPRN0043GPRN0044GPRN0045GPRN0046GPRN0047GPRN0048GPRN0049GPRN0050GPRN0051GPRN0052GPRN0053GPRN0054GPRN0055GPRN0056GPRN0057GPRN0058GPRN0059GPRN0060GPRN0061GPRN0062GPRN0063GPRN0064GPRN0065GPRN0066GPRN0067GPRN0068GPRN0069GPRN0070GPRN0071GPRN0072
0
206 IF(LOX.EQ.C) GO T 202IF(L''.E .1)C C T 2 1
iF(LIX.LE.NPL) GO TO 201WRITE(IOUT, 7050)
2n1 WPITE(ICUTSC30) LO
202 L1=0L2=0
207 L1=L2+1LR=L1-1L2=LR+NPLIF(L2.GGT.LIX) L2=LIXIF(LOX.EQ.0) GO TO 203WRITE(ICUT,7060)
2C3 WPITE(ICTJT,8010) LPR
G7 70 (210,230,222210 FMTR48 (4)=INTGR (L2-L1+1)
WRITE (ICUT, FMTR48)$
GO TO 240220 FMTRL48(4)=INTGR(L2-L1+1)
WRITE (TCUTFMTR48)$
), IDT
C
GO TO 2UC230 FMTI4(4)=INTGR(L2-L1+1)
WRITE (ICUT,FMTI4)$ (I4DATA (IR+I) ,I=L1 ,L2)
240 IF(L2.FQ.LIX) GO TO 250IO TO 207
250 IF(LOX.EQ.0) GO TO 900IF(LO.LT.LOX) GO TO 200
GPRN0073GPRN0074GPRN0075GPRNO076GPRN0077GPRN0078GPRN0079GPRN0080GPRN0081GPRN0082GPBN0083GPRN0084GPRN0085GPRN0086GPRN0O87GPRN0088GPRN0089GPRN0090GPRN0091GPEN0092GPRN0093GPRN0094GPRN0095GPRN0096GPRN0097GPRN0098GPRN0099GPRN0100GPRN0101GPRN0102GPRN0103GPRN0104GPRN0105GPRNO106GPRN0107GPRN0108
CC
C
C
C
(114 DAT A(IRF+1), I=L 1, L2)
(R8DATA,.(IR+I),jT=L1,L2)
90"- P'TURN
6010 FORMAT(1HOC6X,16H===============/$ 1X,60X,3H11 ,A4,1H.,I5,3H 11/$ 1X,60X,16H================///)
701V F)RMAT(111+,1X,2HI2,1X,1HI)7121 70RMAT(1H+,7X,2HI1,1X,1H/,
T 6X,2H+1,1OX,2H+2,1CX,2H+3,10X,21H+4,1OX,2H+5,T, 1OX,2H+6,10X,2H+7,10X,2H+8,1OX,2B+9,1OX,3H+10/)
7022 FORMAT(1H+,7X,2HI1,1X,1H/,$ 4X,2H+1,4X,2H+2,uX,2H+3,4X,2H+4,4X,2H+5,$ 4X,2H+6,4X,2H+7,4X,2H+8,4X,2H+9,3X,3H+10,$ 3X,3H+11,3X,3H+12,3X, 3H+13,3X,3H+14,3X,3H+15,I 3X, 3H+16,3k,3H+17,3X,3H+18,3X,3H+19,3X,3H+2C/)
7030 FORMAT(1H+,5(1H-)/1H+,L4X,1HI)704-0 FORMAT(1H+,5X,127(1H-)/1H+,10X,lHj/)7050 FORMAT(1H+,132(1H-)/1H+,4X,lHi,5X,1H/)706 FMUrA(1H+,i4X,1HI)8010 FORMAT(1H+,5X,14,1X,a,1)8030 FORMAT(1H+,I3)9020 F'RM AT(//1X,45HDATA TYPE INTEGER QUALIFIER OUT OF RANGE FOR ,A4,15
$ /1X,10HDATA TYPE ,14//)END
GPRN0109GPRN0110GPRN0 111GPRNO 112GPRNO 113GPRNO114GPRNO 115GPRN0116GPEN0117GPRN0118GPRNO 119GPRNO 120GPRN0121GPRN0122GPRN0123GPRN0124GPRN0125GPRN0126GPRN0127GPRN0128GPRN0129GPRN0130GPRN0131GPRN0132GPRN0133GPRN0134
C
*
*
*
*
*
*
*
*
*
*
* * *
ZIGET
P1P2P3F4P5P6R7R8R9PAFBPCRDREPFR10R 11P12R13P14
CALLING SEQUENCECALL ZIGET (A,NDIMiLENGTH,ISUBOVHL,*) WHEREA = DUMMY DIMENSIONED VARIABLE FROM CALLING PROGRAM
NDIMS = TOTAL DIMENSION SIZE OF A.LENGTH = LENGTH SPECIFICATION FOR FIRST ARGUMENTOVHD = CVEPHEAD SPACE TO BE RESERVEDISUB = INCREMENTAL SUBSCRIPT VALUE (FOR NORMAL RETURN)
FOR ERROR RETURNISUB = +, MAX. NUMBER OF WORDS AVAILABLEISUB = -999, DYNAMIC STORAGE ARA NOT ACCESSIBLE
IF THE WRONG NO. OF ARGUMENTS ARE PASSED FROM THE CALLINGPROGRAM, A FORTRAN TRACEBACK IS GIVEN (IHC230I)
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
CSECTEQU CEQU 1EQU 2EQU 3EQU 4FQU 5EQU 6EQU 7EQ2U 8EQU 9EQU 10EQU 11EQU 12EQU 13EQU 14EQOF 15EQU 10EQU 11EQU 12EQU 13EQU 14
ZISTOO01ZIGTOO02ZIST0003ZIGTOO04ZIGTOO05ZIGTOO06ZIGTOO07ZIGTOOO8ZIGTOO09ZIGTOO10ZIGT0011ZIGT0012ZIGTOO13ZIOT0014ZIGTOO15ZIGTOO16ZISTOO17ZIGTOO18ZI-T0019ZIGTOO20ZIGTOO21ZIGT0022ZI3TO023ZIGTOO24ZIG3T0025ZIGTO026ZIGTOO27ZIST0028ZIGTOO29ZItTOO30Z13T0031ZIGTO032ZIGTO033ZIGTO034ZIGT0035ZIGTO036
0
1515,12(15)X'7'CL7'ZIGET14,12,12(13)12,15ZIGET, 12
SAVE REGISTERS.
SR 15,15SP 7,7ST 7,LENGTH KINI5U1 LENGTHLM 2,5,C(1) LOAD ADDRESS OF ARGUMENTSTM 12(1),X'80' TEST FOR CORRECT NUMBER OF ARGS.BNZ PRESET IF RIGHT NO. OF ARGS.,BRANCHL R6,16(R1)L R6,0(0,R6)SLL 6,2 GET VALUE IN WRDS UNITSOPEN (SNAPDCB,(OUTPUT)) FORE DEBUGGING PURPOSE
---------- G GET ALL CORE AVAILABLEBAL R10,ALLGET
*---------MAKE SURE SYSTEM OVHD REQUEST IS ON A 2K BOUNDARYLA R6,2O47(OR6)SRI R6,11SLL R6,11
*---------COMPUTE SYSTEM OVERHEADL R9,LENASR R9,P6BNP PETPEQA R9,ADDRST R9,RESADDST P6,PESLGTH
------------
bAL R10o,FREEOVHDSNAP DCB=SNAPDCB,Ir=o,SDATA=(CB) ,PDATA=REGS
--------- COMPUTE AMT OF AREA TO BE RETURNED TO USERBAL R10,PETALL
R15
GET I
DEBUGG
EQU
DCDCSTNLRUSING
ZlGT0037ZIG-T0038ZIGTOO39ZIGTOO40ZIGTOO41ZIGT0042ZIGTOO43ZI3T0044ZIGT0045ZIGT0046ZIGTOO47ZIGTOO48ZIGTOO49ZIGTOO50ZIGT0051ZIGTOO52ZI-T0053ZIST0054ZIGT0055ZIGT0056ZIST0057ZIGTOO58ZIGTO059ZIGTOO60ZIGTO061ZIGT0062ZIGTOO63ZI5T0064Z15T0065ZIGTOO66ZIGTO067ZIGTOO68ZIGT0069ZIGT0070ZI-T0071ZIGT0072
00
STCLOSEB
MVCLALBALR
R 7, n(0,j P3-)(SNAPDCB)CNTRLINF
ISN+2(2) ,2(14)1,PLIST15,IBER14,15
F
PICK
BR AN C
PPESE EQU *
1 7,0(3) LOADM 6,0(4) MULTILPR 7,7 R7= N
SVE ST 2,RFG2LA 7,15(C,7) MAKE SURESRL 7,3 AND ADD 8SLL 7,3ST 7,LENGTH+4 REQUESPACE 1
*---------FIRST, GET ALL AVAILIABLE AREABAL R10,ALLGETF QU
*
*
OR DEBUGGING PURPOSE
UP INTERNAL STATEMENT NUMBER
H TO TRACEBACK ROUTINE
NO. OF WORDS REQUESTED.PLY BY LENGTH SPECIFICATION.UMBEP OF BYTES TO REQUEST
REQUEST IS ON 8 BYTE BOUNDARYBYTES FOR CONTROL WORDS.
STED LENGTH (MAX)
*C R7,LENABH RETREQSPACE 1
COMPARE RET. LGTH WITH REQ. LGTHCALLER REQUESTED TOO MUCH, GO ADJUST
*---------GET REQUEST ONTO 8K BCUNDARYLA R7,2047(0,F7)SRL R7,11SLL R7,11ST R7,ORGLGTH
*---------COMP'TE SYSTFM OVERHEAD A RAA R7,ADDR COMPUTE RESERVE AREAST R7,RESADD SAVE VALUEL B7,LENA LOAD LGTHf OF AREA OBTAINEDS R7,OPGLGTHI SUR LGTH OF AREA WANTEDC R7,ZERO CHECK FOR NO SYSTEM AREA AVAILIABLE
ZIGTOO73ZIGTOO74ZIGTOO75ZIGT0076ZIGTOO77ZIGT0078ZIGTOO79ZIGTO080ZI3T0081ZIST0082ZIGT0083ZIGTOO84ZIGT0085ZIGTOO86ZIGT0087ZIGTOO88Z13T0089ZIGTOO90ZIST0091ZIGTOO92ZIGTOO93ZITOO94ZIGTOO95ZIGT0096ZIGTOO97ZIGTOO98ZIGT0099ZI3T0100ZIGTO101ZIGTO102ZIGTO103ZIGTO104ZIGT0105ZIGTO106ZIGTO107Z IG TO 108
CONT1
BNH CNTRL:NF IF NYT,sT R7,pFSLGTHSPACT 1
*------------FREE SYSTEM OVERHEAD AREABAL R10,FPEEOVRDSPACE 1
*--------SEI UP CCNTROL INFORMATION INTO OBTAINED AREACNTLINF EQU
L P6,ADDR GET ADDR OF CCRE ALLMVC (8,6),ADDR STORE CONTROL WORDSLA 6,8(C,6) ADD 8 BYTES FOR CON
*
STSRBMXRBALB
ERROR MVCFRROR1 LA
BCFINISH ST
LABSPACE
OCATEDAT BEGINNING
TROL WORDSCCMPUTE SUBSCRIPT
6,FEG66,20FROER 15,R15F1C, DIVFINISH0(4,5) ,ECODE15,4(0,0)15, RETURN7,0(0,5)Rl1,ZIFREERETURN1
SUBTRACT ADDRESS OF FIRST ARGUMENTIF NEGATIVE, RETURN
RETURN CODE-STORAGE NOT ACCESSIBLEERROR RETURN (RETURN 1)
RFTREQ EQU **---------CALLER REQUESTED TOO MUCH CORE, FREE OBTAINED AREA AND* PASS BACK VALUE OF MAX AREA THAT CAN BE OBTAINED
FREEMAIN V,A=ADDR,SP=0LA R15,4 SPT ERROR CODELA R10,FINISHL R6,LENAS R6,SYSOVHDS R6,EIGHT ADJUST FOR CONTRL INFORMATIONBNP RETALLB DIV
ZI3T0109ZIGTo0110ZIGTO1 11ZIGTO112ZIGT0113ZI T01 14ZIGTO115ZISTO116ZIGTO 117ZIGT0118ZISTO119ZIGTO120ZIGTO121ZIGTO122ZIGT0123ZIGTO124ZIGT0125ZIGTO126ZI3T0127ZIGTO128ZIGTO129ZIGTO130ZIGTO131ZIGTO132ZIGTC133ZIST0134ZIGTO 135ZIGTO136ZIGTO137ZISTO138ZIGTO 139ZIGTO140ZIGTO141ZIGTO142ZIST0143ZIGTO144
0
SPACE 2RUTINES FCF ZIGET ==============================================-
PEACE 1*--------ROUTINE TC GET ALL CORE AVAILABLEALLGET EQU *
GETMAIN VCLA=GETALLA=ADDR,S?=0LTR R15,R15
F 0 Q (C, RiO)ABEND 1020,DUMPSPACE 1
*3UTINE TO FREE SYSTEM OVERHEADFREEOVHD EQU *
FREEMAIN VA=RESADDSP=OSPACE 1
*--------ADJUST LENA FOP CONTROL INFORMATIONL R7,'LENAS R7,RESLGTHST P7,LENABR R10
*---------ADJUST PFTURN REQ FOR CONTRL INFORETALL EQU *
L R6,LENAS P6,EIGHT
*---------CCMPUTE NUMBER OF DIMENSIONSDIV SRDA 6,32(0)
D 6,0(4)
SPACF 2= NTPY POINT FOR ZIFREF
* CALL ZIFREE (A,*) WHERE,* A = ADDRESS OF MAIN STOPAGE TO BE FREED* * = ERROR RETURN STATEMENT NUMBER
ENTRY ZIFRFEZIFREE BC 15,12(0,15)
DC X'7'
ZIGTO145ZIST0146ZIGTO147ZIGTO148ZIGTO149ZIGTO 150ZIGTC 151ZIGT0152ZIGTO153ZIST0154ZIGTO155ZIG TO 156ZIGTO 157ZlST0158ZIGTO159ZIGTO160ZIGTO161ZIGT0162ZIGTO163ZIG T0 164ZIGTO 165ZIGTO166ZIGT0 167ZIGTO168ZIGTO169ZIGTO170ZIGTO 171ZIGTO 172ZIGTO173ZIGTC174ZIGTO175ZIGTO176ZIGTO177ZIGTO178ZIGTO179ZIGTO180
LOOP
DC
LRUSINGSRT MEZLLASLALASTLARMlVC!cC
BE FSLLBCT
LA 15,4(0,0) ERROR RETURN (RETURN 1)P RETURN
TRANSFER TO FCRTRAN TRACEBACK ROUTINEMVC ISN+2(2),2(14) PICK UP INTERNAL SrATEMENT NUMBERLA 1,PLISTL 15,IBERBALR 14,15L 3,4(0,2) R3= NO OF EYTES TO BE RELEASEDSTM 2,3,ADDRFREEMAIN V,A=ADDR,SP=0Z0PE N (SNAPDCB,(OUTPUT)) FOR DEBUGGING PURPOSESNAP DCB=SNAPDCBID=2,SDATA=(CB),PDATA=REGS DEBUGGCLOSE (SNAPDCB) FOR DEBUGGING PURPOSEFU *
CL7'ZIFFr I14,12,12(13)1211,15ZIPPEE, 1115,15C (1) ,X'8f'ERRTR2,0 (0,1)2,0 (0,2)2,EIGHT6,57,12,PEG22,REG22,7TEST (4) , (2)2, 'ESTREL7,16 ,LOOP
SAVE REGISTERS.
TEST FOR RIGHT NO. OF ARGUMENTS
LOAD ADDR OF AREA TO BE FREEDGET RID OF FIRST BYTESUBTRACT 8 TO GET TO CNTRL WDS.LOOP 5 TIMES TO FIND CONTROL WORDS.R7= ADDRESS MODIFIERSAVE INITIAL ADDRESS POINTERLOAD INITIAL ADDRESS
R7 = 1,2,14,8, OR 16PREPARE TO TEST (WORD BOUNDARY PROB)CHECK FOR CORRECT ADDRESSYOU FOUND IT!TRY AGAIN-MULTIPLY R7 BY 2
ZIGTO181ZIGT0182ZIST0183ZIGTO184ZIST0185ZIGTO186ZIGTO187ZIGTO188ZI3TO189ZIGTO190ZITO191ZIGTO192ZIGTO193ZIGTO194ZIGTO195ZIGTO 196ZIGTO197ZIST0198ZIGTO199ZISTO200ZIGTO201ZIGTO202ZIGTO203ZIGTO204ZIXT0205ZIGTO206ZIGTO207ZIGTO208ZIGTO209ZIGTO210ZIGTO211ZIGTO212ZIGT0213ZIGTO214ZIGTO215ZIGT0216
EPR2
*
EPRTP
PEL
*
*
*
PRET URN
I-
I'"
*14,12(13)R1,ADDR2,12,28(13)12(13),X'FF'15,14 .RETURNDSORG=PS,RECFM=VEA,MACRF=(W) ,BLKSiZE=1632,LRECL=125,DDNAME=SNAPCARD FOR DEBUGGING PURPOSE
A (ISN)F'0' INTERNAL STATEMENT NUMBERFlog LENGTH OF STORAGE REOUESTED. (MI
*NAPDCB*
PLISTISNLENGTHORGLGTHADDRLENAREG2REG3REG6EIGHTECODETE S TIBERZEROONERESADDPESLGTHGETALL
FOJ EQULLLM
BCRDCB
DCDCDCDCDCDCDSDSD sDCDCDCDCDCDCDCDCDC F'C'DC
SYSOVHD DCEND
F'1638400'F' 10240'
ZIT02 17ZIGTO218ZIGTO219ZIGTO220ZIGTO221ZIGT0222ZIGT0223ZIGTO224ZITO225ZIGT0226ZIGT0227ZIGTO228ZIGT0229ZIGTO230ZIGTO231ZIGT0232ZIGT0233ZIGTO234ZIGT0235ZIGT0236ZIGT0237ZIGT0238ZIGTO239ZIGTO240ZISTO241ZIGTO242ZIGTO243ZIGTO244ZIGTO245ZIGTO246
LENGTH OF STORAGE REQUESTED. (MAX)ADDRESS OF STORAGE ALLOCATEDLENGTH OF STORAGE ALLOCATEDADDR. OF DUMMY VARIABLE(ARG1)ADDRESS OF AREA TO BE RELEASEDSTAPTING ADDR. OF DYNAMIC CORE ALLOC
ERROR CODETEST WORDADDRESS OF FORTRAN TRACEBACK ROUTINE
F'O'F'C'0
1F1F1FF' 8'F'-999'
V (IBERH#)F'O'F' 1'FolF'O 1rIFAC .
N)
I-
APPENDIX B
LISTING OF INPUT FOR BWR TEST PROBLEM
1. OE-06 1.CE-021 1 1 1
1. 0E-06-1 -1
.3204E- 10-1 -1 -1 -1 -1 -1 -1 -1 -1
013
2.43-1-1-1-1-1-1-1-1-1~1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-16
15.015.015.015.0
0.00.0
3 3 3
3 3 3
1 1
1 1
1 1
1
1
1I
1I
1
1I
1
1
3 3 3 5 5 5 5
3 3 3 4 5 5 5
1 2 2 6 6 5 5
1 2 2 6 6 5 5
1
1
1
1
1I
1
1
1
1
1
1
1
3 3 5 5
3 3 5 5
3 3 5 5
3 3 5 5
1 2 2 3 3 5 5
-1 -1 -1 -1 -1 -1 -1 -1 -1
15.015.015.015.00.00.0
15.015.015.015.00.00.0
15.015.015.015.00.00.0
15.015.015.015.0
-1 -1
15.0
15. C
113
5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5
TP570001TP570002TP570003TP570004TP570005TP570006TP570007TP570008TP570009TP570010TP570011TP570012TP570013TP570014TP570015TP570016TP570017TP570018TP570019TP570020TP570021TP570022TP570023TP570024TP570025TP570026TP570027TP570028TP570029TP570030TP570031TP570032TP570033TP570034TP570035TP570036
'-a
U,
.211.1902
.2091.1935
.1592.2091
N
1.2551.268
1.2591.2341.257
1.2599
.0337075
.0349778
.0342979
.0352954
.0482691
.03429799
1 2 3 41 2 3 41 5 2 10
100 .01300 .001600 .0005200 .002100 .01.3 333E-083. 3333E-060054 .0654.001087 1.35
2 63.83E-11
0.03.034E-03
.02533.02767.02617.02805.04754.02617
55
.004602.004609.004663.004668
0.0.004663
66
77
0.02.0300-
8 98 9
-. 010116
.1003211
.07048902
.0834609
.06553935
.01912592
.0834609
0.00.00.00.00.0
0.0
.1091
.08675
.1021
.08792-020
.1021
TP570037TP570038TP570039TP570040TP570041TP570042TP570043TP570044TP570045TP570046TP570047TP570048TP570049TP570050TP570051TP570052TP570053TP570054TP570055TP570056
3..