4-ti al * fl4.4 t~ak

117
W -"4 4A4 1w -U u :'-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 -' in I*ww

Upload: others

Post on 08-May-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4-tI Al * fl4.4 T~Ak

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

Page 2: 4-tI Al * fl4.4 T~Ak

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

Page 3: 4-tI Al * fl4.4 T~Ak

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

Page 4: 4-tI Al * fl4.4 T~Ak

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

Page 5: 4-tI Al * fl4.4 T~Ak

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

Page 6: 4-tI Al * fl4.4 T~Ak

- 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

Page 7: 4-tI Al * fl4.4 T~Ak

- 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

Page 8: 4-tI Al * fl4.4 T~Ak

- 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

Page 9: 4-tI Al * fl4.4 T~Ak

- 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).

Page 10: 4-tI Al * fl4.4 T~Ak

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

Page 11: 4-tI Al * fl4.4 T~Ak

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

Page 12: 4-tI Al * fl4.4 T~Ak

- 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).

Page 13: 4-tI Al * fl4.4 T~Ak

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

Page 14: 4-tI Al * fl4.4 T~Ak

- 13 -

References

1) R. A. Shober, "Nonlinear Methods for Solving the DiffusionEquation", M.I.T. Department of Nuclear Engineering, Ph.D. Thesis,November, 1976.

Page 15: 4-tI Al * fl4.4 T~Ak

APPENDIX A

LISTING OF COMPUTER PROGRAM 2DTD

Page 16: 4-tI Al * fl4.4 T~Ak

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

Page 17: 4-tI Al * fl4.4 T~Ak

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

Page 18: 4-tI Al * fl4.4 T~Ak

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

Page 19: 4-tI Al * fl4.4 T~Ak

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

Page 20: 4-tI Al * fl4.4 T~Ak

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

Page 21: 4-tI Al * fl4.4 T~Ak

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

Page 22: 4-tI Al * fl4.4 T~Ak

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

Page 23: 4-tI Al * fl4.4 T~Ak

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

,

Page 24: 4-tI Al * fl4.4 T~Ak

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

Page 25: 4-tI Al * fl4.4 T~Ak

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)

[,

Page 26: 4-tI Al * fl4.4 T~Ak

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

Page 27: 4-tI Al * fl4.4 T~Ak

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

Page 28: 4-tI Al * fl4.4 T~Ak

,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

Page 29: 4-tI Al * fl4.4 T~Ak

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

Page 30: 4-tI Al * fl4.4 T~Ak

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

'.

Page 31: 4-tI Al * fl4.4 T~Ak

: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

Page 32: 4-tI Al * fl4.4 T~Ak

1OX,R'EEDBACK CNT P;ARTi (K)12. 4,/ lol10X, ' REFEPENCE TE!PfE vr TURE (K) '#,E12.4)

ITRN0073ITRN0074ITRN0075ITRN0076

A

X4-

E~D

Page 33: 4-tI Al * fl4.4 T~Ak

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

Page 34: 4-tI Al * fl4.4 T~Ak

.=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

Page 35: 4-tI Al * fl4.4 T~Ak

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

Page 36: 4-tI Al * fl4.4 T~Ak

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

Page 37: 4-tI Al * fl4.4 T~Ak

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

Page 38: 4-tI Al * fl4.4 T~Ak

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

Page 39: 4-tI Al * fl4.4 T~Ak

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

Page 40: 4-tI Al * fl4.4 T~Ak

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

Page 41: 4-tI Al * fl4.4 T~Ak

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)

Page 42: 4-tI Al * fl4.4 T~Ak

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

Page 43: 4-tI Al * fl4.4 T~Ak

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.

Page 44: 4-tI Al * fl4.4 T~Ak

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

Page 45: 4-tI Al * fl4.4 T~Ak

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

Page 46: 4-tI Al * fl4.4 T~Ak

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

Page 47: 4-tI Al * fl4.4 T~Ak

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

Page 48: 4-tI Al * fl4.4 T~Ak

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

Page 49: 4-tI Al * fl4.4 T~Ak

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.

Page 50: 4-tI Al * fl4.4 T~Ak

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

Page 51: 4-tI Al * fl4.4 T~Ak

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

Page 52: 4-tI Al * fl4.4 T~Ak

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 ,

Page 53: 4-tI Al * fl4.4 T~Ak

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.,

Page 54: 4-tI Al * fl4.4 T~Ak

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,

Page 55: 4-tI Al * fl4.4 T~Ak

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,

