JOINT TECHNICAL - DTIC
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
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
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-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
- - - 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-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-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
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
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
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
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