y "% 4^ /% ^ ••••• a *<\ ••» *V I* . « • o - ^^ 4 > ■*>.. ^ IT ** L ^ ^- » 41.*' ''«*» "»'g"d v « •*" ^* * > %flwr'» «v "d* °4a - • ■ ' A v » -nc. ^°- - 4 .0* \. ** A** \ * ^ ^ ^ ** *A lP-&. ** V \ 1 "- ^ -Ay -A.* 1 • l ' * ♦ o 1 V^' BUREAU OF MINES INFORMATION CIRCULAR/1989 A Computer Program To Rapidly Screen Explosion-Proof Enclosures By Frank T. Duda UNITED STATES DEPARTMENT OF THE INTERIOR Mission: Asthe Nation's principal conservation agency, the Department of the Interior has respon- sibility for most of our nationally-owned public lands and natural and cultural resources. This includes fostering wise use of our land and water resources, protecting our fish and wildlife, pre- serving the environmental and cultural values of our national parks and historical places, and pro- viding for the enjoyment of life through outdoor recreation. The Department assesses our energy and mineral resources and works to assure that their development is in the best interests of all our people. The Department also promotes the goals of the Take Pride in America campaign by encouraging stewardship and citizen responsibil- ity for the public lands and promoting citizen par- ticipation in their care. The Department also has a major responsibility for American Indian reser- vation communities and for people who live in Island Territories under U.S. Administration. Information Circular 9226 A Computer Program To Rapidly Screen Explosion-Proof Enclosures By Frank T. Duda UNITED STATES DEPARTMENT OF THE INTERIOR Manuel Lujan, Jr., Secretary BUREAU OF MINES T S Ary, Director -Uh- Library of Congress Cataloging in Publication Data: Duda, Frank T. A computer program to rapidly screen explosion-proof enclosures. (Information circular / Bureau of Mines 9226) Includes bibliographical references. Supt. of Docs, no.: I 28.27:9226. 1. Mine explosions-Safety measures- FORTRAN (Computer program language' circular (United States. Bureau of Mines); -Evaluation-Computer programs. 2. I. Title. II. Series: Information 9226 TN295.U4 [TN313] 622 s [622.8] 88-600338 CONTENTS Page Abstract 1 Introduction 2 Disclaimer of liability 3 Acknowledgments 3 Description of explosion-proof enclosure screening program 3 Package overview and system requirements 3 Operating procedure 3 Interactive main module-XPMAIN 4 Screen for flame path requirements module 4 Screen for acceptable materials of construction module 5 Material properties data base 5 Changing the material properties data base 6 Weld joint classification module 6 Screen for enclosure strength module 8 Penetrations 8 Bolt and cover strength 9 Body and panel strength 10 Internal static pressure 10 Internal explosion 11 Window and lens strength 11 Screen for ruggedness module 12 Example calculations for bolted cover 13 Comparison of solution techniques „ 16 Results of calculations performed on representative plates 17 Conclusions 17 Appendix A.-Files on disk 1, XP enclosure screening package 18 Appendix B.-Files on disk 2, XP enclosure screening package source code 19 Appendix C.-FORTRAN source code listing of XP screening package 20 ILLUSTRATIONS 1. Classification of welded joints 8 2. Geometry of circular penetrations 9 3. Geometry of bolted cover 10 4. Boundary conditions for rectangular plates 11 5. Response of one degree of movement elastic system 12 6. Stress factor for free window 12 7. Stress factor for clamped window 12 8. Window and lip geometry 12 9. Bolted cover used in sample simulation 13 10. Sample output for 12-bolt cover simulation 14 TABLES 1. Characteristics of steels commonly used in explosion-proof enclosure design 5 2. Characteristics of aluminums commonly used in explosion-proof enclosure design 5 3. Characteristics of glasses and resins commonly used in explosion-proof enclosure design 6 4. Characteristics of adhesives and sealants commonly used in explosion-proof enclosure design 6 5. Allowable structural discontinuities 7 6. Simulation dimensions and physical parameters 16 7. Comparison of solution techniques 16 8. Results of simulations performed on various plates 17 UNIT OF MEASURE ABBREVIATIONS USED IN THIS REPORT cm centimeter Kb kilobyte cu in cubic inch kip/in 2 kip per square inch op degree Fahrenheit lb/in 3 pound per cubic inch ft lb foot pound N/m 2 newton per square meter in inch pet percent in 2 square inch psi pound per square inch in/ft inch per foot psig pound per square inch, gauge A COMPUTER PROGRAM TO RAPIDLY SCREEN EXPLOSION-PROOF ENCLOSURES By Frank T. Duda 1 ABSTRACT A U.S. Bureau of Mines interactive FORTRAN computer program can screen explosion-proof enclosures intended for underground service. The program incorporates important information and criteria to assist enclosure manufacturers and Mine Safety and Health Administration (MSHA) personnel by providing a first-order approximation of rectangular explosion-proof enclosure characteristics prior to actual certification testing. The program uses information and data that can be retrieved automatically during program execution. The program also performs the calculations for a series solution algorithm and various equations to evaluate the enclosure for both a static internal pressure and an internal explosion. The program writes the intermediate and final calculations and information concerning the status of the screening process to a summary file on a floppy disk. One data base contains MSHA certification requirements given in the Code of Federal Regulations (30 CFR 18). A second data base contains material properties of acceptable construction materials and weld joint efficiencies. A series algorithm determines bolt and cover stresses for a simply supported rectangular cover with arbitrary bolt locations. Limit and yield line analysis is used to calculate the strength of body panels. 'Electrical engineer, Pittsburgh Research Center, U.S. Bureau of Mines, Pittsburgh, PA. INTRODUCTION To receive certification, an explosion-proof (XP) en- closure must meet the requirements of part 18, title 30 of the Code of Federal Regulations (CFR) and other policy guidelines of the Mine Safety and Health Administration (MSHA). 3 The MSHA investigator first visually checks the enclosure to make sure that it is properly constructed from acceptable materials. If the enclosure meets the visual requirements, it is then put through a lengthy and costly series of inspections and explosion tests. Finally, the applicant must perform static pressure tests on enclosures of a specific design. The test procedures must be submitted to MSHA for approval. A methodology to prescreen enclosures before sub- mitting them to the actual certification process was de- veloped by the U.S. Bureau of Mines under contract with the Southwest Research Institute. 4 The method addresses primarily the strength requirements. Southwest Research Institute had previously evaluated welding procedures, construction techniques, and the most common materials of construction used in the manufacture of XP enclosures. 5 It had also performed numerous tests and analyses on enclosures including 1. Finite-element analysis to determine stresses, strains, and deflections in the enclosure produced by internal static pressures. 2. Analysis to predict the response of enclosures to dynamic loading. 3. Hydrostatic testing of enclosures with measurements of strains, deflections, and strain patterns. 4. An analysis of stresses during impact and thermal shock tests for lenses (30 CFR 18.66). 2 U.S. Code of Federal Regulations. Title 30-Mineral Resources; Chapter I-Mine Safety and Health Administration, Department of Labor; Subchapter D-Electrical Equipment, Lamps, Methane Detectors; Tests for Permissibility; Fees; Part 18-Electric Motor-Driven Mine Equipment and Accessories; July 1, 1985. 3 Mitchell D. W. (Chief, Approval and Certification Center, MSHA). Letter to All Interested Parties, Apr. 22, 1977; available upon request from F. T. Duda, BuMines, Pittsburgh, PA. 4 Cox, P. A. Estimating Rectangular XP Enclosure Performance, Final Engineering Report. SW Res. Inst. Project 06-8188, 1984, 35 pp. 5 Cox, P. A., O. H. Burnside, E. D. Esparza, F. D. Lin, and R E. White. A Study of Explosion-Proof Enclosures (contract H0377052, SW Res. Inst.). BuMines OFR 96-83, Dec. 1982, 426 pp.; NTIS PB 83- 205450. 5. An experimental study of the response of XP en- closures to vibrations. These surveys, tests, and analyses contributed directly to the development and verification of a methodology for the rapid approximate evaluation of rectangular XP enclosure performance. The Bureau adapted that methodology into an inter- active computer package written in Microsoft 6 FORTRAN. The package is designed to be run on an IBM personal computer (PC) or compatible PC having two floppy disk drives and a 256-Kb memory. It can also be run on a PC equipped with a hard disk drive, one floppy disk drive, and a 256-Kb memory. An 8087 coprocessor will shorten execution time but is not mandatory. The package is intended to be used by both the manufacturers of XP enclosures and MSHA to provide a first- order approximation of rectangular XP enclosure characteristics prior to actual certification testing. Enclosures that are clearly inadequate can be redesigned by the manufacturer before expensive approval testing is begun. The computer program also formalizes a procedure currently being followed by MSHA and provides the inspector with a checklist to ensure that no evaluation criteria are overlooked. The first part of this report describes the computer program, data bases, and system requirements. Also in- cluded is the procedure for using the program. The sec- ond part of the report contains an example of the strength- screening aspect of the program to determine deflections and stresses on a 10.75- by 13.5-in bolted cover resulting from an internal static pressure of 100 psi. The input data and output results are presented. The results of calcu- lations performed on a 32-bit mainframe computer using a classical finite-element solution and results of the Bureau-developed program are compared to ensure the va- lidity of the results. Finally, the results of using the program to determine deflections on other panels and covers are presented. 6 Reference to specific products does not imply endorsement by the U.S. Bureau of Mines. DISCLAIMER OF LIABILITY The U.S. Bureau of Mines expressly declares that there are no warranties express or implied which apply to the software. By acceptance and use of said software, which is conveyed to the user without consideration by the U.S. Bureau of Mines, the user thereof expressly waives any and all claims for damage and/or suits for or by reason of personal injury, or property damage, including special, consequential or other similar damages arising out of or in any way connected with the use of the software. ACKNOWLEDGMENTS The author wishes to thank Michael Polcyn, research engineer, Southwest Research Institute, San Antonio, TX, for making available the VAX FORTRAN code for the series solution algorithm for calculating bolted plate deflections and stresses. DESCRIPTION OF EXPLOSION-PROOF ENCLOSURE SCREENING PROGRAM PACKAGE OVERVIEW AND SYSTEM REQUIREMENTS The XP enclosure screening package consists of two, double-sided, double- density IBM PC or compatible 5-1/4- in floppy diskettes and this report. Copies of the two diskettes can obtained from Pittsburgh Research Center U.S. Bureau of Mines P.O. Box 18070 Pittsburgh, PA 15236 Requests for the package should reference this report and include two, double-sided, double-density, 5-1/4-in floppy diskettes. The user is expected to have available a blank, formatted, 5-1/4-in floppy diskette. This report is designed to serve as a user's manual. It contains illustrations and tables that the user must refer to when using sections of the screening program. The screening program is designed for use on an IBM PC or compatible PC equipped with dual double-sided, 5-1/4-in floppy disk drives and a minimum of 256-Kb of random access memory (RAM). The program can also be run on a PC equipped with one floppy disk drive, a hard disk drive, and a 256-Kb memory, if appropriate changes are made in the loading procedure. An 8087 coprocessing chip is desirable but not mandatory. The time required for calculations will be decreased significantly if an 8087 is used. The XP program is designed to run as an executable task after the Microsoft disk operating system (MS-DOS), any version, is loaded. The ANSI device driver must be installed at the time that the MS-DOS operating system is loaded. The first diskette, marked "XP Enclosure Screening Package," contains the executable image of the interactive XP program called XP.EXE and all the support files that make up the data bases. This is the only diskette necessary to run the program. The second diskette, marked "XP Screening Package Source Code," contains the FORTRAN source code for the main module program called XPMAIN.FOR, the FORTRAN source code for all the necessary subroutines called by XPMAIN.FOR, and a copy of this report as a DOS text file. Both diskettes should be write protected. The information for the data bases, the equations and sequence of calculations, and the graphs and figures were taken directly from the work cited in footnote 4. In most cases the data from the graphs and figures have been in- corporated in the data base or the computer code. Where such incorporation was not practical or possible, the user is directed to the tables or figures in this report. Appendix A contains a catalog of all the files on the two diskettes. Appendix B contains listings of the FORTRAN source code for XPMAIN.FOR and all the called subroutines. OPERATING PROCEDURE In order to run the screening program on a PC equipped with two floppy disk drives, MS-DOS must first be loaded in the PC. After the correct day and time is entered, the diskette marked "XP Enclosure Screening Program" should be installed in disk drive A and a blank formatted diskette should be installed in disk drive B. In response to the A: prompt, type the letters XP and then press the return key. The screening program will auto- matically load, and the following title display will appear in reverse video: XP ENCLOSURE SCREENING PROGRAM V5.0 08/11/88 WRITTEN BY: F. T. DUDA If the screen display is not working properly, the ANSI device driver probably was not installed when MS-DOS was loaded. If for some reason the ANSI device driver is not installed, the program will print an escape sequence to the screen instead of affecting the cursor movement. The file ANSI.SYS and the configuration file CONFIG.SYS must be on the diskette that is used to load MS-DOS. Also, the file CONFIG.SYS must contain the statement: DEVICE = ANSI.SYS. If the screen display is not working properly, the XP screen program should be terminated by striking the and C keys at the same time. MS-DOS should be reloaded, making sure that the ANSI device driver is correctly installed. In order to run the screening program on a PC equipped with a hard disk drive and one floppy disk drive, MS-DOS must first be loaded in the PC. The file ANSI.SYS and the configuration file CONFIG.SYS must be in the same directory that contains the MS-DOS op- erating system. All the files from the diskette marked "XP Enclosure Screening Program" should be copied to the hard disk. A blank formatted diskette should be installed in the floppy disk drive. In order to run the program, at the C: prompt type the letters XP and then press the return key. INTERACTIVE MAIN MODULE-XPMAIN The computer program described here is an interactive, menu driven program offering the user choices for per- forming a number of different tasks. It prompts the user for input data as well as appropriate choices from the main menu at every level of the program. Users have the option of only performing one task or being directed through a logical sequence of the screening process to ensure that they have not overlooked an important task. The program was written following a methodology de- veloped through a U.S. Bureau of Mines contract. The method addresses, primarily, enclosure strength. The tasks available to the user are the following: 1. Screen for flame path requirements. 2. Screen for weld classification. 3. Screen for acceptable construction materials. 4. Screen for enclosure and window strength. 5. Screen for ruggedness. Intermediate and final results of calculations as well as information about the status of the enclosure are written to a file called RESULT.DOC on the B drive diskette. After the program is loaded, an introduction describing the scope of the package and the operation instructions regarding the use of the package are displayed. Before the first menu is displayed, the user is asked for the iden- tification of the enclosure. This can be any label up to 64 characters in length. This identification is used to ref- erence the enclosure throughout the screening process. If users want to screen another enclosure, they must exit the XP program by choosing the appropriate menu item and then execute XP again. Each time that the program XP is executed, the summary file RESULT.DOC is written over. To save the summary file from a screening process, use the MS-DOS command RENAME and enter RESULT.DOC NEWFILE.DOC at the prompt before XP is executed again. At this point, users are asked if they want to perform a single screening task or if they want to be directed through a logical sequence of the total screening process. SCREEN FOR FLAME PATH REQUIREMENTS MODULE This feature of the package provides the users with the capability to view the applicable information for their en- closures concerning flame path requirements as specified in 30 CFR 18.31. After viewing the applicable flame path requirements, the user is asked to check the enclosure being screened against the clearance requirements. The user should measure the appropriate widths and clearances and also determine them from the enclosure drawings. If the enclosure does not meet the requirements, the information is written to the file RESULT.DOC. Flame path requirements are specified for the following three volume ranges for empty enclosures: less than 45 cu in, 45 through 123 cu in, more than 124 cu in. The program will ask the user to either enter the internal volume or to provide the dimensions of the enclosure panels so that the internal volume can be calculated. The program calculates the internal volume by first determining the inside dimensions of the enclosure by subtracting the thicknesses of the top face and bottom face from the front face and one of the side faces, and by subtracting two times the thickness of one side panel from the front face. The internal volume is then determined by multiplying the remaining area of the front face by the effective nonadjacent length of the side face. This procedure only works for a rectangular or square enclosure. The user is given the option to either accept the result of this calculation or to enter the volume. Flame path requirements specify both the joint width and joint clearance. The appropriate requirements keyed to one of the three volume ranges have been entered into a data base and can be retrieved by the user and viewed on the display. There are footnotes for some of the re- quirements which can be viewed also. Users are also provided with a procedure that they should follow for other then metal-to-metal joints such as gasketed surfaces. Because it takes several screens to view the data base for any one of the volume ranges, the user can freeze the screen at an appropriate section or review any previous screen. If the enclosure joints satisfy 30 CFR 18 requirements, it is unlikely that the requirements will be exceeded after an internal explosion. The bolted covers are checked in the task 4, screen for enclosure strength, to determine whether or not permanent bolt elongation will occur, which could alter the flame path. SCREEN FOR ACCEPTABLE MATERIALS OF CONSTRUCTION MODULE Material Properties Data Base A data base of acceptable construction materials and their corresponding mechanical properties are utilized by this task. There are four categories of materials that make up the data base. One lists acceptable steels, another lists acceptable aluminums, the third lists glasses and plastics, and the fourth lists adhesives and sealants. The material properties of yield strength, elastic modulus, Poisson's ratio, and density are stored in the data base keyed to the material. The user is asked to choose one of the four ma- terials. If the data base for either the acceptable steels or aluminums is chosen, the list of materials and their prop- erties is shown. The user is then asked to indicate which material is used in the construction of the enclosure. If the material is listed, the enclosure is rated acceptable for this part of the screening. Appropriate material properties for the steel, aluminum, and glass and plastic listings, such as the yield strength, can be retrieved and used if required by another task. The data bases for adhesives and sealants can be viewed also, although the material properties cannot be retrieved. Seven of the most commonly used steels, either wrought or cast, and their physical properties of yield strength, elastic modulus, Poisson's ratio, and density are stored in the STEELDES.DAT file. The acceptable steels and then- material properties are shown in table 1. Seven of the most commonly used aluminums, either wrought or cast, and their physical properties of yield strength, elastic modulus, Poisson's ratio, and density are stored in the ALDES.DAT files. The seven acceptable aluminums and their material properties are shown in table 2. Four of the most commonly used glasses and plastics and their physical properties of yield strength, elastic modulus, Poisson's ratio, and density are included in the GLASSDES.DAT file. The acceptable glasses and plastics and their material properties are shown in table 3. Two materials that are commonly used as both ad- hesives and sealants in the construction of explosion-proof enclosures are Hysol 934 bonding epoxy and GE108 RTV elastomeric adhesive and sealant. Their physical prop- erties of yield strength, elastic modulus, Poisson's ratio, and density are stored in a file called SEALDES.DAT and are shown in table 4. Table 1 .-Characteristics of steels commonly used in explosion-proof enclosure design 1 Yield strength, kips/in 2 Elastic modulus, kips/in 2 Poisson's ratio Density, lb/in y A-36 AISI 1025 low-carbon steel SA-516, grade 60 SA-573, grade 65 AISI Type 304 annealed stainless steel AISI 410 chromium stainless steel . . . . ASTM A48 cast iron, grade 30 STEELDES.DAT disk file. 36 29,000 0.33 0.286 55 29,000 .33 .284 32 29,000 .33 .286 35 29,000 .33 .286 35 29,000 .33 .286 35 29,000 .33 .286 30 29,000 .33 .260 Table 2.-Characteristics of aluminums commonly used in explosion-proof enclosure design 1 Yield strength, kips/in 2 Elastic modulus, kips/in 2 Poisson's ratio Density, lb/in 7 Aluminum alloy 2024 (T351) 5083-H32 (H116) 5456-H111 6061-T6 (T651) A201.0 T4 cast aluminum 2 . A319.0T6 3 A413.0 cast aluminum 4 . . . . 1 ALDES.DAT disk file, formerly ASTM .CQ51A formerly ASTM SC64D. formerly ASTM 413.0. 42 10,700 0.34 0.100 30 10,200 .33 .096 33 10,200 .33 .096 40 10,700 .34 .100 31 10,300 .33 .101 24 10,700 .33 .100 19 10,300 .33 .101 Table 3. -Characteristics of glasses and resins commonly used In explosion-proof enclosure design 1 Yield strength, kips/in 2 , at various temperatures Elastic modulus, kips/in 2 , at various temperatures Poisson's ratio Density, lb/in r 68° F 150° F 240° F 300° F 68° F 150° F 240° F 300° F Glass: Soda-lime NA Borosilicate .... NA Resin: Lexan 101 9.0 Merlon 3113 ... 9.2 NA NA 6.6 NA NA 6.3 7.9 6.4 NA 8.0 6.6 NA NA NA NA 10,000 NA NA NA 9,100 345 304 240 NA 335 302 220 NA 0.24 .25 .25 .25 0.0914 .0806 .0433 .0433 NA Not available. 'GLASSDES.DAT disk file. Table 4. -Characteristics of adhesives and sealants commonly used in explosion -proof enclosure design 1 Yield strength, kips/in 2 , at various temperatures Elastic modulus, kips/in 2 , at various temperatures Poisson's ratio Density, lb/in r 68° F 150° F 240° F 300° F 68° F 150° F 240° F 300° F Hysol 934 epoxy ... 10.0 GE108 RTV .05 8.0 6.9 NA NA 6.3 NA 300 NA NA 100 .190 NA NA NA 0.49 .49 0.040 .039 NA Not available. ^LASSDES.DAT disk file. Changing the Material Properties Data Base If a material and its properties are not found, but are judged to be more relevant than other materials listed in the data base, the appropriate file can be changed to in- clude the material and its properties using an editor such as the MS-DOS EDLIN editor or a word processor with ASCII text file capability. The user must exit the XP screening program in order to change the data base. The number of entries in a particular data base must remain fixed. For example, the data base for acceptable steels, STEELDES.DAT, must always have seven types of materials. In addition, the name of the material and its mechanical properties must always occupy the same col- umns in the data base. The best method to add a new material is to edit or write over one that is not relevant. It is also possible to add a new line or lines to the file providing that an equal number are deleted. Every time a new entry is added to the data base, one must be deleted to keep the total number equal to the original number. The user should note that some of the entries require two lines. To change one of those entries, both lines must be replaced by an entry requiring two lines. It is always possible to add a blank line if required. WELD JOINT CLASSIFICATION MODULE It is necessary to correctly classify all weld joints according to the American Welding Society welding code DW14.4 in order to assure that the joints will exhibit sufficient strength to withstand static loads and dynamic loading produced by an internal explosion. The main purposes of this section are to 1. Provide the user with a formalized procedure for the correct classification of the welded joints. 2. Determine whether any class VI welds are used. 3. Determine the static and dynamic joint efficiencies based on the weld classifications. Welds are classified in DW14.4 according to the joint configurations and inspection requirements. The user should classify the welds either from taking the infor- mation from the drawings or from visual examination of the welded joints of the actual enclosure. The user must first determine the class by the configuration of the welded joint as shown in figure 1. (The weld configurations could not be accurately displayed by the computer program.) The user then must make sure that the enclosure weld joints were properly inspected. Inspection requirements for the different classes are displayed for the user. It should be noted that classes I, II, and III require ultrasonic, radiographic, or dye penetrant inspections, which are seldom performed by enclosure manufacturers. Therefore, the vast majority of enclosures will fall within classes IV and V. Finally, the inspector must check the visual and dimensional requirements of the welds as given in table 5. It was not possible to display efficiently all the allowable structural discontinuities by class; therefore, the user is directed to use table 5. The welds must meet all the requirements of the class in order to be so classified. For example, if a weld has a joint configuration of class I as determined from figure 1, but only meets visual and dimensional requirements of class III, determined from table 5, the weld must be con- sidered a class III weld. The program determines the highest classification of the three categories and applies that classification to the weld joint. In addition, the user is asked if any class VI joints are used in the enclosure. A class VI joint is unacceptable for dynamic loading. The results of the classification procedure are written to the RESULT.DOC file. If any class VI joints were used, the enclosure would fail this section of the screening process. The static and dynamic efficiencies of the weld joint that are used in the body and panel strength section are determined by weld class. The static and dynamic efficiencies of the weld joints are stored by class in the WELDEF.DOC file. They are displayed to the user by class and can be extracted from the data base and used if required by another task. Table 5.-Allowable structural discontinuities AWS weld class 1 Extent of visual weld defects allowed Undercut Inadequate joint penetration Surface holes Weld bead irregularities IV Visually free from undercut in direction transverse to primary stress, 0.01-in max depth, smoothly contoured undercut parallel to direction of primary stress. Undercut 0.01-in max depth when direction transverse to primary stress. 1/32-in max depth when direction parallel to primary stress. . . do Undercut 1/32-in max depth when direction transverse to primary stress. 1/4 thickness of member or 1/16 in max depth when direction parallel to primary stress. Visually free from all evidence of inadequate joint penetration or types of fusion defects at root of weld. 1/3 thickness of member or 1/2-in max length inadequate penetration. Sum of all defects not to exceed 1 in per 12 in. 2/3 thickness of member or 3/4-in max length inadequate penetration. Sum of all defects not to exceed 1 in per 6 in. Thickness of member or 1-in max length inadequate penetration. Sum of all defects not to exceed 1 in per 6 in. Sum of 1/32-in max diam scattered or randomly distributed surface holes not to exceed 1/8 in/in 2 or 1/4 in per 12-in length. Linear orientation of holes. Sum of 1/16-in max diam surface holes not to exceed 1/4 in/in 2 or 1/2 in per 12 in. Sum of 3/32-in max diam surface holes not to exceed 3/8 in/in 2 or 3/4 in per 12 in. No visual inspection specified. Surface of weld to be ground or machined to produce smooth, uniform profile, blending with base metal, without notches, depressions or sharp edges. Rough irregular welds and excess rein- forcement to be ground smooth. No visual inspection specified. Do. VI do No visual inspection specified. do Do. AWS American Welding Society, ^o cracks allowed. i g f Class I Class H r-O-n I I C8=$ K n?^ Class HI r^?— ; £^ n ^3 ^3 Hdh Class 3£ ~ g \ ro> 1\Aa. a -l-i- KEY d Diameter CTS23 c3£3 n^tj rv — ? r£ f$ In«JJ Class 121 r^^ E^ ^ fV (b- op ^ ITL iv^i 3 Class 3ZL Figure 1 .-Classification of welded joints. SCREEN FOR ENCLOSURE STRENGTH MODULE The enclosure strength can be evaluated for both a static internal pressure and an internal explosion. The procedure treats only pressure loads; thermal loads are neglected. This task can be used to check the following different items of the enclosure strength: 1. Penetrations. 2. Covers, including the bolts that seal the cover to the enclosure body. 3. Body panels. 4. Windows and lenses. All penetrations, including windows, are included in item 1 regardless of where they are located in the en- closure. The construction of the reinforcements are checked to determine if the reinforcements contribute to any reduction in strength of the component containing the reinforcement. If there is a reduction in strength, it is considered when the appropriate component is screened in item 3. Analysis of the cover in item 2 includes the bolts that secure the cover to the enclosure body. The analysis of the bolted cover is based on a linear elastic analysis. However, the cover should also be analyzed as a body panel in item 3 if significant plasticity is indicated. Body panels refer to all panels in the remainder of the enclosure, including the enclosure bottom. The procedure of item 3 is set up so that as many panels as needed can be analyzed. Some irregular enclosures might require several panels to treat even one side of the enclosure. The windows and lenses are checked for strength to react to the internal pressure. The lip that supports the window or lens is checked also. Penetrations When penetrations for windows, cables, switches, etc., are placed through the structural boundary, reinforcement must be added around the penetration if stiffness and strength are not to be reduced. This section of the screening process calculates strength and stiffness factors for body panels that have circular penetrations for win- dows, cables, switches, etc. A calculated strength factor less than 1 for a penetration near the center line of a body panel, is an indication that the penetration has weakened the structure. For this case, the calculated strength factors are used in item 2 in the body panel screening process. The strength and stiffness factors are calculated using the elastic modulus and yield strength of the plate and reinforcement and the geometry of the reinforcement. Users can retrieve the appropriate elastic modulus and yield strength from the acceptable materials data base or they can enter them. The dimensions and location of the penetration must be entered according to the geometry shown in figure 2. The user must refer to figure 2 in this report since it was not possible to include the information in the screening program. The strength and stiffness fac- tors are computed for two orthogonal planes that are par- allel to the panel sides which pass through the penetration at the maximum opening. The strength factors STRFA and STRFB are used in item 2 in the body panel screening task if they meet the following two conditions: They are less than 1 and the penetration lies near the center line. As an example, if STRFB of the plate in figure 2 was less than 1, it would be used in the analysis of the plate because it lies near the center line, which is parallel to side B; however, STRFA would not be used because it is too far removed from the center line, which is parallel to side A. The calculated values for STRFA and STRFB are writ- ten to the RESULT.DOC file and are also passed on to the body panel screening task if appropriate. The stiffness factors STFFA and STFFB are calculated in this procedure also but they are not used directly in any other task of the package. However, the program writes this information to the RESULT.DOC file if they are less than 1 so that the user can be aware of a potential concern. A factor less than 1 is not cause to reject or fail the enclosure. For more complex geometries, the in- spector must estimate an equivalent thickness, t, or calculate the area moments of inertia of the before and after configurations. Dividing the after value by the before value gives STFFA and STFFB. Equations for the strength reduction factors are based upon the plastic sections modulus. The plastic section modulus is used because the analysis of enclosure strength is based upon yield line analysis methods. As for stiffness, the strength factors for more complex reinforcement must be calculated or must be estimated by using an equivalent t. Bolt and Cover Strength Stresses in the bolted cover can be calculated for any static pressure using a previously developed series solution algorithm. This algorithm can be used to calculate bolt and cover stresses for rectangular covers of arbitrary size and for arbitrary bolt spacing. The following are assumptions upon which the procedure is based: 1. Linear elastic behavior. 2. Cover bolted to a rigid structure. 3. Bolt heads rotate with the cover plate. 4. No shear deformations in the bolts or cover. The procedure is used to calculate the cover deflections, rotations, moments, shears, and stresses, and the moments and stresses of the bolts. The screening program needs the following information: 1. Dimensions of the cover. 2. Physical properties of the material of construction. 3. Pressure for which the analysis is to be made. 4. Number of bolts and their locations. 5. Physical properties of the bolts. 6. Dimensions of the bolts and their engagements. The user must enter the dimensions of the cover and bolt locations as described in figure 3. The bolt locations are given in x,y coordinates with the 0,0 location in the bottom left of the cover. Users can either retrieve the required physical parameters of the cover and bolts from the data bases or they can enter them. PLAN VIEW t — V 4 TV W z ^ 1A T-t Because the behavior of the bolts and cover are inter- dependent, an elastic analysis is used to give a coupled solution for stresses in the bolts and cover. If cover stresses exceed the material yield stress, the cover should then be analyzed as a panel. SECTION A-A Figure 2. Geometry of circular penetrations, a, b, h, length, width, and thickness, respectively, of panel containing penetration; D , diameter of penetration, including reinforcement; t, thickness of reinforcement; H, buildup of reinforcement. 10 KEY -$-Bolt locations PLAN VIEW Figure 3. -Geometry of bolted cover. A, B, length and width, respectively, of cover panel; A should always be longer than B. Users are given the option of having the screening pro- gram determine the minimum length of thread engage- ment for the bolts used. If they choose this option, they must obtain bolt data from outside references and/or from the enclosure drawing. The calculated value of the mini- mum length of thread engagement should be less than or equal to the length of thread engagement specified on the drawing or measured from the enclosure. The calculations are based on strength requirements only. If they are in conflict with the requirements of 30 CFR 18.31, the users must use their judgment in passing or failing the enclosure. The program uses the series solution algorithm to cal- culate the strength quantities for the cover at the center of each side and the middle of the panel, the locations where the maximum deflections are likely to occur. The program also calculates the moments and stresses for each bolt. The algorithm includes an infinitely squared set of linear algebraic equations. The deflections and stresses are determined from the solutions to a truncated set of those equations. In order to implement the algorithm in Microsoft FORTRAN and then integrate that code as part of the screening program, it was necessary to truncate the infinite series to three terms. A Gauss-Seidel iterative procedure was used to solve the resulting set of nine simultaneous linear equations. Stresses in the bolts and cover are based upon elastic material behavior. For this type of behavior, bolt axial stresses should not exceed the bolt yield strength, and the combination of bending and axial stress should not exceed the bolt ultimate strength. Using these criteria will assure that bolt stretch will not occur, which could increase the fiange-to-cover flame gap. Cover stresses can exceed the material yield stress. If they do, the user is encouraged to check the cover as a panel using the body panel strength analysis procedure. Body and Panel Strength The ability of an enclosure to withstand an internal static pressure of 150 psig and pressure loading produced by an internal explosion is predicted by using the results of calculations based on limit or yield line analysis techniques. The capability of an individual panel to withstand a static pressure is determined by performing a strength calcu- lation using the panel geometry, the panel material prop- erties, and the panel joint configuration. The calculation is repeated for each body panel. If the strength calculation is less than 150 psig for any body panel, the prediction is that the enclosure may not be able to withstand the actual static pressure test. For the internal explosion evaluation, a modified strength calculation is used to account for dy- namic effects. If the modified strength calculation is greater than 70 pet of the static pressure calculation for any individual panel, the prediction is that the enclosure will not pass the actual explosion test as specified in 30 CFR 18.62. The 70-pct factor is used to account for the fact that permanent deformations in the panel cannot exceed 0.040 in/ft. Internal Static Pressure An allowable static pressure is computed for the indi- vidual panels in the enclosure to determine whether or not they will withstand a 150-psig static pressure as required by 30 CFR 18. This calculation is based on a limit analysis that permits plastic hinges to form in the structure and residual deformations to develop. If the calculated allow- able static pressure for all the panels is greater than 150 psig, the enclosure is deemed acceptable for the static pressure loading. Intermediate and final results of the calculations are written to the RESULT.DOC file. The allowable static pressure, PA, is given by PA = RM/AB, (1) where RM = panel resistance, A = panel width, and B = panel length. The panel resistance is calculated from the panel yield strength, panel geometry, joint efficiency, and strength factors. The panel yield strength can be retrieved from the acceptable materials data base or entered. The panel length, width, and thickness must be entered. Dimension B, the length of the panel, must be the same or longer than dimension A, the width of the panel. The joint effi- ciencies are designated as EJA for the joint efficiency of the joint parallel to side A, and EJB as the joint efficiency of the joint parallel to side B. The efficiencies for dif- ferent types of joints can be retrieved from data bases. If the joints are welded, the efficiencies can be retrieved 11 according to class from the weld joint efficiency data base. If a bolted cover is being analyzed as a panel, appropriate joint efficiencies are calculated. If penetrations are pre- sent, the strength reduction factors STRFA and STRFB calculated by item 1 of the "Screen for Enclosure Strength Module" section are used. If no penetrations are present, or they do not contribute to a reduction in strength if present, a value of 1.0 is used. Internal Explosion To determine whether or not a panel is adequate for dynamic loading, and equivalent static pressure, PEQ, is first calculated and then compared to the previously de- termined allowable static pressure, PA, from the internal static pressure section. This section should be performed immediately after the internal static pressure check. The allowable static pressure is reduced by a factor of 0.7 to limit permanent deformations in the enclosure to values approximately equal to 0.04 in/ft. If PEQ is less than 0.7 PA, the enclosure panel is considered adequate for the dynamic loading. In order to calculate the equivalent static pressure, PEQ, a peak explosion pressure and minimum pressure rise time must be first estimated. A value of 100 psig is used as a peak explosion pressure in the algorithm. An estimate for the minimum pressure rise time (TRMIN) in milliseconds is estimated by the equation (TRMIN) = (PMAX/4.77) * (^VOLUME ). (2) The user must enter the volume of the enclosure in cubic meters or use the volume if it had been previously determined during the flame path screening section. A dynamic load factor, DLF, must then be determined for the panel. It is necessary to first determine a funda- mental circular frequency for the rectangular panel. The circular frequency is a function of the boundary conditions on the panel and its physical properties. The physical properties and geometry can be either retrieved from the data base or entered. The length, B, of the panel must be greater than the width, A. Possible boundary configu- rations are shown in figure 4. The user must determine the configuration number from figure 4 for the particular boundary conditions for the plate of interest. The fun- damental period, T, is calculated from the circular fre- quency. A ratio of the minimum rise time (TRMIN) to the fundamental period, T, is then calculated. The data from figure 5 are used by the computer program to cal- culate the DLF given the ratio TRMIN/T. PEQ is then determined by PEQ = (100 psig)*DLF. (3) Window and Lens Strength Headlight lenses are required to be at least the equiv- alent of 1/2-in Pyrex glass. The user is first asked to check all glass lenses to make sure that the thickness requirement is met. To check the strength of the windows and lenses, a pro- cedure is used that first determines a bending stress. This calculated stress is then compared to the yield strength of the material used for the window or lens. If the material is glass, the calculated bending stress must be less then one-half the yield strength for the window to be accept- able. If the material is plastic, the calculated bending stress must only be less than the yield strength of the plastic. The bending stress is calculated from the dimensions of the window, an assumed applied pressure of 150 psig, and a stress constant, K. The procedure is used for both rectangular and circular windows. If the window is rect- angular, the stress constant, K, is determined from either figure 6 or figure 7. Figure 6 is used if the edges of the window are free and figure 7 is used if the edges are clamped. Dimension A, the length of the window, must be longer than the width, B. If the window is circular, the stress constant, K, is determined by the type of support used for the window. A final check done in this section is to determine if the lip that holds the window can withstand the internal pres- sure. An allowable shear force, VA, which produces a plastic hinge at the built-in end of the lip, is first cal- culated. The yield strength of the lip material is needed by the algorithm. The user can either retrieve it from the acceptable materials data base or enter it. The user must enter the geometry as defined in figure 8. The allowable shear force, VA, is compared to an estimated shear force, VMAX, due to loading on the lip resulting from a 150-psig static pressure. The strength of the lip is considered acceptable if VA >VMAX. Configurations and No. F F 2 3 • / / 4 / KEY Clamped Simple support Free //////// ///////// A summary of intermediate and final results for TRMIN, T, PEQ, and DLF are written to the RESULT.DOC file. Figure 4. -Boundary conditions for rectangular plates. 12 TRMIN/T Figure 5. -Response of one degree of movement elastic system. Enclosure panel Figure 8.-Window and lip geometry. I, length of lip material; t L , thickness of lip; c, length of window supported by lip; P, uniform pressure loading over length of window. 2 3 4 5 6 A/B Figure 6. -Stress factor for free window. ~ 0.6 or P .4 o to •*-' Ul cc WRITER, *) WRITE(*,*> WRITE**,*) WRITE**,*) WRITE**,*) WRITE (*!*) WRITE**,*) WRITE(*,*) WRITE**,*) WRITE**,*) CALL RETURN *CLR) WRITE**, *)CLR,P0S2 IGO=20 NUMB=20 CALL DISPLAY !IG0, NUMB, CLR) IF (IG0.EQ.1) THEN 6100 OPEN *23,FILE='B: RESULT, DOC ,STATUS=' NEW' ) ELSE 6101 0PEN(23,FILE='C:RE5ULT.B0C ,STATUS='NEW' ) ENDIF 6103 CONTINUE IG0=21 NUMB=20 CALL DISPLAY (IGO, NUMB, CLR) 1001 WRITE **,*) CLR,P0S2 WRITE **,001) 001 FORMAT (IX,' ENTER THE IDENTIFICATION OF THE ENCLOSURE TO BE 1SCREENED' ) WRITE**,*) WRITE**,*) WRITE**,*)' WRITE**,*) WRITE**, +)' IF WRITE**,*)' WRITE**,*) READ (*,310) ID 310 FORMAT 2 WRITE (*,*) CLR.P0S2 WRITEt*,*)' DO YOU WANT TO:' WRITE (*,*) WRITEt*,*)' (1) DO YOU WANT TO PERFORM A SINGLE TASK' WRITEt*,*) WRITEt*,*)' OR' WRITE(*,*) WRITEt*,*)' (2) DO YOU WANT TO BE DIRECTED THROUGH THE' WRITE(*,*)' SCREENING PROCESS?' WRITEt*,*)' ' WRITEt*,*)' OR' WRITE(*,*) WRITE(*,*)' (3) DO YOU WANT TO EXIT' WRITE (*,*) WRITE (*,*) WRITE (*,'(A\)') ' INPUT YOUR CHOICE-)' READ (*,'(BN,I6)')I1 IF (Il.EQ.l) THEN IFLAGX=1 ELSEIF (I1.EQ.2) THEN IFLA6X=2 ELSEIF (I1.EQ.3) THEN GOTO 20 ELSE WRITE (*,*)' YOU ONLY HAVE TWO CHOICES, (1) OR (2)' WRITE (*,*)' TRY AGAIN' GO TO 2 ENDIF IF (IFLAGX.EQ.2) THEN WRITE(*,*) CLR.P0S2 WRITE(*,*)' YOU HAVE CHOSEN TO BE DIRECTED THROUGH THE' WRITE(*,*)' SCREENING PROCESS' WRITE(*,*) WRITE(*,») CALL RETURN (CLR) WRITE(*,*) CLR.P0S2 WRITE(*,*)' YOU WILL BE DIRECTED THROUGH THE FOLLOWING' WRITE(*,*)' STEPS:' SCREEN FOR FLAME PATH REQUIREMENTS' SCREEN FOR WELD QUALITY EFFICIENCY' SCREEN FOR ACCEPTABLE CONSTRUCTION' MATERIALS' SCREEN FOR ENCLOSURE STRENGTH' SCREEN FOR ENCLOSURE RUGGEDNESS' WRITE(*,*) WRITE(*,*)' (1) WRITEt*.*)' (2) WRITEt*,*)' (3) WRITEt*,*)' WRITEt*,*)' (4) WRITEt*,*)' (5) WRITEt*,*) WRITEt*,*) CALL RETURN (CLR) 12=1 GO TO 3 ENDIF WRITE (*,*) CLR,P0S2 WRITE (*,*) CLR,P0S2 23 312 WRITE*.*, *)' DO YOU WANT TO:' WRITE (*,*) WRITE (*,*) WRITE (*,*)' (1) SCREEN FOR FLAME PATH REQUIREMENTS' WRITE(*.*)» (2) SCREEN FOR WELD QUALITY EFFICIENCY' WRITE**,*)' (3) SCREEN FOR ACCEPTABLE CONSTRUCTION' WRITE**,*)' MATERIALS' WRITE(*.*)' (4) SCREEN FOR ENCLOSURE AND/OR WINDOW STRENGTH' WRITE (*,*)' (5) SCREEN FOR ENCLOSURE RUGGEDNESS' WRITE**,*)' (6) END PROGRAM' WRITE (*,*) WRITE!*,*) WRITE (*,'(A\)') ' INPUT YOUR CHOICE — )' READ (*.'(BN.I6)')I2 3 CONTINUE IF (12.EQ.1) THEN ♦MODULE FOR FLAME PATH REQUIREMENTS********************************** WRITE (*,*) CLR.P0S2 WRITE(*,*)' THIS SECTION SCREENS FOR FLAME PATH REQUIREMENTS' WRITE**, *) WRITE(*.*) CALL RETURN (CLR) ♦INSTRUCTIONS GO HERE 390 CONTINUE WRITE**,*) CLR.P0S2 WRITE (*,*) ' DO YOU WANT TO' WRITE (*,♦) WRITE !*.*) WRITE (*,*)' (1) VIEW FLAME PATH REQUIREMENTS FOR YOUR ENCLOSURE' WRITE (*,*) WRITE'*,*) '(2) VIEW FOOTNOTES OF' WRITE(*,*)' 30 CFR PART 18 REQUIREMENTS' WRITE*.*,*) WRITER, *)' (3) NEITHER' WRITE (*,*) WRITE (*,*) WRITE (*,'(A\)')' INPUT YOUR CHOICE-)' READ (*,'*BN,I6)') Jl IF (Jl.EQ.l) THEN 4 WRITE (♦,♦) CLR,P0S2 311 WRITE(*,*>' DO YOU WANT TO:' WRITE (♦.♦) WRITER,*)' (1) ENTER INTERNAL VOLUME MEASURED FROM' WRITE(*,*)' ENCLOSURE IN CUBIC INCHES' HRiTEt*.*)' OR' WRITE**,*)' (2) TYPE IN ENCLOSURE DIMENSIONS KEYED TO' WRITE**, *)' COMPONENTS.' WRITE (*,*> WRITE (*,*) WRITE (*,'(A\)') ' INPUT YOUR CHOICE--)' READ **,'(BN,I6)')I1 IF (Il.EQ.l) THEN WRITE (*,♦) CLR.P0S2 WRITE (*,*)' ENTER VOLUME IN CUBIC INCHES' READ (*,*) VOLUME 24 WRITE (*,*) CLR, P0S2 WRITER, *)' THE VOLUME OF ENCLOSURE '.ID,' IS '.VOLUME,' 1 CU. IN.' ELSEIF (Il.EQ.2) THEN CALL VOLUM1 (CLR, P0S2, VOLUME) ELSE WRITER, *)' YOU ONLY HAVE TWO CHOICES' 60 TO 4 ENDIF WRITE (♦,*) WRITEf*,*) CALL RETURN (CLR) WRITE (*,*)CLR,P0S2 WRITE (*,*)' DO YOU WANT TO:' WRITE (*,*) WRITE(*,*)' (1) CONTINUE WITH THE PROGRAMS CALCULATED' WRITE(*,*)' VOLUME OF' WRITE(*,*)' ', VOLUME,' CUBIC INCHES' WRITE(*,*) WRITE (*,*)' (2) ENTER THE INTERNAL VOLUME ' WRITE(*,*) WRITE(*,*) WRITE(*,'(A\)')' INPUT YOUR CHOICE — )' READ (*,'(BN,I6)')IXX IF (IXX.EQ.2) THEN WRITE(*,*)' ENTER VOLUME IN CUBIC INCHES' READ (*,*) VOLUME ELSEIF (IXX.EQ.l) THEN GO TO 5 ELSE WRITE(*,*)' YOU ONLY HAVE TWO CHOICES, (1) OR (2)' WRITE (*,*)' TRY AGAIN ' GO TO 6 ENDIF IFLAGV=1 V=VOLUME WRITE(*7*> CLR.P0S2 IF (V.LT.45.) THEN WRITE (*,*)' VOLUME IS LESS THAN 45 CU. IN. ' IFLAG=1 ELSEIF (V.GE.45. .AND.V.LE.124.) THEN WRITE (*,*)' VOLUME IS BETWEEN 45 AND 124 CU. IN. 1 INCLUSIVE' IFLAG=2 ELSE WRITE (*,*) ' VOLUME IS MORE THAN 124 CU. IN.' IFLAG=3 ENDIF WRITER, *) WRITE(*,*) CALL RETURN (CLR) ELSEIF (J1.EQ.2.0R.J1.EQ.3) THEN GO TO 11 ELSE WRITE (*,*)' YOU ONLY HAVE THREE CHOICES' 25 GO TO 3 ENDIF 11 CONTINUE IF (Ji.EQ.l) THEN WRITE!*,*) TOP WRITE(*,*)' FLAME FATH REQUIREMENTS SPECIFIED IN PARAGRAPH 1 18.3 OF 30 CFR WILL BE' WRITER*) WRITE(*,*) 'DISPLAYED ON THE NEXT SCREEN. SINCE THESE 1 REQUIREMENTS l ARE VOLUME DEPENDENT, ' WRITE(*,») WRITE (*,*) 'THE REQUIREMENTS SHOWN ARE FOR YOUR ENCLOSURE, MD WRITER, *) 'WHICH HAS A VOLUME OF ',V,' CUBIC INCHES. ' WRITE(*,*) WRITE(*,*)' IT IS EXPECTED THAT YOU WILL COMPARE THE 1ENCLOSURE VALUES EITHER TAKEN FROM' WRITER, *) WRITE(*,*)'THE ENCLOSURE DRAWINGS OR ACTUAL MEAURSEMENTS FROM 1THE ENCLOSURE.' WRITE(*,*5 WRITE<*,*)' AFTER YOU HAVE HAD AN OPPORTUNITY TO VIEW THE 1REQUIREMENTS AND COMPARE YOUR' WRITER, *) WRITER,*) 'ENCLOSURE MEASUREMENTS TO THE REQUIREMENTS, YOU WILL 1BE ASKED IF THE ENCLOSURE' WRITE(*,*) WRITE(*,*) 'SATISFIES THE REQUIREMENTS OR NOT.' WRITEC+,*) WRITE(*,») WRITE(*,*) CALL RETURN (CLR) CALL FLAMEP(CLR,IFLAG) GO TO 391 ELSEIF (J1.EQ.2) THEN IGO=l NUMB=21 CALL DISPLAY (160. NUMB, CLR) GO TO 391 ELSEIF (J1.EQ.3) THEN IFUFLAGX.EQ.2.AND. IFLAGV.EQ.0) THEN WRITER, *) CLR,P0S2 WRITE!*,*)' YOU MUST CHOOSE 1' WRITE (*,*) WRITE(*,*) CALL RETURN (CLR) 60T0 390 ELSEIF ( IFLA6X . EQ. 2. AND. IFLAGV. EQ. 1 ) THEN WRITE'.*, ♦) CLR,P0S2 WRITE (*,*) ' SINCE YOU ARE BEING GUIDED THROUGH' WRITE(*,*)' THE SCREENING PROCESS, YOU WILL ' WRITE(*,*)' BE DIRECTED TO THE NEXT STEP WHICH IS TO' WRITE(*,*)' SCREEN FOR WELD QUALITY EFFICIENCY' 12=2 WRITE(*,») 26 WRITE(*,«) CALL RETURN (OR) 60 TO 3 ELSEIF (IFLA6X.EQ.1) THEN WRITE(*,*) CLR.P0S2 WRITE(*,*)'Y0U ARE DONE WITH THIS SECTION. YOU ONLY' WRITE(*,*) 'WANTED TO SCREEN FOR FLAME PATH REQUIREMENTS' WRITE(*,*) WRITE(*,*) WRITER, *) CALL RETURN (CLR) GOTO 2 ENDIF ELSE WRITE (*,*)' YOU ONLY HAVE THREE CHOICES, 1, 2,3' GO TO 390 ENDIF 391 CONTINUE IG0=2 NUMB=21 WRITE(*,*) CLR.P0S2 WRITE(*,*)' DOES THE ENCLOSURE MEET THE FLAME PATH' WRITE(*,*)' REQUIREMENTS AS SPECIFIED IN PARAGRAPH' WRITE(*,'(A\)')' 18.31 OF 30 CFR ? ' READ(*,310) ST 392 FORMAT (1X,32A,64A) IF (ST.EQ.'Y'.OR.ST.EQ.' '.OR.ST.EQ.'Y') THEN WRITE(23,*>' THE ENCLOSURE DOES MEET THE FLAME PATH' WRITE(23, *)' REQUIREMENTS AS SPECIFIED IN PARAGRAPH 18.31' WRITE(23,*)'0F 30 CFR.' IFLAGN=1 WRITE(23,*) ELSE WRITE(23,*)' THE ENCLOSURE DOES NOT MEET THE FLAME PATH' WRITE(23,*) 'REQUIREMENTS AS SPECIFIED IN PARAGRAPH 18.31' WRITE(23,*)'0F 30 CFR.' IFLAGN=0 WRITE(23,*> ENDIF GO TO 390 21 CONTINUE ELSEIF (I2.EQ.2) THEN CALL WELDCH(ID,CLR,P0S2,AAA) WRITE (*i*(A\)>) IF (IFLAGX.EQ.l) THEN WRITER*,*) CLR,P0S2 WRITE(*,*)' YOU ARE DONE WITH THIS SECTION. YOU ONLY' WRITE (*,*)' WANTED TO SCREEN FOR WELD QUALITY.' WRITE(*,*> WRITE(*,*) CALL RETURN (CLR) GO TO 2 ELSE 12=3 WRITE(*,*) CLR,P0S2 27 WRITE**,*)' SINCE YOU ARE BEING GUIDED THROUGH THE' WRITE**,*) 'SCREENING PROCESS, YOU WILL BE DIRECTED TO THE' WRITE(*,*)'NEXT STEP WHICH IS TO SCREEN FOR ACCEPTABLE' WRITE**,*) 'MATERIALS OF CONSTRUCTION.' WRITE**,*) WRITE**,*) CALL RETURN (CLR) GOTO 3 ENDIF ELSEIF (I2.EQ.3) THEN WRITE**,*) CLR.P0S2 WRITE**,*)' THIS SECTION SCREENS FOR ACCEPTABLE' WRITE**,*)' MATERIALS OF CONSTRUCTION' WRITE**,*) WRITE**,*) CALL RETURN (CLR) CALL MAT(P0S2,CLR,T0P) IF (IFLAGX.EQ.l) THEN WRITE**, *)CLR,P0S2 WRITE**,*)' YOU ARE DONE WITH THIS SECTION. YOU ONLY' WRITE**,*) 'WANTED TO SCREEN FOR ACCEPTABLE MATERIALS OF' WRITE**,*) 'CONSTRUCTION.' WRITE**,*) WRITE**,*) CALL RETURN *CLR) 60 TO 2 ELSE 12=4 WRITE**,*) CLR,P0S2 WRITE**,*)' SINCE YOU ARE BEING GUIDED THROUGH THE' WRITE**,*) 'SCREENING PROCESS, YOU WILL BE DIRECTED TO THE ' WRITE**,*) 'NEXT STEP WHICH IS TO SCREEN THE ENCLOSURE FOR' WRITE**,*) 'STRENGTH OF CONSTRUCTION.' WRITE**,*) WRITE**,*) CALL RETURN *CLR) GOTO 3 ENDIF ELSEIF* 12. EQ. 4) THEN WRITE**,*) CLR,P0S2 WRITE**,*)' THIS SECTION SCREENS FOR' WRITE**,*)' ENCLOSURE STRENGTH' WRITE**,*) WRITE**,*) CALL RETURN (CLR) WRITE**, *)CLR,P0S2 WRITE(*,'(A\)')' DO YOU WANT TO VIEW INFORMATION ?(Y)' READ (*,310) ST IF (ST.EQ.'Y'.OR.ST.EQ.'Y'.OR.ST.EQ.' ') THEN 60 TO 506 ELSE GO TO 505 ENDIF 506 160=4 NUMB=21 28 CALL DISPLA/(IGO, NUMB, CLR) IG0=5 NUMB=8 CALL BISPLAYdGO, NUMB, CLR) 505 CONTINUE WRITE(*,*)CLR,P0S2 CALL STREN ( ID.CLR, P0S2, IFLAGX, TOP, VOLUME, IRU6, PAN, IT) CALL RETURN >CLR) GOTO 800 elseif (i2.eq.5) then write(*,*)clr,p0s2 writet*,*)' this section screens for ruggedness' write(*,*)' irug: mrug,' it: ',it DO 4056 IPP=1,IT WRITE(*,*) WRITE(*,*> 'RM THICKNESS IN FT. A TINES B' 4056 WRITE(*,*)PAN(IPP,1),PAN(IPP,2),PAN(IPP,3) WRITE(*,*> CALL RETURN (CLR) IF(IRUG,EQ.0) THEN WRITE(*,*)CLR,P0S2 WRITE**, *>' YOU MUST DETERMINE THE RESISTANCE OF THE COVER' WRITE (*,*)' AND PANELS BEFORE YOU CAN DO THIS SECTION.' WRITE(*,*) WRITE(*,*)' YOU SHOULD CHOOSE 4 FROM THE MAIN MENUE-' WRITE(*, *) ' SCREEN FOR ENCLOSURE STRENGTH. . . . ' WRITE(*,*)' AND THEN CHOOSE 3 FROM NEXT MENUE ' WRITE(*,*)' CHECK BODY PANELS FOR STRENGTH. 5 WRITE(*,*) WRITE(*,*> CALL RETURN (CLR) ELSE WRITE(*,*)CLR,P0S2 WRITEt*.*)' YOU HAVE CHECKED SIT,' PANELS FOR STRENGTH.' WRITER*) WRITE(*,*)' YOU CAN EITHER CHECK ONLY THOSE PANELS FOR ' WRITE(*,*!' RUGGEDNESS OR YOU CAN 60 TO THE SECTION' WRITEt*.*)' THAT WILL DETERMINE THE PANEL RESISTANCE' WRITE(*,*)' FOR ALL PANELS.' WRITE!*,*) WRITEt*-*) WRITE(*,'(A\)')' DO YOU WANT TO CHECK THOSE F 0R RUGGE0NES5?<\ READ(*,310)STT IF (STT.EQ.'Y'.OR.STT.EQ.'y'.OR.STT.EQ.' MTHEN WRITE(*>*)CLR,P0S2 DO 4550 IPP=l,IT RKE=PAN(IPP,i)*PAN(IPP,2) WRITE (23,*) WRITE(23,*)' RKE FOR PANEL MPP,' IS ',RKE wnte(23,*) write(23,*)' RESULTS OF RUGGEDNESS SCREENING.' WRITE!23,») IF (RKE. GT. 3700.) THEN WRITE(23,*) WRITE (23,*)' PANEL ',IT,' DOES NOT MEET THE CRITERIA' 29 WRITE<23,*)' FOR SURFACES EXPOSED TO ROOF FALLS' WRITE<23,*> ENDIF IF(RKE.GT.8000.) THEN WR1TE<23,*) WRITEC23,*}' PANEL ML' DOES NOT MEET THE CRITERIA' WRITE (23,*)' FOR SURFACES EXPOSED TO SIDE IMPACT.' WRITE<23,*) ENDIF IF(RKE.GT.800.) THEN WRITE (23,*) WRITE (23,*)' PANEL ML' DOES NOT MEET THE CRITERIA' WRITE(23,*)' FOR PROTECTED SURFACES TO IMPACT.' WRITE (23,*) ENDIF 4550 CONTINUE ELSE GO TO S00 ENDIF ENDIF ENDIF 20 CONTINUE WRITE(*,*)' YOU ARE DONE.' END C Mm***************************************************** C * * C * SUBROUTINE BODY (BB.FOR) * C * * C M** ********* *******M*» **************************** ****** SUBROUTINE 80DY(CLR,POS2, I FLA6P, VOLUME, IRUG.PAN, IT, TOP) CHARACTER*! CLR(4) ,POS2(10),TOP<9) DIMENSION AT (5,3) DIMENSION PAN (20, 3) WRITE(*,*) CLR,POS2 THIS SECTION CHECKS BODY PANELS FOR AN INTERNAL' STATIC PRESSURE OF 150 PSIG AND FOR A PRESSURE ' LOADING PRODUCED BY AN INFERNAL EXPLOSION' BECAUSE NO DEFORMATION CRITERIA IS SPECIFIED IN ' 30 CFR PART 18 FOR A STATIC PRESSURE OF 150PSIG,' THE CALCULATION IS BASED ON A LIMIT OR YIELD ' LINE' WRITE(*,*) WRITE(*,*) WRITE(*,*> WRITE!*,*) WRITE(*,*) WRITER,*) WRITE(*,*) WRITE(*,*) WRITE(*,*) CALL RETURN (CLR) IS=0 IT=0 WRITE(*,*> CLR,P0S2 160=15 NUMB=20 CALL DISPLAY(IGO,NUMB-CLR) 200 WRITE(*,*) CLR,P0S2 WRITE(*,*)' THIS SECTION CHECKS BODY PANEL FOR AN INTERNAL' WRITEt*,*)' STATIC PRESSURE OF 150 PSIG.' WRITE(*,*) 30 IS=IS+1 CALL RETURN (CLR) WRITE (*,*! CLR,P0S2 WRITE(*.*)' THIS SECTION CHECKS TO SEE IF BODY PANEL' WRITER, *)' HAS A PENETRATION' WRITER*) CALL RETURN (CLR) WRITE(*,*) CLR.P0S2 WRITE(*,'(A\)')' DOES THE BODY PANEL HAVE A PENETRATION^)' READ (*, 310) ST 310 FORtlAT(A) IF (ST.EQ.'Y'.OR.ST.EQ.'Y'.OR.ST.EQ.' '■) THEN WRITE(*,*)CLR,P0S2 WRITE(*,*)' DO YOU WANT TO HAVE COMPUTER CALCULATE ' WRITE(*,'(A\)')' STIFFNESS FACTORS?(Y>' READ (*,310)ST1 IF (STl.EQ.'Y'.OR.STl.EQ.'Y'.OR.STl.EQ.' ') THEN IFLA6P=1 NNN=IS CALL PENET(CLR,P0S2, IFLAQP,STRFA,STRFB,A,B,EP,YP,HH,TOP l.NNN) WRITE(*,*) WRITE(*,*> STRFA,STRFB ELSE WRITE(*,*) CLR.P0S2 WRITE**,*)' YOU MUST ENTER STRFA.STRFB' WRITE(*,*) READ(*,*) STRFA,STRFB END IF ELSE STRFA=1. STRFB=1. ENDIF 100 WRITE(*,*)CLR,P0S2 WRITE(*,*)' THIS SECTION CHECKS FOR SUPPORTS' WRITE(*,*) WRITE(*,*)' WHICH TYPE OF SUPPORT DOES THE PANEL HAVE' WRITE**,*) WRITE(*,*)' (1) SIMPLE SUPPORTS' WRITE**,*)' (2) BEND' WRITE**,*)' (3) WELDED JOINTS' WRITE**,*!' (4) BOLTED COVER' WRITE**,*) WRITE**,' (A\)')' INPUT YOUR CHOICE — )' READ**, '(BN, 16)') IB IF (IB.EQ.l) THEN EJA=0. EJB=0. ELSEIF (IB.EQ.2) THEN EJA=1. EJB=1. ELSEIF ( IB. EQ. 3) THEN WRITE**, *)CLR,P0S2 WRITE**,*)' YOU MUST ENTER WELD JOINT EFFICIENCIES' WRITE**,*) CALL RETURN (CLR) 31 4000 WRITER WRITEC* WRITE!* WRITE!* WRITE!* WRITE!* WRITE!* WRITE (* WRITE!* WRITE(* WRITE!* READ (* )CLR,P0S2 )' DO YOU WANT TO:' (1) ENTER THE WELD JOINT EFFICIENCY' (2) VIEW THE WELD JOINT EFFICIENCY DATA BASE' WHICH SHOWS THE STATIC JOINT EFFICIENCIES' SHOWN BY CLASS OF WELD. ' )' )' )' *)' *) *) 5 (A\) ' > ' INPUT YOUR CHOICE — > ' '(BN,I6)')I24 IF (I24.EQ.1) THEN WRITE!*, *)CLR, P0S2 WRITE!*,*}' ENTER THE WELD JOINT EFFICIENCIES; EJA, EJB' WRITE!*,*)' EJA SHOULD BE FOR THE SHORTER SIDE AND EJB' WRITE!*,*)' SHOULD BE FOR THE LONGER SIDE. YOU SHOULD' WRITE!*,*)' ENTER THE EFFICIENCIES AS A PERCENTAGE.' WRITE!*,*)' ENTER EJA FOLLOWED BY SPACE AND THEN' WRITE!*,*)' EJB.' WRITE!*,*)' AS AN EXAMPLE, FOR AN EFFICIENCY OF 20 V WRITE!*,*)' YOU SHOULD ENTER 20.' READ!*,*! EJA, EJB EJA=EJA/100. EJB=EJB/100. ELSE WRITE!*, *)CLR,P0S2 CALL WELDE(CLR) WRITE!*,*) CALL RETURN (CLR) GO TO 4000 ENDIF 4500 CONTINUE ELSEIFdB.EQ.4) THEN WRITE!*,*) CLR,P0S2 WRITE!*, *)' DO YOU WANT TO:' WRITE!*,* WRITE!*,* WRITE!*,* WRITE!*,* WRITE!*,* WRITE!*,* WRITE!*,* WRITE!*,* WRITE!*,* WRITE!*,* WRITE!*,* WRITE!*,* WRITE!*, '(A\}'P INPUT YOUR CHOICE- — >' READ!*, '!BN, 16)') IBB WRITE!*,*) CLR.P0S2 IFflBB.EQ.D THEN WRITE!*,*) ■ YOU MUST ENTER JOINT EFFICIENCIES' WRITE(*,*> WRITE!*,*)' ENTER EJA FOLLOWED BY A SPACE AND THEN EJB' (1) ENTER THE JOINT EFFICIENCIES WHICH' ARE THE RATIO OF THE MOMENTS THAT' CAN BE RESTRICTED BY THE BOLTS' TO THE FULLY PLASTIC MOMENTS OF THE' COVER. ' (2) HAVE THE PROGRAM CALCULATE EJA AND' EJB FOR THE BOLTED COVER. ' 32 WRITEC*,*)' AS A PERCENTAGE LESS THAN 1007..' READ(*,*)EJA,EJB EJA=EJA*.01 EJB=EJB*.01 ELSE WRITEC*.*) 1 YOU HAVE CHOSEN TO HAVE THE PROGRAM ' WRITER,*)' CALCULATE THE JOINT EFFICIENCIES.' WRITEC*,*) WRITEC*,*)' THE PROGRAM WILL NEED THE FOLLOWING:' WRITEC*,*) WRITEC*,*)' COVER MATERIAL YIELD STRESS' WRITE(*,*)' YIELD LOAD FOR THE BOLT,' WRITEC*,*)' NUMBER OF BOLTS ALONG SIDE A, THE SHORT SIDE.' WRITEC*,*)' NUMBER OF BOLTS ALONG SIDE B. THE LONG SIDE.' WRITEC*,*)' COVER THICKNESS.' WRITEC*.*)' LENGTH EA FROM FIGURE 6.' WRITEC*.*)' LENGTH EB FROM FIGURE 6.' WRITEC*,*) WRITEC*,*) CALL RETURN (CLR) WRITEC*. *)CLR,POS2 IFN=0 IF(IFLAGP.EQ.l) THEN WRITEC*,*)' PREVIOUSLY DETERMINED VALUES ARE:' WRITEC*,*) WRITEC*,*)' COVER MATERIAL YIELD STRESS: ',YP WRITEC*,*)' COVER DIMENSIONS: A= ',A,' B= ',B WRITEC*,*)' COVER THICKNESS: ',H WRITEC*,*) WRITEC*,' (A\)') ! ARE THEY CORRECT? CLR,P0S2 CALL RETURN (CLR! WRITE!*,*)' ENTER THE THICKNESS OF THE COVER PLATE.' READ(*.*)H WRITE(*,*) UiR I TE ( * 7 * ) ' ENTER DIMENSION A FOLLOWED BY A SPACE' WRITEU,*)' AND THEN DIMENSION B.' HRITE(*i*J ENDIF ELSE ENDIF WRITE!*,*)' ENTER THE YIELD LOAD FOR THE BOLT IN KS1.' READ(*,*)BYL WRITE!*,*) WRITE!*,*)' ENTER THE NUMBER OF BOLTS ALONG SIDE A.' READ v*,*)EAN WRITE!*,*) WRITE!*,*)' ENTER THE NUMBER OF BOLTS ALONG SIDE B. ' READ!*,*) EBN WRITE!*,*} WRITE!*,*)' ENTER THE DIMENSION EA.' READ!*,*)EA WRITE!*,*) WRITE!*,*)' ENTER THE DIMENSION EB. ' READ!*,*) EB WRITE!*,*) EJA=(8. *BYL*EA*EAN) / (3. *A* (H**2. ) *YP) EJB= (8. *BYL*EB*EBN) / (3. *B* (H**2. ) *YP) ENDIF WRITE!*, *)CLR,P0S2 WRITE!*,*)' THE JOINT EFFICIENCIES ARE:' WRITE!*,*)' EJA = ', EJA,' EJB = ',EJB IF(EJA.8T,1.) THEN WRITE!*,*)' EJA CANNOT BE GREATER THAN 1.' WRITE!*,*)' YOU SHOULD RECALCULATE OR REENTER.' GO TO 100 ELSE ENDIF IF(EJB.6T.i.) THEN WRITE!*,*)' EJB CANNOT BE GREATER THAN 1.' WRITE!*,*)' YOU SHOULD RECALCULATE OR REENTER.' GO TO 100 ELSE ENDIF WRITE!*, *)CLR,P0S2 WRITEi*,*) WRITE!*,*) CALL RETURN (CLR) ELSE WRITE!*, *>' YOU MUST TYPE 1-4' CALL RETURN (CLR) 34 GOTO 100 ENDIF WRITEt*,*) CLR.POS2 *THIS SECTION DETERMINES C IF (IFLAGP.EQ.l) THEN CALL RETURN (CLR) YP=YP*1000. EP=EP*1000. WRITEC*,*)' VALUES OF DIMENSION A, DIMENSION 8' WRITEt*,*)' THICKNESS AND YIELD STRENGTH OF THE' WRITEt*,*)' PANEL ARE THE FOLLOWING. ' WRITEt*,*! WRITE(*,*)' DIMENSION A: ',A WRITEt*,*)' DIMENSION B: '.B WRITEt*,*)' THICKNESS H: »,H WRITE(*,*)' WRITEt*,*) YIELD STRENGTH IN KSI : '.YP/1000. IF2=0 WRITEt*,' ' READ{*,'{BN,I6)')I23 WRITE(*,*) CLR,P0S2 IF (I23.EQ.1) THEN WRITE**,*)' ENTER THE YIELD STRENGTH IN KSI' READ(*,*)YP ELSE CALL RETRI ' THE VALUE FOR STRFA USED IS ', STRFA WRITE (*.*)' THE VALUE FOR STRFB USED IS ', STRFB WRITE (*,»)' THE VALUE FOR EJA USED IS ',EJA WRITE (*,*)' THE VALUE FOR EJB USED IS ! ,EJB WRITE(*.MA\)')' ARE THEY CORRECT?(Y)' READ (*, 310) STT IF(STT.EQ.'Y'.OR.STT.EQ.'Y'.OR.STT.EQ.' ') THEN CONTINUE ELSE WRITE(*,*) 'ENTER STRFA' READ (*,*) STRFA WRITE(*,*) 'STRFA = ', STRFA WRITE(*,*) 'ENTER STRFB' READ(*i*) STRFB WRITE(*,*) 'STRFB = ', STRFB WRITE(*,*) 'ENTER EJA' READ(*,*) EJA WRITE (*,*) 'EJA = ',EJA WRITE'*,*) 'ENTER EJB' READ(*,») EJB WRITE(*,*)'EJB = ',EJB 60 TO 3031 ♦THIS SECTION CALCULATES PA PM0=,25*YP*(H**2) RM=12. *PMO* (STRFA+EJA+C* (STRFB+EJB) ) PA=RM/(A*B) IFLAGW=1 IT=IT+1 WRITE(23,*) WRITE (23,*) WRITE<23,*>' RESULTS OF PANEL SCREENING' WRITE (23,*) WRITE(23,*)' STATIC PRESSURE SCREENING' WRITE(*,*> WRITE(23,*)' PANEL NUMBER: MS PAN(IS,1)=RM PAN(IS,2)=H/12. PAN(IS,3)=A*B/144. IRUG=1 WRITE(23,*) WRITE (23,*) WRITE (23,*) WRITE(23,*) WRITE(23,*) WRITE(23,*) l.YP/1000. WRITE(23,*) WRITE(23,*) WRITE(23,*) WRITE(23,*) DIMENSIONS OF PANEL: ' A= ',A,' B= ',B,' THICKNESS= ',H THE VALUE OF A/B USED IN CALCULATION IS ',GX THE VALUE OF C USED IS ',C THE VALUE OF YIELD STRENGTH IN KSI USED IS ' THE VALUE FOR STRFA USED IS ', STRFA THE VALUE FOR STRFB USED IS ', STRFB THE VALUE FOR EJA USED IS \EJA THE VALUE FOR EJB USED IS ',EJB 37 THE VALUE DETERMINED FOR RM IS ',RM THE VALUE DETERMINED FOR PA IS \PA WRITE (23,* WRITE(23,* WRITE (23,*) IF (PA. LE. 150.) THEN WRITE(*,*)' BODY PANEL SHOULD BE REJECTED ' WRITEi*,*)' PA= ',PA WRITE(23,*)' THE BODY PANEL SHOULD BE REJECTED WRITE(23,*)' THE CALCULATED STATIC PRESSURE PA' WRITE(23,*)' IS LESS THAN 150 PSIG.' WRITE(23,*)' PA= ',PA ELSE WRITE (*,*)' BODY PANEL OK ' WR1TE(*,*)' PA= ',PA WRITE (23,*)' BODY PANEL OK ' WRITE(23,*)' PA= ',PA ENDIF ♦CHECK ANOTHER PANEL CALL RETURN (CCR) 400 2001 WRITE ( WRITE ( WRITE ( WRITE( WRITE ( WRITE( WRITE( WRITE( WRITE ( WRITE ( WRITE( WRITE ( WRITE( WRITE ( WRITE ( WRITE ( WRITE ( WRITE ( ,*) CLR,P0S2 ,*)' DO YOU WANT TO ,*! (11 ',*)' >,*)' ',*)' ',*)' -,*)' ',*)' ■,*)' >,*)' >,*) >,*)' >,*) >,*)' ',*) ',*) ,'(A\)')' READ(*,'(BN,I6)') IF (IG.EQ.l) THEN GO TO 200 ELSEIF (IG.EQ.2) THEN GO TO 2001 ELSEIF (IG.EQ.3) THEN RETURN ELSE WRITE(*,*)' WRITE(*,*)' WRITE(*,*) WRITE(*,*) CALL RETURN (CLR) GO TO 400 ENDIF WRITE(*,*)CLR,P0S2 CONTINUE 160=16 NUMB=20 CHECK ANOTHER PANEL FOR STATIC PRESSURE. ' NOTE: YOU SHOULD ONLY CHOOSE THIS' OPTION IF YOU ARE NOT PLANNING' TC CHECK THE PREVIOUS PANEL' FOR DYNAMIC PRESSURE. YOU WILL' NEED THE PA VALUE TO CHECK FOR' DYNAMIC PRESSURE, ' (2) CHECK PANEL FOR DYNAMIC PRESSURE' (3) RETURN TO MAIN MENUE' INPUT YOUR CHOICE — )' IG YOU ONLY HAVE 3 CHOICES' TRY AGAIN' 38 CALL DISPLAY (160, NUMB, CLR) WRITE(*,*)CLR,P0S2 ************************ WRITE(*,*)' YOU MUST ENTER THE NUMBER AS AN INTEGER FROM' WRITER, *)' FIGURE 4 —ENTITLED' WRITE(*,*)' BOUNDARY CONDITIONS FOR RECTANGULAR PLATES' WRITE(*,*)' (INTEGER FROM 1 TO 5)' WRITE<*,*)' WHICH CORRESPONDS TO THE BOUNDARY CONDITIONS' WRITE(*,*)' FOR YOUR PANEL' READ(*,*)IR 5002 6X=A/B WRITER, *)' THE RATIO OF B/A USED IS' WRITE(*,*) 'B/A = :M./GX AT(1,1)=19.74 AT (1,2) =32. 08 AT(1,3)=71.56 AT(2,1)=11.68 AT(2,2)=13.71 AT(2,3)=18.8 AT(3,1)=28.95 AT (3, 2) =56. 35 AT(3,3)=145.5 AT(4,1)=24.02 AT (4, 2) =26. 73 AT (4, 3) =37. 66 AT (5,1) =35. 99 AT (5, 2) =60. 77 AT(5,3)=147.80 GX=1./GX IF (GX.GE.1.0.AND.GX.LT.1.5) THEN IC=1 ELSEIF (GX.GE.1.5.AND.GX.LT.2.5) THEN IC=2 ELSEIF (GX.GE.2.5) THEN IC=3 ELSE WRITE(*,*) ' A MUST BE LESS THAN B' WRITE (*,*) ' REENTER A FOLLOWED BY B' READ (*,*) A,B SO TO 5002 ENDIF GX=1./GX IF (IC.EQ.l) THEN XX=AT(IR,IC) ELSEIF (IC.EQ.2) THEN XX=AT(IR,IC) ELSE XX=AT(IR,IC) ENDIF WRITEt*,*)' THE VALUE OBTAINED FOR THE' WRITE(*,*)' FUNDAMENTAL CIRCULAR FREQUENCY FOR' WRITE(*,*)' THE RECTANGULAR PLATES' WRITE(*,») WRITE(*,*) 1 WHICH IS REFERENCED AS XX' WRITE(*,*)' FOR THE BOUNDARY CONDI TON' 39 WRITEC*,*)' NUMBER MR,' IS ',XX WRITE(*,*) WRITE(*,*)' ENTER THE ELASTIC MODULUS IN KSI' READ (*,*) EP EP=EP*1000. WRITE (*,*) ' ENTER POISSONS RATIO AS A DECIMAL' READ (*,*) PR WRITE (*,*) ' ENTER THE DENSITY IN LB/IN3' READ(*,*) DEN 3000 CONTINUE WRITE(*,*>' DETERMINED VALUES ARE:' WRITE**,*) WRITE(*,*)' YIELD STRESS IN KSI = ',YP/1000. WRITE(*,*)' ELASTIC MODULUS IN KSI= '.EP/1000. WRITE(*,*)' POISSONS RATIO= ',PR WRITE(*,*)' DENSITY= ',DEN WRITE(*,*)' A= ',A,' B= SB WRITE(*,*)' THICKNESS= ',H WRITE (*,*)' B/A = ', l./GX WRITE (*,*)' XX = ', XX WRITE(*,*) WRITE(*,'(A\)')' ARE THEY CORRECT?(Y)' READ (*, 310) STT IF(STT,EQ.'y'.OR.STT.EQ.'Y'.OR.STT.EG.' ') THEN CONTINUE ELSE WRITE(*,*)' ENTER THE YIELD STRESS IN KSI' READ(*,*)YP YP=YP*1000. WRITE(*,*) WRITE(*,*)' ENTER THE ELASTIC MODULUS IN KSI' READ(*,*)EP EP=EP*i000. WRITE(*,*) WRITE(*,*)' ENTER POISSONS RATIO AS A DECIMAL' READ(*,*)PR WRITE(*,*) WRITE(*,*)' ENTER DENSITY IN LB/IN3' READ (*,*) DEN WRITE!*,*)' ENTER A/B' READ(*,*)GX WRITE!*,*)' ENTER XX' READ(*,*) XX 60 TO 3000 ENDIF D=EP* !H**3. ) / ( 12. * ( 1 . -PR) **2. ) W=(XX)/((B**2.)*((DEN*H/D)**.5)) T=2000,*3.14/W WRITE (*,*) 'D = ', D , 'W = ', W, 'T = ', T WRITE(*,*)' A REASONABLE UPPER LIMIT FOR THE EXPLOSION' WRITE(*,*)' PRESSURE, WITHOUT PRESSURE PILING, IS' WRITE!*,*)' CONSIDERED TO BE 100 PSIG.' WRITE(*,*) WRITE(*,'(A\)')' DO YOU WANT TO USE 100 PSIG?' READ!*, 310) ST IF (ST.EQ.'Y'.OR .ST.EQ.'Y'.OR.ST.EQ.' ') THEN 60 TO 600 ENDIF WRITE!*,*) CLR,P0S2 WRITE!*,*)' ENTER THE DIMENSIONS A FOLLOWED BY B' WRITE!*, ♦)' OF PLATE IN INCHES:' WRITE!*,*) READ!*,*) A,B WRITE!*,*) WRITE!*,*)' ENTER THE THICKNESS OF COVER IN INCHES:' WRITE!*,*) READ!*,*) H WRITE!*,*) IFLAGA=1 ENDIF WRITE!*,*) CLR, P0S2 WRITE!*,' (A\)')' DO YOU WANT TO ANALYZE A COVER WITH B0LT3?' READ!*, 310) ST IF (ST.EQ.'Y'.OR. ST.EQ.'Y'.OR.ST.EQ.' ') THEN 60 TO 507 ELSE NB=0 GO TO 508 ENDIF 507 CONTINUE IF(IFLAGB.EQ.0) THEN WRITE!*,*) CLR,P0S2 WRITE (*,*)' YOU WILL BE ASKED TO INPUT BOLT' WRITE (*,♦)' POSITIONS AND BOLT SPECIFICATIONS' WRITE!*,*)' FOR COVER ANALYSIS.' WRITE!*,*) WRITE (♦,*)' THE BOLT POSITIONS ARE DESCRIBED ON THE PREVIOUS' WRITE!*, ♦)' SCREEN.' WRITE!*,*) WRITE!*,' (A\)')' DO YOU WANT TO VIEW IT AGAIN?' READ (*,310) ST 43 IF (ST.EQ.'Y'.OR.ST.EQ.'Y'.OR.ST.EQ. 1 ') THEN GO TO 600 ENDIF 651 WRITE(*,*)CLR,P0S2 WRITE(*,*)* DO YOU WANT TO:' WRITER,*) WRITE**,*) 1 (1) ENTER YOUR OWN BOLT CONFIGURATION.' WRITE!*,*)' (2) USE THE 12 BOLT CONFIGURATION' WRITE!*.*)' DESCRIBED ON THE FOLLOWING SCREEN.' WRITE!*,*)' (IF YOU CHOOSE THIS OPTION, DIMENSIONS' WRITE!*,*)' A, B, AND THICKNESS OF COVER WILL BE' WRITE!*,*)' CHANGED TO A=13.5, B=10.75, THICKNESS=.5' WRITE!*,*) WRITE!*,*) WRITE !*,'(A\)')' INPUT YOUR CHOICE — >' READ!*, '(BN, 16)') 124 IF (I24.EQ.1) THEN GO TO 650 ELSEIF (I24.EQ.2) THEN A=13.5 B=10.75 H=.5 WRITE (*,*) CLR.TOP 150=11 NUMB=20 CALL DISPLAY ( 160, NUMB, CLR) N8=12 XB!1)=.45 YB(1)=.45 XB(2)=4.65 YB(2)=.45 XB(3)=8.85 YB(3)=.45 XB(4)=13.05 Y8<4)=.45 XB!5>=.45 YBi5) =3.733 XB(6!=13.05 YB(6)=3.733 XB(7)=.45 YB(7)=7.016 XB(8)=13.05 YB(Si=7.016 XB<9)=.45 YB(9)=10.3 XB<10)=4.65 YB!10)=10.3 XB(11)=B.S5 YB(ll)=i0.3 XB(12)=13.05 YB!12)=10.3 GO TO 610 ELSE WRITE!*-,*)' YOU ONLY HAVE TWO CHOICES' 30 TO 651 ENDIF 44 650 WRITE (*,*) CLR.P0S2 WRITE!*,*)' ENTER THE NUMBER OF BOLTS: ' READ <*,*) NB WRITE!*,*) WRITE!*,*)' ENTER THE POSITIONS OF BOLTS AS DESCRIBED ON ' WRITER, *)' PREVIOUS SCREEN. ENTER THEM AS X,Y COORDINATES' WRITE!*,*)' SEPARATED BY A SPACE BETWEEN X AND Y AND ONE BOLT' WRITE!*,*)' COORDINATE PER LINE FOLLOWED BY A RETURN.' WRITE!*,*) DO 601 IDD=1,NB READ!*,*) XB(IDB),YB!IDD) 601 CONTINUE IFLAGB=1 ENDIF WRITE!*,*) WRITE!*,*) CALL RETURN (CLR) WRITE!*,*) 508 CONTINUE WRITE!*,*) CLR.P0S2 CALL RETURN !CLR) 610 WRITE!*,*) CLR,P0S2 WRITE!*,*)' YOU MUST ENTER THE ELASTIC MODULUS, YIELD' WRITE!*,*)' STRENGTH AND POISSONS RATIO OF THE COVER MATERIAL OR' WRITE!*,*)' RETRIEVE IT FROM THE ACCEPTABLE MATERIALS' WRITE!*,*)' DATA BASE.' WRITE!*,*) WRITE!*,*) CALL RETURN (CLR) 510 WRITE!*,*) CLR, P0S2 WRITE!*,*)' DO YOU WANT TO:' WRITE!*,*) WRITE!*,*) WRITE!*,*)' (1) ENTER THE ELASTIC MODULUS , YIELD' WRITE!*,*)' STRENGTH AND POISSONS RATIO ' WRITE!*,*)' (2) RETRIEVE THOSE VALUES FROM' WRITE!*,*) ' ACCEPTABLE MATERIALS DATA BASE' WRITE!*,*) WRITE!*,*) WRITE (*,'(A\)')' INPUT YOUR CHOICE — >' READ (*,'(BN,I6)')I222 IF (I222.EQ.1) THEN WRITE!*,*) CLR,P0S2 WRITE!*,*)' ENTER THE ELASTIC MODULUS OF COVER IN K5I' WRITE!*,*) WRITE!*,*)' FOR EXAMPLE, THE ELASTIC MODULUS OF A-36 STEEL' WRITE!*, ♦)' WOULD BE ENTERED AS 29000.' WRITE!*,*) READ !*,*) EP WRITE!*,*) CLR, P0S2 WRITE!*,*)' ENTER THE VIELD STRENGTH OF THE COVER IN KSI' WRITE!*, ♦) READ(*,*)YP WRITE!*,*) 45 WRITE!*,*)' ENTER POISSONS RATIO OF COVER IN DECIMAL FORMAT:' WRITE**,*) READ(*,») MU WRITE!*,*) CLR,P0S2 ELSE IF (I222.EQ.2) THEN CALL RETRI (CLR, P0S2, YP, EP, PR, DEN, IFLAGM, IFLAMI , TOP) MU=PR WRITE(*,*) CALL RETURN (CLR) ELSE WRITE!*,*)' YOU ONLY HAVE TWO CHOICES' WRITE!*,*) CALL RETURN (CLR) 60 TO 510 ENDIF EP=EP*1000. YP=YP*1000. WRITE!*,*) CLR, P0S2 WRITE!*,*) ' ENCLOSURE IDENTIFICATION: ' WRITE!*, 315) ID 315 FORMAT (1X.64A) WRITE!*, *) ' ' WRITE!*,*) WRITE!*,*) WRITE!*, 9030) A,B,H WRITE!*,*) WRITE!*,*)' COVER PLATE PROPERTIES' WRITE!*, 9050) EP,MU,YP WRITE!*,*) CALL RETURN (CLR) IF!NB.EQ.0)THEN BO TO 316 ELSE CONTINUE ENDIF 317 WRITE!*,*) CLR,P0S2 WRITE!*,*)' YOU MUST ENTER BOLT PROPERTIES AND DIMENSIONS' WRITE (*,♦)' AS DESCRIBED ON NEXT SCREEN OR USE VALUES FROM' WRITE!*,*) ' DATA BASE.' WRITE!*,*) WRITE!*,*) WRITE!*,' (A\)')' DO YOU WANT TO VIEW INFORMATION?(Y)' READ (♦, 310) ST 319 CONTINUE IF (ST.EQ.'Y'.OR.ST.EQ.'Y'.OR.ST.EQ.' ') THEN WRITE!*,*) CLR.TOP 160=10 NUMB=20 CALL DISPLAY (160, NUMB, CLR) WRITE(*-*)CLR,TOP ELSE CONTINUE ENDIF 318 WRITE(*,*)CLR,P0S2 WRITE (♦,*)' DO YOU WANT TO:' 46 (1) ENTER THE BOLT PROPERTIES AND DIMENSIONS' (2) USE THE VALUES FOR 1/2 INCH CLASS FIVE BOLTS' LISTED ON THE PREVIOUS SCREEN. ' VIEW PREVIOUS SCREEN. ' (3/ ,'(A\)')' MBN,I6)')I23 .EQ.l) THEN CLR.TOP INPUT YOUR CHOICE >' )' )' )' EB ) )' ENTER THE ELASTIC MODULUS OF THE BOLT IN KSI' FOR EXAMPLE, THE ELASTIC MODULUS OF STEEL' WOULD BE ENTERED AS 30000. ' ENTER POISSONS RATIO IN DECIMAL FORMAT* PRR (2 ♦ U+PRR): ) )' )DB ) )' )' ENTER THE DIAMETER OF THE BOLT IN INCHES. ' WRITER, *) WRITE'! WRITE ( WRITE! WRITE! WRITE! WRITE! WRITE! READ!* IF (12 WRITE! WRITE! WRITE! WRITE! READ!* WRITE! WRITE! READ ( EB=EB* GB=EB/ WRITE! WRITE! READ ( WRITE! WRITE! WRITE! WRITE! WRITE! READ!* WRITE! WRITE! WRITE! WRITE! READ!* WRITE! WRITE! WRITE! WRITE! READ!*,*) WRITE!*,*) CALL RETURN (CLR) AB=3.14*(DB/2.)**: ELSEIF (I23.EQ.2) EB=30000000. IB=. 003068 KS=1.333 AB=.1963 GB=11J LB= DB=.5 ELSEIF (I23.EQ.3) THEN ST='Y' GO TO 319 ELSE WRITE!*,*)' YOU ONLY HAVE 3 CHOICES.' ENTER THE AREA MOMENT OF INERTIA ABOUT ANY' DIAMETER. FOR EXAMPLE, FOR A 1/2 INCH BOLT, YOU' WOULD ENTER .003068. FOR OTHER BOLTS, THIS' INFORMATION IS FOUND IN MACHINERYS HANDBOOK.' IB ' ENTER THE SHEAR SHAPE FACTOR KS. < KS =4/3' ' FOR A CIRCULAR CROSS SECTION. ENTER 1.333 IF' ' YOUR BOLTS HAVE A CIRCULAR CROSS SECTION. ' KS ' ENTER THE THREAD ENGAGEMENT OF THE BOLT.' ' IN INCHES. A TYPICAL VALUE FOR A 1/2 INCH BOLT' ' WOULD BE .B5 INCH.' LB THEN ,85 47 GO TO 318 ENDIF 316 NN=3 CALL RETURN (CLR) WRITE (*,*)' STRESSES IN THE COVER OR BOLTED COVER SHOULD ' WRITE!*,*)' BE CALCULATED FOR A 150 PSI6 STATIC PRESSURE' WRITE!*,*)' USING THE ALGORITHM IN THIS SECTION.' WRITE!*,*) WRITE!*,*)' HOWEVER, YOU WILL BE PROVIDED AN OPPORTUNITY' WRITE!*,*)' TO ENTER ANY PRESSURE THAT YOU WANT TO USE.' WRITE!*,*) WRITE!*,*)' DO YOU WANT TO USE SOME OTHER PRESSURE BESIDES' WRITE!*,' (A\)')' THE 150 PSIG NORMALLY USED?!Y>' READ!*, 310) ST IF !ST,EQ,'Y'.OR.ST.EQ.'Y\OR.ST.EQ.' ') THEN WRITE!*,*) CLR,POS2 WRITE!*,*)' ENTER THE STATIC PRESSURE IN PSIG.' READ!*,*) P0 WRITE!*,*) ELSE P0=150. ENDIF IF (NB.EQ.0) THEN GO TO 556 ELSE CONTINUE ENDIF WRITE!*,*) CLR-.P0S2 WRITE (*,'(A\)')' DO YOU WANT TO CHECK BOLT THREAD ENGAGEMENT? ' READ(*,310)ST IF'ST.EQ.'Y'.OR. ST.EQ.'Y'.OR.ST.EQ,' ') THEN NT1=1 WRITE!*,*) CLR,TOP WRITE!*,*)' THREAD ENGAGEMENT' WRITE!*,*) WRITE!*,*)' THE MINIMUM LENGTH OF THREAD ENGAGEMENT,' WRITE!*,*) 'REQUIRED TO DEVELOP THE FULL STRENGTH OF THE BOLTS,' WRITE!*,*) 'IS CALCULATED IN THIS SECTION.' WRITE!*,*) WRITE!*,*) CALL RETURN (CLR) IG0=13 NUMB=20 WRITE!*,*) CLR, P0S2 CALL DISPLAY !IGO, NUMB, CLR) WRITE!*,*) CLR, TOP WRFE!*,*)' ENTER THE BOLT TENSILE STRESS AREA IN SQUARE INCHES.' READ(*,*)AT WRITE!*,*) WRITE!*,*)' ENTER THE MAXIMUM MINOR DIAMETER OF THE INTERNAL ' WRITE!*,*)' THREAD IN INCHES.' READ (*,♦) BKNMAX WRITE!*,*) WRITE!*,*)' ENTER THE MINIMUM PITCH DIAMETER OF THE EXTERNAL' WRITE!*,*)' THREAD IN INCHES.' 4S READ(*,*)ESMIN WRITE(*, WRITE!*, READ!*,* WRITE(*. WRITE!*, WRITE!*, WRITE!*, WRITE(*t WRITER, WRITE(*, WRITEt*, WRITE!*, )' ENTER THE NUMBER OF THREADS PER INCH.' BT ) )CLR,POS2 )' THE MINIMUM LENGTH OF THREAD ENGAGEMENT DEPENDS' )' ON WHETHER THE TAPPED MATERIAL (THE FLANGE) IS AS' )' STRONG AS OR WEAKER THAN THE BOLT. THE TENSILE' ' STRENGTH SOULD BE USED FOR COMPARISON. ' )' IS THE TAPPED MATERIAL AS STRONG AS THE BOLT-" WRITE!*,' (A\)')' PLEASE ANSWER YES OR NO.W READ <*,310)ST TLE=2. * ( AT) / (3. 14*BKNMAX* i . 5+. 57735*BT* (ESMIN-BKNMA)! ) ) ) WRITE!*, *>CLR,P0S2 IFtST.EQ. 'Y' .OR.ST.EQ. ' V .OR.ST.EQ- ' ') THEN CONTINUE ELSE WRITE!*,*) CLR,P0S2 WRITE!*,*)' ENTER THE TENSILE STRENGTH OF THE BOLT MATERIAL' READ!*,*)TSB WRITE!*,*) WRITE!*,*)' ENTER THE TENSILE STRENGTH OF THE TAPPED MATERIAL' READ!*,*)TSM WRITE!*,*) WRITE!*,*)' ENTER THE MINIMUM MAJOR DIAMETRER OF THE' WRITE (*,*)' EXTERNAL THREAD IN INCHES.' READ!*,*) DSMIN WRITE!*,*) WRITE!*,*) ' ENTER THE MAXIMUM PITCH DIAMETER OF THE' WRITE!*,*) ' INTERNAL THREAD IN INCHES.' READ!*,*) ENMAX WRITE!*,*) AS=3. 14*TLE*BKNMAX* < ( 1 . / (2. *BT) ) +. 57735* (ESMIN-BKNMAX ) ) AN=3.14*TLE*DSMIN *((1./(2.*BT))+.57735*(DSMIN-ENMAX )) TJ=(AS*TSB)/(AN*TSM) TLE=TLE*TJ ENDIF WRITE!*,*) CLR,P0S2 WRITE!*,*)' THE MINIMUM THREAD ENGAGEMENT LENGTH IS:' WRITE!*, *)TLE WRITE!*,*) WRITE!*,*) CALL RETURN (CLR) ELSE CONTINUE ENDIF CONTINUE 300 FORMAT (' INPUT FILE NAME-'\) 310 FORMAT (A) 556 CONTINUE WRITE!*,*) CLR, P0S2 WRITE!*, *) ' WORKING 49 H2 = H * H H3 = H * H2 PI = 3.141593 PI2 = PI * PI PI4 = PI2 * PI2 PI6 = PI2 * PI4 D = (EP * H3)/(12 0*(1 .0-MU*MU)) IF (NB.EQ.0) THEN GO TO 555 ELBE CONTINUE ENDIF Kll = EB * IB / (, >.0 * LB) K12 = 12.0 * EB * IB * KS + 4.0 * AB * GB * LB K13 = 12.0 * EB * IB * KS + AB * GB * LB * LB Kl = Kll * K12 / K13 K2 = AB * EB / (2 * LB) c c CALCULATE AA MATRIX c 555 CONTINUE * LB DO 1010 M=1,NN DO 1000 N=1,NN EPSILON(M,N) = 0.0 AA(M,N) = 0.0 1000 CONTINUE 1010 CONTINUE DO 1030 H=1,NN,2 DO 1020 N=1,NN,2 EPSILON(M,N) =1.0 1020 CONTINUE 1030 CONTINUE II = DO 1500 MP=1,NN DO 1400 NQ=1,NN II = II + 1 JJ = AP = MP*PI/A BQ = NQ+PI/B DO 1300 M=1,NN DO 1200 N=1,NN JJ = JJ + 1 IF (M .EQ. MP .AND. N .EG. NQ) THEN C(IIiJJ) = C PLATE DEFLECTIONS W(I) = WH) + AA(M,N) * SA * SB Mil) = WX ( I ) + AA(M,N) * A!" * CA * S3 WXX(I) = WXX(I) - AA(M,N) * AM2 * SA * SB WXXX(I) = WXXX(I) - AA(M,N) * AM3 * CA * SB WY(I) = WY(I) + AA(M,N) * Bh * SA * CB WYY(I) = WYY(I) - AA(M,N) * BN2 * SA * SB WYYY(I) = WYYYU) - AA(M,N) * BN3 * SA * CB WXY«I) = WXY(I) 4 AA(M,N) * AM * BN * CA * CB WXXYU) = WXXY(I) - AA(M,N) * AM2 * BN * SA * CB WYYX(I) = WYYX(I) - AA(M,N) ♦ AM i » BN2 * CA * SB 4900 CONTINUE 4950 CONTINUE MX = -D * (WXX(I) + MU * WYY(D) MY = -D * (WYY(I) + MU * WXX(D) MXY = D * (1 - MU) * WXYU) QX = -D * (WXXX(I) + WYYX(D) OY = -D * (WXXY(I) + WYYY(D) SIGMAX(I) = 6.0 * MX / H2 SIGMAYU5 = 6,0 * MY / H2 TAUXY(I) = 6.0 * MXY / H2 TAUXZ(I) = 1.5 * QX / H TAUYZ(I) = 1.5 * QY / H 5000 CONTINUE C COMPUTE BOLT STRESSES C DO 5300 1=1, NB WB'I) = 0.0 THETABX(I) =0.0 THETACY (I) =0.0 DO 5200 M=1,NN DO 5100 N=1,NN AM = M * PI / A BN = N * PI / B ] BOLT DEFLECTIONS WB(I) = NB1I) + AA(i1,N) * SIN(AM*XB(D) * SIN(BN*YBU)) THETABX(I) = THETABX(I) + AM * AA(M,N) * COS(AM*XB(D) * * SIN(BN»YB(D) THETACY(I) = THETACY(I) + BN * AA(M.N) * SIN(AM*XB' THE COVER SHOULD BE REJECTED.' WRITE!*,*) CALL RETURN (CLR) ELSE IF11=1+IF11 ENDIF 4000 CONTINUE IF (IF11.EQ.NB) THEN WRITE(23,*)' ALL OF THE BOLT AXIAL STRESSES ARE LESS THAN THE' WRITE(23,*)' BOLT YIELD STRENGTHS.' WRITE!*,*) CLR, F0S2 WRITE!*,*)' ALL OF THE BOLT AXIAL STRESSES ARE LESS THAN THE' WRITE(*,*)' BOLT YIELD STRENGTHS.' WRITE!*,*) CALL RETURN (CLR) XBX=SIGMAAX ( I ) +S IQMABX ( I ) +SIGMACY ( I ) DO 4011 1=1, NB IF(XBX.GT.BUS) THEN WRITE!23,*)' PREDICTED COMBINATION OF BENDING AND AXIAL STRESS' WRITEC23,*)' EXCEEDS THE BOLT ULTIMATE STRENGTH AT BOLT.,....' WRITE(23,*)I WRITE<23,*) WRITE (23,*)' THE COVER SHOULD BE REJECTED.' WRITE(23,*) WRITEC*,*) CLR,P0S2 WRITE!*,*)' PREDICTED COMBINATION OF BENDING AND AXIAL STRESS' WRITE(*,*)' EXCEEDS THE BOLT ULTIMATE STRENGTH AT BOLT ' WRITE(*,*)I WRITE(*,*) WRITE!*,*)' THE COVER SHOULD BE REJECTED.' WRITE!*,*) CALL RETURN (CLR) ELSE CONTINUE ENDIF 4001 CONTINUE ELSE ENDIF ENDIF DO 4003 1=1, NS SS=SIGMAX(I)+SIGMAY(I) IF(SS.GT.YP) THEN WRITE(23,*) WRITE(23,*)' PREDICTED COVER STRESSES EXCEED THE COVER' WRITE(23,*)' YIELD STRENGTH. THE COVER SHOULD BE ANALYZED' WRITE!23,*)' IN THE NEXT SECTION AS A PANEL.' WRITE!*,*) WRITE!*,*)' PREDICTED COVER STRESSES EXCEED THE COVER' WRITE!*,*)' YIELD STRENGTH. THE COVER SHOULD BE ANALYZED' WRITE!*,*)' IN THE NEXT SECTION AS A PANEL.' WRITE!*,*) CALL RETURN (CLR) ELSE ENDIF 56 4003 CONTINUE RETURN END C ******** ********************************** ♦ ************** c * * C * SUBROUTINE DISPLAY (DISPLAY. FOR) * C * * c ***********♦********+************************ ************ SUBROUTINE DISPLAY ( I GO, NUMB. CLR) CHARACTER*! TEXT (80), CLR (4) IF (IGO.EQ.l) THEN OPEN (21, FILE=' FOOTl.DOC') ELSEIF (IGO.EQ. 2) THEN OPEN (21, FILE=' DISP3.DOC) ELSEIF (IG0.EQ.3) THEN OPEN (21, FILE=' DISP4.DOC) ELSEIF (IGO.EQ.4) THEN OPEN (21, FILE=' DISP5.DOC) ELSEIF (IG0.EQ.5) THEN OPEN (21, FILE=' DISP6.DOC) ELSEIF (IG0.EQ.6) THEN OPEN (21, FILE=' DISP7.DOC) ELSEIF (IGO.EQ. 7) THEN OPEN (21, FILE=' DISP8.DOC') ELSEIF (IG0.EQ.8) THEN OPEN (21, FILE=' DISP9.DOC) ELSEIF (I60.EQ.9) THEN OPEN (21, FILE=' DISF10.DOC) ELSEIF (IGO.EQ. 10) THEN 0PEN(21,FILE='DISP11.D0C') ELSEIF(IGO.EQ.ll) THEN 0PEN(21,FILE='DISP12.D0C') ELSEIF (IGO.EQ. 12) THEN 0PEN(21,FILE='DISP13.D0C) ELSEIF (IGO.EQ. 13) THEN OPEN (21, FILE=' DISP14.DOC) ELSEIF (IGO.EQ. 14) THEN 0PEN(21,FILE='DISP15.D0C) ELSEIF (IGO.EQ. 15) THEN OPEN (21, FILE=' DISP16.DOC) ELSEIF (IGO.EQ. 16) THEN OPEN (21, FILE=' DISP17.DOC) ELSEIF (IGO.EQ. 17) THEN 0PEN(21,FILE='DISP18.D0C') ELSEIF (IGO.EQ. 18) THEN 0PEN(21,FILE='DISP19.D0C) ELSEIF (IGO.EQ. 20) THEN OPEN (21, FILE=' DISP1.DOC') ELSEIF (IGO.EQ. 21) THEN OPEN (21, FILE=' DISP2.DOC) ELSEIF (IGO.EQ. 22) THEN OPEN (21, FILE=' DISP20.DOC') ELSE CONTINUE ENDIF 57 WRITE(*,*)CLR DO 3100 IX=1,NUMB READ (21,3101) (TEXT (JX),JX=1, 80) WRITE(*,3102)(TEXT(JX),JX=1,79) 3100 CONTINUE 3101 FORMAT (80A) 3102 FORMAT (1X.79A1) WRITE;*,*)' » WRITE(*,*)' ' REWIND (21) CLOSE (21) CALL RETURN (CLR) RETURN END c * * C * SUBROUTINE FIS4 (FI64.F0R) * C * * C $**M*t***t*****iM*m*m****«*m**m**********t$m**** SUBROUTINE FI64(X,V) WRITE (*,*)' RATIO OF TR/T USED TO OBTAIN DLF',X READ (*,*) X IF (X.LE.1.0) THEN V=1.0* C0S(1.57*X) V=V+1. ELSEIF ((X.LE.2.0KAND. (X.6T.1.0)) THEN XX=X-1.0 V=.22*SIN(3.14*XX) V=V+1. ELSEIF ((X.LE.3.0).AND.(X.GT.2.0)) THEN XX=X-2.0 V=.14*SIN(3.14*XX) V=V+1, ELSEIF ((X.LE.4.0J.AND. (X.GT.3.0)) THEN XX=X-3.0 V=.1*SIN(3.14*XX) V=V+1. ELSE V=1.0 ENDIF WRITE(*,*> 'VALUE OF DLF RETURNED', V RETURN END C »»**»***♦**»♦»********♦♦*********♦*************»********+*** c * * C * SUBROUTINE FLAMEP (FLAMEP.FOR) * C * * SUBROUTINE FLAMEP (CLR, I FLAG) CHARACTER*64 FLM2(33) CHARACTER* 1 CLR (4) OPEN (10,FILE='FLAMEPR,DAT') OPEN dl,FILE=' FLAME1.DAT') WRITE (*,*) CLR ILOOP=0 58 READ (10,'(A64)')FLM2(1) WRITE (4,'(1X,A64)')FLM2(1) WRITE (4,4) WRITE (4,4) DO 2100 1=1,5 2100 CALL PRINT1 ( I , ILOOP. IFLAG) 2104 WRITE (*,*) WRITE (4,4) WRITE (4,4)' MORE DATA ON NEXT SCREEN ' WRITE (4,4) 1350 WRITE (*,'(A\)') ' TO VIEW NEXT SCREEN, TYPE RETURN' READ (*,310) ST 310 FORMAT (A) IF (ST.EQ.' ') THEN WRITE (4,4) ELSE WRITE (4,4) ' YOU MUST TYPE RETURN TO CONTINUE' GO TO 1350 ENDIF WRITE (4,4) CLR DO 2101 1=1,6 2101 CALL PRINT1 ( I , ILOOP, IFLAG) WRITE (4,4) WRITE (4,4) 2103 WRITE (4,4) ' IF YOU WANT TO REVIEW PREVIOUS SCREEN, TYPE 1' WRITE(4,4) WRITE (4,MA\)') ' OTHERWISE, TYPE RETURN' READ (4,310) ST IF (ST.EQ. '1') THEN REWIND 10 REWIND 11 ILOOP=0 WRITE (4,4) CLR READ (10,'(A64)'5FLM2(1) WRITE (4,'(1X,A64)MFLM2(1) WRITE (4,4) WRITE (*,*) DO 2102 1=1,5 2102 CALL PRINT1 ( I , ILOOP, IFLAG) GO TO 2104 ELSEIF (ST.EQ.' ') THEN REWIND 10 REWIND 11 CLOSE (10) CLOSE (11) WRITE (*,4) CLR RETURN ELSE WRITE(4,4) ' YOU CAN ONLY TYPE A 1 OR A RETURN' GO TO 2103 ENDIF END 59 C * * C * SUBROUTINE FOOT (FOOT, FOR) * C * » SUBROUTINE FOOT (160, NUMB, CLR) CHARACTERS TEXT (80), CLR (4) IF (IGO.EQ.l) THEN OPEN (21, FILE=' F00T1.DOC) ELSEIF (I60.EQ.2) THEN 0PEN(21,FILE='TW0.D0C) ELSEIF (I80.EQ.3) THEN OPEN (21, FILE=' THREE. DOC) ELSEIF (IGO.EQ. 4) THEN OPEN (21, FILE=' FOUR. DOC) ELSEIF (IG0.EQ.5) THEN OPEN (21, FILE=' FIVE, DOC) ELSEIF (IGO.EQ. 6) THEN 0PEN(21,FILE='SIX.D0C) ELSEIF (I60.EQ.7) THEN OPEN (21, FILE=' SEVEN. DOC) ELSEIF (ISO. EG. 8) THEN OPEN (21, FILE ELSEIF UG0.EQ.9) THEN OPEN (21,FILE='NINE.D0C) 'EI8HT.DOC') ELSEIF ( 180, EQ. 0PEN(21,FILE=' ELSEIF ( ISO. EQ. 0PEN(21,FILE=' ELSEIF ( ISO. EQ. 0PEN(21,FILE =1 ELSEIF (IGO.EQ. QPEN(21,FILE=' ELSEIF (IGO.EQ. 0PEN(21,FILE=' ELSEIF (IGO.EQ. 0PEN(21,FILE=' ELSEIF ( ISO. EQ. 0PEN(21,FILE=' ELSEIF (IGO.EQ. 0PEN(21,FILE=' ELSEIF (IGO.EQ. 0PEN(21,FILE=' ELSEIFdGO.EQ. 0PEN(21,FILE=' ELSEIFdGO.EQ. OPEN (21, FILE---' ELSEIFdGO.EQ. 0PEN(21,FILE=' else continue ENDIF WRITE(*,*)CLR DO 3100 IX=1,NUMB READ (21,3101) (TEXT(JX),JX=1, 80) 10) THEN TEN. DOC) 11) THEN ELEVEN.DOC) 12) THEN TWELVE. DOC) 13) THEN THIRT.DOC) 14) THEN F0URT.DOC) 15) THEN FIFT.DOC) 16) THEN SIST.DOC) 17) THEN SEVENT.DOC) 18) THEN EIGHTT.DOC) 20) THEN TWENT.DOC) 21) THEN TWENT1.DOC) 22) THEN TWENT2.DOC) 60 WRITE(*,3102)(TEXT(JX),JX=1,79) 3100 CONTINUE 3101 FORMAT (80A) 3102 F0RMAT(1X,79A1) WRITER.*)' ' WRITE(*,*>' ' REWIND (21) CLOSE (21) CALL RETURN (CLR) RETURN END **************** ******* ******************* **************** C * * C * SUBROUTINE MAT (MAT. FOR) * C * * C ********************************************************** SUBROUTINE MAT(P0S2,CLR,T0P) CHARACTERS POS2(10),CLR(4),TEXT(80),TOP(9) 3101 FORMAT (80A) 3102 FORMAT (1X,79A1) 3120 CONTINUE 3113 WRITE (*,*) CLR.P0S2 WRITE (*,*)' DO YOU WANT TO' WRITE <*,*) WRITE (*,*) WRITE (*,*)' (1) CHECK ACCEPTABLE STEELS' WRITE (*,*) WRITE (*,*)' (2) CHECK ACCEPTABLE ALUMINUMS' WRITE (*,*) WRITE(*,*) ' (3) CHECK ACCEPTABLE GLASSES AND PLASTICS' WRITE (*,*) WRITE (*,*)' (4) CHECK ACCEPTABLE ADHESIVES ' WRITE (*,*) WRITE (*,♦>' (5) RETURN TO MAIN MENUE' WRITE(*,*) WRITE(*,'(A\)')' INPUT YOUR CHOICE—)' READ (*,'(BN,I6)') J2 WRITE (*,*) CLR IFLAGM=1 IF (J2.EQ.1) THEN OPEN ( 13, FILE=* MATSTEEL. DAT' ) OPEN ( 14, FILE=' STEELDES. DAT' ) DO 3111 JX=1.6 READ (13,3101) (TEXT(IX).IX=1, 80) WRITE (*,3102)(TEXT(IX),IX=1,79> 3111 CONTINUE DO 3112 JX=1,18 READ (14,3101) (TEXT(IXi,IX=l, 80) WRITE (*,3102)(TEXT(IX),IX=1,79) 3112 CONTINUE WRITE(*,*) REWIND 13 REWIND 14 CALL RETURN (CLR) CALL STEELR(CLR,P0S2,YP,EP,PR,DEN,IFLASM,T0P ) 61 CLOSE (13) CLOSE (14) ELSEIF (J2.EQ.2) THEN OPEN ( 15, FILE*' MATAL.DAT') OPEN ( 16, FILE=' ALDES.DAT') DO 3114 JX=1,6 READ (15,3101) (TEXT(IX),IX=1, 80) WRITE (*,3102)(TEXT(IX),IX=1,79) 3114 CONTINUE DO 3115 JX=1,16 READ (16,3101) (TEXT(IX),IX=1, 30) WRITE (*,3102)(TEXT(IX),IX=1,79) 3115 CONTINUE WRITE(*,*) REWIND 15 REWIND 16 CALL RETURN(CLR) CALL flLUHR(CLR,P0S2iYPiEPiPR.DEN, IFLASMJOP) CLOSE (15 J CLOSE (16) ELSEIF (J2.EQ.3) THEN OPEN ( 17, FILE=' MAT6LASS, DAT' ) OPEN(ia,FILE='GLASSDES.DAP) DO 3116 JX=1,6 READ (17,3101) (TEXT(IX),IX=1, 80) WRITE (*,3102)(TEXT(IX),IX=1,79) 3116 CONTINUE DO 3117 JX=1 , 12 READ tI8:318in(TEXT(IXJtIX=l,BB) WRITE (*,3i02MT£XiUX.i,IX-i,7?l 3117 CONTINUE WRITE(*,») REWIND 17 REWIND 18 CALL RETURN (CLR) : CALL ALUP1R (CLR, P0S2, YP, EP , PR, DEN, IFLAGM, TOP) CLOSE (17) CLOSE (18) ELSEIF (J2.EQ.4) THEN 0PEN(19,FILE='MATSEAL,DAT') OPEN (20, FILE=' SEALDES. DAT' ) DO 3118 JX=1,6 READ (19,3101) (TEXT(IX),IX=1, 80) WRITE (*,3102)(TEXT(IX),IX=1,79) 3118 CONTINUE DO 3119 JX=i,6 READ (20,3101)(TEXT(IX),IX=1,80) WRITE (*,3102)(TEXT(IX),IX=1,79) 3119 CONTINUE WRITE(*,*) REWIND 19 REWIND 20 CALL RETURN (CLR) CLOSE (19) D_OSE!20) 62 ELSEIF (J2.EQ.5) THEN CALL RETURN (CLR) RETURN ELSE WRITE(*,*)' YOU ONLY HAVE FIVE CHOICES?' WRITE(*,*)' TRY AGAIN.., ' GO TO 3120 ENDIF GO TO 3120 END C MM«m*****M^m#*«m*m***m********M**t**»*+*t** c * * C * SUBROUTINE RETRI (R.FOR) * C * * c *♦♦*♦♦♦***»*♦*♦*#*«**##****♦#♦♦*♦*»#******♦*♦**♦♦*♦***♦***** SUBROUTINE RETRI (CLR,P0S2,YP,EP,PR,DEN, IFLAGM, IFLAM.TOP) CHARACTERS CLR (4) , P0S2 ( 10) , TOP (9) 0PEN(14,FILE='STEELDES.DAT' ) OPEN ( 16, FILE=' ALDES.DAT') WRITE(*,*) CLR,P0S2 WRITE(*.*)' WHAT IS THE MATERIAL? ' WRITE(*,*) WRITE**,*)' (1) STEEL' WRITE(*,*)' (2) ALUMINUM' WRITE(*,*) WRITE(*,'(A\)')' INPUT YOUR CHOICE >' READ (*,'(BN,I6)')IQ WRITE (*.*) CLR, P0S2 IF (IQ.EQ.l) THEN IFLAGK=0 CALL STEELR (CLR, P0S2, YP, EP, PR, DEN, IFLAGM, TOP) ELSEIF (IQ.EQ.2) THEN CALL ALUMR (CLR, P0S2, YP, EP, PR, DEN, IFLAGM, TOP) ENDIF CLOSE (14) CLOSE (16) RETURN END SUBROUTINE STEELR ( CLR, P0S2,YP,EP, PR, DEN, IFLAGM, TOP) CHARACTERS CLR(4) ,POS2(10) ,T0P(9) , AB INTEGER IT(7),ISS(7) CHARACTER*1 TEXTX(18,80> .TEXT (25) WRITE(*,*) CLR, TOP WRITE(*,*)' THE FOLLOWING IS A LIST OF ACCEPTABLE STEELS THAT' WRITE(*,*)' ARE NORMALLY USED FOR XP ENCLOSURE CONSTRUCTION.' WRITE(*,*) WRITE(*,*) DO 4110 JX=1,18 4110 READ(14,3101) (TEXTX(JX, IX), IX=1,80> DO 4111 JX=1,7 ISS(JX)=1 IF(JX.EG.l) THEN IS=1 ISS(JX)=0 ELSEIF (JX.EQ.2) THEN 63 IS=3 ISS(JX)=0 ELSEIF (JX.EQ.3) THEN I S-5 ELSEIF (JX.EQ.4) THEN IS=8 ELSEIF (JX.EQ.5) THEN 13=11 ELSEIF (JX.EQ.6) THEN IS=14 ELSE IS=17 END1F IT(JX)=IS DO 4 IXX=1,80 4 TEXTX(JX,IXX)=TEXTX(IS,IXX) 4111 WRITE (*,4112)' (',JX,')', WRITE!*,*) WRITE!*,*)' IF THE MATERIAL USED IN YOUR ENCLOSURE IS NOT' WRITE!*,*)' LISTED, ENTER AN 8. OTHERWISE, ENTER THE NUMBER' WRITE(*,*)' OF THE MATERIAL.' WRITE(*,*) WRITE!*,*) ' ENTER THE NUMBER FOR THE MATERIAL' WRITE(*,*J WRITE(*,'(A\)') ' INPUT YOUR CHOICE >' READ (*,' CLR.P0S2 WRITE(*,*)' YIELD ELASTIC POISSONS 1 DENSITY' WRITE(*,*)' STRENGTH MODULUS RATIO 1 ' WRITE(*,*)' REWIND 14 GO TO 7 6 CONTINUE IF (JX.EQ,8) THEN WRITE(23,*)' THE STEEL USED IN THE ENCLOSURE IS NOT LISTED' WRITE(23,*)' IN THE DATA BASE OF ACCEPTABLE CONSTRUCTION' WRITE(23,*)' MATERIALS.' ELSE ITT=IT(JX)-1 DO 8 ITTT=1,ITT 8 READ (14, 3102) AB WRITE(23,*>' THE STEEL USED IN THE ENCLOSURE WAS FOUND IN' WRITE(23,*)' THE DATA BASE OF ACCEPTABLE CONSTRUCTION' WRITE(23,*)' MATERIALS. THE STEEL USED IS:' IF(ISS(JX).EQ.0) THEN READ(14,3i04)(TEXT(JXX),JXX=l,25) WRITE(23,*HTEXT(JXX),JXX=1,25) ELSE READ(14,3104)(TEXT(JXX),JXX=1,25) WRITE(23,*)(TEXT(JXX),JXX=1,25) READ(14,3104)(TEXT(JXX),JXX=1,25) WRITE(23,*)(TEXT(JXX),JXX=1,25) WRITE (23,*) ENDIF ENDIF REWIND 14 7 CONTINUE 3104 FORMAT (25A) RETURN END SUBROUTINE ALUMR(CLR,P0S2,YP,EP,PR,DEN, IFLAGM,TOP) CHARACTERS CLR(4) ,POS2(10),TOP(9) -AB INTEGER IT(7),ISS(7) CHARACTER*1 TEXTX(16,80) .TEXT (25) WRITE)*, *) CLR,TOP WRITE (*,*)' THE FOLLOWING IS A LIST OF ACCEPTABLE ALUMINUMS THAT' WRITE(*,*)' ARE NORMALLY USED FOR XP ENCLOSURE CONSTRUCTION.' WRITE(*,*) WRITE(*,*) 65 DO 4110 JX=i,16 4110 READ (16, 3131) (TEXTX(JX,IX),IX=1,80) DO 4111 JX=t,7 ISS(JX)=1 IF(JX.EQ.l) THEN IS=1 iss' READ (*,'(BN,I6)')JX WRITEt*, *)CLR,P0S2 IF(IFLASH.EQ.l) THEN GO TO 6 ELSE CONTINUE ENDIF IF (JX.EQ.8) THEN IF THE MATERIAL USED IN YOUR ENCLOSURE IS NOT' LISTED, ENTER AN 8. OTHERWISE, ENTER THE NUMBER' OF THE MATERIAL. ' ENTER THE NUMBER FOR THE MATERIAL' WRITE (* WRITE(* WRITEt* WRITEt* READ (* WRITEt* READ (* WRITEt* *) CLR, P0S2 *)' YOU MUST ENTER YP,EP,PR, AND DEN FOR YOUR MATERIAL' *) *) 'ENTER YP ' *)YP ♦ )' ENTER EP ' *) EP *)' ENTER PR ' READ'*,*) PR 66 WRITER.*)' ENTER DEN ' READ (*,*) DEN ELSE ITT=IT(JX)-1 DO 5 ITTT=1, ITT 5 READ (16, 3102) AB READ (16,3103) YF,EP,PR,DEN END IF WRITE(*,*) CLR,P0S2 WRITE(*,*)' YP ',' EP ', ' PR ',' DEN' WRITE (*,*)YP,EP,PR,DEN 3101 FORMAT (80A) 3102 FORMAT (80A) 3103 FORMAT(26X,F2.0,10X,F5.0,10X,F3.2,8X,F4.3) WRITE(*,*) WRITE(*,*) CALL RETURN (CLR) REWIND 16 60 TO 7 6 CONTINUE IF (JX.EQ.8) THEN WRITE(23,*)' THE ALUMINUM USED IN THE ENCLOSURE IS' WRITE(23,*)' NOT LISTED IN THE DATA BASE OF ACCEPTABLE' WRITE<23,*)' CONSTRUCTION MATERIALS.' ELSE ITT=IT(JX)-1 DO 8 ITTT=1,ITT 8 READ (16, 3102) AB WRITE(23,*)' THE ALUMINUM USED IN THE ENCLOSURE WAS' KRITE(23,*)' FOUND IN THE DATA BASE OF ACCEPTABLE ' WRITE(23,*)' CONSTRUCTION MATERIALS. THE ALUMINUM' WRITE(23,*)' IS:' IFdSS(JX).EQ.O) THEN READ(16,3104)(TEXT(JXX),JXX=1,25) WRITE(23,») (TEXT(JXX),JXX=1,25) ELSE READ(16,3104) (TEXT(JXX), JXX=1,25) WRITE f 23, *) (TEXT (JXX),JXX=1, 25) READ(16,3104) (TEXT(JXX) , JXX=1,25) WRITE(23,*)(TEXT(JXX),JXX=1,25) WRITE(23,*) ENDIF ENDIF REWIND 16 7 CONTINUE 3104 FORMAT (25A) RETURN END C .fc**¥*****i*.**Y***********1i********* ********************* **** C * * C * SUBROUTINE PENET (PENET, FOR) * C * * C ************************************************************ SUBROUTINE PENET (CLR, P0S2, IFLAGP,STRFA,STRFB,A,B,EP,YP,HH,TOP 67 l.NNN) CHARACTER*! POS2U0) ,CLR(4) , TOP (9) - ST IFLAGP=0 WRITE**,*) CLR,P0S2 57 WRITE**, *) ' THIS SECTION CHECKS PENETRATION ' WRITE (*,*) WRITE(*t*) WRITE(*,t) ' IS THE REINFORCEMENT MADE FROM THE SAME' WRITE(*, ' (A\J ' ) ' MATERIAL AS THE PLATE?' READ (*,"BN:I6)')I222 IF CI222.EQ,1) THEN WRITE**,*) CLR.P0S2 WRITE**,*)' ENTER THE ELASTIC MODULUS IN KSI' WRITE**, *> WRITER,*)' FOR EXAMPLE, THE ELASTIC MODULUS OF A-36 STEEL' WRITE**,*)' WOULD BE ENTERED AS 29000.' WRITE**,*) READ (*.*/ ER EP=ER WRITE**,*) CLR,P052 WRITE'*,*) WRITE**, *)' ENTER THE YIELD STREN6TH IN KSI' WRITE**,*) WRITE?*,*)' FOR A-36, YOU WOULD ENTER 36.' WRITE**,*) READ**,*) YR yp=VR WRITE (*,*) ELSEIF(I222.EQ.2) THEN CALL PETRI (CLR, P0S2, YP, EP, PR, DEN, IFLA6M, IFLAMI , TOP) WRITE**,*) CALL RE TURN (CLR) YR=YP ER=EP ELSE WRITE-'*,*)' YOU ONLY HAVE TWO CHOICES' CALL RETURN (CLR) SO TO 53 END IF 68 ELSE WRITE I*.*) CLR,P0S2 WRITE!*,*) ' MATERIAL OF REINFORCEMENT IS DIFFERENT THAN ' WRITE!*,*)' THE MATERIAL OF THE PLATE.' WRITER,*) WRITE!*,*)' YOU MUST ENTER THE ELASTIC MODULUS AND YIELD ' WRITE!*,*)' STRENGTH OF EACH SEPARATELY OR RETRIEVE THEM FROM ' WRITE!*,*)' ACCEPTABLE MATERIALS DATA BASE,' WRITE!*,*) CALL RETURN (CLR) 54 WRITE!*,*) CLR.P0S2 WRITE!*,*)' DO YOU WANT TO;' WRITE!*-,*) WRITE!*,*) WRITE!*,*)' (1) ENTER THE ELASTIC MODULUS AND YIELD' WRITE!*,*)' STRENGTH OF REINFORCEMENT AND PLATE?' WRITE!*,*)' (2) RETRIEVE THOSE VALUES FROM THE' WRITE!*,*)' ACCEPTABLE MATERIALS DATA BASE?' WRITE!*,*) WRITE!*,*) WRITE!*,' (A\)')' INPUT YOUR CHOICE — >' READ {*,'(BN,I6)'5I22 IF (I22.EQ.1) THEN WRITE!*,*) CLR.P0S2 WRITE!*, ♦)' ENTER THE ELASTIC MODULUS OF THE REINFORCEMENT' WRITE!*,*)' IN KSI. FOR EXAMPLE, THE ELASTIC MODULUS' WRITE!*,*)' FOR A-36 STEEL WOULD BE ENTERED AS 29000.' READ!*,*) ER WRITE!*, *)CLR,P0S2 WRITE!*,*) WRITE!*,*)' ENTER THE YIELD STRENGTH OF THE REINFORCEMENT' WRITE!*,*)' IN KSI. FOR A-36 STEEL IT WOULD BE 36.' READ!*,*) YR WRITE!*,*) CLR,P052 WRITE!*,*)' ENTER THE ELASTIC MODULUS OF THE REINFORCEMENT' READ (*,*) EP WRITE!*,*) CLR,P0S2 WRITE!*,*)' ENTER THE YIELD STRENGTH OF THE PLATE' READ!*,*) YP WRITE!*, *)CLR,P0S2 ELSEIF (I22.EQ.2) THEN WRITE!*,*) CLR.P0S2 WRITE!*,*)' YOU ARE TO RETRIEVE THE ELASTIC MODULUS' WRITE!*,*)' AND YIELD STRENGTH OF THE REINFORCEMENT' WRITE!*,*)' MATERIAL.' WRITE!*,*) WRITE!*,*) CALL RETURN (CLR) CALL RETRI (CLR, P0S2, YP, EP, PR, DEN, IFLAGM, IFLAMI , TOP) ER=EP YR=YP WRITE!*,*) CALL RETURN (CLR) WRITE!*, *)CLR,P0S2 WRITE!*,*)' YOU ARE TO RETRIEVE THE ELASTIC MODULUS' 69 WRITE!*,*)' AND YIELD STRENGTH OF THE PLATE' WRITE (*,*) WRITE!*,*) CALL RETURN (CLR) CALL RETRI(CLR,PQS2,YP,EP,PR,DEN ! IFLAGM,IFLAMI,TGP) WRIT£(*, *) CALL RETURN (CLR) ENDIF ENDIF WRITE!*,*) CLR, TOP WRITE!*,*)' THE ELASTIC HODULOUS IN KSI OF THE REINFORCEMENT IS: 1 HRITE(*i*)ER WRITE!*, *) WRITE!*,*)' THE YIELD STRENGTH IN KSI OF THE REINFORCEMENT IS:' WRITE!*, *)YR WRITE!*,*) WRITE!*,*)' THE ELASTIC MODULOUS IN KSI OF THE PLATE IS:' WRITE!*, *)EP WRITE!*,*) WRITE!*,*)' THE YIELD STRENGTH IN KSI OF THE PLATE IS:' WRITE!*, *)YP WRITE!*,*) WRITE!*,*) WRITE!*,*) WRITE!*,*) WRITE!*,' !A\)')' ARE THESE VALUES CORRECT? W READ (*,310) ST IF (ST.EQ.'Y'.OR. ST.EQ.'Y'.OR.ST.EQ.' ') THEN GO TO 56 ELSE WRITE!*,*) CLR.P0S2 WRITE!*,*) ' YOU SHOULD REENTER THE VALUES' WRITE!*,*! CALL RETURN (CLR) GO TO 57 ENDIF 56 CONTINUE WRITE!*,*! CLRtTOP WRITE!*,*)' YOU MUST ENTER IN INCHES THE FOLLOWING ' WRITE!*, *)' DIMENSIONS WHICH ARE REFERENCED TO FIGURE 5.1:' WRITE!*,*) WRITE!*,*) WRITE!*,*) ' ENTER DIMENSION A, WIDTH OF PLATE CONTAINING' WRITE!*,*) ' PENETRATION' READ(*,*)A WRITE!*,*) WRITE!*,*)' ENTER THE DIMENSION 6, LENGTH OF PLATE' WRITE!*,*) 5 CONTAINING PENETRATION' READ!*,*) B WRITE!*,*) WRITE!*,*)' ENTER THE DIMENSION DO, OUTSIDE DIAMETER OF' WRITE!*,*)' REINFORCEMENT' READ i*-*) DO WRITE!*, ♦) WRITE!*,*)' ENTER THE DIEMNSION T, WIDTH OF CIRCUMFERENTIAL' 70 WRITE(*.*>' REINFORCEMENT' READ **,*) T WRITE**,*) WRITE(*,*)' ENTER THE DIMENSION H, HEIGHT OF REINFORCEMENT' READ (*,*) H WRITE(*-*) WRITE**,*)' ENTER THE DIMENSION H, THICKNESS OF PLATE' READ(*,*)HH WRITE(*,*! STFFA=1 . - (DO/A) + (ER/EF) * (2. * (T/A) * ( *H/HH) **3. ) ) STFFB=1 . - (DO/B) + (ER/EP) * (2. * (T/B) * ( (H/HH) **3. ) ) STRFA=i . - (DO/A) + ( YR/YP) * (2. * (T/A) + ( (H/HH) **2. ) ) STRFB=1.-(00/B) + (YR/YP)*(2.»(T/B)*((H/HH)**2J) IFLAGE=0 WRITE!*,*) CLR.P0S2 WRITE (*,*) ' THE CALCULATED VALUES ARE:' 511 WRITE(*,*) WRITE!*,*) WRITE(*,*)' STIFFNESS FACTORS: ' WRITE**,*) WRITE(*,*)' STFFA= ',STFFA,' STFFB= '.STFFB WRITE (*,*) WRITE(*,*) WRITE**,*) 3 STRENGTH REDUCTION FACTORS:' WRITER, *) WRITE(*,*)' STRFA= SSTRFA,' STRFB= ',STRFB WRITE**,*) WRITE**,*) CALL RETURN (CLR) IF (IFLAGE.EQ.l) GO TO 510 IFLAGP=1 SGA=STRFA SGB=STRFB IF (STRFA.LT.1..0R.STRFB.LL1.) THEN WRITE(*,*) CLR,P0S2 WRITE**,*)' IS THE PENETRATION NEAR A CENTER' WRITE**,' (A\)')' LINE OF THE PANEL? ' READ (*,310) ST IF (ST.EQ.'Y'.OR.ST.EQ.'Y'.OR.ST.EQ.' ») THEN If (STRFA.LT. 1.) THEN WRITE**, *!CLR,P0S2 WRITE**,*)' IS THE CENTER OF THE PENETRATION CLOSE TO' WRITE**,*!' TO THE CENTER LINE THAT IS PARALLEL TO' WRITE**,' (A\)')' SIDE A ?' READ(*,310)ST IF (ST.EQ.'Y'.OR.ST.EQ.'Y'.OR.ST.EQ.' ') THEN CONTINUE ELSE STRFA=1, END IF ELSE ENDIF IF*STRFB.LT.l.) THEN WRITE**, *)CLR,P0S2 WRITE**,*)' IS THE CENTER OF THE PENETRATION CLOSE TO' 71 i'fl WRITER*)' THE CENTER LINE THAT IS PARALLEL TO' WRITE(*,'(A\)')' SIDE B ?' READ(*t310)ST IF (ST.EQ.'Y'.OR.ST.EQ.'Y'.OR.ST.EQ.' ') THEN CONTINUE ELSE STRFB=1. ENDIF ELSE ENDIF ELSE STRFA=1. STRFB=i. ENDIF ELSE STRFA=1. STRFB=1. ENDIF CONTINUE WRITE (*,*)CLR,POS2 WRITE'*,*!' THE STIFFNESS AND STRENGTH FACTORS ARE:' WRITE(*,*) WRITE(*t*) IFLAGE=1 60 TO 511 CONTINUE WRITE(23,*> WRITE(23, WRITE (23, WRITE (23, WRITE (23, WRITE (23. WRITE (23, NRITE(23i WRITE (23, WRITE (23, WRITE (23, WRITE (23, WRITE (23, WRITE(23, WRITE (23- WRITE (23, WRITE(23, WRITE (23, WRITE (23, IF'STFFA. «te;23, WRITE i 23, WRITE (23, WRITE (23, WRITE (23, WRITE '23, ELSE WRITE (23, WRITE (23, ) ' THE PLATE THAT HAS THE PENETRATION IS: ' )NNN ) )' ITS DIMENSIONS ARE:' )' A: ',A,' B: ',B )' THICKNESS: ',HH )' OUTSIDE DIAMETER OF REINFORCEMENT, DO: ',D0 )' WIDTH OF CIRCUMFERENTIAL REINFORCEMENT, T: ',T )' HEIGHT OF REINFORCEMENT, H: ',H ) ' THE RESULTS OF THE CHECK FOR PENETRATION 1 ) ' REDUCTION ARE THE FOLLOWING: ' ) T , 1 ■ ) THEN )■■ THE STIFFNESS FACTOR IK THE X DIRECTION IS )' LESS THAN 1. ALTHOUGH THIS IS NOT CAUSE' »» FOR REJECTION, THERE IS A CONCERN.' j )' THE STIFFNESS FACTOR SFFA IS." JSTFFA THE STIFFNESS FACTOR IN THE X DIRECTION 72 WRITE (23, *>STFFA ENDIF IFtSTFFB.LT.l.) THEN WRITE(23,*! WRITE(23,*>' THE STIFFNESS FACTOR IN THE Y DIRECTION IS' WRITE(23,*)' LESS THAN 1. ALTHOUGH THIS IS NOT CAUSE' WRITE(23,*) ! FOR REJECTION, THERE IS A CONCERN.' WRITE (23,0 WRITE (23,*)' THE STIFFNESS FACTOR STFFB IS:' WRITE (23, *! STFFB ELSE WRITE (23,*! WRITE(23,*)' THE STIFFNESS FACTOR IN THE Y DIRECTION IS' WRITE (23,*) STFFB ENDIF WRITE(23,*) WRITE(23,*)' THE CALCULATED STRENGTH REDUCTION FACTORS ARE:' WRITE (23,*) WRITEC23,*)' STRFA= ',SGA,' STRFB= ',SGB WRITE(23,*) WRITE (23,*) WRITE(23,*)' AFTER CONSIDERING THE LOCATION OF THE' WRITE(23,*)' PENETRATION. THE STRENGTH REDUCTION' WRITE(23,*)' FACTORS THAT SHOULD BE USED IN FUTURE' WRITE(23,*)' CALCULATIONS ARE:' WRITE(23,*)' STRFA= '.STRFft,' STRFB= '.STRFB NNN=NNN+1 RETURN END C M**t**m****t*m***MM****************m*m*MiM*m** C * * C * SUBROUTINE PRINT1 (PRINT.FOR) * C * * C ******* + ***^* + *** + * + **** + ******* + + ********** + 'P****** + ****'!* + SUBROUTINE PRINT1 ( I , ILOOP, IFLAG) CHARACTER*64 FLM2(33) DIMENSION 6(5,3) DO 30 1C0UNT=1,3 IS=ICOUNT+ILOOP READ (li,'(A64)')FLM2(IS) IF (ICOUNT.EQ.l ) THEN READ (10, , (F5.0.F6.0iF6.0)')6(I.l)iG(I»2).6(I.3) WRITE (*,' (IX, A64,F6.4)')FLM2(IS), 6(1, IFLAG) ELSE WRITE (*,'(1X,A64)')FLM2(IS) ENDIF 30 CONTINUE IL00P=IL00P+3 RETURN END c *M^Mm************************************************** c * * C * SUBROUTINE RETURN (RETURN. FOR) * C * * C ♦*****♦** M^MM********************************** ********* 73 SUBROUTINE RETURN (CLR) CHARACTER*! CLR (4), ST 1340 WRITE(*,'(A\)')' TO CONTINUE, HIT RETURN' READ (*,350) ST IF iST.EQ.' '! THEN WRITE (*,*) CLR ELSE WRITE (*,*)' YOU MUST HIT RETURN TO CONTINUE' GO TO 1340 END IF 350 FORMAT (A) END C * * C * SUBROUTINE STREN (S.FOR) * C * * C fr*********** ************************************************ SUBROUTINE STREN (ID, CLR, P0S2, IFLA6X, TOP, VOLUME, IRUG.PAN, IT) CHARACTER*! CLR (4) , P0S2 ( 10) , TOP (9) , ST CHARACTER*64 ID DIMENSION PAN (20, 3) 310 FORMAT (A) WRITE (♦,*) CLR,P0S2 CALL RETURN (CLR) 51 WRITE(*,») CLR,P0S2 WRITE (*,*)' DO YOU WANT TO:' WRITE(*,*> WRITE(*,*) WRITE**,*)' (1) CHECK PENETRATIONS FOR STRENGTH' WRITEi*,*)' (2) CHECK COVER FOR STRENGTH' WRITE(*,*)' (33 CHECK BODY PANELS FOR STRENGTH' WRITE(*,*)' (4! CHECK WINDOWS AND LENSES FOR STRENGTH' WRITE(*,*)' '5) END THIS SECTION' WRITE(*,*) WRITE(*-.*) WRITE!*,' (A\)'P INPUT YOUR CHOICE — >' READ(*,'(BN,I6)')I22 IF(I22.EQ.!) THEN WRITE (*,*) CLR.P0S2 WRITE!*,' (A\)')' DO YOU WANT TO VIEW INFORMATION? (Y)' READ (*,310) ST IF (ST.EQ.'Y'.OR.ST.EQ.'Y'.OR.ST.EQ.' ') THEN GO TO 506 ELSE GO TO 505 ENDIF 506 IG0=6 NUMB=20 CALL DISPLAY (IGO, NUMB, CLR) IG0=7 NUMB-20 CALL DISPLAY (IGO, NUMB, CLR) 505 CONTINUE CALL PENFT' YOU MUST ENTER A NUMBER 1-5 CORRESPONDING' WRITE(*.*)' TO A BOUNDARY CONDITION IN TABLE 5,2' WRITE**,*) WRITE**,*)' ENTER A NUMBER 1-5.' READ (*,*)IC GO TO 200 ENDIF RETURN END C ************ ***************************#******»************* C * * C * SUBROUTINE SIMUL (TESTi.FOR) * C * * SUBROUTINE SIMUL (AA,X) INTEGER FLAG DIMENSION AA(9,9),X(50),A<9,10) N=9 ITMAX= 200 EPS=. 0000901 DO 1000 M1=1,N 1000 WRITE (*,6666) (AA(M,N1) ,N1=1,N) 6666 FORMAT (9E10.4) DO 42 11=1, N DO 41 JJ=1,N 41 A(II,JJ)=AA(II,JJ) 42 CONTINUE DO 40 11=1, N 40 A(II,10)=X(II) NP1=N+1 DO 3 1=1, N ASTAR=A(I,I) DO 3 J=1,NP1 3 A(I,J)=A(I,J)/ASTAR DO 9 ITER=1,ITMAX FLAG=1 76 DO 7 1=1, N XSTAR=X(I) X(I)=A(I,NP1) DO 5 J=1,N IF (I. EQ. J) GO TO 5 X(I) = X(I) -A(I,J)*X(J) CONTINUE IF (ABS(XSTAR-Xd)) .LE. EPS ) 60 TO 7 FLAG =0 CONTINUE IF (FLA6.NE.1 ) GO TO 9 WRITE(*,*)' METHOD DID CONVERGE' WRITE(*,*) ITER, (X(I),I=1,N) GO TO 1 CONTINUE WRITE (*,*) ' METHOD DID NOT CONVERGE)' CONTINUE WRITE(*,*) ITER, (X(I),I=1,N) RETURN END * * * SUBROUTINE V0LUM1 (VOLUME. FOR) * * * SUBROUTINE V0LUM1 (CLR, P0S2, VOLUME) DIMENSION F( 12), THICK (6) CHARACTER*! POS2(10),CLR(4) WRITE (*,*) CLR,P0S2 WRITE(*, WRITE(*, WRITE(*, WRITE(*, WRITE(», WRITE(*. WRITE(*, WRITE(», WRITER, WRITE(», WRITE(», WRITE (*, ENTER THE OUTSIDE DIMENSIONS AND THICKNESS' OF EACH FACE. ' THE PROGRAM WILL SUBTRACT 2 TIMES THE THICKNESS' OF THE FRONT FACE, 2 TIMES THE THICKNESS OF THE' LEFT FACE AND 2 TIMES THE THICKNESS OF THE' TOP FACE IN ORDER TO CALCULATE THE INTERNAL' VOLUME' IF THIS IS NOT CORRECT FOR YOUR ENCLOSURE, ' YOU MUST' ENTER THE INTERNAL VOLUME AS YOU MEASURED IT' FROM THE ENCLOSURE' CALL RETURN (CLR) WRITE (*,*) CLR,P0S2 WRITE (*,*)' ENTER THE DIMENSIONS OF THE FRONT FACE' WRITE (*,*)' LENGTH FIRST, FOLLOWED BY SPACE AND THEN WIDTH' READ (♦,*) F(1),F(2) WRITE (*,*)' ENTER THE THICKNESS OF THE FRONT FACE' READ (*,*) THICK (1) WRITE (*,*)CLR,P0S2 WRITE (*,*)' ENTER THE DIMENSIONS OF THE BACK FACE' WRITER, *)' LENGTH FIRST, FOLLOWED BY SPACE AND THEN WIDTH' READ (*,*) F(3), F(4) WRITER,*)' ENTER THE THICKNESS OF THE BACK FACE' READ (*,*) THICK (2) WRITE !*,*) CLR, P0S2 77 WRITE !*,*)' ENTER THE DIMENSIONS OF THE LEFT FACE' WRITE!*,*)' LEN8TH FIRST, FOLLOWED BY SPACE AND THEN WIDTH' READ !*,*) F(5),F!6) WRITE!*,*)' ENTER THE THICKNESS OF THE LEFT FACE' READ!*,*) THICK (3) WRITE (*,*) CLR.P0S2 WRITE (*.*)' ENTER THE DIMENSIONS OF THE RIGHT FACE' WRITE (*,*)' LENGTH FIRST, FOLLOWED BY SPACE AND THEN WIDTH' READ !*■*) F(7),F(8) WRITE!*,*)' ENTER THE THICKNESS OF THE RIGHT FACE' READ (*,*) THICK (45 WRITE!*, *)CLR, P0S2 WRITE!*, *)' ENTER THE DIMENSIONS OF THE TOP FACE' WRITER,*}' LENGTH FIRST, FOLLOWED BY SPACE AND THEN WIDTH' READ (*,*) F(9),F(10) WRITE (*,*)' ENTER THE THICKNESS OF THE TOP FACE' READ!*,*) THICK (5) WRITE (*,*) CLR, P0S2 WRITE (*,*)' ENTER THE DIMENSIONS OF THE BOTTOM FACE' WRITE!*, *)' LENGTH FIRST, FOLLOWED BY SPACE AND THEN WIDTH' READ (*,*) F(li),F(12) WRITE (♦,*) ' ENTER THE THICKNESS OF THE BOTTOM FACE' READ (*,*) THICK (61 WRITE(*,*)CLR,P0S2 WRITE !*,*)' FRONT FACE: WRITE!*,*) ' WRITE!*,*) ' WRITE (*,*)' BACK FACE: 5 LENGTH WIDTH THICKNESS- LENGTH WIDTH THICKNESS- LENGTH WIDTH THICKNESS- LENGTH WIDTH- THICKNESS- LENGTH WIDTH THICKNESS- LENGTH WIDTH THICKNESS- WRITE?*,*) WRITE!*,*) ' WRITE!*,*) ' LEFT FACE: WRITE!*,*) ' WRITE!*,*) ' WRITE!*,*) ' RIGHT FACE." WRITE!*,*) ' WRITE!*,*) ' WRITE!*,*) ' TOP FACE: WRITE!*,*) ' WRITE!*,*) ' WRITE!*,*) ' BOTTOM FACE: WRITE!*,*) ' WRITE!*,*) ' CALL RETURN !CLR) WRITE (*,*) CLR,P0S2 IF((F(1).EQ.F(9)).0R.(F(2).EQ.F(9))) THEN VOLUME= (F !2) -2. *THICK !3> ) * (F ( 1 ) -2. *THICK (5) ) * (F < 10) -2. *THICK ( 1 ) ) ELSEIF !(F(1).EQ.F(10)).OR.(F(2).EQ.F(10))) THEN V0LUME=(F(2)-2.*THICK(3))*(F(1)-2.*THICK!5!)*(F(9)-2.*THICK(1)) ENDIF WRITE !*,*)' VOLUME= '.VOLUME RETURN END 'tF(l) ',F<2) ', THICK (1) ',F(3) ',F(4) '•THICK (2) ',F!5) ',F(6) ', THICK (3) ',F(7> ',F(8) '.THICK (4) ',F(9) ',F!10) ', THICK (5) ',F(1D ',F(12) ', THICK (6) 78 C M**MMMMMm****M*MMMMmMMMMt***************t C * * C * SUBROUTINE WINDOW (W.FOR) * C * * SUBROUTINE WINDOW (ID) CHARACTER*! CLR 14) ,POS2(10) ,ESC,CR,ST CHARACTERS ID DATA CLR/' VCV2VJ'/ data POS2/ 5 vtvivfvsviVHV vevkv ESC=CHAR(27) CLR(1)=ESC FOS2(l)=ESC P0S2(8)=ESC CR=CHAR(13) ST=CR NN=1 2222 WRITE(*,*)CLR,P0S2 WRITE(*t*)» THIS SECTION CHECKS THE STRENGTH OF WINDOWS' WRITE(*,*)' AND LENS FOR A STATIC PRESSURE OF 150 PSIG. ' WRITE'*,*) WRITE(*,*>' IN ADDITION, THE LIP THAT HOLDS THE WINDOW OR ' WRITE**,*)' LENSE IS ALSO EVALUATED.' WRITE(*,*> WRITE(*,*) WRITE(*,*) CALL RETURN(CLR) WRITE(*,*)CLR,P0S2 WRITE(*,*)' 30 CFR PART 18 REQUIRES THAT ALL HEADLIGHT LENSES ' WRITE (*,*)' BE THE EQUIVALENT OF 1/2 INCH THICK PYREX GLASS.' WRITE(*,*) WRITE(*,*)' DO ALL GLASS HEADLIGHT LENSES MEET THIS' WRITE(*, ' (A\) ' ) ' REQUIREMENT? ' READ(*,310)ST WRITE (*,*) CLR, P0S2 WRITE(23,*) WRITEC23,*)' RESULTS CHECK FOR STRENGTH OF WINDOWS AND LENSES.' WRITE(23,») WRITE (23,*) IF (ST.EQ.'Y'.OR.ST.EQ.'Y'.OR.ST.EQ.' ') THEN WRITE(23,*)' HEADLIGHT LENSES COMPLY WITH 30 CFR' WRITE (23,*)' REQUIREMENTS.' ELSE WRITE (23,*)' HEADLIGHT LENSES DO NOT COMPLY WITH 30 CFR' WRITE (23,*)' REQUIREMENTS.' ENDIF WRITE(*,*)CLR,P0S2 WRITE(*,'(A\)')' DO YOU WANT TO VIEW INFORMATION? ' READ (*, 310) ST 310 FORMAT (A) WRITE(*,*) CLR.PQS2 IF tST.EQ.'Y'.CR.ST.EQ.'Y'.OR.ST.EQ.' ') THEN 180=17 NUMB=20 CALL DISPLAY (IGO. NUMB, CLR) 79 IG0=18 NUMB=20 CALL DISPLAY UGO, NUMB, CLR) END IF WRITE (»,*)CLR,P0S2 WRITE(*t*) ' IS THE WINDOW:' WRITE(* 1 *) WRITE?*,*) WRITE?*,*)' (15 RECTANGULAR' WRITE?*,*)' (2) CIRCULAR' WRITE?*,*) WRITE?*,*) WRITE?*, '(AM')' INPUT YOUR CHOICE — )' READ(*,'?BN,I6)')IB 2035 WRITE?*,*) CLR,P0S2 IF(IB.EQ.l) THEN WRITE?*,*)' ENTER THE DIMENSIONS OF THE RECTANGULAR WINDOW IN' WRITE?*,*)' INCHES. A SHOULD BE ENTERED FOLLOWED BY A SPACE AND' WRITE?*,*) ' T HEN ENTER B. DIMENSION A MUST BE LARGER THAN ' WRITE?*,*)' DIMENSION B. ' READ?*,*) A,B G=A/B IF(B.LT.l.) THEN GO TO 2035 ELSE ENDIF PB=150.*B WRITE?*, *)CLR,P0S2 WRITE?*,*)' ENTER THE PLATE THICKNESS IN INCHES.' READ?*,*)T WRITE?*, *)CLR,P0S2 WRITE?*,*)' ENTER THE CONSTANT Kl FOR THE CURVE SHOWN IN' WRITE?*,*)' FIGURE 5. USE CURVE A WHEN EDGES ARE' WRITE?*,*)' SIMPLY SUPPORTED; USE CURVE B WHEN EDGES ARE' WRITE?*,*)' CLAMPED.' WRITE?*,*) WRITE?*,*)' THE VALUE FOR RATIO A/B IS' WRITE?*, *)G WRITE!*,*) WRITE?*,' (A\)')' ENTER VALUE FROM GRAPH. >' READ?*,*)GK1 SI6MAX=GK1*((B/T)**2.)*150. IBX=1 WRITE?*, *)CLR,P0S2 WRITE?*,*)' VALUE CALCULATED FOR SIGMAX IS '.SIGMAX ELSEIF (IB.EQ.2) THEN IBX=2 WRITE''*,*) CLR,P0S2 WRITE?*,*)' ARE THE EDGES:' WRITE?*,*) WRITE?*,*)' (U SIMPLY SUPPORTED' WRITE?*,*)' (2) CLAMPED' WRITE?*,*) WRITE?*,*) WRITE?*, '(A\)')' ENTER YOUR CHOICE )' so READ (*, 310) ST WRITER, *) CLR,P0S2 IF(ST.EQ.'Y'.OR.ST.EQ.'Y'.OR.ST.EG.' ') THEN GK2=.3025 ELSE GK2=. 1875 END IF WRITE!*,*)' ENTER THE UNSUPPORTED DIAMETER OF THE WINDOW WRITE(*,*)' IN INCHES.' WRITE(*,*) READ(*,*)D PB=150.*D/2. WRITE (*,*)CLR,P0S2 WRITE(*,*)' ENTER THE THICKNESS OF THE WINDOW IN INCHES.' READ(*,*)T WRITE(*.») CLR.P0S2 SI6MX=GK2* ( (D/T) **2. ) *150. WRITE(*,*>' VALUE CALCULATED FOR SIGMAX IS '.SIGMX ENDIF WRITE(*.*) WRITE(*,*) CALL RETURN (CLR) IWW=0 2323 WRITE(*,*) CLR.P0S2 WRITE(*,*)' IS THE WINDOW MATERIAL:' WRITER, *) WRITE(*,*)' (1) SODA LIME GLASS' WRITE(*,*)' (2) BOROSILICATE GLASS' WRITER*)' (3) LEXAN 101 PLASTIC WRITEt*.*)' (4) MERLON 3113 PLASTIC WRI TE ( * , * ) ' (5) NONE OF THE ABOVE' WRITE(*,*) WRITE(*, ' (A\) ' ) ' ENTER YOUR CHOICE ) ' READ(*,*)IW WRITER *)CLR,P0S2 IF(IW.EQ.l) THEN SIGMAX=6600. IWW=1 ELSEIF(IW.EQ.2) THEN SIGMAX=6300. IWW=1 ELSEIF(IW.EQ.3> THEN SIGMAX=9000. ELSEIF(IW.EQ.4) THEN SIGMAX=9200. ELSEIF(IW.EQ.5) THEN WRITE(*,*)' ENTER THE YIELD STRENGTH IN KSI OF THE' WRITE (*,*)' WINDOW MATERIAL.' READ(*.*) SIGMAX SIGMAX=SI6MAX*1000. ELSE GO TO 2323 ENDIF IF(IWW.EQ.l) THEN STEST=.5*SIGMAX 81 ELSEIFdfcW.EQ.0) THEN STEST=SIGMAX END IF WRITE (23,*) WRITE (23,*) ' WINDOW NUMBER ',NN,' IS BEING SCREENED.' WRITE(23,*) WRITE(23,*>' THE DIMENSIONS OF THE WINDOW ARE:' WRITE(23,*) IF (IBX.EQ.l) THEN WRITE(23,*)' THE WINDOW IS RECTANGULAR' WRITE(23,*)' DIMENSION A ',A WRITE(23,*)' DIMENSION B ',B WRITE(23,*)' PLATE THICKNESS ',T WRITE (23,*)' RATIO A/B IS' .6 WRITE (23,*)' VALUE READ FROM GRAPH »,6K1 WRITE (23,*) WRITEC23,*)' CALCULATED VALUES ARE ' WRITE(23,*)' SIGMAX= '.SIGMAX WRITE (23,*! WIAX=. 5*150. *B ELSEIF (IBX.EQ.2) THEN WRITEC23,*)' WINDOW IS CIRCULAR' WRITE(23,*)' UNSUPPORTED DIAMETER OF WINDOW IN INCHES ',D WRITE(23,*)' THICKNESS OF WINDOW ',T WRITE(23,*)' VALUE OF 6K2 ',GK2 WRITE(23,*) WRITE (23,*)' CALCULATED , VALUES ARE ' WRITE(23,*)' SIGMAX= '.SISHX VHAX=150.*.5*D/2. ENDIF WRITE (23,*) WRITE(23,*)' YIELD STRENGTH OF WINDOW MATERIAL IS: ' WRITE (23, *)SIGMAX IF(STEST.GT.SISHX) THEN WRITE(23,*)' WINDOW IS ACCEPTABLE' ELSE WRITE(23,*)' WINDOW IS UNACCEPTABLE SINCE SIGMAX IS ' WRITE (23,*)' GREATER THAN YIELD STRENGTH' ENDIF WRITE(*,*)CLR,P0S2 WR!TE(*,*)' THIS SECTION CHECKS THE LIP FOR STRENGTH' WRITE(23,*) WRITE(23,*)' RESULTS OF CHECK FOR LIP STRENGTH' WRITE(23,*) WRITE (*,*) WRITE(*,*> CALL RETURN (CLR) WRITE(23,*) WRITE'23,*)' YIELD STRENGTH OF WINDOW MATERIAL ', SIGMAX WRITE(*,*)CLR,P0S2 WRITEt*,*)' FROM FIGURE 6. ENTER THE FOLLOWING:' WRITE(*,*) WRITE(*,*) 'ENTER TL FOLLOWED BY A SPACE AND THEN L IN INCHES' READ(*,*!TL,TLL WRITE(23,*)' TL AND L FROM FIGURE 6.' s: WRITE<23,*)TL,TLL WRITEC23,*) WRITE(+,*)CLR,P0S2 WRITE(*,*!' ENTER C, THE LOADING LENGTH IN INCHES' READ(*,*)C WRITEC23,*)' C, THE LOADING LENGTH IN INCHES' WRITE(23,*)C WRITEC23,*) WRITE(*,*)CLR,P0S2 WRITE(*,*)' ENTER THE YIELD STRENGTH OF THE LIP MATERIAL IN' WRITE(*,*)' KSL' REAB(*,*) YS YS=Y5*1000. WRITE(23,*)' YIELD STRENGTH OF LIP MATERIAL' WRITE(23,*)YS WRITE (23,*) WRITE(*,*)CLR,P0S2 VA= (YS* (TL**2. ) ) / (4*TLL-2. *C) WRITE (23,*) write;*,*) write(*,*)' va= ',va WRITE(*,*) WRITE(*,*) CALL RETURN (CLR) WRITE(23,*)' CALCULATED VALUE OF VA ',VA WRITE(23,*)' VHAX FOR THIS WINDOW IS ', WAX WRITE(23,») IF (VMAX.LT.VA) THEN WRITE(23,*)' THE ENCLOSURE IS ACCEPTABLE' ELSE WRITE(23,*)' THE ENCLOSURE IS UNACCEPTABLE' ENDIF WRITE(*,*)CLR,P0S2 WRITE(*,*)' DO YOU WANT TO SCREEN ANOTHER WINDOW?' WRITE(*,'(A\)')' ENTER YOUR ANSW£R' READ(*,310)ST IF (ST.EQ.'Y'.OR.ST.EQ.'Y'.OR.ST.EQ.' ') THEN NN=NN+1 GO TO 2222 ELSE ENDIF WRITE(*,*)CLR,POS2 RETURN END c ************************************************************ C * * C * SUBROUTINE WELDCH (WELD. FOR) * C * * c ************************************************************ SUBROUTINE WELDCH ( ID, CLR, P0S2, AAA) DIMENSION AAA (12, 4) CHARACTERS ID CHARACTER*! POS2U0) ,CLR(4) 393 WRITE(*,*) CLR.P0S2 i! ITY' 83 WRITE(*,*> WRITEt*,*) CALL RETURN fCLR) 160=2 NUKB=2i CALL DISPLAY (160. NUMB, CLR) 160=3 NUMB=2i CALL DISPLAY (160, NUMB, CLR) CALL WELDE(CLR) CALL RETURN (CLR) WRITE(*,*> CLR.P0S2 WRITE**,*)' ARE YOU READY TO EVALUATE THE ENCLOSURE FOR I WELD' WRITE!*,*) 'QUALITY AND CLASSIFICATION? IF YOU ANSWER "N", YOU' WRITE (*,'(A\)')' WILL BE SHOWN THE PREVIOUS SCREENS, (Y)' READ(*,310)ST IF (ST.EQ.'Y'.OR.ST.EQ.'Y'.OR.ST.EQ.' ') THEN i30 TO 395 ELSE 60 TO 393 ENDIF 395 WRITE(*,*) CLR.P0S2 WR1TE<*-*) 'DOES THE ENCLOSURE HAVE ANY CLASS VI' WRITE (*,'(A\)')' JOINTS? (Y)' READ(*,310> ST WRITE(*,*)CLR,P0S2 IF (ST.EQ.'Y'.OR.ST.EQ.' '.OR.ST.EQ.'Y') THEN WRITE(23,*5' THE ENCLOSURE FAILS THE WELD QUALITY SCREEN' WRITE (23,*) 'BECAUSE IT HAS A CLASS VI WELD WHICH IS' WRITE(23,*) 'UNACCEPTABLE FOR DYNAMIC LOADING. ' WRITE(23,*) ELSE WRITEf*,*)' DO THE VISUAL AND DIMENSIONAL INSPECTIONS' WRITE (*,*) 'OF THE WELDS MEET THE REQUIREMENTS IN' WRITE(*t ' (A\) * j " TABLE 4.2?' READ(*,3i0) ST IF (ST.EQ. 'Y ! . OR.ST.EQ.'Y'. OR, ST, EQ.' ') THEN WRITE(23,*)' THE ENCLOSURE FAILS THE WELD QUALITY SCREEN' WRITE (23,*) 'BECAUSE OF VISUAL INSPECTION OR LACK OF' WRITE (23,*)' INFORMATION ABOUT THE QUALITY OR TYPE OF WELD.' WRITE(23,*) ELSE WRITE(23,*)' THE ENCLOSURE PASSE5 THE WELD QUALITY SCREEN.' ENDIF ENDIF 310 FORMAT (A) END c m**»******************* *******♦**********#** *************** C * * C * SUBROUTINE WELDE (WELDE.FOR) * C * * SUBROUTINE WELDE (CLR) CHARACTER*! TEXT (80) , CLR (4) S4 OPEN (21, FILE=' WELDEF.DOC') WRITE(*,*) CLR DO 3103 IX=1t21 READ (21.3101) (TEXT(JX),JX=1, 80) WRITE(*,3102HTEXT(JX),JX=1,79) 3103 CONTINUE REWIND (21) CLOSE (21) RETURN 3101 FORMAT (80A) 3102 FORMAT (1X.79A1) END U.S. GOVERNMENT PRINTING OFFICE 611-012/00.114 INT.BU.OF MINES,PGH.,PA 28951 m ■z. > r~ O 3 ■n ■n ■n O O S3 > -o i - n 00 £ c -1 CO m c to z m m CO * I CO w § CO N) O DO C 5 CO W (D m &5 D K) - *-+ O 2 to .&. CO % 3 <£> to CD —i O O O "i m D c > o "0 "0 O 30 3 m O m 33 105 90 " 7k ■ (V «<>••♦ **o A ■ ' ' » . <*".* (V « • " • • >°^ ^ 4 X ^ ? K ^/ :%& * V*^^;\/ ''bV^ A <> "'^.T"' .6" ^^ ^ 4.° *»iik:» ^ v v » "^ OR, • '0 «^ \^ ' A^\ : !$K.- /\ ^°- rt 4 " V % ^''V^ 4* % .."•* ^ .0* c 8 "«« ^O 4* .•"•* ^ ^ .il»* ^O 4* c« l,, « ^ ,.0* oil** S "*•- # ^Sk!?» ^ ^_, -TOOT* a* ?a -@H5T« «> ^ *- A> o '°* >> ,*" .t^l % % _o° .* i4* , ^i** A" '*,'•«!• V .5^ Jp-*,. VOKN^." ** y *. «5°^ i-V "^ . > . » « • . aO ^> *••■•• v .0* »•"•- ^*- ^^ »°-nK aV^ ^^ud^e ,"?^ A 9, u. •^^ ^ ^. r^ HECKMAN l±| BINDERY INC. |M| fit FEB 90 N. MANCHESTER, INDIANA 46962 V^ ..»^L' ;. ^^ .• V a,' •<» » i?V, ^^ ^F