Page 56: 4-tI Al * fl4.4 T~Ak

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,(/

Page 57: 4-tI Al * fl4.4 T~Ak

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

Page 58: 4-tI Al * fl4.4 T~Ak

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

Page 59: 4-tI Al * fl4.4 T~Ak

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

Page 60: 4-tI Al * fl4.4 T~Ak

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,

Page 61: 4-tI Al * fl4.4 T~Ak

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

Page 62: 4-tI Al * fl4.4 T~Ak

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

Page 63: 4-tI Al * fl4.4 T~Ak

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

Page 64: 4-tI Al * fl4.4 T~Ak

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

Page 65: 4-tI Al * fl4.4 T~Ak

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

Page 66: 4-tI Al * fl4.4 T~Ak

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,

Page 67: 4-tI Al * fl4.4 T~Ak

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

Page 68: 4-tI Al * fl4.4 T~Ak

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

Page 69: 4-tI Al * fl4.4 T~Ak

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

Page 70: 4-tI Al * fl4.4 T~Ak

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

Page 71: 4-tI Al * fl4.4 T~Ak

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

----------

Page 72: 4-tI Al * fl4.4 T~Ak

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

Page 73: 4-tI Al * fl4.4 T~Ak

NCTITCN CCSH1(X)c23SH1=CCSH(X)

-TUn

COSHOO01COSHOO02COSHOO03COSHOO04

Page 74: 4-tI Al * fl4.4 T~Ak

FU NC1T 0N DACCSH (K)DACSH=ALCG(X+SQRT (X*X-1 .0))RTU N

DACH0001DACHO002DAH0003DACH0004

Page 75: 4-tI Al * fl4.4 T~Ak

SU3ROUTINE CPUT(CI'IME)CALL TIMING (IT) -CTIIE=FLOAT (IT-ITT) . 1RETURNENTRY CPUTOCALL TIMING(ITT)RETURNEND -

CPUTJ001CPUT0002CPUT0003CPUT0004CPUT0005CPUTOC06CPUT0007CPUT0008

4-

Page 76: 4-tI Al * fl4.4 T~Ak

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

Page 77: 4-tI Al * fl4.4 T~Ak

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

Page 78: 4-tI Al * fl4.4 T~Ak

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,//)

Page 79: 4-tI Al * fl4.4 T~Ak

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

Page 80: 4-tI Al * fl4.4 T~Ak

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

Page 81: 4-tI Al * fl4.4 T~Ak

1 RMA (1M9,Xf,' TIME TO DC T7 A N3EN TRET URN

IS' ,i212.4) TENS0073TRNS0074T RN S0075TRNS0076END

oo

Page 82: 4-tI Al * fl4.4 T~Ak

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

Page 83: 4-tI Al * fl4.4 T~Ak

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

Page 84: 4-tI Al * fl4.4 T~Ak

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

Page 85: 4-tI Al * fl4.4 T~Ak

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

Page 86: 4-tI Al * fl4.4 T~Ak

_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-'

Page 87: 4-tI Al * fl4.4 T~Ak

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

Page 88: 4-tI Al * fl4.4 T~Ak

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

Page 89: 4-tI Al * fl4.4 T~Ak

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

Page 90: 4-tI Al * fl4.4 T~Ak

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

Page 91: 4-tI Al * fl4.4 T~Ak

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

Page 92: 4-tI Al * fl4.4 T~Ak

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

Page 93: 4-tI Al * fl4.4 T~Ak

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

Page 94: 4-tI Al * fl4.4 T~Ak

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

Page 95: 4-tI Al * fl4.4 T~Ak

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

Page 96: 4-tI Al * fl4.4 T~Ak

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

Page 97: 4-tI Al * fl4.4 T~Ak

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

Page 98: 4-tI Al * fl4.4 T~Ak

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

Page 99: 4-tI Al * fl4.4 T~Ak

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

Page 100: 4-tI Al * fl4.4 T~Ak

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

Page 101: 4-tI Al * fl4.4 T~Ak

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

Page 102: 4-tI Al * fl4.4 T~Ak

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

Page 103: 4-tI Al * fl4.4 T~Ak

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

Page 104: 4-tI Al * fl4.4 T~Ak

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-

Page 105: 4-tI Al * fl4.4 T~Ak

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

Page 106: 4-tI Al * fl4.4 T~Ak

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)

Page 107: 4-tI Al * fl4.4 T~Ak

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

Page 108: 4-tI Al * fl4.4 T~Ak

*

*

*

*

*

*

*

*

*

*

* * *

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

Page 109: 4-tI Al * fl4.4 T~Ak

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

Page 110: 4-tI Al * fl4.4 T~Ak

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

Page 111: 4-tI Al * fl4.4 T~Ak

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

Page 112: 4-tI Al * fl4.4 T~Ak

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

Page 113: 4-tI Al * fl4.4 T~Ak

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'"

Page 114: 4-tI Al * fl4.4 T~Ak

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

Page 115: 4-tI Al * fl4.4 T~Ak

APPENDIX B

LISTING OF INPUT FOR BWR TEST PROBLEM

Page 116: 4-tI Al * fl4.4 T~Ak

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,

Page 117: 4-tI Al * fl4.4 T~Ak

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