JOINT TECHNICAL - DTIC

254
_ , - '- i '- .. . . - -... . DEPARTMENT OF THE ARMY DEPARTMENT OF THE NAVY ,.EAOQUARTERS UNITED STATES ARMY MATERIEL COMMAND HEADOUARTERS NAVAL MATERIAL COMMAND WASHINGTON. OC, 20310 WASHINGTON. DC, 2MM p DEPARTMENT OF THE AIR FORCE DEPARTMENT OF THE AIR FORCE HEADQUARTERS AIR FORCE LOGISTICS COMMAND HEADOUARTERS AIR FORCE SYSTEMS COMMAND WRIGHT-PATTERSON AF8, OHIO 45433 ANDREWS AFS, WASHINGTON, DC. 20331 JOINT TECHNICAL COORDINATING GROUP FOR AIRCRAFT SURVIVABILITY 18 July 1983 FROM: C. Padgett - JTCG/AS DCIIS Member TO: Distribution SUBJ: Modified QKLOOK Program ENCL: (1) Change 1 to JTCG/AS-79-V-008 (2) SUBROUTINE ASPTONIND REF: (a) JTCG/AS-79-V-008 1. Recently, the four (4) QKLOOK programs, in-reference (a), have ~ been extensively modified. The modifications were made to increase the usefulness and ease of use of the QKLOOK model. The changes made ethe user's control of the P functions used in QKLOOK * 1)increase K/H (2) allow the user to select true or incremental vulnerable areas, and (3) brought the programs in line with the FORTRAN 77 standard. All the changes are thoroughly documented in enclosure (1). 2. Tn addition, the program VAMERGE.which re-formats the QKLOOK out- put into a form usable by the ASALT program.has now been documented., This documentation is enclosed as enclosure (2). 3. If you have any questions, contact: Andrew Kilikauskas Tele: AV 437-3681 (619) 939-3681 Connie Padgett, JTCG/AS UDocumentation Publication Engineer DTIC I DUTRIBUTION STATEMENT A Appioved for public zoleasel " ' '8 Distxi~ution Unlimited

Transcript of JOINT TECHNICAL - DTIC

_ , - '- i '- .. . . - -... .

DEPARTMENT OF THE ARMY DEPARTMENT OF THE NAVY,.EAOQUARTERS UNITED STATES ARMY MATERIEL COMMAND HEADOUARTERS NAVAL MATERIAL COMMAND

WASHINGTON. OC, 20310 WASHINGTON. DC, 2MM

p

DEPARTMENT OF THE AIR FORCE DEPARTMENT OF THE AIR FORCEHEADQUARTERS AIR FORCE LOGISTICS COMMAND HEADOUARTERS AIR FORCE SYSTEMS COMMAND

WRIGHT-PATTERSON AF8, OHIO 45433 ANDREWS AFS, WASHINGTON, DC. 20331

JOINT TECHNICAL COORDINATING GROUPFOR

AIRCRAFT SURVIVABILITY

18 July 1983

FROM: C. Padgett - JTCG/AS DCIIS MemberTO: Distribution

SUBJ: Modified QKLOOK Program

ENCL: (1) Change 1 to JTCG/AS-79-V-008(2) SUBROUTINE ASPTONIND

REF: (a) JTCG/AS-79-V-008

1. Recently, the four (4) QKLOOK programs, in-reference (a), have~ been extensively modified. The modifications were made to increase

the usefulness and ease of use of the QKLOOK model. The changes madeethe user's control of the P functions used in QKLOOK* 1)increase K/H

(2) allow the user to select true or incremental vulnerable areas,and (3) brought the programs in line with the FORTRAN 77 standard.All the changes are thoroughly documented in enclosure (1).

2. Tn addition, the program VAMERGE.which re-formats the QKLOOK out-put into a form usable by the ASALT program.has now been documented.,This documentation is enclosed as enclosure (2).

3. If you have any questions, contact:

Andrew KilikauskasTele: AV 437-3681

(619) 939-3681

Connie Padgett, JTCG/ASUDocumentation Publication EngineerDTIC

I DUTRIBUTION STATEMENT A

Appioved for public zoleasel " ' '8Distxi~ution Unlimited

UAD-b049 (JIi 19/4v' 9/2v 20/5ARk4hMENI SYSTEMS 1INC AlHAiEIM CA

80-19QKLvOr' LOMPIuTLR JPROGki~mS ANALYST N.' USERiv~A-.9

F~iAL kLPT* CT 78-DLc 79.STEENROUPFRUEieRIL.K J- ; lvUSCHpJOW4N Fe.

JU,. au 422P C0 Ti.ALT

U14CLASSIFIEU REPORTUISTKItuTIC. LIMITED 1c U.S. G.OVTo AGENCIESONLY; TE.ST ANU LVALUATIONI w.UL 77. OTHERRLQUESTS FLP 7HIS LOLU;El\jT M UST AE PEFERRED 'oCOMMANUEN. NIAVAL AIR SYSTEMS COMMANDF AT'iN:A1R-Slb'4.js -,,SHIrGTOit DL. 20361.

Code I'

JTCG/AS-79-V-008

DISTRIBUTION LIST

Aeronautical Systems Division (AFSC)Wright-Patterson AFB, OH 45433

Attn: ASD/XROT (G. B. Bennett)

Air Force Wright Aeronautical LaboratoriesWright-Patterson AFB, OH 45433

Attn: AFWAL/FIES (CDIC) (2 copies) Attn: AFWAL/FIESD (G. Streets)Attn: AFWAL/FIES (J. Hodges) Attn: AFWAL/FIMB (P. Waggoner)

Applied Technology LaboratoryArmy Research & Technology Laboratory (AVRADCOM)Ft. Eustis, VA 23604

Attn: DAVDL-ATL-AL (Mr. Merritt)

Army Materials and Mechanics Research CenterWatertown, MA 02172

Attn: D(MR-RA (T. V. Hynes) (2 copies)

David W. Taylor Naval Ship R&D CenterCarderock LaboratoryBethesda, MD 2008A

Attn: Code 1740.2 (F. J. Fisch)

Defense Technical Information CenterCameron Station, Bldg 5Alexandria, VA 22314

Attn: DTIC-TCA (2 copies)

Deputy Chief of Staff (AIR)Marine Corps HeadquartersWashington, DC Z0380

Attn: LT COL Huckleberry (ATW-22)ERADCOM Accession For

Fort Monmouth, NJ 07703 NTI2 CRA&IAttn: DELSD-EV CC. Goldy) DTIC TAP

Naval Air Systems Comand Jus t'i aWashington, DC 20361

Attn: AIR-5164J (2 copies) Byfr- L+_'. _Pist :L-, !I.$A/

Naval Postgraduate School y esMonterey, CA 93940{, * Ava11rn~iy C* es

Attn.: Code 67B? (R. E. Ball) Dlst Special|Dist speea.

|--f 6,...

JTCG/AS-79-V-008

Naval Weapons CenterChina Lake, CA 93555

Attn: Code 3331 (C. Padgett) (2 copies)

Naval Weapons Support CenterCrane, IN 47522

Attn: Code 502 (N. L. Pa~ke)

Applications Research Corp.330 S. Ludlow St.Dayton, OH 5402

Armanent Systems, Inc.712-F North Valley StreetAnaheim, CA 92801

Attn: J. Musch

The BDM Corp.1801 Randolph S.E.Albuquerque, Mi 87106

Attn: A. J. Holten

Bell Helicopter TextronDivision of Textron Inc.P.O. Box 482Fort Worth, TX 76101

Acmn: Security/Dept. 12, J. R. Johnson

The Boeing Aerospace CompanyP.O. Box 3999Seattle, WA 98124

Attn: C. J. Artura, XiS 8C-23

Th e Boeing Vertol CompanyBoeing CenterP.O. Box 16858Philadelphia, PA 19142

Attn: N. Caravasos, M/S P32-18

Boeing Military Airplane CompanyP.O. Box 3707Seattle, WA 98124

Amtn: K. F. Brettmann, M/S 41-10 (2 copies)

Boeing Militar7 Airplane Co.3801 S. Oliver St.Wichita, KS 67210

Attn: M/S K16-14

i ,

JTCG/AS-79-V-008

Calspan Corp.P.O. Box 235Buffalo, NY 14221

Attn: Library (V. M. Young)

Denver Research InstituteUniversity of DenverUniversity Park Station2360 S. Gaylord StreetDenver, CO 80210

Attn: R. F. Recht

Falcon Research and Development Co.2350 Alamo Ave.. SEAlbuquerque, N4 87106

Attn: Dan Dunbar

General Dynamics Corp.Fort Worth DivisionGrants Lane, P.O. Box 748Fort Worth, TX 76101

Attn: Dr. Clyde Boykin - Lail Zone 2654

i Grumman Aerospace Corp.South Oyster Bay Rd.Bethpage, Ny 11714

Attn: J. P. Archey Jr., Dept. 662, Mail 31-05 Attn: H.B.Smith TIC,Plant 35

Attn: J. iartung, Dept. 661, C27-05

Hughes HelicoptersCencinela Ave. & Teal St.Culver City, CA 90230

Attn: Library, 2/T2124 (D. K. Goss)

Lockheed-Georgia Co.A Division of Lockheed Aircraft Corp.86 S. Cobb DriveMarietca, GA 30063

Attn: Sci-Tech Info Center, 72-34 Zone 26 (T. J. Kopkin)Attn: Dr. Gary Jackman 72-08, Zone 415

11cDonnell Douglas Corp.P.O. Box 516St. Louis, MO 63166

Attn: R. D. Detrich. Dept. 022

Attn: Michael Meyers, Dept. 345, Bldg. 33, Post 300

Northro Corporation1515 Rancho Conejo Blvd.Newbury Park, CA 91320

Attn: Keith Hullinger

[.-"

JTCG/AS -7g-V-008

Rockw~ell InternationalNorth American Aircraft DivisionP.O. Box 92098Los Angeles, CA 90009

Attn: S.C. Hiellin, Dept. 115, MA-09Attn: E. Darkauskas, M1B56

The Survice Engineering Co.

P.O. Box 693Be]. Air, MD 21014

Attn: James B. Foulk

Shock Hydrodynamics DivisionWhittaker Corporation4716 Vineland Ave.No. Hollywood, CA 91602

Attn: Security Officer

Southwest Research InstituteP.O. Drawer 28510San Antonio. TX 78284

Attn: P. H. Zabel, Div. 02

Comarco, Inc.1417 N. Norma.Ridgecrest, CA 93555

Attn: G. Russell (2 copies)

Falcon Research & Development Co.One American DriveBuffalo, NY 14225

Attn: P.D.Pfohl

JTCG/AS-79-V-008

SECTION I

INTRODUCTION

The QKLOOK programs are a set of four FORTRAN programs which computecomponent, system, and total target vulnerable areas for Directed HighEnergy Weapons (DHEW). Vulnerable area is defined to be the product ofpresented area and probability of kill given a hit (P(K/H)) on that area.The target is described by a set of shot lines: parallel rays passedthrough the target, perpendicular to a specified viewing plane. Theseshot lines are generated from geometric target models by other computerprograms such as FASTGEN or MAGIC. In addition to the shot line data, theuser must supply detailed compone t information such as component codenumber, material type, density fac-ir, initial operating temperature, andmelt analysis type (melt-in-place or melt-removed), to be used in the pene-tration computations. The degree of component kill is determined by thedepth to which the weapon is able to penetrate the component. Depths ofpenetration and associated P(K/H)'s for each critical component are specifiedby the user. QKLOOK then interpolates linearly between these values todetermine actual component P(K/H) values (and hence vulnerable areas) attimes specified by the user. The weapon is described simply by its fluxdensity, which may (but need not) vary with time. The entire target isassumed to be flood-loaded with this flux density.

The four QKLOOK programs and their specific functions are:

CONMAG - Converts shot line encounter data produced from a MAGIC targetdescription to the format required by QKPK. (No conversionis necessary for a FASTGEN target description).

PRERD - Checks the input data assembled for QKPK for possible errors,and produces several summary tables of that input data.

QKPK - Simulates penetration along each shot line and computes pene-tration times for each encounter with a critical component.

PEAKAY - Computes component, system, and total target vulnerable areasat specified time intervals using the penetration times computedby program QKPK.

The vulnerable areas generated by QKLOOK can be used in vulnerablilityassessment and reduction studies, or as input to "end-game" computer pro-grams where target probability of kill (Pk rather than P(K/H)) is determined.

I-I ENCLOSURE (1) Change I

JTCG/AS-79-V-008 F

ANALYST SECTIONS

Sections II, III, and IV are intended for use by the program analystwho must acquire a detailed understanding of the programs. Section IIcontains a set of conceptual flowcharts which provide a pictorial summaryof the execution steps in the QKLOOK programs. The basic mathematical con-cepts employed in the QKLOOK programs are presented in Section III, theMathematical Model. The Simulation Model, Section IV, provides a discussionof the individual FORTRAN statements in each of the QKLOOK program units. Adictionary of the FORTRAN variable names is included at the end of Section IV.

USER SECTIONS fSections V, VI, and VII form the user portion of this manual. The

information and data contained in these sections are primarily in tabularform so that they may be used as quick reference sources. Section V isused to present the formats, options, and definitions for all parametersused as input for the QKLOOK programs. The output for all of the programs Iis presented in Section VI. The binary output files are described infigures which list each output parameter as well as its units and definition.Each page of line printer output is also discussed and an example shown, Iincluding warning messages from the QKLOOK programs. Section VII is usedto describe a sample problem. The figures for this section include copiesof all formatted input and output. The sample problem is one that exercisesmany of the program features and user options. The user may also find thefirst part of Section II useful. A flowchart is given there showing theinteraction of the various QKLOOK programs. [

PROGRAM REQUIREMENTS/CONSTRAINTS LThe largest QKLOOK program requires 22,197 (532658) words of memory on

a UNIVAC 1110 computer. Peripheral requirements include one card reader,one line printer, and two mass storage devices. The programs in their pre-sent configurations have the following constraints:

1. No more than 498 components may be in the target model defined in Lthe QKPK data deck unless array dimensions in the program areincreased.

2. There must be no more than 100 encounters along any one shot lineunless array dimensions in the program are increased.

3. No more than 10 systems of components may be defined unless array Idimensions in the program are increased.

4. Maximum weapon intensity must be less than or equal to 60,000watts/cm2 in order for the penetration rate calculations to be Lvalid.

1-2

9'

JTCG (&S- 79-V-008

T~ FOR NEOATIVE 0ZERO INZTIA.

a PErNATINO

115T INFLUENCE MooEThICxREl& ANDOENIfl FACTOR

AM ULTIPLY

PKVLE OBE ENTERED

EQUAL TO ZERO ANDGREATER TItAN ANYPRECEDING DEPTHS

TEST FOR PK VALUESGREATER THAN OR EQUAL

To ZERO AND GREATERTHAN ANY PRECEDING

PK VALUES

PLACE AN ASERISK ImuFRONT or LIME WITHt

IRRORI

FIGURE 2-5. QKLOOK: Program~ PREF.D Conceptioal Flowchard (Page 2 of 3)

2- t9Change I42 1

Js

JTCG/AS- 79-V-GOB

PRINT COMPONENTtNPORNATION Wit"

COMPONENTS NOTESTE07

1.0

PRINT CRITICALCoMUNENT SUMAR

PRINT COSMPONENTLISTINO Sy MOTEMIRL

TYPE

PRINT COMPONENTLISTING BY TROLE

LOIN-UP INDEX

PRINT COMPONENTLISTING By ILTIII

TYPE

PRINT CWIPONE NT

LISTING Sy SYSTE

ST P

FIGURE 2-5. QKLOOK: Program PRERD Conceptioal Flowchard (Page 3 of 3)

Changel1 2-20

tA

F- JTCG/AS-79-V-008

i

approximated by substituting the vaporization temperature for T* inEquation 3-11:F

(T - T )aF k - (3-13)

where

TV = the component vaporization temperature, °C

The total heat absorbed during this type of encounter is approximatedby multiplying Equation 3-13 by the component area and time:

(Tv - Tm)Q=Atk Z (3-14)

Similarly the heat required can be approximated by replacing T* with TVin Equation 3-9

Q = AZp LCps (Tm - T) + x + Cpz 2 (3-15)

The penetration rate equation for the melt-in-place analysis when thesurface temperature exceeds Tv can be obtained by equating Equations3-14 and 3-15, and solving for the rate, R where R = Z/t.

k(T - Tm) At = AZp Cps (Tm - Tl ) + X + Cp(Z v m 2

4i k(Tv .Tm)

R (3-10)

• T -T)++P(Tv - ]•p [Cps (Tm T 1I + X + CpZ

3-7

II14

JTCG/AS-79-V-008

COMPONENT PROBABILITIES OF KILL

For each critical component along each shot line, penetration times arecomputed using the basic distance/rate equation:

dt R (3-17)R

where

t - the penetration time, secondsd = the penetration distance, metersR = the penetration rate, m/sec

The computed penetration times are:

tN the time needed to penetrate from the beginning of the shot lineto the depth necessary for a non-zero component Pk equal to PkN(N is in the range from one to one less than the number of Pkvalues specified), seconds

tN+1 the time needed to penetrate from the beginning of the shot lineto the depth necessary for a component Pk equal to PkN+ (Pk+Iis greater than or equal to PkN), seconds

tL = the time needed to penetrate from the beginning of the shot

line through the line of sight thickness of the component, seconds

The component kill probability for a time, T, is computed as follows (Nmin 1):

If T < tN or tL < then Pk - 0.0

If < tN and tL tN and tN+ #tNNrmin ra N in N1 N

then

(tM - tN)SPk= ( 3-(tN+1 - t) (PkN+ 1 - PkN) + PkN (3-18)

where

*t min (T, tN YL)max

if T t and t N then Pk PkN

max max max

Change 1 3-8

.0l

JTCG/AS-79-V-008

COMPONENT PRESENTED AND VULNERABLE AREAS

The total presented area for a component can be computed very easilyby counting the number of shot lines which intersect the component. If ashot line encounters a component one or more times, the presented area isassumed to fill the corresponding grid cell. Since there is only one shotline per grid cell, a component's presented area for one view can beexpressed as:

Ap = NS AG (3-19)

where

A p the total component presented area, ft2

NS the number of shot lines encountering the component at least once,nondimensional

AG = the grid cell area, ft2

The vulnerable area of a component is defined as the product of itspresented area and its kill probability.

A PkT (3-20)

where

A - the total component vulnerable area, ft2

Pk - the total component kill probability for the view, nondimensional

3-9 Change I

IJTCGAS-79-V-O08I

Substituting Equation 3-19 for the presented area, the vulnerable area (is expressed as:

AV = PkT NS AG (3-21)

In this problem, a component may be encountered in several gridcells.

Let

Pk i = the component probability of kill for the ith shot line

Computing PkT as the average of the shot line kill probabilities:

N SNs Pki

PkT N S (3-22)

then

NS

PkT NS = i Pk i (3-23)

Substituting the right hand side of Equation 3-23 into Equation 3-21

Av = AG E Pki (3-24)

A component may also be encountered more than once along a shotline. The total P(K/H) for the component on the shot line is the sum ofthe probabilities of the exclusive events, as follows:

3-10

K" JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(MATHEMATICAL MODEL)

Abbreviation Equivalent inor symbol Simulation Definition Units

or symbol Model____________________

N --- Number of shot linesS encountering a component

N Number of encounters for acomponent on the jth shot

" (line

Pei PK Probability of kill for theith encounter and no killon a previous encounter

P PK Component probability ofkill on the ith encounter

Pk. Component probability ofkill from one shot line

PkT Average of the probabili-ties of kill for all shotlines

Q Heat absorbed by the joulescomponent

R RATE Penetration rate of a m/secDirected High EnergyWeapon against a component

t Penetration time (in Com- secondsponent Probabilities ofKill subsection); timeduration of an encounter(in Penetration Ratessubsection)

T* TSTAR Component outer surface 0Ctemperature

T TINIT Component initial operating 0Ctemperature

3-13

JTCG/AS-79-V-O08

LIST OF ABBREVIATIONS AND SYMBOLS(MATHEMATICAL MODEL)

Equivalent in

Abbreviation Simulation Definition UnitsModel

T TMLT Component melting Cm temperature

TV TVAP Component vaporization Ctemperature

tL PLS Time required to penetrate secondsfrom the beginning of ashot line to the depthnecessary to perforatethe component

PK3 Time needed to achieve the secondsmaximum Pk for a componentin a time interval

tN PKTIME Time required to penetrate secondsfrom the beginning of a

shot line to the depthassociated with a Pk equalto Pk N

PkN PKVAL Pk associated with pen-tration to a specifieddepth

Z DP Component actual line of meterssight thickness

ALP Component coupling

coefficient, absorptionfactor

AET Energy per unit mass joules/kgm

m needed to raise the tem-perature from T1 to T

m

Change 1 3-14

JTCG/AS-79-V-008

SUBROUTINE BSRCH

This subroutine is used to find the link between a component number for anencounter and the component information arrays. This is done by executing abinary search of the component number array, ICOMP, which was sorted into ascend-ing order in Subroutine FSORT. If the binary search can find no link, adefault link is assigned.

The first set of statements

SuSROuTINE 8SRCH(ICCMP,NOCO00,ITC)CUMMON /PkOP/ kLP.WnUCP,14LT.ILAM4DfRATE.JCUMP,J,UPXKTVAP,

S CPL;ITE ITCOMMON /LUNITS/ InD,InN.II'1 .IUUTDIMENSION ICUMP(ITC)

is used to pass three arguments, ICOMP, NOCOMP, and ITC to this subroutine.ICOMP is the array being searched; NOCOMP is the number of values in this array;and ITC is the dimension of ICOMP. The statements are also used to specify twonamed commons which are used to transfer information into and out of this sub-routine. In COMMON /PROP/, the variable JCOMP is the component number to bematched and the variable J is the subscript of the matching element in arrayICOMP. The DIMENSION statement is used to declare the argument ICOMP to be anarray.

The statements

ISEG 3 0LEND = NOCUMP * I

10 COtTINuE

J = (IdEG + IErU) 2IF (J .NE. IdEG) THEN

IF (ICOMP(J) .LT. JCOMP) THENIBEG z J

ELSE IF (ICOMP(J) *ST. JCOIAP) THENlEND a J

END IFELSE

are used to perform the binary search. The algorithm begins by setting apointer, IBEG, at the beginning of the array and another pointer, IEND, at theend of the array. An iterative procedure is used to set a third pointer, J,halfway between IBEG and IEND and to compare the Jth element with the desiredvalue, JCOMP. The first block IF statement is false only if no match for JCOMPexists in the array ICOMP. In this case, the ELSE branch is executed. In allother cases, the block IF in the THEN branch is executed to compare the valuesJCOMP and ICOMP(J). If JCOMP is larger, the beginning pointer, IBEG, is movedto position J. If JCOMP is smaller, the end pointer, IEND, is moved to J. Ifthe values are equal, the algorithm is finished.

The following statements

IF (JCU4P .LT. 1OO) THEN

J 2 ITC - IELSE IF (CJCOMP *GE. 1000) *ANO. (JCOP .LE. ?qqq)) THEN

J a ItCELSE

sMITE (InRIO0) JCOMPJ 3 tiC

ENO IFOE T URN

ENO IF

4-3 Change I

JTCG/AS-79-V-008

IF (ICOMP(J) NE. JCOMP) GO TO 10RETURN

1 100 FORMAT (11,110.* VlA5 NO0 FUUNoD IN LIS1...DEFAULT TO 7075 AL')END

are used to allow a component number, JCOMP, to use default characteristics;i.e., the formatted input for the component information arrays does not needto include every component in all shot line encounters. An encountercomponent JCOMP with a number less than 1,000 and no match in the ICOMP arrayis assigned default data for a 2024 AL component. These default data for thistype of component are stored at location ITC-1 in the component informationarrays. Similarly, a component number JCOMP between the numbers 7000 and 7900with no match in the ICOMP array is assigned default data (stored at locationITC in the component information array) for a 7075 AL component. If acomponent number, JCOMP, is in neither of the above ranges and has no matchin the array ICOMP, the subroutine causes a warning message to be written. Atthis point, the default link ITC (7075 AL) is assigned. Control is thenreturned to the calling routine. The two END IF statements close the block IFstatement assigning the default characteristics and the block IF checkingwhether a match for JCOMP may yet exist in the array ICOMP. If the algorithmhas not yet completed, the GO TO statement branches to Statement 10 foranother iteration.

Change 1 4-4

U .. - - m . d .. " -

JTCG/AS-79-V-008

are used to conclude the binary output file in QKLOOK format by writing a finalbinary record with the values of XX (= 999.0). The binary file is then rewoundand the first record is overwritten. The new initial record is identical tothe original one except that it includes the minimum and maximum coordinatevalues of all shot lines on the viewing plane. The purpose of the new initialrecord is to facilitate the use of a plotting program which would require theminimum and maximum values for scaling before the data can be plotted. Finally,

f the binary file on device lOUT is rewound in preparation for a run of ProgramQKPK.

The last set of statements

iao FUokmA (F7.1*1xFq.3,FoJ,.I,FA1,,F&o1)

10U FORMT (3(18,FT.ZFS.I#I~rF1.2))ROO FORMAT [4Fw~tb||SF,}

a,0 FORMAT (IX.Pb#.IvF.Iv3XtF6*2#SX.I3)

280 FORMAT1 (15.O06)885 FUMAI (15PINO. OF ViE*s 2,u1-/5,10lO4b)

235 FWMAT (IOMIALIMUI" u.FtO.2,13m ELLVAILON |,FIO.2,1 I3i GWIU SIZL X,FtO.81

240 Fj4.&i t 7NOV06I 2,FI0.2. H TO-IN zFI0o.2iOIMAx X.FO.Z#

2 9N I-N :,I10.2)

J45 PVCa.4a (tNt)1900 FONMAT (IMI.6H9.NE FOLLOWING IS AN ECHO OF THE DATA *RITTEN ON THE

I MAGIC OIITPUT F1Lt//1HO,3OWA@ EL, GRIO. LLt It 2. I Xt 1 R/Z IN .3FIO.J.tIt.SFIO.2)

1001 FU'OA1 (IO.6QHAI(t). AYMI, AZ(I). ISNI(I), leOI). ITH(I)s 1181I1).LOw(I). IZIOIC/(IN .3F10.3S51tO))

i 1008 FORMAr itio.3a.xi, I x,x, i1t , I MPX, IXl. Xl IX/IH .3FIQ. jIIO,I SFIOJ)

1003 IO.NAT (IN0.428AI1N ELEV. GkI40, L.* YMI, 1M, ZMX. IN, Ri'I 1K 3F 1O.3,I10.5F1O.,3J'1 #X.73(TE RECORO AMOVE ACTUALLY OVER.

2841tS THE VERY FtQ3T RECORD ON THE FILE)/I0.J82ENO OF LCHO OF HeIGIC OUTPUT vILLIbtt)E:*U

is used to define all formats used for input and output within the program andto indicate the end of this program.

4-9

JTCG/AS-79-V-008

SUBROUTINE FSORT

This subroutine is invoked by two programs in the QKLOOK set, ProgramsPRERD and QKPK. It is used to sort the component information arrays intoascending order by component number. ICOMP is the array of component numbersand is the basis for the sorting process while NOCOMP is the number ofcomponents in the array ICOMP. With the exception of ITC and PKNBR, which areused to dimension the passed arrays, the remaining arguments are othercomponent information arrays. These information arrays correspond to thecomponent number array by subscripts; therefore, a switch in this routine willrequire switches in each of the 12 corresponding arrays. Subroutine FSORT isused to perform a diminishing increment sort which requires a large number ofcomparisons but a relatively small number of switches, making this algorithmvery efficient for this type of problem.

The first set of statements

SunRUUTINE FSUiT(ICOMP,NOCUMPiAIlF ,ITAB.IANA.TINIT,NOP;dIS,

S DEPJMH.KvALITC.PbKNWI.hNFLRHOF. f.IU)IUTEGED IA,, A (lIC),

I )C. (TIC),

$ IF. (ITC),

S I (ITC),S IV (ITC),

$ J (11c),

3 NOPTS(ITC),$ PKI~iKREAL 6UFF.I(S0),

S SUFFx2 Mb),S DEPTM (PKONH,17C),5 PKVAL (PKNFKITC)v$ RHOF (Tic),

S THINFL(ITC),3 TINII (ITC)

is used to transfer 16 arguments to and from the calling programs, and todeclare 13 of these arguments to be arrays.

The statements

M a NOCOMP10 CONTINUE

IF (- .LT. 1) GO To 5u

are used to compute and test the increment size M. Initially, M is half of thearray length. After each of the M sublists is sorted, the routine returns toStatement 10. The increment size M is halved again and the sublist is sorted.The final sort is executed when M equals 1; then, the above IF statement causesa branch to Statement 50, the end of the subroutine.

The next statements

S NOCuwP - M

00 40J 2 l

Change 1 4-10

JTCG/AS-79-V-O08

are used to compute K, the number of steps required to sort the M sublists, andto initiate the execution of a DO loop for every step.

The statements

12J20 CONTINuE

IN a * M

IF (ICUMP(I) *LE. ICOMP(IM)) GO TO 40

are used to perform a comparison between two elements in a sublist. The com-putation for IM is used to indicate that each sublist consists of all arrayelements at intervals equal to the increment size M. If the comparison showsthat these two elements are already in ascending order, the routine branches toStatement 40, the end of the DO loop; otherwise, the two array elements and allcorresponding array elements must be interchanged.

These statements

NO z ICOMPII)

m2 2 IFG(I)N 3 ITA 0(I)N4 IANA(I)

NS 2 IT(l)N6 2 IU(l)F47 a NOPNTS(I)31 a TINIT(I)00 30 M*4 2 I,0KN8k

BUFFWItMt4) a UEPTH(MMP4)8UFFR2(MM) 2 PKVAL("Mpl)

30 CONTINUE84 = THINFL;I)55 2 wmOF(I)t¢OMP(II Z ICO-P(IM1

4AT(I) = CAT lM)

IFG(1) 2 IFG(IM)1106(1) 2 11T61114)

JAN1) = AM Z ANA(IM)

1Y() Z IY(I )LUll) a IUtIp)

NOPNTS(I) 2 NUPNTS(IM)TINIMIl) a IINI1III4)DO 34,MM x 2 .PKI,8,0

DEPTHCMM,I) a OEPTH(M ,IM)PKVAL(*4,I) 2 PAVAL('M.IM)

34 CUPtr1.uETHINFL(I) 2 T.INFL(LM)MOF(1) a RHUF(IM)ICUIA(IM) 2 NU

IFG(IN) N.2ITAUCIM) N 13lANI(IM) N 14IU(114) 2 N6

NOPNTS(IM) * NTTINIT(IM) a 31DO 38 MM a I,PKNBWOEPIH(MM,IM) 2 6UFFMItmN)PKVAL(MM,1) U BUFFR2(MM)

38 CONTINUETNINFLIIM) 2 S41OF(IM) x SS

are used to switch the two compared elements along with all elements from the

12 other arrays corresponding to them.

4-11 Change I

JTCG/AS-79-V-008

The statements

IF (I .GE. 1) GO TO at)

are used to finish the sort of the sublist. After the switch of two sublistelements in the previous step, I is decremented to the next element lower inthe sublist. The IF statent is used to branch back to Statement 20 where thetwo lower elements of the sublist are sorted. The IF statement does not branchback when I is already at the bottom of the sublist.

The statements

40 CONTINUEG0 TO 10

are used to end the DO loop and cause a branch to Statement 10. The DO loopis completed when all of the M sublists are sorted. The branch to Statement 10is used to halve the increment size and repeat the above steps.

The statements

50 CONTINUERETURNENO

are executed only after the increment size M is less than one, which means thatthe array ICOMP has been sorted into one sublist. These statements are used toreturn control to the calling subroutine and to end this program unit.

Change 1 4-12

S'

JTCG/AS-79-V-008

PROGRAM PEAKAY

This program is the fourth in the series of QKLOOK programs. It is usedto compute component, system, and total target kill probabilities and vulner-able areas. The encounter penetration times, which are read from the binaryfile generated by Program QKPK, are used to compute the kill probabilities inSubroutine PENT, the only subroutine in this program. After the componentand system Pk's are known, the vulnerable area computations are done in ProgramPEAKAY with the assumption that the presented area for each encounter equalsthe grid size. The printed output includes presented areas and vulnerableareas for individual components, systems of components, and total target.These data can be computed for up to 10 time intervals specified by the userin the formatted input. A greater number of time intervals may be obtained byusing multiple runs with the same binary input file. A copy of all input, theshot line Pk's, and the formatted output are also produced on four binaryoutput files.

The first group of statements

INTEGEP AVILAG

$ PKVAL(10#10U),NUVNTS(SgO}.PL5(Ittu),

OS UCOMPCI)MPAV(NtU el0 ),tt IDel)M. S(1U),NTIA I uY(S.O}

$ PmUt.T(tO.tO),[U(ouU).PSAEA(SOU)

COMMON /UNE/ F(50u),P NT(4 5uO) AVILAGcumo N /LUNtTSI1,0 a 1,,IU

DIMENSION PKNK(SuUt)TVA(IO),TVAM(IO),ISLT(10),SAMEA(iO)

is used to declare AVFLAG as integer, to allocate common storage areas, and to

declare array dimensions.

The statements

DATA INDIAw.IITIUUIIIUUT2a.1UT3,OUIT 17,8.2,10,11,12,13luAlA PMULT /1UU*U./DATA XSTeNUM1,NST /360/DATA PAREA /54PU*U./DATA (COMPAv(C1 1).I=1SUO) /SUU*0./DATA (COMPAV(I,2),1=1.50Q) /50000.1DATA (CUDPAV(I,3),1=1,5U0) /500.0./DATA (COMPAV(I, ),j j,500) /5UO*O./DATA (CUMPAV(15) 1=1500) /500.0.1DATA (COM6AV(Ieb)*6 11500) /50000./DATA (CuMPAv(1,7)1Z=|'500) /SOUO../

DATA (COMPAV(1,S) .11.500) /500.0./DATA (COAIAV(I q) ||SQ500) /SOO./DATA (COMPAv(1.120) .=: 500) /500*0./UATA CPWNI(lI),1:1.50U) /54O*0./DATA (IMNT(aI) ,=a,.O0) /5UO*O./UATA (Px,4T(3,1),LzL,500) /500.0.1UATA (/5NrC(AI).1l.|SO0) /U*U./DATA ITOTL /0/DATA TVA /10*0./DATA 5ANEA /10*0./DATA ITC /500/DArA PCV /90./DATA SUFSUP /O.092903041

represent DATA statements, which are used to initialize several variables.* The variables in the first DATA statement are the input and output device

numbers. The last three DATA statements are used to initialize the dimension

4-13 Change I

JTCG/AS-79-V-008

of the component arrays, ITC, the percent of vulnerable area, PCV, and a factorfor conversion from square feet to square meters, SQFSQM. The rest of thevariables in the DATA statements are initialized equal to 0.00

The statements

OPEN (IROFILE:'PKOATA'.RECFM: '0S'MAXWECLZBOPAD:YES)

OPEN (|hFILEZ'PKPIINIVRECFMX'D ',CARN1AGE CONTkOL:'FORTRAN')OPEN (CINFILE:'UKPKTAPEOUT'.FOHM:'UNFOWIATTEOD',ECFMZ'VAR|ARLE )OPEN (OUItFPLE:'PKTAPEUuTI',FUM:'UNFUMAlTEO',(ECFM='VARQ bLE-)

OPEN (!OU12,FILE='PKIAPEOUT2",FOWP 'ULrFORMAITED'.RECFM=°VARIABLE )OPEN (IOUY3FLE=PKTAPEOUT3",FOOM='LNFUkMATTED(ECF ='VARIA8LE')OPEN (1OUT4,FILE='PKTAPEUUTa' ,FUkM'UNFORMATTED' ,ECFM='VARIABLE*)

are used to connect logical units to the input and output files and to

establish the connection properties between each unit/file pair.

The statements

REZNO IINEOAD (IROO03) NTIMEAVFLAGREAD (IXO, IOU) (IINE5tJ)1J,NTIME)

REAO (IIN) AZEL.GRID,JDVEH, MAX,YM II,ZMAXZM:' NOCUMP

3 (KeVAL(JI).JI,NUPNTS(I),I:I.NOCUM ),IRVRS.IFMA,

a (FTIe(I)FXCM(IJ),I:1,1FMAX)

are used to read the formatted input file and the first two records of thebinary file from Program QKPK. The REWIND statement is used insure that thefirst binary read will start at the file origin. The two formatted READ state-ments are used to read the number of time intervals, the flag determiningwhether component vulnerabilities are to be calculated as true or as incremental,

* and the times for each interval. This is the only formatted input required forthis program. The two binary READ statements are used to read the first tworecords of the binary input file. These data include the viewing grid descrip-tion, the component information arrays, and the flux distribution table.

The next statements

IF (IIC .GE. NUCOMPOP) TIEN

WRITE (16k,4) N'T] E,(TImkS(J),J=INTIME)

VR$3 2 IRVkS

01ITTE (1,%h,6Uu) IF-AX

If 2 0.IV 620 I = I.IFmAx

Ib Z TETE = FII (I)

O2O CUNTINUE

Id TIE

RAITE (Iae,82(6) ToIEFAC (IFMAX)

are used to test the number of components and print the first page of formattedoutput. The block IF statement is used to insure that the number of components

.-_ j does not exceed array dimensions. If this fatal error occurs, the program willexecute the ELSE branch of the block IF. Note that Program QKPK also tests andaborts on the same error. The first WRITE statement is used to print the

"" number of time intervals and the time values for which Pk's and vulnerable areasO will be computed. This is followed by two WRITE statements that are used to

print the reverse flag and the number of points in the flux distribution. The

. Change 1 4-14

JTCG/AS-79-V-008

rest of the statements are used to print the flux distribution table. The DO

loop is used to print flux array values with corresponding begin times and end

times. The final WRITE statement is used to print the final line of the flux

table indicating that the last flux level applies to all times greater thanthe last end time.

The statements

AITE (JOUT1) AZ,EL,6.4IU,IUVEHYMAX,YMINZMAX,ZMINNOCOMP

nlTE (IbUUl) (ICU'P(1),IFLG(I),IY(I),IU(I),I:tNUCOA P) IRVRS,

S IF4AX (FTIM(I).FXC1CI4 ),I=. IFMAX)10 CONTINUE

READ (11(4) ({Rl(lJ)l =l,lO),R3(J) 11(J),J=t3 200)

wRITE (]OUlI) [[FI(I.J),I:l,,O),H3(J)al[J).J~lOO)IF (I1(210o) .NE. 9999) GO TO 10

are used to save a copy of the binary input data from Program QKPK on the firstbinary output file. The first two binary WRITE statements are used to writethe data from the first two records of binary input. The statements following

Statement 10 are used to iteratively read and then write the binary records.

The IF statement is used to test for the end of view flag and to continue toloop until the last binary record has been echoed. Note that data writtenon device IOUTI are in the identical order as data on device IIN.

The statements

ENO FILE IUUT1eREWIND libw

GRID = G I D * GRID / 144.

are used to place an end of file mark on the first binary output file, torewind the binary input file, and to convert the variable GRID from a lengthto an area expressed in square feet.

The statements

NEAD (114)hEAD (IIN)MAXTIM X NTIML + 2

are used to skip the first two records of the binary input file and compute thevariable MAXTIM, which is a dimension size for the SHW array. By using the two

binary READ statements to pass two records, the binary input file is now at the

start of the shot line penetration times computed by Program QKPK.

The statements

100 CONTINUE --

READ (LIN) ((RI(I.J),IzIIQ).03(J).Il[J).J:l, 2 OU)00 110 J = 1eauo

IF (11(J) .EQ. qqqq) GO O 5000

are the starting point for the time file processing loop. The binary READ isI used to read and store one binary record which fills three arrays. The DOstatement is used to initiate a DO loop which iterates 200 times to process

I each set of array elements. The IF statement is used to branch out of thetime file processing loop when an end of view flag is detected. Since the

4-15 Change 1

I-

JTCG/AS-79-V-008

J

end of the DO loop is followed by the statement GO TO 100, Statement 100 is

used as a return point so that another record of binary input may be read and

processed.

The statements

IF L15 *LE. 0) THEN17OTL = ITOTL *NE NC I 10()NSHT =NS"Y ,

iSh:( I'NS 1T) 2 RI(I,J)SNN 2,S"7) = RI(kj)

IF (NENC .NE. 0) ImENIS7 X NSHT

NUM 2 0

are used to store the initial data for each new shot line on the viewing plane.

The block IF statement is used to test the shot line index, IST. The index ISTequals 0 when a new shot line is being defined. When the IF statement detectsa new shot line, the preceding statements are used. The variable ITOTL, whichcounts the number of shot lines in the view, is incremented by using the firstassignment statement. The number of encounters on the shot line is assigned toNENC and the subscript NSHT is incremented by using the next two assignmentstatements. The first two rows of the array SHW are used to store shot linecoordinates on the viewing plane. The second block IF statement checks if thereis at least one critical encounter on the shot line. If so, the next two state-ments are executed to assign the shot line numbers to IST and to initialize thesubscript NUll.

The statements

ELSEDO 112 MM S 3,MAXTIM

SNAOM.NSNI)-9112 CONTINUE

END IF

are executed only when a shot line has no critical encounters. The DO loop isused to fill the rest of the SHW array with the value -9.0, designated as aflag to indicate no critical encounters. The END IF statement closes the blockIF.

The statements

ELSE

00 114 K 5 1.10PKTIME(K.NUM) k lI(KJ)

• . I ]14 MOIl]NUE

PLSINIM) 2 R3(J)NAAE(NUM) S TIJ)

can be executed only when processing a set _oti-na~y-lt tata that containspenetration times for an encouato -. , not the start of a new shot line).

* The first assignment-satTment is used to increment the variable NUM and theremaining-aeSsfiment statements are used to store the eleven penetration timesas well as the component number location in the PKTIME, PLS, and NAME arrays,1 indexed by the encounter number NUM.

Change 1 4-16

[I

JTCG/AS-79-V-008

The next statements

IF (NUM GE. NENC) ThLNi)U Ittl I Z 1.1U

ISEI (1) =i15 CUNTINUE

UU 118 I a I NENC1 z NAmEI)LL 2 ITEM1)IF (LL .NE. U) LSET(LLJ Z1IF (I .NF. NIENC) THEN

UU l 1b 1 3 = I-l.NENC

IF (I1 .EW. 14AME(L3)) GO TO 118I16 CUNTINUE

ENO IFPAkEA(II) 2 PA HEA(II) + 1.

its CUNTINUE

are executed only after the data for every encounter on a shot line have beenstored. The first DO loop is used to assign zeros to the system encounter

I array ISET. This is followed by a DO loop which is used to increment thepresented area array PAREA for each component on this shot line and to assigna one to the ISET array for every system represented on this shot line. The

I first two assignment statements in the loop are used to assign the componentlocation to II and the system number to LL. The logical IF statement is usedto allocate a one to the ISET array if the encountered component is in a

system. The last assignment statement in the loop is used to increment thePAREA array for the encountered component. The block IF with its DO loop isused to insure that the presented area for a component is incremented onlyonce even if the component is in more than one encounter on a shot line.

The statements

DO 119 1 = 1.10

SA4EA(I) Z bAWEA(I) * ISET(I)

119 CONTINUE

are used to accumulate the number of shot lines that encounter each system intothe SAREA array. When all shot lines for a view have been processed, the SAREAarray contains the number of shot lines that have an encounter with a componentin each system.

The next statements

CALL PENTIST 0

are used to invoke Subroutine PENT and reset the shot line index IST. Sub-routine PENT is used to perform the shot line penetration computations forcomponent, system, and total shot line kill probabilities at the time intervalsspecified by the user's formatted input. These data are transferred using thecommon storage areas.

The statements

0I) 107 II = I,NTIMETVA(II) z TVA(II) SHW(1I#2,NSHT)

107 CUNTINuE

4-17 Change 1

JTCG/AS-79-V-008

are used to store the cumulative kill probabilities for all time intervals.After all shot lines have been processed, the array TVA contains the cumulativekill probabilities for a shot line at each time interval from the first to theNTIME intervals. These data are used later to compute the total target vul-nerable area at each time interval by multiplying the kill probability by thepresented area.

The next statements

ENE IFEND IFIF (NST .EO. 200) THEN

P6PITL (IUU72) I(SHh(1IMM). I:I.I1),PM:| 2U0)NSHT=0

END IF110 CONTINUE

GO TO IO0

are used to end the time file processing loop. The first END IF statement closesthe IF block used when all encounters on a shot line have been processed. Thesecond END IF closes the IF block that tests whether a new shot line is beingdefined. The block IF statement is used to execute the binary WRITE statementwhen the SHW array has data from 200 shot lines. The execution of the binaryWRITE statement is followed by an assignment statement which is used to resetNSHT, the number of shot lines in array SHW, to zero. If the array is not full,the block IF is bypassed and execution continues at Statement 110. This state-ment is used to end the time file processing DO loop. After the DO loop has beenexecuted for each of the 200 elements in the binary input arrays, the GO TOstatement is used to return to Statement 100 to read and process a new set ofbinary input.

The statements

5000 CONTINUE

NSHT ZNS

00 500 ( K 3,MAXTI#4SHW(KNSHT) -q999q.

5010 CONTINUE

wkITE (IUUT2) ((SM (I1,t4),I121.iE),MMl.20V)

END FILE IUUT2

are executed only after the time file processing loop has detected the endof view flag. The assignment statement and DO loop are used to assign anend of view flag equal to -9999.0 in the next row of the SHW array. The binaryWRITE statement is used to send the last set of shot line Pk data to the binaryfile on device IOUT2. The ENDFILE statement is used to put an end of file markon the binary output file.

The statements

0 AmI7IE (Irn..7VU1) PCVJOU a 0FkV 2 PCV 0 0.01

are used to begin the next page of PEAKAY printed output. Execution of theWRITE statement prints the heading for the page of output containing the timeintervals during which the vulnerable areas reach 90 percent of the presentedarea. The two assignment statements are used to initialize the counter JQQ andto convert the required percent of vulnerable area PCV to decimal form. (The

Change 1 4-18

A

JTCG/AS-79-V-008

value of 90 percent for the variable PCV is assigned in a DATA statement. Ifanother percentage is desired, a change of value in the DATA statement is theonly action required).

The next statements

00 8000 mU a 1,NOCOMPIF (IFGtMa) .%E. 0) IMEN

IF(PWNT(3,MQ) .LE. U.) THEN

jgZJg* IPKNK(JUU) Z ICUMP(?O)

END IF

are used to begin a loop which determines the time interval during which eachcomponent's vulnerable area reaches 90 percent of its presented area. The DOstatement is used to initiate the loop which iterates for every component.The first block IF statement is used to exclude noncritical components fromthis summary by passing control to the end of the loop if the component'scriticality flag is not set. The second block IF statement is used to deter-mine the components which have a zero probability of kill by testing the thirdrow of the PRNT array. The statements in the IF block are used to count andsave the component numbers for components which have a zero probability of kill.The variable JQQ is used to count these components, and their component numbersare saved in array PKNK.

The statements

IF (PAWEA(M() .GT. V.) THENr 6 U10 K IrJTIME

IF (COMPAV(MIJ#e)/PAREA(MQ) G6E. FRV) THEN

IF (K .GT. 1) THLN

ELbEid :0

ENu IF*RLTE (IKR.1OU2) C P(( eP T(J ,J t )T ,

S TImES(K)Go TU Ou0'

Et.0 IF6010 CM.41INU

END IF6000 CONTINuE

are used to select the time interval for which each component's vulnerablearea reaches 90 percent of its presented area and to print that information.The first IF block is used to bypass components with no presented area; i.e.,no shot line has an encounter with the component. For components with apresented area, the DO loop is used to test the component vulnerable areaat each time interval. The next IF block is used only for components whosevulnerable area reaches 90 percent. The block contains another IF block todetermine the time interval during which the vulnerable area reached 90 per-cent of the presented area. The WRITE statement prints component encounterinformation contained in the PRNT array as well as the time interval previou. lydetermined. The GO TO statement then branches to the end of the componentloop. The END IF statement following Statement 6010 closes the IF block forcomponents having a presented area. The following WRITE statement is executedfor components whose vulnerable area does not reach 90 percent of the presentedarea as well as for those which have no presented area. Statement 8000 is used

4-19 Change I

i I-g

JTCG/AS-79-V-008

to end the DO loop executed for every component.

The next statements

OU 305 J 1tOCOMPPAIEA(J) 2 FAkEA(J) GkIO

DO 3)0 K z 1TICOMPAV(J,K) U CufPAv(J,K) * GRID

300 CONTINuE305 CONTINUE

use two nested DO loops to compute component presented and vulnerable areas.

The presented area, A, is computed using the expression:

A = NS AG (3-19)

The vulnerable area is computed using the expression:

AV= AG Pki (3-20)i=1

The sum of shot line Pk's was computed in Subroutine PENT and stored in the

COMPAV array. The outer DO loop is used to iterate for every component andthe inner loop is used to iterate for every time interval.

The statements

00 315 K z IoTI"ETVA(K) 2 TVA(K) * GWIDIVAM(K) a TVAIK) * SOFSUmDO 31# J 2 1,10

PMUL1(J.K) 2 PMULI(JtK) G IRID

310 CONT 1I UE315 cONTINUE

are used to convert the total target and system kill probabilities to vulner-

able areas. The outer DO loop is used to iterate for each time interval. The

first assignment statement is used to compute the total vulnerable area as the

product of the total Pk and the specified grid area. The second assignment

statement is used to compute the total vulnerable area in square meters and

store it in the TVAM array. The inner DO loop is used to iterate for each of

10 possible systems. The last assignment statement is used to compute the

system vulnerable area by multiplying the system Pk and the grid area expressedin square feet.

The statements

IF (AVfLA, EUL. 1) 7MN

SRITE (Io1R,11U#K) (TI7PES(k),KUI,NTIME)ELSE

viaITE (1lNe 1007) (TIAES(K) ,KU1.-4TIME)

END IF9 *NITE (1013) AZELeIFMAX.LFTIM(I),FXCP(I),l,-IFMAX ),vRS,

- NOCOmP.NTI1NE.(1Ih S(I).Iml.NTIME)

Change 1 4-20

JTCG/AS-79-V-008

00 320 J 2 I.NOCOmP

IF tIFG(S) ..E. 0) THENIRITE (IAR'Ib05) 1COMP(J),PAREA(J),(CCPYV(J,K),X:INTIME)NNITE (IOUT3) ICOMP(J),PARkA(J) (COMPAV(J.XK) =.,%TLME)

END IF320 CONTINUE

END FILE IOUT3

TOTL a IIUIL*GID*I. TE (I'N.7U05) TOTL,ITOTL%R4IE (IaW.70Ub) (IVJA(K),K=1,NTINU)

are used to write the third page of PEAKAY printed output and the third binary

file. The first IF block is used to print the page heading and time increments,depending on whether true component vulnerabliities (AVFLAG = 1) or incrementalcomponent vulnerabilities (AVFLAG = 0) are calculated. The first binary WRITE

statement is used to write the attack angles, the flux table, the reverse flag,the number of components, and the time intervals on the binary output file. TheDO loop is used to print the component number, the presented area, and thevulnerable area at each time increment for every critical component. Two WRITE

statements are used to write these data on both output devices. The IF block isused to bypass the WRITE statements for noncritical components. The ENDFILEstatement is used to write an end of file after the third binary file. Theassignment statement is used to compute the total target presented area as theproduct of the total number of shot lines and the grid size. The last twoformatted WRITE statements are used to print the total presented area, thetotal number of shot lines, and the total target vulnerable area at each timeincrement.

The next statements

NITE MiN.o006) (TIMES(K,Kz1,NIME)

DO 325 K a 1,10SAREA(K) 2 SAREA(K) * GkIOWRITE CIOUT4) SAREA(K),I((PMULT(KJ).J:INTIME)mRITE (LeN.IUD5) K.SAWEA(K),(PMULT(KJ),J:I,NTIME)

325 CONINUE

are used to start the fourth binary output file and to print the fourth page ofPEAKAY formatted output. The first WRITE statement is used to print the headingand time increments for the new page of formatted output. The DO loop isexecuted for each of ten possible systems. The assignment statement is usedto compute the system presented area by multiplying the number of shot lines bythe grid area. This is followed by two WRITE statements which write the systemnumber, system presented area, and the system vulnerable area for each timeincrement on both output devices. If a system number is not used in the targetmodel, the system number is printed with 0.0 values for the presented andvulnerable areas. It should be noted that a multiply vulnerable component doesnot contribute to any system vulnerable area.

Execution of the binary WRITE statement

akIlE (IoUto) JOg,(PKNKtNCNJ),NCN=I,JUU)

records the component number of any component with a kill probability equal tozero on the fourth binary output file.

The next group of statements

4-21 Change I

qm

JTCG/AS-79-V-008

Uo 360 J a 1.N(CUMP aPANEl A ) a P'AWL A, j) *swISIjm00 3 0 K = ,N 1ML

CU"Ph VIJ,K) 2 CUMPAV(J,K) * SIJFS4M350 C04IINut360 CUNT I NOE

IF tAVFLAG .Eu. 1) T7HLNAWIIE (lak.luub) (TIMLS(K),K=1,4IrTIME)

ELSt%WITE (IAW,lull) (11MLS(K),K=.I1TIME)

END IF00 370 J I.NOCOUm

IF (IFGIJ) .qt. (j)$ .NIE (IRN,1UU5) ICUMP(J),PA.LA(J),(CUMPAV (JK),K=INtI E)

370 CONTINUETOIL 2 ToIL * bUFSOMnWITE (IwM,7007) TOIL.IIOIL

IRIIE (IhTt,00) (7VAM(K),K=j,1TIME)

is used to print component presented area and vulnerable area table valuesexpressed in square meters. The first two nested DO loops are used to convertthe presented areas and the vulnerable areas from square feet to square metersfor every component and every time increment. The IF block prints the pageheading and time increments, depending on whether true component vulnerabilities(AVFLAG = 1) or incremental component vulnerabilities (AVFLAG = 0) are calcu-lated. The second DO loop is used to print the presented area and vulnerablearea tables for all critical components. Noncritical components are excludedfrom the table by using the IF statement inside the loop. The last three state-

ments are used to convert the total presented area to square meters and to printthe total target vulnerable areas.

Then the statements

kIlTE (wW.N luuq) (TINES(K),%=, ,NTIME)DO 400 K Z 1.10SAREACK) C SAREAK) * SOFSOMDO 380 J a INTImfPMULT(KJ) Z PMULT(K.J) * SOFSOM

380 CONTINUEWRITE (IOUTA) SARLA(K),K,(PMULT(..J),JINTIME)wkITE (IHRIU5) KbANEA(K),(PULT(KJ).J~l.N7IME)

400 CONTINUE

are used to form two nested DO loops used to print the system presented areaand vulnerable area tables after converting all values to square meters. Theouter DO loop is used to iterate for each of the ten possible systems. After

the system presented area is converted, the inner loop is used to convert thesystem vulnerable areas at each time increment. The last two WRITE statementseach contain an implied DO loop, and are used to write the system number,presented area, and vulnerable area at each time increment. Statement 400 is

used to end the system DO loop. These statements are used to write a recordon each output device for the 10 system numbers. If a system number is notused in the target model, a record is printed with zeros for the presented

and vulnerable areas.

The statements

aNIlE (IaN,7uIt)

00 330 J 1,NVUCUMPIF (IFGJ) .NE. 0) *AND. (PAREA(J) .LE. 0.))

5 WRIIE (IAN,7l?) ICumr(J)

Change 1 4-22

JTCG/AS-79-V-008

330 CUNTImUE

are used to print the seventh page of PEAKAY formatted output which consists ofa list of critical components whose presented areas equal zero. The firstWRITE statement is used to print the page heading. The DO loop is used toiterate for every component. The IF statement is used to print the componentnumber for critical components with zero presented area. Other components arebypassed.

The next set of statementsRRITE (IR,7013)

00 340 J 2 i ocoMPIF ((IFG(J) .NE. 0) .AND. (PRW (3,J) .LE. 0.)) THEN

A30F 2 PAMEA(J)/S3FSUNWNITE t( R.1010) ICumPjjjASUF.PANEA(J)

END IF340 CUNTINUE

is used to print the last page of formatted output, a list of critical

I components with zero vulnerable area. The first WRITE statement is used toprint the page heading. The DO statement is used to initiate a loop to check

I every component. The IF block checks for critical components whose vulnerablearea is zero. For those components, the presented area is converted back tosquare feet by executing the assignment statement. The last WRITE statementis used to print the component number, and the presented area expressed inboth square feet and square meters for any component with zero vulnerable area.

The statement

ANITE (IUUT4) (TVA(I),TvAm( ),IXI,NTIME)

is used to write the total target vulnerable areas in square feet and squaremeters at each time increment on the last binary output record.

The statements

ELSEAnETE (IWR,7U4)

END IFSTUP

are the final executable statements in the program. The ELSE branch of theblock IF is executed only if the number of components is too large for thearray dimensions. The write statement is used to print a fatal error messageon the formatted output file, and the STOP statement is used to halt programexecution. Program QKPK tests and aborts on this same error.

The last group of statements

4 FOiEAT ( NTIMER3,15. StEPS'/IUX,* TIME STEPS ARE:'.IOFiO.316 FOM&T (101,* INVRS5:%FS.U)

800 FORMAT V NUMBER UF PUINTS IN FLUX DISTRIBUTION :'15/S ' BEGIN TIME*,5X.K ENO TLME'tTA,'FLUX*)

610 FORMAT (1X,F10.2,3XF1U.2,3XF10.2)1001 FORkAT (10Fo.Z)1002 FORMAI (S(JF6.2 2 ))1003 FO.mAT (215)

4-23 Change 1

JTCG/AS-79-V-008

10(,4 FOl'mAT t*) eESElYTE AKLA ANo3 TkuE CUi.VONtrNT VULEWAbLE AREASS '(SIw. FEtfl) PER TIs'L INCkEmL~d*// 1Imt INC4LmtNIb'vdI,1Fl0./)

~~tI 3~~~005 FU..AT 7 .O5%,u~.,1066 F0.(MAT 0I1 'wkbF.NTfV APLA ANI' TRUE CUPUNENT VULE19AbLt AREAS

S '(56i. %Fikwbl PER 711't INCwkMENT'//' TIME I-qCwEMLNT5. 14x,S I OF 10.21 j

1007 POwkAI (*I PRFSENTE, AREA AND INCREMENTAL COMPONENT VULEWABLE '

6 'AREAS (54. FEET) PEWi TIME INCkEMENI/' TIM4E INCkEMENIS.O,x

1006 FO."EA7 ('I PRESE%TtU AREA Atwu SYSTEM VULERABLE AREAS (50. FEET) '

6 '6PER ?RNL INCw mENT'//' TIME ItNC~kEN1S',4X,IOfI0.2/)1009 FORMAT CI3 PxtEbENTEO AREA ANLJ SYSTEM VULERSOLL AREAS (SO. METEkS)'

S PER TIME INCwEmqET'//' TIME INCwtmENTS',4X,OFIVj.2/)1030 FOOMAT (3X,16,9K,2EI2.5)1011 FOk1.A' (*I PRESENTED AREA AND INCWEMLNTAL COMPONENT VULEkABLE '

3 'A.wEfS (Sid. METERS) PEW 1114E 1NCWEMENT'// TIME INCIkEMEN7S'.'JX,

5 IUF30.e/)7001 FOwiA1(',*A5,*CUMP. NO Y-COOWO. 2-COORD. MAX. PR '

S T37ME',.IIME INTERVAL DURING WHICH VULV.RAbLE AREA REACHES',5 F4.0.'2'IbbX,'OF TME PRESENTED AREA*/)

7002 FORM044 (CIl1;aX.2EI2.bFit.faF)2.N.303,FI2.4,' TO',F12.4,' SECONDS'7 005S FORMAT I TOAL TAW ET PRESENTEJ AREA (S(D. FEET) a'.FI(,.S,

S X'CI. TUTAL SHITLINES)')7006 FONMAT C TOTAL TAOGET VULNERAbLE AREA (0. MEETER) PER '

* S 'TIME INCNEMENT'//(eGA.)OFi0.b))7007 FORM4AT I' C7ITAL COMUNNTGEOS PRESENTED AREA (SO.L MEERO'.'F~.5

7011 FORMAT ('3 CRITICAL COM4PONENTS WHOSE PRLSENATE AREA EUALS ZERO'.V' ARES)'CPNET PEETDAA(5.FE AN5.MERS)

7012 FORMAT C NMTDMESUS R OOSAL..1GMMHLTN'701 ENDA ICIICLCMOET HOEVLEA RE QASZR-

is used to define the input/output formats needed for program execution.This group of statements concludes Program PEAKAY.

Change 1 4-24

JTCG/AS-79-V-008

SUBROUTINE PENT

This subroutine is called by Program PEAKAY for every shot line on the

viewing plane and is used to compute the shot line penetration. Two nested

DO loops are used to proceed along the shot line encounters at the time

intervals specified by the user in the formatted PEAKAY input. The penetration

times from the PEAKAY binary input file are used to compute component kill

probabilities at each time interval. The component Pk's are used to computesystem Pk's, total shot line Pk's, and cumulative Pk's for each component.

The statements

SUdi' TINE P&NTIN1E~aR AVFLAGI0I4EN$1ON KC(1OU) ,"S(1U)

SCDMAUN K Il( 1, 0 '), .3(2uQ).l1C20o),WKTIME(i0,100),

S. PKvAL (I0, Ic0) .NOI-fI(5u0) ,PLS (1O)

S LOCI ,u),ISTINS 1 % NC. ICOMO(S0U),S110( 12,200),N uC cPCI4 PAV(su. iU).GRiu,it S(I),rimE.1y(5U0)I .,

3 PMuIULt?. 10), 1Utfi~i).bPAQEh 5u(,)COeN /UNE/ IFGt(50).PW'Tt(a,4 UO)eAVFLAG

LIJ&IC*L SSY8 MULSTS,IXSETLUGICA SNGSYS Ve

are used to declare array dimensions, provide for transfer of data into and

out of this subroutine via common storage areas, and to declare the variable

AVFLAG to be integer and the variables SNGSYS, MULSYS, and IXSET to be logical.

The statements

NENU zI00 10 11:.10

P13(II) a 0.10 CONTINUE

are used to initialize the variables PMX, TBEG, NEND, and the PKS array.

The next statements

00 6000 NTIMSI.NrIME

TEND X TIMES(NTIM)NBEG S NEND

are used to begin the time penetration loop. This DO loop is executed for

every time interval specified in the user card input. Execution of the

first assignment statement results in the assignation of the end time for

this interval to the variable TEND. Execution of the other assignment

statement results in the value of NBEG being set equal to the last encounter

number that was not breached during a previous time interval.

The statements

00 1000 IIXNOEG.NENCNENO U 11

P:C1( 0.PKC(II) S 0.

SPK 2 0.

1 2 LOC(II)L 2 IY(I)

4-25 Change I

JTCG/AS-79-V-008

are used to start a DO loop which iterates for each encounter remaining onthe shot line. The first assignment statement is used to transfer theencounter number for the iteration to the variable NEND. The next threeassignment statements are used to assign initial values of 0.0 to thevariables PK, PKC(II), and SPK. The last two assignment statements are usedto assign the component number location to I and the system number to L.

The next two statements

SNGSYS Z CL NE. 0) AND. (IUM() .EQ. 0)

HULSYS C (L NE. 0) AND. (IU(I) EQ. 1)

are used to assign values to two logical variables. The singly vulnerablesystem flag, SNGSYS, is assigned a value of TRUE only if the encounteredcomponent is in a system and its multiply vulnerable flag, IU, is 0. Themultiply vulnerable system flag, MULSYS, is assigned a value of TRUE only ifthe encountered component is in a system and its multiply vulnerable flag isset to a value of 1.

The statements

IF (TEND .LT. PKTIME(1,II)) GO TO 1900IF (PLS(II) .GE. PKTINE(1,II)) THEN

IF (PKVAL(KOPNTS(I),I) .EO. 1.0) THENPKI Z AMINI(PKTIME(NUPNTS(I)hI),PLS(II))

ELSEPKI a PLS(11)

END IFIF tTSEG .LT. PKI) THEN

II a I

1XSET .FALSE.20 CONTINUE

IF ((Ix .LT. NOPNTS(I)) .AND.S (PKTIME1IXII) .LT. TEND)) THEN

Ix Z Ix * IELSE

IXSET a .TRUE.END IF

IF (.NOT. IXSET) GO T0 20P1 2 PKTIME(Ix-1,11)

P33 : AMINI(TENOPPKI)

IF ((P33 .LL. KTITJE(NOPNtS(I),II)) .AND.S (PK2 .KE. PT11E(lx,II))) 'HEN

PK Z IPK3 - FK2) I (PKTIMt(IX.II) - PK2)

S (PAVALtI1.I) - PKVAL(IX-I.1)) # PnVAL(IX-I,I)ELSE

1- . PAVAL(IXl,)

eNO IF

are used to compute the component probability of kill for one encounter. Thefirst IF statement is used to branch out of the encounter loop to Statement1900 if the end time for this interval is less than the minimum time requiredfor a nonzero Pk. The first block IF ascertains whether the time for completepenetration is less than the minimum time for a nonzero Pk. If so, executionfalls through to the end of the encounter loop. This event indicates that thecomponent is completely perforated with a zero Pk, so the computation proceedswith the next encounter. The next block IF determines whether it is possiblefor the current component to be killed with a single shot line. If so, themaximum possible penetration time for this encounter, PK1, is the lesser ofthe times required to achieve a Pk of 1.0 and the time to achieve perforationof the component. If not, the maximum penetration time is the perforation

Change 1 4-26

I.--7

JrCG/AS-79-V-008

time. The third block IF statement checks whether the maximum penetrationtime occurred during a previous time interval. If so, execution fallsthrough to the end of the encounter loop. If not, the progran initializesan index IX and a stopping condition flag IXSET for a "DO WHILE" type loop.The loop, beginning with Statement 20 and ending with the conditional GO TO,determines the minimum time associated with any of the entered Pk values thatis greater than or equal to the current time interval. The contained blockIF statement is used to increment the Pk time index until this value isachieved or until the last Pk time value is exceeded. The variable PK2, theminimum penetration time for this time interval, is set to the time associatedwith the last Pk value before the end of the time interval. PK3, the maximumpenetration time for this time interval, is the lesser of the end of the timeinterval and the maximum possible penetration time. The final block IFstatement is used to compute PK, the probability ,of kill for the encounter.If the maximum penetration time for the interval is less than or equal to thepenetration time that causes the highest Pk and if the minimum penetrationtime is not equal to the time for the next Pk value. PK is interpolated linearlybetween the nearest input Pk values. Mathematically this is expressed as:

(tM -

Pk Y (Pk + - PkN) + Pk (3-18)(t N+1 - tN ) N1 N

If the conditions of the block IF are not met, the ELSE branch is executed,implying that either the component has been penetrated beyond the depth that

'causes its greatest Pk or that upon penetration to a certain depth, the Pkis discontinuous. In both cases, the Pk associated with the time found inthe "DO WHILE" loop is the desired Pk, so PK is set to this value.

The statements

IF (AVFLQG .EU. 0) PK = PK (1.0 - P~x)PXC(II) X pitIF (11 .NE. 1) 1HN

O0 172 LIF (LOC(L) .P0. I) THEN

PK 2 PK * (1.0 - PKC(LM))PKC(II) = PKC(LM) + PKGO 10 175

ENO IF172 CU,vTINUE

Eio IF175 CONTINUE

are used to compute the total shot line kill probability for the components byincluding the PK from any previous encounters. The first assignment statementis used to store the encounter PK value in the variable SPK, which is used for

4 a system Pk computation. The IF statement is used to adjust the value of PKto obtain component incremental values if the area of vulnerability flagAVFLAG is reset; otherwise true values for component areas of vulnerabilityare obtained. The next statement is used to store the encounter Pk value inthe PKC array. The succeeding block IF statement tests if this is the firstshot line encounter. If so, program execution falls through to Statement 175.If this is not the first shot line encounter, the DO loop is used to search

4-27 Change I4-27

JTCG/AS-79-V-008

for the most recent shot line encounter for the same component. If noprevious encounter involved the same component, the block IF statement fallsthrough to the end of the DO loop on every iteration and the value of PKC(II)remains unchanged. If a previous encounter has the same component, theassignment statements are used to compute the probability of kill on the IIthencounter using:

~i-1Pei = Pi (I - i Pe.) (3-25)

j=1

The probability of this exclusive event is then added to the previous shotline Pk and is stored in PKC(II). The GO TO statement is then used to branchout of the loop.

The next statement

IF (SNGSYS) SPK = SPK * (1.0 - PKS(L))

is a logical IF statement used to adjust the system Pk value if the componentis singly vulnerable. In this case, the system kill probability is theproduct of the encounter kill probability SPK, and the probability of systemsurvival for all previous encounters (1-PKS(L)).

The statements

IF (PKC(1I) .T. PINT(3,1)) THENPwNT(1,J) = SNN(IIST)PONT(2.1) 2 Sliw(2,ST)

P" NT(3,I) = PKC(II)PRNT(4,I) : PK3

ELSE IF ((PKr(It) .EQ. PNNT(3,I)) .hNO.

3 (PkNT(4.) r1T. PK3)) THENPkNT(I,I) = SNW(I.IST)PNNT(2,]) 2 SMW(2,1ST)PRNT(II) = PK3

END IF

are used to store the maximum Pk encounter data for a component in the PRNTarray. The block IF statement is used to compare the encounter Pk with thevalue already stored in the print array for the component. If the encounterPk is greater than the value in the PRNT array, assignment statements storethe shot line coordinates, the component kill probability, and the penetrationtime in the PRNT array. If the encounter Pk is not greater than the value inthe PRNT array, the ELSE IF statement checks whether the encounter Pk is equalto the value in the PRNT array and whether the current penetration time isless than that stored in the PRNT array. If these conditions are met, theshot line coordinates and the penetration time are saved in the PRNT array.The END IF statement closes the block IF.

This statement

IF (TENO .LT. P1) GU TO 1900

Change 1 4-28

.-.

JTCG/AS-79-V-008

is used to branch out of the encounter loop if the maximum Pk encounter time,IPKI, exceeds the interval end time. If there is time remaining in the time

interval after this encounter, the program continues with the next statements.

These statements

IF (SNGSVS) PKS(L3 z PKS(L) 5 iP%TbEG a Pi3DO 500 NI a NTIMNTIME

IF (SNGSYS) PMULT(LNTI) : PMULT(LNTI) + SPK

COPAV(I,NTI) = CONPAV(INTI) + PK

500 CONTINUE

are used to accumulate the system and component Pk's from this encounter, andto specify the start time. The first logical IF statement is used to sum the4 system Pk into the PKS array for singly vulnerable components only. Theassignment statement is used to reassign the start time to equal the encounterend time. The DO loop is used to add the system Pk to the PMULT array, and thesteps are inside of the encounter loop, the component Pk accumulation isexpressed mathematically as:

NPk. L Pe. (3-26)

J i=I

The logical IF statement inside the loop is used to allow only singlyvulnerable system kill probabilities to be added to the PMULT array.

The statements

IF ((.4OT. MULSYS) .ANO. (AVFLAG *EO. 1) THEN

PMX Z PMX * PK * (t.0 - PNX)

ELSE IF ((.NOT. MULSYS) .AND. (AVFLAG .EQ. 0)) THENPMX Z PNX * PK

END IFEND IF

END IF1000 CONTINUE

are used to compute the shot line Pk and to end the encounter DO loop. Theblock IF is used to compute the shot line kill probability, excludingencounters with multiply vulnerable components. The shot line kill probabilityconsists of the sum of the probabilities of exclusive events. If AVFLAG isset, the probability that the current encounter causes a kill is calculatedusing PK. If AVFLAG is reset, PK already equals the probability of kill forthis encounter only. The three END IF statements end this block IF, the blockIF where the beginning interval time is less than the maximum penetrationtime, aad the block IF where the perforation time is at least equal to thetime required for a nonzero Pk. Statement 1000 is used to end the encounterDO loop. This loop iterates until the time interval is completed or allcomponents on the shot line are penetrated. Two IF statements inside theloop are used to branch to Statement 1900 when the time interval is completed.If all remaining components are penetrated during the time interval, thesubroutine continues with the next statements.

The statements

4-29 Change I

JTCG/AS-79-V-008

00 1500 NTI N71MNTIMESN.(NTI+2,IT) z PMX

1500 CONTINUERETURN

are used to store the shot line Pk for the remaining time intervals and toreturn control to Program PEAKAY. This is the end point of Subroutine PENTfor a shot line which is able to penetrate all of the encountered componentswithin the specified time intervals. The DO loop is used to store the shotline Pk values in array SHW beginning with the element for the current timeinterval NTIM and continuing through all remaining time intervals.

The next statements

1900 CONTINUEIF (.%OT. MULSYS) THEN

IF (AVFLAG .Lt. 1) ITMVSt1.dNTI'4*2.IST) Z ",I # PK .C1u PMX)

ELSE5I 6(TIM+2.IST) z PMX + PK

END IFELSE

SMv%(N11*2,Ib1) z PM%

END IFIf iSM-SYS) PMUL1tLNTIM) = PMULT(LNT1H) * SPKCUMPAV(II.IP) = CLIMPAV(INTIM) + PK

bOOO CUN INIE-ETUiNEND

are executed only after an encounter or series of encounters has used an entiretime interval. This condition is detected by using two IF statements whichinvoke a branch to Statement 1900 from inside the encounter loop. The outer

* I block IF is used to store the shot line Pk values after the NTIM time intervalin the SHW array. The first block IF statement determines if the component ismultiply vulnerable. If not, the inner block IF calculates the shot line killprobability, taking into account whether the probability of kill for oneencounter PK is a true value or an incremental value (probability of kill onone encounter and survival on all others). If the component is multiplyvulnerable, the ELSE branch of the outer block IF is executed and the shotline kill probability is unaffected by the current encounter. The branch to

*, Statement 1900 is executed before updating the shot line kill probability PMXto include the last encounter. Hence, this step requires an assignmentstatement and an IF statement to store the Pk values from the last encounter.The logical IF statement is used to add the system Pk value to the PMULT arrayif the encountered component is singly vulnerable. The last assignmentstatement is used to accumulate the component Pk values in the COMPAV array.Statement 6000 is used to end the time penetration loop. If all time intervalsare processed without complete shot line penetration, the RETURN statement isused to return control to Program PEAKAY.

Change 1 4-29A

JTCG/AS-79-V-008

Intentionally Left Blank

4-29B Change

-

JTCG/AS-79-V-008

PROGRAM PRERD

This program should be used before Program QKPK. It is used to check forpossible errors in the input cards. The output from this program includes atable of the component information arrays with flags marking possible errorsand several summaries of the data arragned by various parameters. All outputis on Logical Unit 6, the line printer. Table 4-2 lists the data checks whichare made in this program, and Table 4-3 lists the summaries that are printed.Any flagged error should be checked and corrected by the user since thisprogram does not correct errors for the user.

The first set of statements

INTEGER PVNRWCOMMON iCOUP(sOO).BAT(5OO ,IF(;r(On),1TAH(5OO),IANA(SOO),

£ Ip'1I('OO).N)PNPlPJ1TIn),nEpTm(IO.5OO),PKVAL(1O,500),

P$WfF(5003 !U(SOO),Iy(0O)CnvuON T I'FL(5OO).NnCOMPC"n N 1L0N] TR/ IRD0 lhRcnmON /SIZES/ TTC,IFXDT-ENSION lF(34)

DATA IPLNK.|CNK.1ASTFR /" "1H* '*/nlAY IROJwQ /5,b/DATA ITC.IPX.PKNRR I/00,?5.jO/

is used to declare PKNBR as an integer, declare array dimensions, allocatecommon storage areas, and initialize the flag characters, input/output devicenumbers, and values of array dimensions. The initialization is done by usingDATA statements.

The statements

fPc% (RDFLE=*QKPKoATA',.FCFM 'DfS.MAXRFCL=80.PAf='YES*)OPf'. (1 W.FTLfz:PEDflUI ,FCF DTS,A.RAGE coNiRnL='FOVRRN)

are used to connect logical units to the input and output files and toestablish the connection properties between each unit/file pair.

The next two statements

CALL PEADINCALL FSONT(1CnMP.NOCnMP.MA7.1FG.ITAR, TANA.TINITN

IIPNTsnEPT

H,

S PKVAL..YC.PKFkU. lH|t FLR TFIYIU)

are used to execute two subroutines. Subroutine READIN is used to read thesame input cards that Program QKPK will read and to make six of the testslisted in Table 4-2. Subroutine FSORT is used to sort the component infor-mation arrays into ascending order by component number.

The statements

kAITE (I*,100)%RITE (O.101)

are formatted WRITE statements which are used to print the heading for thecomponent information table with flagged errors.

The next statements

Change 1 4-30

JTCG/AS-79-V-008

TABLE 4-2. Data Tests Made by Program PRERD

Tested in Subroutine READIN:

1. Number of components exceeds component array dimensions (fatal error).2. Number of points in the flux distribution exceeds array dimensions.3. Flux level not within bounds (0.00 to 60000.0).4. Number of points for which Pk values are to be entered exceeds array

dimensions (fatal error).5. Component information not in the expected format (fatal error).6. Number of shot line time intervals for shot line breakdown not within

array dimensions (fatal error).

Tested in Program PRERD:

1. Duplicate component identification numbers2. Component identification number outside of the allowable range

(1 to 9999)3. Component criticality flag not equal to 0, 1, 2, or 34. Material identification code outside of the allowable range (I to 11)5. Table look-up code outside of the allowable range (I to 9)6. Material identification code and table look-up code both zero or both

nonzero7. Analysis type code not equal to 0, 1, or 28. Component initial operating temperature less than or equal to 0.09. Negative influence mode thickness, THINFL

10. Density factor RHOF outside of the allowable range (0.0 to 1.0)11. Density factor and influence mode thickness both equal to 0.0 or both

greater than 0.012. System number outside of the allowable range (0 to 10)13. Singly vulnerable flag not equal to 0 or I14. System number equal to 0 and singly vulnerable flag not equal to 015. For depths of penetration and their associated probabilities P(K/H)

a. Number of elements in DEPTH and PKVAL arrays outside ofallowable range (2 to 10)

b. Values of depth elements less than 0.0 or any two successivevalues decreasing in magnitude

c. Values of probabilities of kill outside of the allowable range(0.0 to 1.0) and any two successive values decreasing

TABLE 4-3. Component Information Summaries From Program PRERD.

1. Component data with any of the possible errors from Table 4-2 indicated2. Critical component summary and count3. Component listing and count by material code4. Component listing and count by table look-up code5. Component listing and count by analysis type

* 6. Component listing and count by system number

"C n

4-31 Change 1

JTCG/AS-79-V-008

DO 110 J ?',NOCOMPIF (ICOMP(J) .EO. ICfMP(J-1)) THENICOMP(J) = oIARS(ICOMP(J))ICOUP(J-1) = -IAB$(SCnMP(J-l))

END IF110 CONTINUE

are used to test for duplicate component identification numbers. Afterexecuting Subroutine FSORT, the component numbers in array ICOMP are inincreasing order, so this test can be done by looping through the array andcomparing only the adjacent elements. This is done by using a DO loop and anIF statement. If duplicate component numbers are found, they are temporarilyflagged by setting them to negative values.

The statements

Do 19q J = i#NOCOMP00 120 1 1,34

IE(M) z IRLNK120 CONTINUE

are used to initiate a loop which will flag errors and print the componentinformation arrays for every component. The inner DO loop in the abovestatements is used to assign blank characters to the IE array. If errors arefound, this array is assigned a flag character in a position corresponding tothe error type and printed with the component information arrays.

The statements

IF (ICOMP(J) .LE. 0) IE(I) z ICHK

ICOMP(J) = IARS(jCOMP(J))IF (ICONP(J) .GT. 99q9) IFt) = ICNK

are used to finish the component identification number tests and set the firstflag if an error is detected. The first IF statement is used to set the flagwhen the component number is negative or 0. The second IF statement is used toset the flag when the component number is greater than 9999. Any negativecomponent numbers are made positive by using the lABS function. Since anegative number is also an indication of a duplicate component number, thefirst flag may indicate a duplicate component identification number or anidentification number outside of the 1 to 9999 range.

The IF statement

IF (CIFG(J) .LT. 0) .OR. (tFG(J) *GT. 3)) IF(2) z ICHK

is used to set the second flag when the criticality flag is not equal to 0,1, 2, or 3.

The next statements

IF ((TTAB(J) E(3. 0) .AND. ((MAT(J) AT. 1) .OR.S (MAT(J) *GT. I))) IE(3) a ICNK

IF ((1AT(J) .EQ. 0) .ANn. ((ITAP(J) .LT. 1) .OR.S (TTAB(J) .GT. 9))) IE(A) & ICHK

IF ((ItAH(J) .PE. 0) *ANO. (MAT(J) .NE. 0)) THEN

II M(3) a ICMKIFU) a ICNK

FND IF

Change 1 4-32

JTCG/AS-79-V-008

are used to test the table look-up code and the material code for the Jthcomponent. The third flag is set if the table look-up code is 0 and thematerial identification code is less than 1 or greater than 11. The fourthflag is set if the material identification code is equal to 0 and the tablelook-up code is less than I or greater than 9. Both flags are set if bothITAB(J) and MAT(J) are non-zero.

The next IF statement

IF ((rANA(J) .LT. 0) *OR. (IANAJ .GT. 2)) IE(5) ICHK

is used to set the first flag if the analysis type code is not equal to 0, 1,

or 2.

The statement

IF (TINIT(J) .LE. 0.) IE(6) ICHK

is used to test the component's initial operating temperature and to set the

sixth flag if it is less than or equal to 0.00.

The statements

IF fTMINFL(J) .LT. 0.) IE(Q) a ICHKIF ((RHOF(J) .LT. 0.) .OR. (RHTIF(J). GT. 1.)) IE(10) ICHKIF (((v'IFL(J .97. 0.) At'JO. (RHOFMJ *GT. 0.)) D.O.

S ((THINFL(J) .LE. 0.1 .&MO. (4WHOFMJ AE~. 00))) TH4ENIF(9) ICHKIE(I0) = CMK

END IF

are used to test and possibly set the 9th and 10 flags. The first IF state-ment is used to set the 9th flag if the influence mode thickness, THINFL, isless than 0.00. The second IF statement is used to set the 10th flag when thedensity factor, RHOF, is less than 0.0 or greater than 1.00. Both of theseflags are set if the influence thickness and the density factors are greaterthan 0.0, or if they are both less than or equal to 0.00.

The statements

IF ((TY(J) .LT. 0) .OR. (11(J) .CT. 10)) IE0|) = ICHKIF (( ,1(J). LT. 0) .nf . (TOJi ) .rT. M IF(12) =HKIF ((TY(J) .EJ. o) A4). (IIj(J) .NL. 0)) THEN

IF(ll) r TCHKIF(12) - TCHK

F.n IF

are used to set the 11th and 12th flags if an error is detected in the systemnumber array IY, or in the singly vulnerable flag array IU. The first IFstatement is used to set the 11th flag when the system number is less than 0or greater than 10. The next IF statement is used to set the 12th flag ifthe singly vulnerable flag is not equal to 0 or 1. Both flags are set if thesystem number is 0 and the singly vulnerable flag is not equal to 0.

The statements

4-33 Change I

JI

JTCG/AS-79-V-008

IP (F ( PNS (J) .LT. ) jAND. (NnPNTS(J) .GT. 10)) F(13) JCN

IF (I)FPTm(IJ) .LT. 0.0) IE(l ) = IHKIF (CPKVAuI,J) .LT. 0.0) .OR. (PKVAL(2,J) .rT. 1.0))

$ IE(15) - ICHkIX Z ?

165 CnNT 1tIEIF ((nlETH(Txj) .LT. 0) .OR. (OEPTH(eXJ) .LT. DFPTH(JX-1,J))

S IFt12t2-.y) = ICHKIF ((PKVAL(IJ) .LT. 0.0) .nR. (PKVAL(CJ) .GT. 1.01 .0R.

$ (P.VAL(IXJ) .LT. PKVAL(1X-1,J))) IE(1342*IX) Z ICHKIX 2 IX + I

IF ((x .LE. 10) .ANO. (IX .LE. NOPNTS(J))) GO Tel 26s

are used to set the 13th through 33rd flags if an error is detected in theestablishing of the laser penetration depths and the Pk's associated with them.The first IF statement is used to set the 13th flag when the number of pointsfor penetration is less than 2 or greater than 10. The next IF statement isused to set the 14th flag when the minimum penetration for a non-zero Pk isnegative. The third IF statement is used to set the 15th flag if the Pkassociated with the first penetration depth is outside of the range 0.0 to1.0. An index for the number of points entered is initialized at 2. A loopis then entered to check that each penetration depth is non-negative and thateach successive depth is no less than the previous. If an error is detected,the next even flag is set. Likewise, the probability associated with eachdepth is checked to insure that it is within the range 0.0 to 1.0 and that itis no less than the previous Pk. If an error is detected, the next oddnumbered flag is set. The index is incremented and the program branches toStatement 165 if NOPNTS penetration depths and Pk's have not been examined.

The next statements

DO 170 1 : 1,33IF (EM) .NE. IALNK) THEN

IE(3u) 2 ]ASTERGO To 160

END IF170 CONT1NUE

are used to test the flag array, IE, and to mark the line with an asterisk ifit contains a possible error. If any of the flags from the previous tests havebeen set, the assignment statement is used to place an asterisk character inthe 34th array position and the next GO TO statement is used to branch out ofthe DO loop to Statement 180. If none of the flags have been set, the DO loopexecutes for 33 iterations, always bypassing the assignment statement in theblock IF.

The statements

12O WRITE (Iv. 290. ?STATSIOS) TEft3),IC(MP(J),IE(lf),TFr(J),Z(?),.4(S AT(J),tE(3),1 IAH(J),1E(o). IANA(J).IE (5),.|IPIT(J),1E (8),

S THINFL(J),IF(q),RHO f(J),IF(io),Iy(J),]E(Il), ItfJ),IF(12),

S Op'YS(J).IE (13):1,J),ECTI?.?.E(2K),P VAL(i:,J). 'S IF(13+?*K),K x INUPrjTs(j))

IVQ CONTIIE

are the last statements in the test loop, which is executed for every elementin the component information arrays. The WRITE statement is used to print thecomponent data for the Jth component with any flags that may have been set.After reaching Statement 199, the program returns to the beginning of the DO

Change 1 4-34

JTCG/AS-79-V-008

loop where the flag array, IE, is reinitialized and the tests will be executedagain for the next component. This is repeated until all components have beentested.

The statements

%RITE (IW,200)IAITE (wR,101)00 210 I 2 2,34

EtI) !BLNK210 CONTINUE

begin the summary portion of this program. The WRITE statements are used toprint the heading for the critical component summary. The DO loop is used toreset the IE array so that all characters are blank.

The next statements

On 235 J 1,3NTYPE 2 000 220 J 9 lNOCOMP

IF (IFGCJ) *En. I) THENNTYPE = NTYPE + I*RITE (IARP,190,ISTA=ins) 1E(E3],IrOMP[J),IEUI),IFG(J),

$ IE(2),MAT(J),IE(3).ITA (J),E ('),IANA(J),IE(5),TINT(J),S IE(h),THINFL(J),IE(q),RHOF(J),IE(10),1Y(J),IE( i),IU(j),S IE(l1),NOPNTS(J),IF(13),J,(DEPTH(K,J),IE(12+?.K).S PMVAL(KpJ),IE(13t2*K).K = I,NOPNTS(J))

END IF220 CONTINUE

WRITE (TIR,230) NTYPE,I235 CONTINUF

are used to assemble and print the critical component summary. The criticalityflag may have values of 0, 1, 2, or 3, but a 0 indicates a noncritical com-ponent, which will be excluded from this summary. The outer DO loop is usedto test for the three remaining values. The variable NTYPE is used to countthe number of each type of critical component, and is initialized to 0 at thestart of this loop. The inner DO loop is used to cycle through the criticalityflag array, IFG, for every component. Whenever the criticality flag matches I,the outer DO loop index, NTYPE, is incremented and the component informationarrays are printed for the component. When the inner loop is completed, the

* last WRITE statement will be used to print the total number of components withthe criticality flag I.

The statements

wRITE (IaR.300)

DO 33) 1 2 1,11. T YV P E arn i!o J a IN0r.rM P

IF (hAT(J) .E). 11 THFNNTVPt 2 ITYPt . IAWITE IIA'.,I'.OfSh*2IlOsl !EC13),ICUMP(,I),IE(1l).1F((J),

$ IV(2),.*aT(J), fE(3),IIAN(J),IT ('i),IANA(,I1,IE(V, ?IIT(J),

S IF ( ) TMI FL(J). TF(Q),RHOF (J), TF( I ), IY(I)T , I I I 1(J)o$ IEf1l, flPTM(J) El (I]),J. (OEPTH(k.J).IE( 12.a.K),S PKvSL(K.J),IE(I3.2*K),t a IPkflHS(J))

ENO IF

3u Cnfl y'I IE30 ITF (IKR,3?0) NTYPE,I

330 . f(NTINUE

4-35 Change I

JTCG/AS-79-V-008

are used to assemble and write the component listing according to materialtypes. The first two WRITE statements are used to print the heading for thissummary. This is followed by two nested DO loops. The outer loop is used toinitialize the type counter, NTYPE, and loop through the 11 possible materialcodes. The inner loop is used to test the material code for each componentand if it is type I, the component information arrays are printed for thecomponent. The final WRITE statement is used to print the total number ofcomponents, NTYPE, with a material type code I. Note that a component with amaterial code equal to 0 is excluded from this table.

The statements

wRITE (I*.4400)wRITE (Ie*Q,lIt)

0 a 30 1 M ,4tTYPE a 0DOn 410 J I,NOCONP

F (IT&P(J) .FQ. 1) THEN

NTPF s NTYPE * IpaITE (IPI90,IOS1AT:tnS) IE(I3),ICONP(J).IE(I),TVG(J).

3 IE(2),MAT(J),IE(3),TTAi(J),IE(U),IANA(J),IE(S),TINIT(J),

a IE(),TNINFL(J1,IE(9).WHOF(J),1F(I0), Y(J),1E(II).IU(J)PI • I?(1) NOPNTS(jIE(13),J, (DEPIU(R.J).IE(1?4?*R),

S PKVAL(K#J).IE(132*K).K Z 1,NOPNTS(J))END IF

410 CON'T 1 NUEKQITE (1R,420) NTYPE,1

430 CIIINULE

are used to assemble and print a component summary by table look-up index.The first two WRITE statements are used to print the heading for this summary.This is followed by two nested DO loops which are used to test each component'stable look-up index for each possible value and to print the componentinformation for each component with a matching idex. This method was alsoused in assembling the two previous summaries.

The statements

PQITE (I.4,500)4RWT7E (IN0,10l)

O S30 I a 0.?N'TYPE a 0DO SI0 J s ],NOCONP

IF (iANAMJ) .EG. 1) THENNTYPE a NTYPE # IRRITF (1w.,l9A,I0STA*1xfS) EA(13),1C04P(J), F(I),IFG(J),

3 IF(2),MATI(J),IE(3)T*TAH(J),TE(J),.ANA(J),IE(S),TINIT(J),S IE(4),THINFL(J), Ir(Q),.4unp(.), IF(10),1y(J), JE( I 1),U(j),I 1f(r1),NOPN1SCJ),IE(13),j,1fEPTH(K,J),IE(12s2*K),

S P4VAL(I.,J),IfCI3+2gg),K z 1,NnPNTS(J))END IF

S10 CO%YINUE*RITE(100lS250) lATYPE.1

530 CnKTINuF

are used to assemble and print the component listing by analysis type. Thisprocedure is the same as that used for the three preceding summaries. Theanalysis type summary groups the component information by analysis types 0,1, and 2, by comparing analysis type values with I.

The following statements

oIT[ (10R,I61)

Change 1 4-36

L I _ _ _ __ _ _~. .

JTCG/AS-79-V-008

00 630 Is 0.10NTY:E 0

O0 610 J z INOCORPIF (IY(J) .E. T) THENNTVPF ZZ NTYPE + ItRITE (IAU.I9tInrta|:IoS) lF(il).ICflP(jITf(1 )TFC(J),

$ IF(?).MAT(J).TF(3),rraHrJ)orI (u,IANA(J),lt (%).TINI?(j).$ IE(A).THINFL(J)IFrQ). a), LF(lu),IY(J1,TF(I I ),111(j),£ IF(12) NrPNT8,jr) If( 1), J, (fplIPH(KJ), II ( 1? dn).S PKvAL(KJ),IE(I]3e*K),k = I.NOPP'TS(J))

E£0 IF6t0 CONtINU

wRITE (InR,h2O) fTYPEI

630 CnNTINUF

are used to assemble and write the component listing by system number. Thestatements are used to execute the identical procedure used for the four pre-vious summaries. These steps group and print the component inforrrz:ion forsystem numbers 0 through 10.

The final group of statements

STnP100 FnOMAT (*I THF FILLO"UNC nATA HAS HFEN READ AND CHECKED FOR

S 'ERRORS,'/* AN ASTERISK IN THC IFTM(JST Crj.11MN INnICATES A',S " PnssIHLF FRROR IN THAT LINOF.'/- THE CHARACTER 'IH<,£ * IS IJSED TO POINT TO THE POSSIRLY ERRINFOIIS ITEM.')

101 FRMAT (/I * ICOMP lFG MAT ITAR IANA TINIT',2 5X,'THINFL RMOF IY IU NUPNTS',3 4E,-CARO'/4 9XOOEPTH(t) PRVAL(I OFPTH(21 PKVAL(2) DFPTH(3)',5 2X,'PKVAL(3) DFPTH(4) PKvAL(a) OEPTH(S) PKVAL(S)P/6 9x. DEPT14(b) PKVAL(b) DEPTH(7) PKVAL(7) DEPIH()'7 2X,'PKVAL(8) OFPTN(9) PKVAL(I) DEPTH(O) PKVAL(tO)/)

190 FORMAT CE& 1.11~A 51,I,) ?AI~~A)I 1TAtlq,,AtUitO.AITg,2,(/FI2.2,AI,9(FQ.2,AI)))

230 FORMAT W1 THFRF ARE ',14,' CRITICAL COMPONENTS HAVING CRITTCALT',

S *TY FLAG ",13/)300 FnwAT (-I COMPONENT LISTING RY MATERIAL TYPE')320 FORMAT (/ THFRE ARE ',1" COMPONFNTS OF MATERIAL TYPE ',13/)400 FORMAT ('1 COMPONENT LISTING RY TAdLE-LnOKIiP INDEX')20 FIMAT (i THERE ARE *,IM,' COMPONENTS HAVING TABLF INDEX ',13/)

500 FORMAT (1 COMPONFNT LISTTNn RY ANALYSIS TYPE')520 FORMAT W." THERE ARE '.14.' COMPONENTS OF ANALYSIS TYPE ',13/)600 FORMAT (t CoMPONENT LISTING fY SYSTEM NUMRER')620 FORMAT (I' THERE ARE 'e4, COMPONENTS IN SYSTEM NIMHFR ',13/)

ENO

* are used to stop this program. The FORMAT statements are used to specify alloutput formats used by WRITE statements in this program.

4-37

Lt

JTCG/AS-79-V-008

SUBROUTINE PROPY

This subroutine is called by Subroutine RAT and is used to compute several

properties for encountered metallic components. A large number of DATA

statements are used to form a set of material property data from which the

values are computed. The following properties are material dependent and are

only computed once for each encounter: the coupling coefficient, component

density, vapor temperature, melting temperature, and heat of fusion. The

coupling coefficient is computed as the product of an intensity dependent

factor and a thickness dependent factor. The interpolation scheme used to

compute these two factors employs function values stored in arrays, but the

argument values are generated in the coding. Two temperature dependent prop-

erties, thermal conductivity and specific heat, are computed every time this

subroutine is executed. These two values are interpolated from arrays which

*~ contain both arguments and function values. All computed property values are

* transferred from this subroutine by using COMMON /PROP/.

The statements

SLUNWUUTINE PROPYCOMMUN ICUMP(SUQ),MAT(bOo).1FG(5OO).IIAR(SOO).IANA(5

O O ),

S TriNl(SuO),NOPN1S(50),DEPTH(0,SUO) .PKVAL(lU,5Ou),

, .4M1,F(Nuu),IIEVMS.IU(5(djo),IY(500)COMMON TMINFL(5OU),51(2e.70),JH(T5.170),CINCH

COMMU|i /IJNE/ NUCUNP,1 L1,IFLAGe PEAKF, CRIT

ComMON /PROP/ ALPRHOISVAL.TMLIXLAMtUPRAEJCOMPN,0P'.CVAL,

S TVAP.CPL,I1E,1k

DIMENSION CfNDUC(11,2.1U),SPECIF(11,2pO),OENSII(11.THELT(1I,2),

3 IEATFDI1IJ,ALPhA(1I,lh),ALPhAT(Il.Q)

are used to facilitate transferring values into and out of this subroutine and

to specify array dimensions. The variables in the DIMENSION statement list

are used to store the material property data for 11 material types.

The statements

C

C*.. . ...... MATFQIALS PROPERTY DATA.....

CC ALL "ATEQIALS PMOPERTY nA7A IS VFPY INT7AL.

C RARE -ATERIALS-CnfUPLJNr CnFFFFiriENT J CONSInEPED To 1E A cONNSTANT.

C COATEC/PAINTEM MATFWTALSCfIIPLING COEFFICIFNT IS A FtINCTION OF INCIDE'TC FLIiX A 'O ATEPIALS TmICRNFSS.C CmtPLING COEFFICIENT DATA IS FOn 4nRMAL ANGLE UF INCIDENCF.

C ALPI-A IS COUPLING COEFFIC EJT AS A fIwI"CTIiN OF INCIUF6!7 FLlOX. ALPHAT

C IS IHF CORNECTION FACiU FOp MATERIAL tHICKNESS.CCC 207? AL PAINTED StPFACEC

DATA C0%D1,C(o1.,I)/6./

DATA (CONOIIC(I ,lJ),Jz?,10)/76.. I26.,279..339.,429.,4OS.,3*O./

* - DATA SP(C1FCII.I)I7.I

DATA (SPECIF(IIJ),Jz2,1 )/ 20.,QT.a05.,36., O .,Li27., I5 .,?*0./DATA (PECIF(I,2,J).Jx, O)/5U9.,9qo7.,

9bb..1O?S..1096.,1129..tt5.,

1 *S 200.1CC ALPHA AND ALPMAT REPRESENT CURVE FITS TO INITIAL AFWL DATA

CDATA ALPMA(lI)/.86/DATA (ALPMA(IJ).JZ?,IE)/,TP..fl,.Lb,.JO,. 3 .. . ,.?7,

C hang,.Z14,.381e..1 2,.lOR,.fl'/

•change 1 4-38

0L

JTCG/AS-79-V-008

DATA ALPNATItl)/1.13/

DATA DENSIT(1)12770./DATA CTMfLT(1.J).Jz1.2)/So2.,2500./DATA HEATFU(l)/389112./

CC 7075 AL PAINTED SURFACEC

DATA CONDIIC(2.,I)/7./DATA (CONDIJCC2.I.J).J:2. IO)/3..107..207.,260.,336.LjoI.,428.,2.*DATA (COP4DUC(2.2.J).J:2. l0)/122..141., 277.. i79.. 77.. 170.,167.,

s 2*0.DATA SPE CF(.Ia.DATA (SPECIF(2. t.J).J:2.lO)/0.10.20.30.400.45,3*.,DATA (SPECIF(2,J),J:2,1U)/820.,903.,9h6 .1O3Aal129 I 17.#3*.sDATA DENSIT(2fl2800./DATA HEATFU(2)/3R07A4./DATA (TMELT(2,J),Jxl,2)jgalb../

CNO DATA ALP"& AND ALPHAT ASSUM~ED SAME AS PAINTED 2024J AL

CDATA ALPI4A(2,1)I.BblDATA APA2JJ2.eI7.6.o.a.3,3,.Q.,

DATA ALPHAT(2.)J1.I1/DATA (LH? ,)J2~?20.9.A.7,b.~.3..3

C 5RSc. (AMCA? AL PAIfNTED SlNFACF

PITA CnNDIIC(3,1,1)/7./nATA (ComnDIC ( S.I ,J ) J=2. 10 1/0 ISO t 0 l,(f..2(O.2SO.,304 2*.

S 2*0.D AT A 4PECIF(3,1,l1/3./nATA (SPFCIF(3. 1.J) .J:?.10)/1q)0.,300.,I30.,b*ol./DATA (SPFCIF(3.2,J) ,J:2. 10)/920.,10AN.. 125..'o./DATA OFNSIT(;) 3O00/DATA MEATFU(3/30411I2./DATA ( T3J.~.)/7.ID.

C NO DATA ALPHA AND ALP:AT ASStl"FD SAME AS PAINTED 2024 AL

DATA (ALPHA(3.J),J2,.16)/.72.NO.4.9..40. .35. .32. .29. .27,3 .2uR,.2t'.I5N,.13h,..11,.1024,.094/DATA ALPHAT(3. 1)/1.13/DATA LPA'3J.:./20.t ... ,...5..80/

CC 6ALRV TI PAINTED SURFACEC

DATA CONDUC(4,1.I)/7./DATA (CONOUCCA. l.j),J:2. t)/149..260.,371..927..RAO..538.,649..

DATA SPECIF('Jl.1)/6./DATA (SPECIF(4,. 1J),*J:2. I0)/qa..205..316.,9?7..538.649..3*0./DATA (SPECIF(49,J),J=2. 20)/56 4.,Sqa.,619.,6 40*. 6 62 .,678.,3*0./

CC ALPHA AND ALPHAT REPRESENT CURVE FITS TO INITIAL AFWL DATAC

DATA ALPMA(9,1)/.86/

s .23-.23-.23o.23-.23/DATA ALPWAT(",)1I1.Sq/DATA (LHT~.)j2')10.QQ.9.9.9.A,.3DATA (YMF.LT(9.J) .J:i .2)/15h5,..2277./DATA oENStT(9)/4430./DATA mfATFU(4)/42bA70./

CC PiURE TI PAINTED SUNFACEC

DATA C0Dl~lC(5,1,1l/9./

DATA (C0NDLC(5.I.J),J:2.t0)/ 27..127.,427..927..b27..A27.. 2227..tS127..1627./

DATA (CONDIIC(i.2.J),J22.l0)/?t.9.20.9.19.7 29.4,2o.2.21.3.29.5.s 27.1,2M.01PA TA RVECTF(S5.j~)/7./

4-39 Change I

JTCG/AS-7 9-V-008

DATA (spEr IF( , I j)_1=2,In)/ 27. ,127. ,327 . b27 . #32 .. 27., 1 127.,

DATA (.qPFrTIF(4'J=PJ, Il0J/d22.,S7U.,#h77., 72f4., 743.,,ql. .6J6.,

D)AT a (I'LI(.j 2/60,.

DATA -4 Ar(S) /,A 351 J6./

D AT A DF NS IT(S) /URO./

C N~O DATA ALPHA A~n hLPHAT ASSUMED SAV~F AS PAINIEn) tAL4V T1

DATA ALPI4A(N,, 11.86/DATA (ALPHA(Nj)J=2, Ihlh, I,.2 3, 3,.9 2,.6 2,.4

DATA AI PHAT (,l/.QDATA (ALPHAT(5,J),J:2,9)I.a,.9,.Q,.E'..9b,.Q1, .87,.83/

C Vmh5-1 (FKAOI N-AI ALLOY PAlfTED SIQACE

DATA CONDI-C( , I,11I.

DATA (COMIC(,., I , j ,J:2, 10) /?5. ,A*fl./DATA (CONDIJC 1- ,,J).-122, 10)/109. , i0 ./DAYTA SPFCIF it,,,1 )I/./DATA (SPECTt (,1,J),J%2,I0)/152.,227.,327.,A27.,5?0.,521.,627.,

* I 7?7..0./DATA (LqPECIF(h..2J),J:,10)/I06S3.,1075.,1?0S.,1O31., 1380.,1305.,

* 1 136,'.,1599..0./DATA HE ATFLI(#,) /3Pb352./

*DATA DEtS1T (6)/ 1830./DATA (TMELT (b,J),J=l ,?3/5?0.,0./

*C NO DATA ALPHA AND ALPHAT ASSUIMED SIMILARl TO PAINTED 2024 ALc

DATA ALPHA(h,])/.Bb/* DATA (ALPHA(6,J),J22, l6)I.7?,.60o,.lh,..0, .35, .32, .2Q, .27,

*DATA ALPHAT(4,1)/1.13/

DATA (ALPHAT(6,J),J=2,93/1 .07, *Ql, *80, .75,.68,.LJ..36, .03/

C ML5 (AZ8IA.AZMO) MAG ALLOY PAINtED SURF~ACE

DATA CDn.I),c ( 7, 1 .l )/3./DATA (.NI-7 ,)j2 O/.IO,0.e*.DATA (CDNDIIC(7,2,J),.T=2, l0)/AA4.Q,73.b,80.i,.6*0./DATA DENdS I ( 7)I/R1800DATA eEATFII(7)/33aqflA./

DATA (TMFLT (7,J),J=1,2)/*l90.,0./DATA SPECIFC?, 1,1)/7./DATA (SPECIF 17,1 3) ,J=2,Il)/I27.,227.,327.,L427.,507.,t'27.,7?7.,

S 2*n./DATA (SPFrTF (7.2,J),J:2,10)/11J5u.,1121.. 1167.,1275., l?22.,1426..

C NO DATA ALP04A ANDr ALI-HAY ASSIIMFO STmTLAW TO PAjf)TFD 2n24 AL

* DATA Al PHA(7,1 )/.0$t'IDATA (L

DATA ALPHAT(7, 1)/1.13/PATA

cC AZ3I18 k'Ar. ALt$lv PP.?..TEIJ SURPFACEC

DATA CnND~ir(A,1,1)/3./

DAT7A (C ONplnt(C,2IJ.I .21 r)/1?7.l3u . , 1?.b-

DATA11 (L(ComC ,J2JJ j2, /,2 ., I v . 10.b-.* ~~~~DATAfJI(/17.

f)AT A HE ATII 11( A) (338A~f's.

DATA SPCF(AtI)(.

3 727..o./

S AA.,AU.,.

C NO DATA ALPHA AND ALPMAT AqSIIvEIT STIVILAR TO PAINTED) 20~24 AL

DATA ALPNACA.))/.MA/

*Change 1 4-40

JTCG/AS-79-V-008

DATA (ALPHA(8,J),Ju2.1l.)/.72,.hO.LI,.'J0,.35,.32,.29, .27,

$ .24", .224, .158, .136..1 IN,.1072,.tO1/DATA ALPHAT(9,1I)/1 .13/DATA (ALPHAT(A,j),j=2.q1/1.07,.9l, .89..75,.68, .5. .3P',.03/

CC E143S (IIMONIC 75) NICKEL.CMROAIUM ALLOY PAT-ITED S1uRFACE-C

DATA CONDIJC(Q,1,1)/7./DATA (CDNO'JC(Q. 1.J).J:2. I0)/l00.,200.,'400.,b00.,800.. 102T.,1392.,

t DATA (CU ZD C(q,2,j) ,j=2,10)/13.9.)5.7, 19.1,22.b,26.o..29.3,35.8,S 2*0.1DATA HEATFLI(Q)/3221eA./DATA UENSIT(Q)/8400./DATA (TOELT(Q,J),J=1,2)/t400.,0./DATA SPFCIF(Q,11)/b./DATA (SPECIF(9, l.J) ,J=2,10)/100.,300.,5O0.,600.,7Sfl.,R00O.,3*0./DATA (SPECIP (9,2.J),J=2,lf)/468.,S02.,512.,623.,609.,619.,3*0.I

CC NO DATA ALPHA AND AIPHAT ASSUMED SAMF AS PAINTED 304 STAINLESS STEELC

DATA ALPHA(9,1)I.Bh/DATA APAqJ.=,6/5,'3.o.0.N.2..9.I,.7.,

DATA AtPNATT.J1'

C 304 (1Km1At~qY) STA1I.LESS STEEL PAINTED S11WFACEC

DATA 1DFP41T( Ij)/79q0f./DATA flFATFII( I ()I?'70&.J./DATA (Tf.1ELT(10,j),.J~I ,21/I0G0.,O.IDATACDAIClILlI.DATA (COPJDiuC(Io,I ,J),J=2,I0)/200.,300.a00.,50.,%'n., 1027., 1392.,

S 2*0.1DATA (DDI(OJ J2 0/t. 9N2.? 32,.9i3.,..DATA SPECTFCIO0,I)/S./DATA (SPFCIF(IU,1,JI..122,tO)/2n0..400.,hoo..mCD%., ri.,0.DATA (SPECTF( I0,2,J),J:2, 10)/919.,553.573.,qtu.,fa,4,*o./

C

C ALPHA AND ALPHAT qFPqESENT CURVE FITS TO INITIAL AFWL DATAC

DATA ALPNA(1l,I)/.86/DATA (ALPHA(t0.J),j=2,IAS)/.S9,.43,.3,.30,.., .22,.19,.I8,.17,.16,

S .12. .I2,.I .2, .12/DATA ALPHAT(I0,1)/I.91/DATA (ALPM4AT(I0,J)..J:2,9),I .0I..98,.96,Q#,,.9h,.Q6A.b,.96/

CC CI) BARE SURFACE

CDATA CfINO1C(tJI,j,)/S./DATA(CDU(, J)J2I)9.22,I1.uQq,,oDATA (CONOUC(I I,2,J),J:2,10)/403.,394..3Ae.387.,36.,J*O./DATA SPFCIF(1I,I,1)/9./DATA (SPECIF(I I,I,J),J=2,I0)/Q3.,20U.,316.,4?17..53

8 .,lbO.,e7l*,5 982.,1065./DATA(SPECIF(tI,.j),j:2,Ioh'3q7.,9O2.,414.,423.,440.,7

3 ,4 3 .,S 513.,540./DATA DENSTT(1l)/Aqb(0./DATA (TM4ELT(1II,J),JsI,2)/1083.,?5q5..DATA HEATFIDC 11)/?11710./

CC ALPHA IS A GiiESSC

DATA(LPAIIJ1.

C

are DATA statements used to assign values to the material property data. Eachof the 11 material types is identified in the comment statements preceding its

* group of DDATA statements. The cocltents of each array will be described alongwith the coding that uses the array.

4The statements

4-41 Change I

JTCG/AS-79-V-008

MATL S MAT~h)

IF (lTE .E. 0) THENI 2 TINIT(h)

TVAP a 1MELT(MATL:2)T SL a TMELT(MATL 1)ALA149D 3 "WAFU(MA7L)

are used to obtain the material dependent characteristics from the materials

property data. The first assignment statement is used to assign the materialtype for the component to the variable MATL. The last four assignment state-ments are used to determine the initial operating temperature T, the vaportemperature TVAP, the melting temperature TMLT, and the heat of fusion XLAM1Dfor the component in this encounter. The block IF statement is used to cause

the execution of the statements in the THEN branch only when this is the firstcall to Subroutine PROPY for this encounter. The material characteristicvariables are all in COMMON /PROP/ and, because of their global properties,retain their value on subsequent calls to this subroutine.

The statements

IF (MATL .GE. 11) THENALP = ALPHA(MATL.1)

are used to assign the coupling coefficient to the variable ALP if the encounteris with a bare metal. If the material code indicates a coated material, theELSE branch of the block IF is executed.

The statements

ELSE

IF (PEAKF .GE. 1.OE.0O) THEN

XVAL : i.OE 04K a it

260 CONTINUENSA+ IAVAL z K - 10

IF (PEAKF .G7. XVAL*AVAL) G0 To 260ELSE

XVAL l.E+.03K I

310 CONTInuE

AVAL S K - IIF (PEAKF .;E. XVALtAVAL) G0 10 310

END IFYVAL S ALPHAIAL, -I) - ALP"A(MATLK)

EM Z -1VAL / XVAL

ALOF S ALP"AIMAILK) * E- . (PLA0d - XVAL * (AVAL))

are used to interpolate a value for the intensity dependent factor of thecoupling coefficient for a coated material from the ALPHA array, using fluxlevel arguments of 0, 1000, 2000, 3000, 4000, 5000, 6900, 7000, 8000, 9000,10000, 20000, 30000, 40000, 50000, and 60000 watts/cm . The bloqk IF

statement determines whether the flux is at least 10000 watts/cm-. Thestatements in this branch are used to find the interval number K that containsthe flux level PEAKF. The arguments 10000, 20000, 30000, 40000, 50000, and60000 are the product XVAL*AVAL in the IF statement and correspond to intervalnumbers 11, 12, 13, 14, 15, and 16. The ELSE branch of the block IF is

Change 1 4-42

JTCG/AS-79-V-008

executed only when the flux level PEAKF is less than 10000 watts/cm The

statements in this branch are used to fie.d the interval K that contains the

flux level PEAKF using flux arguments of 1000, 2000, 3000, 10000,

which correspond to interval numbers 2, 3, 4, . 11. The three assign-

ment statements following the block IF are used to linearly interpolate a

value for ALPF from the array ALPHA. This interpolation is written mathemati-

cally as:

cl L L K-1 - (a~~ cK) (f _ K)

*| where

a of the interpolated result ALPF

cz = the Kth function value from the ALPHA array

the argument step size, XVAL

f the flux level, PEAKFXK =the Kth argument value, (XVAL*AVAL)

The ALPHA array is doubly subscripted by the material type, MATL, and the

interval number, K. Table 4-4 gives a tabular representation of the table

being used for this interpolation scheme.

The next statements

D z ie.~ / u.hi25'IF 1it, .(A. 2.UE-U!) THEfN

LP = ALPHAILPAIL,.)

are used to start the computation of the thickness dependent factor of the

coupling coefficient. First, the component thickness is converted from meters

to inches for use within Subroutine PROPY. The block IF statement is used to

determine if the thickness DP is greater than or equal to the largest argumentfor the APHAT array. If it is, the THEN branch of the block IF is used to

allocate the last element from array ALPHAT for the specific material type to

the variable ALPT. If not, the ELSE branch is used to perform the interpola-

tion.

The statements

ELSEIF (L'i Gk 3 (-- 2) I E

AVAL 5.oE-02

360 CU., 1jf

AVAL a K -

IF tWO GE. IVAL*AVAL) rO TIJ 3b0

are used to determine the interval number, K, which contains the componentthickness DP, if the thickness is between 0.05 and 0.20 inch. The block

IF statement is used to determine if the thickness is at least 0.05 inch.

If it is, the THEN branch is used to compare the arguments 0.10, 0.15, and

4-43 Change i

.6 JTCG/AS-79-V-008

I.

TABLE 4-4. ALPHA. IMATERIAL CODES

FLUX K 1 2 3 4 5 6 7 8 9 10 11

0 1 .8600 .8600 .8600 .8600 .8600 .8600 .8600 .8600 .8600 .8600 .4000

1000 2 .7200 .7200 .7200 .6600 .6600 .7200 .7200 .7200 .5900 .5900 .0000

2000 3 .6000 .6000 .6000 .5100 .5100 .6000 .6000 .6000 .4300 .4300 .0000

3000 4 .4600 .4600 .4600 .4200 .4200 .4600 .4600 .4600 .3400 .3400 .0000

4000 5 .4000 .4000 .4000 .3500 .3500 .4000 .4000 .4000 .3000 .3000 .0000

5000 6 .3500 .3500 .3500 .3200 .3200 .3500 .3500 .3500 .2600 .2600 .0000

6000 7 .3200 .3200 .3200 .2900 .2900 .3200 .3200 .3200 .2200 .2200 .0000

7000 8 .2900 .2900 .2900 .2800 .2800 .2900 .2900 .2900 .1900 .1900 .0000

8000 9 .2700 .2700 .2700 .2600 .2600 .2700 .2700 .2700 .1800 .1800 .0000

9000 10 .2440 .2440 .2440 .2500 .2500 .2440 .2440 .2440 .1700 .1700 .0000 110000 11 .2240 .2240 .2240 .2400 .2400 .2240 .2240 .2240 .1600 .1600 .0000

20000 12 .1580 .1580 .1580 .2300 .2300 .1580 .1580 .1580 .1200 .1200 .0000

30000 13 .1360 .1360 .1360 .2300 .2300 .1360 .1360 .1360 .1200 .1200 .0000

40000 14 .1150 .1150 .1150 .2300 .2300 .1180 .1180 .1180 .1200 .1200 .0000 150000 15 .1024 .1024 .1024 .2300 .2300 .1072 .1072 .1072 .1200 .1200 .0000

60000 16 .0940 .0940 .0940 .2300 .2300 .1000 .1000 .1000 .1200 .1200 .000044

Fi: 4-44

[ -

JTCG/AS-79-V-008j

0.20, corresponding to interval numbers 7, 8, and 9 with the thickness DP.The argument values are the product XVAL*AVAL in the IF statement. The IFstatement is used to loop back to Statement 360 until the interval K,which contains the thickness DP, is found.

The statements

ELSEXVAL 1.0E-02

410 CONTINuE

KAVAI. S 4 -

IF (UP .GE. XVAL.AVAL) GO TO 410ENO IF

are used to determine the interval K, which contains the thickness DP if thethickness is less than 0.05 inch. This search is similar to that executed bythe previous group of statements, except that these steps use arguments of0.01, 0.02, 0.03, 0.04, and 0.05 corresponding to interval numbers 2, 3, 4, 5,and 6, respectively.

The next statements

YVAL = ALPHAI(MATL,-1) - ALPHAT(MATL*K)

ALPT 2 ALPHAT(MATLeK) + EM * (UP - XVAL * (AVAL))ENO IF

are used to linearly interpolate a value for the thickness dependent factor,ALPT, from the array ALPHAT, using the interval between subscripts K-I and K,for the specified material code. Table 4-5 is a tabular representation of thefunction being used for this interpolation scheme. The interpolation scheme iswritten mathematically as:

at aK( - -) .(dXK)

where

at M the interpolated result ALPTa - the Kth function value from the ALPHAT array

= the argument step size, XVALd = the thickness DPXK = the Kth argument value, XVAL*AVAL

The statements

ALPC z ALPF * ALPT

IF ((ALPC .LT. ALMMA(MATL.I)) .AN4O. (ALPC .GI.S ALPHA(MATL,|e))) TmjN

ALP 2 L1CELSE IF (ALPC .4E. ALOINA(MATL,I)) THEN

ALP Z ALOMA (WA IL, )

4-45 Change I

.'' . " . _ - -- • • - - - ml~ h m lm m mur ,"

JTCG/AS-79-V-008

TABLE 4-5. ALPHAT.f

MATERIAL CODES

THICKNESS K i 2 3 4 5 6 7 8 9 10 11

0.00 1 1.13 1.13 1.13 1.59 1.59 1.13 1.13 1.13 1.91 1.91 .00

0.01 2 1.07 1.07 1.07 1.04 1.04 1.07 1.07 1.07 1.04 1.04 .00

* 0.02 3 0.91 0.91 0.91 0.98 0.98 0.91 0.91 0.91 0.98 0.98 .00

- 0.03 4 0.84 0.84 0.84 0.98 0.98 0.84 0.84 0.84 0.96 0.96 .00

0.04 5 0.75 0.75 0.75 0.95 0.96 0.75 0.75 0.75 0.96 0.96 .00

0.05 6 0.68 0.68 0.68 0.96 0.96 0.08 0.68 0.68 0.96 0.9,5 .00

0.10 7 0.54 0.54 0.54 0.91 0.91 0.54 0.54 0.54 0.96 0.96 .00

0.15 8 0.38 0.38 0.38 0.87 0.87 0.38 0.38 0.38 0.96 0.96 .00

S0.20 9 0.03 0.03 0.03 0.83 0.83 0.03 0.03 0.03 0.96 0.96 .00

9 4-46

JTCG/AS-79-V-008

ELSEALP 2 ALPHA(MATL.I6)

END IFENO IF

are used to complete the computation of the coupling coefficient for coatedmaterials. The assignment statement is used to compute this coefficient asthe product of two factors: ALPF, which is a function of intensity and ALPT,which is a function of thickness. This is followed by a block IF which isPused to compare the computed coupling coefficient with the endpoints on thecurve represented by array ALPHA. If the computed coefficient is within thetabular values, it is assigned to the variable ALP. If it is outside thetable range, the coupling coefficient ALP is assigned a value equal to thecloser endpoint of the curve.

The statements

RHO u OENSIT(MATL)TEMP a (MLT + T) / 2.I a TEMP

END IF

are used to compute the component density and temperaare for the materialtype. The first assignment statement transfers the density for the componentmaterial code to the variable RHO. The last two assignment statements are usedto set the variables TEMP and T equal to a temperature halfway between theinitial operating temperature and the melt temperature. These are the last of

_the material dependent properties for this encounter. Since the variables ALP,RHO, and T are all global (in COMMON /PROP/), the next call to Subroutine PROPYfor the same encounter can start immediately at the next set of statements.

The statement

TEPP 2 T

begins the computation steps for the temperature dependent encounter properties.The temperature TEMP is the value which changes between calls to this subroutineand is the argument for the two interpolation procedures remaining in thissubroutine.

The statements

MVAL 2 NINT(Cf.uuC(4ATL,I1 )) * I

IF (TEMP .LE. CUNUUC(MA1L,1,2)) THENCVAL Z CUhUUCtATL,2,d)

ELSE IF (TEMP .GE. COdNJC(MATL.I,'4VAL)) THENCVAL Z CuNDUC(MATL,4w.M.AL)

EL*EDO SO I = 2.4VAL

IF (1EMP .LE. C(IIUUC(MATL.1,t1) THENCV*L a CJ)NUI)C(WATL,,I) - (CUoNUuC(MATL.I.f ° TEMP)

S (CUNUUC(-A1L,2,I) - CUIUuC(f4ATL .I-I)) /S (CUUU (WAF , I] - CONDUC(MATLPI.1fl)

GU TO, 1Uu

ENU IFso CU-4T INUE

ENu IF

are used to interpolate a value for CVAL, the thermal conductivity, corre-sponding to the temperature TEMP from the array CONDUC. The CONDUC array

4-47 Change 1

*iJTCG/AS-79-V-008

I

are used to interpolate a value for CVAL, the thermal conductivity, corre-sponding to the temperature TEMP from the array CONDUC. The CONDUC array hasthree subscripts: the first one identifies the material code, the secondsubscript equals I for the function arguments and equals 2 for the functionvalues, and the third one corresponds to the points in the function table,beginning with the subscript equal to 2. The array element CODUC(MATL,1,1)has the number of points in the function table, and CONDUC(rATL,2,1) is notused. The first assignment statement is used to store the number of datapoints in the integer variable iVAL. The second assignment statement is usedto compute rIVAL, the subscript of the last data point. The next three IFstatements are used to determine if the temperature is within the function argu-ments. If the temperature is not within the function arguments, CVAL isassigned the function value corresponding to the argument closer to thetemperature and the routine branches to Statenent 100, bypassing theinterpolation steps. The DO loop is used to find the argument interval con-taining the temperature TEIP. The IF statement in the loop is used to branchto the end of the loop until the correct interval is found. The assignment 1statement in the loop is used to perform a linear interpolation on the CONDUCarray. The linear interpolation for CVAL is written mathematically as:

= yi X t)(Yi -y-Cval =i Yi- x -i xi-1 .

where JYi = the ith function value from the CONDUC arrayxi = the ith argument value from the CONDUC array

t = the temperature TEIP

The GO TO statement is used to branch out of the loop after a value for CVALhas been interpolated.

The next statements* P.VL3SP C 1P(PNaTL, iet )4'000

14V ALaiV A tL *ISvAL3E~o

JF ( &1,P.LE.3PLCIF(MATL@I #a)) SVALISPC IF(MATL#2,2)* L.P.(E. sP1 C IF (M I.4&L ) ) 8V 8PEC IF P 4("& L, 24.VAL)IF(SVAL.Gt.U.) GU TO 00Uj 150 1220.VA*IF(TE1PP.GT*SPEC1F(mATL#II& ) G TO 150SWALSSPICI(4AL,2,I) -(SPECIF(PIATL, tI).TEeP)*(SPECIF(04ATL 2lI

(O TU 20"j150 CLo,.a 1IUE200 CU tIIIE

are used to interpolate a value for SVAL, the specific neat, from the arraySPECIF. This array contains both arguments and function values in the saciearrangement as the CONDUC array. Tne linear interpolation routine is identical

4-4W

JTCG/AS-79-V-008

ELSESALP 2 ALPHA(MATL,1b)

END IFEND IF

are used to complete the computation of the coupling coefficient for coatedmaterials. The assignment statement is used to compute this coefficient asthe product of two factors: ALPF, which is a function of intensity and ALPT,which is a function of thickness. This is followed by a block IF which isused to compare the computed coupling coefficient with the endpoints on thecurve represented by array ALPHA. If the computed coefficient is within thetabular values, it is assigned to the variable ALP. If it is outside thetable range, the coupling coefficient ALP is assigned a value equal to thecloser endpoint of the curve.

The statements

RHO a DENSIT(MATL)TEMP a (IMLT * T) / 2.T a TEMP

END IF

are used to compute the component density and temperature for the materialtype. The first assignment statement transfers the density for the componentmaterial code to the variable RHO. The last two assignment statements are usedto set the variables TEMP and T equal to a temperature halfway between theinitial operating temperature and the melt temperature. These are the last ofthe material dependent properties for this encounter. Since the variables ALP,5) RHO, and T are all global (in COMMON /PROP/), the next call to Subroutine PROPYfor the same encounter can start immediately at the next set of statements.

The statement

TEmP = T

begins the computation steps for the temperature dependent encounter properties.The temperature TEMP is the value which changes between calls to this subroutineand is the argument for the two interpolation procedures remaining in thissubroutine.

The statements

MVAL a NINT(Cfl.DUC(MAIL.I,l)) * IIF (TEMP .LE. CUNOUUC(MAIL,I,2)) THENCVAL Z CUNUUC(MATL,2ed)

ELSE IF (TEMP .qE. C0tf)UC(MATLI,MVAL)) THENCVAL Z CUNOUC(MATL.ieMVAL)

EL&ED O so 1 2,4VAL'IF (EMP .LE. CUNUUC(MATL..tI)) THEN

CVAL 2 CfJNUUC(MATL.&.I) - (CuNUUC(MATL,I) - TEMP)I (CUNUUC(MAIL.2,I) - CUIUUC(f4ALr2eI-)) I$ (C'J0NUUC("ATL,,I) - CONDUC(MATL,tI.'|))

Go IYo UUENU IF

s0 CO;4TINUEEwu IF

are used to interpolate a value for CVAL, the thermal conductivity, corre-sponding to the temperature TEMP from the array CONDUC. The CONDUC array

4-47 Change 1

_J

: ,. " . i . , , ° -* .- .- - . - - • .

JTCG/AS-79-V-008

has three subscripts: the first one identifies the material code, the secondsubscript equals I for the function arguments and equals 2 for the functionvalues, and the third one corresponds to the points in the function table,beginning with the subscript equal to 2. The array element CONDUC(MAT,2,1)is not used. The first assignment statement is used to compute MVAL, thesubscript of the last data point. The block IF is used to determine if thetemperature is within the function arguments. If the temperature is notwithin the function arguments, CVAL is assigned the function value correspondingto the argument closer to the temperature. If the temperature is within thefunction arguments, the DO loop is used to find the argument interval containingthe temperature TEMP. The IF statement in the loop is used to branch to the endof the loop until the correct interval is found. The assignment statement inthe loop is used to perform a linear interpolation on the CONDUC array. Thelinear interpolation for CVAL is written mathematically as:

OVal Y [(x t)( )]

where

Yi the ith function value from the CONPUC arrayXi = the ith argument value from the CONDUC array

t = the temperature TEMP

The GO TO statement is used to branch out of the loop after a value for CVALhas been interpolated.

The next statements

100 MVAL NINT ISPECIF("ATLI:,1)) * IIF (TkMP .LE. ECI MATL, 1,)) THEN

SVAL Z F F(MATL ,,2)

ELSE IF (TEMi .GE. SPECIF(MATLIMVAL)) THEN

SVAL . S ECIF(;ATL ,I4VAL)ELSE

DO ISO I 2 2,MVALIF (TEMP .LE. 5PECIF(MATL,I,1)) THEN

SVaL 3 SECIFtfrATL,,e,I) - (SPECIF(MATL,ItI) - TEMP) *

S (SPECIF(MAIL,2,I) - SPEC1F(MATL,2,I-1)) IS (SPECIF(MA1L,|l, ) - SPECIF(MAIL,11-I))

sO TO 200END IF

ISO CoNtINUEENU IF

20 CONTINUERETURNEND

are used to interpolate a value for SVAL, the specific heat, from the array

SPECIF. This array contains both arguments and function values in the same

arrangement as the CONDUC array. The linear interpolation routine is identicalto the one used in the preceding group of statements. Interpolation for SVALis written mathematically as:

Change 1 4-48

I .

JTCG/AS-79-V-008

Si(y -- _____

where

Y= the ith function value from the SPECIF arrayx the ith argument value form the SPECIF array

the temperature TEMP

The RETURN and END statements are used to return control to Subroutine RATand end this program unit.

' '1

4-49 Change i

IN I

JTCG/AS-79-V-008

PROGRAM QKPK

This program requires two input files: a formatted file read by. Subroutine RDATA and a binary LOS file for one view, which is the output of

either Program CONMAG, FASTGEN, or SHOTGEN. These data are used to computefrom three to eleven penetration times for each critical encounter along eachshot line: the minimum time needed to achieve a nonzero kill probability,the minimum times needed to achieve from zero to eight intermediate killprobabilities, the minimum time needed to achieve a maximum kill probability(less than or equal to 1.0), and the time needed to completely perforate thecomponent. This information is written on a binary output file which is usedby Program PEAKAY to compute component kill probabilities and vulnerableareas. Program QKPK is also used to compute and print a breakdown of criticalshot lines by times needed to reach maximum Pk. A critical shot line has atleast one encounter with a critical component. A shot line reverse flag isprovided so that a user may obtain data for the opposite view without gener-ating a new LOS tape.

The first set of statements

I N 1 CFO KRC110-17I I Cni (SOU I.-AAT I-(Fl~%00).IIAH (SO n) #I ^N^(Snl) .

S I I I*,T (bu).PJfPt S(%on) l*PTH( I (1,500) PK VAL ( I lSUl)) ,I flqF '.) , VP 1 ) I Y(%00)cn--- o v T-Y 1F1 (Sw)) , H{ ,e170 ) JH se170 ) C I NL

cnv(oiN /af i Nnt)-PsFI X. IFL AGPFAKF .1414 1dimeni/onl/ Ln( 00) JT (o), NFNCenHr( 10)

DATA AY( p7.0 27/1!M

cDATA N /LlT I I S/ il/. wk 0, iYK , llTCOO-ON /IFiS/ |TC,I xIFXx

DAT TNsi !n T (ATI(S00) ,THRINX(S00) /

is used to declare the variable PKNBR as an integer, to allocate commonstorage area for data transfer among subroutines, and to declare arrayini dimensions.

The statements

DATA A us /27t0/DATA MAT(499)/I/,MAT(SOO)/2/,TFrTogg)/O/,]FG(S(O0)/O/

f TA 0 Ahp(oQ)/D/tTAi(hOO)/O/IANA(a 0)raioiANA(500)/IIF)ATA TINIT(449)/I1O./PTINTT{500)/35./,IY(499)/D/.Iy(500)/O/DATA Q"PF(U9Q),P nF(5OO)/|ee|. /DATA uEcmn /I/

* sare DATA statements which are used to initialize the variables whose namesappear in the DATA statement lists. The first DATA statement is used toinitialize variables with values of current array dimensions. The second

DATA statement is used to initialize the input and output device numbers.The next DATA statement is used to zero the MAXT array. The DATA statementsfor the 499th and 500th positions in the component information arrays areused to assign default component characteristics. These data will be used ifthe shot line data (binary file) describe an encounter with a component whichhas no component information input (formatted file). The final DATA statementis used to set the echo flag so that all binary output will also be written

at the line printer.

Change 1 4-50

JTCG/AS-79-V-008

The statements

OPEK (11INDFiLF: uKPS ATA'%RECF.:lS;*,A:WE EL:BOPAn='YF$;)

OPEV (IYRFILE'UPKPRNT',RECFM'D %CARRJAGE rONTH(IL:'F)ORTRAX')OPEN (I.%.FTLFL'O PKIAPFIN FDRM:I'NFORMATTE ',NCFMr'VARIARLE

")

OPEN (IOUT.FILE='OKPKTAPEOUT',FOM:'UNFORMATTED',RECFM=VARABLE')

are used to connect logical units to the input and output files and to

establish the connection properties between each unit/file pair.

The statements

CALL ROATATIF ('TAX .LE. 0) THEN

MTMAX = IFWAX

00 3 1 a l,NWTAX

TIMAX(I) FTIM(I)3 CnNTIhUE.- " IEND IF

are used to call Subroutine RDATA to read all formatted input for this program,*[ and to fill the TIMAX array. The time intervals for shot line breakdown,* TIMAX, is an optional input. The IF statement is used to determine if this

input was included. If the values are not included, the DO loop and assignmentstatements are executed. The result is that array TIMAX contains values equalto the time intervals from the flux distribution and NTMAX equals the number oftime intervals.

fThe statements

REAP (11 ) Z,EL,GITn,IDVEHYrAXeYMIN,ZMAXeZMI,RADEXPIF (CINCH *LE. 0.) CINCH z 1.0

CMETER 2 CIPC4HS.0254GRID = GRID * CT.ICN

YMAX 2 YNAX - CINCHYMIN 2 YMTN * CINCHZ04A : Z2*x * CINCHZMI' : ZM~f * CINCH

are used to read the first record from the binary file and to convert theminimum and maximum viewing plane coordinates and grid sizes to inches. Theconversion factor CINCH is assigned a default value of 1.0 by using the firstIF statement whenever it has been read with a value less than or equal to 0.0.The factor for conversion from input units to meters, CMETER, is also computed.

The next statements

IF (IRVPS .FU. 1) THEN

YUAX S -vWjNY-IN 2 YI

EL 2 -ELAlZ AZ - IO.IF (AZ .LT. 0.) AZ S AZ * 360.

'r IF

are used to reverse the viewing plane data whenever the shot line reverse flagis set. The first IF statement is used to test IRVRS, the shot line reverseflag. If it is equal to 1, the flag is set and the assignment statements are

used to interchange and negate the minimum and maximum y-coordinates and to

4-51 Change I

JTCG/AS-79-V-008

compute the reversed view attack angles. The last IF statement is used tomaintain a positive value for the azimuth attack angle.

The statement

CALL FSn4T 11., IDf'e A ellwTAII, 7AP'AI]NII P~B a H

P D.VAL , I TC 0k s.R p1H INI Y, # I II')

is a CALL statement used to invoke Subroutine FSORT which sorts the componentinformation arrays into ascending order by component number. The componentnumbers are the values in array ICOMP. The sort subroutine maintainscorrespondence among all the array arguments by subscript.

The statements

I:r' S J = 1*f:1C0'4P

7T114T(J) THTNFL (J),k~nIF(J) Ty(J),1(J) J ,(|EpTH(I.J)S PKVAL (I, ). TI.qP-fT (J))

nFPTH(Il,J) : EPTHfT,J) * CMETFR40 cnNTINuF

THTNFIJ) = JNINFL(J) * CMFIFP

are used to print the component information arrays on the line printer and toconvert DEPTH and THINFL values to meters. The first write statement is usedto print the heading. The outer DO loop is used to print the component infor-mation and to convert the influence mode wall thickness THINFL to meters. Theinner DO loop is used to convert each laser penetration depth DEPTH to meters.

The next statements

'NEF.C Z 0IFILL = 0

iFX12 TFXX - I^RQTE (TOUT) AZEL.RIl],IDVFHtYMAXYMyIN,ZMAX,7Tt eCfcnMp%RITE (tnIIT) (I~n-Pry),IFG(j),Iy(T),I]I(T),t OlPNTS(l),(PI(VAL(,),I).

S J=i.NOPNT3(1 )),]:|eNOCOMI))ewVWSTFMAX,(FTIM(l),FXCm(I).I:l,5 yFmAx)

IF (TFCMn .FQ. 1) TNiNWRITE (IwR.Inn)00 lnUTWRTTF (10-u- 1014) AZ.EL.rui.IlVEHA.Y,YN,7 A x,7ImN,NO )ApaRITF (IwR,10 5)

no 60 1 = I.NnCO'APVRITE (1wR,1016) TC0M P(I),ItFG(T),IY(y).Itif(),

$ NOPNTS(I),(PKVAL(J, ),J=I,NOPNTS(I))O0 CONTIVuF

W- TTE (!wk,1017) IRVPSIuv' x,(FTyM(I),FXCM(I),l = I,1P1AY)ENV IF

are used to initialize four variables, to write the first two records of thebinary output file, and if the echo flag is set, to print the binary outputvalues on the line printer. The variable NENC is used to count the number ofencounters for each shot line and the variable IFILL to count the number ofelements in the binary output arrays. The first two assignment statementsare used to set these two counters equal to 0. The variable IFM is used toreference the next to last element in the flux arrays and variable IFMI isused to reference the next to last element in the array MAXT, which countsthe critical shot line breakdown. The first binary WRITE statement is usedto write the viewing plane description on the first record of the binary

Change 1 4-52

JTCG/AS-79-V-008

output file. The second WRITE statement to device IOUT is used to write the

component number array, criticality flag array, system number array, multiple

vulnerability flag array, reverse flag, number of points in the flux distri-

bution, and flux distribution with time intervals. The block IF is used to

print the binary output values on the line printer when the echo flag is set.

The statements

t00 CnOITINUF

READ (IIN) (DIJH,(SHI,(J),1=1,2).(JH(1,J),121,]5),J=,170)DO 110 J 2 1,170

are used to read the next record of LOS data and to initiate a DO loop toprocess these data. The LOS data on the binary input file are arranged in

groups of 170, and are stored in 170 consecutive array locations by using animplied DO loop. Consequently, a DO loop must be executed 170 times to

process each set of LOS data. When the DO loop execution has been completed,

a GO TO statement is used to return to Statement 100 so that the next set of

LOS data may be read and processed.

The statements

IF (JH(,2.) F). 0) C0 To 5000

ICODE = O(JH((,J),10 ]NFNC NENC + tIF (NFNC .GT. 100) n0 TO 530

are used to test for the end of view indicator, unpack the end of shot lineindicator, increment the number of encounters, and test for a bounds violation.

The first IF statement is used to test for an end of view, JH(2,J) = 0, and if

true, causes a branch to Statement 5000. This is the normal exit from the LOS

data processing loop. rhe assignment statement for the variable ICODE uses

the FORTRAN MOD function to unpack the right-most digit of JH(1,J). The lasttwo executable statements increment NENC, the number of encounters per shot

line, and branch to Statement 530, where a fatal error message is printed if

NENC is greater than 100. If NENC is small enough, the program continues withthe next set of statements.

These statements

XLns(NFNC) = FLOAT(JHN 3,J)) * 00 * C ETERJHT(NEA'C) a JH(2,J)

are used to compute the line of sight thickness in meters from JH(3,J) andstore it in array XLOS. The last assignment statement is used to store the

component number for encounter NENC in array JHT.

The statements

[F (IQVRS .FIQ. 01 TMEN

ORa(NFNr) z FLnAT(JHC ,J)) * 0.001

(IRIJ(PYENC) 2 FLOAT(JH(5.J)) 00.001EM'O IF

are used to store the secant of the entrance obliquity angle in array OBQ.

The IF statement is used to test the shot line reverse flag. If the shot

4-53 Change 1

LI

JTCGIAS-79-V-008

line is not reversed, (IRVSR = 0), the program uses JH(4,J) for the secantof the obliquity angle; otherwise the program uses JH(5,J). Since the binaryLOS file actually stores 1000 times the secant value, the JH array elementvalue is multiplied by 0.001 to obtain the true secant value.

The statement

IF (ICODE .E. 9) THEN

is used to test for the end of shot line flag. If ICODE does not equal 9,the end of the shot line has not been reached and the program bypasses theblock IF and continues execution at Statement 110, the last statement inthe shot line data processing loop. Then, the program will branch to processmore shot line data. When the end of the shot line is reached, the nextstatements will be executed.

These statements

IF (CIPVRS FG. 1) CALL REVRSE(J)

00 170 IR = I,IF."Ax

PEAKF = FXC(TIQ)FLw z FXM(IP )CALI PAT (NAIFS(IIP)IW, AXENC)IF (IFLAI; .FJ . 0) GO Ii) 10A

170 CONTIN4F

are used to reverse the shot line, if required, and to compute the penetrationrate for each flux level. The IF statement is used to test the shot linereverse flag, and if it is set, to call Subroutine REVRSE, which is used tointerchange the order of the components along the shot line. The DO loop isused to compute the penetration rate at each level of flux. Assignmentstatements for variables PEAKF and FLX are used to store the flux level inCOMMON /ONE/. These values are accessed by either of the subroutines PROPYor TABLE, depending upon which is called by the Subroutine RAT. The CALLstatement is used to invoke Subroutine RAT which computes the rate ofpenetration at the IRth flux level for each component along the shot line.The argument array, RATES, is used to store the penetration rates. The firstsubscript for RATES is the encounter number and the second subscript is theflux index. The variable IFLAG is computed in Subroutine RAT and equals thenumber of the last critical encounter. If IFLAG equals 0, there are no criticalcomponents on the shot line and the IF statement is used to branch out of theloop.

The statements

IAD IFILL IFitlVKI*F(I,U ILL) = SN(k I11 * CINCHPAII F( ,IFILL) = S ,(P.J) * CINCH1 1( 0,fl = 3,WKN R

SPK TIT (X, F ILI.) 2 0.(19 CnNTI NVNIIF

P. S( IFl ) .

II(IFILI ) 2 NCWII

are used to store the next group of data in the binary output arrays. The

Change 1 4-54

JTCG/AS-79-V-008

first assignment statement is used to increment IFILL, the subscript for thebinary output arrays. The shot line y- and z-coordinates are converted toinches and stored in the first two elements of each row of the PKTIME array.The remaining elements in each row are set to 0.0 in the DO loop. A 0.0 isassigned to array PLS and the number of critical encounters on the shot lineis stored in array Il by executing the last two assignment statements.

The statements

IF (kCWTI .FO. 0) MAIT(TFXX) a MAXTfIFxX) + IIF (IFILL .Fa. ?OO) THFN

,AITE (tMIT) ((PKT[ME(TX,JX),TX: 1IO),PLS ,IX) 11(.IX),$ Jx: ,PUO)

IF I ECHO .E0. 1)Sv*RITE (I1,4.1002) ((PKT1ME(IXJx)tx=1:, o),I'LS(JX)e

Z II(JX].JX:=I200)WFILL Z 0

END IFIF (IFLAG .NE. 0) THEN

are used to count the number of noncritical shot lines, write the binary outputarrays (if they are full), and fall through to the end of the LOS dataprocessing loop (if the shot line has no critical encounters). The first IFstatement is used to add I to the last element in array MAXT, the number ofnoncritical shot lines if NCRIT, the number of critical encounters, equals0. The next IF statement is used to determine if the binary output arraysare full. When IFILL equals 200, the arrays are written to device lOUT, usingthe binary WRITE statement and echoed to the line printer if the echo flag isset. The subscript IFILL is reset to 0 after the WRITE statements areexecuted. The binary output steps are skipped if IFILL is less than 200. Thelast IF statement is used to determine if there are no critical encounters andto bypass the block IF and continue execution at Statement 110.

The next statements

TIISED = 0.TMAX z 0.TMANI z I.E30

IRIJSrn = I401 CnNTTN1JF

O) 499 TI : EIENC

are only executed if the shot line has at least one critical encounter. Theyare used to initialize four variables and to initiate a DO loop which iteratesfor zvery encounter on the shot line.

The statements

NRAQ =0.T9NOw HIJsoEOTHAW 2 TUSEDfilSLFT Z L5s(I[)

are used to initialize four variables and are the first steps in the encounter

loop. The variable RBAR is the penetration rate and IRNOW is a subscript for

the flux distribution array. TNOW represents the time used up to the presentstep. DISLFT is the distance remaining to be penetrated in encounter 1I.

4-55 Change 1

JTCG/AS-79-V-008

The statements

410 CONTINUE

RATF 2 PATES(I1,INnw)

IF (NATE .LF. 0.) GO 10 430

IF (CISLFT .LF. (FTIM(IRNnl ) TNn ]) * NATE) GO TO £20DISLFT : OISLFT - (FTIM(INnw) - TNOW)*RATFINOW = FTIM(JRNJO)IRNOm z IRNOn + I

IF (IPNOW .LF. 1FMAX) GO TO 410

3 IOA = I - I

are used to compute the time step during which penetration ends for the llthencounter on the shot line. The first assignment statement is used to set the

variable RATE equal to the penetration rate for the l1th encounter and the

IRNOWth time step in the flux distribution. The first IF statement is used to

branch to Statement 430 when the rate is 0.00. The second IF statement is used

to branch to Statement 420 if the penetration is completed during time step

IRNOW. If both tests fail, two assignment statements are used to computeDISLFT, the distance left to penetrate after time step IRNOW, and TNOW, the

time after this time step. Next, IRNOW is incremented and the IF statement is

used to branch back to Statement 410 to compute penetration for the next stepin the flux distribution. If these steps iterate through the entire flux

distribution without complete penetration, the last IF statement fails, and

IRNOW is decremented so that it points to the last step in the distribution.

The statements

'120 COITJNUETNON = )NO* + DISLFT / RATET.OS z TNnn - TIISEI

RBAR = KLUS(II) / 1LDS

are used to compute TNOW, the time of complete component penetration, and RBAR,

the average penetration rate for the encounter. These steps are bypassed if

the penetration rate becomes 0.0 before complete penetration.

The statements

430 CPNTINUEI -- JWl(I)IF (IFG(I) K)E. 0) THEN

IFILL a IFILL # I

PLS(IFILL) r NONII(|FILL) a JHT(II)THATI() = AMAXITHQAIA(T),nEpTH(II) * nlo(II) /

S XLV0 (II))

THWAT?(I) z AMAXI(THRAIZ(!).DFPTH(KOPNTS(y),I)$ O5lj(l!) / XL"5(II)

are used to store the data for complete penetration in the binary output

arrays. If the encountered component is a critical one, the statements in

the block IF are executed; otherwise the program continues execution at

Statement 110, the last statement in the shot line data processing loop.

Three assignment statements are used to increment IFILL, to store the timefor complete penetration in the PLS array, and to store the component number

location in array Ii. The values for insertion in the THRATI and THRAT2arrays are computed using the AMAX1 function and are used to store the ratios

I DEPTH(1)*OBQ/XLOS and DEPTH(NOPNTS)*OBQ/XLOS for the encounter with the

Change 1 4-56

. . .........- .

7-. -

JTCG/AS-79-V-008

smallest non-zero line of sight thickness for the Ith component.

The statements

PK1( I4t(K IF ILL)= o

440 CONTINUE

IF (WRAR .GT. n.) T"FNOn 1450 K 2 i.JnPP"T-(C )

VKIT F(K,TFILL1 a o)FPTH(K.I) * MRg(II) / PHAW *$ TU EI)

sI0 CfN TINIIF

are used to compute and store the time required to penetrate to the specifieddepth to obtain the associated Pk. The first DO loop is used to initialize

the PKTIME array to zero. The IF block is executed if the average penetrationrate for the component is greater than zero. The DO loop in the block IF isused to compute the total time required to penetrate the component to obtainthe Pk values entered in the array PKVAL.

The statement

IF ((PKTtMI(rSOP4Te(T),IFILL) .LF. PIS(IFILL))S Aun. (."vai (NnO e.,Tq(i),T) . i l.0)}$ T"^X1 2 AMLtIPAKTMF(NfP TS(I),F).t))

is used to compute TMAXI, the earliest time that a component Pk equal to 1.0occurs on this shot line. The IF statement is used to exclude encounters whichcomplete penetration before attaining Pk = 1.00.

The next statements

IF (PKVAL(NnP-7S(T),j) .E0. 1.0) THFN

T-& A4A1)(TMAX,AMTNl(TN(Iv,PKTME(NPat(t),S E IFILL)))

FL SFTP-AX a AMAXI(TMAX,A41N1(TN(iW,PLS(IFILI )))

END IF

are used to compute TMAX, the minimum time needed to process all components onthis shot line. The block IF statement determines whether it is possible toguarantee a kill of a component with a single shot line. If so, the assignment

statement in the THEN branch is executed; otherwise, the ELSE branch is used.The AMINI function is used to select the minimum time to complete the currentencounter. The AMAXI function is used to select the greatest time for allencounters by comparing the value of TMAX from all previous encounters withthe time for the current encounter. A completed encounter requires completepenetration of the component or a Pk equal to 1.0, whichever occurs first.

The statements

Ir €i1L .Ell. 200) TMEN

S I (JW),JXZl, 201

IF (IFCHO .Fr. 1)S PL(JX), I1(Jx),JX2I,200)

IFILLMOE4D IF

4-57 Change I

JTCG/AS-79-V-008

END IFE40 IFTUSEf z TNno

IPtISED a IRNOW499 CONTINUF

are used to write another record of the binary output file, if the binaryoutput arrays are full, and to end the encounter DO loop. The block IF

statement is used to determine when the binary output arrays are full. Whenthey are full, the binary WRITE statement is executed and if the echo flag isset, the forwatted WRITE statement is executed. The output array index, IFILL,is reset equal to 0 following the WRITE statement execution. The block IFstatements determining whether the binary output arrays are full, whether the

average penetration rate is greater than zero, and whether the encounteredcomponent is a critical one are closed with the three END IF's. The nextassignment statement is used to set TUSED equal to the time for complete

penetration of this encounter and the last assignment statement is used to setIRUSED equal to the flux step number during which complete penetration wasattained. Statement 499 is used to end the encounter DO loop.

The statements

TmAXI : AMIN1CTNAX,TMAXI)DO 500 122,NTMAX

IF (TMAXI .LE. TIMAX(I)) THEN

'41()2MAlT t) +GO Tn 510

Ffvn IFSo CO'TINIE •

-AXTCIVIM) WiAXT(!FXM) + I510 CnPTIP'UF

are executed after each shot line is processed and are used to compute thebreakdown of the shot line by the time required to achieve maximum Pk. First,

TMAX1 is recomputed to be the minimum of the time needed to completely processthe shot line and the time needed to reach a component Pk = 1.00. The DO loopis then used to cycle through the time intervals for shot line breakdown. The

IF statement is used to find the time interval I in which TMAX1 falls. After

the time bin I is found, the assignment statement is used to increment MAXT(I)and the GO TO statement is executed to branch out of the loop. The assignment

statement following Statement 500 is executed only if TMAX1 is greater thanall of the time intervals for shot line breakdown. It is used to increment

the next to last array location of MAXT.

The statements

FND IFFKD IF

Ito rnilNUcr r iO 100

represent the end of the LOS data processing loop. The assignment statementis used to reset the number of shot line encounters to 0 and is executed aftera complete shot line has been processed. The END IF statements close the

block IF determining whether the shot line has any critical encounters andwhether the end of the shot line has been reached. Statement 110 is used toend the DO loop, which is executed for each of the 170 LOS data array elements

Change 1 4-58

JTCG/AS-79-V-008

The GO TO statement is used to branch back to read and process a new set of LOSdata.

The next statements

SOno cONT1 |)IIFTLL s IFILL + I

DO 120 J I IFILL,200IS(J) a q999120 CO(T INUE

are executed after an end of view has been detected in the binary LOS input

data. The first assignment statement is used to increment IFILL, the numberof values in the binary output arrays. The DO loop then is used to fill the

remainder of the binary output array, Ii, with an end of view flag, 9999.

The statements

WRITE (TOUT) ((PKTT4(IX,JX),TX IlO),PLS(JX),11(.JX),Jx=t,200)

IF (IFCHO F'I. i) r14FNaTTF (f.J, l0?) ( (PwTTI (TY.JX) T :1 10)

S P S(JW) I I (J ) -19=1, 1 L.1)-TTF (- , O 1

EW'-

IF

are used to write and echo the last binary output record. The end of view isindicated in this set of 200 array elements by the value 9999 in arr~ty Ii. The

*block IF is used to test the echo flag; and, if it is set, to print the shot0line data before the end of the view occurs and to print an end of echo messageusing formatted WRITE statements.

The next statements

T-R TF (lIw0, o% AXT((F~X)

FRO AAX T(;F' )

TF 0.

FE FvCM(t)nn~ ,Po I ZI.AJTUAX

TF TIMAV(T)

FA x FE

are used to begin assembling the breakdown of critical shot lines by timesneeded to reach maximum Pk. The first WRITE statement is used to print the

number of noncritical shot lines and the heading for shot line breakdown. Thenext four assignment statements are used to initialize four variables: NSL isused to count the critical shot lines, TE is the end time, JF is the subscriptfor the flux table, and FE is the end flux level. The DO statement is used to

initiate a loop to iterate through each time interval for shot line breakdown,and the next three assignment statements are used to determine begin time, end

time, and begin flux level for the Ith time interval.

The statements

IFF s 31'-n 5, .1 2 JFF,IF4

JF S j

4-59 Change I

', I

JTCG/AS-79-V-008

IF (TF .LF. FTI'M(,I1) CO Tl SjqIF (TE .LE. FT14(J+1)) THEN

JF z J + I

Gn TO 51gI END IF

5t CON TIUF

JF x IFMAY519 rE = FXC-(JF)

%RITE (Iw. 100b) TBIE ,F%,FEA%7(t1)NSL a NSL + MAXT(T)520 Cn'.TINUE

are used to find the flux level at the interval end time and to print the shotline breakdown. The DO loop is used to search the FTIM array to obtain thetime interval, JF, which includes TE. The assignment statement followingStatement 518 is executed only if the end time is greater than all values inthe FTIM array. In this case, the last flux level in the distribution is theend flux level. The WRITE statement is used to print the shot line breakdown.The variable NSL is computed in the last assignment statement and is used tocount the total number of critical shot lines. Statement 520 is used to endthe DO loop which is executed for every shot line time interval.

The statementsTO = TE

TF X I.E30FR = FE

FE = FXCV(JFmAX)hAITE (IAR.100h) T4.TFF8,FE,.Axi(IFxm)ujPITE (INQ,10l1) NSL

2SL 2 NL + MAXT(IFXX)+QITE (1u9,1012) NSL

are used to print a summation of critical shot line breakdowns. The first fourassignment statements are used to compute the begin time, end time, begin flux,anioend flux for the last interval. The end time, TE, is assigned a value of10 to imply that this interval applies to all times greater than the lastbegin time. Two WRITE statements are used next to print the last line of thebreakdown table and the total number of shot lines. The last assignmentstatement is used to add the number of noncritical shot lines, MAXT(IFXX), tothe number of critical shot lines, NSL. The last WRITE statement is then usedto print the total number of shot lines.

The statements

WRITE (IwR,1009)on e00 J X 1.NOCOMP

IF (THHATI(J) .GT. 1.0) THENWRITE (l!A,1;l0) ICfMP(J),THkAII(J),THRAT2(J)

EISF IF (7wPAT?(J) .GT. 1.0) THEN*RITE (1-4,1013) ICnt4P(J),IMQ&12(J)

F*O IFbOO COTINtiE

are used to print the last page of QKPK output, which consists of a list ofall components having at least one encounter where the LOS thickness is lessthan that necessary to achieve a non-zero Pk or that necessary to achieve themaximum Pk for a single encounter of the component. In these cases, thecomponent is completely perforated before a non-zero or a maximum Pk value isobtained. The first WRITE statement is used to test the arrays THRATI andTHRAT2 for each component. The first condition of the block IF statement isused to detect components with a LOS thickness less than that necessary to

Change 1 4-60

JTCG/AS-79-V-008

achieve a non-zero Pk. When such a component is found, the WRITE statement isexecuted and execution then falls through to the end of the loop. The secondcondition of the block IF is used to test for a component with a LOS thicknessless than that necessary to achieve the maximum Pk for a single encounter ofthe component. When such a component is found, the last WRITE statement isexecuted. Execution then continues with Statement 600, the end of the loop.Entries in this table of output indicate possible errors in the selection ofDEPTH values to achieve the non-zero Pk and the maximum Pk.

The statements

STnP530 CON'TINUE

WRITE (I.P1t008) NENCSTr*

are used to stop the execution of this program. The first STOP statement isused to halt program execution and is the normal end point for this programafter completely processing the shot line data for one view. The statementsafter Statement 530 are executed only if the number of encounters for one shotline exceeds 100. The WRITE statement is used to print an error message. Thelast STOP statement is used to halt program execution after the fatal error.

The last group of statements

1000 FflMAT ('I THE FOLLO0TNG IS AN ECHO OF THE DATA WRITTEN ON THF ,S "n4PK WIlTPOT FILE ( LMOgCAL UNIT ",I2,' )'/)

o100 FnwMAT ('OENO OF ECHJ nF DATA wRITTEN ON QKPK OUTPUT FILE*)if2 FAIWAT (POPwTTME(J,). PL5(T, Jl(1), J=l,10, I12,200"/

I P00(tlt1'.%,))

1003 FOrmAT (*IVALIIES lISEn FO THIS Po P9//ICnM0 lF MAT ITAS TANA TI-iIT',

S 5. "THFL RHOF IY tU CiRDA /

S AX.*'FPTH(IJ PKVAL(1) OEPTH(2) PKVAL(2) IIPT4M( ,$ ?.xPVAL(3) nFPTH(4) PWVAL(I) nEPTO(5) 61KVAt(5)'/$ SX,O FPTH(h) D<VAL(f6i1 OFUT(7) PRVAL(1) OEPIH(A)I PYK'OVAL(A) OFPTH(Q) PWVAI(9) OFPTH(I0) PSVAL(I0)'/)

1004 FORwMT (16.17.31tO..pto.O. ll, /2(Ft.RFIO.p/))1005 FOkNAT (11 TOTAI NIJ-4F0 FIF NfI-CUTTTCAL SHOTLINFS :.17//

" OHRFAKOeWN OF C4ITICAL SHI'TLIFS HY TIME NFEEO TO HFAr5 MAXH:I0qK.M PvO'/'OQE(.IN TINE%,SXFN) TIMESXOPEGIN FLU'XS ENn FL'IV',SX,'N'4IqER OF SH4OTLINES')

1006 FOnPAT (IX.FIO.?, ,.FIO.2,5E,FIO.2,SX,FO. ,lOX. 101")1OO F fQUAT UONENC : W1. WHICH IS rNFATER THAN 100'/

5 *0...PROGRAM HALTING')

1009 FwmMAT (*I IHE FOLLOWING COMPONENTS HAVE AT LEAST ONF SHOTLINF%,$ * ENCOUNTER *HEQE THF THICKNESS IS LESS THAN PKM OR PKMX.....*/5 6WIF THF THICKNESS IS LESS THAN PKMN, COMPONENT PK IS ZFrO *.S 'FOR THAT ENCOUNTEV'/bX,'IF THE THICKNESS IS LFSS THAN PKMX,S "COMPONENT PK 1S LFSS THAN 1.0 FOR THAT FNCOIINTER/1/COMr1nNENT',

5 1 Yx'ONXIMjJ VALUF OF PKMN/THICKNFSS',5X,'AX"MIM VALUE OF ". "PK-MV/THICKNFSS*)

1010 FOR"AT (I , t,2W.PQ.3,25(,F20.3)1011 FOmAT ('',25 ,'T,ITAL NIIMRF4 (IF CI#ITTCAL SHOTLINFS 2*,110)1012 FOnMAT (IOTOTAL IMtoRER OF SHOTLINES 2',110)

1013 FOkmAT (t1,I6,21X,'LESS THAN 1.0",PIl,F10.3)1014 FOOMAT UOAZ. EL. GO, IOVFH. YMAX, YIN, ZWAX, ZITN, NOrOMP'.

S 3FI0.S,TA.QFIO. I,,)1015 FOOMAT UOICOMP(I), gF(I), IY(11, 1U(I), NOPNTS(I). (PVAL(J,I),

S "J21.NOP-.TS([I),121NOCOMP1)1016 FOpMAT CS1,10FS.2)1017 FOPMAT ('OIQVS, TFWAX, (FT14(), FXCm(I), TstIFMA',]

$ 2I10/4(2FI0.1.5X))

E NO

is used to define all input and output formats and to end Program QKPK.

4-61 Change I

[ " t

-- : - - - . -. .'i -" "

JTCG/AS-79-V-008

SUBROUTINE RAT

This subroutine is used to compute the penetration rate for each encounteralong a shot line. Program QKPK calls Subroutine RAT once for every level offlux in the flux distribution. The computed rates are stored in the arrayRATES, subscripted by encounter number. The penetration rate for a componentmay be computed by using one of three methods: melt-in-place analysis, melt-removed analysis, or table look-up. The first two methods are used formetallic components and use Subroutine PROPY. The third method uses SubroutineTABLE.

The first set of statements

SUnNOUTXNE RAT (RATk5,TP4MAXE4C)Db'ENSION LUC (l1U0) KrAlES(AAt1.C)CO :U N ICOMPI(5SU).Mia(5ba),IFG(SOO),ITA:(:U:),ANA 0soo).3 T II T (JU ) N O*1 15( 50 u )#EPTH(10,5O0),PKVAL(Iueb00),

- S $ OF(0uU),.sVkseIU(5OO)eIY(500)COPMON Tm]NFL(tJt)fSPI(dolU),JH(5,1T0),CINCH

COO| /ONE/ NLCUmIP pFLX , IFLAG. PEAKF IfJCUITCOMMON / U/ XLOS(100)),JHT(1OO].NENC.uHgctO0)

COmON /PMOP/ ALP.kHX.CP.T,4LTXLAMd ,WATEJCUMPJDPXKTVAP.£ CPL.ITEk TCOMMUN /SIZES/, 1C~zlrxx

is used to facilitate transferring data among subroutines and to declarearray 2imensions. The SUBROUTINE statement is used to accept three arguments:the rates array, the subscript for the flux distribution, and the dimension ofthe rates array. The DIMENSION statement is used to establish a local integerarray LOC and to declare the argument RATES to be a one dimensional array.Note that RATES is a two dimensional array in the calling program, but sub-routine RAT can only be used to place values in array positions for a constantflux index IR, the second subscript. Five COMMON statements are used totransfer data and to declare array dimensions.

The statements

IF (IR *EU. 1) THENIFLAG 2 0NCWkIT a 0DO 1C0 1 x INENC

JCOMP 2 JT(d)CALL SSRCH(ICOMP.NUCOAP.ITC)LUC( ) 1 JIF (JFG(J) .NE. 0) THEN

NCR!? a ewiI +IIFLAG a 1

END IF100 CONTINUE

NENC a IFLAGIF (IFLAG Eu. 0) RETURN

END IF

are executed once for each shot line. They are used to build the componentnumber link array LOC and to count the number of critical encounters on the

* - I shot line. The first block IF statement is used to test the argument IR,which equals 1 the first time Subroutine RAT is called for a shot line. When

| IR is greater than 1, the block IF is bypassed; otherwise, the DO loop isexecuted for each encounter on the shot line. The encounter component numberis assigned to JCOMP. Subroutine BSRCH is invoked to search the component

Change 1 4-62

JTCG/AS-79-V-008

number array, ICOMP, to find the subscript J for the component number matchingJCOMP. The assignment statement following the CALL statement is used to storethe subscript J in the LOC array. The next block IF statement determines ifthe encounter is with a critical component. If not, execution continues atthe end of the loop; otherwise, the two assignment statements in the THENbranch are used to count the number of critical components on the shot line,NCRIT, and to save the encounter number of the last critical encounter inIFLAG. After the DO loop is completed, the next assignment statement is usedto reassign the number of components, NENC, so that any noncritical encountersat the end of the shot line are excluded. The IF statement is used to returnto Program QKPK if there are no critical encounters on the shot line. In thiscase, the variable IFLAG is also tested in Program QKPK so that this subroutinewill not be invoked again for the same shot line.

The statements

00 300 I a I,NENCJ U LOCCI)OP X ELOS(I)

are used to initiate a DO loop which will iterate for every encounter. Thefirst assignment statement is used to get the subscript, J, for the componentinformation arrays from the LOC array. The next assignment statement is usedto set DP equal to the component LOS thickness.

The next statements

IF (CI .EU. 1) THENIF ITHINFLEJ) .GT. 0.) THEN

oP 2 IHINFL(J * U )ELSE

OP 2 XLOS(I) * R04OF(J)ENO IFXLOS(1) a OP

END IFOATE 2 0.

are used to compute the actual component thickness for the encounter. TheI first block IF statement is used to bypass these steps if the XLOS values have

already been computed for this shot line. The next block IF statement is usedto determine which method to use in computing the actual thickness. If the

I influence mode thickness is greater than 0.0, the THEN branch of the block IFwill be used to compute the actual thickness as the product of the wall thick-ness and the secant of the obliquity angle. This value (in meters) is assignedto DP (the variable THINFL was converted to meters in Program QKPK). If the

I other method is used, the ELSE branch of the block IF will be used to compute; the product of the LOS thickness (converted to meters in Program QKPK) and the*: input density factor of that component. The actual thickness for the Ith

encounter is stored in the XLOS array, using the assignment statement followingI the end of the second block IF. The last assignment is used to initialize the

variable to be zero.

The statements

IF (OP .T. 0.) TnENIF (IIASIJ) .EQ. 0) TMEN

4-63 Change I

JTCG/AS-79-V-008

are used to determine the appropriate method for computation of the penetrationrate. If the component thickness is less than or equal to 0.0, the THEN branchof the first block IF is not executed, thereby bypassing all rate computationsand resulting in a rate equal to 0.00. The second block IF statement determineswhether a table look-up code has been specified. If not, the THEN branch isexecuted; otherwise, the ELSE branch is used.

The next statements

- ITEW a 0

CALL PWOPYCPS a CPRHO z RHX

are used to begin a rate computation, using one of the analysis types. Thefirst two statements are used to call Subroutine PROPY with the iteration flagequal to 0. Subroutine PROPY is used to compute the material dependentproperties--melting temperature, vapor temperature, heat of fusion, couplingcoefficient, and density--and the temperature dependent properties--thermalconductivity and specific heat. The last two assignment statements are used totransfer the specific heat value to variable CPS and the density value tovariable RHO.

The statements

IF (IANA(J) .EQ. 1) THEN

IIER : IT = TMLT

335 CONTINUECALL PROPYTSIAR : TMLT * FLX * ALP * DP / XK

IF (ABS(T-TSTAN) .GE. 10.) THENT X TSTAWGO TU 335

ENO IF

are used to compute the component's temperature rise for the melt in place| analysis mode. The first block IF statement determines whether the melt inplace analysis type is specified. If so, the statements in the THEN branchare executed; otherwise, the ELSE branch is executed. The next two assignmentstatements are used to set the iteration flag, ITER, equal to 1 and thetemperature, T, equal to the melting temperature. The rest of the statementsform a loop which is used iteratively to compute the limit of the temperaturerise. Since the iteration flag ITER equals 1, Subroutine PROPY recomputes thetemperature dependent properties--thermal conductivity, XK, and specific heat,CP. The assignment statement following the CALL statement is used to computethe new temperature TSTAR. The mathematical expression for computing TSTAR is:

f'T 7 ] m (3-12)

I The second block IF is used to branch out of the loop when the temperature rise,i.e. the change in temperature, is less than 100 from the previous loop.

Change 1 4-64r".

JTCG/AS-79-V-008

The next statements

IF ((TSTAk .GT. TVAP) .14. (TVAP .GT. 0.)) THENSTAR z XK * (TVAP -TMLT) /UpHATE Z STA R / ( MH O * (CP 5 * ( tLT - TINIT(J)) *

S xLAMdD * CP * .5 * (TVAI - TMLT)))ELSE

WATE Z FLX * ALP / (WHO * (CPS * (TMLT - TINITJ)) +S XLAMOD + CP * (.5 * (TSTAW * THLT) - TMLT)))

ENO) IF

are used to compute the penetration rate for the melt in place analysis type.The block IF statement is used to determine which of two melt in place rateequations should be used. If the peak temperature is greater than thevapor temperature and the vapor temperature is positive, the rate equation inthe THEN branch will be used. This equation in mathematical form is:

(TV - Tm)

R k Z (3-L6)

Cps (T -T 1 ) + X + Cpz v2Tm

If the peak temperature does not exceed the vapor temperature or the materialtype has a vapor temperature of 0, the second melt in place rate equation inthe ELSE branch will be used. The mathematical form of the second rateequation is:

R : aF

P Cps (T - TI) + + Cp( 2 Tm) (3-10)

The statements

ELSERATE z FLX * ALP / (RHU * (Ck * (TMLT TINIT(J))

XLAMdD))END IF

are used to compute the penetration rate for the melt removed analysis type.This rate equation is written mathematically as:

R Fp[Cps (Tm -T) + X] (3-7)

The statements

4-65 Change 1

, • ' ",- t " " - - i mmmm t m It m 'm d dm m b

JTCG/AS-79-V-008

ELSECALL TABLE

END IFEND IF

invoke Subroutine TABLE when a look-up code has been specified to computea penetration rate for nonmetallic components.

The statements

RATES(]) a RATEJ34(I) a S

are used to store the penetration rate and to reassign the component link.The first assignment statement is used to store the computed penetration ratein the array, RATES, indexed by the encounter number. The second assignmentstatement is used to store the component information array's subscript J inthe JHT array. This array previously contained the component identificationnumbers.

The final group of statements

300 CONTINUERETURNEND

contains Statement 300, the last statement in the encounter loop. After apenetration rate has been computed and stored for every encounter on the shotline, the RETURN statement will be used to relinquish control to Program QKPK.The END statement is used to conclude this program unit.

AW

Change 1 4-66

LO

JTCG/AS-79-V-008

SUBROUTINE RDATA

This subroutine is used by Program QKPK to read the formatted input deck.

The data in this deck include: number of components, shot line reverse flag,units conversion factor for the input, flux distribution table, and,optionally, time intervals for shot line breakdown. Subroutine RDATA is alsoused to print the flux distribution table, the first page of output fromProgram QKPK, and to test the flux values and the number of components. An

error detected by these tests will halt program execution. The same tests aremade by Program PRERD and any error should be corrected before proceeding toProgram QKPK.

The statements4 SflIiT tE ruATA

Cn1-00N ICn-P (SOO) ."AT (SOO I |G(son), ITAR(90 ),[I AA(500),

5 1 1; TI1T(%fl00),-jn fPJS(rCo flIspu Ti(0.S0).PKYvo (t0snon),I- ( SO+¢( O )I e] Vvs, l (In,,) e JY(9OO )

CtfLON tI%[ ( ,St, H(2S , 17 0).J(S, Il7nflCI ICH

'~nl 0 /INE/ )I III. X ,cnahs L ~AG,.I*AKFR r IrTCn- N /1.'/ fLfl(2u0),IMT(100),tENC~nh u( 10)Cflvt. /FA.,4/ AIFSI 10 0 ),FT1I( S),5 X (?1 FX( F X F 1 F .$ TI X(;.S)lAxT(27),Nt ,,AXCDUJO / LL t-;IIst IQD An'4I1Cta.1 mtcn-voP6, /strs/ i~Tr,FIX

are used to establish array dimensions and common storage allocations. Data

for variables are transferred to and from other program units by using the

common storage areas.

S The next statementswean (1QC'.I000) NACn'APIV T (I F .NOC(MP+2) TFN

;EA0 (Ipol000) FMA XPEAfl (I100I102) (FXCM(I),=:I. FMA)aEA() (jRC-.1002) (FTIv(I),T:1,IFMAX)

are used to read the number of ccmponents, NOCOMP, and, if the value read isnot too large, to read the shot line reverse flag, the input unit conversionfactor, and the flux table. If NOCOMP is too large, the ELSE branch of theblock IF is executed.

The statements

.RITF (I.?pUOo) NfCfMP#IRVRSCINCHwAITE (1.0,2001) TFMAX

If z 0.00 IO = tIPFMAX

TA : TATE 2 FYTI(I)WAITE (IA0,O,?00 TR.,TF,CM(I)

Ito CPNTINUETA 2 TETE a I.EIO.RITE (I.0.2002) TH.rFxrmC(IFMAX)

are used to print the first page of QKPK output. The first two WRITEstatements are used to print the number of components, the shot line reverseflag, the input unit conversion factor, and the number of points in the flux

distribution. The DO loop is used to print the flux distribution table in aformat that shows a flux level, FXCM(I), lasting for a time interval, TB to

4-67 Change 1

JTCG/AS-79-V-008

TE. Since the last flux level applies to all times greater than the lasttime in array FTU, an extra line is printed in the flux table with an endtime value of 10 -

. This value requires more digits than the format for thelast WRITE statement will allow, so the end time for this flux level isprinted as a row of asterisks, symbolizing an infinite end time.

The statements

DO I6(1 I 1 .IF-&XIF ((FC.(h) .GT. 0.) ,AMD. (FXCM(I) .LE. 6.OE 0)) THEN

FM ) = XCM(I) * 10000.

ELSEPITE (IwR.100) FXC"(I)

STOPEND IF

160 CONTINUE

are used to chec if each flux level is within the acceptable range (0.0 t60000.0 watts/cm ) and to convert the flux values to another unit, watts/mThe DO loop is used to cycle through each of the IFMAX flux levels. Theblock IF statement is used to test the flux level. If the flux level passesthe test, the flux value is converted to watts/m and is stored in arrayFXM. If the flux level is too low or too high, the WRITE statement is usedto print a warning message and the program stops.

The statements

no 4o I i,NnCnMPRFAf (loD, OO1 IDSTAT=IOS) TCAM (IH ), AT(I)tIFr(I),ITAn( ),

£ IANA(I),TItv I (I),THI'JFL(I),R.flF(I),IY(I),I1(I),NnPPITS(I) .. 9IF (10S F. 0) 1114IN

IF ((IJUP?.TSCT) .LT. 2) .DR. (NDPNTS(I) .frT. 10)) IHFNmPITF (IsR,1010) INOPNTS(I)STOP

ELSF IF (NOPNTS(I) .rT. 4) THENREDO (IRO, 1001,1OSTA1rIOS)

ENO IFEND IFIF (Ir .GI. o) THFN

w-DITE (1vR,1015) INPITE (Iwo,1001.IDSTAI:10S) IC(MJ(1 ),MAT(1),IF;(I),ITAB(),

S 4NA(I ), TINTl (I ),THTNFL( I ),RH(IF (), IY(I) , 1I(I ).NI)PNTS(I)

Et IF (TO .LT. 0) THFN"wITE (I%, 1j20,ISlT:InS) J-1,NOCOMP

ENO IF40 CnNT!N1IF

are used to read the component information cards by executing a DO loop forevery component. Each component requires two to three cards depending onthe number of points at which probabilities of kill are to be established.The READ statement sets a status indicator OS to report the outcome of theREAD operation. If 1OS equals 0, the READ executed normally and the valueof NOPNTS(I) is checked to insure that it is within the subscript range ofthe DEPTH and PKVAL arrays and that there are at least two elements. If thesubscript number fails these criteria, an error message is printed and theprogram terminates. If NOPNTS(1) meets these conditions, an additional readis performed if more than four P(K/H) points are being entered so as tobypass this third component card. If 1OS is greater than 0, an error occurredduring one of the two possible reads. An error message is printed along withthe values that were successfully read. The program then terminates. If 10Sis less than 0, an unexpected end of file occurred. The program assumes that

Change 1 4-68

JTCG/AS-79-V-008

too large a value of NOCOMP was entered, although a missing component cardcould cause the same effect. A messag, is printed and the program terminates.

The statements

I)(I US 1 .6I'REA(IWNIOOI)

45 rnlNTINUE

reset the formatted data file for reading. After setting the file pointerto the first record, the first five records are bypassed using a DO loopsince they have been previously checked for content errors.

The next statements

vn 5o 1 = INnCnMPWEAn (IR0,I O01) ICHlMP(T),MAT( 1),LIFG(1 .TYA64(), rsAN ),

t!N1T(),TH1NF(1).IMHF(1),IY(1).1U(I),NOPNTS(|)3(DnpTH(JeI,S PKVAL(Jl), J = lN0INTS[I3)so CONTINUE

are used to read the component information data by executing the DO looponce for every component. Each iteration of the loop causes the READ

-statement to read information on one component from two or three data cards,depending on the number of points for which probabilities are being entered.These data are stored in the component information arrays subscripted by I,the DO loop index.

The statements

REAn (IRn,000,E n=60) NTMAXRFA0 (I n.1O02) (TTMAX(T),1=1,NTMAX)

60 CONTINUE

are used to read the optional shot line breakdown time intervals. If thesedata are not included, an end of data will be detected, which will cause abranch to Statement 60. Otherwise, the first READ statement will be usedto accept the number of time bins and the second READ statement will be usedto read each of the values for array TIMAX by executing an implied DO loop.

The statements

mPITE (TwR,20041 NnCOmP

STOP

form the ELSE branch of the block IF when the number of components, NOCOMP,is too large. The WRITE statement prints an error message and then theprogram stops.

The statements* I fNI IF

OF TII~9J

_ I close the block IF and return control to the calling program.

The last group of statements

4-69 Change I

JTCG/AS-79-V-008

100 FOWMAT(/SX.'***** INPUT ERROR *..'. FLUX =',E10.2/S PRnRAM MALTING*)

1000 FORMAT (s,2E10.2)1001 FORMAT (15.13. IKt12,t31,1t1FS.A,321.F3.2,71,F3.2,2I2/

S ISqF7.4/11F7.N)1002 FORMAT (30F7.0)1010 FORMAT ('1I,51.'***** iNP11T ERRON ... ** AN INVALID NUMBER '.

S "FnR THE VARIARIE NOPNTS(I) WAS READ:'

S /2xK,'I = ',JJ* NOPNTS(I) z *,14)

1015 FORMAT (/5x,***.* INPUT ERROR **. ERRoR OCCURRFD DURING ,

S *RFAD OF COMPONENT CARD *',IJJ" IN THE SEQUENCE/

$ 2wX.'THE FOLLOWING VALIUES MERE READ:')

1020 FORMAT (/Sx,'*** * INPUT ERROR ***** END OF FILE OCCURREDS 'AFTER *,74,* CARDS WERE READ,'

S /28X,'ALTHOUGH NOCOMP = ',1)

2000 FORMAT (' N11MRER OF COMPONENTS =',15.5,

S 'IRVRS:',ISSX,*FACTnR FOR CONVERSIUN TO INCHFS=',EIO.G)

2001 FORMAT ( NUMBFR OF POINTS INi FLUX DISTOIWUTION =',15/

S ° BEGIN TIME'.,b,'END TIME',4X,'FLIIX*)

?00? FORMAT (1X.FIO.P. XFIO.2,3XFIO.2)2004 FORMAT ('NACOMP .'.It0.' IS TOO LARGE FOR ARRAY D1'IENSIONS'/

S, '... PROGRAM HALTING*)END

is used to define all input and output formats required by this subroutine.

.• Change 1 4-69A

JTCG/AS-79.-V-008

Intentionally Left Blank

4-69B Change I

JTCG/AS-79-V-008

SUBROUTINE READIN

This subroutine is used to read all input required for Program PRERD.This includes the flux distribution table, the component information cards,and, optionally, the time intervals for shot line breakdown. SubroutineREADIN is also used to print the first page of PRERD output and to insure

that certain input values are within valid ranges. p

The statements

SIknlIT I NF PfA )TN

CnwOtN ICOPP(500:)M,7T(0lF), (500). TAIfUfl). NA(%OO)$ T rIf. (SOI ) NIIPJT I( ,001 ,I .PTH(1 1>Q0) PKVAL( IV, Son),£ PHOF (500) li'(5UO) IY(500)

COYMON THINFL(50.Ni oCWoPcnMnN /LIlNT7'/ IQ0Ie loR

CO!MON /STIFs/ TICDIFXfT M F.SIfON FXCM(25),FTIV(2 ) ,T(MAX(,'5)

are used to declare array dimensions and enable transfer of information toand from this subroutine, using two labeled commons and one unlabeled common.

The statements

HFAA (TRDelAO) InCflmpIF (ITC .GE. N! nfMP*?) IHFWREAn (iRr;,I00o) VRSrIPjcHIFAD (IRn,1001) XFMAXv,RITE (I Q,200(j) N{)On-vVRSCIK-CH

IF ((IFNAX .LT. 1) .0%4. (IFMAX .GT. IFX))

S eRITE (?"R,iol) IFMAXaoPITE (I0 Iu% F'4h1IF (JrCMq .GT. IFX) IFMAX Z IFX

are used to read the number of target components and to insure that the numberof components (plus two for default components) does not exceed the componentarray's dimensions, ITC. If this input error occurs, the ELSE branch of theblock IF statement is executed where a warning message is printed and theprogram halts. This is the first of four fatal input errors that can bedetected by Subroutine READIN. If the error does not occur, the subroutinecontinues by reading the shot line reverse flag, the input units conversionfactor, and the number of points in the flux distribution table. This infor-mation is then echoed to device, IWR, in a formatted WRITE statement. If thenumber of points in the flux distribution, IFMAX, is negative or exceeds thearray dimensions, an error message is printed but the subroutine continues bywriting the heading for the flux table. The last IF statement insures thatIFMAX is less than or equal to the flux array dimensions.

The next set of statements

4 REAP) (EAO,lA 1c'E (PXC4(I).E=l,PWAK)FA) (IRn, to2) (FTjM(I),I:IIFMAX)

TE z 0.DO 110 T zITFMAX

TB a TI (TF U PTEM(E)

wRQITE (T.nR.?O02) IA.TE,FXClM110 CONTINuF

To a TEIE a 1.E30wRITE (EeR.?OflZ) TM.TE.FXCM( IFMAX)

Change 1 4-70

"jS

JTCG/AS-79-V-008

is used to read and write the flux distribution table. The flux levels applyto time intervals, TB to TE. Note that the subroutine prints one more point

than it reads in the flux distribution. The last interval printed is an extrapoint and is used to indicate that the last flux level applies to all times

greater than the last FTIM value.

The statements

DO 160 I ITF"AXIF ((FXC M() .LE. 0.) .OR. (FXECM(I) .GT. 6.OE+04 ))

S wRITE (TWRI00) FXCM(T)160 CONTINUE

are used to test each element of array FXCM to insure that the values are

within the limits, 0.0 through 60000.0. If a flux level is outside of these

bounds, an error message is printed but the subroutine continues.

The statements

On 40 1 2 iNnCOMP

REAO (IRnDlO0,InSTAT=InS) ICOMP(0),MAT(T),IFG(1),ITA (I)

$ I NA(I) .T1t&IT(13.iIT IEL(I),.%hOF(1) ,IY(I) ,IU( I),NtWNTS(I)

IF (inS .FQ. 0) THENIF ((NOPMITSfI) .LE. 0) .09. INOPNTS(I) .fT. 10)) THEN

WRITE (IM'iA1010) I.NOPNTSMISTOP

ELSE YF (NOPNTSI) *GT. 4) THEN

REAT) (IRD,00I,IUSTATIOS)ENO IF

END IFIF (1OS .GT. 0) THEN

WRITE (IIR,1O I

WRITE (IwR, OltIOSTAT:InS) ICOMP(I),qAT(I),IF G

(I),TTAS(I),

S IANA(1),TIrIIT(r)THINFL( ),Ri4F(I),IY(I),IltJ(I)NOPNTS(1)

STnPELSF F (InS *LT. 0) THEN

wRITE (I*w,I020.IOSTAT:IOS) 1-1.NOCOMP

NnCnfl 2 1 - IEND IF

441 CnklTNt#F

are used to read the component information cdrds by executing a DO loop forevery component. Each component requires two to three cards depending on thenumber of points at which probabilities of kill are to be established. TheREAD statement sets a status indicator lOS to report the outcome of the READoperation. If IOS eoaials 0, the READ executed normally and the value ofNOPNTS(I) is checked to insure that it is within the subscript range of theDEPTH and PKVAL arrays. If the subscript is out of range, an error messageis printed and the program terminates. This is the second fatal error detectedby this subroutine. If NOPNTS(I) is within the array bounds I to i0, anadditional read is performed if more than four P(K/H) points are being enteredso as to bypass this third component card. If 1OS is greater than 0, an erroroccurred during one of the two possible reads. An error message is printedalong with the values that were successfully read. The program then termin-ates. This is the third fatal error detected by this subroutine. If IOS isless than 0, an unexpected end of file occurred. The program assumes that toolarge a value of NOCOMP was entered, although a missing component card couldcause the same effect. A message is printed and execution continues afterreducing the value of NOCOMP.

4-71 Chahge 1

JTCG/AS-79-V-008

The statements

H 05 1 1, 0)

L 4~S C('&TI UE0 0 1

reset the formatted data file for reading. After setting the file pointerto the first record, the first five records are bypassed using a DO loopsince they have been previously checked for content errors.

The statements

rn o I = i, ocomP0 EADJI.) IDI, IPSTAT:IOS) Tcn :Pc(1);MAT(I),TFG(I),IT&AR(!);,

TANA(I),TINTr(1).TM IrNFL( ).RHOF (I)P 1Y(1),'(I),NOPNTS(I),S (fEPiH(J,1),PKVAL(3, 1),J = INfPNTS(I))

50 CONTINIJF

are used to read the component information cards by executing a DO loop forevery component. These data are stored in several component information arrayswhich are defined at the end of this section in the List of Abbreviations andSymbols. The user may place the component information cards in any order solong as each component's continuation card(s) follow the initial card in theproper sequence.

The following statements

QFbn lh1O E[~O N7MAX

IF ((NT-AX .GF. 1) .AND. (NIMAX .LF. IFW)) THENREAD (I3D, Iou) (TIMAX(1).I=j ,NTMAX)wRITE (IaR,200S) (ClIMAX(I),I=|eNTMAX1RETURN

ELSEWRITE (IWR,|02) NTMAX

WRIE (I*R,1007)STOP

END IF

are used to read the time intervals for shot line breakdown if the userincludes this optional input. This is done by first reading NTMAX, the number

of points in the time interval array. The value of NTMAX is then tested andif it is within the array limits, the subroutine reads and echoes to deviceIWR the upper boundary times for which Pk's and vulnerable areas are to becomputed. Control then returns to the calling program. If NTMAX is outsidethe array bounds, an error message is printed and execution stops. This isthe fourth fatal error detected by this subroutine. If the user omits thebreakdown time intervals, the first READ statement detects an end of filecondition on device IRD and branches to Statement 60.

The statements

I FL E

P ITE (C^R.1007)

ne OP

Change 1 4-72

JTCG/AS-79-V-008

are executed only if NOCOMP, the number of components, exceeds the arraydimensions. These statements are used to print a warning message andstop program execution.

The statements

60 CVNTINUE11;ITE (TAR , 06 )

FTURN

are executed when the read statement following Statement 50 detects an endof file condition. In this event, the time intervals for the flux distri-bution will be used as the breakdown time intervals. The statements listedafter Statement 60 are used to print this information in a warning messageand then return control to the calling program.

The statements

100 FOW#4AT(/SXw,***** INPtiT ERRnR **** FLUSX =,EIO.2)101 Fn4MAT(i5X,'***.* INPUT EPRnR ***.. IFMAX z*,1I0)102 FnOMAT(/SX."***** INP11T EWRnQ .... NTMAX -,I10)1000 Fi'.4AT(5,2FI0.2)1001FWtAT(YSw.3,1.Xl1I2, l3X.I1.F5.o,32.F3.2,TX,F3.2,212/

S IS;9F7.i4IIF7.4)1002 FqRMAT (lOFT.Q)100S Fnv"AT ( TIMAX VALISES :'/(IfFI0.?))100b FMP1AT (, Nn TIMAX VALUES "ERE READ IN ... FLUX TrmE POINTS ,

S "WILL RE tSED')1007 FnfPAT I' ARRAY OIMENSInNS ARF TOO SMALL...PRIGRAM HALTING')1010 FnkmAT ('1',5X,°**. INPUT EQfnR .. **. AN INVALID NUMNER It

S *FQ TNF VAQIAHLE NNOPNTS() 4A5 WEAD:'S /X,'I Z ",'J.

w NOpt.TSI) a ",I4)

101S FOWJMAT (/5x,** INPUIT FQROR 'a... ERROk nCCIJRRFSD fIING %& 'RE10 OF .O 4ONFtT CARi) .',14," IN THE SEOUENCE'/S 2R1,'THE FOLLn4ING VALISES FRE READ:')

1020 FOnkAT (/5X, **.** INPIST F R} OW a.. ENO OF FILE OCCURREDS 'AFTER *,T,

° CARnS -ERF READ.'

3 /2qV,'ALTH~iGH NocoImP ,"LS)2000 Fnr"AT( NIIMRER OF CoMPnNENTq =',T5,5S,

S " IRVRS =*,I5,5X,'FACTOR FOR CONVERSION TO INCHFS =',FIO.4)

2001 FONmAT (/' NSSmRFR OF PnINTS IN FLUX DISTRIBUTIUN z',I5//S ' AFGIN TIF'.S3'ESo TTE'.7Y,'FLUX')

2002 FMWmAT IX.,I1.,',FIO.2,$IXFI0.2)

EYnO

are used to specify all formats for the READ and WRITE statements in thissubroutine and to end this program unit.

4-73 Change I

JTCG/AS-79-V-008

SUBROUTINE REVRSE

When using the QKLOOK programs, a user may obtain data for a second viewwithout generating a new binary LOS file. This is done by setting the shotline reverse flag, IRVRS, on the second QKPK input data card equal to 1. Thiswill cause Program QKPK to call Subroutine REVRSE for every shot line in theviewing plane. This subroutine is used to reverse the order of the componentencounters along the shot line and to transform the shot line coordinates tothe new system. The resulting shot line is the same as the orginal one but inthe opposite direction. Note that LOS data from Program MAGIC does not includeexit obliquity angles. If MAGIC data is used, the obliquity angles on thereversed shot line are set equal to the original obliquity angles.

The statements

SUdkUUTINE kEVNSE(J)

COMMON ICI)' P (0U).PMAT (500)1FG(U50 ).IT&A (SOU),ANA(500),

5"$ T1,di1 4 5011 O) Wj1, IS(50O) .DEPT" ( I ,500) PAVAL ( 1,.500) .S WHUF(50(,).IvNSIgj(i oo) Iy(S0O)COMMUN THIIJFL(SUs).S (2 7 |v) ,JH(S. 170) .CINCMCOIMON /TrU/ XLOb(10(,). JHI(IUO).r4ENC.U U( Jo)

are used to specify COMMON blocks and one argument, which are required fortransfer of information to and from this subroutine. The SH array is theonly one required from the unlabeled COMMON block. COMMON /TWO/ contains thenumber of encounters NENC, and the encounter arrays which will be reversed bythis subroutine. The argument J is the shot line index needed as a subscriptfor array SR.

The statement

SH(l,J) = 5 (IJ)

is used to reflect the y-coordinate of the shot line about the Z-axis while

the z-coordinate of the shot line remains the same.

The next statements

DO 3v N a 1NEiC12JJ = NFNC - N

Ji 2 JHT(N)51 z OH(J(N)S2 = XLOS0(0)J141 (N) = JHT(JJ)OOM(N) = UmI)(JJ)XLIS(N) = XLOS(JJ)JfT(JJ) = J1O BU(JJ) zS1LOS(JJ) - S2

30 CONTINUERETURN

ENU

are used to reverse the order of the components along the shot line. There arethree encounter information arrays which must be interchanged. The DO loop is

used to execute the interchange NENC/2 times. The variable JJ is computed inthe first assignment statement and is the subscript of the array element to beinterchanged with the Nth array element. The last nine assignment statementsin the DO loop are used to iZiterchange the Nth and JJth elements in the threeencounter information arrays.

Change 1 4-74

JTCG/AS-79-V-008

SUBROUTINE TABLE

This subroutine is called by Subroutine RAT and is used to compute a

penetration rate for an encounter with a nonmetallic component using a table

look-up procedure. The table look-up code is defined by the user in theformatted component information data.

The first set of statements

SlUbOUT1NE TAHLECum4U4 C |O (50U), AT(50(0),IFr(SUU) ,ITAt (SO0) IANA(50O),

S 7 | IT (5OU), eNUPNTS(SUO) ,OEPTH(IO.5(O PKVAL(1I.500)e$ WIIUF(5UV),1WVWS. ZU(00). IY( 00)COMMUN ToiltJFL (!)6 ) w H (2, 7u) eJH (5,I7U) eCINCM

CUM"()(' /DNE/ NUCOPYFLI 6LAV,4AKF.NCRITCOMMUN IPROP/ ALP,,HU.CPTMLT,$LA HD,ATEJCUMIJOP, XATVAP1

5 CPL.ITERT

is used to facilitate transfer of data to and from this subroutine and to

declare array dimensions. The ITAB array in the unlabeled COMMON contains the

table look-up codes. The variable FLX in COMMON /ONE/ is the flux level for

this rate computation. COMMON /PROP/ contains the variable, J, which is the

component index used for the table look-up code, and the variable, RATE, which

is the penetration rate computed in Subroutine TABLE.

The statements

IF (ITAO(J) .Eli. 1) 1]EN

C PLEXIGLASSC

RATE z 4.35E-10 * FLX * 0.9

ELSE IF (I1Al(J) .Er). 2) THEN

C TRIPLEx DIELECTRIC

CRATE a 2.bS22E-10 * FLX * 0.9

ELSE IF (ITAb(J) .EQ. 3) THEN

CC FIBRITEC

HATE 2 2.b33E-lO * FLX * 0.9

ELSE IF (ITAtJ) .E. a.) THENCC RUFBERC

RATE z 2.6909E-IU * FLx * 0.9ELSE IF (ITAOtJ) .EO. 5) THEN

CC GLASSC

RATE 2 .35E-10 * FLX h 0.9ELSE IF (IlAbtJ) .AQ. b) THEN

CC FIRER GI.ASSC

RATE a .44E-10 * FLX * 0.9

are part of an IF block which takes the appropriate action based on the value

of the table look-up code, where ITAB(J) is the table look-up code for thecomponent being encountered. For acceptable values, the penetration rate forthe material specified, is computed as a product of the material coefficient,

the flux level FLX, and an absorption factor of 0.9. This is written

4-75 Change I

JTCG/AS-79-V-008

mathematically as:

The next statements

ELSE IF (ITAO(J) .EG. 7) THENCC PYRUCERAMC -

IF EFLX .GT. 3.74E*6) THENRATE -1.'4E-4 * 3.74E-11 FLX 0.

ELSEWR4ITE (IAR,2OOO)STOP

are used to compute the penetration rate when the table look-up code equals7For this table look-up code, the flux level must be greater than 374 watts/cmWhen the flux level is high enough, the assignment statement in the THEN branchof the IF block is used to compute the penetration rate. Otherwise, the ELSEbranch prints a fatal error message and the program terminates.

The statements

ELSE IF (ITABIJ) .Ei. 8) THEN* C

C GLASS FIdEP EPOXYT

*ATE Z U.556E-IU * LX *0.ELSE IF (ITAd(j) .EQ. 4) THEN~

C

WAE .IN-D*FLX -*

are used to compute the penetration rate when the table look-up code equals8 or 9.

* The statements

EL SERATE z u.0ARITE (Ink. IuOO) JCup.p. ITAti(j)

E'du IFRE TUR14

are used to assign a penetration rate equal to 0.0 and to write a warnin,message when the table look-up code does not have an acceptable value. TheEND IF statement closes the block IF and the RETURN statement returns controlto Subroutine RAT.

The final group of statements

I::0 FsJhMAT(' THIS COMPUNENT UUES NOT FIT THE BUUNUS FUR TABLES',216)

2 0FUWAY( TE FUX 3 IDIATL 10OfLESS THAN 374 M/0-002/S *UMEC SUROUTNE ARL ... PWURAMHALTING-)

E %D

*is used to define the formats for the error message output and to end*Subroutine TABLE.

*Change 1 4-76

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS

(SIMULATION MODEL)

Program PEAKAY (including Subroutine PENT)

Equivalent inAbbreviation Mathematical Definition Units

or symbol Model

ASQF Component presented area ft2

AVFLAG Component vulnerable area

flag;= 0: incremental vul-

nerable areas

= 1: true vulnerableareas

. AZ Attack azimuth angle degrees

COMPAV(I,J) AV Vulnerable area for the Ith ft2 or m 2

I<500, J<1O component during the Jthtime interval

EL Attack elevation angle degrees

R --FRV Decimal form of the percent --

of vulnerable area

FTIM(I) Time arguments for the flux seconds1<25 distribution

FXCM(I) Weapon intensity, flux at watts/cm2

1<25 time FTIM(I)

GRID AG Grid cell size--read as2a varieslength, converted to ft

I --- In Subroutine PENT, the sub-script for the componentinformation arrays corres-

ponding to the encountered

component

11(1) --- Number of encounters in each ---

1<200 new shot line when the Ithset of arrays are defining a

new shot line; otherwise thecomponent numbe- in theencounter with penetrationtimes in R1(J,I) and R3(1)(equals 9999 to indicate endof view)

4 -83 Change I

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program PEAKAY (Continued)

Equivalent inAbbreviation Mathematical Definition Unitsor Symbol Model

ICOMP(I) Component identification1<500 number for the Ith component

IDVEH Not used, variable on first

record of LOS file

IFG(I) Criticality flag of the IthI<500 component;

0: noncritical com-ponent

0: critical component

IFMAX --- Number of points in the flux

distribution table

II Shot line encounter number

in Subroutine PENT

IIN Device number for the binary ---

LOS input file (= 2)

1OUT --- Device number for the fourbinary output files (= 3)

IRD --- Device number for the for-

matted input file (= 5)

IRVRS Shot line reverse flag;0: penetration times

were computed with

encounters innormal order

1: penetration times

were computed with

encounters inreversed order

ISET(t) = : the Ith system hasI<10 no components on

the shot line

= 1: the Ith system hasat least one com-ponent on the shot

line

Change I 4-84

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program PEAKAY (Continued)

Equivalent inAbbreviation Mathematical Definition Unitsor Symbol Model

IST Equals 0 when the LOS data

processing loop is processingdata for a new shot line;otherwise, equal to number ofthe shot line

ITC Dimension of the componentinformation arrays (= 500)

ITOTL Number of shot lines for theview

IU(1) Vulnerability flag for IthI<500 component;

= 0: singly vulnerable

component= 1; multiply vulner-

CO able component

IWR --- Device number for theformatted output file (= 6)

Ix Index to determine Pk valuerange in Subroutine PENT

IXSET Logical variable assigned avalue of .TRUE. when Pkvalue range found in Sub-routine PENT

IY(I) System number for the Ith1<500 component

JQQ --- Number of components with

zero kill probability

K --- Index to find flux begin time

L --- System number for a component

in Subroutine PENT

LL Shot line encounter number in

Subroutine PENT

4-85 Change I

,A

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program PEAKAY (Continued)Equivalent in

Abbreviation Mathematical Definition Unitsor Symbol Model

LM A previous encounter numberon a shot line in SubroutinePENT

LOC(I) Component number for the IthI<100 shot line encounter in Sub-

routine PENT (equivalent toNAME(J) in Program PEAKAY)

MAXTIM Two plus the number of timeintervals NTIME

MULSYS Logical variable assigned avalue of .TRUE. only if thecomponent is in a system andit is a multiply vulnerablecomponent

NAME(I) --- Component number of the IthI<100 shot line encounter

NBEG --- Next shot line encounternumber beginning a newencounter loop in SubroutinePENT

NENC Total number of encounterson a shot line

NEND Number of the last encounterfor a time interval

NOCOMP --- Number of components in thetarget model

NOPNTS(T) --- Number of Pk values for IthI<500 component

NSHT The viewing plane shot linenumber

NTIM Number of the time intervalsin Subroutine PENT

Change 1 4-86

I. -. -- - .y .

. . . - -.-- -- - i°

-"

• ". •-'- - - -- - - -- -- .. . . - , -" - " " - "- - 'C "

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program PEAKAY (Cont'd.)

Abbreviation Equivalent inor symbol Mathematical Definition UnitsoModel

NTIME --- Number of time intervals atwhich presented and vulner-able areas are to becomputed

NUM Number of encounters withpenetration times stored intime arrays for one shotline

PAREA(I) A Presented area for the Ith variesI<500 component

PCV Percent of vulnerable areaused for one of the compo-nent vulnerable areasummaries

PK Pi. Pei Component probability ofkill from one encounter,

then converted to componentprobability of kill on oneencounter and survival onall previous encounters

PKI --- Time at which the maximum secondspossible Pk for a componentwill be achieved

PK2 --- Minimum time needed to secondsachieve a nonzero Pk for acomponent in a time interval

PK3 tM Time needed to achieve the secondsmaximum Pk for a qomponentin a time interval.

PKC(I) --- Component probability ofI<100 kill for the first through- Ith encounters on a shot

line

4-87

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(S IMULAT ION MODEL)

Program PEAKAY (Continued)Equivalent in

Abbreviation Mathematical Definition Unitsor Symbol Model

PKNK(I) Component number for the Ith --I<500 component with Pk - 0.0 for

all shot lines

PKS(I) Probability of kill for the1<10 Ith system of singly vulner-

able components

PKTIME(J,I) tN Time required to penetrate secondsJ<10, I<100 from the beginning of a shot

line to the depth for a PkPKVAL(J,I) for the Ith shotline encounter

PKVAL(J,I) PkN Pk associated with penetra-J<10, I<100 tion to a specified depth

for the Ith component

PLS(I) tL Time required to penetrate secondsI<100 from the beginning of a shot

line to the depth necessaryto perforate the Ith shotline encounter

PMULT(I,J) --- System probability of killI<10, J<10 for the singly vulnerable

components in system I atthe end of the Jth timeinterval

PMX Shot line probability ofkill excluding multiplyvulnerable components

PRNT(1,J) --- Shot line y-coordinate on inchesJ<500 the viewing plane for an

encounter with the Jthcomponent

PRNT(2,J) --- Shot line z-coordinate on inchesJ3500 the viewing plane for an

encounter with the Jthcomponent

Change 1 4-88

• 4 - • ' . - - " ... ' i--- -a-mln m -- du -

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program PEAKAY (Continued)Equivalent in

Abbreviation Mathematical Definition Unitsor Symbol Model

PRNT(3,J) Maximum probability of killJ<500 of all shot line encounters

with the Jth component,maximum of PKC(II)

PRNT(4,J) Minimum time to achieve secondsJ<500 PRNT(3,J) for the Jth

component

R(J,I) -- Shot line y-coordinate onJ<10, I<100 the viewing plane when the

Ith set of array elementsare defining a new shotline--Rl(l,J); otherwise,the time needed to pene-trate to the depth for aPk - PKVAL(J,I) for theencounter

R3(I) --- When the Ith set of array ---I<200 elements are defining a new or

shot line, R3(I) equals 0.0; secondsotherwise, the minimum timeneeded to perforate theencountered component

RVRS --- Shot line reverse flag, realform of IRVRS:

= 0.0; normal shot line= 1.0; reversed shot line

SAREA(I) --- Presented area for the Ith variesI<10 system of components

SHW(I,J) y-coordinate on the viewing inches

J<200 plane of the Jth shot line

SH4(2,J) z-coordinate on the viewing inchesJ<200 plane of the Jth shot line

4-89 Change I

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Progcam PEAKAY (Continued)Equivalent in

Abbreviation Mathematical Definition Unitsor Symbol Model

SHW(I,J) For the (1-2) time interval2<I<12, 3<200 and the Jth shot line: shot

line Pk, excluding multiplyvulnerable components;

= -9.0: no critical

encounters on Jthshot line

- -9999.0: end of viewindicator

SNGSYS --- Logical variable assigned avalue of .TRUE. only if thecomponent is in a system andis singly vulnerable

SPK --- System probability of killfor one system includingonly singly vulnerablecomponents in the system

2 2SQFSQM Conversion factor to convert m /ftfrom square feet to squaremeters

TB -- Begin time for a flux dis- secondstribution interval

TBEG Begin time of a time inter- secondsval, time already used inpenetrating previous encoun-ters

TE End time for a flux distri- seconds

bution interval

TEND Time since the beginning of secondsweapon flux emission

TIMES(I) Upper time of the Ith time secondsI<10 interval and lower time of

the (I + 1)st time interval

TOTL Total target presented area varies

Change 1 4-90

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program PEAKAY (Concluded)Equivalent in

Abbreviation Mathematical Definition Unitsor Symbol Model

TVA(I) Total target vulnerable area variesI<10 at the Ith time interval

2TVAM(I) Total target vulnerable area mI<10 at the Ith time interval

YMAX Maximum y-coordinate for all inchesshot lines from the viewingplane

YMIN Minimum y-coordinate for all inchesshot lines from the viewingplane

ZMAX Maximum z-coordinate for all inchesshot lines from the viewingplane

ZMIN Minimum z-coordinate for all inchesshot lines from the viewingplane

4-91 Change I

JTCG/AS-79-V-O08

LIST OF ABBREVIATIONS AND SYMBOLS

(SIMULATION MODEL)

Program PRERD (including subroutines FSORT and READIN)

Equivalent inAbbreviation Mathematical Definition Units

or Symbol Model

CINCH Conversion factor to convert inches

input length units to inches;< 0.0: set conversion

factor to 1.0 (unitsare in inches)

> 0.0: use conversion fac-tor (units are notin inches)

DEPTH(J,I) Penetration depth of the Ith inchesJ<10, I<500 component to achieve a Pk

PKVAL(J,I)

FTIM(I) Time values for the flux seconds

1<25 distribution table

FXCM(I) --- Flux, weapon intensity at watts/cm2

1<25 time FTIM)

I --- In Subroutine FSORT, the

lower subscript of two com-pared values

IANA(I) Analysis type for the Ith

1<500 component;- 1: melt in place- 2: melt removed

IASTER Character variable for an

asterisk

IBLNK Character variable for a

blank

ICHK Character variable for a

check mark

ICOMP(1) Component identification

1<500 number for the Ith component

IE(I) --- Array of characters with a

I<34 blank, asterisk, or checkmark for each element

Change 1 4-92

7 7 7 7 .- IT", . .

JTCG/AS-79-V-008I..

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program PRERD (Cont'd.)I- Abbreviation Equivalent in

or symbol Mathematical Definition UnitsModel

IFG(I) --- Criticality flag for the IthI<500 component;

0 0: noncritical" 0: critical

IFMAX Number of points in the flux

distribution tableIFX Dimension of the flux distri-

bution arraysIM --- In Subroutine FSORT, the

upper subscript of two com-pared values

IRD Device number for the input -file

IRVRS --- Flag for reversing the shotline direction;- 0: normal view= 1: reversed view

ITAB(I) Table look-up code for theI<500 Ith component

ITC --- Dimension of the componentarrays

IU(1 --- Multiply vulnerable flag forI<500 Ith component;- 1: multiply vulnerablea 0: singly vulnerable

IWR --- Device number for the outputfile

IY(1) System number for the Ith1_500 component

K --- Number of comparisons neededto sort the sublists byinsertion in Subroutine FSORT

4-93

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program PRERD (Concluded)Equivalent in

Abbreviation Mathematical Definition Unitsor Symbol Model

M Increment size for each sub-

list, the number of sublistsin Subroutine FSORT

MAT(I) Material code number for theI<500 Ith component

NOCOMP Number of components in the

target model

NOPNTS(I) Number of Pk values for Ith1<500 component

NTMAX --- Number of time intervals inarray TIMAX, number of timeintervals for shot linebreakdown

PKNBR Maximum number of penetrationdepths and Pk values that canbe specified for each compo-nent; the first dimension ofthe DEPTH and PKVAL arrays

PKVAL(J,I) Pk Pk associated with penetra-<..!10, <500 tion to a specified depth

for the Ith component

RHOF(I) --- Ith component density factor1<500

THINFL(I) Ith component wall thickness metersI<500 for tubes modeled in the

influence mode

TIMAX(I) --- Upper boundary for Ith time seconds1<25 interval, for shot line break-

down by times needed to reachthe maximum shot line Pk

: TINIT(I) --- Initial operating tempera-1<500 ture for the Ith component

Change 1 4-94

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program QKPK (including subroutines BSRCH, FSORT, PROPY, RAT, RDATA, REVRSE,and TABLE)

Equivalent inAbbreviation Mathematical Definition Unitsor Symbol Model

ALP C Component coupling coeffi-cient, absorption factor

ALPC --- Component coupling coeffi- ---cient computed as a productof ALPF and ALPT

ALPF --- Intensity dependent factor ---of the coupling coefficient

ALPHA(I,J) --- Intensity dependent factors ---1<11, J<16 of the coefficient for the

Ith material code and theJth flux argument

ALPHAT(I,J) Coupling coefficient correc-I<LL, J<9 tion factors for material

thickness for the Ith mater-ial code and the Jth thick-ness argument

ALPT Thickness dependent correc-

tion factor of the couplingcoefficient

AVAL One of the factors used to

compute the arguments in thecoupling coefficient inter-polation schemes

AZ Attack azimuth angle degrees

CINCH --- Conversion factor to convert inches/input length units to inches; unit< 0.0: set conversion fac- length

tor to 1.0 (units arein inches)

> 0.0: use conversion factor(units are not ininches)

4

*4-.95 Change 1

i:'- '_o-," ,i. " "' " _. "

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program QKPK (Continued)Equivalent in

Abbreviation Mathematical Definition Unitsor Symbol Model

CMETER Conversion factor to convert meter/input length units to meters unit

length

CONDUC(I,1,K) Temperature arguments for the C1<11, K<10 thermal conductivity of the

Ith material type; Arrayelement (I,1,1) is the numberof arguments in positions K =

2, 3,

CONDUC(I,2,K) Thermal conductivity for the watts/M °CI<11, K<10 Ith material code at Lhe Kth

temperature argument

CP CP Specific heat for a liquified joules/material with a temperature kgm °CT* + T

m2

CPS Cps Solid component specific joules/heat at the average temper- kgm °Cature T + T 1

2

CVAL Thermal conductivity inter- watts/m Cpolated from the CONDUCarray, a function of temper-ature and material type

DENSIT(I) Component density for the kgm/m3

I<11 Ith material code

DEPTH(J,I) Penetration depth of the Ith inchesJ<10, I<500 component to achieve a Pk =

PKVAL(J, I)DISLFT --- Distance not yet penetrated meters

in an encounter

DP Z Component effective thick- meters

ness

Change 1 4-96

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program QKPK (Continued)

Equivalent inAbbreviation Mathematical Definition Units

or Symbol Model

DUM Dummy variable used to reada value from the LOS file

which will not be used

EL Attack elevation angle degrees

EM Slope of one of the coupling

coefficient functions beinginterpolated in SubroutinePROPY

FB Weapon flux at the beginning watts/cm 2

of a time interval

FE Weapon flux at the end of a watts/cm2

time interval

FLX F Flux, weapon intensity, rate watts/cm2

of energy reception per unitof area

FTIM(I) Time arguments for the flux seconds

1<25 distribution table

FXCM(I) Weapon flux at time FTIM(I) watts/cm2

1<25

FXM(I) Weapon flux at time FTIM(I) watts/m 2

1<25

GRID Grid size of one grid square varies

in the viewing plane

HEATFU(I) Heat of fusion for a compo- joules/kgm1<11 nent with the Ith material

4 code

II(I) --- Number of encounters on a1<200 shot line for each new shot

line; otherwise, the compo-nent number in the encounterwith penetration timesPKTIME(J,I) and PLS(1) (equals9999 to indicate end of view)

4-97 Change 1

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program QKPK (Continued)

Equivalent inAbbreviation Mathematical Definition Unitsor Symbol Model

IANA(I) --- Analysis type of the Ith--50 component;

- 1: melt in place= 2: melt removed

IBEG Beginning element in the ---interval being searched inSubroutine BSRCH

ICODE End of shot line indicatorin LOS data file;- 9: last encounter on the

shot line# 9: not last shot line

encounter

ICOMP(I) Component identification1<500 number for the Ith component

IDVEH Unused variable on firstrecord of LOS file

IECHO --- Echo flag for QKPK time file;= 0: penetration times not

printed on device IWR= 1: penetration times also

printed on device IWR

IEND End element in the intervalbeing searched in SubroutineBSRCH

IFG(I) --- Criticality flag for the Ith -1<500 component;

=0: noncritical component

0: critical component

IFILL Subscript for the outputarrays, counts the number ofarray elements which are"full" with data not yet

written on the output file

Change 1 4-98

t

'1JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program QKPK (Continued)Equivalent in

Abbreviation Mathematical Definition Unitsor Symbol Model

IFLAG Subscript in the LOC array

corresponding to the lastcritical encounter number ona shot line;= 0: shot line has no

critical encounters

IFM - One less than the number ofpoints in the flux distribu-tion

IFMAX --- Number of points in the flux

distribution table

IFX --- Maximum number of points

allowed in the flux distri-bution, the array dimension

IF)0 I Subscript for the next to

last element in the MAXTarray (=26)

IFXX Subscript for the lastelement in the MAXT array(=27)

IIN Device number for the LOSfile (=1)

IM --- Larger of two subscripts ofcompared values in SubroutineFSORT

IOUT --- Device number for the binarypenetration times outputfile (=2)

IR Index pointing to the -current flux level in theflux distribution table

IRD --- Device number for the QKPK ---

formatted input file (=5)

4-99 Change 1

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS

(SIMULATION MODEL)

Program QKPK (Continued)Equivalent in

Abbreviation Mathematical Definition Unitsor Symbol Model

IRNOW Index pointing to the currentflux level while executingthe encounter

loop

IRUSED Index pointing to last flux

level used while executingthe encounter loop

IRVRS Reverse shot line flag;0 0: normal shot line pro-

cessing1: process shot line with

encounters in reverseorder

ITAB(I) -- Table look-up code for the --I<500 Ith component;

= 1: plexiglass S.

= 2: triplex dielectric- 3: fibrite= 4: rubber= 5: glass= 6: fiber glass- 7: pyroceram= 8: glass fiber epoxy= 9: graphite epoxy

ITC --- Dimension of the componentinformation arrays (=500)

ITER --- 0: compute all encounterproperties in Subrou-

tine PROPY1: compute only the tem-

perature dependentproperties in Subrou-tine PROPY

IU(1) Multiply vulnerable flag forI<500 the Ith component;

0: singly vulnerable= 1: multiply vulnerable

Change 1 4-100

JTCG/AS-79-V-O08

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program QKPK (Continued)

Equivalent inAbbreviation Mathematical Definition Unitsor Symbol Model* IWR

Device number for the QKPKformatted output file (=6)

=-<31I--- System number for the Ith-<500 component

J Subscript for the componentinformation arrays corres-ponding to the encountered

correspondent

JCOMP --- Encountered component identi-fication number

JF Subscript for flux level atthe end of a time interval

JFF Subscript for flux level atthe end of the previoustime interval

JH(1,J) End of shot line flag in the -J<170 LOS input file;

9: end of shot line- 9: not end of shot line

JH(2,J) Encountered component number1<170 or when 0 0, the end of view

flag for the LOS data file

LIJH(3,J) --- Component LOS thickness inches/100J<170 multiplied by 100

* JH(4,J) --- 1000.0 times the secant ofI<170 the entrance obliquity angle

JH(5,J) --- 1000.0 times the secant of -I<170 the exit obliquity angle

(When the LOS file is assem-bled by using Program CONMAG,JH(4,J) JH(5,J))

4-101 Change I

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program QKPK (Continued)

Equivalent inAbbreviation Mathematical Definition Unitsp or Symbol Model

JHT(I) Component identificationI<100 number for the Ith encounter

on a shot line

K In Subroutine FSORT, thei number of comparisons needed

to sort M sublists by inser-tion

LOC(I) Subscript in the componentI<100 information arrays for the

component in the Ith shotline encounter

M --- Increment size for each sub-

list, the number of sublistsin Subroutine FSORT

MAT(I) Material code for the IthI<500 component;

= 1: 2024 aluminum paintedsurface

- 2: 7075 aluminum paintedsurface

= 3: 5456 aluminum paintedsurface

= 4: 6AL4V titanium paintedsurface

- 5: pure titanium paintedsurface

- 6: VM65-1 magnesium alloypainted surface

= 7: ML5 magnesium alloypainted surface

- 8: AZ31B magnesium alloypainted surface

9: E1435 nickel-chromiumalloy painted surface

1 10: 304 stainless steelpainted surface

= 11: copper bare surface

MATL Material code for theencountered component

Change 1 4102Li •*- - - - - -- . -I~~..

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program QKPK (Continued)

Equivalent inAbbreviation Mathematical Definition Unitsor Symbol Model

MAXT(I) Number of shot lines that1<25 reach their maximum Pk during

the Ith time interval

MAXT(26) The number of shot lines thatreach their maximum Pk after

the last time interval

MAXT(27) Number of noncritical shotlines, number of shot lineswith zero critical encounters

MVAL Subscript of the last temper-

ature argument in the CONDUCor SPECIF arrays

N Subscript of the component

information arrays corres-ponding to the encounteredcomponent in Subroutine PROPY(equivalent to J in SubroutineRAT)

NCRIT --- Number of encounters with

critical components on ashot line

NENC Number of encounters on ashot line

NOPNTS(I) Number of Pk values for Ith ---

I<500 component

NSL --- Number of shot lines

NTMAX Number of time intervals for ---breakdown of the shot lineby the times required toreach maximum shot line Pk

OBQ(1) --- Secant of the entranceI<100 obliquity angle for the Ith

shot line encounter

4-103 Change I

IiI*1

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program QKPK (Continued)

Equivalent inAbbreviation Mathematical Definition Unitsor Symbol Model

2PEAKF --- Weapon intensity, flux watts/cm

PKNBR Maximum number of penetration

depths and Pk values that canbe specified for each compo-nent; the first dimension ofthe DEPTH and PKVAL arrays

PKTIME(1,I) --- y-coordinate in the viewing inches1<200 plane for each new shot line; or

otherwise, the time needed to secondspenetrate from the start ofthe shot line to the depthDEPTH(1,I) in the encounterwith component number ll(I)

PKTIME(2,I) z-coordinate in the viewing inches1<200 plane for each new shot line; or

otherwise, the time needed to secondspenetrate from the start ofthe shot line to the depthDEPTH(2,I) in the encounterwith component number II(I)

PKTIME(J,I) Time needed to penetrate secondsJ<10, I<200 from the start of the shot

line to the depth DEPTH(J,I)in the encounter with com-ponent number If(I)

PKVAL(J,I) Pk Pk associated with penetra-J<10, I<200 tion to a specified depth

for the Ith component

PLS(I) -- Equals zero for each new shotI<200 line; otherwise, the time or

needed to penetrate from the secondsstart of the shot linethrough the LOS thickness ofcomponent number 11(l)

RADEXP --- Unused variable, read on

first record of the LOS file

Change 1 4-104

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program QKPK (Continued)Equivalent in

Abbreviation Mathematical Definition Unitsor Symbol Model

RATE R Penetration rate of a m/secDirected High Energy Weaponagainst a component

RATES(I) Penetration rate for the Ith m/secI<100 shot line encounter in Sub-

routine RAT (equivalent toRATES(I,J) for Jth fluxlevel in Program QKPK)

RATES(I,J) Penetration rate for the Ith m/secI<100, J<25 shot line encounter at the

Jth level in the flux dis-tribution

RB,,R Average penetration rate for m/sec

complete perforation of aspecific component

RHO P Component material density kgm/m3

RHOF(I) --- Density factor (O<RHOF<1) forI<500 the Ith component; used to

compute the actual componentLOS thickness for componentsnot modeled in the influencemode

RHX --- Component material density kgm/m3

SH(1,J) --- Shot line y-coordinate in variesJ<170 the viewing plane

SH(2,J) Shot line z-coordinate in variesJ<170 the viewing plane

SPECIF(I,1,K) --- Specific heat for the Ith joules/I<11, 2<K<1O material code at the Kth kgm 0C

temperature argument

STAR --- Maximum energy absorption watts/mrate for an encounter inwhich the surface temperatureexceeds the vapor temperature

4-105 Change I

• ' _ " i ' ' " ' ' " 'L ~ l ' w 'l '' '' ' I

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program QKPK (Continued)

Equivalent inAbbreviation Mathematical Definition Unitsor Symbol Model

SVAL Specific heat for an encoun- joules/ter in Subroutine PROPY kgm 0C(equivalent to CP in Sub-routine RAT)

T --- Temperature of a component C

TB Beginning time of a time seconds

interval

TE --- Ending time of a time inter- secondsval

TEMP Component temperature C

THINFL(I) Wall thickness for the Ith variesI<500 component modeled in the

influence mode

THRAT1CI) Maximum of the ratios1<500 (DEPTH(1,I)*OBQ/LOS) for

all encounters of the Ithcomponent

THRAT2(I) --- Maximum of the ratiosI<500 (DEPTH(NOPNTS(I),I)*OBQ/

LOS) for all encountersof the Ith component

TIMAX(I) --- Upper boundary on the Ith secondsI<25 time interval for breakdown

of the shot lines by timesneeded to reach maximum shotline Pk; lower boundary of theIth interval is TIMAX(I-1) or0.0 for the first interval

TINIT(I) T1 Initial operating tempera- C1<500 ture for the Ith component

TLOS --- Time for complete perfora- seconds

tion of a component from theend of the previousencounter

Change 1 4-106

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS1 (SIMULATION MODEL)

Program QKPK (Continued)Equivalent in

Abbreviation Mathematical Definition Unitsor Symbol Model

TMAX Minimum time required to secondscomplete all encounters ona shot line

TMAX1 Earliest time that the maxi- secondsmum shot line Pk will occur

TMELT(I,1) -- Melting temperature of a Cf<11 component with the Ith

material code

TMELT(I,2) Vapor temperature of a com- 0C<11 ponent with the Ith material

code>0

TMLT T Component melting temperature CM

TNOW --- Time at which a component secondsis perforated after thebeginning of the shot line

0TSTAR T* Component outer surface Ctemperature

TUSED --- Time used from the start of seconds

the shot line to perforatea component

0TVAP TV Component vaporization Ctemperature

XK k Thermal conductivity of the watts/m °Ccomponent

,-XLAXMBD X Heat of fusion for a compo- joules/kgmK" Dnent, the energy used to

change from the solid to theliquid state

XLOS(1) --- Actual component LOS thick- inches

I<100 ness for the Ith shot line orencounter meters

4-107 Change I

______-5-!----. - -

JTCG/AS-79-V-008

LIST OF ABBREVIATIONS AND SYMBOLS(SIMULATION MODEL)

Program QKPK (Concluded)Equivalent in

Abbreviation Mathematical Definition Unitsor Symbol Model

XVAL Argument increment size in watts/m 2

the coupling coefficient orinterpolation routines of metersSubroutine PROPY

YMAX Maximum y-coordinate for all variesshot lines in the viewingplane

YMIN Minimum y-coordinate for all variesshot lines in the viewingplane

YVAL Function increment size inthe coupling coefficientinterpolation routines inSubroutine PROPY

ZMAX Maximum z-coordinate of all variesshot lines in the viewingplane

ZMIN Minimum z-coordinate of all variesshot lines in the viewingplane

Change 1 4-108

JTCG/AS-79-V-008

[ Card: C4

0 (U

0 c 0.cS.. (A4

2 1. S 1 o(

u CC C~ 4CC

=. S >0 U U 0C',f.- (a ) n

I >% to I-- 4J4- O1 CLa (

C' , 4.r S- S - UUC~ ~ 9- 4J0J~ .

x. -W (A 4J4.cm u, CaL I

(U 0. 0w c 94 - w~0aLLI 1. 0 L

w C S- 94-4.3 .C M4 - fa C r_

co 4 .0. C ~ -.11 C A CO CCO1

LO LaO Cdn9 %0

U-= U- -- C.J U) 9 90

41 J c. (- c% C (-

(A 4AFL. 1 .9-1

fa. C . CCy.

L"Ic- U7- O* - I

5-7

q7 -7 7

JTCG/AS- 79-V-008

PROGRAM PEAKAY INPUT

Program PEAKAY requires two input files. A short formatted file

with the time interval at which vulnerable areas are to be computed is

read from Logical Unit Number 5. A binary penetration times file,

which is the output of Program QKPK, is read from Logical Unit Number 2.

The user must assemble the formatted input file.

PEAKAY Formatted Data Deck

This deck contains two cards; the first contains the number of time

intervals and a component vulnerability area flag. The second contains

the upper boundaries of the time intervals. There must be no more than

10 time intervals. The vulnerability area flag determines whether the

vulnerable areas computed for the components are true values (flag = 1)

or incremental values (flag = 0). The first time interval is assumed to

start at time 0.00. All other time intervals begin when the preceding

interval ends. The times on the second card must be in ascending order.

Figure 5-2 shows the PEAKAY data deck setup using cards PKI and PK2.

9FIGURE 5-2. PEAKAY Data Deck Setup.

Change 1 5-8

JTCG/AS-79-V-008

Card: PK1

0. 1-4

0-4 Q) c

*00

r- - 1 r c D-

&J 4J -

,4~ 0 W 0

J- H

.4-4 -4-4 4

4. 92. 1. 0 0

w)- 00m i ~

'A 0)

w 00-40

cl 0-

5- Chng 1-

JTCG/AS-79-V-008

- - >,[Card: PK2

C~i 73olo cf- S 4 S- C-z3 4- 3 1 S-4-0M. CL 4-E S- E E

S -C o i O)0 W( .f0)i41 -* 4J4. L 4J (a1

1-04 WJ >0Cr~

-~~r *w-. S-L~~500 4-- rn..

4.J a) 41 S =3 -4 o -6Ci Ci >-C 1-

41 S- S- 4-IL S- O to

t CL 4 tu ~ C tu-l m 0.(A~' 00 r- -

&A 4-. a) .CA-).0 .-

1(V r. - C L

4-.0 .0 4 .0 - -

T- cu

$- r-- 0 0.

0. CLC

0 A oLL LL-L

0rCIOs

Ci~;1 ui '- ~ V 4- .

41 to CL CA

rn-C 0 i

-~ = 5-10

JTCG/AS-79-V-008

PEAKAY Binary Input File

The penetration times for each encounter along each shot line areread from the PEAKAY binary input file. These data are the output ofProgram QKPK. The records vary in length and the total number ofrecords depends on the amount of data. There are three types of recordson this file.

Viewing Plane Description

Figure 5-3 shows the format for the first record of the binary filewhich contains nine words. The data on this record include the attackaspect angles, grid size, minimum and maximum shot line coordinates, and

the number of components in the target model.

Component Data and Flux Distribution

This is the second record on the file and it contains four arrays of

component information, the shot line reverse flag, the number of fluxdistribution points, and the time and flux values from the flux dis-tribution. It has 4*NOCOMP + 2 + 2*IFMAX words. Figure 5-4 lists theparameters and definitions on this record.

Penetration Times

Figure 5-5 shows the format for the third and all subsequent records

on this file. It contains three arrays with 2400 total words per record.The second subscript of the first array corresponds to the subscripts ofthe other two arrays. They define either a shot line or an encounteralong a shot line. When the value of an element of the fourth array, II,equals 9999, the end of all data for the view is indicated and the restof the data on the binary input file is not processed.

5-11 Change I

JTCG/AS-79-V-008

Nube 12 3 LastfNumber..

Number 9 4*NOCOMP + 2 2400 2400

of Words + 2*IFMAX

Record Number 1

Word Parameter Units Definition

1 AZ degrees Attack azimuth angle

2 EL degrees Attack elevation angle

3 GRID inches Grid cell size I4 IDVEH Currently not used

5 YMAX inches Maximum y-coordinate for all shotlines

6 YMIN inches Minimum y-coordinate for all shotlines

7 ZMAX inches Maximum z-coordinate for all shot flines L

8 ZMIN inches Minimum z-coordinate for all shotlines

9 NOCOMP Number of components in the targetmodel

I

*FIGURE 5-3. PEAKAY Binary Input, Viewing Plane Description.

5-12

,I

JTCG/AS-79-v-008

RecordNbr 2 3 Last1.] Number

Number 4*NOCOMP + 2of Wo d9 2400 2400of Words + 2*IFMAX

Record Number 2

Word Parameter Units Definition

1 ICOMP(1) Component identification-- Inumber for first component

2 IFG(l) --- Criticality flag for the firstcomponent:

=0: noncritical-0: critical

3 IY(l) --- System number for the firstcomponent

4 IU(1). --- Vulnerability flag for firstcomponent:

=0: singly vulnerable=1: multiply vulnerable

5 ICOMP(2) --- Component identificationnumber for second component

ICOMP(NOCOMP) Component identificationnumber for NOCOMPth component

IFG(NOCOMP) --- Criticality flag for theNOCOMP-h component

IY(NOCOMP) System number for the NOCOMP:hcomponent

FIGURE 5-4. PEAKAY Binary Input, Component Dataand Flux Distribution (Page 1 of 2).

5-13

JTCG/AS-79-V-008 [

RecordNumber 1 2 3 Last

Number 4*NOCOMP + 2 2400 2400of Words + 2*IF AX 20 _ __ 00

Record Number 2 -

Word Parameter Units Definition

4*NOCOMP IU(NOCOMP) --- Vulnerability flag forNOCOMPth component

IRVRS Shot line reverse flag: t=0: normal encounter order=1: reversed encounter order |

4*NOCOMP+2 IFMAX Number of points in the fluxdistribution table

FTIM(l) seconds First time argument in theflux distribution

FXCM(l) watts/cm2 Weapon intensity, flux at time|FTIM(l)

FTIM(2) seconds Second time argument in theflux distribution

FXCM(2) watts/cm2 Weapon intensity, flux at timeFTIM(2)

FTIM(IFMAX) seconds Last time argument in theflux distribution

4*NOCOMP FXCM(IFMAX) watts/cm Weapon intensity, flux at time+2+2*IFMAX FTIM(IFMAX)

* FIGURE 5-4. PEAKAY Binary Input, Component Dataand Flux Distribution (Page 2 of 2).

5-14

0o.

JTCG/AS-79-V-008

Record 1 2 3 LASTNumber

Number 9 4*NOCOMP + 2 2400 2400of Words + 2*TFMAX

Record Number 3 through Last

Word Parameter Units Definition

1 RI(1,1) inches y-coordinate of a new shot line

or

seconds Time needed to penetrate from the start ofthe shot line to normal depth DEPTH(1) in

an encounter with component I1(1)

2 RI(2,1) inches z-coordinate of a new shot line

or

seconds Time needed to penetrate from the start ofthe shot line to normal depth DEPTH(2) inan encounter with component 11(l)

3 R1(3,1) seconds Time needed to penetrate from the start ofthe shot line to normal depth DEPTH(3) inand encounter with component I1(i)

10 RI(10,1) seconds Time needed to penetrate from the start ofthe shot line to normal depth DEPTH(10) inan encounter with component I1(1)

[p

FIGURE 5-5. PEAKAY Binary Input, Penetration Times (page I of 4).

5-15 Change i

JTCG/AS-79-V-008

Record 1 2 3 LASTNumber

Number 4*NOCOMP + 2 2400 2400of Words + 2*IFMAX

Record Number 3 through Last

Word Parameter Units Definition

11 R1(1,2) inches y-coordinate of a new shot line

or

seconds Time needed to penetrate from the start ofthe shot line to normal depth DEPTH(1) inan encounter with component 11(2)

12 R1(2,2) inches z-coordinate of a new shot line

or

seconds Time needed to penetrate from the start ofthe shot line to normal depth DEPTH(2) inan encounter with component 11(2)

20 R1(10,2) seconds Time needed to penetrate from the start ofthe shot line to normal depth DEPTH(10) inan encounter with component 11(2)

2000 R1(10,200 seconds Time needed to penetrate from the start ofthe shot line to normal depth DEPTH(10) inan encounter with component 11(200)

FIGURE 5-5. PEAKAY Binary Input, Penetration Times (page 2 of 4).

Change 1 5-16

JTCG/AS-79-V-008

U RecordNumber 2 3 LAST

Number 9 4*NOCOMP + 2 2400 2400of Words + 2*IFMAX

* {Record Number 3 through Last

I Word Parameter Units Definition

2001 R3(1) --- Equals 0.00 for a new shot line

or or

seconds Time needed to penetrate from thestart of the shot line through theLOS thickness of component 1(1)

2002 R3(2) --- Equals 0.00 for a new shot line

or or

seconds Time needed to penetrate from thestart of the shot line through theLOS thickness of component 11(2)

2200 R3(200) Equals 0.00 for a new shot line

or or

seconds Time needed to penetrate from thestart of the shot line through theLOS thickness of component ll(200)

FIGURE 5-5. PEAKAY Binary Input, Penetration Times (Page 3 of 4).

5-17

.' '. . -. . . . . . . ° . . , ' , . . .-- -. , -° . - - -- - - - ---

JTCG/AS-79-V-008

Record 1 2 3 LAST

Number

Number 9 4*NOCOMP + 2 2400 2400

Record Number 3 through Last

Word Parameter Units Definition

2201 I(1) --- Number of encounters on a new shot

line

or or

--- Component in the encounter with penetrationtimes Rl(1,I), RI(2,1), • .,RI(1O, I),

and R3(1) (the subscript in the ICOMP array

for the corresponding component identificationnumber)

or or

Equals 9999 to indicate the end of view

2400 11(200) Number of encounters on a new shot

line

or or

--- Component in the encounter with penetration

times R1(1,200), RI(2,200), ... RI(10,200),

and R3(200) (the subscript in the ICOMP

array for the corresponding componentidentification number)

or

Equals 9999 to indicate the end of view

FIGURE 5-5. PEAKAY Binary Input, Penetration Times (Page 4 of 4).

Change 1 5-18

JTCG/AS-79-V-008

PROGRAM PRERD INPUT

One formatted deck is the only input necessary for Program PRERD..|It is read from Logical Unit Number 5 during execution of Subroutine* READIN. The data on these cards must be assembled by the user and are

very important in order to obtain good results from QKLOOK. Ther importance and complexity of these data are the reasons that Program

i. PRERD must be used. It will flag possible errors in this data deck sothat the user can correct errors before executing Program QKPK whichreads the same deck. Figure 5-6 shows the data deck setup with theeight types of cards in this deck.

Number of Components

This is the first card in the deck and contains the number of com-( ponents in the target model. The array dimensions currently allow a* maximum of 498 components.

*Reverse Flag and Conversion Factor

This is the second card in the deck and contains the shot linereverse flag and a length units conversion factor. The reverse flagenables a user to obtain data from the view used by the shot line gener-ating program or the opposite view without a second execution of the shotline generating program. When the shot lines are being reversed using

* data from Program MAGIC, the new entrance obliquity angles equal the oldentrance obliquity angles, because Program MAGIC output does not include

m :exit obliquity angles. The length conversion factor allows the inputlengths to be in any one unit of measure. The data card descriptionlists the input variables from both files which are converted usingCINCH.

f

Number of Flux Distribution Points

The third data card contains the number of points in the flux dis-tribution table which is on card types QK4 and QKS. The current programallows a maximum of 25 flux distribution points.

Flux Levels

This card type is fourth in the data deck and contains the weaponflux levels at each point in the flux distribution. Flux levels mustbe greater than 0.00 and less than or equal to 60000.0 watts/cm2 . Therewill be one, two, or three of these cards consecutively depending onthe number of flux points, IFMAX.

5-19

JTCG /AS-79-V-008

IC

4e mr

ra' i.

5-2Change

JTCG/AS-79-V-O08

Flux Time Intervals

One, two, or three of these cards, depending on IFMAX, follow theflux levels in the data deck. The times in the flux distribution arelisted on these cards. These times correspond by subscript with theflux levels on card type QK4.

Component Information

Cards QK6 and QK6A are included for every component in the targetmodel, NOCOMP. QK6B is included for a component when more than fourpenetration depths and associated Pk's are to be entered. The componentidentification numbers must correspond to component numbers used in thetarget model for the shot line generating program. The order of thecomponents in the deck can vary, because Subroutine FSORT is used to sortthese data into ascending order by component number.

Number of Shot Line Time Intervals

Card QK7 contains the number of time intervals for shot line break-down by times required to reach maximum shot line Pk. This and the lastcard type (QK7 and QK8) are optional input. If cards QK7 and QK8 arenot included, the values from cards QK3 and QK5 will be used as defaultdata. If card QK7 is included, then card QK8 is required.

Shot Line Time Intervals

This card type contains the time intervals for shot line breakdownby times required to reach maximum shot line Pk. One time is listedfor each time interval. The beginning time for each interval isassumed to equal the ending time of the preceding interval. The firsttime interval begins at time 0.00. There are one, two, or three ofthese cards depending on the number of intervals, NTMAX. Card type QK8may be excluded from the deck if card QK7 is also excluded. In thiscase, the times on card QK5 will be used as default data.

5-21 Change I

JTCG/AS-79-V-008 I

- Card: QK1

aI."- F

- wCL

"U 00'

!i * i

o '

2 CO

-S CD

0 On

41.

- .0

to

C5-2

JTCG/AS-79-V-008

- - - Icard: 0K6

4J3G

~ 0 -

-r 'D (Ii. U ,( jW

4-3( IM3 S- 4--3~J 4J

Li 0 (U C 0W 0C~ o.L -W 'A. C

0~~~~ -Jr4C 0 . C41 S-S e -S

4- -L = cUL MM=2t 11 1 t r_1.1 t i

co m4 CD 0 L - 1 m . -cCL 44 0 3L

'4- 5 CC *~c4-.

- 0 (U W4 () 40) e13~ 0 c0 4-J 4- .CC

-~ ~ ~ f dg tUi--. to~ 0 w

-, Ce In0--Z M) - 4J 0 4.) - u

-- -ue 0M QW 4- S-

41( 11 .5O -I3 L.- C "tflC- 0.Q)- .0 .0 ~ t

a C- 4J a MoC O ) .

C1

4--

C S- 0 0o ~ to LA0- - CCJ

*5-3

-~ -~ --. -

JTCG/AS-79--V-008

Card: QK6 (concid.)

u

0u

0~0

C-1-

Ia 0 .00

U0 0 LW 0

C.: w' 01. CL:

w -W r. v Q) ..

u 0 -4 cu

Q) 0) r- 9".

to 0 *.0 >>

a S-i 1- M4C

0 Ci: 0toC E-4Q) ~v H) rw u- 0

0Z u z. 4.0 5 1 0= -4 .EI- c - w -

0 . =0=> . C)-H V 4 ri: VI -w' 4-4

"-40 .- 4 vi r.0 cWVI -

0 3: 0 9z0 V)C *E

00)

0 -''00 i

r. 0 , '0

0 -

1-4-

00*

Chan. 1 0 5-38

JTCG/AS-79-V-008

(Card: QK6A

o 0 .0

cu 4-4 t"

0 0~

Cu m 41

m sw00 0 U0

A 0. 0 4-'4-

- .6 -40 0 0 Q

.w .6A.

-H r_ r.. tkoej 0) a 0) VI-

0' o 0V 0 0

4 4 - .J t

4.4 = ~ 4 C4 4 0. .4

4-4 4- E00 S > 0. Ok 1-c44~

wOv=iI 4 V = -0 . E~~V0 H 0'1 0 -r4 11- 0-011

V( r 0)- 0 r)-- --. 0 M-.V4114 "- -14.

00

44-

00

z E- < E-

0-8 Chng I

JTCG /AS- 79-V-008

Card: QK6B

0 0

S.6.4 .4.j

Q) 0)

0 0 0 0

In r. 0- 4 Q) 4.

'a 0

Q) E- C

C)C) 0 0 r 0 cysC

0.. a 0.j

0 0 4j < -41 E

04 -a law 0.m P.a

0 01 I.C

a). .- .. tr.

~ 4.4 ~ .. ,0..0 0 CD0

4j. L-J

U 0'

Chang 5-38

JTCG/AS-79-V-008

CK c

IZ

ia

ma~ '

5-41 Chang

JTCG/AS-79-V-008I

QKPK Binary Input File

This file contains encounter information for each encounter alongeach shot line from one viewing plane. It may be the output fromProgram CONMAG (converts MAGIC to QKLOOK format), FASTGEN, or Ipossibly another shot line generating program. The order of data onthis file must match the order described in Figures 5-8 and 5-9 in orderto execute Program QKPK. Some shot line generating programs may produce Idata for more than one view. Program QKPK halts after processing oneview, so this discussion will assume the record containing the firstend-of-view flag, is the end of the input file. The units for some ofthe parameters in this file are described as "varies" on the recorddescription forms. These are the parameters which are converted usingCINCH, the conversion factor from card QK2 in the QKPK formatted datadeck.

Viewing Plane Description

This is always the first record for a view and is described inFigure 5-8. It contains nine parameters which define the attack angles,grid size, and minimum and maximum shot line coordinates for all shotlines in the viewing plane.

Encounter Data

Figure 5-9 depicts the data arrangement for the second and all sub-sequent records on this binary file. These data describe each encounteralong each shot line. The shot line coordinates are duplicated when ashot line has more than one encounter. The last encounter for a shot [line is indicated when JH(l,J) equals 9. If the encountered component

* number JH(2,J) equals 0, this marks the end of all data for the view,,- • and all subsequent values on the record are ignored. The record contain-

ing the end-of-view flag is also the last record read from the binaryinput file.

5-42

! "

JTCG/AS-79-V-008

FILE FILE E FILE FILE0 0 04F 2 F 3 F 4

Record 2 3 LastNumber 13LNumber 4*NOCOMP + 2 2400 2400

of Words + 2*IFMAX

Record Number 1

Word Parameter Units Definition

1 AZ degrees Attack azimuth angle

2 EL degrees Attack elevation angle

3 GRID inches Grid cell size

4 IDVEH Currently not used

5 YMAX inches Maximum y-coordinate for all shot lines6 YMIN inches Minimum y-coordinate for all shot lines

7 ZMAX inches Maximum z-coordinate for all shot lines

8 ZMIN inches Minimum z-coordinate for all shot lines

9 NOCOMP --- Number of components in the target model

FIGURE 6-17. Program PEAKAY Binary Output, File 1, Viewing Plane.

6-27

JTCG/AS-79-V-008

FILE FILE E FIL E F00 0EFL

1 F 2 F 3 F 4

Record____=- -- INube 12 3 Last

;.-i Number

Number 94*NOCOMP + 2 2400 2400]of Words + 2*IFMAX

I-

Record Number 2 1Word Parameter Units Definition

1 ICOMP(l) --- Component identification numberfor first component

2 IFG(l) --- Criticality flag for firstcomponent

=0: noncritical0: critical

3 IY(1) --- System number for first component

4 IU(1) --- Vulnerability flag for firstcomponent

=0: singly vulnerable=1: multiply vulnerable

* ICOMP(NOCOMP) --- Component identification numberfor NOCOMPth component

IFG(NOCOMP) Criticality flag for theNOCOMP-h component

9 FIGURE 6-18. Program PEAKAY Binary Output, File 1, Comoonents and Flux

(Page 1 of 3).

6-28

6A

A

JTCG/AS-79-V-O08

FILE E LE FILE E FILE23 4

1 F F

Record123 asNumber 123Ls

Number 4*NOCOMP + 22400of Words + 2*IFMAX

Record Number 2

Word Parameter Units Definition

IY(NOCOMP) --- System number for NOCOMP-hcomponent

4*NOCOMP IU(NOCOMP) Vulnerability flag for NOCOMP-t

component

IRVRS Shot line reverse flag

=0: normal shot lines=1: reversed shot lines

4*NOCOMP+2 IFMAX Number of points in the flux

distribution table

FTIM(1) seconds First time argument for the flux

distribution

FXCM(l) watts/cm2 Flux at time FTIM(l)

FTIM(2) seconds Second time argument for theflux distribution

FIGURE 6-18. Program PEAKAY Binary Output, File 1, Components and Flux(Page 2 of 3).

6-29

V4

* IJTCG/AS-79-V-O08 I

FIE E FILE E FILE E FILE0ILE 0 3 0 41 F 2F F

Rer 2 3 LastNumber

Number 4*NOCOMP + 2 200of Words + 2*IFMAX 2400 2400

Record Number 2

Word Parameter Units Definition

FXCM(2) watts/cm2 Flux at time FTIM(2)

FTIM(IFMAX) seconds Last time argument for the flux Ldistribution

4*NOCOMP FXCM(IFMAX) watts/cm2 Flux at time FTIM(IFMAX)

+242* IFMAX

FIGURE 6-18. Program PEAKAY Binary Output, File 1, Components and Flux(Page 3 of 3).

6-30

JTCG/AS-79-V-008

FILE 0 2ILFILE 0 FILE

0 -0

Record 1 2 3 LastNumber

Number 9 4*NOCOMP + 2

of Words + 2*IFMAX 2400 2400

Record Number 3 -Last

Word Parameter Units Definition

1 RI(1,1) inches y-coordinate for each new shot line,

seconds otherwise the time needed to pene-trate to depth DEPTH(1)

2 RI(2,1) inches z-coordinate for each new shot line,seconds otherwise the time needed to pene-

trate to depth DEPTH(2)

3 RI(3,1) seconds the time needed to penetrate todepth DEPTH(3)

10 RI(10,1) seconds the time needed to penetrate todepth DEPTH(10)

11 RI(1,2) inches y-coordinate for each new shot line,

seconds otherwise the time needed to pene-trate to depth DEPTH(1)

12 RI(2,2) inches z-coordinate for each new shot line,seconds otherwise the time needed to pene-

trate to depth DEPTH(2)

FIGURE 6-19. Program PEAKAY Binary Output, File 1, Encounter Times(Page I of 3).

6-31 Change I

JTCG/AS-79-V-008

FILE FILE FILE FILE1 2 F F

Record 1 2 3 Last

Number

Number 9 4*NOCOMP + 2 2400 2400

of Words + 2*IFMAX

Record Number 3 - Last

Word Parameter Units Definition

2000 R1(10,200) seconds the time needed to penetrate to

depth DEPTH(10)

2001 R3(1) --- Equals 0.00 for ea'ch new shot line,

seconds otherwise the time needed to per-forate the encountered component

2002 R3(2) --- Equals 0.00 for each new shot line,

seconds otherwise the time needed to per-forate the encountered component

2200 R3(200) --- Equals 0.00 for each new shot line,

seconds otherwise the time needed to per-forate the encountered component

2201 11() Number of encounters for each newshot line, otherwise the encountered

component number, equals 9999.0 to

indicate end of view

f

FIGURE 6-19. Program PEAKAY Binary Output, File 1, Encounter Times

(Page 2 of 3).

Change 1 6-32

JTCG/AS-79-V-008

FILE E FILE 0 FILE E FILE1 0 0 41 F 2F F

RecordNumber 2 3 Last

Number 4*NOCOMP + 2 2400 2400of Words + 2*IFMAX

Record Number 3 - Last

Word Parameter Units Definition

2201 11(2) --- Number of encounters for each newshot line, otherwise the encounteredcomponent number, equals 9999.0 toindicate end-of-view

2400 11(200) --- Number of encounters for each newshot line, otherwise the encounteredcomponent number, equals 9gg9.0 toindicate end-of-view

FIGURE 6-19. Program PEAKAY Binary Output, File 1, Encounter Times4 (Page 3 of 3).

6-33

II

JTCG/AS-79-V-008

FL E FIE E FILE E FILEFIL E FIL 0 30 4

F 2F F-- -

Record LsNumber

Numberof Words 2

IIRecord Number 1 - Last

Word Parameter Units Definition

1 SHW(l,I) inches y-coordinate on the viewing plane for thefirst shot line

2 SHW(2,1) inches z-coordinate on the viewing plane for thefirst shot line

3 SHW(3,1) --- Pk at first time increment for first shotline,

= -9.0 if no critical encounters on shotline

= -9999.0 if end-of-view_

12 SHW(12,1) --- Pk at tenth time for first shot line

= -9.0 if no critical encounters on shot Tline

= -9999.0 if end-of-view

13 SHW(1,2) inches y-coordinate on the viewing plane for thesecond shot line

14 SHW(2,2) inches z-coordinate on the viewing plane for thesecond shot line

FIGURE 6-20. Program PEAKAY Binary Output, File 2, Shot Line Pk's(Page 6 of 2).

6-34

JTCG/AS-79-V-008

4-

lo .,aJ

IL at

6-4

JTCG /AS-79-V-008

- - 7 I C -

MI.N

CC Lf c

C. a.

- CC-C

Chng 1jC 6-C46 C C C C

JTCG/AS-79-V-00 8

zJ. Ni-j9 N N N N N N N N Nm fu NcI 4

3c x

CLa.

V -Nu N In ON N N

0.0.

WC 0. O. 0. - 0. 0 a 0 0: 0: 0

uz ....................

2-IV

CILC

c: 1a a a s0 a a

-- a a a a aa. a 0.

:- a- - - a - -

t W%5 a0 a% a a a a -0 a, a0 -4~~~~ a a z a a 5 z

CL CL CL22 Z 2 20

0.D -D -i

a. 4.

w .. 0 w5-M2

cc a ai(.L.0

6-4 Change

JTCG/AS-79-V-008

x - 0 0

ftr

X- Q;

~Z 0 0 0 0 0 0,

-

no 0% a a. 40 & 0

a -4 w C

"> >1% C C I a L I. a .I

'-xx

- w Wk, -

3-- 3Lz z z2

IL I CL~ . m CL L 0L a, .

2N C C C 0 0

NW 0

a z. 2 N.m 22~Q1 m

444 -W W W W W w

Ch ng 1. 6-48a a . . a.

JTCG/AS-79-V-008

IL a.ww

a ca

j -i

a 4

CL0. 0

we * 0 6 .0

U.-. 006 6

Uzx .x 1, .. X

a a mi h u

0 0~ a 0

0 CL(LC24-i w

0 a 0 .0 0 0zz z z zC~0 0 0 0 0 ~

L2 CL CL 0. C La L C L C z IIa a: c:c

4L J U. u thk U .- -. U N N N 1 U. U . Uz 2 2 2 2

2 ..j .. j tai Uj w ..i .J-x x- x

NP- 4 4 0 6-049 0ChNa44nge

JTCG/AS-79-V-008

C - V C ~ C - N V r

a. CLr

24-4

Ix CC CIO CC C C

0.00

c-4

XC X C C: C: o C0 c:

4 ILL - - - - - - -- w - - - Oz02c

0

-CC o c a

-4en44o. 0

CL IL &

C C C C C C C C C C4Do o N

Cj N

Chng C 6 CCC 50CC

JTCG/AS-79-V-008]

j -y . 0u fu Nd N mi v fu 0 fu Nz2 41z

zz

w uj

cpI 4p & 0 0 0 40 0 0P 06 0 01

a.CL0

44~ ~ 4 4 4 0 0D 0 a 0 a .

0~~~~~ a~@ ~ - - a i

a 0 a 0 0 0 0 e , a a x 0 .

- w ?1a. 03 "

C IL 3. 1-$w0

oc: o0 0 0 0 .0 : 0 0 0- 004 4 - - - - - - - - - - -" - W w

~0 hi hi i Li ih

11a c: IKI

K i'- * 0 aw -02 ~ .2@2 0 WI @

6-1 hng

*IJTCG/AS-79-V-008

fCU

S*1

0

hi-

0o

0a

Z Zz a

oa

goo

. . . . . .. . .

aW V LMaU

0 0

U LL

6-52

JTCG/AS-79-V-008

6 ACD

I44-

aLL

a. Z.

* CL

ILC En

6-5

JTCG/AS-79-V-008

PROGRAM QKPK OUTPUT

Execution of Program QKPK produces two output files. Formatted out-put is printed on Logical Unit Number 6. Figures 6-37 through 6-41 areexamples of the formatted output that is generated during a normal exe-cution of Program QKPK. Figures 6-42 through 6-47 are examples of errormessages which may be printed during program execution. A binary filecontaining penetration times for each encounter is written on LogicalUnit Number 2. Figures 6-48 through 6-50 display the formats for eachrecord on the binary file.

QKPK Printed Output

The first page of QKPK printed output, Figure 6-37, lists the number

of components, shot line reverse flag, input lengths conversion factor,and the flux distribution table. The times in the flux table are inseconds and the flux levels are in watts per square centimeter. Thispage is printed during execution of Subroutine RDATA.

Figure 6-38 is an example of the second page of QKPK formatted out-put. It is printed during execution of Program QKPK after the componentinformation arrays have been sorted into ascending order. The firstten columns correspond to the parameters on cards QK6, QK6A, and QK6B fromthe QKPK data deck. The column labeled "CRD" gives the component subscriptnumber in the component identification number array. This number is usedto identify components in the QKPK binary output file.

The type of output shown in Figure 6-39 is printed only if the valueof the flag IECHO is set to a value other than zero. These data are acomplete copy of the binary output file and may fill several pages ofprintout. Figures 6-48 through 6-50 contain definitions for those para-meters appearing in the binary output file.

'Figure 6-40 is an example of the next page of QKPK output which showsthe number of critical shot lines that reach their maximum Pk during eachtime interval. The time intervals are those specified on cards QK8 in theQKPK data deck. The times in the table are expressed in seconds and theflux levels are expressed in watts per square centimeter. The last timeinterval represents the value for all times greater than the last starttime. Only critical shot lines are included in the breakdown. A criticalshot line must encounter at least one critical component.

An example of the last page of QKPK output is shown in Figure 6-41.0O WRITE statements in the Main program unit are used to print this page. It

lists any components in an encounter whose LOS thickness is less than eitherDEPTH(1) or DEPTH(NOPNTS). If the thickness is less than DEPTH(1), the

. encounter Pk is 0.00. If thickness is less than DEPTH(NOPNTS), the Pk isless than 1.00. However, a thickness equal to DEPTH(NOPXTS) may or may notequal 1.00; this depends on the value assigned to PKVAL(NOPNTS). Entriesin this list indicate possible errors in the selection of DEPTH values.

Change 1 6-54

JTCG/AS-79-V-008

Figure 6-42 presents the fatal error message printed during execu-tion of Subroutine RDATA whenever the number of components in the targetmodel (QKPK) data deck) exceeds array dimensions. The current programhas a limit of 498 components.

The fatal error message shown as Figure 6-43 is also printed duringSubroutine RDATA execution. This error occurs whenever a flux levelless than or equal to 0.0 or greater than 60000.0 watts per square cen-timeter is entered from the data card deck.

Figure 6-44 contains a warning message printed whenever an encounteredcomponent number from the LOS file has no match in the component informa-tion arrays. This warning message is printed during execution of Sub-routine BSRCH. When components are included in the target model for theshot line generating program but not in the QKPK data deck, default com-ponent characteristics are assigned as follows:

1. Components with identification numbers less than 1000 defaultto a 2024 AL noncritical component with no warning messageprinted.

2. Components with identification numbers between 1000 and 6999or greater than 8000 default to a 7075 AL noncritical componentwith a warning message printed as shown in Figure 6-44.

3. Components with identification numbers between 7000 and 7999default to a 7075 AL noncritical component with no warningmessage printed.

Figure 6-45 shows a non-fatal error message printed whenever Sub-routine TABLE is invoked for a component whose table look-up code isless than or equal to 0 or greater than 9. A penetration rate equal to0.00 is assigned and control of execution returns to Subroutine RATE.The warning message includes the component number and the erroneoustable look-up code.

Figure 6-46 shows a fatal error message which is printed during Sub-routine TABLE execution. This error occurs when a component has a tablelook-up code equal to 7 and a weapon flux level less than 374.0 wattsper square centimeter.

If the Main QKPK program unit detects a shot line with more than 100encounters, an error message (Figure 6-47) is printed and program execu-tion stops. This prevents bounds violations in the encounter data arrays.

6-55 Change I

p.TCB/AS-79-V -008 F

QKPK Binary Output 0

Parameters and their definitions for each record of the binary pene- [tration times file are listed on Figures 6-48 through 6-50. The firstrecord contains nine parameter values and describes the viewing plane.The second record contains values for the component information arrays, Ithe shot line reverse flag, and the flux distribution table. The thirdand all subsequent records contain the encounter penetration times. Thelast record on this file contains an end-of-view flag, parameter I1equal to 9999. This file is used as the binary input file for ProgramPEAKAY.

i!_I

%I

p. I

Vo

'- 6-56

6

JTCG/AS-79-V-008a

I

I* f -

9

09a

IIJ p

I

aa-

Z La- U,a4"

0 x(I

4b

4.)au 0.4 4.)

0.a

0'a ~.aee. E

J 099@0@a z n..... a3 ~ ~e.o*ea

- [email protected] 0~*099090 o9. 1 - S..

- 0.4.-

a.

aK:. ~ ~ ~a- 'a 9 a.. a

L - -:a a~LI - a

a z u. Ua a4j - -a LA.Ia. -o ~ i.e....

a. - . . a a a~ -IaJ is. -*0 0 NI a-~ * -a4 .- La 4"

a a

6-57

LA

JTCG/AS-79-V-008

CL CL

00. I'4

Cz X 0 0 0 0 0: 0* 0 0 0: 0 0* *c 0. -

w miJ

Ln C

c:c@0. 1 O It c: .

44

N. C.L N N w c 0 0 0 0 rI

Lb.xx &

I- ' x 0~ SL -0 - 0 0 0 0 0 C. 0 In kn C6

IL CL

42w

2...J 0 0 0 0 * 0 o

oc:. -0 t % ct ..l . .

- . 0 0, C I Cl

NU~~ N N N N N N N N N N 0

Chng 1 6-5

JTCG/AS-79-V-008

OOOO OOC OOOO OO 0.0U.0..

N 00 *4 00

oo 4000 0 = cO CC2 ccCo 000 00 w0 0 0 0 0 c0 00 00 00 0 00

00 .0

d 00 c0 0 c O

m . . . . . .. 6z ~0 '

a CL00 00 00 0 00 00 00 0

z & 0

CL 0II

(.3 - 0~0,0 0 0100 0 00 0 00 0 0 0u- -u A. .00.00 0 0 0 0 0 0 0 0 . V

-7 0 0 0 00 00000 0 0 0 0

o ro N* -

w0 , 0 0 0 :z00 002!00 0-0 t -, t * 0 oco ooo oo ooo oo ooo o :

0 Q 0 I V's va00000 0000 0000

ON 0 - -a. . .

", 0. = *0 *NN 4V 1

o~~65 Chan0ge~OOoeoOeOO00o

JTCG/ AS- 79-V -008

I

A.. 33~O~-4a*a@ Vz -~ ~ - 3- 0

4 3 -~A

3 - aJ~ 3

V A4 3 M W2 2 Z

4 3z2 V3233OO3~UO@3 -

C3 ~ .- ~33U@3U@UU33 V

33333CUUO~3 ,-3 3 3C33~333333S -- M ~~J%~.VA4@ -

3 .- - -- 3

*1 -3

A I M33~S333O333- - *33~@U@U,~3 S 4 0~ - - . -- .. 3@3@333a333 3- - 33333333033 2- 3 £333333333033 id~dW44 32 A JA .~

3 EV 3 6 EUU - L- 0- 2 a- A @3@3303300Q z 02 2-'d14U3p~~~a - L.- ~ -... . V* V - -- ~q~* -

2 V 33 - 3 V I

Z 4 -~ 2 V3 - a 3

2 - z- 3 -3 ~23333333333 UI 3 23- WJ@a.,,~ S

2

-a w 3 -J* V - C- a a3 3 a 3 Li..- a a

'p..

r 6-60 -

r..

-v-v -- - ----- V 4

.4* IJTCG/AS-79-V-oo8

* 'I-

rII

* [4

GaCF iII&

0U,L

00I

S Cto

-CI-F. L.0S

S0.

£C2 =

0N

U ~aSa . a

5toLC,0L

0~

N.

'I

6-67

t

9I

JTCG/AS-79-V-008

Record ______

Nube1 2 3 LAST[

Number 9 4*NOCOMP + 2 2400of Words + 2*IFMAX 2240L

__j!

Record Number 1

Word Parameter Units Definition

1 AZ degrees Attack azimuth angle j2 EL degrees Attack elevation angle

3 GRID inches Grid cell size

4 IDVEH Currently not used5

5 YMAX inches Maximum y-coordinate for all shot lines

6 YMIN inches Minimum y-coordinate for all shot lines

7 ZMAX inches Maximum z-coordinate for all shot lines V8N ZMIN inches Minimum z-coordinate for all shot linesL

9 NOCOMP Number of components in the target model

K!

FIGURE 6-48. Program QKPK Binary Output, Viewing Plane Description.

6-68

JTCG/AS-79-V-008

iiRecord 123LSI J Number 2 3 LAST

Number 4*NOCOMP + 2 204r of Words + 2*IFMAX 200 2400

I -

Record Number 2

Word Parameter Units Definition

1 ICOMP(l) --- Component identification numberii for first component

2 IFG(l) Criticality flag for the firstcomponent

=0: noncritical90: critical

3 IY(-) System number for the firstcomponent

4 IU(1) Vulnerability flag for firstcomponent

=0: singly vulnerable=1: multiply vulnerable

5 ICOMP(2) Component identification numberfor second component

ICOMP(NOCOMP) Component identification numberfor NOCOMP-h component

IFG(NOCOMP) Criticality flag for the4 NOCOMP h component

IY(NOCOMP) --- System number for the NOCOMP-7,component

FIGURE 6-49. Program QKPK Binary Output, Component Data and FluxDistribution (Page I of 2).

6-69

AI.IJTCG/AS-79-V-008L[

Record 1 2 3 LAST [Number 4*NOCOMP + 2 "Nubr9 2400 2400

of Words + 2*IFMAX 2

Record Number 2

Word Parameter Units Definition

4*NOCOMP IU(NOCOMP) Vulnerability flag for NOCOMPthcomponent

IRVRS Shot line reverse flag

=0: normal encounter order=1: reversed encounter order

4*NOCOMP+2 IFMAX Number of points in the fluxdistribution table

FTIM(l) seconds First time argument in the fluxdistribution

FXCM(l) watts/cm2 Weapon intensity, flux at timeFTIM(1)

FTIM(2) seconds Second time argument in the fluxdistribution L

FXCM(2) watts/cm2 p intensity, flux at timeFTIM(2)

FTIM(IFMAX) seconds Last time argument in the fluxdistribution

no 24*NOCOMP FXCM(IFMAX) watts/cm Weapon intensity, flux at time+2+2*IFMAX FTIM(IFMAX)

FIGURE 6-49. Program QKPK Binary Output, Component Data and FluxDistribution (Page 2 of 2).

6-70

JTCG/AS-79-V-008

IRecord 1 2 3 LASTNumber

Number 9 4*NOCOMP + 2 2400 2400of Words + 2*IFMAX

Record Number 3 - Last

Word Parameter Units Definition

1 PKTIME(1,1) inches y-coordinate on the viewing plane for anew shot line

or

seconds Time needed to penetrate from the startof the shot line to depth DEPTH(1) inan encounter with component I1(1)

2 PKTIME(2,1) inches z-coordinate on the viewing plane for anew shot line

or

seconds Time needed to penetrate from the startof the shot line to depth DEPTH(2) inan encounter with component 11(l)

3 PKTINE(3,1) seconds Time needed to pentrate from the startof the shot line to depth DEPTH(3) inan encounter with component I1(1)

10 PKTIME(10,1) seconds Time needed to penetrate from the startof the shot line to depth DEPTH(10) inan encounter with component I1(1)

4

FIGURE 6-50. Program QKPK Binary Output, Penetration Times(Page I of 4)

6-71 Change 1

JTCG/AS-79-V-008

Record 1 2 3 LASTNumber

Number 9 4*NOCO01P + 2 2400 2400of Words + 2*IFMAX

Record Number 3 - Last

Word Parameter Units Definition

11 PKTIME(1,2) inches y-coordinate on the viewing plane for anew shot line

or

seconds Time needed to penetrate from the startof the shot line to depth DEPTH(1) inan encounter with component 11(2)

12 PKTIME(2,2) inches z-coordinate on the viewing plane for anew shot line

or

seconds Time needed to penetrate from the startof the shot line to depth DEPTH(2) inan encounter with component 11(2)

20 PKTIME(10,2) seconds Time needed to penetrate from the startof the shot line to depth DEPTH(10) inan encounter with component 11(2)

2000 PKTIME(10,200) seconds Time needed to penetrate from the startof the shot line to depth DEPTH(10) inan encounter with component I1(200)

FIGURE 6-50. Program QKPK Binary Output, Penetration Times(Page 2 of 4)

Change 1 6-72

IL

-.-. -'. ';-".4 -. -r .- - . - - - ,- : . -" -

JTCG/AS-79-V-008

Record 123LSNumber 13L

Number 4*NOCOMP + 2 2400 2400of Words 9 + 2*IFMAX

Record Number 3 - Last

Word Parameter Units Definition

401 PLS(1) --- Equals 0.00 for a new shot line

or or

seconds Time needed to penetrate from the start ofthe shot line through the LOS thickness ofcomponent 11(1)

402 PLS(2) --- Equals 0.00 for a new shot line

or or

seconds Time needed to penetrate from the start ofthe shot line through the LOS thickness ofcomponent If(2)

600 PLS(200) Equals 0.00 for a new shot line

or or

seconds Time needed to penetrate from the start ofthe shot line through the LOS thickness ofcomponent l1(200)

FIGURE 6-50. Program QKPK Binary Output, Penetration Times(Page 3 of 4).

6-73

JTCG/AS-79-V-008

Record 123LASTNumber

Number 9 4*NOC0MP + 2 2400 2400of Words + 2*MA

Record Number 3 - Last

Word Parameter Units Definition

2201 II(i) -- Number of encounters on a new shot line

or or

--- Component in the encounter with pen-etration times PKTIME(1,1), PKTIME(2,I),

PKTIME(10,1), and PLS(1) (thesubscript in the ICOMP array for the

corresponding component identificationnumber

or or

Equals 9999 to indicate the end of view

2400 11(200) Number of encounters on a new shot line

or or

Component in the encounter with pen-etration times PKTIME(1,200),PKTIME(2,200), ., PKTIME(10,200),and PLS(200) (the subscript in theICOMP array for the correspondingcomponent identification number

or or

--- Equals 9999 to indicate the end of view

FIGURE 6-50. Program QKPK Binary Output, Penetration Times(Page 4 of 4)

Change 1 6-74

S!

JTCG/AS-79-V-008

78 SIIRROUTINE 3SRCHCICoMpp,kfC(VPTC

CSlIIROUTTNE T00~f A f4INIARY SFAPCH 0,i INTEGER ARYTOPNC~Pc vHTCH WJAS SoprFn INTOr ASCENDING ORDEP, AND' RETIJWN THFC LnCATION J WHEPE THE MATCH ON ICOMP IS MOINDf

CtlvMON /PRP/ ALP,RHfl,rP,TmLT,XLAMBD,PATE,JCOMP,jT,OP,XK, TVAP,$ CPLIlTER,TCOMMON /LUNITS/ IQD, TtP, TIN, (lUTDIMF}NISTON TCPmP(ITC)

CII3EG =0TEND =NOCriMP + 1

10 CoN T I NUJJ = IREC, + TEND) /2IF (J .NE. IPEG) THEN

IF (ICnmP(j) .LT. jCnmp) THENIBFG =J

ELSE IF (ICOMP(J) rGT. JCOMP) THENTEND =J

ENo IF

FLE PCF COMP .LT. 1000) THENi

qe FLSE IF (COlP .GE. 7000) *ANp. (jCn.%-p .LF. 7990)) THENJ = ITC

FLSF~JRTTF (I WR,10) ICollhp

J=TTCEND IFPE-TUP N

FND) IFIF (TCnyMP(J) .NE. -JCOMP) GO TO 10

P FT IJRN

100 FOJRMAT (lY#Tto,' *AS ino FOUNO IN LIST ... DFAiJLT TO 7079 AL')

A-I Change I

JTCG/AS-79-V-008

Intentionally Left Blank

Change I A-2

JTCG/AS-79-V-008

CF $STEP Fa C REw mr TAPE AND REWRITE FIRST RECORD WITH MIN AND MAX VIEWLC- PLANECF *CCCRDINATES

C- REWIND ICUI!1 WRITE (lOUT) AZM,ELEV,GRID,LL,YMX,YMN, ZMX, ZMN,R

IF (IECHO.NE. 0) WRITE (IWR,1003) AZM,ELEV,GID,,LL, YMX, YMN, ZM4X, ZMN,1 R

RUIT (U24)WRT Ii,4)YXYjLI

WRITE (IWR,245)C

* CF EXIT STOPC

180 FORMAT (F7.1,7X,F9.3,F9.3,I3,18X,F6.1,2X,F6.1)

* 190 FCRMAW (3(I4,F7.2,F5.1,j3,F7.2))*200 FORMAT (2(I4,F7.2,7X,F6.1,I3,F7.2))

210 FORMAT (1X,F6.1,F7.1,3X,F8.2,8X,I3)220 FORMAT (I5,10A6)225 FORMAT (l5H±Nf. OF VIEWS =,I5/lHO,10A6)

- 230 FORMAT (2(5X,E15.8),30X,E1O.3)235 FORMAT (iCHOAZIMLrH =,F1O.2,131H ELEVATION =,F10.2,

1 13H GRID SIZE =,F10.2)240 FORMAT (7HOYMAX =,F1O.2,8H YMIN =,F1O.2/7HOZM4AX =,F10.2,

2 8H ZMIN =,F1O.2)245 FORMAT (iHi)

1000 FORMAT (1H1,69E FOLLJOWING IS AN ECHO CF THE DATA WRIMTN ON THE1 MAGIC OUTPUT FILE//1HO,30HA, EL, GRID, LL, X, X, X, X, R/2 1H ,3Fl0.3,Il0,5F10.2)

1001 FORMAT (1HO,67HAX(I), AY(I), AZ(I), ISRI(I), IECO(I), ITH(I), IIB(* 1,IJOB(I), I=1,170/(1H W310.3,5I10))*1002 FORMAT (1H0,34HXX, XX, XX, II, xx, xx, Xx, XX, XX/1H ,3F10.3,I10,* 1 5F10.3)

100 FORMAT (1HO,42HAZM, ELEV, GRID, LL, YMUX, YMN, ZMX, ZMN, P/* 1~ 1H ,3Fl0.3jl10,5Fl0.3/lH ,5X,73H(THE RECORD ABOVE ACTLLZY OVER-

2WRITES THE VERY FIRST RECORD ON THE FILE)/11HO, 32HEND OF ECHO OF MAiGIC OUTPUT FILE/iHl)

* CCF FINISH

* C

A-7

JTCG/AS-79-V-008

s DEPT 4,PK(VAL,ITCPt4P,-1IhFL,OHOF,TY, t')CC 9,iRPmlJTINF TO SORT ARPAY ICOrPP (OF LFN'GTH Njoco&P) INJTOC ASCENDINGl ORflFR AND MAINTAIrl CllRRFS'P0,JnrJCEC flF OTHFA ARRAYSC

T;\.TEGEP I ANA CI TC)

1 COo CIT C)

$ TO (IT C)

lb M AT (IT C)

PK NIRPEAL RIJFFPI(50),

'I. ODTH (PKNRJR,ITC),PK'JAL (P'r'N9P,TTC),

1;PHOF (IT C)7.- THTNFL(ITC),

TT NI TT (ITC)C

MONCOC(MP

10 C0MTTN'IIE

CIF (i L T. 1)r0 f)f 9( 0K .i c i P t-A

C*DO 4J0 J I,K

I j

TF (T CP (CT) LE. I CflMP(TM GO TO 4 )

r ~StITCH

I' .T APT

*~ ~ N T;I

T!(T)

r., 'F F I H (., TT T'(~ , T T (

Change 1A- 8

JTCG/AS-79-V-008

30 COJNT THIE$4=THTNFLCI)

S5 = PHOF(T)TCOM!P(I) = COMP(INM)MATM = mArC'IMJ

IAN4(T) =TANIA(TM)TY(T) =IY(TM)TIJ(I) =TU(IM,)NIOfPNTS(I) NOPITSCT1m)TIMIT(T) TrJTl(I.M)00 34 MM ~ fBDEPTH(MmT) = EPTH(MM1,TY)PIvVAL(m,I) =PIVAL(M,JMl)

THI'jFL ( I THT*'IFL(1'4)sPnOF(J) P~nfl(JM)i COIMP ( VmAT(rP) NiT~rn(TI-1) N2TTAR(IM) NTANACM) gTY(Ph'4)

NTrl( M) S( i 4

TTNITOTP) SI

n FD T H( M,iI A) R IJ F FPt(M N1

Pl(VAl. (MMIM J) = )1FF)-(mN))

PHOF(IM) ST= T-

EF (T G~F. 1) Gr 10 2o

Gfr Tri 10

1) F T!i Q (J

4A-9 Change 1

A

C PP::PAM PEAKAY KOK PRGA EKY

C

INTEG~ER AVFLAGCnmmo-N RI (I0,?OO)hP3(?00),I11(200),PKTIM E(10,100),

!t PKVAL(10,100O),NflpNTS(500),PL-S(100)r$ NAME(100) ,TST,NSHTNENC, ICOMlP(500) ,SHIN(12,?00),

s NOlrfMP,COMPAV(500, 10) ,GRTD,TImES(I0) ,NTTME, 1YC500),PmU)LT(10, l0),IIJ(500),PARF, (500)

COMMON /ONE/ JFG((50),PRNIC4,5O0),AVFLAGCOMMON /IIJNTTS/ IRfl,IAR,IIN,IOltTDImENSTON PKMIK(500) ,TVA(l0) ,TVAMA(10) tISET( 10) ,SARFA( 10),

* FTTm(25),FXCm(?5)DATA ipfl,iwR,ii.%,iOnij 1,TOt.T2,T0LiT3 #1 THUTi /7,P,2, 10,11,1?, 13/r)ATA PMULT /100*0./I)ATA IST,tUM,NS.HT /3*01DATA PAREA /500*0./OATA (CflMPAV(TI ),I=1,50O) /500*0.,D)ATA (Cr~hPAV(I,2),I~1,5O0) /5O0*O./r)ATA (CrVAlPAVI,3) ,I~l,50O) /500*0.,nATA (Cnm-PAV(IJ) ,I=1,5OO) /500*0.1DATA (Cnl.PAVCT,;) ,I=1 ,900) /900*0./D)ATA (Cnl.PAV(Tp6) ,I~j,500) /500(*0./!,ATP (CflPAVCT,7),I=1,500) /500*0.1PkTA (Cnv-PAV(J,R),I=1,500) /500*0.!

* DATA (CnnPAV(I,q),I=1,5O0) /500*0.,D)ATA (CO.MpAVCI,10),I~l,5O0) /500*0.1OATA (P9K'T(l,I),T~1,rOO) /500*0./D)ATA (PPfqTC2,T),I=1,5O0) /500*0.,D)ATA (PPNT(l,I),I~l,5O0) /500*o./

* * )ATA (PPNTCll,I),T=1,500) /500*0.1*DATA ITOTL /0/

)A T A TVA /10*n.1OATA SAPEA /10*0./DA~TA TTC /SO0/r)A Tl PCV /90./

* DATA qQ~FSQV /Q0Oq?qfl30a/

n PFNI (TPD),F1LE='PKI)ATA' ,P CFIA=:DS ;,NvAEflL=,PAD)=YFSO)* flF' 1 I?,P,FILE= 0 KPPTNT * IECFrA=) ,CAPP! AF C0NTpflL='FflpTpAMl)

OL)FN (IIN,FTLF=*DKPK rAPFOIT,FOPMN4=kFDnMArTEr0 ,PFCFMV='AITARLF')

nP (IflMIT3, FILE *PTAPFngjT3 FnlPkI4= ,F)ATTFD RECFkM= VAPI AL CnpF - (If)'I~, T E I K A :l)0,FJLF Ifjo hA T n~rF F *V I 4 F )

* Cr THIS PP(GAM PFRFnpivS THE CoMPDNFrT iPFNFTRATTlNir AND) COM'-PVTFS CnvonNPIENT AND SYSTFv VIILtAFPAHLF

Chanwe I A-10

JTCG/AS-79-V-008

C AREAS ... AND SHOT L'NF PK'S* C

C ITC IS THE nIMFNS 1 OF THE COMPONENT ARRAYSC PCV IS THP PER CENT VUJLNERABLE AREA IJSFn FOR A14 OUJTPUTC SOFSOM IS THE CONVERSION FROM SO. FEET TO SQ.METERS

REWIND ITNCCF S STEP ACF READ-CARDS CONTAINING UP To 10 TItAE INTE VALS

* CRFAO (IPD,l0031 NrIMFpAVFLAG

IREAD (IRO, 1001) (rIPMESCJ) ,J~1,NTIME)* C

CF READ VIEW~ING PLANE DATA, COMPONENT DATA, AND FLUX TABLEC

READ (TIN) AZEL.GRIO, IOVEH, YAXYMINZMAX,ZMIN,NOCOMPREAD (TIN) (ICOMP(I) ,IFG(T),IY(I) ,TU(I) ,NOPNTSCI),

$ (PKVALCJPT),J=1,NOPNTS~r) ) ,I:1NOCOMP) , IVRS,IFMAX,$ (FTIM(I)oFXCMCI),I~l, IFMAX)

CC TTC MUST BE AT LEAST TWO GREATER THAN NOCOMP TO ALLOWC FOR THE DEFAULTS TO 2024 AL AND 7075 ALCC

* CF IF TOO MANY COMPONENTS? THEN 5002

IF (TTC .GE. NOCOMAP4?) THEN

CF S STFP 8*CF PRINT THE TIME INTERVALS AND THE FLUX DISTRI91JTIUN

CWRITE (IWR,4) NTIME, (TINES(J) ,J~1,NTIME)PVPS IRVPSWRITE (IWR,8) RVRSWRITE (IWR,F00) IFMAXTE =0.

DO 820 1 = ,IF.AxTR TETE = F T Im( IWRITE (TWP1O) TF3,TFFXC.%(T)

8?0 CONTINIJl-E4 C

C LAST FLOX ALSO APPLIES FOR ALL TIMES REynNDC THE LAST TTAFC

T9 = TETE = .E30VWQTTF (IW'P,810) THTF,FXCrM(IFMAX)

CCF o~RITE FTLE-i A COMAPLETE COPY OF THE PHINARY PIPUIT FILE

A-11 Change 1

JTCG/AS-79-V-008

WRITE CIOUTI) AZELGRID, IDVE-HiYMAX,YMINpZMAX,ZMN,NoC!i~PWRITE (IOUTI) (ICOMP(I),IFG(I),IYCT) ,IIJ(I) ,I=1,NOCOM.P) ,IRVRS,

s IFMAX, (FTIM(I),FXCM4(I),I=1,IFMAX)C

10 CONTINLIFREAD (TINI) ((Rl(I,J),I=1, 10),R3(J),I1 (J) ,J=1,200)

IF (11(200) .NF. 0999) GO TO 10

v END FILE IOUTIREWIND TINGRID =GRID * GRID / 14I4.

CrC GRID is NOW THE AREA OF ONE GRID CELL IN SQUtARE FEET

R E D ( I 'READ (TIN)

RED(TNC NTIME IS THE NUJMBER OF DWELL TIMES TO CONSIDER -- TIMESC IS THE LIST OIF THEM IN ASCENDING ORDER

MAXTTI = NTIME + 2

CF S STEP C~u~lJa11),3J

CF RFAD THEI NEXT RECORD OF THE TIME FILE

C101 CONTNUE

REDO 110 ) J 1,200=,1)R3JT(),=,

CCF S1(J STEP. DQ0 O O9

CC0 COMOI'. 0OA T' Tq IINL END OF IIE

CCF IFFMDIF (TSIELW? THEN 0

C

C ITOTLNE, COr'.!T TOl S rO LIrNAS END OFTI-IRJ

CF ~ ~ I S(TST LF.TL0) ENOJTE ATC

KITnIL- TTOTI., +?MENC =11(j)NSHT NSriT + I

Change 1 A-12

JTCG/AS-79-V-008

SHW(?,NSHT) =Rt(,2,J)IF (NENC .NE. 0) THEN

IST = NSHTNUM 0

ELSECC SET -q TO SIGNAL NO CRITICAL COMPONENTS ALONG THIS SHOT LINECC

DO 112 MM = 3,MAXTIT-

SHW(MM,NSHT) -q.11? CONTINUE

END IFELSE

CNUM = NUM + 1DO 114 K = 1,10

PKTIME(K,N(.M) P(KJ)

lt 4 CONTINUEPLS(NUM) R3(J)NAME(NIIM) 11(J)

C

CF IF LAST ENCOUNTER ON THIS SHOT LINE? THEN * ELSE 110

CIF (NUM .GE. NFi'C) THFNC

CF S STEP ECF INCEPMFNT THE PRESENTED AREA Fnp EACH CRITICALCF * COMPONENT AND EACH SYSTEM ON THIS SHOT LINEC

DO It5 I = 1,10

ISET(I) 0115 CONTINUE

CDO 118 1 = 1oNENC

TI = NAME(I)

LL = IY(TI)

TF (LL .NE. 0) ISFT(II) = IIF (I .NE. NENC) THEN

Do 116 13 = [ I,NENCIF (TI .FO. NAMF'(I3)) GO TO 11P

I lh 0 N TI '90 EFNr) TFPAPEA(IT) = PARFA(TI) + 1.

t I pONi NIIEc

Do 119 I = 1,10.AREA(1) =-SAfFA(I) + TSFT(I)

1 19 CONTTNIIE

CF EXECUTE PENT PE.FOnRvS SHOT I.ITE PFiNETRATT1(I

A- 13 Change 1

*,

JTCG/AS -V-008 .

CF * COmpUlTING PK'S AT EACH TIME INCREMENTC

CALL PF\JT

IST =0ICC ACCUMULATE PK'S FOR TOTAL TARGET VULNERABLE AREA

CDO 107 ITI 1,NITINME

TVAII) = VACTI) + SHVJ(TI+2pNSHT)107 CMITTW'IE

END IFEND IF

CF .1 STEP FCF IF SHOT LINE PK ARRAYS ARE FULL? THEN *ELSE 110C

IF (NSHT .EO. 200) THENC**** NJWJTE HItlP, 1002) (CSHtJ(TT,M.M) ,II=1 ,3) ,M=1,?00)

* CCF v-PITF FILE-2 THE SHOT LINE PK ARRAYSC

NMSH r=oENmD IF

CF :~STEP GCF IF LAST SET OF TNPIJT FROM TIMF FILE REcOrDn? THEN 100 ELSE 101C

110 rONTINUE

GO TO 100

C SET -9999 TO SICNAL- END (IF VIEIN FOR PLOTITCCF S STFP HCF WRITE FILE-2 LAST RECORD (IF SHnr LINE ARRAYS vITH END'r OF VIEW FLAGC

5000 CONTINUENSHT = %ISHT +I

* C

DO 5010 K = 3thPAXTTY

*5010 CONITTNI)FC

1%RITE (InUT2) (S~I~MI1 2,M120Fwr) FILF TOUJT?

C

CCF CO;-'PUTE VlIJLNFPA4iLE AREAS FPniM CnlpflNFJI T PK'.C-F OPTAIT PRESEN'TFO ANI) VIIL'JERAPLE A917A S11KN.ARIE.1

Change 1 A-14

[-. JTCG/AS-79-V-008

CNRTTF (IWRv70()1) PCV

FQV PCV *0.01

DO 9000 Mo 1,NOCOMPIF (IFr,(MO) .NE. 0) THENIF(PRNT(3,MQ) .LE. 0.) THEN

CC SAVE THE NAMES OF ALL COMPnNENTS vHICL4 vEPE NOT KILLFAD

JQQ = Joo +1IPkNK(JOGr) =ICOMAP(Mfl)

ENI) IFcC DETERIMINE T1'4E INTERVAL DUPING .'HICH COMPONENT'SC VJLNEPABLE AREA REACHEr) PCV% OF ITS PPESENTEO AREAc

IF (PAREA(MO) PrT. 0.) THENc

Do 6010 K = lNTImFIF (COMPAV(MQKJ/PAREA(,'O) .GF. FRV) THEN

IF (K .GT. 1) THFNTR TImES(K-1)p FLSE

ENI) TFVIPITE (IJR,7002) ICo-MP(M4lf)pP TJM),jl,)Tl

$ TIPAES(K)GO TO gooo

F Nr) IF6010 CONTINUE

ENDr IF

WRITE (IWJR,70)02) ICOMP(N. 1O), PRNT(JJ,McJ),JJ:1,4)END IF

pi nj) C ON T 7NIE.

c CONVERT COMPflNFNT PK 3 TO VillNFFRALF- APFAS

00h 305 J = loNncomp4 PAPEA(.J) =PARFA(J) * rPTIo

00o 300 K = 1,NJTTPAFCOMPAV(J,K) = CflmF~av(J.,K) * rRTP

300 rONITTIIIE3(19 CoNTNUF

C rnPIVEPT TOTAL TAQGPET UK 'S 01t) SYSTEM PvOS TO VULl'IFb4APLF ARFAS

ni 315 K INTIMF

A- 15 Change 1

JTCG/AS-79-V-008

TV6(K) =TVA(K) *GRIDTVAM(K) TVA(KM SQFSfWDP0.310 J 1 10

PMIjLT(J,K) PMIJLT(JpK) G (RID310) CONT I J.J315 CONTINUE

CCCF .VRITE FTLF-3 FLUX TARLE, TIMF INTERVALS, AND) VULNFRAR[EF AREA!"

* CTF (AVFLAG .ED. 1) THENWRTTF CIWjR,100L4) (TIMFS(K),K:1,NTIME)

ELSEIPTTE (I"JP, 1007) (TIMFS(K) ,K= ,NTIME)

* .FND I FWRITF (IOtIT3) A7,ELTFMAX, (FTIM(I),FXCM!(TJlI,IFMAX) ,RVRSP

NIOCOMP,NTIM4E,(TTmES(I),11I,NTIME)

Dn 3?0 J =1,NflcomPTF (IFG(J) *NF. 0) THEN

VIRITF (JWP,1009) ICOMPCJ),PAREA(J),(cflmPAV(J,K),K=1,NITTM-E)* WRITE C10UT3) ICON PCJ),PAREA(J),(CflMPAV(.j,K),K=1,N!TItE)

ENO IF3?o C.ONTINJF

Fk'D FILF IOUT3

TOTI. ITOTL*CRIDVPT1TF (IWP,7009) TrTL,TTOTLLRITE (IWR,7006) (TVA (K) ,K1,NTIME)WRTTF C1WR, 1008) (TIME5(K) ,K1 ,NTIME)

DO 325 K =1,10SAPEAM = SAPEACK) * GRIDWRTTE (IOLIT4 SAREA(K) ,K, (PMI'LT (KJ) ,J1,NTIME)VIRTTE (IvWR, 1005) IKSAREA(K) ,(PMLJ)LT(KJ) ,.J=,NTIMAF)

*325 CONT T NIJC

* CF vRITE FILE-I SYSTFM AND TOTAL TARGET VIILNERAIHLF ARFAS AT FACH TIME

* . .PITF CTIJTLI) YJ3,(PKNK(NC'.),N.CtN=1,JQCJ)

* c C OPIEPT SQJjARF FFET TO .SMIJAF MFTFRS

On0 360 j = 1,joCrwi* PARfEA(,J) PAREA(J) *SOFSf3m

nrl .150 K ,\I l9CUOMPAV(J,K) CC'MAPAV(JK) *SOESOM%,

390 C!)NTTI\IIE

* Change 1A- 16

JTCG lAS- 79-V-008

IF (AVFLAG FQ(. 1) THFNWRITE rIWR, 1006) (TV4FS(K)PK~lvtiTIMEl)

ELSEWRITE (ILIR,1011) (TTME-SCK),K~lPNTIMF)

END IFC

DO 370 J =1,NnCO'4PTF (TFG(J) NE~J. 0)

s WRTT (IIJRP1005) 1CfMPCJ),PAREA(J),(CoMVPAV(,J,K1,K~t,NITIM.E)370 CONTINUJE

TOTL =TOTL * SGFSn,4WRITE (IWR,7O07) TOTL,ITflTLWRITE (IWR,7008) CTVAM(K) ,K:1,NTTlvE)NJRTTF (IWR,1009) CTTMES(K),K=JNTIME)

CDO 4*00 K =1P10SAPEA(K) SAREAMK * $(OP31

* C

PM[ILT(K,J) PMULT(K,J) * OFS3IM380 C0I T IM .1E

0 WRTT (TOUT's) SAREA(K),K,(PM 'IILT(K,J),J=IPNITIMF)WRITE (IWP,1009) KSAWFA(K), (PMUJLT(K,J),J:IN TIM.,F)

ts00 C 0 ' T I NIJE

NPIRTF (IMR,7011)

DO 330 j1 loNflCO'PTF (CIFG(J) .NF. 0) .AND. (PAREA(,J) .LE. 0.))

W~RITE CTIWRP701?) TCOMP(J)330 CONTTNiIE

WIRTTF (TN~Rp7nl3)

DO 34.0 J =1,NflCnmp

IF ((IFG(J) M~F. ) AND. CPPNT(3,JI) .LE. 0,)) THENASOF PAREA(J)/flFSnYMIRRITF (Tl IR,1010) ICf-'P(.J) ,ASnF,PARFA.1)

FonD IF4 ~ 540 CONTM11!F

CW'PITF (TOIITSL) (TvAc , TVAM( [1,T=t ,PTTI'E)

Fi.SFc

*CF P'Qr'iT FATAL ERROW -ESSAPF, Tin MANY CoPnPNENTSC

w14TTF (IWqP,701'J)EN n I F

A- 17 Change 1

JTCG/AS-79-V-008

CCF EXIT STOPC

S TOf P

4 FORMAT UNTTME=*,15,' STEPS'/IOX,' TIME STEPS ARE:,1lOFlO.3)F FORPMAT (10XW IRVRS=',F5.0)

8 00 FnRNAT (' NIJmBER OF PflTNTS IN FLUX DISTRTBIITION =*P15/*BE(UN TIME*,5XP'END TTMEF',7X,'FLlJX')

RIO0 FORMAT (lxFIO.2,3X,FIO.?,3YrFI0.2)1001 FORMAT (10F8.?)41002 FOR M AT (9(3F6.2,2X))1003 FORMAT (215)100a' POPMAT ('1 PRESENTED AREA AND TRUE COMPONENT VIJLERA8LF AREAS,

I *(SO. FEET) PER TTMF INCREM4ENT'//* TIE INCREMENTS',1X,1OFIO.2/)1005 FORMAT C15,FlO.5,5X, lOFIO.5)1006 FfORMAT ('*I PRESENTED AREA AND TRUE cOMPONIENT VULEPAf.,LE AREAS

S '(S9. METERS) PER TIME TNCRFEMF!T'//' TIME IrNCRFMEjTS',t'x,s 1OF1O.P/)

* 1007 FORWAT (*I PRESENTED AREA AND INCREMENTAL COMPONENT VULEPASLE '

$ 'AREAS (SO. FEET) PER TIME INCRFMENT'//' TIME INCREMENTS',LuXo!t 1UFIO.?/)

l008 F ORNMAT I' PRESENTED AREA AND SYSTEM VIILERABLE AREAS (So. FEET)'PFR TIrME I NCRF,'ENT TI' TIME I NCRE MFNTS 4tX I1OF 10.2/)

* 100q FORMAT ('I PRESENTED AREA AND) SYSTEM VIJLFRARsLE AREAS U90. MEFTERS)',* ' PEP TIME INCREMENT'// TIME TN~CREMENTS*,LX,IOF10.?/)

*1010 FnrIMAT (lx,16,qXp2EI2.5)1011 FORMAT ('I PRESENTED AREA AND INCREMENTAL cOmpOlNENT '/ULERAPLE

.~'AREAS (0 EES PEP TIME TMCREMENT'//' TIME INCREMENTS',LIX,T IOFlO.?/)

7001 FVRMAT('l',L4X,'COMP. NO Y-cnor). 7-COORD. MAX. PK* TIME',5WTIME INTERVAL DIJRTNG WHICH VlJLFRA8LF AREA PEACHES',

$F'.0,'%'/66X,'OF THF PRESENTED AREA'/)~ -700? FORMAT (lXl.FllF.t10EltJ'TO*,F?.I,' SECONDS')

7005 FO.RMAT (' TOTAL TARrFT PRESENTED AREA (SO. FEET) :'FIO.5,It 5X,'(',16,' TOTAL SHOTLINFS)')

7n06 FOriMAT C' TOTAL TAPrFT VIILMERARLr AREA (Sli. FEFT) PER- TTMF INCREM-FNT'//(2ny, lFO.S'))

7007 FNRMAT (' TOiTAL TARGET PPESENTFD) ARFA (SQ. NIETFPS) =',FIO.5,S x,'(',16,' TOTAL. SHOTLINES)'

7AM8 FORMAT ( ' TflTAI TARrFT V~LI-AL AREA (So. METERS) PER% 'TTtAF TNCRpEP'NT'//(R0X,10Fl0.5))

7 01 1 Fi R',A T UI C PI TI(A L C OmpnJFlN T 5 4HO SF PR ERE NT ED AREFA F QLIA LS ZEFRO',

701? FtiP-,AT(1X,T10)7013 FnPV.AT (' CPITIC7AL rC PfltIr4TS NHORF VIJLNFPARLE AREA E0IIALS 7EPF) '

*'ARE: . %, OP(01NE PiT PqESFrITP n AREA (Sri. FET ANDP SP . 'AFTFl) ')701d4 17CPMAT .'ARRAY OI'4ENSTr.IS AR TOO SMAL L... Pp(WAPI HALT~T(fr)

C*CF FI!NISH

CFF1D

Change 1 A- 18

JTCG /AS- 79-V-008

SURROUTINE PENTCc PKC ALLOWS 100 INTERSECTIONS PER SHOT LINEC SH'q TS SET UiP TO SAVE Y,7,1ST TIMEl,...,1OTH TIMEF PKC PER 200 SHOT LINESCCF START PENTCF TITLE fKLOOK: SIJAROUTTNE PENT

Ir CF ENTER PENTC

INTEGER AVFLAGDIMENSION PKCC100) ,PKS(10)COMMON P1C1O,?00),P3C200),TI C200),PKTTMEC10,100),

$ PKVAL-(tO,100) ,NOPNTS(900) ,PLS(100),s LOC(100),ISTN SHT,NENCICOMP(500) ,5HWC12,200),

NOCOMP,COMPAV(500, 10),GRID,TTMES(1O),NTTM-F,IYCSOO)pPMIJLT(l0, 10), I(SOO) ,PAPREA(5010)

COMMON /nNE/ IFG(S5l) ,PRNT(4,500) ,AVFLAGL-OGICAL SNrGSYS,MILSYS,TX;ET

CC THIS suRROUTINF IS ENTERED WITH THE NECESSARY INFO FOR ONEC SHOT LIN'E, ENERGY TS PASSED ALONG THIS SHOIT LINE FOR ALLC TIME DUQATIONS DESIRED, STAPTING WITH THE SHORTEST. A TIME

S C HISTORY IS KEPT SO THAT FOR EAC14 5LUCCE9SVF TIME IT IS NEC-C ESSARY ONLY Tfl PENETRATE THOSE COMPONENTS NOT PPEVIOUSLYC RPEACHE!) BY SHORTFR TIMFS.CC PKTTME(1) IS THE TIME NEEDED TO REACH PK-mIN FOP THISC COMPONENT, STARTING FROM THE PEGINNING OF THE SHOTC L INE .C PKTIME(T) IS THE TIME NEEDFD TO REACH AN INTERMEDIATE PK

* C FOR THIS COMPONENT, STARTING FROM THE 9EGI'JNINGC OF THE SHOT LINE. (I IS IN THE INTERVAL rtpN-11).C PK TI14F(0) IS THE TIM~E NFFOED TO REACH PK-MAX FOR THISC COMPONENT, STARTING FROM THE BEGINNING OF THF SHO TC LINE. (N IS IN THF INTERVAL [2,10l).C PLS TS THE TIF NEEDED TO PFRFORATE THIS9 COmPONEMT,C STARTING FROM' THE HFPINNING OF THF SHOT LINE.C TREG IS THE LnNEq FmUnD OF THE T!NME INTFRVAL (I.F., IT

* C REPRESENTS THE I IME eLREAI)Y USED) 11P)*C frFNI IS THE DUiIAT ION TIME FROtM ARRAY TIMES9 ViHTCH IS

C CURRFNTLY RFING PpOCESSE-D.CPKl TS THE TI'%F AT LuHICH iHE % AXIA1I P(ISSTRLF PK FOR

C ~THIS COmPf)NENT !AILL RF ArHIE ) (NO0TEF Pl.

C M AY NOT RE OnSSTOLE SIN]CE PLS MAY P.E LFSS THANC 0KTI"-F(N) OR PKVAt (N) MAY 4F LESS THANi I. 0) .

*C PK2 I,. rHF MINT'AuMk TTNP NE~nDO TOl rET A oNN-.rpp pwr, FOR THIS COMPnNFNT IN T"F 1%TFPVAL. TArEG Tn TE~nD.C PK3 I.S THE TIME1 NEEDEDf TO GET M.AXIN1IM Pk FOR THIS

*C rOIlPONIFNT IN T'HE ITERVAL T!,FrG TO TEf,10.Poo X 0 .

A-19 Change 1

JTCG/AS-79-V-008

TREG = O.NEND = I

*C

DO 10 11=1,10PKS(II) = 0.

10 CONTINUE*C

CF $ STFP A

CF TIME PENETRATION LOOP, ITERATE FOR EVERY TIME INTFRVALC

11 CONTINUEDO 6000 NTIM=INTIME

TEND = TIMES(NTIM)NBEG = NFND

CCF S STEP RCF ENCOUNTER LOOP, ITERATE FOR EACH REMAINING ENCOUNTERC

1? CONTINUEDO 1000 II=NREGNENC

NEN'D- I IPK = 0.PKC(II) = 0.

SPK = 0.I = LOC(II)L = IY)SNPSYS = (L..NE. 0) .AND. (IU(C) .EQ. 0)MULSYS = (L oNF. 0) .AND. (lUCI) .FJ. 1)

CCF IF INTERVAL ENDS REFOPE MIN PENFTRATION? THEN 1900

CIF (TEND .LT. PKTIME(1,II)) GO TO 1900IF (PLS(II) .GE. PKTIME(t,II)) THEN

IF (PKVAl(NOPNTS(I),I) .E(. 1.0) THENPKI = AMINI(PKTIME(NOPNTS(I),JT),PLS(II))

FLSFPKI = PLS(II)

FN0 IFCCF IF MAX PENETRATION ENDED IN LAST INTERVAL? THEN 1000

CIF (TREG .1-T. PKI) THEN

IX = 1TXSFT = .FALSE.

20 CONTINIJEIF ((Iy .LT. NOPN JS(T) .AND.

(PKTIME(TX,II) .LT. TEND)) IHENIx z IX + I

ELSEIXSET ,TPI!F.

END IF

Change 1 A-20

JTCG/AS-79-V-008

IF (.NOT. IXSET) GO TO 20PK2 : PKTIME(IX-1,II)PK3 = AMINI(TENrPKI)

CCF COMPUTE PK FOR THIS ENCOUNTERC

IF ((PK3 .LE. PKTIME(NnPNTS(I),II)) .AND.$ (PK2 .NE. PKTIME(TX,II))) THEN

PK = (PK3 - PK2) / (PKTIME(IXII) - PK2) *(PKVAL(IXT) - PKVAL.(IX-I,T)) + PKVL(IX-1,I)

ELSE

END IFCC PK IS NOW THE COMPONENT PK FOR THIS ENCOUNTER ONLYCC SPK IS NOW THE SYSTEM PK FOR THIS ENCOUNTER ONLYc

SPK - PKIF (AVFLAG .EO. 0) PK" PK * (1.0 - PMX)PKC(II) = PKIF (II .NE. 1) THEN

* CC CF $ STEP CCF COMPUTE COMPONENT PK FOR ALL PREVIOUS ENCOUNTERSCCC IF THIS COMPONENT WAS HIT BEFORE ON THIS SHOT LINE,ADJUJSTC CtJRPENT HIT PK ASSUMING EVENT INDEPENDENCECC (PK FOP THIS ENCOUNTER MUST BE CONDITIONED RY PROB OFC SURVIVAL FOR ALL PREVIOUS ENrOUNTERS.)C

nO 172 LM = 11-II,-ICC FIND LATEST ENCOiINTEP OF THIS COMPONENT PRIOR TOC THE CIJRRFNT ENCOI)NTFRCC PKC(N) IS THE TnTAL PK FOR THIS COMPONENT (nN THIS SHOTLINE)C 11P TO (AND PJCLJfING;) FNCOUJNTER NO. NC

TF (LOr(L-M) .Eo. I) THFNPK = PK * (1.') - PKC(LM))PKC(IT) = PKC(LA) + PK60 TO 175

EN) TF172 CnTINUE

FND TFC

175 CONT I NUEC

A-21 Change I

.. .... .

JTCG/AS-79-V-008

C PKS(N) IS THE TOTAL PK FOP SYSTEM NO. N (INCLUPING* C SINGLY-V'ILNERARLF COMPONENTS ONLY). .

CC SPK ~~~MUST RE ADJUSTED TO REFLECT A4Y PEIU NONE

*C OF THIS SYSTEM (IN THIS SHOT LINECCF ACCUMULATE SYSTEM PK FOR SINGLY VULNERABLE SYSTEMS ONLYC

IF (SNGSY9) .SSPKPK (1.0 - PKSL)IF (PKC(II) .GT. PRN(3,1)) THEN

* CC STORF M'AX COMPONENT PK, LOCATION, AND TIME It! PPNTC

PRNT(1,I) =SH-t(IrIST)PRNT(2tI) = SHW(2,IST)PRNT(3rI) =PKCCII)PRIT(L4pI) =PK3

ELSE IF ((PKC(IT) FEO. PRNT(3,I)) .AND.4(PRNT(4.1) GT. PK3)) THEN

PRNT(LJI) =P1<3END IF

C COMPAV HOLDS CUMULATIVE PK FOR EACH COMPONENT -- LATERC W'ILL. BE MULTIPLIED RY THE GRID AREA TO GIVF VIJLNERAHLE

*C AREACCF STFP DCF IF ENCOUNTFR ENDS IN LATER INTEPVAL? THEN 1900C

IF (TEND .LT. P1<1) GO TO 1900* C*CF COMPONENT HAS BEEN COMPLETELY PpOCESSED,

CF RECORD PK'S AND GO TO NEXT COMPONENTC

9 IF (SNCSYS) PKS(L = P1<5(L + SPKTREG =PK3

cnn 500 NTI NTTMPNTIMF

CPMIILT ACCUMULATES PKOS FOR SINGLY VLILNFR~AIALF M-FYHFPS

*C OF SYSTEMS ONLY* C

TF (SNnSYS) PMI'LT(LIN1TT) =PflILT(L, 'TT) + SPKCOMPAV(I,NTI) =COMPAV(J,NTJ) + P

*500 CONTINUEC

* C TO(M TS A mULTTPLY'-%/lILrts RARLF C(mprIF!\T (IF SYSTEMl TY(I)* C NnIF - IILTVIJL. CC'MP. APE NOT AnOOED To TOTAJl;SHnTLINF COUNJT

* C

ChangelI A- 22

JTCG/AS-79-V-008

IF ((.NJOT. MIJLSY-S) .AND. (AVFLAG .EO. 1)) THEP4PMX =PNIX + PK * (1.0 - PMX)

ELSE IF ((.NOT. MIJLSYS) .ANID. (AVFLAG .FQ. 0)) THENPMY =PfIX + PK

END IFEND IF

END IFCCF S STEP ECF IF ANOTHER ENICOUNTER ON THE SHOT LINE? TH~fn 12C

1000 CONTINiUECCF ALL COMPONENTS HAVE 8FEN PENETRATEDC PMX STAYS THE SAME Frnk ALL REMAINING DURATTONS.C

DO 1500 NTTI NTPIAPNTIME-SHMCNTI*2pTST) PMX

1900 CONTINUECCF EXIT RETURNC

RETURNC'~ CF $STEP FCF TIME DUPATION IS COMPLETELY USED UP,CF *RECORD PK'S AND GO TO NEXT TI-MIE IN~TERVALC

iqoo CONTINUEIF (.NOT. MULSYS) THFN

IF (AVFLAG .EQ. 1) THENSHWJ(RTTM+2,IST) PAX + PK (1.0 - PMX)

ELSESHWJ(NTIM+2rIST) =PMX + PK

END IFFLSE

SV*JcNrIM+2pIST) =PN1XFPNr) IFIF (SNGSYS) PrqJLT(LpNTI-M) =Pl%'.LT(L,NrIr-) +SPI(

*COMPAVCI,N1TIN) =CON4vPAV(I,NrIm) + PK

CF [F ANOTHEP TIME ImiTFRVAL? THFKI 11

hnoO CON1 TNtIE

OFT U R N

CF rXTT RFTtiRt!9CF FTliTSH

A-23 Change 1

JTCG/AS-79-V-008

C PROGRAM PRERD~CCF START PRERDCF TITLE QKLonK: PROGRAM PREF(DCF ENTER PRER)CC THIS PROGRAM READS THE O~KLOOK INPUT DECK, CHECKS FOR POSSIBLF

*C FPRORS, AND PRINTS COMPONENT SUMMARIES.C

INTEGER PKNBRCOMMON ICOMP(500) ,MAT (500), IFG(500),T TAB(500) p ANIA(500),

TINIT(S;0) ,NOPNTS(500) ,DFPTH(1O,50o) ,PKVAL(10,500),$ RHOF(500) ,ItU(500) ,IY(5oo)

COMMON THINFL(500),NOCOMPCOMMON /LUNITS/ IRD,IWR

*COMMON /5IZES/ ITC,IFXDIMENSTON 1E(3L4)DATA IBLNKPTCHKPIASTER 1 ,1H(,'*'/nATA IRD,IWR /5,6/DATA ITC,IFXoPKNBP /500,25,10/

COPEN (IRD,FILE=*QKPKDATA * PECFM=PDS' .MAXRECL=80,PAD='YESO)OPEN (IToR,FILE=:PPFRDnLJTe,RECFM=:DS"',CARRIAGF COINTPOIt.=OFORTRAN,)

CC ITC IS THE DIMENSION OF THE COMPONENT ARRAYSC IFY IS THE DIMENSION OF THE FLUX ARRAYSCCF S STFP ACF FXECUTF READIN RFADS THE INPUT DECK AND TESTS FOR ARPAY ROUiNDSCF *VIOLATIONS

CCALL READIN

CCF EXECUTE FSOQT $OPTS THE COMPONENT INFOPMATION ARkAYS INTO

* CF *ASCENDING ORDER RY COMPONENT NUmFaERC

CALL FSORT ( IcofP,i~inCOmPo,MAT, TFC,, TTAF4 I ANA, TINITNnPhITS,DEPTH ,S PKVAL, TTC,PKMHP, THINFLIRHOF, IY, III)

WRTTF (IWPP100)WIE(I~kp101)

C* CF $STFP 9

CF TFST PriR DIJPLTCArF rnMPriNFNT To rIUMPFRSC

on 1lu J 2,,NOcOMpiIF (TCnmP(J) rFo. ICnOMP(J-1)) THEN

TCn;AP(J) =-TARS(TCI)kMP(j))*ICOvP(J-1) -TAHS(ICOMPU.-1))

ENrD TF110 CONTINUE

Change 1A- 24

JTCG/AS-79-V-008

CCF $ STEP CCF ITERATE FOP EVERY COMPONENTC

DO 199 J = iNOCOMPDO 120 I = 1,34

TE(I) IBLNK120 CONTINUE

CCF TEST FOP COMPONENT NUMRERS LESS THAN I OR GREATER TH4N 99QqC

IF (ICnMP(J) .LE. 0) IE(I) ICHKTCnMP(J) = IABS(ICOMP(J))IF (TCOMP(J) .ST. q99q) IE(1) =ICHK

CCF TEST FOR CRITICALITY FLAG NOT EQUAL TO 0 1 2 OR 3C

IF ((IFG(J) .LT. 0) .OP. (IFG(J) .GT. 3)) IE(2) ICHKC

CF TEST TARLE LOOK-UP CODE AND MATERIAL CODEC

tF ((ITAB(J) .EQ. 0) .AND. ((MAT(J) .LT. 1) .OR.$ (MAT(J) .GT. 11))) IF(3) = ICHK

IF ((MAT(J) ,EQ. 0) .AND. ((ITAIl(J) ,LT. 1) ,OR.(ITAR(J) .GT. 9))) IE(=) ICHK

IF ((ITAO(J) .NE. 0) .AND. (MAT(J) .NE. 0)) THFNIE(3) ICHKIEna) ICHK

END IFCCF TFST FOR ANALYSIS CODE NOT EQUAL TO 0 1 OR 2C

IF ((IAMA(J) .LT. 0) ,OR. (IANA(J) .GT. 2)) IE(9) ICHKCCF TEST FOR NEGATIVE OR ZERO INITIAL OPERATING TEMPEPATUREC

IF (TINIT(J) ,LE. 0.) IE(6) = ICHKCCF TFST INFLUENCE MODE THICKNESS AND DFNSTITY FACTORC

IF (TH1NFL(J) .LT. 0.) IF(Q) = ICHKIF ((RHnF(J) .LT. 0.) .OR. (RHnF(J). (;T. 1.)) IF(In) ICHKIF (((THTNFL(J) .rT. 0.) .AN . (RMOF(J) .GT. 0.) .()P.

s ((THTNFL.(J) .LE. 0.) *ANn. (RH)F(J) ,LE. 0.))) THENIE(9) TCHKTECIO) IChK

FJf TF

* F TFST SYSTEv NIR:RER AND mULITIPLY VIILNERARLEi FLAG

IF ((IY(J) .LT. 0) Ok . (TY(J) .QT. 10)) TF(If) ICHK

A-25 Change 1

JTCG/AS-79-V-008

IF MUMJ(J. LT. 0) .OP. (IU(J) .GT. 1)) IEC12) ICHKIF ((IYCJ) .EQ. 0) *ANVP* (IIJ(J) .NE. 0)) THEN

TE(11) =ICHKIE(12) =ICHK

* END IFCCF TEST DEPTH OF PENETRATION AND ASSOCIATE PROBABILITIES O'F KILL

* CIF ((NOPNTS(J) .LT. 2) .AND. ('INOPNTS(J) .GT. 10)) 1EC13) ICHKIF (DEPTH(1,J) .LT. 0.0) TECUS) = ICHKIF ((PKVAL(1,J) .LT. 0.0) .OP. (PKVALC1,J) .GT. 1.0))

s IE(15) = ICH'(

IX =2165 CnNTINLIE

IF ((DEPTH(IXJ) .LT. 0) OfP. (DEPTH(IXPJ) ALT. DEPTHCIX-1,J)))S IE(12+2*IX) =ICHK

IF ((PKVAL(1,J) .LT. 0.0) .OR. CPKVAL(IJ) .GT. 1.0) *OR.s (PKVAL(IX,J) .LT. PKVAL-(IX-1,J))) IE(13+2*Ix) =ICHK

IX = IX + I.IF ((TX .LE. 10) .AND. (IX .LE. NOPNTS(J))) G0 TO 165

* C* CF $ STEP D

CF PLACE AN ASTERISK IN FRONT OF LINES WITH ERRORSC

DO 170 I 1,33IF (TECI) NFE. IgLNKI THEN

IE(3L1) TASTERGO TO 180

FNr) IF170 CONTINUE

CCF PRINT COMPONENT INFORMATION WITH ERRORS FLAGGEI)

* C18~0 WRITE (IW~, 190, IOSTAT=inS) IE(13) ,ICOMP(J) ,IEC ) ,IFGCJ) ,IEC2),

THINEL(jI),IE(9),RHnF(j1),IE(10)),YJFh)IIJE1)s NOPftTS(J),IE(13),J, CDEPTH(K,.J),IE(12+?*K) .PKVIAL(K,TY),

TE(13+?*K)PK = jNOPNTS(J))

CF TF ALL COMPONENTS TFSTED? THEN * LSE 124)* C

1Q9 cONTINUE* C

UF S TFP FCF1 PRTNT CRITICAL rWMPONrJT SUMMARY

'-jRTTF (Ii'l,200)A;PITF (JwP,10)

nf 210 T 1, 34* TE(I) TtHLNIK

Change I A- 26

JTCG/AS-79-V-008

210 CONTTNIIJE

D) 23 5 1 1#3NTYPF 000 220 J = ,NOCOMP

IF (IFrf(J) .EQ. 1) THENNTYPE = RJTYPE + I

% IF(2),MATCJ),IE(3),ITAR(J),IE(Li),IANA(J),IE(9) ,TINTT(J),s IE(6),THTNFL(J),IE(q),PHOF(J),IE(10), IY(J),IFCI 1),TII(J),

$ IEC12),NOPNTS(J),IE(l3),, #(DFPTH(K,jI),IE(12+?*K),$ PKVAL(KP.j),IE(13+2*K),K 1,NOPNTS(J))I END IF

* -220) CONT INIIF

LMRITF (IWR,230) NTYPE,I235 CONTTN(JE

CCF PPINT COMPONEN~T LISTING BY MATERIAL TYPEC

WRTTF (IWR#300)'W1PITE (TWRPtOI)

DO 330 1 =1lolNTYPE =0Do 310 J =1PNDCOMP

IF (MAT(J EFQ. T) THENNTYPF = MTYPE + 1WRTTE (1IJR# 190. ISTAT=IOS) IEC 13), ICOMP(J) ,TEC 1), FG(J),

IF(2),MAT(,J),IF(3),ITAR(J),IECLL),IANA(J) ,TEC5) ,TINIT(J),

$ P'VAL(K,J),TE(13+2*K),K 1,NOPNiTS(J))END IF

310 CONTINIJEC

W~R~TF (IWRP320) NTYPE,I

330 CONTTIIuEI

CF PPINT COMPONIENT LISTINr, BY TABLE LOOK-IIP INDEXC

14PTTE (IWR,L400)* WRITE (IWR,101)

CDo 430 1 1,

NITYPE 0no 4io j = 1,tpjfComp

IF (ITAP(J) .En. 1) THFtJqMTYOF =NTYPE + I

WRTTF C ',"190. tOSTAT=IOS;) TEC 13), T~rn'P(J) IE (1 , lFr;(J) ,6 TFe.2),MATCT),IE(3),TTAA~(jI),IE(4) , IAfjAfj),TF('.) ,TIP'IT(J),

A-27 Change 1

JTCG /AS-79-V-008

* s T1'(6),THTNFL(J),IE(9) ,RHOFCJ) ,EEC1O),IY(J) ,IF(1 1),T!U(J),$ IE(12)rNOPNTS(J)PIECI3),J, CDEPTHCK,J),IE(12+2*K),$ PKVAL(K,J.1,IF(13+2*K),K 1,NOPNTSCJ))

END TF* '10 CONTINIIE

CWRITE (IWRL120) NTYPE,I

- L43() CONTINU.EC

*CF PRINT COMPONENT LISTING BY ANALYSIS TYPE*C

WRITE (IWRP500)WRITE (IWR,101)

CDO 530 I = 0,2

NTYPF = 0DO 910 J = ,NOCOMP

IF (IANA(J .EQ. I) THENNTYPF = NTYPE + 1WRITE (IWRv190vI0STAT=I0S) IE(13) ,ICOMP(J) ,IE~l) ,IFc(J),

s IE(2),MAT(,T),IF(3),-ITAP(J),IFU4),IANA(J),IFC5) ,TINIT(J),*s IF(6),THIrJFL(J),IE(9),RHOF(J),IE(lO),IY(J),IE(1II)I(~

TE(12),NOPNTS(J), IE(13),J, (DEPTH(K,J),IE(12+?*K),PKVAL(K,J),IE(13+2*K)FK =1,NOPr\ITS(J))

END IF 9*51(0 CONT INUE* C-

WPTTF (IWR,520) NTYPFI530 CONTINI"IE

* CCF PPINT COM1PONENT LISTING B3Y SYSTFM NUMBERC

WIRTTE (IWR#600)WRITE (IWRPIOI)

* Cn)0630 1 0,10

NTYPE 0DO 610 J = IPNOCOMP

IF (IY(J) .EO. I) THENNTYPF NTYPE + 1

* TFr?),MAAT(J),IF(3)PTTAH(J) ,IE(I) ,IANiACJ),IE(5),TTNIT(J),I .5 IE(6),THTNFL(J),IE(9),PHOF(,J),TE-(10),IY(J).1E(1 1),IHI(J),

$ Ti (1p),NnPNITS(.J),tIA13),J, (DEPTH(K.,J),II.(12+2*K<),

F NI) I FIC 10 C ON TT ftJE

C

4*Change 1 A- 28

JTCG/AS-79-V-008

CF EXIT ATOPC

STOPC

100 FORMAT (#! THE FOLLOW!ING DATA HAS BEEN READ AND CHECKED FOR %$ 'ERRORS.*/* AN ASTERISK IN THE LEFTMOST COLUMN INDICATES A',S " POSSIBLE ERROR IN THAT LINE.'/' THE CHARACTER ",IH<,s * IS USEI) TO POINT TO THF POSSIBLY ERRONEOUS ITEM.')

101 FORMAT U//I ICOMP IFG MAT ITAR IANA TINIT',

5xSTHINFL RHOF IY IUl NOPNTS',3 4X,'CARO/4 9X,'nEPTH(1) PKVAL(1) DEPTH(2) PKVAL(2) DFPTH(3)*,5 2XP*KVAL(3) DEPTH(4) PKVAI-(4) DEPTH(S) PKVAL(5)*/1) 9x,ODEPTH(h) PKVAL(6) DEPTH(7) PKVAL(7) OEPTH(S)"7 2 (,'PKVAL(8) DEPTH(9) PKVAL(q) OEPTH(10) PKVAL(1O)*/)

190 FORMAT (IYAI,T5,AIT6,AI,3(I0,Al),FIl.2,AI,2(Fq.2,AI),1 17,AI,l9,AI,IIO,AI,Iq,2(/FI6.2,Al,q(F9.2,AI)))

200 FORMAT ('1 CRITICAL COMPONENT SUMMARYO)230 FORMAT (p THERE ARE ",I'," CRITICAL COMPONENTS HAVING CRITICALI',

$ 'TY FLAG ,13/)300 FORMAT ('I COMPONENT LISTING RY MATERIAL TYPE*)320 FORMAT (/W THERE ARE ',ra," COMPOMENTS OF MATERIAL TYPE ",13/)400 FORMAT ('I COMPONENT LISTING RY TARLE-LOOKIJP INDEX')42O FOPAT (/ THERE ARE ",14,* COr4PnNFNTS HAVING TAPI.E INDEX ",13/)500 FORMAT ('I COMPONENT LISTING RY ANALYSIS TYPE*)520 FORMAT (/ THERE ARE 1,lS," CONPNNFNTS OF ANALYSIS TYPE ',T3/)h00 FORMAT (01 COMPONENT LISTTN(G 1Y SYSTEM NIiER')620 FORMAT (W THERE ARE ',I4," CnmPONENTS IN SYSTEM NUMRER ',13/)

CF FINISH*C

ENO

I

A-29 Change 1

JTCG/AS-79-V-008

SUB~ROUTINE PROPY* C* CF START PROPY

CF TITLE rUKLOOK: SUBROUTINE PROPY* CF ENTER PROPY

CCOMMON ICOMPC00),MAT(5O0),IFG(50O) ,ITAA(500),IANIACSOO),

* TINIT(SO0) ,IOPNTS(900),DFPTHI(1O,500) ,PKVAL(10,500),f*s PHOF (500), IRVRS, TU(500) ,IY (500))

COMMON THTNFL(500) ,SH(2, 170) ,JH(5 170) ,CINCHCOMMON /ONF/ NOCOMP,FLXPIFLA(,PEAKFNCRITCOMMON /PRnp/ ALP,RHnSVALPTMLT, XLAMRURATE,JCOMP,M1,DPMCVAL,

* S TVAP,CPLPITERTDIMENSION CONIDIIC(1l,2, lO),SPECIF(11,2, 10),DENSITC11) ,TMELT(11 .2),

s HEATFU(1 1),ALPHA(11 *16) ,ALPHAT(11,9)*C

C***** ..... MATERIALS PROPERTY DATA.....*****CC ALL MATERIALS PROPFRTY DATA TS VERY IN~ITIAL.C BRF MATERIALS-COIIPLING COEFFFICTENT IS CONSIDERFD TO BE A CONSTANT.C COATEP/PAINTED MATFRTALS-cniJPLINGo COEFFICIENT IS A FUNCTION OF INCIDENTC FLuXY ANDO MATERIALS THICKNESS.

* C C011PLING COEFFICIENT UATA IS FOR NORMAL ANGLE (IF INCIhENCE.C ALPHA is CnUPLTN9 COFFFICIFNT AS A FUNCTION OF INCIDENT FLUX. ALPHATC IS THE CORRECTION FACTOR FOR MATERIAL THICKtNESS.CC-C 2024 AL PAINTED SUIRFACEC

DATA CONDUC I, I, I) /6./DATA (CONIDIIC(I, 13) ,J=2,10)/76.,166.,279.,339.,429.,t4S8.,I*0./DATA (CONnu;IC(l2,j)J=2,10)/132.,1%;.,1RS.,1P9.,175., 160.,3*0./DATA SPECTF(1 .1,1)/7./DATA (SPFCIF(1 ,J),J=2,l0)/ ?0.,93.,?05.,316.,L40o.,a27.,a50.,2*O./DATA (SPECIF(1,2,J),J=21O)/849*,q07.,q66., 1025..1091., 1129., 1151J.,

s 2*0.,C

* C ALPHA AND ALPHAT kEPRESFNT CURVF FITS TO INITIAL- AFL4L DATA*C

DATA AL-PHAC1,1)/.86/DATA ( ALPHA I, J) v J =2 16)/.72,p .6 0, .4Jb, . 0.35, . 32, .29, .27 ,

.244,.22 , .158 r .16 r.Is, o .I 2, . oc?/4 ATA ALPHAT(1,1)/1.13/

DATA ( ALPHA T(I , J),J=?o,0)/1 .07,.1, .8 4, .75, .hF S4 , I.3p 3/D)ATA I)FNSTTC1)/277O./DATA TLT1.),: 2/0.2o/DATA HFATF(1)/3R911?./

* CC 7075 AL PATNTFD SURFACF

nATA CnNIJ)C(2,1,1)/7./

Change 1 A- 30

j -

JTCG /AS-79-V-008

DATA (CONDUC(2,lJ),J:?, tQ)I3.,1O7.,?O7.,2f,0.,336.,401.,42A.,2*0./DATA CCONnUC(2,2,J),J=2,l0)/122.,I41.,177., 179.,177.,170.,1b7.,

1S 2*0./DATA SPFCIF(2,lI)/h./DATA (SPECIF(2, l,J),J=2, 10)/0., 100.,200.,300.,400.,450.,3*0./DATA (SPECTF(2,2,J) ,J=?, 1)/$20.,903.,9b6., 1038., 1129., 1197.,3*0./DATA DENSIT(2)/2800./DATA HEATFIJ(2)/380744./DATA (TMFLT(2,J) ,J=1,2)/1176.,0./

cC NO DATA ALPHA AND ALPHAT ASSUJMED SAME AS PAINTED 2024 AL

DATA ALPHA(2p1)/.86/DATA (ALPHA(2,J) ,J:2, 16)/.72, .60, .46, .40, .35,.3?, .29, .27,

$ .?44P,22C4,.158,.136o.15.02,0DATA ALPHAT(2,1)/1.13/DATA (ALPHAT(2,J),J=2,Q))/1.07,.91,.8I, .79,.th8,.54,.38, .03/

C 5US6 (Atcrb) AL PAINTED) SUR'FACE

DATA cnNDUC(3,1,1)/7./DATA (CO'D'$C(3,,J),1=2,10)/0,,50.,100., 150.,200.,250.,300.,2* 0./DATA CCOINDIIC(3,2,J),J:?,1O)/109.,120.,128., 131.,132., 139.,136.,

DAASPECIF(3,1#1)/3./DATA (SPECTF'(3, 1,J),Jz=2,10)/100.,300.,650.,b*0./DATA (SPE-cIF(3,2,J),J=?,1U))/020.,1046., 1?55.,h*0./DATA DFNSTT(3)/3000,/DATA HEATFO(3)/389112./DATA (TMELT(3,J) ,J=1,2) /571., 1000./

CC NO DATA ALPHA AND ALPHAT ASSUMED) SAME AS PAINTED 2024 ALC

DATA ALPHA(3,I)/.86/DATA (ALPHA(3,J),J=?,16)/.7?,.A0,.46,.LIO,.15,.32, .29,.27,

DATA ALPHAT(3,t)/1.13/DATA (ALPHAT(3,J) ,.1=2,q)/1 .07, .91, .84, .75, .68, .54,.3M, .03/

C hALtiV TI PAINTED SURFACE

DATA cojnD(icC4,j1t)/7./D DA TA ( CONDLJUC I , 1J),I=10)114 Q., 6 0 .,3 71 4 i1-

?*0./DATA (CONflIC(L,J) J2r 0)/q.9v11g, Ill., 15.1 ,tb.3,17.3, lQ.h,e*0.1DATA SPECIPC4, 1,tl)/h./DATA(SC1(,1)J:,O)Q.20.36,?.~,.b9,*/nATA SE!(,J)J21/5'.54,l.h0b6

C AL-P'-A AN~D ALPI4AT PEPRFSENT C1JWVF FTTS Tn INITIAL AF.qt. D)ATAC

A-31I Change I

JTCG/AS-79-V.-008

DATA ALPHA(4,l)/.86/DATA (ALPHA(4,J),J?,*16)/.66,.51,.42,.35,.32, .29, .28,.26,.25,.?4,S ..23#.23,.23v.?3r.23/

DATA ALPHAT(14#1)/1.59/DATA (ALPHAT(4.T),J29)/1.04.98,.98,.96,.96,.91,.87, .83/DATA (TMELT(L4,J) ,J=1#2)/l'i65.,2277./DATA DFNSTT(4)/44L3O./DATA HEATFIJ(')/426870./

CC PURE TI PAINTED SURFACEC

UDATA CONDUC(5,1,1)/9./- -DATA (COND'C(5,1,J),j=2,1O)/ 27., 1?7.,227.,427.,627.,827.,1227.,

$ 1927.,1627./DATA (CON)IIC(5,2,J) ,J=2, l0)/21.9,20.4, 19.7,19.4,20.2,21.3,24.5,S 27.1,28.0/

DATA SPECIF(q,l,t)/7./DATA (SPECIF(5,1,J),J1=2,l0)/27.,127.,327.,b?7.,827.,927., 1127.,

s 2*0.1DATA (SPECIF(5,2,J) ,J:?, 10)/422.,570. ,677., 728.,7Li3.,h95.,695.,$ 2*0.1

DATA (TMELT(5,J) ,J:1,?)/1660.,0./DATA iEATFU(S)/435136./DATA DENSIT(5)/4LSO(J./

C NO DATA ALPHA AND ALPHAT ASSUMED SAME AS PAINTED 6ALLIV TI

DATA ALPHA(5p1)/.86/DATA (ALPHA (5,j) j=2, 16)I.66, .SI,.42,.35, .32, .2,.28, .26, .25, .24,

DATA ALPHAT(,)1./

DATA (CONDUC(6,,J),J:=?, )/10,9,8*./g.6.~,.1.7

DATA CniF(r6,1,1)/8./

DATA (SPECTF(6,1,J),jz=2, l0)/1'52.,227.,327.,427.,5pn.,921.,6?7.,* $ 727.,0./

DATA (SPFCIF(6,2,J),J=2,l0)/1063.,1075.,1205.,1031.,13 80., 1309.,

DATA HFATFII(6)/3?6352./KDATA DFNSlT(6)/1R3n./

nATA (TMFl.T(6,f) ,j1j,2)/'i2n.,o./CC NO I)ATA ALPH4A AND ALPHAT ASSII)AEI) SIMILAR TO PAJTJTED 20)24 ALc

DATA ALPHA(6,l)/.86/DATA (ALPH4A(Afj),J2, 6)/.72,.60,.46h,.40, .35, .32, .4, .27,

Change IA- 32

r ''~

JTCG/AS-79-V-008

DATA ALPHAT(6,1)/1.13/DATA (ALPHAT(6,J),J=2,9)/1.07,.91, .84,.75,.68, .5., .34, .03/

CC MLS (AZSIA,AZAO) MAG ALLOY PAINTED SURFACEC

DATA CONDIIC(7o1,1)/3./DATA (cnNDIJC(7, 1,J),J=2, 10)/0., 100.,203.,6*0./D A AT A (C ONDI IC (7o2, J) ,J=2, 10)64. q, 73 .6, 80 .8, 6 0./DATA DENSIT(7)/1800./DATA HFATFU(7)/338q04./DATA (TMFLTC7pJ) ,J=1,2)/190.p0./DATA SPECIF (7. 1,1)/7.1DATA (SPECTFC7,1,J),J=2, l0)/127.,227.,327.,427.,507.,627.,727.,

s 2*0./DATA (SPECIF(7,2,J),J=?,1O)/lO0il.,1121.,11b7.,1205., 1222.,1L126.,

$ 1426.,2*0.ICC NO DATA ALPHA AND ALPHAT ASSI.MED STMTLAR TO PAINTED 20241 ALC

DATA ALPHA(7p1)/.86/DATA (ALPHA(7,J) ,J:?, 6)/.72, .60, ./16,.40, .35, .32, .29, .27,

$ .244, .224, * 18,.*136, .1 1, .1072,. 10/DATA ALPHAT(7,1)/1.13/DATA (ALPHAT(7,J) ,J=2,9)/1 .07, .91, .84, .75, .b8, .54, .38, .03/

* C* C A731R MAG ALLOY PAINTED SURFACE

CDATA crlNDI'C(9,1,1)/3./DATA (CO"DIJC(8, 1,J),J=2,10)/127..p!3/.,332.,6*0./DATA (CONDUC(8,2,J),J=2,10)/q4l.,101*, 107.,6*0./DATA (TI'ELT(A,J) ,J:1,2)/605., 1107.1DATA DENSIT(8)/1770./DATA HFATFtI(R)/338904./I)ATA SPECIF(A,lvl)/9.IDATA (SPECIF(8p, J) ,J=2, O)/152.,227.,327. ,527.,555.,55h. ,627.,s 727.,0./DATA (SPFCIF(8,2,J),J=2,10)/1107.,1b7.,1217.,1140., 1LI/3.,1373.,$ 1401.PI148.,0./

* CC N'O DATA ALPHA AND ALPHAT ASSuMED SIMILAR In PAINTFD 202.1 Al,C

* DATA ALPHA(8pl)/.86/DATA(AP(8) J?1)/7,.0.4,.0 3,3? 2,?7

DATA ALPHAT(8,1)/1.13/

C F1435 (P'ONIC 75) MICKEL-CHROMIUM- ALLOY PAINTFD SlJRFACFC

DATA co'~DlJc9,1,1)/7./

A- 33 Change 1

JTCG/AS-79-V-008

DATA (COND1JC(9,1,J),.J=2, 1)/100.,200.,1400.,600.,800., 1027.,1392.,T. 2*0.,DATA (cONDLJCCQ,2,J),J=2, 10)/13.9,15.7, lq.1,22.6,26.0,?Q.3,35.R,

2*0.1DATA HEATFU(9)/322168./DATA DENSIT(9)/91400./DATA (TMELT(QJ) ,J1,2)/1aOO.,0./DATA SPECTF(9,1,1)/6./DATA (SPECIF(9, 1,J),J=2, 10)/100.,300.,500.,600.,7'50.,900.,3*0./DATA (SPECIFC9,2,J),,J=:2, 10)/'6.,502.,ci12.,A23.,606.,619.,3*o./

C NO DATA ALPHA AND ALPHAT ASS(uMED SAME AS PAINTED 3014 STAINLESS STEELC

DATA ALPHA(q,l)/.86/DATA (ALPHA(9,J),,j=2, 16)/.59, .43, .314,.30, .26,.??,.*19,. 18, *171. 16,

DATA ALPHATC9,1)/1.91/DATA (ALPHAT(9,J) ,j=2,q)/1 .014,.R, .96, .96, .96, .9b,.96, .96/

C 3014 C1KHI8N9T) STAINLESS STEEL PAINTFD SUJRFACE

DATA DENSIT(10)/79q0./DATA HEATF1I(10)/2970614./D)A TA (TmiELTC I0,J) ,J=l,2)/11I00.,0./DATA CONDIICC1O, 1,1)/7./DATA (COfJODUC(10,1,J),J=2,10)/200.,300.,1400.,500.,650.,1027., 1392.,

1 2*0.1DATA (CONDLIC(10,2,J) ,T12, 10)/VP., 19,20.,21.3,25.,?9.5,34.7,2*0./D A TA SPECIF (10,1,1)/9./DATA (SPFCIF(10, 1,j) ,J2, 10)/?>00.,1400.,bOO.,800., 1093.,14*o./DATA (SPECIF(10,2,J) ,J=2,10)/519.,553.,573.,598.,669.,LI*0./

* CC ALPHA AND ALPHAT REPRESENT CURVE FITS TO INITIAL. AFWL DATA

* CDA TA ALPHA(10,1)/.86/DATA (ALPHA(IOJ),.J2,16)/.5,.43,.34,.30,.26,.22,.1Q, .1R,.l7,.16,

DATA ALPHAT(10, 1)/1.Ql/DATA (ALPiIAT C10,J) ,J=2,9)/1 g~ .qR, .96,.96, .96,.96, .96,.96/

*C*C CU RARE SUJRFACEI

*DATA cnNnlIC(l1,1,1)/9./DATA (C 0N 1) 1II, I J),J 2 10pq ., 23 2. ,11 1. ,19 . 119 9 . isO.D)A TA (CON 1I1J C(11 ,2 J) ,J P , 10)/4 03 . 39 4 .,3 8F4. ,3 P7 .,3 Ah ,*0 .DATA PFC7F(1 1,,)/9.1DATA (SPECTF(11t,,T),J=?,10)/93.,20a.,3l6.,i?7.,53R., 7h0.,A71.,S 982.,1065./

* fl~ATA(SPECIF(11,2,J),J=2, lo)/397.,402.,4114.,LJ?3.,L440.,L473.,UQIq.,513.,4.

DATA DFENSIT(11)/8960./

*Change I A- 34

JTCG/AS-79-V-008

DATA (TMELT(11,J),J=1,2)/103.,2595./

DATA HEATFtI(CI)/11710./c

C ALPHA IS A GUESSC

DATA (ALPHA(C1pJ),J=1,16)/.4,15*0./CC

MATL = MAT(N)c

C IF ITER .NE.0, FIRST ITERATION OF TEMPERATURE HAS BEEN DONE,C ONLY NEED TO RE-FVALUATE THOSE PPOPERTIES WHICHC ARE TEMPERATURE DEPENDENTCCF $ STEP ACF IF ENCOUNTER PROPERTIES ALREADY COMPUTED? THEN 900C

IF (ITER .EQ. 0) THENC

CF GET VAPOR TEMPERATURE, MELTING TFMPERATURE, AND HEAT OF FIUSIONCF * FOR THE MATERIAL TYPEC

T = TINIT(N)TVAP = TMELT(MATL,2)TMLT = TMELT(MATL,I)XLAMPD = HEATFU(NMATL)

CC COATED OR RAPE MATERIALS - GO TO 250 FOR COATED MATFIALS.C(CF IF MATERIAL IS RAPE COPPER? THEN * ELSE 250C

TF (MATL .GE. 11) THENCCF GET COUPLING COEFFICIENT FOR COPPER

* C

ALP = ALPHA(MATL,I)ELSE

CF INTFRPOLATE THE INTENSITY DEPENDENT FACTOR ALPFC

IF (PFAKF .rF. 1.OF+04) THENXVAL t.UF+OltK = I

260 CONTINIEK = K + 1AVAL = K - 10

IF (PEAKF .GT. XVAt.*AVAL) GO TO ?hOFLSE

YVAL 1.OF+03K1

310 CONTINUE

A-35 Change i

JTCG/AS-79-V-008

AVAL K I* IF (PEAKF .GE. XVAL*AVAL) GO TO 310

END IFYVAL =ALPHA(NviATL.K-1) - ALPHA(MATL,K)EM =-YVAL / XVALALPF =ALPHA(MATL,K) + EM * CPEAKF - XVAL *(AVAL))

CC THICKNESS CORRECTION METHODOLOGY IS AN APPRnxIMArION SCHEMEC REPRESENJTING ONLY A FIRST LEVEL APPROACH.

* CCF INTERPOLATE THE THICKNESS DEPENDENT FACTOR ALPTr

nP =DPM / 0.02541IF (O)P .GE. 2.OF-01) THFN

ALPT =ALPHAT(MATLrq)FLSE

TF (DP .GE. 5.OE-02) THENXVAL =5.OE-02K =6

*360 CONTINUEK =K+ 1AVAL =K - 5

IF (O)P .GE. XVAL*AVAL) GO TO 360ELSE

)CVAL 1.OE-02

£110 CONT INUE

AVAL =K - IIF ()P .GE, XVAL*AVAL) GO TO 4110END IF -APA(ALK

YVL=AL PHAT(CMATL, K-I) -APA(ALK

Em= -YVAL/XVALALPT =ALPHAT(MATLK) + EMI * MOP - XVAL *(AVAL))

END IF

*CCF COMPUTE THE COUPLING COEFFICIENT AS THE PRODUCT OF ALPF ANDI ALPT

ALPC =ALPF * ALPTIF ((ALPC .LT. ALPHA(MATL,I)) .AND). (ALPC .GT.

ALPHA(MATLP16fl) THEN

.9.ALP =ALPCFLSF IF (AL PC .GF, Al PHA(MATLpl)) THEN

ALP ALPHA(MATLo1)ELSE

* ALP ALPHA(MATL, 16)FNn IF

CF GET THE CniPONEKIT DENSITY FOR TH;; MATERIAL TYPF

Change 1A- 36

JTCG/AS-79-V-00.8

END IFRHO D ENSIT(MATL)TEMP =(TNILT + T) P .T =TEMP

CCF S STEP RCF INTERPOLATE THE TEMPERATURE DEPENDENT PRUPERTIES:C

END IFTEmP =T

*CF *THERMAL CONDUCTTVTTY AND* C

MVAL =NTNT(CONDUC(MATL,1,1)) + IIF (TEMP .LE. CONtICCMATLI,,2)) THE.N

CVAL =CONDUC(M4ATL,2p2)ELSE IF (TEMP eGF. CONI)UC(MATL,l,MVALJ) THEN

CVAL = C0NOIJC(MATL,2sMVAl-)ELSE

DO 50 1 =2,MVALIF (TEMP .LE. CONDIJC(rATLPIPI)) THEN

CVAL =CONDUC(MATL,?,I) - (COND(IC(MATL,1,1) -TEMP)*

(CONDUC(MATL,,pl) - CONDUC(MATL,2,I-1))/$ (CONDUC(MATL,1,I) - C(T'DUC(kvATL,lr1I))

GO TO 100

5n CONTINUE

C ENP IF

CF * SPFCIFIC HEAT

100 mVAL =NINT(SPFCTF(MATL,l.1)) + IIF (TEMP .LE. SPECIF(MATL,1,2)) THEN

SVAL %PECIF('4ATLp2v2)ELSE IF (TEMP .GF. SPECIF(MATLP101VAL)) THEN

SVAL SPECIF(MATLp2pMVAL)ELSIE

Dn 150 I = 2,MVALTF (TEMP .LF. SPFCIF(,MATL,1,I)) THEN.SVAL =SPPECIF(MATL,?-,I) - (SPECIF(MATL,1,I) -TE'4P)*

(SPECIF(VATL,2,T) - SPFCIF(N1AT,.,II))/(SPECIFMATL,1IPJ - -lPFCIF(tMATl-1,!-1))

4 0GO TO 200END) IF

150 CON'TINUJEF'r) T F

IJFTIJPN

CF FXIT RETUJRN

A-3 ~'Change I

JTCG /AS- 79-V-008

* CF FTfNISH

0 Change 1 A- 38

JTCG/AS-79-V-008

C PROGRAM nKPI<CCF START QKPKCF TITL.E nKLOOK: PROGRAM 1QKPKCF ENTER OKPKCC THIS VERSION ACCEPTS LOS OUTPUT DIRECTLY FROM FALCON! RESEARCH ANDC DEVELOPMENT CO. PARALLFL RAY SMOTLINE GENERATING PROGRAM FASTGENC DATED OCT. 1973.C

INTEGER PKNBRCOMMON ICOMP(500) ,MATC500) ,IFGC500) , TAB(900) ,IANA(500),

S TINlIT(500),NOPNITS(900) ,DEPTH(10,500) ,PKVALC10,SO00),S RHOF(900O),TRVRS,Tt)(S00) ,IY (500)

COMMON THTNFL(500) ,SH(?, 170) ,JHC5, 170) ,CINCHCOMMON /ONE/ NOCOMP,FLX.IFLAGPEAKF,NICRITCOMMON /TWjO/ XLOS(100) ,JHT(100) ,NENCPORrQ(IOO)COMMON /THREE/ PKTIMFCLO,200),PLSC200),It(?00)COMMON /FOOR/ RATESCIOO,25) ,FTIM(25) ,FXCM(29) ,FXM(25) ,IFMAX,

$ TIMlAX(291,MAXT(27) ,NTMAXCOMMON /LUNITS/ IROPTLNRPIIMPTOITCOMMON /SIZES/ ITCPIFX*IFXXDIMENSION THRAT1(500)PTHRAT2(500)DATA ITC,MAYENC,PKNIRR,IFX,IFXX /500,lflO,10,29,27/p~ DA TA IRD,IWRPIINTOUIT/,h1/OATA MAXT /27*0/DATA MAT CL9Q)/1/,MAT(500)/2/DATA lEG Ca99)/O/, TFG(500)/0/DATA ITA8(L499)/O/, lTA8(500)/0/DATA IANA (LI9) /2/, ANA (500)/I /DATA TINIT(499)/1 10./,TINITT(900)/35./DATA IY(L4qq)/o/,Iy(500)/o/DATA QHOF(4q9) ,RHOF(500)/1.,1./DATA IECHO /I/

COPEN (IRD,FILE=:OKPKD)ATA ,RECFM='DS ,MIAXRECL=80,PAD='YESO)OPEN (14R,FILE='(KPKPRTNT',RECFM:*DS ,CARRIAGE CONTPOL=*FORTRAN*)

OPEN (TIN,FTLE=OKPKTAPETN',FOR%1:IJNFOPM ATTEO'),PECFM''=VARIARLFE)nPFN (TOIITFLE'QKPKTAPFOUTpFORM=*LJMFO'RmATTFDDRFCFiM=*VAR1ARLE*

CC TO SlJPPRFSS ECHO OF QKPK 01JTPUT FILE, SET TECH(1 nC

4 C ITC IS TH-E DTMENSTnN OF THE COMPOPJFNT ARRAYSC TFX IS THF 01tAFNSITiN OF THE FLUX ARRAYS

C IFXY IS TFX + P

* C ',AT* TANA, FTC.) ARF FrR AL 20214 AND Ai. 7075, PpspszrTIVFLY.CANY oxxy rOMPONENT hNUMiAPH THAT CAN 4E PEPPESqFNTE(O 4Y THP D)ATA

IN1 LOCATION ITC-1 NFErD NOT OE IMP11T. I-JKFl*'4SF 7XX COM'PrNFNiTr C -iAY I.SE DFFAlJLr VALUES IN I (CATIWOl ITC.

A- 39 Change I

JTCG/AS-79-V-008

CCF S STEP ACF EXECUTE RDATA READS THF QKLOOK FORMATTED DATA DECKC

CALL RDATACCF IF DECK INCLUDED TIME INTERVALS? THEN *+1C

IF (NTMAX .LE. 0) THFNCC IF NO TIMES FOR SHOTLINE COUNTS ,ERF READ BY RDATA,C USE THE TIMES FROM THE FLUX DISTRIBUTIONC

NTMAX IFMAXCCF ASSIGN FLUX DISTRI8UTTON TIMES AS DEFAULT TIME INTERVALS FORCF * SHOT LINE RREAKDOWNC

Do 3 I = 1,NTMAXTIMAX(I) = FTIM(T)

3 CONTINUEC

END IFCC ly IS THE SYSTEM NUMRER. E.G., I COULD RE UISED FOP ALLC MULTIPLY-VULNERARLE COMPniNENTS IN THE PWROPULSION SYSTEM, ?C COULD RE USED FOR FLIGHT CONTROLS, FTC.C VIILNERARLF AREAS WILL RF DEVELOPED AND STORED IN ARRAYC PmULT AITHIN SIJRROiJTTNE PF1NT.CCF S STEP RCF PFAD VIFWING PLANE nESCRIPrTON

*CREAD (TIN) A7,FLPGPInTI)VEH,YMAX,YMIN,ZM.AX,ZMIN,RADEXP

CC IF CINCH IS .lF. o., ASSUME INPUT ALREADY IN INCHFSC

IF (CINCH .LF. 0.) CINCH = 1.0C 4ETER = CINICH*O.02_54

CC CONVFPT GRID SPACING TO INCHESC

P GRID = GRID * CINCHY061Aw = YMAY * C INCH

YVTN zYMTN * .I ICHZAX LMAX * C INCH711. 1N ZMIN * rINCHIF (TRV.S nEO. 1) THF6'

Y I -YMAXYPIAX = YKIINYMIN VI

Change I A-40

.

JTCG /AS-79-V-008

EL =-ELAZ =AZ 180M.

IF (AZ .LT. 0.) AZ A7. + 360.ENI) IF

CCF EXECUTE FSORT SORTS THE COMPONFNT INFORMATION ARRAYS INTO

* CF *ASCENDING ORDER BY COMPONENT NUMSFRC

CALL FSORT (ICOMPNOCOmPMAT, lEG, ITARIANA,TINIT,rIOPNJTS,OEFPTH,$PKVAL,ITCPKNRrHINFLRHOFTY,II)

CC THESE ARRAYS ARE NOW SORTED IN ASCENDING ORDER OF COMPONENTC NL'MRERS -- PUT ON FILF TOUTCCF PRIT THE COMPONENT INFORMATION APRAYS

* CWRITE (IWP,1003)

C00l 50 JT =, NOCOMP

WRTTF (TWR, 1004) ICOMAP(J),TFGCJ),MAT(J),ITAR(J) ,IANA(J),s TINIT(J),THINIFL(J),RHO(j,),tY(J),I~i(J),J, (DEPTH(T,J),

$PKVAL(T,JI)olI,NOPNITS(J))

C CON~VEPT INPUT LFNGTHS TO METERSC

Do 40 1 1,NOPNTS(J)DEPTH(I,J) =DEPTH(IPJ) * CN4ETER

140 CONTINUETHI'JFL(J) zTHINFL(J) *CMFTFW

50 CONTP'JIIE

NENC =0TFILL = 0IFM TF"4AX - 1TFXM =IFXX - I

CCF IARTTE VIEWtNG PLANE DESCRIPTUV4, COMPONFNT DATA, AND FLUX( TA8LEC

WRITE (TO1uT) AZFL,GPID, IOVFHPY(~iAXYMIN,7AXPZMIN,NnCoMiP"J)RTrF (bnuT) CICnmp(T),1Ff,(1),TYrL),IUCI),IfPNTS(T), CPKVALCJE),

.$ TEMAY)

4TE (TErfiO .En. 1) THEN

oiRITE (IvjQ, 1014) AZF,,TD1VHYrXYiHMXTTJNCM

AjP ITE ( TwR#1I016) TCOvP ( T ) ,FG (I), Y (I) * U (I)pMPinpTS(T), (PKVAL(JT)~j=1,NnPNjTs(T))

60 C ON T I NU-N P ITF d'R , 10 17) Q VR S ,T F NA X ,F T T 1ITFXCM()D I ,TF'~AX)

A-41 Change I

JTCG/AS-79-V-008

FND IFCCF $ STEP CCF READ SHOT LINE DATA ON NEXT RECORDC

100 CONTINUERFAD (UIN) (DUM,(SH(IJ),I=1,2),(JH(IJ),I=l,5),J=1,170)

CCF $ STEP DCF LOOP TO PROCESS EACH SET OF LOS DATA

C101 CONTINUE

DO 110 J = 1,170

CC JH(2,J) = 0 SIGNALS END OF VIEWCCF IF END OF VIEW? THEN 5000C

IF (JH(2,J) .EQ. 0) r0 TO 9000ICOOE MOD(JH(IJ),lO)NENC = NENC + I

CC DIMENSIONS ARE SET FOR A MAX OF 100 COMPONENTS PER SHOT LINEC ATTEMPTS TO LOAD ASOVF THIS RESULTS IN A STOPCCF IF MORE THAN 100 ENCOtJNTFRS ON THE SHOT LINE? THEN 930C

IF (NFNC ,PT. 100) GO TO 530CC LOS IN METERSC

XLnS(NENC) = FLOAT(JH(3,J)) * 0.01 * CMETERCC COMPONENT NAMEC

JHT(NENC) JH(2,J)C

C ORLIOQLITYC

IF (TWVR .F'Q. 0) THENORO(NENC) = FLOAT(JH(i,J)) * 0.001

FLSEn*o(NFNC) FLOAT(.TH(5,J)) * O.U01

EJ r) IFCC ICODE = 0 SIGNALS FND OF SHOT Lh'LFCCF IF FfNP) OF SHOT LINF? T!iFf * ELSE 110C

TF (TCODE *EQ. 9) T4FNC

Change 1 A-42

.6q

JTCG/AS-79-V-008

CF S STEP ECF IF WANT SHOT LINE DIPECTION REVERSED? THEN * ELSE *+1CF EXECUTE REVRSF REVERSES THE ORDER OF THE COMPONENTS ON THECF * SHOT LINEC

IF (IRVRS .EQ. 1) CALL REVRSE(J)CCF EXECUTE RAT COMPUTES PENETRATION RATES FOR EACH ENCOUNTERCF * AT EACH FLUX LEVEL

CDO 170 IR = vITFMAX

PEAKF = FXCM(IR)FLX = FXM(IR)CALL RAT (RATES(t,IR),IR,fAAXENC)IF (IFLAG .EO. 0) r0 TO 180

170 CONTINUE

CC THE VALUES OF NENC (NO. OF ENCOUNTERS), NCRIT (NO. nFC CRITICAL ENCnlJTERS), ANn IFLAG (=O IF NO CRITICALS)C ARE SET 9Y S(IBROTTNE RAT.CC SUBROUTINE RAT ALSO CHANGES JHT TO THE LOCATION OFC THE COMPONENT IN ARRAY ICOMP, AND XLOS TO THE ADJUSTED

4 C THICKNESS IN METERS (ADJUSTED RY RHOF OR THINFL)CC PKTTME AND It FIRST CONTAIN Y Z NCRITC (Y AND. Z POSITIONS AWE NOT CONVERTED TO INCHES )C A ZEPO NCRIT INDICATES NO CRITICAL COMPONENT

C ni THE SHOT LINECCF S STEP FCF STORE THE SHOT LINE COORDINATES AND NUMREP OF ENCOINTERS IN THECF * RINARY OUTPUT ARRAYSC10 IFILL = IFILL + 1

PKTIME(1,IFILL) = SH(IJ) * CINCH

PKTImE(2,IFILL) = SH(?,J) * CIICHDO 190 K = 3,DKNRP

PKTIMF(KPIFILL) = 0.0190 CONTINUE

PLS(TFTLL) =.II(IFILL) NCRIT

C MAXT(TFXX) C'IUNTS THE N1jMRER OF NUN-CRITICA. SHOT I.INES

IF (NICPIT .EQ. 0) MAXT(IFXX) = ,AXT(IFXX) + i

C

IF (TFILL .EfJ. ?00) THEN

A-43 Change I

JTCG/AS-79-V-008

CF V4QITE BITNARY OUTPU.T ARRAYSC

WRITE (IOUT) ((PKTIME(IXJX)PIXm1,10),PLS(Jx) Il(JX),

S l.JX:0 200)IF (TECHO .EQ. 1)

S ~WRITE (IWR, 100?) ((PKTTME(IX,JX) ,IX=i, 10) ,PLSCJX),

IFILL =0END IF

* CCF IF CRITICAL ENCOUNTERS ON SHOT LINE? THEN *ELSE 110C

IF (TFLAG .NE. 0) THFNC

TUSED =0.TMAX =0.TMAY1 =1.E30TItJSFD

C* CF S ST7P G

CF i-OrlP FOR EVERY ENCOUNTER ON THE SHOT LINEC

* '01 CONTINLUEOnl '*q IT 1,NENC

CCF Crnh1PIJTE AND STORE TIME1 NEEDED TO PENETRATE TO D)EPTH XLUSC

PRAR =0.IRNOW =TRIJSEDTNno., TIJSEDr)ISLFT =XLOS(II)

4*10 CONTINUERATE =RATES(IITRNOW)IF (PATE .LE. 0.) GO TO 430IF (OISLFT .I.E. (FTIMI(IRNUW) -TNOv') *RATF) r.O TO 420nISLFT = DISLFT - (FTIM(IRNOW) -TNOVI)*RATE

TNOW FTTM(IRNOW)TWNQW TPNOIAI + 1

IF (IRNOI .L-F. TFMAX) r0 TO '*10TRNOW. = RNOW - 1

4*20 C0 fJ TI NU ETkn'fli= TNOW + DISLFT / RATE

* TLnS =TNOW - TUSFI)RRAR =XLOS(II) / Tl-nS

4*30 C 0 MT IN IIEI =JHT(II)IF (TFr(I) .NF. 0) THENM

TFTLL. TFTLI + 1* Pt.S(TFTLL) =TN

T1(IFILL) JH'T(I1)THRATI(T) 4AA1((TH-RAT1(j),OEPTH-(l,T) *OROCII)/

Change 1 A-44

I

-i.

JTCG/AS-79-V-008

$ XLOS(II))THPAT2(I) AMAXI(THPAT2(I),DEPTH(NOPNTS(I),I) *

s OBn(II) / XLOS(II))CC THE NEXT NENC ENTRIES (ONE FOR EACH CRITICAL COMPONENT) AREC PKTIME(1) TIME NEEDED TO PENETRATE TO P'MN FROMC START OF SHOT LINEC PKTIME(I) TIME NEEDEn TO PENFTRATE TO A AN INTERMEDIATEC PK RETWEEN PKMN AND PKMX (I IN (2,N-11)C PKTIME(N) TIME NEEDED TO PENETRATE TO PWMX FROMC START OF SHOT LINE (N IN (2,101)C PLS TIME NEEDED TO PENETRATE TO XLOS FROMC START OF SHOT LINEC It THE LOCATION (TIE SUBSCRIPT) OF THIS'COMP IDC IN ICOMPCCF COMPUTE AND STORE TIME NEEDED TO PENETRATE TO DEPTH PKMNC

DO 440 K = 1,10PKTIME(KIFILL) = 0.0

440 CONTINUEIF (RBAR .GT. 0.) THEN

DO 450 K = 1,NOPNTS(T)PKTIME(K,IFILL) = DEPTH(K,I) * ORO(II) / RRAR +

$ TIJSED450 CONTIN LUE

CC TMAwt IS THE EARLIEST TIME THAT THE MAXIMUM SHOT LINEC PK wILL nCCURC

IF ((PKTIMF(NOPNTS(I),IFIIL) .LF. PLS(IFILL)).AND. (PKVAL(NOPh!TS(I),I) .EQ. 1.0))TMAXI = AMINI(TMAXtPKTIME(NOPNTS(I),IFILL))

C TMAX IS THE MINIMUM TIME NEEDED TO PRnCESS ALLC COMPONENTS ON THIS SHOT LINE.C

IF (PKVAL(NOPNiTS(I),T) .EQ. 1.0) THENTMAX = AMAYI(TMAX,AMINICTNO I,PKTIME(NnPNTS(I),

IFILL)))

TMAX = AMAXI(TMAXAIN(TNO'4PLS(TFILL)))END IF

CCF [F lINARY nlITPUT ARRAYS FULL? THFN * FLSE *+IC

IF (IFILL .Ef. 20n) THENCCF i'PTTF RINARY OUTPHT ARRAYS

CWITTE (InTlT) ((PKTT;MF(IX,JX),TX=I, 1u),PIS(JV),

A-45 Change I

JTCG/AS-79-V-008

s Il(JX)vJY=l,200)IF (TFCHO *EQ. 1)

$ WRITE (IWR,1002) C(PKTIIME(IX,Jy),IX=1#1O)pV. PLS(JX),Il(JX),JY=1,200)

TFILL=0END IF

END IFEND IFTUSED TNOWIRIJSED =IRNOW

CCF IF LAST ENCOUNTER ON SHOT LINE? THEN *ELSE 4i01

C

C FIND APPROPRIATE TIME BIN FOR TMAX1 ANO( INCRE41ENT

C THAT BIN. IF TMAX1 .GT. LAST RItI TIMFp INCR~EMENT MAYT(IFXM)CCF S STEP HCF FITJD THF EARLTEST TIME INTEPVAL FOR MAXIMUMN SHOT LINE PK

* CTMAX1 AMINl(TMAXvTMAy1)Dil 500 I1,PNTMAAX

IF (TMAXI .LE. TI-MAXCI)) THENMAXT(I) = MAXT(I) + IGO Tn Si')

* - FNr) IF500 CONTINUE

CMAXT(IFXM) MAXT(IFXM) +I

5 1 n CONT INUE

NE NC =0

CF STEP IICF IF MOPE LOS DATA ON THIS RECnRI)? THEiv 101 ELSE 100

EN IFND IFF110 CNIU

a0 TO 100

4 C FNn OF VIEWCCF i STEP JCF ,-.P7TE LAST RECOPD OF RINARY r)IJTPLIT 'NTTH ENI) OF VTF': FLAG~C5000 CONITINItE

TFILL =IFILL + IC

*n 1l 20 J IFILL,200

Change 1 A-4 6

JTCG/AS-79-V-008

71 11(J) =99

120 CONTINUJECC END OF THE VIEW NILL RE SENSED BY A 9999 FnR NENCP THEC NUI-18EQ. OF ITEM4S ON THE SHOT LINF

WRITE (lOUT) ((PKTIME(IXJX),IX=l, l0),PLS(JX),IICTIX),JX=1,200)IF CIECHO .FQ. 1) THEN

WRITE (INR,10O2) C(PKTIMF(IX,JX)PIX1,1fl)ps PLS(JX),TI(JX),JX=1,IFILL-1I)

WRITE (TwP,1001)END IF

*CF PRINT BREAKDOWN UF CRITICAL SHOT LINES BY TIME NEEDED* CF *TO REACH MAXIMUM PK<

C'ARITE (Iw~rio05) MAXT(IFXX)NSL =MAXT(IFXM)

TF 0.JF 1FE FXCM(1)

C00 520 1 = 1,NTMAX

'19TE =TIMAXCI)FU FE

JFF JF00l 518 J JFFPIFM

JF =JIF (TE .LE. FTIM(J)) GO TO 519IF (TE .LE. FTIm(Jt1)) THEN

JF =J + 1GO TO 519

518 CONTINUEFJF = IFMAX

919 FE =Fxrm.(JF)VoRITE (rd~P,10OA) TB,TE,FB,FE,MAXT(T)KISL = NSL +4 MAXT(I)

520 C 0NT I NII ETP =TFTE =1.E30FR =FFFR= FXCM~(fFk!AX)

vRTTF C!WP, 100A) T~rTEIPR,FEMvAXT(IFXiA)

NSL = NSl- 4AXT(IFXY)AIRTtF (Iw~vl0i?) 'JSL

CF P'QTMT LIST nF COmPONENTs WITH AN LOS THICKINESS LESS THANJ

A-4 7 Change 1

JTCG lAS- 79-V-GOB

CF *PI(mN OR PKmX

C

WRITE (IWR#lOOq)

DO 600 J =1,NOCC1MPIF (THRATI(J) .GT. 1.0) THEN IA(JPHT2)

WRITE (It*Rv1010) ICOMP(J) ,TI~A1(),HA2J

ELSE IF (THRAT2CJT) .GT. 1.0) THENWRITE (IWR,1013) ICOMP(J),THPAT2CJ)

END) TF600 COINTINUEF

* CCF EXIT STOPC

STOP*C* CF S STEP i(

CF P41INT FATAL ER~flR MESSAGE, TOO MANY ENCOUJNTERS

C* 530 CONTTNUE

WRITE (IWPP1009) NENC

* C*CF EXIT STOP

C)TOP

C1000 FOOMAT ('I THE FOLLOwING IS AN ECpO nFl THE DATA WPITTFN ON THF

S *rJKP li-JTPIJT .FILE ( L-OcIcC UNIT #,I2,* )#/)

1001 FORMAT (*OEND OF Ec~jn OF DATA WRITTEN ON (QKPK flJTPIlT FTLE-)

100? FORMAT ('OPKTIMF(J,T), PLS(I), JIM1, 1=1,10, T=1,20/

$ 200C1 1F1O.5, 18/))

1003 FORMAT (*1VALIIFS USED) FOP THIS RIJN'//

$ ICOMP Ur.l MAT ITAB TANA 71NIT'r

*S 5)X, THINFL RIIOF Iy I J C APD1

S8X,OE)PTfi(1) PIKVAL(1) DEPTH(2) PI(VAL(2) O)EPTIA(3)P,

.1 2,*PKVAL(3) DEPTH('i PKVAI.('4) nEPTH('3) PKVAL(5)'/

$ ~8X,ODEPTH(6) PKVAL(6) nFPTH(7) PKVAL(7) I)FPTH(8)*

T.2X,PKVAL(8) DEPTH(Q) PKVAL(Q) O)EPTH(10) PIKVAL(1o)'/)

*1005 FRPMAT ('I TOTAL NIIMRER OF NON-CPITICAL SHOTL.INES =',T7//

- $ 'ORRFAKDOWN OF CRITTCAL SHOTLIN'ES BY TINE N'jFFI) TO PEACII1; 'MAAX~IJ PKI/0tSEGTN TIM-Fl,q9XEN) TTMFP,5x,'RFGIN FLIIX',5X,

E N r) F L I IX 5 Xv'N JNIRF R OF SH T L1N4 F S

lo100 Fnpf.AT ('AFNC =',T1O,* WHrICH IS GREATER THAN 100'/

-% *0... PRrirPAM HALTTNG')

100oq FlRMfAT (*I THE FOILLO,.TNG; CflmPflrENTS HAVE AT LFART nEj SHnJLINEO,0 F'%jC(jLlrpiThP NIHFwE THE THTCKNESS IS LESS THAN P~Mv i nw ** */y ..

9 AXoTF THF lHICKNESS IS LCSS THAN PKMN, CPlMPflN :T PK 1.9 7FPD *

' FnP THAT ENC.f(OllNTEP/6X,TF THF THTCK(IESS T'z LEcsS THAr: RKMIX,

!t ' COMPONFhNT PK IS LESS THAN 1.0 FOR THAT Erfl,nij,,TER .1).1 'OpnNhE !T'

Change 1 A-48

JTCG/AS-79-V-008

5XMAXI-MUM VALUE OF PKYN/THICKAIESS',5y,M!AXIMLI~m VALUE OF

s PKMX/THICKNESS')

1010 FORMAT (lXvIh.20Y,F10.3v25X,Fjl.)1011 FOPMAT U0o,2sx,-rOTAL NUMBER OF CRITICAL SHOTLINES =',I10)

* 1012 FORMAT (/OTOTAL NUMB5ER OF SHOTLTNFS ='PI10)1013 FORMAT (lX,16,?1yrLESS THAN 1.0',21X,F10.3)1014I FORMAT (OOAZ, ELP CRID, IOVEH, YMAX, YMIN, ZMAX, ZMIN, NOCOMFP'/

S 3F10.5.IT,'4F10.5, T8)1015 FORMAT (UOTCOM.P(I), IFGCI), IY(T), IUI(T), NOPNTS(I), (PKVALCJ,I)',

$ 'J:1,NOPNTS(T) ),I=1,NO0C0MP')

*1016 FORMAT (916,10F8.2)1017 FORMAT UO0IRVPS, IFMAX, (FTTM(I), FXCM(I), I1I,IFM.AX',

S 2110/4J(2FI0.3p5X))CCF F T NISH

END

4I

A- 49 Change 1

JTCG/AS-79-V-008

SUBROUTINE RAT (PATES, TR,MAXENC)

C DIMENSION LOC(1OO),RATES(MAXENC)

COMMON ICOM'P(500) ,MAT(50) ,IFG,(500),ITARC(50) ,IANAC500),$ TINIT(500) .NOPNTS(q0O) ,DEPTH(l0,9O0) ,PKVALC 10,500),

$ RHnF(500),IPVPI.i(SOO) ,IY(500)COMMON THINFL(500) ,SH(2 170) ,JH(5,17o) ,CINCHCOMMON /ONE/ NOCnmp,FLY,IFLAG,PEAKF,NCRITCOMMON /TlVO/ XLnOS(100) ,JHT(l00) ,NENC,(JRO(100)COJMMON /PROP/ ALPPHXCPPTMLT, XLAMABDNATE,.JCOMP,J,DP,XK,TVAP,

$ CPLPIrFRTCOMMON /SIZES/ ITC,IFX,TFXX

CC THIS ROUTINE COMPUTES THE PENETRATION RATES FOR EACH

* C COMPONENT ALONG, A SHOT LINE.CCF S STEP A

*CF IF FIRST RATE COMPUTATION FOR THIS SHOT LTNE? THEN F LSE 110IF (IR .EQ. 1) THEN

IFLAG = 0NJCRIT =0

* DOt 100 I lo1NENCJCOT4AP JHT(I)CALL ISRCH(IC0mppNoCfrPvITC)LnCCI) =J

- IF (IFG(J) .NE. 0) THENCCF COUNT THE CrITICAL COMPONENTS9C

NCPIT = NCRIT + ITFLAr. I

END IF100 CONTINuEF

* CNENC =IFLAG

C TFLAG POTITS TO THE LAST CRITICAL c(JmpOnFNT ON THEP SH0TLINjFC IF IFLAG = Or THFRE ARE NO CIPITICAI. COMPrJNFNTS ONr\r- THIS SHOT LINE.CrF IF CRTTTCAL COMIPINENTS ON SHOT LINE? THEN 110 Fl SE

* CF E-XJT RETURhNC

TF (TFLa, .FQ. 0) RETI'P!

* CF % STEP 9rF LOO)(P FOR FVFPY FNCCPklmTFR ON THE sHnr LINE

* C110 CONTTf~lflF

CC LO1OP TH000rH~- THF roMAPONENTS

Change 1 A- 50

JTCG/AS-79-V-008

CDO 300 I =,NENC

J - LOC(H)DP =XLO(I)

C

CF IF FIRST RATE COMPUTATION FOR THIS SHOT LINE? THEM * ELSE 131C

IF (IR .FQ. 1) THENCC THINFL IS THE NORMAL THICKNESS RF'PLACFMENTC (USUALLY TWJICE THE wALL THICKNESS FOR TJRES MODELLFDr IN THE INFLUENCE MODE)CCF Cc.PIJTE ENCOUNTERED COMPONENT THICKNESS

* C

IF (THTNFL(J) .GT. 0.) THENCC USE A CONSTANT NORMAL THICKNESS FOR THIS COMPONENT TNSTEAD OF

C A RATIOC

DP THINFL(J) * ORQ(I)

ELSFDP = XLOS(T) * QHOF(J)

a.@ END IF

XLOS(T) DP

ENf IFRATE O,

CC COMPONENTS HAVINr ZERO THICKNESS ARE ASSIGNED A ZERnC OFNETRATION qATE, (THIS MAKES THF COMPtNENT "TRANSPARFNT"

C ... IT NEED NOT HE PENFTRATED AND CANNOT HE DAMAGED)C

IF (OP .GT. 0.) THEN

CF STEP CCF IF 'ISE TABLE LOOK-I1P CODE? THEN 400C

131 ClltNTT!4IJE

IF (TTA8(J) .EQ. 0) THFN'

ITER = 0C

P CF -;YFCUTE PROPY GET THE COMPONFNT PROPFwrIFS

CALL. PROPYrps = cp

PHO = ,HY

* C

C TANIA IS THE ANALYSTS TYPEI I FOP MELT IT' PLACF

r 2 FOO MFLT PEMOVFnr.

A-51 Change I

JTCG/AS-79-V-008

CF IF ~LTIN PLACF AtiALYSIS? THEN FLSF 500)C

IF (IANA(J .FQ. 1) THFf-.iTTFP =IT =TNYLT

* cCF flONPUTE SIIQFACE TF:''.PFPAT~i-RE

*335 CilT I NUECALL PPOPYTSTAR = TMLT + FLX *ALP *D~P /XK

IF CARS(T-TSTARJ G(E. 100.) THFN

T =TSTAR

Gn TO 335

F\Ir) IF

CF C0:!PllTE PI.).,FTQATIflN wATF USINGJ MELT IN~ PLACE Al'!ALYSIS

IF (CTSTAQ .rT. TVAP) .AND. (TVAP .T. 0.)) THFEM

STW= XI< * (TVAP -TMLT) / PPATE =STAR / (R~HO *(CPS *(TMLT - TITT(,Y)) +

YLAMiRI + CP * .5 *(TVAP -ALT)))

FL SEPATFE FLX * Al-P / (PHn * (CPq * (T,'IT - TT'.IIT(J)) +

YLAvlRi + CP *(,9 (T.STAR + TmL1') - TN-LT)1)

E""-r IFFLqE

CCF rCriPITE PEI-TF0ATI0*j RATE IJST'.1r MELT R'EIOVEI.' AN'ALYSISC

RATF =FLX *ALP /(IQ.fl (CP *(TM~LT - TT .'T(J)) +

CCF FXFrilTE TAI-I1.tE GEFT PFWFTRATTrfNl WAIE Y TAMLF I fl(,,-iip

CALL TAP- LE

FN 1 TF

0*CF 5STFgp oCF SQlF PF, .FTRATjn,,! 4AFF T'! W.ATFS APPAYC

;,ATP9(T)= AIJ;-4T(T) = J

*CF TF 1's~gr ;HT I UlkF E~ClIiTmiFt FJ-S liii

300 r.C'T I TlE

C

* Change 1 A- 52

JTCG/AS-79-V-008

CF FXIT RETUIRNCF F IrW TSH

END

A- 53 Change 1

JTCG/AS-79-V-008

SUBPROUTINE RDATAC

COMMv'ON ICOMPCSOO),MIAT(500),IFG(500),ITAR(50) ,IANA("00) ,s TINIT(S00),rIOPNTS(500),DFPTH(10,500) ,PKVAL(10,500),$ RHOF(500) ,IWVRSTUj(500),TYC500)COMM~ON THINFL(500) ,SLI(2 170) ,JH(5, 170) ,CINCHCOMMON /ONE/ NOCnOMPFl-X,IFLAGl,PEAKF,NCRITCOMMVON /TWO/1 XLCS( 100) ,JHT(I00),NIENC,ORU( 100)CU MvvNl /FOIJR/ PATES(l00,25),FTIN (25),FXCMA(25)PFXM(25)PIFMAX,$ TIMAX (25) ,mAXT(27) ,NTMAX

c ommON /LIINTTS/ TRD,TWR,IIN,10tlT*commON /SIZES/ ITC,TFX,IFXX

C*C THIS ROUJTINIE READS THE COMPONENT MATERIALS DATA CARDS

CREAD (IR~D,1000) NOCOMP

*CC ITC MUST BF AT LEAST TVYO GREATFP THAN NOCOmp

* C TO ALLOWJ FOn THE DEFAULTS TO 2024 AL AND 7075 ALC

IF (Trc .GE. NOCOMtvP+2) THENCC NOCOMP IS NIJMHEP OF COMPONENTSC !FMAX -S NO. OF POINTS IN, FLUX I)ISTPIRUTTnNC F X CM FLUX IN vyATTS/Cm2;C FXNI IS FLUIX IN WATTS/H?C F FTIM T S TIME THR(IflH WHICH THE CORRESPONDING FLUJX APPLIES

*C IRVRS IS THE SWITCH FOR REVERSING THE SHOTLINE DIPECTIOn'C CINCH IS THE FACTOR FOP CONVERSION FROM, INP[UTC UNITS TO INCHESC

READ (IPnv10n0) IRVRSCINJCHREAD (TRn,1000) IFMAY

* READ) (IRD,1002) (FXCN(T)pI1j,IFmAX)

WRTE (IWR,?flOO) NOCOMP, IRVPS,C INCH* WRITE (TWRP2001) IFM4X

TE=0.

DO 110 1I loIFNIAX

TE = TIM(I)* WORITE (IW~RP2f00) TROTEPFXCM(T)

11I0 CONITIIF.* C

C LAST FLUX ALSOl APPLIFS FOP ALL TTm.FS q.EYOND THF L.ASTC TIME RFAD IN.C

9TA = TETE = IF30WPITF (IwR,2OO?) TRTfo FXCM(IFMAX)

Change 1 A-54

r JTCG /AS-79-V-008

C CHECK IF FLUX IS WJITHIN R01INDS

CDo 160 I IP1IFMAX

IF ((FXCMCT) GQT. 0.) *AND. (FXCM('T) .LE. h.OE.OL)) THEN

CC CONVERT FLIuX TO WATTS/M2C

Fxm(l) =FXC~4I) * 10000.ELSE

WQITE (ItVRP100) FXCM(I)STOP

END IF160 COmTINtUE

* CDO 410 1 tNOCOMP

CC IY zSYSTEM NO. FOR FA.H COMPONENT IN THAT PARTICUJLAR SYSTEM

C TOJ 01. IF IT TS A SINGLY VUILNERABILE COiPnEN T*C IU l, TF IT TS A MIJLTPLY VlLN-RAR;LF COmPONE-NT(NOTE: THIS

C WILL NOT ALLOa THIS COMP. VA TO COJNTRIBU'TE TO THE TOTAL VA#,

c NOR TO THE SYSTEM VA)CC THINFL IS THE NORMAL THICKNESS REPLACEMFNTC (USIJALLY TWICE THE wALL THTCKNESS FOR TIJRES

C MODELLED IN INFLU.ENCEJ MODE)

READ (IRD,10O1, IOSTAT=IOS) ICnmP(I),,mATCI),IFr(I),ITAR9(I),

IANACI),Tt!NIITI)THINFLCI),RHOF(I),Iy(I) , IIICT) ,NOPNTSCT)

IF (IOS .En. 0) THENIF ((NOPNTS(I) .LT. 2) .OR. CNOPNTS(I) .GT. 10)) THEN

WRITE (INR,l010) I,NOPk'TSCI)STOP

ELSE IF CN(1PNTSCI) .GT. 4I) THEMI

READ (IRDp1001,IOSTATTOfS)END IF

END) IFIF (105 .GT. 0) THFN

WRITF (IWR,1015) I

WRITE C IWR, 1001, TOSTAT1 OS) ICOMP CT) ,MAT (I) IFG CT)PT T AR CT),

STOPELSE IF (IfiS .LT. 0) THEN

WRITE (CT W141020, T (ST Ar I os) TI1, NOCrfjNPSTOP

END TF/10 CON rIA'Fr

R~vMTND) (TRn)nP '45 T = lc

PEAP(IRD, 1001)

A- 55 Change

JTCG lAS- 79-V-008

DO 50 .1 1,NncompREAD (IRD, 1001) ICOMIP(T) ,MAT(I ) ,FGCI) ,ITAB(I) ,IANA(I ),

s TINIT(I),THIMIFL(I)PRHOF(I),IY(T),IUI(I),NOPN'TS(I), DEPTH(J,T),$ PKVALCJPT)t J =1,NOPf"TS(I))

50 CONTINUE*C

C READ TIME BINS FOR SHOTLINF MAX-TIME COUNTS.* C (IF NOT INCLUDlED IN INPUT, FLUX TIME POINTS WILL B3E USED.)

READ (TR0,1000,END=60) NTMAX

READ (IPD,1002) (TTMAX(I),I=1,NTMAX)60 CONTINUE

ELSEWRTTE CIWR,20011) NOCOMPSTOP

END IFC

* RETURNC

100 FORMAT(/5X,'***** INPPUT ERROR ***FLUJX =',F1.215 'PROGRAM HALTING')

1000 FORMAT (I5,2F10.2)1001 FOR-MAT (15,I3 ,I1,I2,13XI1,F5.0,32X,F3.?,7y,F3.?,212/

* IS,qF7.4/11F7.A)10-0? FORMAT (10F7.0)1010 FORMAT (''5,***INPUT ERROR *** AN INVALI0 N11,MRER

* S 'FOR THE VART.ARLE NOPNTS(I) WAS READ:'

* 1015 FORMAT /5,** INPUT ERROR ***** ERROR OCCURRED DURING '

S '*READ OF COMPONENT CARD #*,14r,' IN THE SEQ~UENCE'/21 X,'THF FOLLOmJING VAI.IFS WER~E READ:')

*1020 FOP14AT (/5X,****** INPI17 EROR ***** ENID OF FILE OcCURREDAFTER *,14,* CARDS WERE RFAO,'/29XALTHOUGH NnCOMP = ,IIJ)

200n FORMAT (' NlJMteFR OF ComPOn ENTS ='PT5,SX,'IRVRS=P,T5p5X,pFACTOR FOR CONVERSIONl TO INCHFS=*,F10.s)

2001 FO'tlAT (p NllMRER OF POTNTS IN FLOX DISTRTitlr~hi IRFGTN TTME',6X,'ErlV TTME',LIX,'FlIlX*)

200? FORMAT (lf,Fl0.2,3X,F1O.2v3X,FlO.2)* 2004 FfIRMAT ('NOCOMP ~'I0'IS ToO LARGE FOR ARRAY DTMENSmiOs'/

5 '... PROGRAM HAI-TTNr.')

Change 1A- 56

JTCG/AS-79-V-008

SUBAROUTINEJ PEADINMC

COMMON ICOMP(S0),MAT(5O0),TFG(50),ITA.(500) ,IANA(500) ,$ TINIT(5OO),'AOPNTS(500),nFlPTH(1O,90),PKVAL( 10,500),$ RHOF(500) , TUCSOO)pIY(500)

COMMON THINFL(500),NOCnMPCOMMON /LUNITS/ IRD,b'JRCr1MMON /SIZES/ ITCIFXDIMERISTON FXCv(2S) ,FTIM(25) ,TIMAX(25)

C

C THIS ROUTINE RFAnS THE COMPONENT MATERIALS DATA CARDSC

READ (TRD,1000) NOCOMPC

TF (ITC .GE. NOCnmP+?) THEN

C NOCOMP IS 114MMMER OF cnOMPON'ENTSC IFMAX IS NUJMBER OF POINMT. TN FLUX DISTRIBUTIONC FXCM IS FLUX TN 4ATTS/CM2C FTIM IS TIME THROUGH WHICH THE COPRESPONDING FLUX APPLIESC IRVRS 1S THE SWITCH FOR REVEPSING THE SH(1TLINE DIRECTIONC CINCH IS THE FACrOP FOR CONVFRSION FROM INPUTC UNITS TO TP'CHES5

READ (IPDvl000) IRVRS,CINCH

PEAD (IR0,1001) TF44XWRITE CIwRr200n) NO1COMP, IRVRSCTNCHIF ((IFILsAX .LT. 1) .OR. CIFMAX .GT. TFX))

s VRTTE (IWRP101) TFMAXWRTE (TWR,2001) IFMAXIF CIEMAX .GT. IFX) IEMAX =IFXREAD (TRD, 1002) (FXCM(I), 1:1, FMAX)READ (IRD, 100?) (FTIM(I)oII ,EAX)TE =0.

* CDO 110 I = 1,IFMAX

TE =FTIm(T)% WQITF (IwR,?002) TRTE,FXCM(T)

110 CONTTNIJECC L.AST FLUX ALsO APPLIFS FOR AL.L TI-MES riEY0OND

4c THF LAST TT-MF REA0 IN

TE I.F30NPITF (I~R20)TR, TF,FXCMCIFPIAX)

Cc CH-ECK IF FtLX IS vylTH1N ROlUNDrS

On IO I 1,IF 'AE

A- 57 Change I

JTCG/AS-79-V-008

IF ((FYCM(I) .LE. 0.) .09. (FXCM(I) .GT. 6.OE+0'i))WRITE (ILIR#,100) FXC"(I)

160 CONTINUEC

DO 4J0 1 1,NOCOMPIC

'C IY SYSTEM NO. FOR EACH CnMPONFNT IN THAT PARTICULAR SYSTEMC IU 0, IF IT IS A SINGLY VIILNFiRA8Lh- COMIPONENTC TU 1, IF IT IS A MULTPLY V!ILNFRAMI.E COMPONENTC(NOTE. THISC WILL NOTI ALLOW THIS COMP. VA TO CONTRIBUTE TO THE TOTAL VA,C NOR TO THE SYSTEM VA)

C

* C (USUALLY TWICE THE WALL THITCKNESS FOP TOVESC MODELLED IN INJFLUJENCE MODE)

* CREAD) (RD,10lO01TOSTAT=TOS) ICOMP(1) ,MAT(I) ,IF(;(I) , TAB(I)I

IANA(I),TINIT(I),THINFL(),PHOF()PIv(I) ,IU(CT) ,rrnPNTSCI)IF (10S .ED. 0) THFN

TF ((NnoN'TS(l) .1-E, 0) .OR. (NnPNTS(I) PGT. 10)) THENWRITE (IWR,1010) IrNOPNTS(T)

STnPIELSE IF (NOPNTS(T) .GT. 4a) THEN

RFAO (IRD, 1001, IOSTAT=IQS)END IF

ENDr IFIF (InS .GT. 0) THEN

'WRTE (IW,1015) IWRITE (I'lR,I00l,TOSTAT=IflS) ICOMP(T),M-AT(),IFrn(I) ITAR(I ),

5 TIANA(I),TTNIT(I),THENFL(I),RHOF(I),IYCI) ,II'(I) ,r\'OPNITSCI)STOP

ELSE IF (10$ .LT. 0) THENWRITE (I lR,I020,TOSTAT:IflS) I-1,NComP

40 CONTINUEIC

PEVIINii) (IRD)Onf 415 T1 1,5

READ(IPD, 1001)ajs CONTIftjtI

*CPEAD (T~D,1O01iplnSTAT=TOS) ICOJMP(),MAT(I),TF(;(T) ,TTAR(I)p

(DEPTH(J,I),PKVAL(J,T)pJ ,fPT()I

* SO CON TT f.IIIF*C

C REAr' TII/F RINS FOR SHOTLINE. MIAX-TIkF COU11N T S* C (IF M"OT INCLIJIE!) IN, IPPT,. FHWY TIME prijMTS NILL PF IIS~r)

Change 1 A- 58I

JTCG lAS- 79-V-008

READ CIRI),lOO0,END:60) NTMAXIF ((NT~iAY .E. 1) AmD (NTMAX .LE. IFX)) THEN

READ (IRD, 1002) (TIMAX(I) ,I~l,NTMAX)WRITE (IWR,l005) (TImAX(TrI) I,NTMlAX)QET UPN

ELSE14RITF (IWRP 102) NTfMAyWRITE (IWPIO073STOP

END IFELSE

WRTT (IWR,1007)'.2 STOP

END) IFC

60 CONTINUEO~RITE (INR,1006)RETURN

C100 FOPMAT(/5x,"***** INPUT ERROR ***FLUX~ =",EI0.2)lot, FORM.%AT(/5Y#"***** INPUJT ERPOR ****TmAX( =",Ito)102 FORMllVAT(/5Y,"***** INPOT ERPOR ** NTMAX =",vIto)

1000 F0QMAT (I5,2E10.2)101FORMAT(I5,T3,lX#,TI,T2,13X,tl#,FS.0,32X,F3.2,7X,F3.2,212/

1002 FORMAT (1OF7.0)1005 FORMAT (* TliAX VALUES ='/(IOF10).2))100h FOP-MAT (0 NO TIMAX VALUIES V'EPE READ IM ... FLUXY TIME POINTS

£'NILL RE USED*)1007 FORMAT C' ARRAY DIMENSIONS ARE TOO SMALL ... PROGRAM HALTING-)1010 FORMAT (PX,** INPUT ERR(OR *** AN INVALID NIUMRFR

* 'FOR THE VARIARLE NOPNTS(I) WAS READ:'/213xp'I = ',T4,' NOPNTS(I) =',IL*)

1019 FORMAT (/9Xt****** INPUT EQRR*** ERROR OCCURRED DURING '

$ 'PEAn OF COMPONENT CAliD b*,I1,* IN THE 9EQIlE-NrE'/S 2AX,'THF FOLLOwING Vd LUFS WERE READ:')

1020 FORMAT (/5X,'***** INPUT FPRnQ*** EMOf OF FILE OCCUJRRED'AFTFR 'P14,' CARnS kNERE READ,'/?8Xp'ALTHO(lGH NnCI'mp= ,4

2000 FORMAIC' NUJMBER OF COmpIMENT9 =',19,l;X,i IPVPS :',I5,5X,'FACTnP F(OP CONVERSIOrl TO T'ICHF3 =',Flo.Ll)

2001 FOP!PAT WI NUjMPER OF POINTS IN FLUX DISTwIRITTrJO =',IS//4 *REGIN TTkFE,CX,E~iD TIM'F',7X#'FLOVX)

2002 FfORfAT (tXF10.2,3X(,Fl0.?,p3,FIO.?)

A- 59 Change 1

JTCG/AS-79-V-008

SUJPROITINE REVRSE(J)C

* C ROUTINE TO REVERSE THE ORDER OF COMPONENTS ALONG A SHOTLINEC FOR THE L V A C PROGRAMS

COMMON TCOMPC500) ,MAT(500) ,IFG(500) ,ITAB(500) , lANJA (00),$ TINIT(50Oh NnPNTS(SOO),DEPTH(10,90O),PKVA1.(1O,50),

$ PHOF(500),IRVRS,TIJ(500) ,IY(500)CO)MMON THTNFL(500) ,SH(?, 170) ,JH(S 170) ,CINCHCOMNIJN /TVIO/ X4.05(100) ,JHT(100) ,NENC,OBU(100)

CC Y-POSITinN OF SHnTLINE- MOST CHANGE SIGN IN OPDFRC TO MAINTAIN A RIGHT-HANDED COORflINATE SYSTEM

CDo 30 N = lNENC/2

JJ = NENC - N + I.JI= JHT(N)Sl ORO(N)S2 =xLOns(N)

JHT(N) = JHT(JJ)flBD(N) =OBrO(JJ)YLOS(N) =XLOS(JJ),JHT(JJ) =Ji050C(JJ) =St

* XLOS(JJ) =52* 30 c:ONTINIJE

RE TIER NEND

change 1 A- 60

JTCG/AS-79-V-008

SUBROUITINE TABLECOw-mOn TCnOMPC500) ,MAT(500) ,IFC,(ri0O) ,TA13C500) ,IANA(500).S TINIIT(5OO),NflPNTS(90O),tEPTH(10,5Q0) ,PKVALC 10,500),$ RHOFCSO'i),IRVRS,TUCSOO) ,IY(SOO)

COMMON THI'\FL(SO0) ,SH(2, 170) ,JH(9, 170) ,CINCHCOMMON /nNE/ NflCONIPFLX,IFLAGPEAKF,NCRITCOMMON /PROP/ ALP,RHn,CPTMLT, XLAM!3O,RArF,JCOM'P,J,DP, XK ,TVAP,$ CPL, ITER, T

COMMON /L.UNITS/ IRfl,TWP~III,IOlJTLc THIS RnUTINE RETURNS A PEN;ETRArIOtq PATE USING AC TARIILAR VALU1E RASED ON THE M~ATERIAL TYPE.

CIF (ITAB(J) En 1) THEN

CC PLEXIGLASS

RATE s.35E-10 *FLX * .QELSE IF (ITAR(J .EO. ?) THEN!

CC TRIPLEX OTEL-ECTRICC

RATE = 2.6822E-10 * FLX *0.9

ELSE IF (ITARCJ .EQ. 3) THEN!

C FIBRITEC

RATE =2.(,33E-10 * FLX * 0.9ELSE IF (ITAR(J .EQ. 4) THEN

C* C ROBH~ER

CRATE =2.6909E-10 *FLX 0.9

EI-S E IF (TTAR(J EFQ. 5) THENCr GLASSC

RATE = .35F-lO FLX * .Q*ELSE IF (!TAR(J) Fr3. 6) THEN

* CC FIRER CLASS

* C

4 PATE = .4*4F-10 * FLX * 0.9

FISE TF (ITAR(J .FQ. 7) THFN 'C

C 3,74F+6Fl X EOIJALS 374~ VMCM-2o, SINEA FLX IS IN I.ArERS

C IF FLX IS LES9 THAN 3.7/4F+t~, RFTtRf*i A YATF OF 7.F'q

I F (FLY *GT. 3.7JE$~) THEftl

A- 61 Change I

JTCG/AS-79-V-008

PATE =-1.4IE-4J + 3.7LIF-1l FLY *0.9

ELSE* ~WRITE (IiWRP2000)

STOPEND IF

ELSE IF (ITAR(J .EO. 8) THENCC GLASS FTBER EPOlXYC

RATE =0.556E-10 * FLY * 0.9ELSE IF (ITAR(J) .EQ. 9) THEN

CC GRAPHITE EPOXYC

RATE = 0.119E-10 * FLY * .qELSE

RATE = 0.0W'RTE(I--, 1000) JCOfMP,ITAH(J)

END IFC

RETURN* c

1000 FORMAT(* THIS COMPONENT DOES NOT FTT THE HOUNDS FOR TARLES',216)200n FflP!AT(C THE FLUX IS INDICATED TO RE LFSS THAN 374 N/CM**21/

OCHECK SUBROIJTTNE TABLE ... PROGRAM HALTINGJC)

4

Change 1A- 62

SUBROUTINE ASPTOIND

This subroutine is used to correlate each of the standard 26 viewingangles used by programs like FASTGEN with an index used by the program ASALT.Each of the standard azimuth-elevation angle pairs has a correspondence toone of 26 ASALT indices. The subroutine is called by the main program.

The first set of statements

SIIRDOITINE ASPTOINO(AZFL, ILOf'K)INIEGER AZIINTEGFR ELIX

is used to pass three arguments, AZ, EL, and ILOOK, and to declare AZIX andELIX to be integers. AZ and EL are the FASTGEN azimuth and elevation anglesand ILOOK is the corresponding ASALT index.

The next statements

IF (AQSCEL-QO.) .LE. I.E-OS) THFNILCnK = 26

ELSE IF (A&S(EL+90.) .LE. I.E-05) THENILOOK M I

test for a top or bottom view. The block IF first checks for an elevationangle of 90 degrees, implying a top view. If this angle is found, the ASALT

5index is set to 26. Otherwise, a check for a bottom view with an elevationangle of -90 is made. If this test is successful, the ASALT index is set to1; otherwise, the block IF continues with the ELSE branch where checks aremade for the other 24 viewing angles.

The statements

ELSEELI% z 0C H K 2 t 3 tCDn -o 4!15.fl( 10 I = 1.3

IF (ARS(EL-CHX) GT. I.F-OS) THENCHK 2 CHK + 4S.ELIX 2 ELTX + 8

END IF1O CONTINUE

check for a standard elevation and set an elevation index accordingly. Thefirst two assignment statements initialize the angle to be checked and theelevation index. The DO loop checks for the remaining three valid elevationangles. If the elevation angle and the checking angle are not equal withinroundoff limits, the checking angle, CHK, is incremented by 45 degrees andthe elevation index, ELIX, is incremented by 8.

The following statements

IF (CNK .LT. 50.) THENCHK a 0.0IF (AZ LT. 180.) THEN

AZIX : 6ELSE

&ZIW i 2AZ z AZ - IJ0.

ENO iF

1 ENCLOSURE (2)

are used in preparation for determining the azimuth angle. The first IFstatement checks to determine if a standard elevation angle was found. Ifnot, the ELSE branch of the block IF is executed. Otherwise, the THENbranch sets the azimuth checking angle to 0.0. The second IF statementdetermines whether the azimuth in question is less than 180 degrees. If so,the azimuth index is set to 2 and the azimuth is adjusted so as to be lessthan 180 degrees.

The statements

DO 30 1 1,0IF (ARS(AZ-CHK) .GT. I.E-OS) THENCHK CHK + 45.AZIX = AZIx + 1

END IF

30 CONTINUE

form a DO loop to check for a standard azimuth angle. The statements in theIF block are executed when the azimuth value does not equal the checkingangle within roundoff limits. In this case, the checking angle is incrementedby 45 degrees and the azimuth index is incremented.

The next statements

IF (CHK .LT. 140) THENILOOK a ELIX + AZIX

ELSEWRITE (6,901) AZ, EL

END IF

form a block IF to take the appropriate action depending on whether astandard azimuth is present. If a standard azimuth is found, the THEN branchis executed and the ASALT index is the sum of the elevation and azimuthindices. If not, an error message is printed.

The statements

- ELSE --

W RITE (6,901) AZ, ELFND IF

END IF

are executed when a standard elevation is not found. The WRITE statementprints an error message. The two END IF statements close the IF block for

determining whether a valid elevation is found and for ascertaining whethera top, bottom, or other view is present.

The statements

RETURN

901 FORMAT C" ERROR *a* CANNOT C.LASSIFY LOOKANGLES AZ, EL'/

S 1Sx,2FIfl.2)END

return control to the calling program, define the error message format, andend the subroutine.

2

SUBROUTINE FINDCOMP

This subroutine is used to search an array containing critical componentnumbers for a specific component. If the number is found, the array elementindex is returned. If not, a zero is returned. This subroutine is called bythe Subroutine GETXYZ.

The first set of statements

S"P 0tTINE F[IN[COMP(IPT.IC02W,IC,NCRIT)DIVE'q1ON ICO&lP(100)IPT 0I 0

is used to pass four arguments, IPT, ICOMP, IC, and NCRIT. IPT is the elementof the array containing the desired component number or zero if the componentis not in the array. ICOMP is the array containing critical componentnumbers. IC is the component number being sought and NCRIT is the number ofcritical components in ICOMP. The DIMENSION statement declares ICOMP to be anarray. The two assignment statements initialize the returned element number

and a search index to zero.

The statements

100 CONTINuE

IF

(ICOMP(1) .E1. IC) IPT I

IF ((I *NE. IPT) .AND. (I .LT. NCP!T)) GO TO 100RETURN

END

search the ICOMP array for the desired component number and return control tothe calling subroutine when the search is completed. The first four state-ments form a "REPEAT UNTIL" loop. Statement 100 forms the beginning of theloop. The assignment statement increments the index of the component array.The IF statement checks if the current element in the array matches the

sought after component. If so, IPT is set to the index of the currentelement. The conditional GO TO statement checks whether the desired compo-"nent has been found and whether the array has been completely searched. Ifboth of these conditions are false, a branch is made to examine the nextelement. If either condition is true, control returns to the callingprogram unit.

I

SUBROUTINE GETXYZ

This subroutine is used to compute the locations of critical compo-nents in the ASALT aircraft coordinate system. It obtains these coor-dinates by averaging the shot line coordinates that intersect the compo-nents from the front, side, and bottom views. This subroutine is called

by the main program.

The statements

SUBROOTINE GETVYZ(ICOAPCnMPNCPIT,NAME)* CHARACTEQ*A NAME(IO0)

DIMENSInN ICOMR(IOO),COMP(3,100)nIMFNSION SO(2,17n),Jm(';,170),AZV(3).ELV(3)

DIMENSION X(O00),Y(100)eZ(100)

DINIFN$I N NX(100):,¥Y(100),N1( 00)DATA AZV /O.0,Q 0.0Q0.O/; ELV /0.0,0.0,-Q0.0/DATA X /1;010.0/, Y /100 0.0/. ? /100 0.0/DATA NX /100*0/, NY /100-0/, NZ /100-0/

are used to pass four arguments, ICOMP, COMP, NCRIT, and NAME, to declarearray dimensions, and to set initial values. ICOMP is the array containingcritical component numbers. COMP is an array to hold the ASALT aircraftcoordinates of the critical components. NCRIT is the number of critical

components. NAME is an array used to hold the names of the critical compo-nents. SH contains the shotline y- and z-coordinates that intersect thecomponents. JH holds the component numbers or a flag indicating the end ofthe view. AZV and ELV indicate the azimuth and elevations used to definethe three views: front, side, and bottom. X, Y, and Z are the ASALT air-

Ccraft coordinates for each critical component. NX, NY, and NZ count thenumber of times that each component is described using x-, y-, or z-coor-dinates (only two of the three coordinates are used in each viewing plane).

The statements

O0 150 ILOs 1.3READ (ILOS) AZ, ELIF ((AZ .EO. AZV(ILOS)) .AND. (EL .EO. ELVCILOS))) THEN

are used to obtain line of sight data for the three viewing planes. The DOloop is used to read the data from each plane and to start the conversionof the coordinates to the ASALT aircraft system. The READ statement is usedto get the azimuth and elevation for the current view plane. The IF state-

ment determines if the current view plane is the standard plane that theprogram expects. If so, the THEN branch of the IF block is executed; other-wise the ELSE branch is executed.

The statements

20 READ (LOS, END2I50) (DUM,(SH(r.J),T=I,2),(JH(,J),1: ,5),S J21.170)

DO 100 J 1,170IF (JN(2,J) .EQ. 0) GO TO 150SY X SH(,J)SZ a SH(2,J)

IC 2 JW(2,J)CALL F!NDCO4P(PTICOMP.!CNCRIT)

are used to read the line of sight data and to set up for the conversion ofcoordinates. The READ statement forms the first statement in a "REPEAT

4

UNTIL" loop. The READ obtains a block of data at a time. The loop will

continue executing until all the shot line data for the view have beenprocessed. The DO loop is used to convert the shot line coordinates from

the data block obtained by the READ statement. The IF statement determines

if the end of the view has been reached. If so, a branch to Statement 150is made to permit the processing of any other views. This is the exit from

the "REPEAT UNTIL" loop. The next three assignment statements get the

shotline y-coordinate, z-coordinate, and component number. The CALL state-

ment returns the index of the ICOMP array containing the component if the

component is critical or a zero if the component is noncritical.

The statements

IF (IPT .NE. 0) THEN

IF (ILOS .EO. 1) THENY(IPT) s Y(IPT) + SyNYCIPT) s NY(IPT) + IZ(IPT) Z(IPT) + SZNZ(IPT) NZIPT) + I

ELSE IF (ILOS EQ. 2) THENX(IPT) a X(IPT) - SY

NX(IPT) x NX(IPT) + 1

Y(IPT) a CIPT) + SZ

NYCIPT) 2 NZCIPT) + 1ELSE

XCIPT) a X(IPT) - SyNV(IPT) x NX(IPT) + IY(IPT) = Y(IPT) + SZ

NY(IPT) a NY(IPT) It I

END IFEND IF

100 CONTINUEGO TO 20

are used to convert the shot line coordinates for critical components. Thefirst IF block is executed only when a critical component is encountered.

This block contains another IF block whose branches are executed depending

upon whether the front, side, or bottom view is being processed. In eachcase, the shot line coordinates are added to or subtracted from the appro-

priate aircraft coordinates and a count for each addition/subtraction is kept.Statement 100 following the two IF blocks ends the DO loop which processes

the shot line data block. The GO TO statement forms the end of the "REPEAT

UNTIL" loop.

The following statements

ELSE4RITE (6,11) ILOS-AZELSTOP

END IF

ISO CONTINUE

are the remaining statements in the viewing plane processing loop. The ELSE

statement begins the branch of the block IF that is executed when a standard

viewing plane is not found. The WRITE statement prints an error message and

the STOP statement terminates the program. The END IF statement closes the

IF block and Statement 150 concludes the view plane processing loop.

The next statements

'oRITE (6,301) NNCRIT00 0 1 3 t.NCQIT

* IF (N ;I) .NE. 0) COYP(I,I) 2 Y(I) / FLMAT(NX(I)) * 0.0?54IF (PY(I) oNE. 0) COP(2.I) z Y(I) / FLOAT(NY(I)) * 0.0254IF C NZ(I) .NE. 0) cfmP(3.i) s Z(I) / FLO&T(NZ(I)) * 0.0254

5

9A

wRITE (6,302) 1,NAmE(1),ICOmP(I),COMP(t,I),NX(1), CnMP(2,1)#

$ NY(t).CnmP(3,I),PJZ(t)300 CONTINUE

are used to complete the calculation of the ASALT aircraft coordinates andto print these values out. The first WRITE statement prints the pageheader. The DO loop is used to calculate the average ASALT aircraft coor-dinates for each critical component and send these values to the outputdevice. The three IF statements find the average x-, y-, and z-coordinatein meters. The next WRITE statement prints the coordinate values. State-ment 300 closes the DO loop.

The final set of statements

RETURNII FORMAT ( .. EQROR... INCORRECT LOS FILE FlR VIE%'',I.

S Z'F .w ELZ',F8. )

301 FORMAT CITICAL cnmpnNENT LOCATIONS

S " JOEX NAME NUMBER'bX,'X-COnRD. SAMPLE',S bXE yCOORD. SAMPLE 6X.'Z-COflRO. SAMPLE')

302 FORMAT 1IXI',$X,ARI6,Ix,3(F12.?,17,2X))END

returns control to the calling program and provides the formats for themessages that are output.

6

6-

SUBROUTINE NAMES

This subroutine is used to read names of components from an input file.If the input file is empty, blanks are entered for the names. The subroutineis called by the main program.

The first statements

RIPtR01,INE NAMES (NAME, NCR T)CHA9ACTER*A NAMF(I00)

are used to pass two arguments, NAME and NCRIT. NAME is an array to hold thenames of the critical components and NCRIT is the number of critical compo-nents. NAME is declared to be an array of character strings of length 8.

The statements

READ (7.12O.END21O0) (NAME(I),I*I,NCRIT)RETuIRN

attempt to read the names of the critical components from an input file. Ifthe read completes successfully, control is returned to the calling program.If an end of file is encountered, the execution branches to Statement 100.

The next statements

100 DO 11 t : I.PCRIT%AmF(T)

110 CONTINUERPFTIIRN

120 FOQMAT (AA)END

are used when an end of file occurs. The DO loop is executed to initializethe component names to a string of blanks. Control is then returned to thecalling program.

7

PROGRAM VAMERGE

This program is used to produce one of the two input files requiredby the ASALT-I Model in assessing survivability against laser threats.This program reads the vulnerable area files created by the QKLOOK programPEAKAY, averages the component Pk's, and prints them in the ASALT inputformat.

The first set of statementsPROGRA% vAmERGEPARAMETER (TDELT 2 0.S. IPRINT 2 2, LINLIM X 60,

S F : 0.0, YFP 0.0, XG x 0.0, YG = 0.0,

S ZG : 0.0, PSI 0.0, NATN : z1 YJITTR = 1.0.

S ZJITTR z 1.0! SLEWAZ = q0 SLEWEL = us.0.S TRKTIM = 0.0. ATTEN 2 t.0. R&TTEN : I.E+30.

S NATMPT Z 1)

DTMFNSION FTIM(25), FXCM(25), TIMFS(10), ENERGY(10)

OIMFNSIlfN FTI&I2(25), FXCM2(25), TIMES2(10), rUN(3)D!MENSIDN ICOMP(100), PAREA(100), CnMPAV(100,10)DIMFNSION COMP(3,100), AP(100,26), WIDTH(100,26), PK(10,100)

CHARACTFR*, NAMF(100),RLANKCHARACTER*4 YORN(2)

is used to assign constant values to a number of parameters used in theASALT input file, to declare array dimensions, and to declare character

variables.

The statements

DATA YORN /'NO "t 'YES ./DATA BLANK /- VDATA tOUTIRDZWRIIN /0,5,6,11/DATA AP ,2600*-1.0/, PK/000*0.0DATA ENERGY /10*0.0/DATA COMP /300*0.0/DATA GUN /3*0.0/

are DATA statements which are used to initialize the variables whose namesappear in the DATA statement lists. The first three DATA statements set thearray YORN which is used to indicate whether the reverse flag is set, assign astring of blank characters to the variable BLANK, and set logical unitnumbers used in the FORTRAN I/0 operations. The next three DATA statementsinitialize arrays used to hold presented areas, Pk's, energy flux, andcomponent coordinates. The final DATA statement sets the coordinates ofthe weapon location in the General Coordinate System.

The statements

WRITE (IOUT,103) TDELTIPRINTPLINLIMwRITE (IOUT102) GiNeXFPYFPXG,YG,?GPSI

produce the first two ASALT cards. The first card contains TDELT which isthe time interval between iterations of ASALT's computations, and IPRINT andLINLIM which establish the line printer output from ASALT. The second card

holds the coordinates for the weapon location and the coordinates for the

coordinate system's reference point.

The statements

I

READ (IROL01) NCRIT

READ (IIN.ENDS900) AZELIFMXA(CFTI'4(l),FXCM(t),I=IIFMX),RVRS,

S NOCOMPPNTIME,(TI74ES(C),Iz1NTIME)IRVRS U RVRS * I.

wRITE (IwR,I1) (IIN-0),AZELYORN(IRVRS),NOCOMPNCRIT,S (FTIM(I),FXCM(I),IzI,IFMAX)WRITE (IWR,112) (TIMES(I) ,IXIDNTIME)

read information on the first vulnerable area file and echo it on the line

printer. The first READ statement ascertains the number of critical compo-

nents in the QKLOOK files. The next READ statement is used to obtain a

viewing plane description, the flux distribution with time intervals, the

reverse flag, the number of components, and the number and breakdown of time

intervals used in the computation of vulnerable areas. The two WRITE

statements send this information to the printer file.

The statements

WRITE (IOUTi0I) IF1AXNATNWRITE (1OUT~t02) (FXCM(I),Iz1.IFMAX)

FTIM(IFMAX) = I.E+30wRITE (IOUT,102) (FTIM(I),I:IIFMAX)WRITE (IOUT,102) YJITTRZJITTR

WRITE (IOUT,102) SLEWAZ,SLEWEL,TRKTIM

WRITE (IOUT.102) ATTEN

wRITE (IOUT 102) RATTEN

wRITE (rOUT,102)WRITE (IOUT,101) NCRIT,NAIMPT

are used to write the laser flux emission rates for ASALT Cards 3 through

11. Card 3 contains the number of elements in the laser flux emission array

and the number of elements in the atmospheric attenuation factor array.

Cards 4 and 5 contain, respectively, the laser flux emission rates and their

corresponding times. Card 6 has the standard deviation due to jitter of the

laser beam in the Y and Z direction. Card 7 holds the maximum azimuth andelevation slewing rate for the laser weapon as well as the minimum tracking

time required before the laser can fire. Cards 8 and 9 contain, respectively,

the laser beam attenuation factor and the beam atmospheric attenuation factor

range argument. Card 10 provides the smoke corridor end points. However, no

smoke corridor is used in this program, so Card 10 is left blank. Card 11

has the number of components in the target model as well as the number of aim

points on the target.

The statements

ENERGYCt) a 0.0IF (NTIME .0r. 10) THEN

LIM X NTIMEELSE

LIM x 9END IFD0 20 1 2 ILIM

TI z 0.0

FLUX X 0.0

is CnNTIrNUEJzJ.1IF (FTIv(J) .0T. TY-FR

(l) )

TMENJ

DEL x FTIv(J1 - T1

FLUX 2 CLOX * CFWCm(J) * nFLT)

TI 2 FTlM(J)

ENO) 194 I; ((J .LT. TFvAx) .ANU. (FTI"(J

) .LT. rIMF(1))S I TO l -

9

DELT a TwUF (I) - TIFLUY 3FLUJ + (FXCM(J] * DELT)

ENERGY(I+I) F LUX * 0.00120 CONTI&'E

vOITE (IOU1,102) (EtfRGY(I),I=1,LIN1l)

are used to calculate the amount of energy accumulated to cause killprobabilities for each component during a specified time interval. Theseresults are used for ASALT Card 12. At time 0, no energy has accumulated,so the first energy argument is set to 0.0. Since ASALT uses exactly 10energy entries in a function defining Pk at increasing energy levels, andsince the first energy level is always set to 0.0, LIM, the number ofenergy levels to calculate from PEAKAY, is limited to a maximum of 9. TheDO loop finds the energy levels for the times specified in the TIMES array.For each cycle through this loop, the first three assignment statementsreset the previous time argument Ti, the accumulated energy FLUX, and theflux array subscript J to 0. Statement 15 through the conditional GO TOstatement form a "REPEAT UNTIL" block and is used to accumulate the energyfrom the flux distribution table until the flux level for the time ofinterest is reached. The amount of energy received at this level beforethe desired time is reached is then added to the previously accumulatedenergy flux. The energy level is then set to t is flux value after it hasbeen converted from joules/cm to kilojoules/cm . After all the energyarguments have been calculated, they are written to the output file.

The statements

CaLL NA ME(NA4E,NCRIT)00 250 1IN Z 11,36

are used to read the names of the critical components and to initiate a DOloop to iterate through vulnerable area files for the standard 26 differentaspects.

The statements

IF (TIN .NE. II) THENREAO(IINFNO=Q00' aZELIFMAx2,(FTIM2(I)FXCM2(),Izt,IFNAX2).

S RVRS,NnCOMP2,NTiME2.(TIMES2([I),I=,NTIME2)I9VRS z RVRS + 1.wRITE (Ivt,|Ill) (IIN-I0),AZELYORN(IRVRS),NOCMP2,NCRIT,

S (FTIm2(I),FXCM2(I),I:1,IFM&X2)wRITE (Mve,t12) (TIMES2(I),Ix1,NTIME2)FTIM2(IFMAX2) 2 1.E 30IF ((IFWAX2 .NE. IFMAX ) .OR. (NOCOMP2 .NE. NOCOMP)

S .OR. (NTIUE2 .NE. NTIME)) GO TO 950

00 300 1 Z I.IFNAXIF ((FTTC2(I) .NE. FTTM(I)) .OR. (-YCM2(I) .NE. FWCM(I)))

s GO To q50300 CONTINUE

Do 320 1 z IeNTMEIF (TIMES2(1) .NE. TIMES(I)) CO TO 950

320 CONTINUEEND IF

form an IF block which is executed for every aspect angle except for thefirst one. This block reads in the azimuth, elevation, flux distributiontable, reverse flag, number of components, and times of interest for thenext aspect angle. The block then checks the number of components, theflux distribution table, and the times of interest to insure that thesevalues are identical to those for the first aspect angle. If any differ-

10

"'1

ence is found, a GO TO statement branches to Statement 950 to write anerror message.

The statements

CALL ASPTOIND(AZELILOK)00 200 J a 1,NCRIT

READ (IINEND:900) ICOMP(J),PAPREA(J),CCOMPAV(J,K),K:I,NTIME)IF (NAME(J) .EQ. RLANK)

S WRITE (NAME(j),19S) ICOMP(J)WRITE (IwR,113) JNAME(J),ICOMP(J),PAREA(J),(COMPAV(J,K)P

S z 1NTIME)

200 CONTINUEtT

are used to convert the look angles to an ASALT index and to read thepresented and vulnerable areas for each critical component. The CALLstatement obtains the ASALT index associated with each of the 26 views.The DO loop reads the presented and vulnerable areas for each criticalcomponent, assigns the component's number to the name array when the

component's name is not already in the array, and writes this informationout. The component name information is used in preparing Card 13 for theASALT program.

The statements

On 27! J ,NCRITAP(JILnOK) 2 PAREA(J) * 0.02Qnl30wIDTH(JILOOK) a 5QRT(AP(JILOOK))PK(IJ) S 0.0

IF (PAREA(J) .GT. I.E-06) THEN00 230 1 X 2,LIM

PK(I,J) : PK(I,J) * COMPAV(J,I-I) / PAREA(J)

230 CONTINUEEND IF

240 CnhTINUE240 CON TINUE250 CONTINUE

are used to prepare ASALT Cards 14 and 15. The outer DO loop iterates forevery critical component for each look angle. The first assignment state-ment converts the presented area from square feet to square meters. Thenext assignment statement assumes that the presented area is square andcalculates the width in meters. The third assignment statement states thatthe probability of kill at time zero when no energy has accumulated is zero.The IF statement checks whether the presented area for the current componentis zero. If not, the DO loop in the IF block sums the Pk's for each componentfor all views. Statement 250 closes the loop that iterates through the 26aspect angles.

The statements

uO0 On 410 J : ?,LIM

nnO 4os T 1,NCQITPK(JT) P X(JI) I 2h.0

05 COnTINUE4i1 CO:T PU

form two nested DO loops which average the Pk's for each component fromall 26 views for each time of interest.

The statements

CALL CFTXYZ (1CT P,COM, tDIT.NAME)

e.PITE (IARIPI)

CO '150 1 2 I,NCQIT

WRITE (10hIT,104) NAME(I),(CnMP(JI),J=1I3)WRITE (100T,la2l (iA(IJ),%IDTt4(I,J),Jz1,2#5)

WRITE (IO1T,102) (PK(JI),Jzl.10)

WRITE (lvQ,1221 tN&(I} .COMP(I),(J.&P(X,J),.w104(IJ),J:,26)450 CONTINUE

produce ASALT Cards 13, 14, and 15 for each critical component. The CALLstatement determines the location in the Aircraft Coordinate System. Thefirst WRITE statement sends a form feed to the print file. The DO loopiterates for each critical component. The next WRITE statement formsCard 13 by listing the name and coordinates for the component. The thirdWRITE statement outputs the presented area and width of the presented areafor Card 14. The fourth WRITE statement outputs the average Pk at eachspecified time for the component for Card 15. The final WRITE statementis used to print the information from Cards 13 and 14.

The following statements

WRITE (TWA,123) (EIJERGY(I),!21,20)

DO SO0 I z 1,NCQITWRITE CIwA,12'] I,NAMF(l),ICONP(l),(PK(J,I),J=1,O)

500 CONTINUEWRITE (IOUT,125)STOP

print the energy flux distribution and the information from Card 15.Additionally, a reminder to the user to finish assembling the ASALT inputdeck is output.

The statements

900 wRITE (TWR,12b) IIN,JSTOP

are used to terminate the program when the end of file is reached unexpectedlywhen reading data on a particulir aspect. The WRITE statement prints anerror message.

The next statements

950 WRITE (104,127) ITN

STOP

are used to terminate the program if a difference in values is detectedbetween different views where no difference is expected. The WRITE state-ment prints an error message.

The last group of statements

101 FORMAT (1018)tO2 FnUMAT (IOER.2)103 FORMAT (E6.2,21 )10O1 FORIMAT (AA,3ES.?)Ill FORMAT (lMx, 'VIE j F!UMREP I,13,9V,'REVE-RSEO',9

,

S 'NUMAER OF COMRONENT3',lQYO*FLUV TARLE'/$ 2~OA? ~,*'A7 EL a,Fb..IRX,A4,I.X,*TOTAL'.S * CRITICAL,,13X,,TI"E(SEC.) FLUX(fi/SQ.Cm.)'/

""S '7v,I5,IQ, IbX,FA.2, ,Fp.I/(T7lF.2,8X,F8.2))

22 FORMAT ('I%,eX, PRESENTEn AREAS ANO TRUE COMPONENT VIOLNERABLE',

S * AREAS (SOIDARE FEET) PER TIME 1NCREMENT'/5 . + + + COMPONENT + * # PRESENTEO.,39E.TIME INCREMENtS

S INDEX NAME NIMRER AREA*,7X,IOFQ.2)

12

113 FORMAT CIX,I,.3XPA8,16,PF3.5,4X,IOF9.)121 FORMAT ('1')122 FORMAT V + + + C0NPONENT . . .e/' INDEY NAME NUMRER',

S W( LOOK-ANG PRESENITED AREA wIDTH )$ 1X,13,3W,A8,Ifi,1x,3(5X,'INOEX (SO. METERS) (METERS)')/

S (t9X,3(112,1X,2F12.2)))123 FORMAT (•11,', * * C 0 M P 0 N E N T P K ,

S 'FUNCTIONS FOR ASALT **S 4SWP*OAMAGING ENERGY LEVELS IN KILOJOULES/SO.CM.'/S 3K(,* + + COMPONENT . . . !•,F7.2,QF8.2/$ 3XINOEX NAME NUMBER 1,79(•-•))

124 FORMAT (IXI5,3XAS.I6,•

1',1O(F7.2,1x))

125 FORMAT ( ALL nONE - A' THE AIM POINTS AND FAULT TREE')126 FORMAT ° UNEXPECTED EOF -- IIN=',I3,' COMPONENTS',13)

127 FORMAT C" VA FILE DOES NOT MATCH -- IIN=',13)195 FORMAT (' COP-,IU)

E NO

is used to define all input and output formats and to end Program VAMERGE.

1 I

]

4

13

SII9H00TVIF ASPTOIND(A7#EL,ILOOK )

rC CONVFRT FASrGEN, LOOK AZIMJTH AN[; LOOK ELFVATIN, Tn THEC ASALT INOEX FOR THE SAME LOOK ANGLES.CC FASTGEN ASALTC AZ EL AZ EL INDEX

C 18O. -00. 0. 0. 1C 1!o. -45. 0. 45. 2C 225. -45. 45. 45. 3C 270. -45. 90. 15. 4c 319. -45. 139. US. 5

C 0. -45. 180. 45. 6

C £5. - 225. 15. 7C 90. -491. 270. 45.5

C 135. -45. 315. 9,.

C 160. 0. O. 90. 1O

C 229. 0. 45. qO. I IC )70. 0. Q0. 90. 12C 315. 0. 135. 00. 13C 0. 0. 180. 90. 111

C 45. 0. 2?5. 90. 15C 0. 0. 270. QO.C 135. 0. 315. qO. 17C 180. £14. 0. 13g.8C 225. 45. 49. 13 ,. 19C 270. 45. 90. 139.2)C 315. £15. 115. 135. 21C o. 145. 180. 135. 22c £15. £1,. 225. 135. 23

c 0. 0 as. 270. 135. 14C 135. /45. 315. l39. 25C I40. Qo. 0. 180. 26C

ITrTEOER AZIXTNTEEP ELTX

c

TF (AHS(EL-Q0.) .LE. I .F-,()c IHENII_nOK -- 26

FLSE IF (tFBS(Fl.*Q0.) .LE. I.E-OS) THFNILOOI = I

FI St

CC ",H TCH FLFVATIORI?

FLTXCHK -45.

I)( 10 5 ,SIF (A19 (Ft -CHef .GT. I.F-0S) IH. I

-':. r .-w = ,-9K + ,49.II LTX = FI [X + 8

A-1

* . . . . . .."- - - - --- -- ~ ~ t t ~ . ~ . 5t.a..... A ~

".

FND IF

In CONTINIUECC WHICH AZIMllTH?C

IF (CHK .LT, 50.) THENCHK = 0.0IF (AZ .LT. IO.) THEN

IAZIX - eELSEAZIX= 2

A = AZ - 1 A0,END IFr)O 30 T = IF4

IF (ABS(AZ-CHK) .GT. I .E-05) THENCHK =CHK + /49.AZfY - AZIX + 1

END IF30 CONT I UE

IF (C -K ,L. 140) TH FN

C

C TF INDEX IS . . LC

TLnnx FLIX + AZIXELAE

C

cE RTTE (6,901) A7, FL

END TFELSE

WRITF (6,,901) A7, FLFNID TF

EN;n) IF

CPFTiIRN

C90 FOPMAT (**.RRrR **CANnT CLASSIFY LOOA1GLFS A7, EL'/

$ IS5Yo2FI 0.2)E D

A-2

SIJPRRUT1NP FI,%nDCfIPCIPT, TCOMP, ICF'!CRIT)

DIMENSION TCOMP(100)CC SFARCH FOQ COMPONENT NUJMBER, IC, IN ARRAY ICOMVP WAHICH CO T41~'

C NCRTT COMPONENT P,1 E'FS. RETUJPN" T14E ARRAY POSTTION IN IPT OR

C THE VALUF 0 IF THE CM-1PONFNIT IS NOT THERE.c

IPT =0I0

100 C n NT TIN.1E

IF (TCrAP(I .EQ. IC) [PT ITF M( *NF. TPT) *AND. (T .LT. NCPTr)) GO TO 100

PET 'JR

END

A- 3

SlIRFROUTINE GFT)(YZ( ICOCOMP,M,NCR.TT,NAME)

C!AARACTE-R*A NAME (100)DIMENSION Tcnmp(t00),cOMP(3, 100)0 IMENIS TON SHC2,170),.Ti4V;,,170),AZVC3),ELV( SJDTMENSTON X(ioo) ,Y~toO),Z(100)D IME Nq 10N NX(100) ,MY(I0O) ,NZ(100)

DATA AZV /0.0,90.0pQ0.0/, ELV /0.0,0.0p-90.0/

DATA X /100*0.0/, Y /100*0.0/, Z /100*0.0/DATA NX /100*0/, NY /100*0/, N7 /100*0/

CC READ T14E FpRNT, LEFT SIDE, ANO HOTTOM LINE OF SIGHT SHOT LTN4FC TARGET DFSCRIPTIONS AND DETERMTN~F THE X, Y, Al'D4 Z CORDfI\ATESC OF EACH CRITICAL COMPONENTC

DO 150 ILOS = 1,3READ (ILOS) AZ, ELIF ((AZ .FQ. AZV(ILnS)) .AND. (F-1 .EQ. FLI-(TLt1S))) THE'!

20 READ CILno END=150) (rUM.SHCI,J),I=I,?),(JH(I,j),I=lS)p.1 J=1,170)

DO 100 J 1,170

CT F (JH(2pJ) F(3. 0) GO TO Iso

8Y=SH(1,J)

TC JH(?#J)CALL FINDCOMP(TPTvIC0MP, TC,NCPTT)

C IPT=0 FOP NONCRITICAL COMPONENTS (1,10T TN~ ARt4AY TCVll~p)

CIF CIPT *NIF. 0) THEN

C

IF (TLOS .FQ. 1) THFNC

C FfiONT VIFN -- COIORDT!'ATFS APE Y AND) 7 AIPCPAFT COOtIINA r S

Y(IPT) =Y(IPT) + SYNY( IPT) NYU(PT) +~ IZ(TPT) = Z(IPT) + SZN7(PT) = N(fPT) +I

FUSE IF C ru's *Ffl * ?) THIF!CC qlDE VTE?' - CrOPOIiATFS ARF -X ANI) i AIQCqAFT COPPOIATFI;C

Y(TPT) X(IPTI - SY",X(IOT) ^)X(IPr) +

A-4

Z(IPT) Z (IPT) + S7NZ(IPT) NZ(rPT) + I

ELSE

C 4iTTOM- VIEW -- COOI)T6ATFS9 ARE -xANYAPCATCROA S

CXCIPT) =X(TPT) - SyNXCIPT) =NX(IPT) + IYCTPT) =Y(IPT) + S7NYCIPT) =NYCIPT) + 1

END IF

* 100EqD IFJoO CONTINUJE

rO TO 20E ELS E

oPRITE (6,11) ILI)SrAZ#,ELI

END IF

C END) OF VIENC

15~0 CPNTTIUE

c CCMPUTF COMPONENT LOCATIONJS IN TIAP ASAi-r ATRCPAFT ConR INATE

C SYSTEM, '9sF THE AVERAGF OF THE SHOT LINE COORDIN'ATES THAT

c iNTEPSECTED THEM IN THFSF THREF VIFvAS

CF -- ALSO CONVFRT COORnINATtiS FRnOM. INCHES T.0 'ETERS --S

tiRTITF (6P301) NCRIT00 300 1 = INCRTT

IF (NXf .NE . 0 ) COjMP(I)I XCI T FLUA T (NXC T 01.0254

IF (NYC!) .N,E. 0) Cr):4P(.?oT) =Y(T) / FLOAT( ,YCT)) * ().0294~

IF (NZCI) .NF. 0) cnpMP(3pT) = (i) / FLOAT(rjZCI)) * 0.025-4

I NYC!) ,Cn,%P(3#I)vN7C1)300 CONTINUE

r

C11 FOPAAT( ***EPI~fp*** IMCOPEC! LOS FILE FOP VlE~i',13t

$CALOPFi.1," EL'PFe.t)30 1 FORMAT U' 2X- e1, CRITICAL CoimpfrENT Ln(:ATTON~S -.

0 . . . C nm P o Nr . . .

-*INDfFX( NA v NJAE F4UF4R h X eX, x- C r) PP P SML E v

tN Y-CtJORD . SAi( PLE ,iX,-CniOr. SF.P[.E)

3 30? FOR.V;AT (lX,T~,4XoASoht,1X,3(F1?.2,T7,2)X))

A- 5

8IIMROUITUE 61AMFS(NAMENCRIT)

a CHRACTER*8 NAM(1O00

C RFAD THE CONIPONENT NAMES FRO)M LOGICAL I1iWIT 7 IF PRlvI0Fr),C rTHERITSF INITIALIZE TO BLANKSC

REAO (7,120,EmnDlioo) (MAME([) ,TIloNC~fT)PETUPN

c100 n(" 110 I 1,.NCRIT

NAMEM(~

C110 CONI '1T(1IE

4RETUPN120 FORNIAr (A8)

E- N 1)

A- 6

CSCONTROL USI INIT, LOC'ATTOM', FTLF=1-3,PROGRAM VAMERGF

C PPO;RAM VAMEPGE TS USED) To READ TH-E VULNERABLE ARFA FILES

C CREATED Ry QKLn1OK PRO(;RAM PEAKAY, AVERAGE T14F COMPONENT PK43C AND1 PRINT THEM IN THE ASALT INPHT FORM~AT (LOGICAL uINTT Q) ASC WELL AS IN READ03LE FORMI ON THE LIN\E PRINTER (LOGICAL. IJNTT, 6)Cc I/0 LOGICAL UNIT TABLE FOR PROGRAm VAMERGE

C FORTPAN LOrICAL 11NIr NijAREPR IISFC 1, 2, 3 TAPGFT SHOT LIME D)FSCFTPTTO!S

C FOR THE FRONT, LEFT, Arssc)C BOTTOM VIEWSCC 4FILE TO RE USED FOR ASALT TKIPIJTCC 5 NPUT FOR VAMIEHGF, Pit'MREP (IFC CkTTICAL COMPONFNTS TN IjKLnoIK

C FILESCC 6 PEADARLE LTNE PPINTER FTLEC PRTNTED BY FXECI!TINC, VAtrERGE

-C 7 CompONFNT NAME FILF W(PTInNAL.).CC 19, Go. 10 NOT kUSEL

C 11 THPOUGH- 36 ?Th VIILNJFRAHLE AREA FILES FROM.C OKLO1)K P~nGRA'4 PEAKAY

PAPAmErER (TDEI.T =0.',, IPPINIT = 2, LINLIM =#OYFP O .0, YFP 0.0, XrG 0.0, YG =0.0,

0G .0, PSI 0.0, NATN =1, Y.TITTR 1.0,ZITTTR 1.0, SLEWAZ 90.0i, SLE'-JFL. = 29.0,TRKTIM =0.0, ATTEN =1.0, RATTEN = .F+30,NO.VIAPT =1)

rTMENSTON FTIM(25), FXCto(?i)p TIMES(10), ENERrGY(lu)l

nlW.ENSION FTIM2(2',), FXCM2(25), TIrAES2(10), GoN(3)DIMENSION TCnmP(100)), PAPEA(100), rfimpAV(100, 10)

DIMENSION COMP(3,100), AP(1o026), jifl)TH(00,2o,), PK(10,10s)

CInARACTFP*P NIAMF(1j0),HLANKC!IARACTER*U YrjPrhI(,))DATA yntRN /.*"O ' YE9 I/DAT A fiL A I'IK

f)A TA Ti ~T ,T R ) ~I IN S/N, ,b ,tIII)ATA AP /2'600*-1.0/, PK/Ir)0)0*0.0/1)4T A F NFP f ,Y 10t)* 0. 0D)A T A Cfl1MP / Yf* 0 11

c ASALT CAP1D I -- TOFLT, IPRr'JT, LPJi(-m

A- 7

C

C ASALT CARD 2 -- W~EAPOlN LOCATION, ANDl C.S. REFFkENCFC

READ (IRno10l) NCRIT

c READ THE FIRST V1JLNERAIII.E A14FA FTLE FpOM LOGICAL UNIT TIMC

PFAD (IIN,FNID=900) AZELIFMAX,(FTT.A(I),FxCm1CT),I=1,IIFMAX),RVRS,s NnCotf,NTIM, -E(TEmES(I) t=1,NTTME-)IRVRS = VRS + 1.WJRTTE (IWR, 111) (IIN-l0O),A7,EL,YO.WN(IpVRS),AOCo~tP,NCRIT,.$(FTIM(I)pFyCN4(I) Tl,IFr4AX)'WRTTE (TIMPII?) C IimES(I')pI:1,I TIMlF)

CC WRITEJ LASER FLUX EMIISSTOM RATES* ASALT CARDS 3p 4, AND 9c

WRITE (IO1iT,101) IFMAXPNAtNtNRITE (Tr)I-T, 102) (FXCMl(I) ,T=1,TFMAW)FTTm(IF.MAY) = .E+30'AIWITF (lOUT, 102) CFTTIM,(I),T~1,IFMAX)

Cr ASALT CARDS 6 AND 7 -- JITTEP Arin TRACKINIPC

AIPTTF (IOUT,102) YJTTTP,Z.jITTRMk fIT E (lOUT, 102) SLEVJAZp.'LFJFLTWHTIm

Cc ASALT CARDS 8 AND q -- ATNMOSPHFPIC ATTFNtJATI(1NC

WRITF (1011T,102) ArTENWJRTTF (TOUT,102) NATTEN

CC ASALT CARD 10 Pm 9i MOKE rIiQRInOC

WITE (IflUT,102)CC ASALT CAPD I1I -- N~UMB~ER OF COMPONENTS ANfV) AIN, Plll.,TSC

VI TF (IllgT,1ol) .'JCP T T ANAIPTCC A SAt. T CAP!) J? P:!JFPEP Y AirG(lAFNTS, CrjiP(JTE IISI\1r FXCNI ANDfC FTIA ARRAYS FROM Q(1. P0K FILE

F-t EF(:FY(l) =0.0IF (NTIMF .LT, Inl) THEN~

FLFE

Fr'oi) TF

A-8

rno 20 T l,LImTi 0.0FLlIX 0.0j

15 CONTINAIEJ = J1 + IIF (FTIMCJ) .LT. TINIFS(T)) THENDELT =FTIM(J) - TIFLUX =FLIIX + (FX(CM(J1 * DELT)TI = FTIM(J

END IFIF MC .Lr. IFIAAX) .AND. (FTE.',J) .1-T. TIMES(1)M GO T~l IS~DELT =TTNESCI) - TIFLUX =FLUX + (FXCM(J) *DELT)

C CONVERT F90M~ JOIJLES/S!N.Ck?. TO KILO,1T0h'E/s.M

ENFRPY(1+l) FLUX *0.00120 CO(IN TI NUE

VJR IT F (lIOUT , 10?) (ENEPr Y ( I)I I L IM +1ICC READ cnkMPONFNT NAMES IF PqnVTIOU, AND CONVEPT LOOK-AhiGL-FS TOC ASALT INDEYC

CALL NAMFS(NAMF,NCRIT)Do 250 ITN~ =1,6

foC IF HIM .NF. 11) THENJ

C READ NEXT VULNFRA~iLE AWEA FILF FROM LOGICAL UNIT TTN"

'h VRS,NOCOM ,P?,i\JTIME?, ( r'IMS( I), 1:1,NTTM-E?)IRVRS =RVRS + 1.WR~ITE (1WRP 111) (TII-10)AZEL,YnN(IPVPS)

$ (FrTTM2 (I) ,FXCM2( I)pIt1 pIFMAX2)

C TEST TO BF SuREF NFA VA FILE IS COMiPATISLE

FTIm2(TFMAe?) = .F+3,dTF ((FNAX 2 .,'jF. I F-A x ) *OP. (NOCoxNIP2 .r'iF. b,,rofflf.~P

.OP. (M 'Fi? .NF . NT I E) rO TO 9S~0r)n 300 T I f1,r '~AX

I F (F T m~l .F . F T I MI) ) .P. Fxf.'() *F. C(rfrn ro 95n

S oo COINT I ',(Er) 0320o I =, rIMF

T F ( T I'L(r t Ff T I -AF 5 ) (1 T 1 'SO I3 0 COM T T %,"F

E m D TIFCALL AqPTnlI4( AlvF-Lp ILrm111

A-9

cS

c READ PRESEINTED ANDO VIJLNERARLE AREAS FOR EACil CRITTCAL cnmPotIFNT

DO ?00 J = ,NICRTTREAD (IIN,FNID=900) ICOm PCJ),PAREA.J), (CP)PAV(,T,K),K=l, "TIMAF)IF CNAMECJ) Fr). B3LAN~K)

WR~'ITE (NAMHE(J),IQ5) ICOThIPJWRITE CIWR,113) J,I%,AME(J),icnflMPCj),PAPEA(,),(C(1%,1PAV(J,K),

% K = ,NTI,4E)200 CONTINUJE

cC USEF THE PPESENITED AND VUL.NFRAALE AREAS IN SQ. FFFTC TO COMPLJTF PRESENTED) AREA AND AIDTH IN' SO. MIFTERS

C ASSUME SQ(JARE PRE, EITED AREA

DO 240 ~j toNCRITAP(JILOOK) =PAREA(J * 0.0q2903014WJIr)H(JpILO0K) =SQRT(AP(J,ILO0K))PK(lvJ) =0.0IF (PAREACJ) .GT. 1.E-06) THFH,

cc SOPI PK'S OVER ALL VIEWSC

PK(,J) PK(I,J) +COMAPAVCJ,TI) /PAQEA(J

240 CONMIJE250 CurTNUE

c AVERAGE THE PK'S FP(rO ALL ?6~ VIF14

Ml() DO110 J = 211IMDO 405 1 1.NCRIT

PK(J,r) PK(J,I) Ph2.()

410 C 0MTN tJi'E

C nETERMINF THE COMPONFNT CENIPOnt) LOCAl IONSC

CALL CETYY7(TCIMP,cnmpr!rRT rNANF)

C ASALT rARPiS 13, 1 4, AND 15 FrO EACH CRITIC,1l. U!pVV

DOr '490 T = io-:rRTT

;,vRTTF C luT,102) (PKJAMF(T) , OA(J) , 1

vwRITF (T~v4, 1?e?) TN!I EIOPI IA(~,~P+T, j1~~

A-10

C PRIN~T COMPOftfNT PK FilNCTIONS ON THF LINE. PRINTER TOOC

DO 500 1 = 1,NCRTr

500 CONTINUECC ALL DONE -- FORMAT 125 IS A RFMINDFR TO FINISH THE ASALT rINP1TC

STOP

C FATAL EHRnRs OETECTEn

900 WIVPTE C14P,126) II-NJSTOP

950 WPITE (Iylq,127) TINSTOPP

C F(IkMATS

101 FORMAT (10T8)102 FORMAT (IOE8.?)I103 FORM AT (ES.2,2I8)104a FOPMAT (AA,3E8.2)1i11 FORk, A T (l1,5X,*VIEA NtiR~F,?*3,q)(,(RVERSF1 )',uX 9

.5 ';4114PER OF COM1NENTV, i9X, FLlJX TA~I.e '/?X,*AZ =*,F6.1,* FL- =,F6.j,8X,A4,J1X,'T1OTAL_,

SCkTTTCAL'v13x,'TIM.F(SFC.) FLuX(. ,;/sio.C.P1/

112 FnRMAT (1,Ib *PRESENTED AREAS AND TRuIE COMPO)NENT VUl. IFR AFLE'*ARE.AS (S11JARE FEET) PEP TIME ~RE~~r

A ~~ . . CO(APONFNT . . . PRESENrErD*,3Q~v, II:.IF T~;CRFIiFNTS#/Y INnEx N A ME NIUM'PFR AREA',7X,1OF9.2)

121 FORMAT I'1

122 FORMAT U+ + + COMPONENT + + /0 INDEX N A NF NlImHEP,4$3(s 1-nnK-ANIr PRESENTED ARFA WTOTH ~

hT3~XAI6,X,35X Efl~ (SO5. PMFTEPS) (:.AEFT9.WSe)

123 F(NMAr (*1,tlIX,* * C 0 N Pn0N1F t~, T pb I~C I TONS F 1 A S AL T

'YrDAMAi;I'~jG F.N\FPr-Y LF'/FLS 0N'LOJ0t1.1-:5/Ru.c,-' ./ix, + + CiVAPONEAJT + + + i,F7.?,QFI'.?/3Y, T ,,fFX NAE NllmpFp i,7Q(*-'))

124' FOQN'AT (1x, T9,3(,j1MToir* V t(7.,.I ?c FoRMAT f( Al L rOON E - Alr) TO-4F AI1* PiNTS At.!( FAULT T'?1* *126 FOWMAT 0 1'ijFxPEC TEO FOE -- f N * "C(-),- f)NF~aT:= 13)1,e FnRPfA r VJA FTLE onFA onOT -AATrI4 - TIN=', T )I QL; FORMA T C i.1 1 ,I4

A- 11