?..•• «.. * ^ *iftr- % # ^ o J* ^ * o « o IC 9245 BUREAU OF MINES C ^L INFORMATION CIRCULAR/1990 A User's Manual for MFIRE: A Computer Simulation Program for Mine Ventilation and Fire Modeling By Xintan Chang, Linneas W. Laage, and Rudolf E. Greuer YEARS c, **AU OF ^ U.S. BUREAU OF MINES 1910-1990 THE MINERALS SOURCE Mission: As the 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. C^uM JJ&*- ^^ iJ^^l iformation Circular/9245 1/ A User's Manual for MFIRE: A Computer Simulation Program for Mine Ventilation and Fire Modeling By Xintan Chang, Linneas W. Laage, and Rudolf E. Greuer UNITED STATES DEPARTMENT OF THE INTERIOR Manuel Lujan, Jr., Secretary BUREAU OF MINES T S Ary, Director fib< Library of Congress Cataloging in Publication Data: Chang, Xintan. A user's manual for MFIRE : a computer simulation program for mine ventilation and fire modeling / by Xintan Chang, Linneas W. Laage, and Rudolf E. Greuer. p. cm. - (Information circular / Bureau of Mines; 9245) 1. Mfire (Computer program). 2. Mine ventilation-Computer simulation. 3. Mine fires-Computer simulation. I. Laage, Linneas W. II. Greuer, Rudolf E. III. Title. IV. Series: Information circular (United States. Bureau of Mines); 9245. TN295.U4 [TN301] 622 s-dc20 [622'.42'0113] 89-70824 CIP CONTENTS Page Abstract 1 Introduction 2 MFIRE modifications of MTU-BOM code 2 Program installation and operation 3 Data files 4 Data file management 4 General structure of data file 5 Data lines 5 Instruction lines 5 Comment lines 5 Blank lines 5 Rules for numerical input 5 Detailed description of data input requirements 6 Simulation results 9 Contents of output fde 9 Example of simulation 10 Errors 10 Data file errors 10 Program error detection 10 Locating errors 10 Conclusions 12 Appendix A.-MFIRE source code 13 Appendix B.-Example of MFIRE data file and output 141 ILLUSTRATION 1. Waldo mine ventilation network 11 UNIT OF MEASURE ABBREVIATIONS USED IN THIS REPORT atm atmosphere h hour Btu/min British thermal unit per minute in inch cfm cubic foot per minute min minute °F degree Fahrenheit s second ft foot A USER'S MANUAL FOR MFIRE: A COMPUTER SIMULATION PROGRAM FOR MINE VENTILATION AND FIRE MODELING By Xintan Chang, 1 Linneas W. Laage, 2 and Rudolf E. Greuer 3 ABSTRACT MFIRE is a computer simulation program that performs normal ventilation network planning calculations and dynamic transient-state simulation of ventilation networks under a variety of conditions. The program is useful for the analysis of ventilation networks under the influence of natural ventilation, fans, fires, or any combination of these. MFIRE simulates a mine's ventilation system and its response to altered ventilation parameters such as the development of new mine workings or changes in ventilation control structures, external influences (varying outside temperatures), and internal influences (fires). Extensive output enables detailed, quantitative analysis of the effects that the alteration will cause to the ventilation system. The program was developed at Michigan Technological University (MTU), Houghton, MI, with support from the Bureau of Mines. A personal computer (PC) version of the program was completed under contract for the Bureau by MTU. The purpose of this report is to document the installation and use of the PC version of the program MFIRE. 'Associate professor of mining engineering, Xian Mining Institute, Xian, Shaanxi, The Peoples Republic of China. 2 Mining engineer, Twin Cities Research Center, Bureau of Mines, Minneapolis, MN. 3 Mining engineer, Twin Cities Research Center; professor of mining engineering, Michigan Technological University, Houghton, MI. INTRODUCTION MFIRE is useful for the analysis of ventilation networks under thermal and mechanical influence. MFIRE simu- lates a mine's ventilation system and its response to altered ventilation parameters, external influences, and internal influences. Extensive output enables detailed quantitative analysis of the effects of the proposed alteration on the ventilation system. MFIRE was written in FORTRAN 77 and compiled with Microsoft 4 FORTRAN for the Intel 8086-8088 central processing units. The source code is listed in appendix A for users who wish to modify the source code for operation on other computers. MFIRE MODIFICATIONS OF MTU-BOM CODE The program described in Bureau of Mines Informa- tion Circular 8901 has become known as the MTU-BOM code. 5 MFIRE is an evolutionary product of the MTU- BOM code with major improvements and enhancements. 6 For users previously familiar with the MTU-BOM code, the following is a listing of the major improvements and enhancements incorporated by MFIRE. 1. The length of an airway is an input value, LA. The elevation difference of the airway is calculated from the elevation input, Z, in both programs. It is possible for a data file to describe an airway that is shorter than its el- evation difference. The MTU-BOM code does not check for this error and uses the values of LA and Z. This does not cause a computational problem, only a simulation problem. MFIRE issues a warning message for this case, and the airway length is made equal to the elevation dif- ference if LA is less than Z. 2. To evaluate rock temperatures (average wall surface temperature of airway before a fire), it is assumed that the air temperature at an airway entrance is equal to the air temperature at the airway starting junction, and that the air temperature at the airway exit is equal to the air tem- perature at the exit junction. The MTU-BOM code follows this assumption in all cases. When a rock temperature of less than 0° F is Reference to specific products does not imply endorsement by the Bureau of Mines. Greuer, R E. Real-Time Precalculation of the Distribution of Combustion Products and Other Contaminants in the Ventilation System of Mines (contract J0285002, MI Technol. Univ.). BuMines OFR 22-82, 1981, 263 pp.; NTIS PB 82-183104. Greuer, R E. Study of Mine Fires and Mine Ventilation. Part I. Computer Simulation of Ventilation Systems Under the Influence of Mine Fires (contract S0241032, MI Technol. Univ.). BuMines OFR 115(l)-78, 1977, 165 pp.; NTIS PB 288 231. Edwards, J. C, and R E. Greuer. Real-Time Calculation of Product-of-Combustion Spread in a Multilevel Mine. BuMines IC 8901, 1982, 117 pp. Chang, X. Digital Simulation of Transient Mine Ventilation. Ph.D. Thesis, MI Technol. Univ., Houghton, MI, 1987, 162 pp. calculated, an average temperature is used to represent the rock temperature of the airway. MFIRE uses the same principle, except the consideration of unlikely rock temperatures. When the exit junction of an airway is the atmosphere (a fixed condition junction), the air tempera- ture at the exit is made equal to the air temperature at the airway beginning. If an unlikely value of wall temperature (<0° F or > 150° F) results from calculations, a message is issued and the rock temperature is set equal to the air temperature at the airway exit. The program user can always input rock temperature (TROCK) for an airway to override the calculated value. 3. MFIRE allows use of an optional reference airflow rate to define and limit the heat generation of a fire source. This allows the simulation model to more closely resemble a real fire and to improve simulation conver- gence. Heat generation corresponds, but is not linearly related to airflow rates reaching the fire. In the simula- tion, heat generation is calculated from oxygen consump- tion and is directly related to the variable incoming airflow. Use of this optional reference airflow rate allows the heat generation to vary, but in a damped, user defined manner. When the airflow rate passing through a fire source is equal to its reference airflow rate, the data items describ- ing the fire source are not modified. If the airflow rate is lower or higher than its reference airflow rate, the data items used to define the fire source are modified according to the following equations: F = 1.0 + (Q - Qr)/Qx where F = the factor to modify the heat generation, Q = the airflow rate passing through the fire source, and Qr = the reference airflow rate for the same fire source. Qx = Q + Qr when Q < Qr or Qx = Q when Q > Qr. Then for fixed heat input fires, HF = H(input)*F; oxygen rich fires, CF - C(input) + [21.0-C(input)]*[F-1.0]; and fuel rich fires, HT = H(per unit O^ when Q < Qr or HT = H(per unit O^/F when Q > Qr where HF H(input) CF C(input) HT and H(per unit 2 ) = the heat input with respect to Q, = the user-defined value of heat input, = the 2 concentration behind fire with respect to Q, = the user specified value of 2 concentration behind fire, = the heat generation per unit of 2 delivery at Q, = the user defined value of heat gen- eration per unit 2 delivery at Q. These formulas allow the heat output from a fire source to more realistically change in relation to the varying air- flow rate. If the airflow rate is zero, heat output is zero, even for the fixed heat input model. When the airflow rate equals the reference airflow, the data items for heat input are not modified. When the airflow becomes large, the total heat generation rate will increase, but not by more than a factor of 2 times that at the reference condi- tion. This method assumes that heat generation is damped in a manner described by the equations. This optional method provides a more realistic model and allows more user control of the simulation. 4. When sorting airways according to airway types before forming the base system, fixed-quantity airways are placed at the bottom of the sorted list with MFIRE, while arbitrarily mixed fixed-quantity airways and fan branches are placed there with the MTU-BOM code. The reason for the change is that a base system containing a fan is still a mathematically solvable model, while a base system con- taining a fixed-quantity airway cannot be solved with the normal network balancing techniques. This method re- duces the possibility that MFIRE must convert a fixed quantity airway into a normal airway owing to its involve- ment in the base system. 5. The MTU-BOM code performs fan-curve fitting with Lagrangian interpolation or a least squares method. MFIRE employs the spline method. Usually, the spline method is superior for fan curve fitting for network problems. 6. MFIRE converts the fixed quantity airways into regular airways or fixed pressure fan branches according to the manner that best satisfies the required airflow rates. The MTU-BOM code converts fixed quantity airways into regular airways with positive or negative airflow resis- tances. This can cause divergence during the network balancing. 7. The difference in natural ventilation pressures in successive iterations is MFIRE's only criterion to deter- mine convergence. The MTU-BOM code uses this crite- rion, as well as whether an airflow reversal occurred in the last iteration. When an airflow reversal occurs in a sensitive airway with a small pressure loss and no hot fumes entering, this additional criterion is not necessary. 8. MFIRE has a comprehensive data checking proce- dure. Various messages are used to indicate input error, data inconsistency, or inadequacy. However, a cautious inspection of the data items and good judgement by the user is still required. 9. Both programs assume that a fire is at the entrance of a network branch. The entrance is the end with in- coming air. When an airflow reversal occurs, the branch exit and entrance end points swap ends along with the fire location, potentially preventing convergence. This problem could be overcome with the MTU-BOM code by creating a short airway for the fire location. For each contami- nation source, MFIRE automatically creates a new branch of 0.1 ft in length for the fire location. This prevents of divergence due to an airflow reversal in the fire branch. 10. If MFIRE fails to converge during a simulation, a table showing the causes of the failure is produced. The possible causes are a model without equilibrium condi- tions or a model requiring more iterations to satisfy the convergence criteria. For example, a fire located in a descensionly ventilated airway may have no physically or mathematically stable equilibrium state. The table of the intermediate results with the mean air temperature and airflow rates in airways will show a definite cyclic pattern that will not converge with more iterations. If the conver- gence process is slower than normal, but the convergence criterion has been approached consistently, more iterations may complete the convergence. 11. Transient-state modeling (with user defined inter- vals) of the effect of mine fires on a mine ventilation sys- tem and propagation of contaminants is accomplished with MFIRE. 12. A user defined timetable to change simulation conditions during the transient-state simulation stage makes the program more flexible for modeling and simulation. PROGRAM INSTALLATION AND OPERATION The program MFIRE consists of four files: MFIRE0.EXE, MFIRE1.EXE, MFIRE2.EXE, and MFIRE.BAT. The batch file, MFIRE.BAT, controls the operation and cooperation of the three executable pro- gram files and the output. Networks of up to 500 air- ways and 350 junctions can be modeled in the PC version of MFIRE. Larger data sets can be accommodated by increasing array dimensions and compiling the program again. Input for MFIRE is in the form of a data file. The data file contains lines of numerical data describing the physical mine, the ventilation parameters present, the fans, and the proposed thermal or mechanical disturbances. Output from MFIRE is sent to the file MFIRE.OUT, which is created in the directory where the MFIRE pro- gram resides. The output can have up to four levels of increasing detail. Subsequent executions of MFIRE will overwrite the old MFIRE.OUT file with the new MFIRE.OUT file. If archiving of MFIRE.OUT files is desired, they can be renamed with the (MS-DOS) RENAME command to prevent overwriting. The MFIRE.OUT file can be reviewed and/or printed with text editing software. The equipment and additional software necessary to use MFIRE includes: 1. IBM PC or compatible computer with MS or PC DOS 2.0 or later version. 2. Hard disk drive (not required, but highly desirable). 3. Intel 8087 or compatible math-coprocessor (not required, but highly desirable). 4. At least 256K random access memory (RAM). 5. Text editor or suitable word processor. To install the program, the user should make a direc- tory on the hard disk drive. The contents of the program disk are then copied into that directory. To start MFIRE, the user types "MFIRE" and follows the instructions for user responses and the location of the data file. MFIRE can be run from a floppy disk; however, tem- porary files and the output file will then be placed on the same floppy disk. Running MFIRE from a floppy disk may cause problems due to storage limitations. To run MFIRE from a floppy disk, insert the disk, change the default disk drive to the drive containing the disk and type "MFIRE." Two screens of information about the program are presented followed by a prompt for the user to identify the location of the data file. Depending upon the user defined selection of program features, MFIRE will sequentially perform: 1. General network balancing. 2. Network balancing considering temperatures, heat exchange with rock, and natural ventilation. 3. Dynamic, transient-state modeling with user select- ed dynamic fire growth, and user selected time increments for updating the ventilation changes and spread of contaminants. 4. Calculation of new ventilation equilibrium due to contaminant (fire) presence, and distribution of the con- taminants such as products of combustion (POC) and methane under the altered steady-state conditions. DATA FILES Data or input files are used to describe the mine's ven- tilation system and physical characteristics necessary for ventilation calculations as well as the physical or mechan- ical disturbance to be modeled and simulated. Data files are organized into lines of categories or groups of infor- mation. Each line contains multiple sets of information or data items. Data lines are read by the program, and the data items provide information to the program variables. The data file is in American Standard Code for Informa- tion Interchange (ASCII) format, sometimes called a DOS text format. Creation or modification of a data file is accomplished with text editor software. Most word pro- cessors are also capable of making the required ASCII type files. A sample data file and its associated output are included in appendix B. When selecting software for editing the data files, the user should be aware that the software will also be used for viewing the output of the simulation. The output file can be quite large (several megabytes), if a lengthy simulation is performed. The output can be sent to a printer for a hardcopy listing; however, the user should also be aware that most printers currently used with PC's print at rates of 100 to 300 characters per second and large output files may take several hours to print. Viewing the output with a text editor can save much time and paper. DATA FILE MANAGEMENT The data files describing the event and mine to be sim- ulated can reside either on a floppy disk or in a directory on the hard disk drive. When the program starts, the user is prompted for the data file location and name. The user response is in the form of a standard DOS path and file name. For example, if the data file is on a floppy disk located in drive B and the disk has a directory MYMINE with the data file MYDATA.DAT in that directory, then, at the prompt: NAME YOUR INPUT FILE BY "D:\PATH\FNAME1.EXT the user would type B:\MYMINE\MYDATA.DAT followed by a carriage return or the ENTER key. Any legal DOS path, file name, and extension can be used; however, the user may find it convenient to create a directory for data or input files and to use DAT or some other meaningful extension to identify these data files. GENERAL STRUCTURE OF DATA FILE The input data file for MFIRE may have four types of line records: data lines, instruction lines, comment lines, and blank lines. Only the data lines are required. Data Lines A line whose first non-blank character is either: 0123456789 - + is a data line that provides numerical input values to data items to define the mine's ventilation, the physical prop- erties, and the event to be simulated. If a data line contains a symbol that is not from the above list, an error message will be given. If a line con- tains three or more characters that are not from the list, the line will be regarded as a comment line and printed in the output file. Altogether, data lines comprise the following data groups: Comments (optional). Control line number 1. Airway lines. Junction lines (optional). Fan lines (optional). Fire source lines (optional). Control line number 2 (optional). Average-value lines (optional). Timetable lines defining condition changes (optional). Instruction Lines A line whose first non-blank character is a dollar sign ($) is an instruction line to help the user setup and or- ganize data files. Users can add or delete instruction lines. Instruction lines do not appear in the output file and do not interfere with the program execution. A data file must be setup according to the input re- quirements. Because errors tend to occur in the prepara- tion of data fde, a template fde, INPUT.FMT was created. This file consists of instruction lines detailing the data line groups in the required order and the location of each data item on each line as well as the meaning of each data item required. This file serves to remind and prompt the user for data lines and items at the proper locations. Appendix B shows the INPUT.FMT fde filled with sample data. To use the template, simply copy the fde INPUT.FMT to the data disk space, and add data into the data file by adding lines at proper places and following the instructions given in the INPUT.FMT fde. The user can then use the DOS RENAME command to identify uniquely the new data fde. Comment Lines A line whose first non-blank character is not one of the above specified input data characters, or which contains more than 3 characters that are not data input characters, is a comment line. Comment lines are created by the user to record notes about the data fde. Comment lines will appear in the output list to identify the data file producing the output and/or to provide notes to the user concerning the data file. The comment lines within the airway data paragraph will be automatically centered. Because the width of an output line is 72 columns, a comment line should have a non-blank width (spaces between the first and last non-blank characters) of 72 characters or less. A comment line can be put anywhere in the data file, but only the lines located before control line number 1 and the ones within the airway data lines group will be shown in the output file. The maximum number of total com- ment lines is 50. Blank Lines A line containing only blanks is a blank line which has no effect on the program. There is no limit on the number of instruction lines and blank lines, and they may be placed anywhere in the data file. RULES FOR NUMERICAL INPUT MFIRE was written in FORTRAN and compiled with the Microsoft FORTRAN Compder into executable files. Free format is used for the MFIRE data files. 1. Distinction between an integer and a real number is not required. Integer 5 can be 5 or 5.0 in the data file. Real number 3.0 can be 3 or 3.0 in the data file. 2. A comma and a blank space can be used inter- changeably as delimiters to separate input values. Two or more blank spaces adjacent to one another act as one blank for input separation. Blank spaces adjacent to a comma have no effect on separating input values. 3. Zero values can be omitted, but the related delim- iters (commas) cannot, except the case where the re- maining characters on the line are zero. For example, if input is needed for the following data items: N,R,S,I,T,L,P,M where N=5, R = 10, S=7.52, 1=0, T = -4, L=0, P=0, and M=0, then the following input lines would have the same effect: 5,10.0,7.52,0,-4.0,0,0.0,0 5 10 7.52 0-4000 5 10 7.52 , , -4 5,10,7.52„-4 5 10 7.52„-4 4. Comment lines can be put anywhere in an input file. Comment lines will be printed out in output files, only if the comments are located before the control line number 1 or within the group of airway data lines. 5. Instruction lines and blank lines can be put anywhere in a data file. They will not affect the program run. DETAILED DESCRIPTION OF DATA INPUT REQUIREMENTS Optional data groups can be omitted only if indicated by the input value of the controlling data item. Comments and numerical data must be in the following order: 1. Comments (optional). Comments here and within the airway data group will be shown in the output file. This feature provides a section for user notes and comments concerning a data file. 2. Control line number 1 consists of the following variables: NB,NFNUM,INfFLOW,NVPN,NETW,TR,MADJ,ITN, NTEMP,TINC,SPAN,IOUT,TOUT,CONCT where NB is the number of airways in the network. If the value of NB > 1, its value will be used to determine the number of input airway lines. Otherwise (when NB = 1 or NB<1), the airway lines group must end with an airway line that has an airway identification number (ID) >9990. In this special case all other items in the finishing airway line can be omitted. Maximum NB = 500. NFNUM is the number of fans which have character- istic curve input data. Maximum NFNUM = 10. INFLOW is the total number of contamination sources in the system. Maximum INFLOW = 10. NVPN is a flag that allows simulation of natural ven- tilation. If there are junction cards to be read in, NVPN must be <0. The junction lines must be omitted if NVPN <0. When the junction cards are omitted, only the network simulation will be performed. NETW is a flag. When NETW = 1, only the network simulation will be performed. The output will consist of conventional network calculations without consideration of contaminant sources. TR is the reference or air average temperature in the mine in degrees Fahrenheit. If the input value of TR is < 10° F or > 110° F, the default value of 75° F will be used. MADJ is the maximum number of iterations in the temperature section. If its input is <10 or >80, the default value of 10 will be used. ITN is the maximum number of iterations in the dy- namic simulation section. If its input is <10 or >80, the default value of 10 will be used. NTEMP is a Hag. When NTEMP = 1, the simulation will terminate after the steady-state simulation. TINC is the time increment for the dynamic simulation section in seconds. If the input value is <0, default value of 15 s will be used. SPAN is the time span for the dynamic simulation of the proposed event in minutes. IOUT is a marker to define the level of detail of the output file, where: 0= brief; 1 = normal; -1 = detailed; and -2 = most detailed. TOUT is the interval in minutes for output of the sim- ulation. The default value is 1 min. Whenever significant changes occur in the system, output will automatically be provided regardless of the TOUT value. CONCT is a marker for the transient concentration simulation. When CONCT = 1, the transient concentration simulation is performed with the conditions of constant airflow and temperature distribution. When CONCT =0, varying airflow and temperature distributions are con- sidered. CONCT should normally be set to 0. 3. Airway lines. Each line describes a single branch in the network to modeled. Each line consists of the fol- lowing variables: NO,JS,JF,NWTYP,R,Q,KF,IA^A,0,HA,HK,CH4V, CH4PA,TROCK where NO is the airway ID. NO must be between 1 and 9990. JS is the starting junction ID number of the airway. JS must be between 1 and 999. JF is the ending junction ID number of the airway. JF must be between 1 and 999. NWTYP is the marker for airway type. Values of NWTYP can be as follows: 1 = fan branch (with zero airflow resistance), = normal airway, and -1 = fixed quantity airway (regulator). A regulator will be converted to a normal airway or fan branch after the network balancing is performed depending upon the method by which the user-specified airflow requirement can be sat- isfied. During the simulation, a fire source branch will automatically be given NWTYP value of 1. R is the resistance of a normal airway in 1.0*E 10 inches water gage divided by cubic feet per minute squared (in wg/^cfm) 2 ). When the input value of R is <0, R will be calculated from KF, LA, A, and O. If these input data items are not complete, an error message will be issued. When the input value of R is >0, it will override the value calculated from KF, LA, A, and O. For a fan branch (NWTYP =1), R is the fan pressure in inches water gage. A fan without input for its characteristic curve will be regarded as a fixed-pressure fan and the value of R will be used to define the fan pressure. Q is the volumetric airflow rate in the branch in cfm. KF is the friction factor in 1.0*E" 10 pounds mass times minutes squared divided by feet to the fourth power (lb*min 2 /ft 4 ). The default value = 100. LA is the length of the airway in feet (ft). The default value = 500. A is the cross-sectional area of airway in square feet (ft 2 ). The default value = 100.0. O is the perimeter of airway in feet (ft). The default value = 40.0. HA is the thermal diffusivity of rock in square feet divided by hours (ft 2 /h). The default value = 0.1. HK is the thermal conductivity of rock in British ther- mal units divided by hours times feet times degrees Fahr- enheit (Btu/h*ft*°F). The default value = 3.0. CH4V is the methane emission rate for the whole air- way in cubic feet divided by minutes (ft'/min) under the reference conditions (1 atm and TR). If CH4V is <0, the methane emission rate in the airway will be calculated from CH4PA. CH4PA is the methane emission rate per unit surface area of the airway in cubic feet divided by minutes times square feet (ft 3 /min*ft 2 ) under the reference conditions. If CH4PA is <0, the methane emission rate will be cal- culated from the methane concentration in junctions (CH4C). If both CH4V and CH4PA are 0, methane emis- sions are not considered. TROCK is the rock temperature in degrees Fahrenheit of the airway (quasi-equilibrium wall surface temperature before the fire started). It is normally calculated in the program run and does not require input from the user. If the user has better data available, it may be input here to override the calculated value. The acceptable range of user specified rock temperature is from 0° to 150° F. If data items are not available or only a preliminary simulation is required, the default values may be used. However, greater modeling accuracy requires more ac- curate data for the various input variables. The potential effect of approximating these data items must be consid- ered when using the respective default values. When the default values are wanted, input zero for the item. 4. Junction lines section 1 are used to describe con- ditions and locations of the junctions. When NVPN is negative or zero, each junction referenced in the airway data section must have a one line input. Otherwise, the junction lines must be omitted. Junction lines section 1 consist of four variables: JNO,T,Z,CH4C where JNO is the junction ID number. It must be between 1 and 999. T is the junction temperature, °F. Z is the junction elevation in feet above a datum level. CH4C is the methane concentration in percent in the junction. 5. Junction lines section 2 are employed when the ventilation system has multiple atmospheric junctions that have different elevations. The junctions should be con- nected with very low resistance and high-airflow branches, which represent the atmospheric connection between the junctions. Junction lines section 2 consist of three variables: JAN,JA,JATP where JAN is the number of atmospheric junctions. JAN is on the first line of the data group. The remainder of the data group consists of lines, each line describing an atmospheric junction with: JA.JATP where JA is the ID number of the atmospheric junction. JATP is a marker for the type of the atmospheric junc- tion. is the value for the starting junction for the sim- ulation and 1 is the value for other atmosphere junctions, except starting junction. 6. Fan line number 1 consists of two variables: NOF,MPTS where NOF is the ID number of the airway in which the fan is located. MPTS is the number of data pairs describing the fan characteristics. Maximum MPTS = 10. 7. Fan line number 2 consists of data pairs describing the fan characteristic curve in the form: QF,PF, QF,PF, QF,PF, QF,PF, QF.PF where QF is the airflow through the fan in cubic feet per minute (cfm) and PF is the fan pressure in inches water gage corresponding to QF. For each data point, a pair of OF and PF data must be specified. Up to 5 pairs of QF and PF data points may be on a line. A maximum of 10 data points or two lines may be used to describe the fan characteristics of each fan. The line order of the input points of the fan curve must be in ascending numerical order from small OF to large QF. Fan lines numbers 1 and 2 describe one fan. Additional fans are described by adding another set of fan lines num- bers 1 and 2. The number of fans described here must equal NFNUM on control line number 1. If NFNUM is <0, fan lines 1 and 2 must be omitted. 8. Contamination (fire source) lines consist of up to nine variables. Data item INFLOW in control line num- ber 1 indicates the number of contamination sources that are present in the ventilation system. Each of the contamination sources requires a one line data input. If the input value of INFLOW in control line number 1 is <0, contamination lines must be omitted. Through appropriate selection of values for variables CONT, CONC, HEAT, 02MIN, SMP02, and HTP02, the user can simulate a fixed heat input fire, an oxygen- rich fire, or a fuel-rich fire. 7 Contamination lines may include the following data items: NCENT,CONT,CONC,HEAT,02MIN,SMP02, HTPO2,0CENT,TPR where NCENT is the ID number of the airway with the fire source located at the entrance of the incoming airflow. CONT is the contaminated gas inflow from the contam- ination source in cubic feet per minute. CONC is the concentration of fumes in the contam- inated gas, CONT, in percent. HEAT is the heat influx at the fire source in British thermal units per minute (Btu/min). 02MIN is the oxygen concentration leaving the fire source in percent. SMP02 is the fume production in cubic feet for each cubic foot of oxygen reaching the fire source. HTP02 is the heat generation in British thermal unit for each cubic foot of oxygen reaching the fire source. QCENT is the reference airflow in cubic feet at which the above parameters are defined. When the airflow is less than or greater than QCENT, the heat generation from the fire source will decrease or increase accordingly, but in a damped fashion. If QCENT is <10 cfm the damping is not performed. For details refer to the introduction. TPR is the leading period in minutes for an oxygen rich fire to reach full strength. Heat generation is calculated from available oxygen. Increasing the airflow to a fire will 7 Greuer, R. E. Influence of Mine Fires on the Ventilation of Underground Mines (contract S0122095, MI Technoi. Univ.). BuMines OFR 73-074, 1973, 173 pp.; NTIS PB 225-834. increase heat output, however the heat output will lag the increased airflow. The quantity of lag will vary with the fuel type and is user defined with TPR. The effect is linear over the time TPR. CONT, CONC, and HEAT define a fixed heat input fire source. 02MIN defines an oxygen rich fire. SMP02 and HTP02 define a fuel rich fire. When they all have nonzero input values, the oxygen rich model overrides fixed heat input fire model, while the fuel rich fire model overrides the oxygen rich model. 9. Control line number 2 consists of the following variables: NAVJSTART,TSTART,TTME,CRrTSM,CRTTGS, CRrrHT,WRNPR,WRNSM,WRNGS,WRNHT where NAV is a marker. If NAV is <1, an average value card is present in the data file to supply required values, which may have been omitted in the data file. JSTART is the ID number of starting junction in the ventilation system. At the junction of JSTART (usually the atmosphere), conditions never change. TSTART is the air temperature at the starting junction in degrees Fahrenheit. TIME is the time span to assume quasi-equilibrium in hours. Default 5 h. CRITSM is the accuracy criterion for fume calculation in percent. The default value = 0.005. CRITGS is the accuracy criterion for methane calcu- lation in percent. The default value = 0.01. CRTTHT is the accuracy criterion for temperature calculation in degrees Fahrenheit. The default value = 0.1. WRNPR is the pressure drop criterion in inches water gage for issuing a warning message. The default value = 0.01. WRNSM is the fume concentration criterion in percent for issuing a warning message. The default value = 0.05. WRNGS is the methane concentration criterion in percent for issuing a warning message. The default value = 1.0. WRNHT is the high temperature criterion in degrees Fahrenheit for issuing a warning message. The default value = 100.0° F. The last seven data items serve as calculation accuracy criteria or warning message issuing criteria. Usually, the available default values will be suitable. To activate the respective default values, place a zero at that location in the data file. 10. The average value line consists of a set of average values for data items that are required for the program to run. The average value line supplies these data items if they cannot be obtained from the data file or default val- ues. These items are used to supply unknown or omitted omitted data. The presence of an average value line is indicated by a value >1 for the variable NAV in control line number 2. These items include: HAAVR,HKAVR,KFAVR,LAAVRAAVR,OAVR where HAAVR is the average thermal diffusivity of rock in square feet per hour. The default value = 0.1. HKAVR is the average thermal conductivity of rock in Btu/h*ft*F. The default value = 3.0. KFAVR is the average friction factor in 1.0*E" 10 lb*min 2 /ft 4 . The default value = 100. LAAVR is the average length of an airway in feet. The default value = 500. AAVR is the average cross-sectional area of an airway in square feet. The default value = 100.0. OAVR is the average perimeter of an airway in feet. The default value = 40.0. To select a default value, use zero for the respective data item. If the entire set of default values are to be used, set NAV=0 on control line number 2 and omit the aver- age value line. 11. Timetable lines for describing condition changes during the dynamic simulation can consist of seven types of condition changes. The general input scheme for each line is: TS, ICODE, (parameters). TS indicates the start- ing time of the condition change, and ICODE defines the nature of the condition change. Timetable lines, ICODE's, and the parameters are defined as: 1) TS,1,NBR,R At TS minutes after time zero, branch NBR becomes an ordinary airway with its resistance equal to R. 2) TS,2,NBR,INDEX,QF1,PF1,QF2,PF2,QF3, PF3,QF4,PF4,QF5,PF5 At TS minutes after time zero, branch NBR becomes a fan branch with its characteristics defined by QF1 to PF5. INDEX indicates the number of input data points. If INDEX equals 1, the fan is a fixed pressure fan. 3) TS,3,NBR,CONT,CONC,HEAT,02MIN, SMPO2,HTPO2,0CENT,TPR At TS minutes after time zero, branch NBR become a fire source branch with its characteristics defined by CONT to TPR. These parameters retain the same meaning as in data group 8. 4) TS,4,NBR The previously started fire in branch NBR is extinguished at TS minutes after time zero. 5) TS,5,TINC The time increment in dynamic simulation is changed to TINC seconds at TS minutes after time zero. 6) TS,6,TOUT The interval for output is changed to TOUT minutes at TS minutes after time zero. 7) TS,7,JDPP At time TS detailed output results will be shown for air- ways on the immediate downstream side of junction JDPP. Each of the condition changes requires a one line input. There is no limit for the number of lines. The order of lines must be from small TS to large TS. This last line of the table must be a number (TS without an associated ICODE) larger than the simulation time span (SPAN on control line number 1). When NETW or NTEMP on con- trol line number 1 is >0, this timetable can be omitted. Otherwise, it must exist, but may contain only the ending line. SIMULATION RESULTS All output is saved in the file MFIRE.OUT in the di- rectory and on the disk containing the program. The file can be inspected with a text processor and sent to a print- er, if needed. CONTENTS OF OUTPUT FILE The comment lines, reference temperature, air densi- ty, a table of the units of measure for the results, and the average values are shown at the beginning of MFIRE.OUT. All input data will be shown in the output file if IOUT on Control line number 1 is <-l. For each contamination source, a new branch will automatically be setup. The new airway and junction ID numbers will not interfere with the original numbering scheme of the data file. Next are the results of the selected simulation(s) in the following order: network balancing, network balancing considering temperatures, transient-state modeling, and altered equilibrium due to fire and distribution of the contaminants. Depending upon the contents of the data file, and the simulation selected, attention, warning, and error message will be shown at locations where calculations resulted in unusual conditions. 10 EXAMPLE OF SIMULATION Appendix B contains an example of a simulation for the Waldo Mine, which exercises most of MFTRE's op- tions. The Waldo Mine is an underground mine owned by Asarco and leased to New Mexico Institute of Mining and Technology for research purposes. Figure 1 shows a simplified network of the Waldo Mine. The Waldo mine has six atmospheric junctions. Level 3 has adits with entrance junction numbers 27 and 34. Level 3 also has surface leakages modeled by airways 39, 47, and 40 to junction 1. Junction 3 is the surface entry of a shaft with a downcast fan. Junction 4 is the surface entry for level 9 adit. Junction 33 is at the surface above level 3. These surface junctions are connected by low resistance, high flow rate airways 48, 41, 42, 43, and 44. Junction 1 appears in three physical locations and junction 27 appears in two physical locations on the network. These six junc- tions are at different elevations. The network characteristics are listed in the input file. A fire was simulated in airway 4 for 2 min with output every minute. The fire provided 50,000 Btu/min of heat and 200 cfm of pure products of combustion (POC) to the network. Examination of the output file shows the results of the network balancing and the transient-state fire sim- ulation. Information is provided on the airway reversals, POC location, critical levels of POC, temperature, and pressure loss, as well as ventilation parameters for each interval. ERRORS The usual run time errors occur when illegal mathe- matical operations are attempted by MFIRE. For exam- ple, if the user enters a negative value for the input vari- able HEAT to model a heat sink or cooling station, a run time error will occur because an exponential function is employed to better model the changing temperature dis- tribution in the airways. DATA FILE ERRORS When a possibly wrong value and/or its calculated in- termediate result is detected, a descriptive message starting with * WARNING * is issued and the program continues. If a modification of input value or calculated interme- diate result is automatically made by the program, descrip- tive message starting with * ATTENTION * is issued and the program continues. LOCATING ERRORS Two types of data file errors can occur. 1. An error may occur because the input data file itself is invalid. This may be caused by: The data file cannot be found due to incorrect spelling, drive, or path specification. Check the spelling and path at the prompt for location of the data file. The data file contains non-ASCII symbols. Check op- eration of the text processor to insure that only ASCII characters are produced. Delete all non-ASCII and/or all out of place characters. 2. Data are accepted by the program, but are incorrect for the data types or ranges or the combination causes a data inconsistency. This may be due to: An invalid character is located where a numerical value is required. The input data value is outside the reasonable range. The input data is insufficient to build the model for simulation. The input data exceeds the capacity of the program. PROGRAM ERROR DETECTION When the program is running, tracing messages are given on the screen indicating the group and lines of data that have been read and the section of the program that is executing. Program termination indicates that problems are caused by the subsequent (not read) data file section. For each detected error, descriptive message starting with * ERROR * is issued and the program terminates. If a message indicates that the error condition occurred due to the data input file, locate and correct the data item. If no error message is issued, but the simulation results are not as expected, carefully check the list of input data shown in the output file. WARNING messages and ATTENTION messages may reveal an error in the input data even though the program continues to operate. Insure that the default values or modifications adopted by the program run are acceptable. Anomalistic data, though not incorrect or impossible, may lead to an unusual simulation. For example, making a fan unusually powerful may prevent a normal strength fire from affecting the airflow distribution in the system. Much care must be employed before considering an ex- treme case. If a message indicates that the accuracy criterion in the temperature section of the program was not satisfied, a table detailing the current parameters of airways which have large fluctuation in the average air temperature from iteration to iteration is produced. If the pattern of the parameters is clearly cyclical, while the variation of natural ventilation pressure is stable or cyclical from iteration to iteration, then, most likely there is no single equilibrium stage for the event. If the variation of natural ventilation pressure decreases steadily though slowly, increasing the value of data item variables MADJ or ITN (on control line number 1) may allow convergence. 11 @P-<§H~ oo i c o 3 o I s 3 o> il o rO 12 CONCLUSIONS The PC version of the program MFIRE contains many improvements and enhancements previously unavailable for the modeling of mine ventilation networks and the interaction of fires with mine ventilation. Transient-state simulation with dynamic modifications of the ventilation system and mine, the fire, and resulting POC transport and ventilation alterations are accommodated with MFIRE. MFIRE is more flexible and provides more error checking, and more informational messages about prob- lems with input files than its predecessor, the MTU-BOM code. The desirable features of the MTU-BOM code such as calculation and identification of recirculation, the air to rock heat exchange, and the basing of calculations on mass flow rates have been retained. MFIRE is useful for the planning and analysis of ven- tilation networks, simulation for emergency pl annin g, and the evaluation of fire detector layout. Inquiries relating to this program should be directed to the Bureau of Mines, Twin Cities Research Center, 5629 Minnehaha Avenue South, Minneapolis, MN 55417. 13 APPENDIX A.-MFIRE SOURCE CODE UNIT OF MEASURE ABBREVIATIONS USED IN MFIRE FT. foot FT3/MIN LBM*MIN2/FT4 FT2/HR BTU/HR*FT*F IN.W.G. cubic foot per minute pound mass times minutes squared over feet to the fourth square feet per hour British thermal unit divided by hours times fimes feet times degree Fahrenheit inches water gage FT3/MIN cubic feet per minute FT2 FT3 square feet cubic feet LBM; F pound mass Fahrenheit IN.W.G./CFM2 PERCENTAGE BTU/MIN inches water gage per cubic foot per minute squared percent British thermal unit per minute MFIRE.BAT PROGRAM els echo off echo MFIRE activated... mfireO echo Wait a moment for loading the program... if EXIST zheng.chg mfirel if EXIST zhengxhg mfire2 if EXIST zhengxhg mfirel if EXIST zhengxhg erase zhengxhg if EXIST liangxhg erase liangxhg if EXIST yunzhi.fan copy yaodongjrin+yunzhi.fan yaodong.xin if EXIST yunzhi.fan erase yunzhi.fan if EXIST xintanxhg copy yaodong.xin+ xintanxhg yaodong.xin if EXIST xintanxhg erase xintanxhg if EXIST yaodong.xin copy yaodong.xin mfire.out if EXIST yaodong.xin erase yaodong.xin if EXIST net erase net echo Your output is saved in file MFIRE.OUT MFIRE0.FOR PROGRAM CHARACTER*50 A OPEN (10.FILE = 'NET',STATUS = 'UNKNOWN\FORM = 'UNFORMATTED') NETWW=0 WRITE (10) NETWW OPEN (21,FILE = 'ZHENG.CHG',STATUS = 'UNKNOWN',FORM = 'UNFORMATTED') A=' B=0.0 WRITE (21) A WRITE (21) A,B 14 STOP END MFIRE1.FOR PROGRAM C C TRANSIENT-STATE SIMULATION PROGRAM FOR MINE VENTILATION C UNDER THE INFLUENCE OF FIRES C C VERSION OF JULY 1989 V 1.20 C (PART 1) C C< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $INCLUDE:'CMMN.DAT' C< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< C PARAMETER ( NMX=500, NMY=350, NMZ=50, IMX=10, IMY=10, IMZ=10, C . LMX=10000) C C COMMON /CONTRL/ NB,NJ,NFNUM,NVPN,NETW,NTEMP,MADJ,rrN,DR,TR,TINC, C . SPAN,IOUT,TOUT,CONCT C C NB: NUMBER OF AIRWAYS IN NETWORK C NJ: NUMBER OF JUNCTIONS IN NETWORK. C NFNUM: NUMBER OF FAN CHARACTERISTICS. C NVPN: MARKER FOR PRESENCE OF JUNCTION CARDS, 0: PRESENT. C NETW: MARKER, 1: ONLY THE NETWORK PART WILL BE PERFORMED. C NTEMP: MARKER, 1: ONLY UP TO THE TEMP. PART WILL BE PERFORMED. C MADJ: MAX. NO. OF ITERATION IN TEMP. PART. C ITN: MAX. NO. OF ITERATION IN NON-STEADY STATE SIMULATION. C DR: REFERENCE DENSITY OF AIR, LBM/FT3. C TR: REFERENCE TEMPERATURE OF AIR, DEG. F. C TINC: TIME INCREMENT IN SIMULATION, SEC. C SPAN: TIME SPAN OF SIMULATION, MIN.. C IOUT: OUTPUT. 0: BRIEF; 1: NORMAL; -1: DETAIL; -2: MORE DETAILED. C TOUT: TIME INTERVAL FOR OUTPUT, MIN. C CONCT: MARKER. 1: SIMULATION FOR TRANSIENT CONCENTRATION SIMULA- C TION ONLY C C COMMON /CTRL/NAV,MAXJ,INFLOW,CRITSM,CRITGS,CRITHT C C NAV: MARKER FOR PRESENCE OF AVE. VALUE CARDS. C MAXJ: HIGHEST JUNCTION NUMBER. C INFLOW: NUMBER OF CONTAMINATION CARDS. C CRITSM: ACCURACY OF FUME CALCULATION. C CRITGS: ACCURACY OF METHANE CALCULATION. C CRITHT: ACCURACY OF TEMPERATURE CALCULATION. C C COMMON /NTWK/NO(NMX) r FS(NMX) r FF(NMX),NWTYP(NMX),R(NMX),Q(NMX), C . P(^MX),KF(NMX),I^(NMX)A(NMX),0(NMX),RSTD(NMX), C . DZRD(NMX),FRNVP(NMX),NREV(NMX),RDCH4(NMX), C . RDPROP(NMX),TRD(NMX),TJS(NMX),RDOP(NMX),RCH4(NMX), C . FFRNVP(NMX),RA(NMX),NNREV(NMX) C 15 C NO(NMX): AIRWAY NUMBER. C JS(NMX): JUNCTION NUMBER OF AIRWAY BEGINNING. C JF(NMX): JUNCTION NUMBER OF AIRWAY END. C NWTYP(NMX): AIRWAY TYPE. C R(NMX): RESISTANCE OF AIRWAY 10**10 IN. W.G./(CFM)**2. C Q(NMX): BALANCED AIRFLOW RATE, ASSUMING EQUILIBRIA, CFM C P(NMX): CALCULATED PRESSURE LOSS IN IN. W.G.. C KF(NMX): FRICTION FACTOR. C LA(NMX): AIRWAY LENGTH IN FT. C A(NMX): AIRWAY CROSS SECTIONAL AREA IN FT**2. C O(NMX): AIRWAY PERIMETER IN FT. C RSTD(NMX): RESISTANCE FACTOR BASED ON TR. C DZRD(NMX): ELEVATION CHANGE IN AIRWAY IN FT. C FRNVP(NMX): PRODUCT TMRD*DZRD. C NREV(NMX): NUMBER OF AIRFLOW REVERSALS IN AN INTERVAL. C RDCH4(NMX): METHANE CONCENTRATION AT ROADWAY ENDS. C RDPROP(NMX): CONTAMINANT CONCENTRATION AT ROADWAY ENDS. C TRD(NMX): TEMPERATURE AT ROADWAY ENDS. C TJS(NMX): TEMPERATURE AT ROADWAY BEGINNING. C RDOP(NMX): BACKUP ARRAY FOR RDPROP. C RCH4(NMX): BACKUP ARRAY FOR RDCH4. C FFRNVP(NMX): DZRD/TMRD. C RA(NMX): BACKUP ARRAY FOR R. C NNREV(NMX): NUMBER OF AIRFLOW REVERSALS SINCE TIME ZERO.. C C COMMON /FAN/ NOF(IMX),NFREG(IMX),RGRAD(IMX),NFCW(IMX),MPTS(IMX), C . QF(IMX,IMY),PF(IMX,IMY),NSKP(IMX),NEGQ(IMX),JSB(NMX) C C NOF(IMX): AIRWAY NUMBER OF FAN. C NFREG(IMX): LIST OF FANS WITH CHARACTERISTICS. C RGRAD(IMX): SLOPE OF FAN CHARACTERISTIC. C NFCW(IMX): LIST OF FANS WHOSE CHAR. EXCEEDED. C MPTS(IMX): NUMBER OF POINTS DEFINING FAN CHAR. C QF(IMX,IMY): AIRFLOW AT GIVEN POINT OF FAN CHAR. C PF(IMX,IMY): PRESSURE AT GIVEN POINT OF FAN CHAR. C NSKP(IMX): MARKER INDICATING PERFORMANCE OF SPLINE. C NEGQ(IMX): MARKER INDICATING AIRFLOW REVERSAL IN FAN BRANCH. C JSB(NMX): BACKUP ARRAY FOR JS. C C COMMON /FC/ FC(IMY,IMY),DK(IMY),FK(IMY),FKQ(IMX,IMY,4) C C C C COMMON /MESH/ MNO,MEND(NMY),MSL(LMX),FNVP(NMY),RQ(NMX),INU(NMX), C . KNO(NMX),KJS(NMX),KJF(NMX) C C MNO: NUMBER OF MESHES IN NETWORK. C MEND(NMY): LIST OF MESH ENDS IN MSL-LIST. C MSL(LMX): LIST OF ALL INDEPENDENT MESHES. C FNVP(NMY): LIST OF NVP IN MESHES. C RQ(NMX): AUXILIARY LIST OF R*Q. C INU(NMX): AUXILIARY LIST FOR FORMING BASE SYSTEM. C KNO(NMX): LIST OF AIRWAYS IN BASE SYSTEM. C KJS(NMX): LIST OF JUNCTIONS IN BASE SYSTEM. 16 C KJF(NMX): LIST OF JUNCTIONS IN BASE SYSTEM. C C COMMON /JUNCT/JNO(NMY),T(NMY),Z(NMY),CH4C(NMY) r rNOL(NMY), C . PROP(NMY),PRCH4(NMYyLR(NMY) C C JNO(NMY): JUNCTION NUMBER. C T(NMY): TEMPERATURE OF AIR IN JUNCTIONS. C Z(NMY): ELEVATION OF JUNCTIONS. C CH4C(NMY): METHANE CONCENTRATION IN JUNCTION. C JNOL(NMY): LIST OF JUNCTION NUMBERS IN INCREASING ORDER. C PROP(NMY): CONTAMINANT CONCENTRATION IN JUNCTION. C PRCH4(NMY): METHANE CONCENTRATION IN JUNCTION. C JLR(NMY): LIST RELATING JNO- AND JNOL-LISTS. C C COMMON /TEMP/TROCK(NMX),TMRD(NMX),HA(NMX),HK(NMX) C C TROCK(NMX): AVERAGE ROCK TEMPERATURE LN AIRWAY. C TMRD(NMX): MEAN TEMPERATURE OF AIR IN AIRWAY. C HA(NMX): THERMAL DIFFUSIVITY OF ROCK. C HK(NMX): THERMAL CONDUCTIVITY OF ROCK. C C COMMON /FUME/ NCENT(NMX),CH4V(NMX),CH4PA(NMX),CONT(IMX),CONC(LMX) C . ,HEAT(IMX),02MIN(IMX),SMP02(IMX),HTP02(IMX), C . TFSI(IMX),02BEH(IMX),TPR(IMX),HTAD(IMX),QCENT(IMX) C C NCENT(NMX): NUMBER OF AIRWAYS INTO WHICH FUME ENTERS. C CH4V(NMX): METHANE EMISSION RATE IN AIRWAYS. C CH4PA(NMX): METHANE EMISSION RATE PER UNIT SURFACE AREA. C CONT(IMX): VOLUME FLOW RATE OF CONTAMINATED GAS INFLOW. C CONC(IMX): CONCENTRATION OF CONTAMINANT IN GAS INFLOW. C HEAT(IMX): HEAT ENTERING AIRWAY. C 02MIN(IMX): OXYGEN CONCENTRATION OF FUMES LEAVING FIRE ZONE C SMP02(IMX): CONTAMINANT PRODUCTION PER CUBIC FT OF OXYGEN. C HTP02(IMX): HEAT PRODUCTION PER CUBIC FT OF OXYGEN DELIVERY C TFSI(LMX): AIR TEMPERATURE BEHIND HEAT SOURCE. C 02BEH(IMX): OXYGEN CONTENT BEHIND FIRE SOURCES. C TPR(IMX): TRANSITION TIME OF FIRE IN MIN. C HTAD(IMX): REDUCED HEAT INPUT DUE TO HIGH AIR TEMPERATURE. C QCENT(IMX): "STD. Q' AT WHICH FIRE TAKES THE INPUT PARAMETERS. C C COMMON /SCHEME/ NGIN(NMX),MMIN(NMX),NGOUT(NMX),LOUT(NMX) C C NGIN(NMX): LIST OF AIRWAYS ENTERING JUNCTION. C MMIN(NMX): LIST OF LAST AIRWAY PER JUNCTION IN NGIN-LIST. C NGOUT(NMX): LIST OF AIRWAYS LEAVING JUNCTION. C LOUT(NMX): LIST OF LAST AIRWAY PER JUNCTION IN NGOUT-LIST. C C COMMON /EST/ MEMREC(NMX),NOREC(NMX),ESTPR(NMX),ESTCH4(NMX), C . ESTTR(NMX) C C MEMREC(NMX): TEMPORARY LIST OF AIRWAYS CARRYING RECIRC. AIR. C NOREC(NMX): PERMANENT LIST OF AIRWAYS. C ESTPR(NMX): ESTIMATED CONCENTRATION FOR RECIRCULATED AIR. C ESTCH4(NMX): ESTIMATED METHANE CONCENTRATION. 17 C ESTTR(NMX): ESTIMATED TEMPERATURE. C C COMMON /FACTOR/ XNEW(NMX),DCOAGE(NMX) C C XNEW(NMX): EXPONENT FOR TEMPERATURE CALCULATION. C DCOAGE(NMX): COEFFICIENT OF AGE. C C COMMON /TTJ/TIME,TSTART r FSTART,TLEFT(NMX) C C TIME: TIME ASSUMING QUASI-EQUILIBRIA. C TSTART: TEMPERATURE AT THE START JUNCTION. C JSTART: START JUNCTION (ATMOSPHERE). C TLEFT(NMX): TIME INCREMENT FOR MAKING UP A NORMAL INTERVAL. C C COMMON /SUM/ SUMQ(NMY),SUMC(NMY),SUMM(NMY),SMHEAT(NMY) C C SUMQ(NMY): TOTAL AIRFLOW RATES ENTERING JUNCTION. C SUMC(NMY): TOTAL CONTAMINANT FLOW RATES ENTERING JUNCTION. C SUMM(NMY): TOTAL METHANE FLOW RATES ENTERING JUNCTION. C SMHEAT(NMY): TOTAL ENTHALPY/REFERENCE DENSITY ENTERING JUNCT. C C COMMON /AUX/ PROPS(NMX),PRCH4S(NMX),QQ(NMX),QTP(NMX),TTJS(NMX), C . TTRD(NMX),TAS(NMX),BI(NMX) C C PROPS(NMX): BACKUP ARRAY FOR PROP. C PRCH4S(NMX): BACKUP ARRAY FOR PRCH4. C QQ(NMX): DAMPED AND TIME-AVERAGED AIRFLOW RATE. C QTP(NMX): BACKUP ARRAY FOR Q, FIXED IN EACH INTERVAL. C TTJS(NMX): BACKUP ARRAY FOR TJS. C TTRD(NMX): BACKUP ARRAY FOR TRD. C TAS(NMX): BACKUP ARRAY OF T. C BI(NMX): BIOT NUMBER. C C COMMON /WRN/ WRNPR,WRNGS,WRNSM,WRNHT,IOMIT(IMX),ROMIT(IMX,3),IAC C C WRNPR: PRESSURE DROP WARNING CRITERIA. C WRNGS: METHANE CONCENTRATION WARNING CRITERIA. C WRNSM: FUME CONCENTRATION WARNING CRITERIA. C WRNHT: HIGH TEMPERATURE WARNING CRITERIA. C IOMIT(IMX): AIRWAYS FOR WHICH DETAILED DATA RECORDS WERE OMITTED. C ROMIT(IMX,3): DATA AT STARTING J OF DATA-OMITTED AIRWAY. C IAC: COUNTER OF IOMIT AND ROMIT. C C COMMON /TRANS/ DELTAT,TACC,SUMFNV C C DELTAT: SPAN OF TIME INCREMENT. C TACC: CUMULATED TIME AFTER EVENT IN SEC. C SUMFNV: SUM OF NVP CORRECTION IN SYSTEM. C C COMMON /RCD/ IBTN(NMX),DPPA(NMZ,10,5),NSAC(NMX,2),TMRDA(NMX), C . DELTAQ(NMX),DPPB(NMZ,10,5),NSACB(NMX,2),GBTN(10,5), C . JCH(NMY),TAUXA(NMZ,10),TAUXB(NMZ,10),TAUXC(NMZ), C . TAUXD(NMZ),FMASS(NMZ) C 18 C IBTN(NMX): ARRAY HOLDING ADDRESS OF RECORD FOR AIRWAY (N C DPPA(NMZ,10,5): MASTER DATA STORAGE ARRAY IN DYNAMIC SIMULATION C NSAC(NMX,2): DATA RECORD STATUS OF AIRWAY (NMX). C TMRDA(NMX): BACKUP ARRAY FOR TMRD. C DELTAQ(NMX): VARIATION OF AIRFLOW IN AIRWAYS. C DPPB(NMZ,10,5): BACKUP ARRAY FOR DPPA. C NSACB(NMX,2): BACKUP ARRAY FOR NSAC. C GBTN(IO^): AUXILIARY ARRAY FOR DATA TRANSFER. C JCH(NMY): MARKER INDICATING JUNCTION CONDITION CHANGE. C TAUXA(NMZ,10): AIR TEMP. AT REAR ENDING OF SEGMENTS. C TAUXB(NMZ,10): BACKUP ARRAY FOR TAUXA. C TAUXC(NMZ): AD* TEMP. BEYOND THE FIRST SEGMENT. C TAUXD(NMZ): BACKUP ARRAY OF TAUXC. C FMASS(NMZ): MASS OF AIR BEYOND THE FIRST SEGMENT. C C COMMON /CCJ/ JDP, JDPP(IMX) C C JDP: NUMBER OF JUNCTIONS INITIATING DATA RECORDS. C JDPP(IMX): JUNCTIONS WHICH INITIATE DATA RECORDS. C C COMMON /TREND/ QRCD(NMX,10),TMRCD(NMX,10),HRM(IMX) C C QRCD(NMX,10): AIRFLOW RATES DURING ITERATIONS. C TMRCD(NMX,10): MEAN AIR TEMP. IN AIRWAYS DURING ITERATION. C HRM(IMX): VARIATION OF NVP PER MESH DURING ITERATION. C C COMMON /CHRC/ ITITLE(50),NCOMT1,NCOMTS,NCOMT2,LLINE C COMMON /ERMSG/ ROW(80),TITLE(50,20) C COMMON /ATJUNT/JANJAJJAl(10) r TATP(10) r FSTAR(10),TSTAR(10), C . MSTAR(10),ISTAR(10) C C JAN: TOTAL NUMBER OF ATMOSPHERE JUNCTIONS C JAJ: NUMBER OF ATMOSPHERE JUNCTIONS EXCEPT STARTING JUNCTION C JA1(10): JUNCTION ID NUMBER (IN ATMOSPHERE) C JATP(IO): JUNCTION TYPE (IN ATMOSPHERE) C JSTAR(IO): JUNCTION CONNECTED WITH ENTRY AIRWAYS EXCEPT STARING C JUNCTION C TSTAR(IO): TEMPERATURE IN THE JUNCTION AT ARRAY (JSTAR) C MSTAR(IO): JUNCTION NUMBER CORRESPONDING TO ARRAY (JNOL) C ISTAR(IO): JUNCTION NUMBER CORRESPONDING TO ARRAY (JNO) C C REAL LA C CHARACTER*4 TITLE C CHARACTER*1 ROW C C C MARKX: 0: THE PROGRAM HAS NOT REACHED THE DYNAMIC SIMULATION C PART YET. 1: THE DYNAMIC PART HAS BEEN REACHED. C MARKY: 0: BEFORE FINAL QUASI-EQUILIBRIUM SIMULATION. C 1: IN THE FINAL QUASI-EQUIL. STAGE, READY FOR TERMINATION. C NSTOP: MARKER FOR INPUT DATA ERROR. C< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< CHARACTER*50 MDl,MD2,OPTTON C 19 OPEN (10.FILE = 'NET\STATUS = 'UNKNOWN\FORM = 'UNFORMATTED') READ (10) NETWW IF (NETWW.EQ.1) GO TO 350 OPTION =' MD1 = ' MD2=' OPEN (21,FILE = 'ZHENG.CHG',STATUS = 'UNKNOWN\FORM = 'UNFORMATTED') READ (21) OPTION READ (21) MD1.TACC IF (OPTION.EQ.'HUNAN-XIANGYING') GO TO 350 NSTOP=0 MARKX=0 IF (OPTION.EQ.'CHANGZHENGCHANGLIANG') THEN MARKY=1 MD2= 'XINTAN.CHG' WRITE (6,740) ELSE WRITE (6,910) PAUSE WRITE (6,900) PAUSE MARKY=0 MD2= 'YAODONG.XIN' WRITE (6,730) WRITE (6,680) READ (5,'(A)') MD1 ENDIF OPEN (9,FILE=MD1) OPEN (8,FTLE=MD2) IF (MARKY.EQ.1) WRITE (8,760) MADJC=0 LLINE=0 MAXNO=0 CALL INPUT (l,NSTOP,MARKY,MAXNO,KV) IF (NSTOP.GT.0) GO TO 300 CALL CHECK1 (NSTOP,MAXNO,KV) IF (NSTOP.GT.0) GO TO 300 IF (NETW.NE.l) THEN CALL INPUT (2,NSTOP,MARKY,MAXNO,KV) IF (NSTOP.GT.0) GO TO 300 ENDIF ITCT=0 CALL ARR (MARKX) CALL BASE CALL MSLIST CALL MBLNC CALLNVP1 CALL ITR (MARKX,NSFLOW,0,MADJC,ITCT) CALL RGLT (MARKY) IF (MARKY.EQ.0) WRITE (6,670) IF (NETW.EQ.l) THEN NETWW=1 REWIND 10 WRITE (10) NETWW 20 C c WRITE (8,510) CALL OUTPUT (2,MARKX,MARKY,MADJC) GO TO 350 ENDIF IF (MARKY.LE.0) THEN WRITE (6,855) ELSE WRITE (6,860) ENDIF WRITE (6,865) TAVR=0.0 NSFLOW=0 ITCT=0 CALL INPUT (3,NSTOP,MARKY,MAXNO,KV) IF (NSTOP.GT.0) GO TO 300 CALL CCDATA (MARKY,NSTOP) IF (NSTOP.GT.0) GO TO 300 IF (MARKY.EQ.l) THEN CALL CDCH (NSTOP) IF (NSTOP.GT.0) GO TO 300 ENDIF CALL CH4EVA IF((IOUT.EQ.(-l)AND.MARKY.LE.0).OR.IOUT.LE.(-2)) CALL OUTPUT (1,MARKX,MARKY,MADJC) IF((IOUT.EQ.(-l)AND.MARKY.LE.0).OR.IOUT.LE.(-2)) CALL OUTPUT (2,MARKX,MARKY,MADJC) CALL OUTPUT (3,MARKX,MARKY,MADJC) JAJ=0 IF (JAN.LE.1) GO TO 40 DO10J = l,JAN IF (JATP(J).NE.0) THEN JAJ=JAJ + 1 JSTAR(JAJ)=JA1(J) ENDIF 10 CONTINUE DO30J=l,NJ DO30K=l,JAJ IF (JSTAR(K).EQJNO(J)) THEN TSTAR(K)=T(J) ENDIF 30 CONTINUE 40 NSFLOW=l CALL FWCT (NSFLOW) C C DETERMINATION OF CONDITIONS IN THE STARTING JUNCTION. C DO50I=l,NJ PROP(I)=0.0 PRCH4(I)=0.0 IF (JNOL(I).EQJSTART) THEN MSTART = I ISTART=JLR(I) 21 T(ISTART)=TSTART ENDIF 50 CONTINUE 70 MRC=0 L=ISTART NSTART=MSTART 90 CALL CDENDS (MARKY,NSTART,L) JUMPBK=0 CALL CDJUNC (NSTART r FUMPBK,L,0) IF (JUMPBK.EQ.1) GO TO 90 CALL RECIRC (MRQJUMPBK,NSTART,L) IF (JUMPBK.EQ.1) GO TO 90 LST=0 CALL PREP (MRC,LST) IF (MRC.NE.0) THEN C C ITCT: COUNTER OF ITERATIONS. C ITCT=ITCT+1 IF (LST.NE.0) THEN IF (ITCT.LE.20) THEN L=ISTART NSTART = MSTART GO TO 90 ENDIF WRITE (8,500) MADJC ENDIF ENDIF CALL TEVAL C C NSFLOW: 0: DATA PREPARATION FOR NETWORK BALANCING IN TEMP. PART C HAS NOT BEEN COMPLETED. AIRFLOW REVERSAL EXISTS IN THE C SYSTEM. 1: DATA PREPARATION COMPLETED. C SUMFNV: SUM OF ABSOLUTE DIFFERENCE OF NVP IN SUCCESSIVE INTERVALS. C MADJ: USER-SPECIFIED MAX. NUMBER OF ITERATIONS IN ONE PROGRAM RUN. C MADJC: COUNTER OF ITERATIONS IN ONE PROGRAM RUN. C IF (MADJC.LT.MADJ) THEN MADJC = MADJC +1 ITCT=0 DO120I = l,NB IF (JF(I).LT.O) JF(I)=-JF(I) 120 CONTINUE IF (NSFLOW.GT.0) THEN CALL NVP2 CALL ITR (MARKX,NSFLOW,l,MADJC,ITCT) ELSE CALL ARR (MARKX) CALL BASE CALL MSLIST CALL MBLNC CALLNVP2 CALL ITR (MARKX,NSFLOW,l,MADJC,rrCT) ENDIF 22 WRITE (6,870) MADJC.SUMFNV/MNO IF ((SUMFNV/MNO).LE.2.E-4) GO TO 130 IF (MADJC.GE.(MADJ-9)) THEN J = MADJC-MADJ + 10 HRM(J) = SUMFNV/MNO D0 125I=1,NB QRCD(LJ)=ABS(Q(I)) IF(JSB(I).NE.IABS(JS(I))AND.Q(I).GT.O.O) QRCD(y) = -ABS(Q(I)) IF(JSB(I).EQ.IABS(JS(I))AND.Q(I).LT.O.O) QRCD(LJ) = -ABS(Q(I)) TMRCD(y) = TMRD(I) 125 CONTINUE ENDIF ITCT=0 D0 127I=1,NB IF (Q(I).LT.0.0) GO TO 40 127 CONTINUE NSFLOW=l GO TO 70 ENDIF 130 CALL FWCT (NSFLOW) IF (MARKY.LE.0) WRITE (8,620) CALL OUTPUT (4,MARKX,MARKY,MADJC) IF (IOUT.NE.0) CALL OUTPUT (5,MARKX,MARKY,MADJC) IF (NTEMP.EQ.l) WRITE (8,520) IF (MARKY.EQ.0) THEN WRITE (6,660) ELSE WRITE (6,750) ENDIF C C IF (NETW.GE.1.0R.NTEMP.GE.1) GO TO 300 IF (OPTION.EQ/CHANGZHENGCHANGLIANG') GO TO 350 OPEN (20,FILE = 'LIANG.CHG\STATUS = 'UNKNOWN.FORM = 'UNFORMATTED') WRITE (20) NB,NJ,NFNrUM,NETW,NTEMP,ITN,DR,TR,TINC,SPAN,IOUT,TOUT, CONCT,NSTOP WRITE (20) NAV,MAXJ,INFLOW,CRITSM,CRITGS,CRITHT,MNO WRITE (20) TIME,TSTART r rSTART,NSFLOW,WRNPR,WRNGS,WRNSM,WRNHT WRITE (20) MARKX,MARKY,NCOMTl,NCOMTS,NCOMT2,LLINE WRITE (20) JANJAJ DO3200I = l,NB WRITE (20) NO(I) r FS(I) r rF(I),NWTYP(I),R(I),Q(I),KF(I),LA(I) WRITE (20) A(I),0(I),RSTD(I),DZRD(I),FRNVP(I),NREV(I),RDCH4(I) WRITE (20) RDPROP(I),TRD(I),TJS(I),FFRNVP(I),NNREV(I) r rSB(I) WRITE (20) TROCK(I),TMRD(I),HA(I),HK(I) WRITE (20) XNEW(I),DCOAGE(I),CH4V(I),CH4PA(I) WRITE (20) NGIN(I),MMIN(I),NGOUT(I),LOUT(I) 3200 CONTINUE DO3202I = l,IMX WRITE (20) NOF(I),NFREG(I),RGRAD(I),NFCW(I),MPTS(I), NSKP(I),NEGQ(I) WRITE (20) NCENT(I),CONT(I),CONC(I),HEAT(I),02MIN(I),SMP02(I), 23 HTP02(I),TPR(I),QCENT(I) DO3201J = l,IMY WRITE (20) QF(y),PF(y) DO 3205 K= 1,4 WRITE (20) FKQ(U,K) 3205 CONTINUE 3201 CONTINUE 3202 CONTINUE DO3203I=l,NJ WRITE (20) JNO(I),T(I),Z(I),CH4C(iyNOL(I),PROP(I), PRCH4(iyLR(I) 3203 CONTINUE DO3204K=l,JAJ WRITE (20) JSTAR(K),TSTAR(K) 3204 CONTINUE DO3206I=l,MNO WRITE (20) MEND(I),FNVP(I) 3206 CONTINUE IYY=MEND(MNO) DO3207I=l,IYY WRITE (20) MSL(I) 3207 CONTINUE DO 3209 1 = 1,50 WRITE (20) nTTLE(I) DO 3208 J =1,20 WRITE (20) TITLE(y) 3208 CONTINUE 3209 CONTINUE C 300 IF (MARKY.LE.0) THEN OPEN (21,FILE = 'ZHENG.CHG',STATUS = 'UNKNOWN\FORM = 'UNFORMATTED') OPTION= 'CHANGZHENGCHANGLIANG' IF(NSTOP.GE.1.0R.NETW.GE.1.0R.NTEMP.GE.l) . OPTION = 'HUNAN-XIANGYING' REWIND (21) WRITE (21) OPTION WRITE (21) MD1,TACC IF (NSTOP.GE.1AND.NSTOP.LE.4) THEN NNB=NB IF (NSTOP.EQ.1) NNB=KV WRITE (8,800) WRITE (8,810) (NO(I),JS(I),JF(I),NWTYP(I),R(I),Q(I), KF(I),LA(I)A(I),0(I),I= 1,NNB) ENDIF IF (NVPN.GE.1) WRITE (8,880) IF (NVPN.LE.0AND.NSTOP.GE.2AND.NSTOP.LE.4) THEN NNJ=NJ IF (NSTOP.EQ.2) NNJ=KV WRITE (8,820) WRITE (8,825) (JNO(J),T(J),Z(J),CH4C(J),J=l,NNJ) ENDIF IF (NFNUM.GT.0AND.NSTOP.GE.3AND.NSTOP.LE.4) THEN NNFNUM=NFNUM IF (NSTOP.EQ.3) NNFNUM=KV 24 WRITE (8,830) (NOF(K),K=l,NNFNUM) WRITE (8,840) DO310K=l,NNFNUM L=MPTS(K) IF (L.GT.IMY) L=IMY DO305I=l,L QF(K,I) = QF(K,I)/1000.0 305 CONTINUE WRITE (8,850) (QF(K,I),PF(K,I),I = 1,L) 310 CONTINUE ENDIF IF (NSTOP.GT.0) WRITE (8,890) ENDIF 350 STOP C 500 FORMAT (//,' * ATTENTION * DATA PREPARATION DID NOT COMPLETE ', 'WITHIN',/,' 20 ITERATIONS IN DATA PREPARATION CYCLE',14) 510 FORMAT (//,1X/***** NO FURTHER CALCULATIONS BEYOND NETWORK ', 'BALANCING WERE',/,7X,'DEMANDED DUE TO NETW = 1, PROG. ', 'RUN COMPLETED.',/) 520 FORMAT (//,1X,'***** NO FURTHER CALCULATIONS BEYOND TEMP. ', 'CALCULATIONS WERE',/,7X,'DEMANDED DUE TO NTEMP = 1, PROG.', ' RUN COMPLETED.',/) 560 FORMAT (///,1X,71('*'),///) 600 FORMAT (8X,F8.4,T31,I5,T47,F6.2) 620 FORMAT (///,lX,71('*'),///,T13,'OUTPUT OF THE TEMPERATURE', ' PART OF THE PROGRAM',///,lX,71('*')) 660 FORMAT (/,1X,'TEMPERATURE PART COMPLETED.',/) 670 FORMAT (/,lX,'NETWORK CALCULATION PART COMPLETED.',/) 680 FORMAT (/,1X,'NAME YOUR INPUT FILE BY "D:\PATH\FNAME1.EXT".',//) 730 FORMAT (30(/),1X,'PROGRAM MFIRE ACTIVATED ...') 740 FORMAT (//,1X,'QUASI-EQUILIBRIUM PART STARTED.',/) 750 FORMAT (/,LX,'SIMULATION COMPLETED.',///) 760 FORMAT (///,lX,71('*'),///,T15,'OUTPUT OF THE QUASI-EQUILIBRIUM', ' SIMULATION PART',///,1X,71('*')) 800 FORMAT (////,1X,THE FOLLOWING IS THE CRITICAL DATA READ IN ', 'SO FAR:',///,lX,T4,'NO , ,T9,'JS',T14, , JF,T18,'NWTYP', T30,'R',T39,'Q',T46,'KF,T53,'LA',T61, , A',T69,'O',/) 810 FORMAT (4I5,T23,F10.3,F10.0,T44,I4,T49,F7.0,T58,F6.1,T66,F5.1) 820 FORMAT (///,T5,'JNO\T15,T',T25,'Z',T35,'CH4C,/) 825 FORMAT (T4,I4,T11,F6.1,T21,F7.1,T31,F8.2) 830 FORMAT (//,' THESE CHARACTERISTICS WERE READ IN FOR FANS',515,/ T45,5I5) 840 FORMAT (//,5(' Q*1000 PF '),/) 850 FORMAT (5(F8.1,F6.2)/,5(F8.1,F6.2),/) 855 FORMAT (/,1X,'ENTERING TEMPERATURE PART OF THE PROGRAM.') 860 FORMAT (/,1X,'ENTERING QUASI-EQUIL. PART OF THE PROGRAM.') 865 FORMAT (1X,'PREFTXED ACCURACY CRITERION = 0.0002 IN.W.G. PER ', 'MESH.',/) 870 FORMAT (10X/ITERATION ',13,' COMPLETED, CURRENT ERROR = \ F8.5) 880 FORMAT (/,lX,'NO JUNCTION CARDS ARE EXPECTED TO READ IN DUE TO ', 'NVPN> 1 OR = l.',/,lX,'ONLY THE NETWORK PART WILL BE ', 'PERFORMED.') 25 890 FORMAT (//,lX,'PROGRAM RUN TERMINATED DUE TO INDICATED INPUT », 'ERROR.',// CORRECT THE ERROR THEN YOU MAY TRY AGAIN.', Ill) 900 FORMAT (30(/),T20,16('-'),' MFIRE ',17('-'),//,T20,'A PROGRAM ', 'FOR DYNAMIC SIMULATION OF MINE',/,T21,'VENTILATION ', 'UNDER THERMAL DISTURBANCES',///,T24,'WRITTEN BY:',T43, 'XINTAN CHANG',/T24,'SUPER VISED BY:\T39,'DR. R. E. ', 'GREUER',//,T25,'OCT. 1988',T38,'AT MICHIGAN TECH',/, T20,40('-'),1(/),T26,'VERSION 1.20 JULY 1989') 910 FORMAT (30(/),T35,'DISCLAIMER',//,T10,THE BUREAU OF MINES EXPRESS LY DECLARES THAT THERE ARE NO',/,T10,'WARRANTIES EXPRESS OR IMPLIE D WHICH APPLY TO THE SOFTWARE',/,T10,'CONTAINED HEREIN. BY ACCEPTA NCE AND USE OF SAID SOFTWARE',/,T10,'WHICH IS CONVEYED TO THE USER WITHOUT CONSIDERATION BY THE',/,T10,'BUREAU OF MINES, THE USER HE ROF EXPRESSLY WAIVES ANY AND',/,T10,'ALL CLAIMS FOR DAMAGE AND/OR SUITS FOR OR BY REASON OF,/,T10,'PERSONAL INJURY, OR PROPERTY DAM AGE, INCLUDING SPECIAL',/,T10,'CONSEQUENTIAL OR OTHER SIMILAR DAMA AGES ARISING OUT OF OR',/,T10,'IN ANY WAY CONNECTED WITH THE USE O .F THE SOFTWARE',/,T10,'CONTAINED HEREIN.',///) C C END BLOCK DATA C C SUBPROGRAM PURPOSE: C INITIATION OF THE VARIABLES AND ARRAYS IN COMMON BLOCKS. C C $INCLUDE:'CMMN.DAT' C PARAMETER ( K1=NMX*4, K2=NMX*3, K3=NMX*6, K4=NMX*8, K5=NMY*3, K6=IMX*2, K7=IMX*IMY*2, K8=LMX+NMY+1, K9=NMY+NMX, K10=NMY*2, K11 = NMX*2+IMX*11, K16=NMZ*10*5, K22=NMX*2, K17=NMZ*10*5+NMX*2, K19=NMZ*22, K21 = IMX*3, K23=NMY*4, K24=IMY*IMY+IMY*2+IMX*IMY*4 ) DATA NO r FS r FF,NWTYP,R,Q,P,KF,LAAO,RSTD,DZRD,FRNVP,NREV,RDCH4, RDPROP,TRD,TJS,RDOP,RCH4,FFRNVP,RA,NNREV /K1*0,K2*0.0,NMX*0,K3*0.0,NMX*0,K4*0.0,NMX*0/ DATA NOF,NFREG,RGRAD,NFCW,MPTS,QF,PF,NSKP,NEGQ,JSB /K6*0,IMX*0.0,K6*0,K7*0.0,IMX*0,IMX*0,NMX*0/ DATA FC,DK,FK,FKQ /K24*0.0/ DATA MNO,MEND,MSL,FNVP,RQ,INU,KNO,KJS,KJF /K8*0,K9*0.0,K1*0/ DATA JNO,T,Z,CH4C r FNOL,PROP,PRCH4,JLR /NMY*0,K5*0.0,NMY*0,K10*0.0,NMY*0/ DATA TROCK,TMRD,HA,HK /K1*0.0/ DATA NCENT,CH4V,CH4PA,CONT,CONC,HEAT,02MIN,SMP02,HTP02,TFSI, 26 C C c c 02BEH,TPR,HTAD,QCENT /NMX*0,K11*0.0/ DATA NGIN,MMIN,NGOUT,LOUT /K1*0/ DATA MEMREC,NOREC,ESTPR,ESTCH4,ESTTR /K22*0,K2*0.0/ DATA XNEW,DCOAGE /K22*0.0/ DATA TIME,TSTART,JSTART,TLEFT /0.0,0.0,0,NNDC*0.0/ DATA SUMQ,SUMC,SUMM,SMHEAT /K23*0.0/ DATA PROPS,PRCH4S,QQ,QTP,TTJS,TTRD,TAS,BI /K4*0.0/ DATA DELTAT,TACC,SUMFNV /3*0.0/ DATA ffiTN,DPPA,NSAC,TMRDAJ)ELTAQ,DPPB,NSACB,GBTN,JCH,TAUXA, TAUXB,TAUXC,TAUXD,FMASS /1*MX*0,K16*0AK22*0,K17*0AK22*0,50«0ANMY*0,K19*0.0, NMZ*0.0/ DATA WRNPR,WRNGS,WRNSM,WRNHT,IOMIT,ROMIT,IAC /4*0.0,IMX*0,K21*0.0,0/ DATA rriTLE,NCOMTl,NCOMTS,NCOMT2,LLINE /54*0/ END SUBROUTINE INPUT (JUMPl,NSTOP,MARKY,MAXNO,K) C C SUBROUTINE PURPOSE: C INPUT OF DATA. C C $INCLUDE:'CMMN.DAT' C DIMENSION DAL(15) C C IF (JUMP1.EQ.1) THEN NBR=0 NCOMTS=0 NCOMT1=0 10 CALL READIN (DAL,14,ISTOP,0) IF (ISTOP.EQ.1) THEN WRITE (8,520) WRITE (8,530) (ROW(IE),IE=1,80) NSTOP=5 RETURN 27 ENDIF IF (DAL(15).LT.(-1.E20)) GO TO 10 IF (NCOMTS.GT.NCOMT1) THEN NCOMTl=NCOMTS GO TO 10 ENDIF NB=DAL(1) NFNUM=DAL(2) INFLOW =DAL(3) NVPN=DAL(4) NETW=DAL(5) TR=DAL(6) MADJ=DAL(7) ITN=DAL(8) NTEMP=DAL(9) TINC=DAL(10) SPAN=DAL(11) IOUT=DAL(12) TOUT=DAL(13) CONCT=DAL(14) IF (MARKY.EQ.0) WRITE (6,720) IF (ABS(TR-60.).GT.50.) TR=75.0 DR = 2112.6/(53.35*(TR + 460.0)) IF (MADJ.LT.5.OR.MADJ.GT.80) MADJ=10 IF (ITN.LT.5.OR.ITN.GT.80) ITN=10 IF (NB.GT.NMX) WRITE (8,210) NB,NMX IF (NB.GT.NMX) THEN WRITE (8,520) WRITE (8,530) (ROW(IE),IE=1,80) NSTOP=5 RETURN ENDIF IF (IOUT.GT.0) IOUT=l IF (NVPN.GE.l) NETW=1 111=1 KNT=NB IF (NB.LE.1) KNT=NMX NCOMT2=NCOMTS DO30K=l,KNT 20 CALL READIN (DAL,15,ISTOP,l) IF (ISTOP.EQ.1) THEN WRITE (8,540) WRITE (8,550) K,(ROW(IE),IE=1,80) NSTOP=l RETURN ENDIF IF (DAL(15).LT.(-1.E20)) GO TO 20 IF (NCOMTS.GT.NCOMT2) THEN NCOMT2=NCOMTS IF (NCOMTS.LE.50) ITCTLE(NCOMTS)=K GO TO 20 ENDIF IF(DAL(l).LT.0.0.OR.DAL(2).LT.0.0.OR.DAL(3).LT.0.0.OR. DAL(7).LT.0.0.OR.DAL(8).LT.0.0.OR.DAL(9).LT.0.0.OR. 28 DAL(10).LT.0.0) THEN WRITE (8,380) INT(DAL(1)) WRITE (8,540) WRITE (8,550) K,(ROW(IE),IE=1,80) NSTOP=l RETURN ENDIF IF (DAL(2).GE.1000.0.OR.DAL(3).GE.1000.0) THEN WRITE (8,390) INT(DAL(1)) WRITE (8,540) WRITE (8,550) K,(ROW(EE),IE=1,80) NSTOP=l RETURN ENDIF IF (ABS(DAL(4)).GT.1.1) THEN WRITE (8,400) INT(DAL(1)) WRITE (8,540) WRITE (8,550) K,(ROW(IE),IE=1,80) NSTOP=l RETURN ENDIF NO(K)=DAL(l) JS(K)=DAL(2) JF(K)=DAL(3) NWTYP(K) = DAL(4) R(K) = DAL(5) Q(K) = DAL(6) KF(K)=DAL(7) LA(K) = DAL(8) A(K) = DAL(9) O(K) = DAL(10) IF (DAL(ll).GT.l.E-3) HA(K) « DAL(ll) IF (DAL(12).GT.l.E-3) HK(K) = DAL(12) IF (DAL(13).GT.l.E-3) CH4V(K)=DAL(13) IF (DAL(14).GT.l.E-3) CH4PA(K)=DAL(14) IF (DAL(15).GT.l.E-3) TROCK(K)=DAL(15) IF (NWTYP(K).EQ.(-1)AND.Q(K).LT.1.0) THEN WRITE (8,510) NO(K),Q(K) WRITE (8,540) WRITE (8,550) K,(ROW(IE),IE=1,80) NSTOP=l RETURN ENDIF IF (NO(K).LT.9990) THEN NBR=NBR+1 K1=JS(K) MSL(K1) = 1 K1=JF(K) MSL(K1) = 1 ELSE GO TO 40 ENDIF NODE=0 DO 30 1=1,999 29 IF (MSL(I).EQ.l) NODE = NODE +1 IF (K.EQ.NB.OR.NO(K).GT.9990) MSL(I)=0 30 CONTINUE IF (NB.LE.1AND.NO(K).LE.9990) THEN K=NMX WRITE (8,260) NMX,NO(K) NSTOP=l RETURN ENDIF 40 NCOMTS=100 NCOMT2=NCOMTS IF (NBR.LE.1) THEN WRITE (8,360) NSTOP=l RETURN ENDIF IF (NB.LE.1.0R.NB.GT.NBR) NB=NBR IF (MARKY.EQ.0) WRITE (6,730) NB DO50I=l,NB JSB(I)=JS(I) 50 CONTINUE C C NVPN: MARKER FOR PRESENCE OF JUNCTION CARDS. C IF (III.GT.50AND.MARKY.LE.0) WRITE (8,255) III NJ=NODE IF (NJ.GT.NMY) THEN WRITE (8,220) NJ,NMY NSTOP=5 RETURN ENDIF IF (NVPN.LE.0) THEN DO70K=l,NJ 60 CALL READIN (DAL,4,ISTOP,0) IF (ISTOP.EQ.1) THEN WRITE (8,560) WRITE (8,570) K,(ROW(IE),IE=1,80) NSTOP=2 RETURN ENDIF IF (DAL(15).LT.(-1.E20)) GO TO 60 IF (NCOMTS.GT.NCOMT2) THEN NCOMT2=NCOMTS GO TO 60 ENDIF IF (DAL(l).LE.0.0.OR.DAL(l).GE.1000.0) THEN WRITE (8,410) INT(DAL(1)) WRITE (8,560) WRITE (8,570) K,(ROW(IE),IE=1,80) NSTOP=2 RETURN ENDIF IF (DAL(4).LT.0.0.OR.DAL(4).GE.100.0) THEN WRITE (8,830) INT(DAL(1)) 30 WRITE (8,560) WRITE (8,570) K,(ROW(IE),IE=1,80) NSTOP=2 RETURN ELSE IF (DAL(4).GT.5.0AND.MARKY.LE.O) THEN WRITE (8,860) DAL(4),INT(DAL(1)) ENDIF JNO(K)=DAL(l) IF (ABS(DAL(2)-75.).GT.50.0AND.MARKY.LE.O) WRITE (8,420) DAL(2) JNO(K) T(K)=DAL(2) Z(K)=DAL(3) CH4C(K)=DAL(4) 70 CONTINUE IF (MARKY.EQ.0) WRITE (6,740) NJ ENDIF 72 CALL READIN (DAL,1,ISTOP,0) IF (ISTOP.EQ.1) THEN WRITE (8,575) WRITE (8,576) (ROW(IE),IE=1,80) NSTOP=l RETURN ENDIF IF (DAL(15).LT.(-1.E20)) GO TO 72 IF (NCOMTS.GT.NCOMT2) THEN NCOMT2=NCOMTS GO TO 72 ENDIF JAN=DAL(1) D0 75I=l r FAN 73 CALL READIN (DAL,2,ISTOP,0) IF (ISTOP.EQ.1) THEN WRITE (8,577) WRITE (8,578) (ROW(IE),IE=1,80) NSTOP=l RETURN ENDIF IF (DAL(15).LT.(-1.E20)) GO TO 73 IF (NCOMTS.GT.NCOMT2) THEN NCOMT2=NCOMTS GO TO 73 ENDIF JA1(I) = DAL(1) JATP(I) = DAL(2) 75 CONTINUE C C NFNUM: NUMBER OF FANS WITH THEIR CHARACTERISTICS. C IF (NFNUM.GT.0) THEN IF (NFNUM.GT.IMX) THEN WRITE (8,230) NFNUM.IMX NSTOP=5 ENDIF DO 110K=1,NFNUM 31 80 CALL READIN (DAL,2,ISTOP,0) IF (ISTOP.EQ.1) THEN WRITE (8,580) WRITE (8,590) K,(ROW(IE),IE=1,80) NSTOP=3 RETURN ENDIF IF (DAL(15).LT.(-1.E20)) GO TO 80 IF (NCOMTS.GT.NCOMT2) THEN NCOMT2=NCOMTS GO TO 80 ENDIF NOF(K)=DAL(l) MPTS(K)=DAL(2) INDEX=MPTS(K) IF (INDEX.LE.1.0R.INDEX.GT.IMY) THEN WRITE (8,240) INDEXJMY WRITE (8,580) WRITE (8,590) K,(ROW(IE),IE=1,80) NSTOP=3 RETURN ENDIF DO 100 JDEX=1,INDEX,5 1=10 IF ((JDEX+4).GT.INDEX) I=((INDEX+1)-JDEX)*2 90 CALL READIN(DAL,I,ISTOP,0) IF (ISTOP.EQ.1) THEN WRITE (8,600) WRITE (8,610) K,(ROW(IE),IE=1,80) NSTOP=3 RETURN ENDIF IF (DAL(15).LT.(-1.E20)) GO TO 90 IF (NCOMTS.GT.NCOMT2) THEN NCOMT2=NCOMTS GO TO 90 ENDIF IF (INDEX.GE.(JDEX+4)) THEN PF(KJDEX + 4) = DAL(10) QF(KJDEX + 4) = DAL(9) ENDIF IF (INDEX.GE.(JDEX+3)) THEN PF(K,JDEX+ 3) = DAL(8) QF(K,JDEX + 3) = DAL(7) ENDIF IF (INDEX.GE.(JDEX+2)) THEN PF(K, JDEX + 2) = DAL(6) QF(KJDEX + 2) = DAL(5) ENDIF IF (INDEX.GE.(JDEX+1)) THEN PF(K, JDEX + 1) = DAL(4) QF(KJDEX + 1) = DAL(3) ENDIF PF(KJDEX)=DAL(2) 32 QF(KJDEX)=DAL(1) 100 CONTINUE LSTOP=0 DO105J=l,INDEX-l IF (QF(K r F).GE.QF(K r F+l)) LSTOP=l IF (QF(K r T).LT.0.0) THEN WRITE (8,920) NOF(K) NSTOP=3 RETURN ENDIF 105 CONTINUE IF (LSTOP.EQ.1) THEN WRITE (8,430) NOF(K) NSTOP=3 RETURN ENDIF 110 CONTINUE ENDIF DO120I=l,NB IF (NWTYP(I).EQ.l) THEN IF (NFNUM.GT.0) THEN D0 115J=1,NFNUM IF (NO(I).EQ.NOF(J)) GO TO 120 115 CONTINUE ENDIF IF (R(I).LT.0.0) THEN WRITE (8,810) NO(I),R(I) NSTOP=5 RETURN ELSE IF (R(I).GT.18.0AND.MARKY.LE.O) THEN WRITE (8,820) NO(I),R(I) ENDIF ENDIF 120 CONTINUE IF (MARKY.EQ.0) WRITE (6,750) NFNUM NCOMTT=NCOMTl IF (NCOMT1.GT.50) NCOMTT=50 IF(NCOMTl.GT.0AND.NSTOP.EQ.0AND.NETW.GE.l. AND.MARKY.LE.0)THEN WRITE (8,201) WRITE (8,203) ((TITLE(y) r F=l,18),I = l,NCOMTT) WRITE (8,201) IF (NVPN.GE.1) WRITE (8,270) ENDIF ELSE IF (JUMP1.EQ.2) THEN C C INFLOW: NUMBER OF CONTAMINATION CARDS. C IF (INFLOW.GT.0) THEN IF (INFLOW.GT.IMX) THEN WRITE (8,250) INFLOW.IMX NSTOP=5 RETURN ENDIF 33 IF ((NB + INFLOW).GT.NMX) THEN WRITE (8,340) NB,INFLOW,NMX NSTOP=5 RETURN ELSE DO160I = l,INFLOW 140 CALL READIN (DAL,9,ISTOP,0) IF (ISTOP.EQ.1) THEN K=I WRITE (8,660) WRITE (8,670) I,(ROW(IE),IE=1,80) NSTOP=4 RETURN ENDIF IF (DAL(15).LT.(-1.E20)) GO TO 140 IF (NCOMTS.GT.NCOMT2) THEN NCOMT2=NCOMTS GO TO 140 ENDIF D0 142J = 1,NB IF (INT(DAL(l)).EQ.NO(J)) GO TO 143 142 CONTINUE IF (MARKY.LE.0) WRITE (8,470) INT(DAL(1)) GO TO 160 143 IF (DAL(2).LT.0.0.OR.DAL(3).LT.0.0.OR.DAL(5).LT.0.0. OR.DAL(6).LT.0.0.OR.DAL(7).LT.0.0) THEN K=I WRITE (8,840) WRITE (8,660) WRITE (8,670) I,(ROW(IE),IE=1,80) NSTOP=4 RETURN ENDIF IF (DAL(3).GT.100.0) THEN K=I WRITE (8,880) DAL(3),INT(DAL(1)) WRITE (8,660) WRITE (8,670) I,(ROW(IE),IE=1,80) NSTOP=4 RETURN ENDIF NCENT(I)=DAL(1) CONT(I) = DAL(2) CONC(I)=DAL(3) HEAT(I) = DAL(4) 02MIN(I)=DAL(5) SMP02(I)=DAL(6) HTP02(I)=DAL(7) QCENT(I)=DAL(8) TPR(I) = DAL(9) IF (TPR(I).LT.l.E-5) TPR(I) = l.E-5 IF (QCENT(I).LT.0.0) QCENT(I)=0.0 IF (QCENT(I).GT.IO.O) THEN VART=(9900.0+TR)**2+2.0*HEAT(I)/ 34 (QCENT(I)*DR*2.4E-5) TESTI = -9900.0 + SQRT( VART) IF(O2MIN(I).LE.0.1AND.SMPO2(I).LE.l.E-3AND. HTPO2(I).LT.1.0AND.TESTI.GT.3000.0AND.MARKY.LE.0) WRITE (8,870) NCENT(I) ENDIF D0 145K=1,NJ IF (JS(J).EQJNO(K)) GO TO 150 145 CONTINUE WRITE (8,900) NCENT NCENT(I)=0 GO TO 160 150 DO 155 I2=NB + 1,J+1,-1 NO(I2)=NO(I2-l) JS(I2)=JS(I2-1) JF(I2)=JF(I2-1) NWTYP(I2) = NWTYP(I2-1) R(I2)=R(I2-1) RSTD(I2) = RSTD(I2-1) Q(I2) = Q(I2-1) KF(I2) = KF(I2-1) LA(I2) = LA(I2-1) A(I2)=A(I2-1) 0(I2) = 0(I2-1) HA(I2) = HA(I2-1) HK(I2)=HK(I2-1) CH4V(I2) = CH4V(I2-1) CH4PA(I2) = CH4PA(I2-1) TROCK(I2) = TROCK(I2-l) 155 CONTINUE NO(J + 1) = 1000 + MAXNO + 1 IF (NO(J+l).GT.9995) NO(J + 1) = MAXNO + 1 JS(J+1)=MAXJ+1 JF(J) = MAXJ+1 NWTYP(J) = 10 RSTD(J + 1)=R(J+1) R(J)=R(J)*0.1/LA(J) IF (R(J).GT.O.OOl) R(J)= 0.001 RSTD(J)=R(J) LA(J + 1)=LA(J) LA(J)=0.1 CH4V(J)=0.0 CH4PA(J)=0.0 JNO(NJ + l) = MAXJ+l T(NJ+1)=T(K) Z(NJ+1) = Z(K) CH4C(NJ + 1) = CH4C(K) DO 159 D= 1,50 IF (nTTLE(I3).GTJ) rnTLE(J)=mTLE(J) + l 159 CONTINUE NB=NB+1 NJ = NJ + 1 MAXNO = MAXNO + 1 MAXJ=MAXJ+1 35 160 CONTINUE IF (MARKY.EQ.0) WRITE (6,760) INFLOW D0 165I = 1,NB JSB(I)=JS(I) 165 CONTINUE ENDIF ENDIF NCOMTT = NCOMTl IF (NCOMT1.GT.50) NCOMTT=50 IF (NSTOP.EQ.0) THEN IF (MARKY.LE.0) WRITE (8,910) IF (NCOMT1.GT.0AND.MARKY.LE.0) THEN WRITE (8,201) WRITE (8,203) ((TITLE(y),J = 1,18)4 = l.NCOMTT) WRITE (8,201) ENDIF IF (MARKY.LE.0.OR.IOUT.LE.(-2)) WRITE (8,280) TR,DR IF (INFLOW.GT.0AND.MARKY.EQ.0) THEN WRITE (8,350) D0 167I=l,INFLOW IF (HTPO2(I).GE.500.) WRITE (8,890) HTP02(I),NCENT(I) 167 CONTINUE ENDIF ENDIF C C ELSE 170 CALL READIN (DAL,11,ISTOP,0) IF (ISTOP.EQ.1) THEN WRITE (8,640) WRITE (8,650) (ROW(IE),IE=1,80) NSTOP=5 RETURN ENDIF IF (DAL(15).LT.(-1.E20)) GO TO 170 IF (NCOMTS.GT.NCOMT2) THEN NCOMT2=NCOMTS GO TO 170 ENDIF NAV=DAL(1) JSTART=DAL(2) TSTART=DAL(3) TIME=DAL(4) CRITSM=DAL(5) CRITGS = DAL(6) CRITHT=DAL(7) WRNPR = DAL(8) WRNSM = DAL(9) WRNGS=DAL(10) WRNHT = DAL(11) IF (TIME.LT.l.E-3) TIME =5.0 IF (CRITSM.LT.1.E-4.OR.CRITSM.GT.1.0) CRITSM= 0.005 IF (CRITGS.LT1.E-4.OR.CRITGS.GT.1.0) CRITGS=0.01 IF (CRITHT.LT.1.E-4.OR.CRITHT.GT.1.0) CRITHT=0.1 36 IF (WRNPR.LE.1.E-10.OR.WRNPR.GT.0.5) WRNPR=0.01 IF (WRNSM.LE.1.E-10.OR.WRNSM.GT.1.0) WRNSM=0.05 IF (WRNGS.LE.1.E-10.OR.WRNGS.GT.10.0) WRNGS=1.0 IF (WRNHT.LE.1.E-10.OR.WRNHT.GT.1000.0) WRNHT= 100.0 IF (MARKY.EQ.O) WRITE (6,780) J3=0 D0 175I=1,NJ IF (JNO(I)JEQJSTART) J3 = l 175 CONTINUE IF (J3.EQ.0) THEN WRITE (8,330) JSTART WRITE (8,640) WRITE (8,650) (ROW(IE),IE=1,80) NSTOP=5 RETURN ENDIF IF((TSTART.LT.-40.0.OR.TSTART.GT.120.0)AND.MARKY.LE.0) WRITE (8,850) TSTART IF (TIME.LE.0.0) THEN WRITE (8,460) TIME WRITE (8,640) WRITE (8,650) (ROW(IE),IE = 1,80) NSTOP=5 RETURN ENDIF ENDIF RETURN C 200 FORMAT (20A4) 201 FORMAT (///) 203 FORMAT (18A4) 210 FORMAT (/,1X/* ERROR * NETWORK CONTAINS',14,' AIRWAYS',/, 1X,'WHICH IS BEYOND THE CAPACITY OF ARRAYS:',I5) 220 FORMAT (/,1X,'* ERROR * NETWORK CONTAINS',14,' JUNCTIONS',/, 1X,'WHICH IS BEYOND THE CAPACITY OF ARRAYS:',I5) 230 FORMAT (/,1X,'* ERROR * NETWORK CONTAINS',14,' FANS',/, 1X,'WHICH IS BEYOND THE CAPACITY OF ARRAYS:',I4) 240 FORMAT (/,1X,'* ERROR * FAN CURVE CONTAINS',14,' POINTS',/, 1X,'WHICH IS BEYOND THE CAPACITY OF ARRAYS:',I4) 250 FORMAT (/,1X/* ERROR * NETWORK CONTAINS',14,' FIRE SOURCES' ,/,lX,'WHICH IS BEYOND THE CAPACITY OF ARRAYS:',I4) 255 FORMAT (/,1X,'* ATTENTION * NUMBER OF TITLES:',I3,' EXCEEDS THE ' ,'MAXIMUM (50).',/,' TITLE AFTER NO. 50 WILL BE IGNORED.') 260 FORMAT (/,1X/* ERROR * MAXIMUM ALLOWED BRANCHES (',13,') WAS ', 'READ IN WITHOUT FINDING',/,' ENDING AIRWAY (9999). LAST' ,' BRANCH READ IN WAS (',15,')') 270 FORMAT (/,lX,'NO JUNCTION CARDS ARE EXPECTED TO READ IN DUE TO 'NVPN> 1 OR = l.',/,lX,'ONLY THE NETWORK PART WILL BE ', 'PERFORMED.') 280 FORMAT (/////,' REF.TEMP.(TR): \F6.1,' DEG.F,11X,'REF. DENSITY, ' (DR): ',F6.4,' LBM/FT3',///,' LIST OF UNITS USED IN \ THIS OUTPUT FILE:',//,' LENGTH: FT.;',T25,'AREA: FT2;' ,T43,'VOLUME: FT3;',T61,'MASS: LBM;',/,' AIRFLOW: ', , FT3/MIN;',T25,TEMP. F;',T43, 37 FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT 590 FORMAT 600 FORMAT 'RESISTANCE:',6X,'IN.W.G./CFM2;',/,' FRICTION FACTOR:\7X, , LBM*MIN2/FT4;',T43,THERMAL DIFFUSIVTTY: FT2/HR;',/,1X, THERMAL CONDUCTIVITY: BTU/HR*FT*F;',T43,'CONCENTRATION:' ,5X,'PERCENTAGE;',/,'HEADLOSS:',14X,'IN.W.G.;',T43, 'HEAT INPUT:\11X,'BTU/MIN;\/,' CH4 PRODUCTION:',8X, 'FT3/MIN;',///) (/,1X,'START JUNCTION (JSTART) ',13,' NOT FOUND.') (/,DC,'* ERROR * CURRENT INPUT DATA: NB ',14, ' AND INFLOW ',I3,/,1X,THE SUM OF NB AND INFLOW ', 'MUST BE LESS THAN',16) (/,DC/* ATTENTION * A NEW BRANCH HAS BEEN SET UP FOR ', 'EACH FIRE SOURCE.') (/,1X,'* ERROR * TOO FEW AIRWAY CARD INPUT. AIRWAY ID ', ' NUMBER > 9990',/,' MARKS THE ENDING OF AIRWAY DATA.') (/,1X,'* ERROR * ILLEGAL NEGATIVE INPUT DETECTED FOR ', 'AIRWAY ',14) (/,1X,'* ERROR * JUNCTION ID > = 1000 DETECTED FOR ', 'AIRWAY ',14) (/,1X,'* ERROR * ILLEGAL INPUT VALUE FOR NWTYP DETECTED', ' FOR AIRWAY ',14) (/,1X,'* ERROR * JUNCTION ID > = 1000 OR <0 DETECTED IN ', 'JUNCnON',/,lX,'CARDS AS ',15) (/,1X,'* ATTENTION * CHECK UNLIKELY VALUE OF TEMPERATURE', F7.1,/,' FOR JUNCTION ',14) (/,1X,'* ERROR * FAN CURVE INPUT MUST BE IN THE ORDER ', 'FROM LOW-QF,/,' TO HIGH-QF. INVALID ORDER DETECTED ', 'FOR FAN ',14) (/,1X,'* ERROR * ILLEGAL ZERO OR NEGATIVE INPUT VALUE ', /,' OF TIME ',F7.1,' (HOURS) DETECTED.') (/,1X,'* ATTENTION * FIRE SOURCE ',15,' DOES NOT MATCH ', 'ANY AIRWAY',/,' IN THE NETWORK, DATA IGNORED.') (//,' * ERROR * THE SPECIFIED FIXED AIRFLOW FOR ', 'AIRWAY ',14,' WAS',/,' UNLIKELY SMALL OR NEGATIVE. ', ' INPUT OF Q WAS ',F12.1) (/,1X,THE FOLLOWING VARIABLES WERE EXPECTED TO BE READ ', 'IN:',//,lX,'NB,NFNUM,INFLOW,NVPN,NETW,TR,MADJ,ITN') (/,1X,'THE CURRENT INPUT WAS:',//,80A1) (/,1X,'THE FOLLOWING VARIABLES WERE EXPECTED TO BE READ ', 'IN:',//,lX,'NO r JSJF,NWTYP,R,Q,KF,LAAO,TROCK,HA,HK,', 'CH4V,CH4PA') (/,DC,THE CURRENT INPUT FOR AIRWAY ',14,' WAS:',//,80A1) (/,1X,THE FOLLOWING VARIABLES WERE EXPECTED TO BE READ ', 'IN:' // lX,'JNO T Z CH4C) (/,1X,THE CURRENT INPUT FOR JUNCTION ',14,' WAS:',//,80A1) (/,DC,'THE FOLLOWING VARIABLES WERE EXPECTED TO BE READ ', 'IN:',//,DC,'JAN') (/,1X,THE CURRENT INPUT FOR JUNCTION ',14,' WAS:',//,80A1) (/,1X,'THE FOLLOWING VARIABLES WERE EXPECTED TO BE READ ', 'IN:',//,1X,'JA,JATP') (/,1X,THE CURRENT INPUT FOR JUNCTION ',14,' WAS:',//,80A1) (/,1X,'THE FOLLOWING VARIABLES WERE EXPECTED TO BE READ ', 'IN:',//,lX,'NOF,MPTS') (/,' THE CURRENT INPUT FOR FAN ',14,' WAS:',//,80A1) (/,' THE FOLLOWING VARIABLES WERE EXPECTED TO BE READ ', 38 'IN:',//,' QF,PF, QF,PF, QF,PF, QF,PF, QF.PF) 610 FORMAT (/,' THE CURRENT INPUT FOR FAN ',14,' WAS:',//,80A1) 640 FORMAT (/,' THE FOLLOWING VARIABLES WERE EXPECTED TO BE READ ', 'IN:',//,' NAVJSTART,TSTART,nME,CRrrSM,CRITGS,CRrrHT,', 'WRNPR,WRNSM,WRNGS,WRNHT) 650 FORMAT (/,' THE CURRENT INPUT FOR THE SECOND CONTROL CARD WAS:', //,80A1) 660 FORMAT (/,' THE FOLLOWING VARIABLES WERE EXPECTED TO BE READ ', 'IN:',//,' NCENT,CONT,CONC,HEAT,02MIN,SMP02,HTP02,QCENT) 670 FORMAT (/,' THE CURRENT INPUT FOR FIRE SOURCE ',14,' WAS:',//, 80A1) 720 FORMAT (/,5X,'CONTROL CARD 1 WAS READ IN.') 730 FORMAT (5X,TOTAL',I4,' AIRWAY CARDS WERE READ IN.') 740 FORMAT (5X,TOTAL',I4,' JUNCTION CARDS WERE READ IN.') 750 FORMAT (5X,'TOTAL',I3,' FAN CURVE(S) WERE READ IhP) 760 FORMAT (5X,'TOTAL',I3,' FIRE SOURCE CARD(S) WERE READ IN.') 780 FORMAT (5X,'CONTROL CARD 2 WAS READ IN.',/) 810 FORMAT (/,1X,'* ERROR * FTXED-PRESSURE FAN\I5,' HAS AN ILLEGAL' ,/,lX,'NEGATIVE PRESSURE VALUE ',F73) 820 FORMAT (/,1X,'* WARNING * THE INPUT VALUE FOR FIXED-PRESSURE ', 'FAN',15,' WAS',/,1X,'UNLIKELY TOO LARGE. THE INPUT ', 'FAN PRESSURE WAS ',F9.3) 830 FORMAT (/,1X,'* ERROR * JUNCTION ',14,' HAS AN INVALID CH4 ', 'INPUT. IT MUST BE',/,' WITHIN 0.0 (NO CH4) AND 100.0', ' (PURE CH4).') 840 FORMAT (/,1X,'* ERROR * ILLEGAL NEGATIVE INPUT DETECTED IN ', 'READING FIRE SOURCE CARD.') 850 FORMAT (/,1X,'* ATTENTION * CHECK UNLIKELY VALUE OF AIR TEMP. ', 'AT STARTING JUNCTION.',/,' THE CURRENT INPUT VALUE WAS', F9.2,' (F).') 860 FORMAT (/,1X,'* WARNING * AN UNLIKELY INPUT OF CH4 CONCENTRATION' ,F6.1,' %',/,' AT JUNCTION ',13,' DETECTED.') 870 FORMAT (/,1X,'* WARNING * FTXED-HEAT-INPUT MODEL WAS SPECIFIED ', 'FOR FIRE IN',/,' AIRWAY,I5,\ BUT QCENT WAS TOO SMALL ', 'OR "HEAT" WAS TOO LARGE.',/,' EXCEPTIONALLY HIGH TEMP. ', 'AND ANOMALOUS CONSEQUENCE MAY RESULT.',/,' CHECK ', "QCENT'* AND "HEAT" IN THE INPUT MAY BE NEEDED.') 880 FORMAT (/,' * ERROR * FUME CONCENTRATION (CONC) HIGHER THAN ', '100% (CONC=',F5.0,')',/,' FOR FIRE SOURCE',15) 890 FORMAT (/,1X,'* WARNING * (HTPO2=',F5.0,') FOR FIRE SOURCE',15, ' IS UNLIKELY HIGH,',/,' ANOMALOUS CONSEQUENCE MAY ', 'RESULT.') 900 FORMAT (/,1X,' * WARNING * AIRWAY OR STARTING JUNCTION NUMBER ', 'OF FIRE',/,lX,'SOURCE ',15,' IS NOT ON THE LIST. DATA ', 'IGNORED.') 910 FORMAT (//,lX,71('*'),///,22X,'OUTPUT OF PROGRAM MFIRE',///,1X, 71('*')) 920 FORMAT (/,1X,'* ERROR * NEGATIVE QF INPUT DETECTED FOR FAN,I5) C END C C SUBROUTINE CHECK1 (NSTOP,MAXNO,KV) C 39 C c C SUBROUTINE PURPOSE: C 1) MAKE-UP OF THE MISSING DATA. C 2) CHECK FOR CONSISTENCY OF INPUT DATA. C C $INCLUDE: 'CMMN.DAT C DO10I=l,NB IF (NO(I).GT.MAXNO) MAXNO = NO(I) IF (NWTYP(I).EQ.O) THEN IF (R(I).LE.0.0) THEN IF (A(I).LE.0.0.OR.LA(I).LE.0.0) THEN WRITE (8,130) NO(I) KV=NB NSTOP=l RETURN ELSE R(I)=KF(I)*LA(I)*O(I)/(5.2*A(I)**3)*DR/0.075 ENDIF ENDIF ENDIF RSTD(I)=R(I) 10 CONTINUE C C MAXJ=0 DO30I=l,NB IF (JS(I).EQJF(I)) THEN WRITE (8,100) NO(I) KV=NB NSTOP=l RETURN ENDIF NREV(I)=0 N1=0 N2=0 IF (NVPN.LE.0) THEN KV=NJ DO20J=l,NJ IF (JNO(J).GT.MAXJAND.I.EQ.l) MAXJ=JNO(J) IF (JS(I).EQJNO(J)) N1=N1+1 IF (JF(I).EQJNO(J)) N2=N2+1 20 CONTINUE IF (N1.EQ.0) THEN WRITE (8,105) NO(I),JS(I) NSTOP=2 ELSE IF (N1.GE.2) THEN WRITE (8,110) JS(I) NSTOP=2 ENDIF IF (N2.EQ.0) THEN 40 WRITE (8,105) NO(I),JF(I) NSTOP=2 ELSE IF (N2.GE.2) THEN WRITE (8,110) JF(I) NSTOP=2 ENDIF IF (NSTOP.GT.0) RETURN ENDIF 30 CONTINUE IF (NVPN.LE.0) THEN KV=NJ DO50J=l,NJ J1=0 DO40I = l,NB IF (JS(I).EQJNO(J).ORJF(I).EQJNO(J)) THEN J1=J1+1 ENDIF 40 CONTINUE IF (J1.EQ.0) THEN WRITE (8,115) JNO(J) NSTOP=2 RETURN ELSE IF (J1.EQ.1) THEN WRITE (8,160) JNO(J) NSTOP=2 RETURN ENDIF 50 CONTINUE ENDIF DO70I=l,NB-l J1=0 DO60J = I + l,NB IF (NO(I).EQ.NO(J)) J1=J1+1 60 CONTINUE IF (J1.GT.0) THEN WRITE (8,140) NO(I) KV=NB NSTOP = l RETURN ENDIF 70 CONTINUE IF (NVPN.LE.0) THEN DO90I = l,NJ-l J2=0 DO80J=I+l,NJ IF (JNO(I).EQJNO(J)) J2=J2+1 80 CONTINUE IF (J2.GE.1) THEN WRITE (8,150) JNO(I) KV=NJ NSTOP=2 RETURN ENDIF 90 CONTINUE 41 ENDIF C 100 FORMAT (/,1X,'* ERROR * AIRWAY.I5,' IS ISOLATED FROM ', THE NETWORK') 105 FORMAT (/,1X,'* ERROR * AIRWAY',15,' IS ISOLATED FROM ', THE NETWORK ',/,' FOR THE UNSPECIFIED END',15,' IN ', 'JNO LIST.') 110 FORMAT (/,1X,'* ERROR * DUPLICATED JUNCTION NUMBER',15,' IN', ' JNO LIST.') 115 FORMAT (/,1X,'* ERROR * JUNCTION\I4,' IS ISOLATED FROM ', THE NETWORK') 130 FORMAT (/,1X,'* ERROR * NO RESISTANCE AND DIMENSION WERE', ' STATED FOR AIRWAY',15) 140 FORMAT (/,1X,'* ERROR * DUPLICATED AIRWAY ID NUMBER',15, ' IN THE AIRWAY CARDS.') 150 FORMAT (/,1X,'* ERROR * DUPLICATED JUNCTION ID NUMBER',15, ' IN THE JUNCTION CARDS.') 160 FORMAT (/,1X,'* ERROR * JUNCTION ',14,' IS A DEADEND.') 170 FORMAT (/,1X,'* ERROR * AIRWAY',15,' IS ISOLATED FROM THE ', 'NETWORK',/,' DUE TO DEADEND',16) C C RETURN END SUBROUTINE ARR (MARKX) C C SUBROUTINE PURPOSES: C 1) GROUPING AIRWAYS ACCORDING TO THEIR TYPES. C 2) ARRANGING REGULAR AIRWAYS ACCORDING TO THE PRODUCT OF C QANDR. C C $INCLUDE: 'CMMN.DAT' C C ORDER OF AIRWAYS IN ARRAY INU: (1) FTXED-Q; (2) FAN; (3) HIGH- C RQ; (4) LOW-RQ; (5) FIXED-P. C NBU=NB NBL=1 DO10K=l,NB IF (NWTYP(K).LT.O) THEN INU(NBU)=K NBU=NBU-1 ELSE IF (NWTYP(K).EQ.0.OR.NWTYP(K).EQ.10) THEN RQ(K) = ABS(R(K)*Q(K)) NWTYP(K)=2 ELSE IF (NFNUM.GT.0) THEN D0 5J = 1,NFNUM IF (NOF(J).EQ.NO(K)) GO TO 10 42 5 CONTINUE ENDIF INU(NBL)=K NBL=NBL+1 ENDIF 10 CONTINUE IF (NFNUM.GT.O) THEN D0 25K=1,NB DO20J = l,NFNUM IF (NOF(J).EQ.NO(K)) THEN RGRAD(J)=0.0 NFCW(J)=0 NFREG(J)=K INU(NBU)=K NBU=NBU-1 GO TO 25 ENDIF 20 CONTINUE 25 CONTINUE ENDIF C C IF (NBU.GT.(NBL-l)) THEN 30 NRETU=0 DO40K=l,NB IF (NWTYP(K).GE.2) THEN IF (NRETU.LE.0) THEN NMIN = K NRETU = 1 ENDIF IF (RQ(NMIN).GT.RQ(K)) NMIN=K ENDIF 40 CONTINUE INU(NBL) = NMIN NBL=NBL+1 NWTYP(NMIN)=0 IF ((NBU+1).GT.NBL) GO TO 30 ENDIF C C NWTYP(I) = 10: AIRWAYS CONTAINING FIRE SOURCES. C MARKX = 1: CALLED FROM DYNAMIC SIMULATION PART. C IF (MARKX.GT.0) THEN DO60I=l,INFLOW DO50J = l,NB IF (NCENT(I).EQ.NO(J)) THEN NWTYP(J) = 10 GO TO 60 ENDIF 50 CONTINUE 60 CONTINUE ENDIF C RETURN 43 END C C SUBROUTINE BASE C C C c C SUBROUTINE PURPOSE: C FORMATION OF BASE SYSTEM. C C c $INCLUDE: 'CMMN.DAT' C C IND=INU(1) KJF(NJ)=JS(IND) KJS(NJ-1)=JS(IND) JS(IND) = -JS(IND) KJF(NJ-1)=JF(IND) KNO(NJ-l)=IND KNUM=NJ-1 10 DO 30 NUC=2,NB IND=INU(NUC) IF (JS(IND).LT.O) GO TO 30 N1=0 N0=0 DO 20 K=KNUM,NJ IF (JS(IND).EQ.KJF(K)) N0=1 IF (JF(IND).EQ.KJF(K)) Nl=l 20 CONTINUE IF ((Nl+N0).EQ.l) THEN IF (NWTYP(IND)XT.O) WRITE (8,100) NO(IND) KNUM=KNUM-1 IF (N0.LE.0) THEN KJS(KNUM) = JF(IND) KJF(KNUM) = JS(IND) KNO(KNUM) = -IND JS(IND) = -JS(IND) ELSE KJS(KNUM) = JS(IND) KJF(KNUM) = JF(IND) KNO(KNUM)=IND JS(IND) = -JS(IND) ENDIF GO TO 10 ELSE IF ((Nl + N0).GT.l) THEN JS(IND) = -JS(IND) JF(IND) = -JF(IND) ENDIF 30 CONTINUE DO40K=l,NB JS(K) = IABS(JS(K)) 44 40 CONTINUE C 100 FORMAT (/,lX,'*ATTENTION* REGULATOR ',15,' IN BASE SYST.') C C C RETURN END SUBROUTINE MSLIST C C C c C SUBROUTINE PURPOSES: C SET-UP OF MESH LIST. C C c $INCLUDE: 'CMMN.DAT' C MESC=0 MNO=0 DO60K=l,NB IF (JF(K).LT.O) THEN JF(K) = -JF(K) MNO = MNO + l JBM=JS(K) JEM = JF(K) NK=K 10 MESC = MESC + 1 MEND(MNO) = MESC MSL(MESC) = NK C C DO20KCO = l,NJ IF (JBM.EQ.KJF(KCO)) THEN KB=KCO GO TO 30 ENDIF 20 CONTINUE 30 DO40KCO = l,NJ IF (JEM.EQ.KJF(KCO)) THEN KE=KCO GO TO 50 ENDIF 40 CONTINUE 50 IF (KB.LT.KE) THEN NK=KNO(KB) JBM = KJS(KB) GO TO 10 ELSE IF (KB.GT.KE) THEN NK=-KNO(KE) JEM = KJS(KE) GO TO 10 45 ENDIF ENDIF 60 CONTINUE IF (MEND(MNO).GT.LMX) WRITE (8,100) C RETURN 100 FORMAT (/,1X,'* ATTENTION * CAPACITY OF MSL EXCEEDED, INCREASE', ' LMX.') C C C C END SUBROUTINE MBLNC C C SUBROUTINE PURPOSE: C REALIZATION OF BALANCE OF MASS FLOW RATES. C C $INCLUDE: 'CMMN.DAT' C MBEGW=2 DO20K=l,MNO MENDW =MEND(K) DO 10 J=MBEGW,MENDW N=MSL(J) IF (N.LT.0) N=-N Q(N)=0. 10 CONTINUE MBEGW = MENDW + 2 20 CONTINUE C C MBEGW =1 DO40K=l,MNO MENDW =MEND(K) N=MSL(MBEGW) IF (N.LT.0) N=-N Q1 = Q(N) M = MBEGW +1 DO30J=M,MENDW N=MSL(J) FACT = 1. IF (N.LT.0) THEN N=-N FACT=-1. ENDIF Q(N) = Q(N) + Q1*FACT 30 CONTINUE MBEGW = MENDW + 1 46 40 CONTINUE C RETURN END C C SUBROUTINE NVP1 C C C SUBROUTINE PURPOSE: C EVALUATION OF NVP THROUGH MANIPULATION OF INPUT JUNCTION DATA C IN TEMP. AND ELEVATION. C C c $INCLUDE: 'CMMN.DAF C MBEGW=1 DO30K=l,MNO FNVP(K) = 0. IF (NVPN.GE.l) GO TO 30 MENDW=MEND(K) NT=0 TSU=0. DO 20 J = MBEGW,MENDW N=MSL(J) NX=N IF (NX.LT.0) NX=-NX DO10L=l,NJ IF (JS(NX).EQJNO(L)) THEN T0 = T(L) + 460. Z0 = Z(L) ELSE IF (JF(NX)EQ JNO(L)) THEN Tl = T(L) + 460. Z1 = Z(L) ENDIF 10 CONTINUE H=T0*Z1-T1*Z0 IF (N.LT.0) H=-H FNVP(K) = FNVP(K) + H TSU=TSU+T0+T1 NT=NT+1 20 CONTINUE TM = TSU/NT C C FNVP(K) =FNVP(K)*DR/(5.2*TM) MBEGW = MEND W + 1 30 CONTINUE C RETURN END 47 C C SUBROUTINE ITR (MARKX,NSFLOW,NSNVP,MADJC,ITCT) C C SUBROUTINE PURPOSE: C APPLICATION OF HARDY CROSS METHOD TO NETWORK BALANCING. C C c $INCLUDE: 'CMMN.DAT C 5 IT=0 10 DQSUM=0. MBEGW=1 DO50K=l,MNO MENDW=MEND(K) DPSUM=0. RQSUM=0. N=MSL(MBEGW) IF (N.LT0) N=-N IF (NWTYP(N).EQ.(-1)) THEN MBEGW = MENDW + 1 GO TO 50 ENDIF DO 30 J=MBEGW,MENDW N=MSL(J) FACT=1. IF (N.LT.0) THEN N=-N FACT=-1. ENDIF IF(NWTYP(N).EQ.l) THEN IF (NFNUM.GT.0) THEN DO20L=l,NFNUM IF (NFREG(L).EQ.N) THEN RQSUM = RQSUM-RGRAD(L) GO TO 25 ENDIF 20 CONTINUE ENDIF 25 IF (IABS(JS(N)).NEJSB(N)) FACT = -FACT DPSUM = DPSUM-FACT*R(N) ELSE RQ2 = R(N) *ABS(Q(N)) *2.E-5 RQSUM = RQSUM + RQ2 DP=R(N)*Q(N)*ABS(Q(N))*1.E-10 DPSUM = DPSUM + FACT*DP ENDIF 30 CONTINUE DQ = (DPSUM-FNVP(K))*1.E5/RQSUM DO 40 J=MBEGW,MENDW N=MSL(J) FACT=1. 48 IF (N.LT.O) THEN N=-N FACT=-1. ENDIF Q(N) = Q(N)-(DQ*FACT) 40 CONTINUE DQSUM = DQSUM + ABS(DQ) MBEGW = MENDW + 1 50 CONTINUE C C DO 100KI = 1,NB IF (NWTYP(KI).EQ.1AND.NFNUM.GT.0) THEN DO90J = l,NFNUM IF (NOF(J).EQ.NO(KI)) THEN NFCW(J) = NEGO(J) = IF(Q(KI).LT.0.0AND.IABS(JS(KI)).EQJSB(KI)) NEGQ(J) = 1 IF(Q(KI).GT.0.0AND.IABS(JS(KI)).NEJSB(KI)) NEGQ(J) = 1 NPTS=MPTS(J) IF (NVPN.GE.1AND.MADJC.LE.0) THEN TABF=TR ELSE NABF=JS(KI) DO70L=l,NJ IF (NABF.EQJNO(L)) THEN TABF=T(L) GO TO 80 ENDIF 70 CONTINUE ENDIF 80 IF (NSKP(J).EQ.O) THEN CALL SPLINE (J,Q(KI),R(KI),TABF,0) NSKP(J) = 1 ELSE CALL SPLINE (J,Q(KI),R(KI),TABF,1) ENDIF GO TO 100 ENDIF 90 CONTINUE ENDIF 100 CONTINUE C C it=it+i itct=itct+1 IF (IT.LE.l) THEN GO TO 10 ELSE IF ((DQSUM/FLOAT(MNO)).LT.10.) THEN RETURN ELSE IF (ITCT.GT.100) THEN WRITE (8,200) DQSUM/FLOAT(MNO) 49 RETURN ELSE IF (IT.GT.20) THEN C NSFLOW=0 CALL ARR (MARKX) CALL BASE CALL MSLIST CALL MBLNC C C NSNVP: 0: SUB. IS CALLED FROM NETWORK PART. 1: SUB. IS C CALLED FROM TEMP. OR DYNAMIC SIMULATION PART. C IF (NSNVP.LE.0) THEN IF (NVPN.LE.0) CALL NVP1 ELSE CALLNVP2 ENDIF GO TO 5 ENDIF GO TO 10 C 200 FORMAT (//,1X,'* ATTENTION * ACCURACY CRITERION IN NETWORK', ' BALANCING',/,1X,'( SUB. ITR ) WAS NOT SATISFIED IN 100' /ITERATIONS. THE',/,' CRITERION: 10 PER MESH,',6X, ' CURRENT ERROR:',F8.0) 210 FORMAT (//,DC,'* ATTENTION * ACCURACY CRITERION IN NETWORK', ' BALANCING',/,1X,'( SUB. ITR ) WAS NOT SATISFIED IN 100' ,'ITERATIONS. THE',/,' CRITERION: 10 PER MESH,',6X, ' CURRENT ERROR:',F8.0,/,' IT WAS HAPPENED IN DATA ', 'PREPARATION CYCLE ',15) C END C C SUBROUTINE SPLINE (J,QKI,RKI,TABF,NTW) C C c C SUBROUTINE PURPOSE: C 1) FAN CURVE FITTING. C 2) FAN PRESSURE INTERPOLATION. C C c $INCLUDE: 'CMMN.DAT' C C FKQ(J,I,l-4)COEFFICIENTS OF 3RD ORDER POLYNOMIAL FOR FAN NOF(J), C SEGMENT I. C NSKP(J) = 1: MARKER INDICATING THAT FAN CURVE FITTING FOR FAN C NOF(J) HAS BEEN PROCESSED. C MF = MPTS(J) IF (NTW.EQ.0) THEN DELQ = 1.0 50 DELP=0.0 DQP=0.0 MFA = MF-1 DO 10 I = 1,MFA FK(I) = 0.0 DK(I) = 0.0 DO 10 K = 1,MFA FC(I,K) = 0.0 10 CONTINUE FC(1,1) = 2.0 FC(1,2) = 1.0 FC(MFA,MFA-1) = 1.0 FC(MFA,MFA) = 2.0 DO 20 I = 1,MFA DQA = DELQ DELQ = QF(J,I + 1)-QF(J,I) DPA = DELP DELP = PF(J,I + 1)-PF(J,I) DQPA = DQP DQP = DELP/DELQ IF (I.GT.1AND.I.LT.MFA) THEN DK(I) = (DQPA*DELQ + DQP*DQA)*3.0 FC(I,I-1) = DELQ FC(I,I) = 2.0*(DQA+DELQ) FC(I,I+1) = DQA ELSE DK(I) = DQP*3.0 ENDIF 20 CONTINUE DO 25 I = 2,MFA FC(I,I) = FC(I,I)-FC(I-1,I)*FC(I,M)/FC(M,I-1) DK(I) = DK(I)-DK(I-1)*FC(I,I-1)/FC(I-1,I-1) 25 CONTINUE FK(MFA) = DK(MFA)/FC(MFA,MFA) C C DO 30 I = 2,MFA II = MFA-I + 1 FK(II) = (DK(II)-FC(H,II+l)*FK(n + l))/FC(II,II) 30 CONTINUE DO 35 I = 1,MFA FXD = QF(J,I + 1)-QF(J,I) FXA = 1.0/FXD**2. FXB = FK(I)-(PF(J,I + 1)-PF(J,I))/FXD FXC = FK(I + 1)-(PF(J,I+1)-PF(J,I))/FXD FKQ(J,I,1) = (QF(J,I + 1)*PF(J,I)-QF(J,I)*PF(J,I+1)) /FXD-FXA*(FXB *QF(J,I) *QF(J,I + 1) * *2 + FXC*QF(J,I + 1)*QF(J,I)**2) FKQ(J,I,2) = (PF(J,I+1)-PF(J,I))/FXD + FXA*(FXB* (QF(J,I + 1) * *2 + 2. *QF(J,I + 1) *QF(J,I)) + FXC*(QF(J,I)**2+2.*QF(J,I+1)*QF(J,I))) FKQ(J,I,3) = -FXA*(FXB*(2.*QF(J,I + 1) + QF(J,I)) + FXC* (QF(J,I + 1) + 2.*QF(J,I))) FKQ(J,I,4) = FXA*(FXB + FXC) 51 35 CONTINUE NSKP(J) = 1 ENDIF C C QKI=ABS(QKI) IF (QKI.LE.QF(J,l).OR.NEGQ(J).GE.l) THEN RKI = PF(J,l)*(TR+460.)/(TABF+460.) RGRAD(J) = 0.0 NFCW(J) = 1 RETURN ELSE IF (QKI.GE.QF(J,MF)) THEN RKI = PF(J,MF)*(TR+460.)/(TABF+460.) RGRAD(J) = 0.0 NFCW(J) = 1 RETURN ENDIF IF (QF(J,1).GE.QKI) THEN M = 1 ELSE DO 40 K = 2,MF IF (QF(J,K).GE.QKI) THEN M = K-l GO TO 45 ENDIF 40 CONTINUE ENDIF M = MFA 45 RKI = FKQ(J,M,1)+FKQ(J,M,2)*QKI+FKQ(J,M,3)*QKI**2 + FKQ(J,M,4)*QKI**3 RKI = RKI*(TR + 460.)/(TABF + 460.) RGRAD(J) = FKQ(J,M,2)+2*FKQ(J,M,3)*QKI + 3*FKQ(J,M,4)*QKI**2 C RETURN END C C SUBROUTINE RGLT (MARKY) C C c C SUBROUTINE PURPOSE: C CALCULATION OF VENTILATION RESISTANCES OF REGULATORS REQUIRED C BY THE USER-SPECIFIED AIRFLOW RATES IN THE AIRWAYS. C C c $INCLUDE: 'CMMN.DAT' C MBEGW=1 DO20K=l,MNO DPSUM=0. 52 MENDW = MEND(K) NX = MSL(MBEGW) IF (NX.LT.O) NX = -NX IF (NWTYP(NX).LT.O) THEN M = MBEGW+1 DO 10 J = M,MENDW IF (MSL(J).GT.O) THEN N = MSL(J) FACT = 1. ELSE N=-MSL(J) FACT=-1. ENDIF IF (NWTYP(N).GT.O) THEN DP = -R(N) ELSE DP = R(N)*Q(N)*ABS(Q(N))*1.E-10 ENDIF DPSUM = DPSUM + DP*FACT 10 CONTINUE IF (NVPN.LE.0) DPSUM = DPSUM-FNVP(K) RSTD(NX) = -DPSUM*l.E10/(Q(NX))**2 R(NX) = RSTD(NX) IF (R(NX).LT.0.0) THEN R(NX) = DPSUM RSTD(NX) = R(NX) NWTYP(NX) = 1 IF (MARKY.LE.O) WRITE (8,30) R(NX),NO(NX) ELSE NWTYP(NX) = ENDIF ENDIF MBEGW = MENDW + 1 20 CONTINUE C 30 FORMAT (//,1X,'* ATTENTION * A CONSTANT PRESSURE FAN OF \F6.3, ' IN.W.G.',/,1X,'IS INSTALLED IN PREVIOUSLY FTXED-Q \ 'AIRWAY ',15) C RETURN END C C SUBROUTINE CCDATA (MARKY.NSTOP) C C c C SUBROUTINE PURPOSES: C 1) COMPLETION OF INPUT DATA. C 2) EVALUATION OF ROCK TEMP. AND AIRWAY WETNESS. C C c $INCLUDE: 'CMMN.DAT' 53 C C c c DIMENSION DAL(15),NTT(NMX),LA1(NMX) DOUBLE PRECISION X,LA1 HAAVR=-1.0 HKAVR=-1.0 KFAVR = -1 LAAVR = -1 AAVR = -1.0 OAVR=-1.0 IF (NAV.GT.O) THEN 10 CALL READIN (DAL,6,ISTOP,0) IF (ISTOP.EQ.1) THEN WRITE (8,240) WRITE (8,250) (ROW(IE),IE=1,80) NSTOP=5 RETURN ENDIF IF (MARKY.EQ.0) WRITE (6,260) IF (DAL(15).LT.(-1.E20)) GO TO 10 IF (NCOMTS.GT.NCOMT2) THEN NCOMT2=NCOMTS GO TO 10 ENDIF IF(DAL(l).LT.0.0.OR.DAL(2).LT.0.0.OR.DAL(3).LT.0.0.OR. DAL(4).LT.0.0.OR.DAL(5).LT.0.0.OR.DAL(6).LT.0.0) THEN WRITE (8,200) WRITE (8,240) WRITE (8,250) (ROW(IE),IE = 1,80) NSTOP=5 RETURN ENDIF HAAVR=DAL(1) HKAVR=DAL(2) KFAVR=DAL(3) LAAVR=DAL(4) AAVR=DAL(5) OAVR = DAL(6) ENDIF IF (HAAVR.LT.1.E-5.OR.HAAVR.GT.10.0) HAAVR=0.1 IF (HKAVR.LT.1.E-5.OR.HKAVR.GT.50.0) HKAVR-3.0 IF (KFAVR.LT.10.OR.KFAVR.GT.1000) KFAVR = 100 IF (LAAVR.LT.10.OR.LAAVR.GT.3000) LAAVR=500 IF (AAVR.LT.0.1.ORAAVR.GT.500.0) AAVR = 100.0 IF (OAVR.LT.0.1.OR.OAVR.GT.100.0) OAVR=40.0 IF (MARKY.LE.0) THEN IF (NAV.LE.0AND.IOUT.LT.0) WRITE (8,220) WRITE (8,230) HAAVR,HKAVR,KFAVR,LAAVRAAVR,OAVR ENDIF DO50I=l,NB IF (HA(I).LE.l.E-20.OR.HA(I).GT.50.0) HA(I) = HAAVR 54 IF (HK(I).LE.l.E-20.OR.HK(I).GT.100.0) HK(I) = HKAVR IF (KF(I).LE.0.OR.KF(I).GT.2000.0) KF(I)=KFAVR IF (LA(I).LE.1.E-5.0R.LA(I).GT.1.E5) LA(I)=FLOAT(LAAVR) IF (A(I).LE.l.E-3.ORA(I).GT.1000.0) A(I)=AAVR IF (O(I).LE.l.E-3.OR.O(I).GT.1000.0) 0(I)=OAVR 50 CONTINUE C C irr=o DO80J=l,NB IF (NO(J).LE.O) NO(J) = -NO(J) L=0 M=0 DO60I=l,NJ IF (JS(J).EQJNO(I)) THEN ES = Z(I) TRS = T(I) L=l ELSE IF (JF(J).EQ JNO(I)) THEN EF=Z(I) TRF=T(I) M = l ENDIF IF ((L+M).EQ.2) THEN DZRD(J)=EF-ES IF (LA(J).LTABS(DZRD(J))) THEN LA(J)=ABS(DZRD(J)) IF (MARKY.LE.0) WRITE (8,270) NO(J),LA(J) IF (LA(J).GT.5000.AND.MARKY.LE.O) WRITE(8,280) NO(J) ENDIF IF (JF(J).EQJSTART) TRF=TRS IF (TROCK(J).GT.150.0AND.MARKY.LE.0) WRITE (8,300) TROCK(J),NO(J) IF (TROCK(J).LT.l.E-3.ORTROCK(J).GT.150.0) THEN X=0.014*O(J)/(A(J)**0.8*(ABS(Q(J)))**0.2) LA1(J) = LA(J) XYZ= DEXP(-X*LA1(J)) TROCK(J) = (TRF-TRS*XYZ+ DZRD(J)* (l.+XYZ)/(2*187.))/(1.0-XYZ) ENDIF GO TO 70 ENDIF 60 CONTINUE 70 IF (TROCK(J).GT.150.0.ORTROCK(J).LT.0.0) THEN IIT=IIT+1 NTT(IIT) = NO(J) TROCK(J)=TRF ENDIF 80 CONTINUE IF (IIT.GT.0AND.(MARKY.LE.0.OR.IOUT.LE.(-2))) THEN WRITE (8,290) (NTT(JJ),JJ = 1,IIT) WRITE (8,295) ENDIF RETURN 55 C C c 200 FORMAT (/,1X,'* ERROR * ILLEGAL NEGATIVE VALUE IN AVE.- VALUE', ' CARD DETECTED.') 220 FORMAT (//,1X,'AVE.- VALUE CARD WAS OMITTED BY USER (NAV=0)') 230 FORMAT (///,DC,'THE FOLLOWING AVERAGE VALUES WILL BE USED TO ', 'FILL ANY MISSING DATA:',//,LX,THERMAL DIFFUSIVITY OF, ' ROCK',T30,F9.3,T43,'FT2/HR',/,DC,'ROCK THERMAL ', 'CONDUCTI\TTY\T30,F9.3,T43,'BTU/(HR*FT*F)',/,1X, 'FRICTION FACTOR',T30,I9,T43,'1.E-10 LBF*MIN2/FT4',/,1X, 'AIRWAY LENGTH',T30,I9,T43,'FTV,1X,'SECTIONAL AREA ', T30,F9.3,T43,'FT2',/,DC,'PERIMETER',T30,F9.3,T43,'FT',/) 240 FORMAT (/,' THE FOLLOWING VARIABLES WERE EXPECTED TO BE READ ', 'IN:',//,' HAAVR,HKAVR,KFAVR,LAAVR,AAVR,OAVR') 250 FORMAT (/,' THE CURRENT INPUT WAS:',//,80A1) 260 FORMAT (/,5X,'AVERAGE- VALUE CARD WAS READ IN.') 270 FORMAT (/,1X,'* ATTENTION * THE LENGTH OF AIRWAY',15,' WAS LESS' ,' THAN ITS ELEVATION',/,' DIFFERENCE. THEY ARE NOW ', TAKEN EQUAL TO EACH OTHER AS: ',F9.1,' FT') 280 FORMAT (/,1X,'* WARNING * THE ELEVATION DIFFERENCE OF AIRWAY', 15,' IS UNLIKELY LARGE.') 290 FORMAT (/,1X,'* ATTENTION * UNLIKELY VALUES OF ROCK TEMPERATURE', ' WERE OBTAINED IN THE',/,' FOLLOWING AIRWAY(S) BASED ON', * USER SPECIFIED HEAT TRANSFER PARAMETERS.',/,10(12I6,/)) 295 FORMAT (' THEY WERE MODIFIED AND SHOWN IN FOLLOWING TABLE(S).') 300 FORMAT (/,1X,'* ATTENTION * THE UNLIKELY INPUT VALUE OF ROCK ', ' TEMPERATURE (',F6.0,' F)',/,' FOR AIRWAY',15,' IS ', 'IGNORED.') END SUBROUTINE FWCT (NSFLOW) C C SUBROUTINE PURPOSES: C 1) DATA REARRANGEMENT FOR AIRWAYS IN WHICH AIRFLOW REVERSAL C HAPPENED. C 2) FORMATION OF AIRFLOW SCHEME IN THE NETWORK. C 3) RELATING JNO AND JNOL LISTS. C C c $INCLUDE: 'CMMN.DAT' C DO20I = l,NB IF (Q(I).LT.0.0) THEN NSFLOW=0 J=JS(I) JS(I)=JF(I) JF(I)=J Q(I) = -Q(I) DZRD(I) = -DZRD(I) C 56 C NNREV(K): NUMBER OF AIRFLOW DIRECTION CHANGES IN AIRWAY NO(K). C IF (NWTYP(I).EQ.l) R(I) = -R(I) NNREV(I) = NNREV(I) + 1 ENDIF 20 CONTINUE C C L=0 M=0 N=l DO60I = l,MAXJ K=L DO40J = l,NB IF (JS(J).EQ.I) THEN L=L+1 NGOUT(L)=J ENDIF 40 CONTINUE LOUT(N)=L MM=M DO50J=l,NB IF (JF(J).EQ.I) THEN M = M + 1 NGIN(M)=J ENDIF 50 CONTINUE MMIN(N) = M IF ((MM.NE.M).OR.(ICNE.L)) THEN JNOL(N) = I N=N+1 ENDIF 60 CONTINUE DO80I = l,NJ C C JNOL(J): LIST OF JUNCTION NUMBERS IN INCREASING ORDER. C JLR(J): BRIDGE ARRAY RELATING JNO AND JNOL LISTS. C DO70J = l,NJ IF (JNOL(I).EQJNO(J)) THEN JLR(I)=J GO TO 80 ENDIF 70 CONTINUE 80 CONTINUE RETURN C C C C C END SUBROUTINE CH4EVA 57 C SUBROUTINE PURPOSE: C EVALUATION OF METHANE EMISSION RATES IN AIRWAYS. C C c $INCLUDE: 'CMMN.DAT' C C CH4C(J): CH4 CONCENTRATION IN JUNCTION JNO(J). C CH4V(I): CH4 EMISSION RATES IN AIRWAY NO(I). C CH4PA(I): CH4 EMISSION RATE PER UNIT SURFACE AREA. C DO40I=l,NB IF (CH4V(I).GT.0.0) GO TO 40 CH4V(I) = CH4PA(I)*LA(I)*0(I) IF (CH4V(I).GT.0.0) GO TO 40 M=0 N=0 DO30L=l,NJ IF (JS(I).EQJNO(L)) THEN CH4S = CH4C(L) M=l ENDIF IF (JF(I).EQ JNO(L)) THEN CH4F=CH4C(L) N=l ENDIF IF (M + N.GT.l) THEN IF (CH4F.GT.CH4S) THEN CH4V(I) = (CH4F-CH4S)*Q(I)/100.0 ELSE CH4V(I)=0.0 ENDIF GO TO 40 ENDIF 30 CONTINUE 40 CONTINUE C RETURN END C C SUBROUTINE CDENDS (MARKY,NSTART,L) C C c C SUBROUTINE PURPOSE: C EVALUATION OF AIR TEMP. AND CH4/FUME CONTENT AT AIRWAY ENDING. C C c $INCLUDE: 'CMMN.DAT' C PI =3.1415936 PROPJS = PROP(L) 58 JX=L CH4JS=PRCH4(L) JNO(L) = -JNO(L) JY=1 IF (NSTART.NE.1) JY=LOUT(NSTART-l) + l JZ=LOUT(NSTART) DO 60 K=JY,JZ ICFTM=0 I=NGOUT(K) NM=0 CONTAM =0.0 CONTQ=0.0 HEATAD=0.0 TFS=0.0 IF (MARKY.EQ.0AND.NTEMP.NE.1) GO TO 30 DO20N=l,INFLOW IF (NCENT(N).EQ.NO(I)) THEN NM = 1 FACT =1.0 IF (QCENT(N).GT.IO.O) THEN Q1=Q(I) IF (Q1.LT.QCENT(N)) Ql = Ql + OCENT(N) FACT = 1.0 + (Q(I)-QCENT(N))/Q1 ENDIF CONTAM = CONT(N) *CONC(N)/100. CONTQ = CONT(N) 02BEH(N) = (0.21-PROPJS)*100.0 HEATAD = HEAT(N) *FACT IF (O2MIN(N).GT.0.0) THEN 02SCL= 02MIN(N) + (21.0-O2MIN(N))*(FACT-1.0) CONTAM = (0.21-PROPJS-O2SCL/100.)*Q(I) 02SCLA = (0.21-PROPJS) * 100.0 02BEH(N) = MIN<02SCL,02SCLA) IF (CONTAM.GT.0.0) THEN HEATAD = CONTAM*437. ELSE HEATAD = 0.0 ENDIF ENDIF IF (SMPO2(N).LE.0.0) GO TO 30 CONTAM = (0.21-PROPJS) *Q(I) *SMP02(N) O2BEH(N)=0.0 IF (FACT.LE.1.0) THEN HTSCL=HTP02(N) ELSE HTSCL = HTP02(N)/FACT ENDIF IF (CONTAM.GT.0.0) THEN HEATAD = (0.21-PROPJS)*Q(I)*HTSCL ELSE HEATAD = 0.0 59 ENDIF GO TO 30 ENDIF 20 CONTINUE C C 30 RDCH4(I) = (CH4JS*Q(I) + CH4V(I))/(Q(I) + CH4V(I)) CONTA=CONTAM IF (CONTA.LT.0.0) CONTA=0.0 RDPROP(I) = (PROPJS*Q(I) + CONTA)/(Q(I) + CONTQ) TJS(I)=T(JX) IF (NM.GT.O) THEN HTAD(N) = HEATAD IF (HEATAD.NE.0.0) THEN VART=(9900.0+T(JX))**2+2.0*HEATAD/(Q(I)*DR*2.4E-5) TFS = -9900.0 + SQRT( VART) TJS(I)=TFS TFSI(N)=TFS ELSE TFSI(N)=TJS(I) ENDIF ENDIF C C AN ITERATION PROCESS IS EMPLOYED FOR MEAN AIR TEMPERATURE. C TM: MEAN AIR TEMP. IN AIRWAY. C IF (ICFTM.GT.0) GO TO 40 TM = (TJS(I) + TROCK(I))/2. GO TO 50 40 ARGMT = (TJS(I)-TROCK(I))/(TRD(I)-TROCK(I)) IF (ARGMT.LE.1.) THEN WRITE (8,*) 'ERROR IN SUB CDENDS' TM = (TJS(I) + TRD(I))/2. ELSE X=ALOG(ARGMT)/LA(I) TM=TROCK(I) + (TJS(I)-TROCK(I))*(1.0-EXP(-X*LA(I)))/(X*LA(I)) ENDIF 50 CALL KALPHA (OMIT,TM,FX,CP,I) C C COAGE: COEFFICIENT OF AGE. C XNEW(I): EXPONENTIAL FACTOR IN COMPUTING AIR TEMP. VARIATION C ALONG AIRWAY NO(I). C COAGE = BI(I)-FX*BI(I)* *2/(0.375 + BI(I)) DCOAGE(I) = COAGE XNEW(I) = HK(I) *0(I) * *2.*COAGE/(120.*DR*Q(I) *A(I)) G = XNEW(I) *LA(I)/CP IF (G.GE.25.0) THEN GX=0.0 ELSE GX=EXP(-G) ENDIF IF (ICFTM.LE.0) THEN TOLD=TROCK(I) 60 ELSE TOLD = TRD(I) ENDIF TRD(I) = TROCK(I) + (TJS(I)-TROCK(I))*GX- (DZRD(I)/(2.*778.26*CP))*(1. + GX) TDM = ABS(TOLD-TRD(I)) IF (TDM.GT.50.) THEN ICFTM = 1 GO TO 40 ENDIF IF (JF(I).GT.O) JF(I) = -JF(I) 60 CONTINUE C C C RETURN END SUBROUTINE KALPHA (TMST,TM,FX,CP,I) C C SUBROUTINE PURPOSE: C EVALUATION OF "COEFFICIENT OF AGE" ASSUMING DRY CASE. C C $INCLUDE: 'CMMN.DAT' C PI = 3.1415936 CP=0.24 TMX = TM QX=Q(I) TX = TIME C C WT: TEMP. CORRECTED AIR DENSITY, LBM/FT**3. C VISC: KINETIC VISCOSITY OF AIR, FT/HR. C HKA: THERMAL CONDUCTIVITY OF ROCK, BTU/HR*FT*F. C FO: FOURIER NUMBER. BI: BIOT NUMBER. RN: REYNOLDS NUMBER. C WT = DR*(TR + 460.) /(TMX + 460.) VISC = 0.000145* ((460. + TMX)/492.) * * 1.75 HKA = 0.014*((460. + TMX)/492.) * *0.81 RN=QX*DR/(15.*WT*0(I)*VISC) FRO = 0.0032 + 0.221/RN* *0.237 POT = (100./RN)**0.125 COR = ((KF(I)*0.075)/(809*DR*FR0))**POT HC=0.005*HKA*O(I)*RN**0.8*COR/A(I) FO = TX*HA(I)*0(I)**2/(4.*A(I)**2) BI(I) = HC*2.*A(I)/(0(I)*HK(I)) X = (0.375 + BI(I)) *SQRT(FO) C C IF (X.LT.2.5) THEN N=0 61 SUMT=0.0 ADDT=X 10 SUMT=SUMT+ADDT N=N+1 ADDT=-ADDT*X**2*(2.*N-1)/(N*(2.*N+1)) IF (ABS(ADDT).GE.0.00001) GO TO 10 FX=1.0-(EXP(X**2))*(1.0-(2.0/SQRT(PI))*SUMT) ELSE N=0 SUMT=0.0 ADDT=1.0 20 SUMT=SUMT+ADDT N=N+1 OLADDT=ADDT ADDT = -ADDT*(2*N-1)/(2.0*X**2) IF (ABS(ADDT).LT.0.00001) GO TO 30 IF (ABS(OLADDT).GTABS(ADDT)) GO TO 20 30 FX=1.0-1.0*SUMT/(SQRT(PI)*X) ENDIF C RETURN END C C SUBROUTINE CDJUNC (NSTART,JUMPBK,LL,KS) C C c C SUBROUTINE PURPOSE: C EVALUATION OF AIR TEMP. AND CONTENT OF CONTAMINANTS IN JUNCTIONS C C c $INCLUDE: 'CMMN.DAT C C KS = 0: THE SUB. IS CALLED FOR FROM THE MAIN PROGRAM. C KS = 1: THE SUB. IS CALLED FOR FROM SUB. RECIRC. C DO20I=l,NJ L=JLR(I) IF (JNO(L).LT.0) GO TO 20 IF (KS.EQ.lANDJNO(LL).NEJNOL(I)) GO TO 20 JY=1 IF (I.GT.1) JY=MMIN(I-1) + 1 JZ=MMIN(I) SUMAIR=0.0 SUMPR =0.0 SUMCH4=0.0 SUMHT=0.0 DO 10 K=JYJZ J=NGIN(K) IF (JF(J).GE.0AND.KS.EQ.0) GO TO 20 SUMAIR = SUMAIR + Q(J) SUMPR = SUMPR + RDPROP(J) *Q(J) 62 SUMCH4= SUMCH4+ RDCH4(J)*Q(J) SUMHT = SUMHT + TRD(J) *Q(J) *(0.2376 + 1.2E-5*TRD(J)) 10 CONTINUE C C IF DATA PREPARATION FOR ANY ONE OF THE JUNCTIONS IN THE C SYSTEM IS NOT COMPLETE, THE PROCESS OF DATA PREPARATION WILL C CONTINUE (JUMPBK=1). C NSTART=I PROP(L) = SUMPR/SUMAIR PRCH4(L) = SUMCH4/SUMAIR RTCONT = 9.801E7 + 2.0*SUMHT/(SUMAIR*2.4E-5) T(L) = -9900. + SQRT(RTCONT) LL=L IF (JAN.LE.1) GO TO 15 D0 12II=LJAJ IF (L.EQ JSTAR(H) ) THEN T(L)=TSTAR(II) PROP(L)=0.0 PRCH4(L)=0.0 ENDIF 12 CONTINUE 15 JUMPBK=1 RETURN 20 CONTINUE C RETURN END C C SUBROUTINE RECIRC (MRCJUMPBK,NSTART,L) C C c C SUBROUTINE PURPOSE: C EVALUATION OF AIR TEMP., CONTAMINANT CONTENT AT AIRWAY ENDINGS C UNDER RECIRCULATION CONDITIONS. C C c $INCLUDE: 'CMMN.DAT C NREC=1 10 LJ=0 DO60I = l,NJ IF (JNO(I).LE.0) THEN C C JUNCTION JNO(I) IS COMPLETED WITH THE NECESSARY CALCULATIONS C IFJNO(I)<0. C U = U+1 ELSE 1N=0 M=0 63 SRPR=0.0 SRCH4=0.0 STRD=0.0 QIN=0.0 QREC=0.0 DO20J = l,NB IF (JNO(I).EQ.(-JF(J))) THEN N=N+1 SRPR = SRPR + RDPROP(J)*Q(J) SRCH4=SRCH4+RDCH4(J) STRD = STRD + TRD(J) QIN=QIN+Q(J) ELSE IF (JNO(I).EQJF(J)) THEN C C JF(J) >0 INDICATES THAT THE CALCULATION FOR AIRWAY NO(J) HAS C NOT BEEN COMPLETED. C MEMREC: TEMPORARY LIST OF AIRWAYS CARRYING RECIRC. AIR. C M=M+1 MEMREC(M)=J QREC=QREC+Q(J) ENDIF 20 CONTINUE IF (N.LE.0) GO TO 60 AVRPR=SRPR/QIN AVRCH4=SRCH4/N AVTRD=STRD/N C C NREC SERVES AS FILTER TO FIND OUT THE JUNCTION WHICH HAS THE C LEAST NON-ZERO CIRCULATING TO NON CIRCULATING AIRFLOW RATIO. C IF ((QREC*2.0/QIN).LE.NREC) THEN DO30L=l,M MRC=MRC+1 K=MEMREC(L) NOREC(MRC)=K ESTPR(MRC) = AVRPR RDPROP(K) = ESTPR(MRC) ESTCH4(MRC) = AVRCH4 RDCH4(K) = ESTCH4(MRC) ESTTR(MRC) = AVTRD TRD(K) = ESTTR(MRC) JF(K) = -JF(K) 30 CONTINUE L=I CALL CDJUNC (NSTART,JUMPBK,L,1) RETURN ENDIF ENDIF 60 CONTINUE IF (U.LT.NJ) THEN NREC = NREC +1 GO TO 10 ENDIF 64 RETURN END C C SUBROUTINE PREP (MRQLST) C C c C SUBROUTINE PURPOSE: C PREPARATION OF CALCULATED INTERMEDIATE RESULTS AS THE INITIAL C VALUES FOR THE NEXT ROUND OF ITERATIONS IN THE CASE WHEN C RECIRCULATION HAPPENS. C C c $INCLUDE: 'CMMN.DAT' C DO10I = l,NB JF(I) = IABS(JF(I)) 10 CONTINUE DO20I = l,NJ JNO(I) = IABS(JNO(I)) 20 CONTINUE IF (MRC.EQ.0) RETURN DO30I = l,MRC K=NOREC(I) DIFPR = ESTPR(I)-RDPROP(K) DIFCH4 = ESTCH4(I)-RDCH4(K) DIFTRD = ESTTR(I)-TRD(K) C C WHEN THE VARIATIONS IN TEMP. OR CONTAMINANT CONTENT ARE LARGER C THAN THE USER-SPECIFIED CRITERIA (LST>0), MORE ITERATIONS WILL BE C PERFORMED. C IF (ABS(DIFPR).GE.(CRITSM/100.)) LST=LST+1 IF (ABS(DIFCH4).GE.(CRITGS/100.)) LST=LST + 1 IF (ABS(DIFTRD).GE.(CRITHT)) LST=LST+1 C C CALCULATED AIR TEMP., CH4 AND FUME CONTENT AT AIRWAY ENDING C ARE USED AS NEW ESTIMATIONS FOR THE NEXT ITERATION. C ESTPR(I) = RDPROP(K) ESTCH4(I) = RDCH4(K) ESTTR(I)=TRD(K) JF(K) = -JF(K) 30 CONTINUE C RETURN END C C SUBROUTINE TEVAL 65 C c C SUBROUTINE PURPOSES: C 1) EVALUATION OF MEAN AND MEAN-SQUARE AIR TEMP. C 2) CALCULATION OF THE PRODUCT OF MEAN AIR TEMP. AND ELEVATION C VARIATION OF EACH AIRWAY. C 3) EVALUATION OF VARIED AIRFLOW RESISTANCE DUE TO VARIED AIR C TEMP. C THIS SUBROUTINE IS CALLED FOR IN THE QUASI-EQUILIBRIUM C SIMULATION PART OF THE PROGRAM. ITS COUNTERPART IN THE DYNAMIC C SIMULATION PART IS PARAM. C C c $INCLUDE: 'CMMN.DAT' DOUBLE PRECISION G C CP=0.24 DO40I=l,NB E = DZRD(I)/(2.*778.26*CP) B=TJS(I)-TROCK(I) G = XNEW(I)*LA(I)/CP IF (G.GE.25.0) THEN GX=0.0 GXX=0.0 ELSE GX=DEXP(-G) GXX=DEXP(-2.*G) ENDIF TMRD(I) = TROCK(I)-B*(GX-1.0)/G-E*(0.5-(GX + (GX-1.0)/G)/G) FRNVP(I) = (TMRD(I) + 460.0) *DZRD(I) FFRNVP(I) = DZRD(I)/(TMRD(I) + 460.0) TRA1 = TROCK(I) + 460.0 A1=2*E**2/(2*G)**3+2*E*B/(2*G)**2-B**2/(2*G) A2 = 4*E* *2/G* *3 + (920. *E + 2*E*TJS(I))/G**2-2*TRA1*B/G A3=2*E**2/G+4*E**2/G**2+(920.*E+2*E*TJS(I))/G A4 = E* *2/(2*G) + 2*E* *2/(2*G) * *2 + E*B/G TMSQR=TRAl**2-TRAl*E-E*LA(I)/3.0+Al*(GXX-1.0) +A2*(GX-1.0)+A3*GX+A4*GXX IF (NWTYP(I).NE.l) R(I)=RSTD(I)*TMSQR/(460.+TR)**2 40 CONTINUE C RETURN END C C SUBROUTINE NVP2 C C c C SUBROUTINE PURPOSE: C EVALUATION OF NVP ACCORDING TO CALCULATED MEAN AIR TEMP. IN C AIRWAYS (REFER TO SUBS. TEVAL AND PARAM). C 66 C c $INCLUDE: 'CMMN.DAT C MBEGW=1 SUMFNV=0.0 DO20K=l,MNO MENDW=MEND(K) C C FNTM: AVERAGE TEMPERATURE IN THE MESH. C FNVP(K): NVP IN MESH K. IN EM.W.G. C SUMFNV: SUM OF NVP VARIATION EST MESHES IN THE SUCCESSIVELY C PERFORMED ITERATIONS, SERVING AS A CRITERION TO JUDGE IF C THE CONVERGENT RESULTS ARE REACHED. C ONVP=FNVP(K) FNVP(K)=0. ZUP=0.0 ZDOWN=0.0 HSU=0. TSU=0. DO 10 J=MBEGW,MENDW N=MSL(J) IF (N.LT.0) THEN FACT=-1. NX=-N ELSE FACT=1. NX=N ENDIF HSU = HSU + FACT*FRNVP(NX) TSU = TSU + FACT*FFRNVP(NX) 10 CONTINUE IF (ABS(TSU).GT.l.E-3) THEN HTU = ABS(HSU/TSU) FNTM=SQRT(HTU) FNVP(K) = HSU*DR/(5.2*FNTM) ELSE FNVP(K)=0.0 ENDIF SUMFNV = SUMFNV + ABS(ONVP-FNVP(K)) MBEGW = MENDW + 1 20 CONTINUE C RETURN END C C SUBROUTINE CDCH (NSTOP) C C SUBROUTINE PURPOSE: C UPDATING CONDITION CHANGES ACCORDING TO USER-SPECIFIED TIME TABLE C 67 C c $INCLUDE:'CMMN.DAT C DIMENSION QFX(20),PFX(20),DAL(15) C C C C ICODE: CODE NUMBER. 1: CHANGE TO ORDINARY AIRWAY. 2: CHANGE C TO FAN BRANCH. 3: CHANGE TO FIRE SOURCE. 4: FIRE CEASED. C 5: CHANGE SIMULATION STEPS. 6: CHANGE TIME INTERVAL FOR C OUTPUT. 7: JUNCTION WHOSE DOWN-STREAM SIDE AIRWAYS HAVE C DETAILED DATA RECORDS. C NBR: AIRWAY CALLING NUMBER IN WHICH CONDITION CHANGE HAPPENS. C 4 CALL READIN (DAL,14,ISTOP,0) IF (ISTOP.EQ.1) THEN ICODE =DAL(2) WRITE (8,300) IF (ICODE.EQ.1) WRITE (8,310) IF (ICODE.EQ.2) WRITE (8,320) IF (ICODE.EQ.3) WRITE (8,330) IF (ICODE.EQ.4) WRITE (8,340) IF (ICODE.EQ.5) WRITE (8,350) IF (ICODE.EQ.6) WRITE (8,360) IF (ICODE.EQ.7) WRITE (8,365) WRITE (8,370) (ROW(IE),IE=1,80) NSTOP=5 RETURN ENDIF IF (DAL(15).LT.(-1.E20)) GO TO 4 IF (NCOMTS.GT.NCOMT2) THEN NCOMT2=NCOMTS GO TO 4 ENDIF TS=DAL(1) IF (TS*60.0.GT.TACC) GO TO 100 ICODE =DAL(2) NBR=DAL(3) D0 5I=1,NB IF (NO(I).EQ.NBR) THEN N=I GO TO 6 ENDIF 5 CONTINUE GO TO 4 C C ICODE = 1 INDICATES THAT AIRWAY NBR BECOMES AN ORDINARY AIRWAY C WITH RESISTANCE EQUAL TO RCH AT TS MIN. AFTER EVENT. C 6 IF (ICODE.EQ.1) THEN RSTD(N)=DAL(4) R(N) = RSTD(N) *(TMRD(N) + 460.0) * *2/(TR + 460.0) * *2 68 NWTYP(N)=0 IF (NFNUMGT.O) THEN D0 8J=1,NFNUM IF (NOF(J).EQ.NBR) THEN IF (NFNUM.GTJ) THEN DO 7 K=J,NFNUM-1 NOF(K) = NOF(K+l) MPTS(K) = MPTS(K+1) NSKP(K) = NSKP(K+1) 7 CONTINUE ENDIF NOF(NFNUM)=0 MPTS(NFNUM)=0 NSKP(NFNUM) = NFNUM = NFNUM-1 GO TO 4 ENDIF 8 CONTINUE ENDIF GO TO 4 C C ICODE=2 INDICATES THAT AIRWAY NBR BECOMES A FAN BRANCH WITH C CHARACTERISTICS. C ELSE IF (ICODE.EQ.2) THEN INDEX =DAL(4) IF (INDEX.LE.0) THEN GO TO 4 ELSE IF (INDEX.EQ.1) THEN RX=DAL(5) IF (NFNUM.GT.O) THEN DO50J = l,NFNUM IF (NOF(J).EQ.NBR) THEN DO40JJ=J,NFNUM-l NOF(JJ) = NOF(JJ + l) MPTS(JJ) = MPTS(JJ + 1) DO40KK=l,IMX QF(JJ,KK) = QF(JJ + 1,KK) PF(JJ,KK) = PF(JJ + 1,KK) 40 CONTINUE NFNUM = NFNUM-1 ENDIF 50 CONTINUE ENDIF NWTYP(N) = 1 R(N)=RX GO TO 4 ELSE IF (INDEX.GT.5) THEN INDEX =5 ENDIF D0 55I = 1,INDEX 11=5+ (M)*2 QFX(I) = DAL(II) PFX(I) = DAL(II + 1) 69 55 CONTINUE IF (NFNUM.GT.O) THEN DO20J = l,NFNUM IF (NOF(J).EQ.NO(N)) THEN MPTS(J)= INDEX DO10K=l,INDEX QF(J,K) = QFX(K) PF(J,K)=PFX(K) 10 CONTINUE JN=J GO TO 4 ENDIF 20 CONTINUE ENDIF NFNUM = NFNUM + 1 IF (NFNUM.GT.IMX) THEN NFNUM =NFNUM-1 NWTYP(N) = 1 R(N)=PFX(1) GO TO 4 ENDIF NWTYP(N) = 1 NOF(NFNUM) = NO(N) MPTS(NFNUM) = INDEX DO30K=l,INDEX QF(NFNUM,K) = QFX(K) PF(NFNUM,K) = PFX(K) 30 CONTINUE GO TO 4 C C ICODE=3 INDICATES THAT BRANCH NBR BECOMES A FIRE SOURCE AT C TS MIN. AFTER EVENT. C ELSE IF (ICODE.EQ.3) THEN CONTX=DAL(4) CONCX=DAL(5) HEATX=DAL(6) 02MINX=DAL(7) SMP02X=DAL(8) HTP02X=DAL(9) QCENTX=DAL(10) TPRX=DAL(11) IF (INFLOW.GT.0) THEN DO60J=l,INFLOW IF (NCENT(J).EQ.NBR) THEN CONT(J) = CONTX CONC(J) = CONCX HEAT(J)=HEATX 02MIN(J) = 02MINX SMP02(J)=SMP02X HTP02(J)=HTP02X QCENT(J) = QCENTX TPR(J)=TPRX JN=J 70 GO TO 4 ENDIF 60 CONTINUE ENDIF INFLOW=INFLOW+l IF (INFLOW.GT.IMX) GO TO 4 NCENT(INFLOW) = NBR CONT(INFLOW) = CONTX CONC(INFLOW) = CONCX HEAT(INFLO W) = HEATX 02MIN(INFLOW) - 02MINX SMP02(INFLOW) = SMP02X HTP02(INFLOW) = HTP02X QCENT(INFLOW) = QCENTX TPR(INFLOW) = TPRX JN=INFLOW GO TO 4 C C ICODE=4 INDICATES THAT BRANCH NBR BECOMES AN ORDINARY AIRWAY C WITHOUT A FERE SOURCE AT TS MIN. AFTER EVENT. C ELSE IF (ICODE.EQ.4) THEN IF (INFLOW.GT.0) THEN DO90I = l,INFLOW IF (NCENT(I).EQ.NBR) THEN DO80J=I,INFLOW NCENT(J) = NCENT(J + 1) CONT(J) = CONT(J + l) CONC(J) = CONC(J + l) HEAT(J) - HEAT(J + 1) 02MIN(J) = 02MIN(J + 1) SMP02(J) = SMP02(J + 1) HTP02(J) = HTP02(J + 1) QCENT(J) = QCENT(J + 1) TPR(J)=TPR(J+1) 80 CONTINUE INFLOW = INFLOW-1 NWTYP(N)=0 GO TO 4 ENDIF 90 CONTINUE ENDIF ENDIF GO TO 4 100 RETURN C c 300 FORMAT (/,1X,THE FOLLOWING VARIABLES WERE EXPECTED TO BE READ', ' IN:',//) 310 FORMAT (1X,TS,1,NBR,R') 320 FORMAT (1X,TS,2,NBR,INDEX,QF,PF,QF,PF,QF,PF,QF,PF ) QF,PF) 330 FORMAT (lX,TS,3,NBR,CONT,CONC,HEAT,02MIN,SMPO2,HTPO2,QCENT) 340 FORMAT (LX,TS,4,NBR') 350 FORMAT (1X,TS,5,DELTAT) 71 360 FORMAT (lX,'TS,6,TOUT) 365 FORMAT (1X,TS,7,JDPF) 370 FORMAT (/,1X,THE CURRENT INPUT WAS:\//,80A1) C END C C SUBROUTINE READIN (DAL,MAX,ISTOP,ICT) C C c C SUBROUTINE PURPOSE: C DATA INPUT. C C C C C COMMON /CHRC/ ITITLE(50),NCOMT1,NCOMTS,NCOMT2,LLINE COMMON /ERMSG/ ROW(80),TITLE(50,20) CHARACTERS TITLE CHARACTERS ROW,CHK(15),ER(80) DIMENSION DAL(15) DATA CHK/ , 0','1 , ,'2','3', , 4 , , , 5 , ,'6','7','8','9','.',',',' + ', > > > > / " » / KK=0 KK1=0 KK2=0 NEG=0 ISTOP=0 DO 5 1=1,15 DAL(I)=0.0 5 CONTINUE DO 7 1 = 1,80 ER(I) = " 7 CONTINUE READ (9,110) (ROW(I),I=1,80) LLINE=LLINE+1 IDEC=0 MLEV=1 JJ=0 1 = 15 LEV=0 10 LEV = LEV +1 n=i IF (LEV.GT.80) GO TO 50 DO 20 1=1,15 IF (ROW(LEV).EQ.CHK(I)) THEN IF(I.NE.15)KK=1 GO TO 30 ENDIF 20 CONTINUE 72 KK2=KK2+1 IF ((KK.EQ.0AND.ROW(LEV).NE.'$').OR.KK2.GE.4) THEN ISTOP=0 NCOMTS = NCOMTS + 1 IF (NCOMTS.LE.50) THEN IF (ICT.EQ.1) THEN KK3=0 KK4=0 DO 21 1=1,80 IF (ROW(I).NE.CHK(15)) GO TO 22 KK3=KK3+1 21 CONTINUE 22 DO 23 1=80,1,-1 IF (ROW(I).NE.CHK(15)) GO TO 24 KK4=KK4+1 23 CONTINUE 24 LR = (KK3 + KK4-8)/2 IF (LR.LT.0) LR = KK5=80-KK4 IF (LR.EQ.0) KK5 = KK3 + 72 D0 25I=KK3+1,KK5 ER(I-KK3 + LR) = ROW(I) 25 CONTINUE DO 26 1=1,80 IF (I.LE.LR) THEN ROW(I) = ' ' ELSE ROW(I)=ER(I) ENDIF 26 CONTINUE ENDIF DO 27 1=1,20 J=(M)*4+1 TITLE(NCOMTS,I) = ROW(J)//ROW(J + l)//ROW(J + 2)//ROW(J + 3) 27 CONTINUE ENDIF RETURN ELSE IF (KK.EQ.0AND.ROW(LEV).EQ.'$') THEN KK1 = 1 GO TO 50 ELSE IF (KK1.NE.1) THEN ER(LEV) = ROW(LEV) ISTOP=l 1=1 ENDIF 30 IF (I.GT.10) GO TO 40 IF (JJ.EQ.l) MLEV=MLEV+1 JJ=0 IF (IDECEQ.O) THEN DAL(MLEV) = (DAL(MLEV)*10.0) + ((I-l)*1.0) ELSE IF (IDEC.GT.O) THEN DAL(MLEV) = DAL(MLEV) + ((I-1)*1.0)/(10.0**IDEC) ENDIF IF (IDECNE.O) IDEC=IDEC+1 73 GO TO 10 40 IF(I.EQ.11)IDEC=1 IF(I.EQ.14)NEG = 1 IF (I.EQ.12.0R.I.EQ.15) THEN IF (NEG.EQ.1) DAL(MLEV)=0.0-DAL(MLEV) NEG=0 IDEC=0 ENDIF IF (JJ.EQ.1AND.(I.EQ.11.0R.I.EQ.13.0R.I.EQ.14)) THEN MLEV = MLEV + 1 JJ=0 ENDIF IF (I.EQ.12) THEN MLEV=MLEV + 1 JJ=0 ENDIF IF (I.EQ.15AND.II.EQ.12) JJ=5 IF (I.EQ.15AND.ILNE.15AND.n.NE.12ANDJJ.EQ.O) JJ=1 IF (I.EQ.12) DAL(MLEV)=0.0 IF (MLEV.LE.MAX) GO TO 10 50 IF (ISTOP.GT.0) WRITE (8,100) (ROW(I),I = 1,80),(ER(I),I = 1,80) IF (KK.EQ.0.OR.KK1.EQ.1) DAL(15)=-1.E25 RETURN C 100 FORMAT (/,' * ERROR * ILLEGAL CHARACTER DETECTED IN ', 'THE LINE WHERE NUMERICAL INPUT',/,' WAS EXPECTED. ', TWO LINES FOLLOW: 1 ORIGINAL; 2 ILLEGAL CHARACTERS.', //,80A1,/,80A1,/) 110 FORMAT (80A1) C END C SUBROUTINE OUTPUT (IPT,MARKX,MARKY,MADJC) C C c C SUBROUTINE PURPOSE: C OUTPUT OF NORMAL CALCULATION RESULTS. C C c $INCLUDE:'CMMN.DAT' C DIMENSION HFN(5),QFN(5),LST(NMX),TQR(NMX) C C IF (IPT.NE.1) THEN PP=0.0 DO 10L=1,NB IF (NWTYP(L).LE.0.OR.NWTYP(L).EQ.10) THEN P(L)=R(L)*Q(L)*ABS(Q(L))*1.E-10 ELSE P(L)=R(L) ENDIF 74 PP=PP+P(L) 10 CONTINUE PCRIT = PP/FLOAT(NB) C IF (MADJC.GE.MADJAND.IPT.EQ.4) THEN DO1520I=l,NB TTMN=0.0 DO 1500 J =1,10 TTMN = TTMN + TMRCD(y) 1500 CONTINUE TTMN=TTMN/10.0 TQR(I)=0.0 DO 1510 J = 1,10 TQR(I) = TQR(I) + (TMRCD(I,J)-TTMN)**2 1510 CONTINUE 1520 CONTINUE IZ=0 LL=0 1530 11=0 DO1540I=l,NB IF (NO(I).GT.O) THEN IF (TQR(I).GTTSR.OR.n.EQ.O) THEN TSR = TQR(I) n=i ENDIF ENDIF 1540 CONTINUE IF (II.EQ.0) GO TO 1590 IF (LL.GT.0) THEN KK=0 DO1550J = l,LL K=LST(J) IF (TQR(II).GTTQR(K)) KK=KK+1 1550 CONTINUE IF (KK.GE.(LL-2)ANDTQR(n).GT.20.0) GO TO 1560 GO TO 1590 ENDIF 1560 LL=LL+1 LST(LL) = II NO(II) = -NO(II) JSS=JS(II) JFF=JF(II) 1570 DO1580I = l,NB IF (NO(I).GT.O) THEN IF((JS(I).EQJSS.ORJF(I).EQJSS.ORJS(I).EQJFF.OR. JF(I).EQJFF)AND.(TQR(I).GT.20.0)) THEN LL=LL+1 LST(LL) = I NO(I) = -NO(I) IF (JS(I).EQJSS) THEN JSS=JF(I) ELSE IF (JF(I).EQJSS) THEN JSS=JS(I) ELSE IF (JS(I).EQJFF) THEN 75 JFF=JF(I) ELSE JFF=JS(I) ENDIF GO TO 1570 ENDIF ENDIF 1580 CONTINUE IZ=IZ+1 IF (IZ.LE.3) GO TO 1530 1590 CRT1=0.0 CRT2=0.0 CRT3=0.0 DO1630I=l,LL K=LST(I) NO(K)=IABS(NO(K)) CRT =0.0 DO 1600 J =10,3,-1 CRT = CRT + (TMRCD(K,J)-TMRCD(K r F-2))**2 1600 CONTINUE CRT1 = CRT1 + CRT/8.0 CRT =0.0 DO 1610 J =10,4,-1 CRT = CRT + (TMRCD(K,J)-TMRCD(K,J-3))**2 1610 CONTINUE CRT2= CRT2+ CRT/7.0 CRT =0.0 DO 1620 J =10,5,-1 CRT = CRT + (TMRCD(K,J)-TMRCD(K,J)-TMRCD(K, J-4)) * *2 1620 CONTINUE CRT3 = CRT3 + CRT/6.0 1630 CONTINUE CRT1=CRT1/LL CRT2=CRT2/LL CRT3=CRT3/LL LSG=LL IF (MIN(CRT1,CRT2,CRT3)*10.0.LE.MAX(CRT1,CRT2,CRT3)) THEN ICYCLE=2 IF (CRT2.LT.0.95*CRT1) ICYCLE=3 IF (CRT3.LT.0.9*CRT1AND.CRT3.LT.CRT2) ICYCLE=4 ELSE ICYCLE=0 ENDIF ENDIF ENDIF C C IF (IPT.EQ.1) THEN WRITE (8,490) LINE=NCOMTl + l D0 15K=1,NB 13 U=0 IF (LINE.LE.50) U=ITITLE(LINE) 76 IF (K.EQ.U) THEN IF (LINE.EQ.1) 11 = IF (LINE.NE.1) I1 = ITITLE(LINE-1) IF (LINE.EQ.50) 12=0 IF (LINE.NE.50) I2=inTLE(LINE + l) IF (I2.NE.ITITLE(LINE)AND.I1.NE.ITITLE(LINE)) THEN WRITE (8,930) (TITLE(LINE,J),J = 1,18) ELSE IF (I2.EQ.ITITLE(LINE)AND.Il.EQ.rnTLE(LINE)) THEN WRITE (8,960) (TITLE(LINE,J),J=1,18) ELSE IF (I1.EQ.ITITLE(LINE)) THEN WRITE (8,940) (TITLE(LINE r F) r r = l,18) ELSE WRITE (8,950) (TITLE(LINE,J) r F = l,18) ENDIF LINE = LINE + 1 GO TO 13 ENDIF WRITE (8,500) NO(K),JS(K) JF(K),Q(K),NWTYP(K),LA(K)A(K), R(K),KF(K),0(K) 15 CONTINUE IF (NVPN.LE.0) THEN WRITE (8,980) WRITE (8,990) (JNO(K),T(K),Z(K),CH4C(K),K=l,NJ) ENDIF C C ELSE IF (IPT.EQ.2) THEN WRITE (8,110) WRITE (8,120) L = LINE = NCOMTl + l DO20K=l,NB 18 IJ = IF (LINE.LE.50) IJ = mTLE(LINE) IF (K.EQ.IJ) THEN IF (LINE.EQ.1) 11 = IF (LINE.NE.1) I1 = ITITLE(LINE-1) IF (LINE.EQ.50) 12=0 IF (LINE.NE.50) I2 = nTTLE(LINE + l) IF (I2.NE.ITITLE(LINE)AND.I1.NE.ITITLE(LINE)) THEN WRITE (8,930) (TITLE(LINE,J),J = 1,18) ELSE IF (I2.EQ.ITITLE(LINE)AND.Il.EQ.mTLE(LINE)) THEN WRITE (8,960) (TITLE(LINE r J),J = l,18) ELSE IF (I1.EQ.ITITLE(LINE)) THEN WRITE (8,940) (TITLE(LINE,J),J = 1,18) ELSE WRITE (8,950) (TITLE(LINE,J) r r = l,18) ENDIF LINE = LINE +1 GO TO 18 ENDIF IF (NWTYP(K).GT.O) THEN L=L+1 77 ELSE WRITE (8,130) NO(K),JS(K),JF(K),NWTYP(K),R(K),Q(K),P(K) ENDIF 20 CONTINUE IF (L.LE.0) THEN WRITE (8,140) ELSE WRITE (8,150) DO30K=l,NB IF (NWTYP(K).LE.O) GO TO 30 WRITE (8,160) NO(K),JS(K),JF(K),Q(K),P(K) 30 CONTINUE IF (NFNUM.GT.O) THEN WRITE (8,170) (NOF(K),K=l,NFNUM) WRITE (8,175) DO40K=l,NFNUM L=MPTS(K) WRITE (8,180) (QF(K,I)/1000.0,PF(K,I),I=1,L) 40 CONTINUE IF (IOUT.LE.(-2)AND.MARKY.LE.O) THEN WRITE (8,1040) D0 45K=1,NFNUM WRITE (8,1045) NOF(K) INDEX =MPTS(K) IF (INDEX.GT.1) THEN D0 43K1 = 1,INDEX-1 WRITE (8,1050) (FKQ(K,K1,K2),K2=1,4),QF(K,K1) ,QF(K,K1 + 1) 43 CONTINUE WRITE (8,1085) D0 441K1=1,INDEX-1 QZZ= (QF(K,K1 + l)-QF(K,Kl))/5.0 D0 44K2=1,5 QZZ1 = QF(K,K1) + (K2-1)*QZZ NFCWZ=NFCW(K) CALL SPLINE (K,QZZ1,HZZ,TR,1) NFCW(K)=NFCWZ HFN(K2)=HZZ QFN(K2) = QZZ1 44 CONTINUE WRITE (8,1090) (QFN(K4)/1000.,HFN(K4),K4=1,5) 441 CONTINUE ENDIF 45 CONTINUE ENDIF ENDIF ENDIF WRITE (8,190) NB,NJ IF (NFNUM.GT.O) THEN D0 62K=1,NFNUM DO50KK=l,NB IF (NO(KK).EQ.NOF(K)) GO TO 60 50 CONTINUE GO TO 62 78 60 IF (NFCW(K).GT.O) WRITE (8,200) NOF(K) IF((Q(KK).LT.0.0AND.IABS(JS(KK)).EQJSB(KK)).OR. (Q(KK).GT.O.OAND.IABS(JS(KK)).NEJSB(KK))) WRITE (8,840) NOF(K) 62 CONTINUE ENDIF ELSE IF (IPT.EQ.3) THEN C C IF (IOUT.GT.0.OR.(IOUT.EQ.(-l)AND.MARKY.GE.l)) THEN WRITE (8,1060) LINE=NCOMTl+l D0 66K=1,NB 64 U=0 IF (LINE.LE.50) U=nTTLE(LINE) IF (K.EQ.U) THEN IF (LINE.EQ.1) 11=0 IF (LINE.NE.1) Il = nTTLE(LINE-l) IF (LINE.EQ.50) 12=0 IF (LINE.NE.50) I2=ITITLE(LINE+1) IF (I2.NE.nTrLE(LINE)AND.Il.NE.rnTLE(LINE)) THEN WRITE (8,930) (TITLE(LINE,J) r r = l,18) ELSE IF (I2.EQ.ITITLE(LINE)AND.Il.EQ.rnTLE(LINE)) THEN WRITE (8,960) (TITLE(LINE,J),J = 1,18) ELSE IF (I1.EQ.ITITLE(LINE)) THEN WRITE (8,940) (TITLE(LINEJ)J = 1,18) ELSE WRITE (8,950) (TITLE(LINE,J),J = 1,18) ENDIF LINE=LINE+1 GO TO 64 ENDIF WRITE (8,1070) NO(K) r FS(K)JF(K),NWTYP(K),TROCK(K),LA(K), DZRD(K),RSTD(K),HK(K),HA(K),CH4V(K) 66 CONTINUE IF (MARKY.LE.0) WRITE (8,1080) ENDIF IF (IOUT.LE.(-2).OR.(IOUT.EQ.(-1)AND.MARKY.LE.O)) THEN WRITE (8,800) LINE=NCOMTl+l D0 74I=1,NB 72 U=0 IF (LINE.LE.50) U=ITITLE(LINE) IF (I.EQ.U) THEN IF (LINE.EQ.1) 11=0 IF (LINE.NE.1) Il = rnTLE(LINE-l) IF (LINE.EQ.50) 12=0 IF (LINE.NE.50) I2=ITITLE(LINE + 1) IF (I2.NE.ITITLE(UNE)AND.Il.NE.rnTLE(LINE)) THEN WRITE (8,930) (TITLE(LINE,J),J = 1,18) ELSE IF (I2.EQ.rnTLE(LINE)AND.Il.EQ.rnTLE(LINE)) THEN WRITE (8,960) (TITLE(LINE r I)J = l ) 18) ELSE IF (I1.EQ.ITITLE(LINE)) THEN WRITE (8,940) (TITLE(LINE,J)J = 1,18) 79 ELSE WRITE (8,950) (TITLE(LINE,jy = l,18) ENDIF LINE = LINE +1 GO TO 72 ENDIF WRITE (8,810) NO(I),JS(I),JF(I),DZRD(I),TROCK(I), CH4V(I),HK(I),HA(I) 74 CONTINUE ENDIF IF (MARKY.LE.0.OR.IOUT.NE.0) THEN WRITE (8,240) TSTART,JSTART IF (INFLOW.GT.0) THEN WRITE (8,250) WRITE (8,260) (NCENT(I),CONT(I),CONC(I),HEAT(I),02MIN(I), SMP02(I),HTP02(I),TPR(I),INT(QCENT(I)),I = l,INFLOW) ELSE WRITE (8,270) ENDIF ENDIF ELSE IF (IPT.EQ.4) THEN C C ITL=MADJC JTL=MADJ IF (MARKX.GE.1AND.MARKY.LE.0) THEN WRITE (8,320) TACC ELSE IF (MARKY.GE.1) THEN WRITE (8,970) TIME ENDIF IF (ITL.GE JTL) THEN WRITE (8,690) SUMFNV/MNO KTL=0 D0 78I=1,NB NREVA=NREV(I) NREVA=NNREV(I) IF (NREVA.GE.MADJ/3) THEN IF (KTL.EQ.0) THEN WRITE (8,700) KTL=1 ENDIF IF (NWTYP(I).EQ.l) THEN PP=R(I) ELSE PP=R(I)*Q(I)*ABS(Q(I))*1.E-10 ENDIF WRITE (8,710) NO(I),Q(I),PP,NREVA,ITL ENDIF 78 CONTINUE IZ=MADJ-9 IF (ICYCLE.EQ.0) THEN WRITE (8,890) (IJ,U=IZ,IZ+9) ELSE WRITE (8,900) ICYCLE,(U,U=IZ,IZ+9) 80 ENDIF WRITE (8,905) (HRM(U),U = 1,10) DO80I=l,LSG K=LST(I) IF (JSB(K).EQJS(K)) THEN JSS=JS(K) JFF=JF(K) ELSE JSS=JF(K) JFF=JS(K) ENDIF WRITE (8,910) NO(K)JSSJFF,(TMRCD(K r r T = l,10) WRITE (8,920) (QRCD(KJ)/1000.0,J = 1,10) 80 CONTINUE ELSE IF (SUMFNV/MNO.LE.2.E-4) WRITE (8,770) SUMFNV/MNO,ITL IF (SUMFNV/MNO.GT.2.E-4) WRITE (8,780) SUMFNV/MNO,ITL ENDIF LINE=NCOMTl + l WRITE (8,300) D0 84I=1,NB 82 U=0 IF (LINE.LE.50) U = ITITLE(LINE) IF (I.EQ.U) THEN IF (LINE.EQ.1) 11 = IF (LINE.NE.l) Il = rnTLE(LINE-l) IF (LINE.EQ.50) 12=0 IF (LINE.NE.50) I2=ITITLE(LINE+1) IF (I2.NE.ITITLE(LINE)AND.I1.NE.ITITLE(LINE)) THEN WRITE (8,930) (TITLE(LINE,J),J = 1,18) ELSE IF (I2.EQ.ITrrLE(LINE)AND.Il.EQ.ITITLE(LINE)) THEN WRITE (8,960) (TITLE(LINE r r)J = l,18) ELSE IF (Il.EQ.nTCLE(LINE)) THEN WRITE (8,940) (TITLE(LINE,J),J = 1,18) ELSE WRITE (8,950) (TTTLE(LINE,J),J = 1,18) ENDIF LINE = LINE +1 GO TO 82 ENDIF WRITE (8,310) NO(I),IABS(JS(I)),IABS(JF(I)),Q(I),TMRD(I), TRD(I),RDPROP(I),RDCH4(I),P(I) 84 CONTINUE IF (INFLOW.GT.0) THEN WRITE (8,820) D0 89L=l,INFLOW D0 88J = 1,NB IF (NCENT(L).EQ.NO(J)) THEN WRITE (8,830) NO(J),Q(J),TJS(J),RDPROP(J), 02BEH(L),HTAD(L) IF (TJS(J).GT.3500.0) WRITE (8,995) NO(J) GO TO 89 ENDIF 88 CONTINUE 81 89 CONTINUE ENDIF IF (IOUT.NE.0) THEN WRITE (8,650) WRITE (8,660) (JNO(I),T(I),PROP(I),PRCH4(I),I = l,NJ) ENDIF KTL=0 DO90I=l,NB NNRE VA = NNRE V(I) IF ((NNREVA/2)*2.NE.NNREVA) THEN IF (KTL.EQ.0) THEN WRITE (8,470) KTL=1 ENDIF WRITE (8,480) NO(I),IABS(JS(I)),IABS(JF(I)) ENDIF 90 CONTINUE ELSE IF (IPT.EQ.5) THEN WRNSUM = WRNPR + WRNGS + WRNSM + WRNHT IF (WRNSUM.LE.0.) THEN WRITE (8,410) ELSE J=0 WRNP= WRNPR IF (PCRIT*0.05.LE.0.5*WRNPR) WRNP=PCRIT*0.05 D0 95I=1,NB K=0 L=0 M=0 N=0 IF ((100.*RDCH4(I)).GE.WRNGS) K=K+1 IF ((100.*RDPROP(I)).GE.WRNSM) L=L+1 IF (TRD(I).GE.WRNHT) M=M+1 IF (P(I).LT.WRNP) N=N+1 IF ((K+L+M+N).GT.O) THEN IF (J.EQ.0) THEN WRITE (8,420) WRNGS,WRNSM,WRNHT,WRNP J=J + 1 ENDIF WRITE (8,430) NO(I),IABS(JS(I)),IABS(JF(I)),RDCH4(I), RDPROP(I),TRD(I),P(I) ENDIF 95 CONTINUE IF (J.LE.0) WRITE (8,440) J=0 KM=0 DO100I = l,NJ K=0 L=0 M=0 IF ((100.*PRCH4(I)).GE.WRNGS) K=K+1 IF ((100.*PROP(I)).GE.WRNSM) L=L+1 IF (T(I).GE.WRNHT) M=M+1 IF ((K+L+M).GT.O) THEN 82 IF (J.EQ.O) THEN WRITE (8,450) WRNGS,WRNSM,WRNHT,WRNGS,WRNSM,WRNHT ENDIF J=J + 1 IF (2*(J/2).NEJ) THEN KM=I ELSE WRITE (8,460) JNO(KM),PRCH4(KM),PROP(KM),T(KM), JNO(I),PRCH4(I),PROP(I),T(I) KM=0 ENDIF ENDIF 100 CONTINUE IF (KM.GT.0) WRITE (8,460) JNO(KM),PRCH4(KM),PROP(KM),T(KM) IF (J.LE.O) WRITE (8,445) ENDIF ENDIF C RETURN C 110 FORMAT (///,22X,'NETWORK CALCULATION RESULTS ',/) 120 FORMAT (lX,'AIRWAY',2X,'FROM',4X,TO',3X,'TYPE',8X,'RESISTANCE', 7X,'AIRFLOW',6X,'HEADLOSS',/) 130 FORMAT (I5,I7,I6,I7,8X,E9.4,6X,F10.0,3X,F10.3) 140 FORMAT (///,lX,'NETWORK CONTAINS NO FANS') 150 FORMAT (///,T20,'FANS'//' AIRWAY FROM TO AIRFLOW FAN', * PRESSURE',/) 160 FORMAT (I5,I7,I7,F13.0,F13.3) 170 FORMAT (/////,' THESE CHARACTERISTICS WERE STORED FOR FANS',515,/ T45.5I5) 175 FORMAT (//,5(' Q*1000 PF '),/) 180 FORMAT (5(F8.1,F6.2)/,5(F8.1,F6.2),/) 190 FORMAT (///,DC,THE STATED NUMBER OF AIRWAYS WAS',I9,/,1X/THE ', 'STATED NUMBER OF JUNCTIONS WAS',17) 200 FORMAT (///,DC/FAN CHARACTERISTICS ARE EXCEEDED FOR FAN NO.*,I5) 240 FORMAT (///,LX,'A TEMPERATURE OF,F6.1,' WAS ASSIGNED TO ', 'JUNCTION NO.',I7) 250 FORMAT (////,T18,THE FOLLOWING CONTAMINATION WAS ASSUMED',//, 12X,'FD0ED INFLUX',T31,'02-RICH',T41,'FUEL-RICH',T55, 'LEADING T',T67,'REF. Q',/,' AIRWAY FLUX %CONC, 3X,'HEAT',5X,'%02',4X,'FUMES',2X,'HEAT',/) 260 FORMAT (I5,F8.1,F6.2,1X,E9.3,F7.2,F7.2,F7.1,F10.2,I12) 270 FORMAT (///,DC,' NO CONTAMINATION WAS SPECIFIED') 300 FORMAT (///,T8,'TEMP. AND CONCENTRA. AT AIRWAY ENDS, HEADLOSS IN ,' AIRWAYS',//,' AIRWAY',T9,'FROM',T15,'TO',T20,'AIRFLOW, T31,'AVE. T',T40,T AT END',T50,'FUMES',T57,'METHANE',T65, 'HEADLOSS',/) 310 FORMAT (I5,I6,I5,T18,0PF9.0,T30,0PF7.2,T40,0PF7.2,T49,2PF6.2, T56,2PF6.2,T66,0PF6.3) 320 FORMAT (///,20X,'TIME AT ',F6.0,' SEC. AFTER EVENT',//) 410 FORMAT (///,lX/NO THRESHOLD FOR CRITICAL STATES ', 'WERE SPECIFIED.') 420 FORMAT (///,9X,'IN THE FOLLOWING AIRWAYS EXIST CRITICAL ', 'CONDrnONS',//,DC,'AIRWAY',T10,'FROM',T16,TO',T22,'CH4 %' 83 ,T33,'FUMES %',T45,'TEMPERATURE',T61,'HEADLOSS\/, T22,' > ',F5.3,T33,' > ',F6.3,T46,' > ',F5.0,' F,T59, '<',F6.3,' IN.WG.',/) 430 FORMAT (I5,I7,I5,T21,2PF6.2,T32,2PF8.3,T45,0PF8.1,T62,0PF6.3) 440 FORMAT (///,lX,'NO CRITICAL CONDITIONS AT AIRWAY ENDS ', 'WERE DETECTED') 445 FORMAT (///,lX,'NO CRITICAL CONDITIONS IN JUNCTIONS WERE ', 'DETECTED.') 450 FORMAT (///,10X,'IN THE FOLLOWING JUNCTIONS EXIST CRITICAL ', 'CONDITIONS',//,' JUNCTION',Tll,'CH4 %',T19,'FUMES %',T28 ,'TEMP. F,T40,'JUNCTION',T49,'CH4 %',T57,'FUMES %',T66, 'TEMP. F,/,T11,' > ',F5.2,T19,' > ',F6.3,T29,' > \F5.0,T49, ' > ',F5.2,T57,' > ',F6.3,T67,' > ',F5.0,/) 460 FORMAT (I6,T11,2PF5.2,T17,2PF8.2,T27.0PF7.1,T39,I6,T49,2PF5.2, T55,2PF8.2,T65,0PF7.1) 470 FORMAT (///,1X,'REVERSAL OF AIRFLOW HAS OCCURRED IN THE ', 'FOLLOWING PLACES',/) 480 FORMAT (1X,'AIRWAY',I6,' IS NOW CARRYING AIR FROM',16,' TO',I6) 490 FORMAT (/////,3X,'NO NETWORK CALCULATION HAS BEEN PERFORMED, ', 'THESE ARE THE INPUT DATA',//,' AIRWAY FROM',T15,'TO', T22,'AIRFLOW',T30,'TYPE',T37,'LENGTH',T47,'AREA\ T57,'R',T64,'K',T68,'PERI.',/) 500 FORMAT (I5,I6,T13,I4,T19,F10.0,T30,I3,T36,F7.1,T44,F7.1,T53,E8.3, T62,I4,F7.1) 650 FORMAT (///,19X,'PARAMETERS OF AIR IN JUNCTIONS',//,lX,'JUNCTION' ,T13,'TEMP.',T20,'FUMES',T27,'METHANE',T42,'JUNCTION',T53, 'TEMP.',T60,'FUMES',T67,'METHANE',/) 660 FORMAT (I6,T9,0PF9.2,T18,2PF7.2,T26,2PF7.2,T41,I6,T49,0PF9.2,T58, 2PF7.2,T66,2PF7.2) 690 FORMAT (///,DC,'THE CALCULATION WAS NOT COMPLETED SINCE THE ', 'NUMBER OF EXCHANGES BETWEEN',/,' NETWORK AND TEMPERATURE' ,' PARTS OF THE PROGRAM BECAME EXCESSIVE.',/,' THRESHOLD', ' IN NVP IS 0.0002 IN.W.G. PER MESH. THE NVP CORRECTION ', 'PER'/,' MESH NOW EQUALS ',F7.5,' IN.W.G.') 700 FORMAT (///,1X,'THE FOLLOWING UNSTABLE AIRWAYS MAY HAVE',1X, 'CAUSED THE INCOMPLETION',/,' OF NETWORK BALANCING:',/) 710 FORMAT (1X,'AIRWAY',I5,' OF AIRFLOW RATE',F7.0,' (CFM) AND ', 'HEADLOSS',F7.3,' IN.W.G.',/,' HAD ITS AIRFLOW DIRECTION' ,' REVERSED',13,' TIMES IN',I3,' ITERATIONS') 770 FORMAT (/////,' THRESHOLD IN ACCURACY (SUM OF NVP CORRECTIONS ', 'PER MESH < 2.E-4 IN.W.G.)',/,' SATISFIED. CURRENT ', 'SUMFNV PER MESH',F9.6,' IN.W.G., ITERATIONS ',15) 780 FORMAT (/////,lX,'THRESHOLD IN ACCURACY (SUM OF NVP'.IX, 'CORRECTIONS PER MESH<2.E-4 IN. W.G.)',/,' NOT ', 'SATISFIED. CURRENT SUMFNV:',F9.6,' IN.W.G., ITER.',I5) 800 FORMAT (/////,12X,'DATA FOR CONCENTRATION AND TEMPERATURE', ' CALCULATION',//,lX,'AIRWAY FROM',T16,'TO',T21, 'ELEV. DIFF.',T34,'ROCK T',T43,'CH4 PROD.',T54,'COND.', T61,'DIFFUSIVITY',/) 810 FORMAT (I5,I7,I5,T21,F9.2,T33,F7.2,T43,F7.1,T52,F7.2,T61,F8.3) 820 FORMAT (///,23X,'DATA FOR FIRE SOURCES',//,DC,'AIRWAY',Tll, 'AIRFLOW',T21,'TEMPERATURE',T37,'FUME',T51,'02 LEFT',T61, 'HEAT INPUT',/) 830 FORMAT (I5,T8,0PF10.0,T22,0PF8.2,T35,2PF6.2,T50,0PF7.2,T62,E8.3) 84 840 FORMAT (/,lX,'AIRFLOW REVERSED IN FAN BRANCH NO. ',15) 890 FORMAT (///,1X/THE FAILURE IN CONVERGING WAS NOT CAUSED BY A', ' CYCLIC PATTERN. DATA OF,/,' SIGNIFICANT CONDITION ', 'CHANGE DURING LAST 10 ITERATIONS FOLLOW. FURTHER',/, ' ANALYSES ARE NEEDED. (TTR" STANDS FOR ITERATION)',//, ' UNITS: Q: AIRFLOW RATE IN 1000FT3/MIN;',17X,T: TEMP. ', 'IN F;',/,8X,'H: NVP CORRECTION PER MESH IN IN.W.G.',//, ' ITR',T5,I5,9I7,/) 900 FORMAT (///,1X,THE FAILURE IN CONVERGING WAS CAUSED BY A CYCLIC, ' PATTERN IN EVERY',13,/,' ITERATIONS AS SHOWN BELOW:', ' (TTR" STANDS FOR ITERATION)',//,' UNITS: Q: AIRFLOW ', 'RATE IN 1000FT3/MIN;',17X,T: TEMP. IN F;',/,8X,'H: NVP ', 'CORRECTION PER MESH IN IN.W.G.',//,' rTR',T5,I5,9I7,/) 905 FORMAT (1X,'H',T3,10(1X,F6.4),/) 910 FORMAT (1X/AIRWAY: \I4,10X,'JS:',I4,6X,'JF:',I4,/,LX, T',T3,10F7.1) 920 FORMAT (1X,'Q',T3,10F7.1,/) 930 FORMAT (/,18A4,/) 940 FORMAT (18A4,/) 950 FORMAT (/,18A4) 960 FORMAT (18A4) 970 FORMAT (/////,20X,'TIME AT \F5.1,' HOUR(S) AFTER EVENT',//) 980 FORMAT (///,T2,'JUNCTION',T12,'TEMP.',T20,'ELEVATION',T32,'CH4 , , T40,'JUNCTION',T50,'TEMP.',T58,'ELEVATION',T70,'CH4',/) 990 FORMAT (T2,I5,T10,F7.1,T19,F8.1,T30,F5.2,T40,I5,T48,F7.1,T57,F8.1 ,T68,F5.2) 995 FORMAT (/,'* WARNING * AIR TEMP. IN FIRE',15,' IS EXCEPTIONALLY', ' HIGH FOR MINE FIRE.',/,' THE POSSIBLE CAUSES ARE:',/, ' 1. "QCENT" WAS NOT SPECIFIED;',/,' 2. "QCENT DOES NOT', ' MATCH "HEAT";',/,' 3. "HTP02" WAS TOO LARGE.') 1040 FORMAT (///,15X,'COEFF. OF POLYNOMIAL OF FAN CURVES',/,20X, 'PF=A0+A1*Q+A2*Q**2+A3*Q**3') 1045 FORMAT (/,T5,'FAN',I5,//,T7,'A0',T19,'A1',T31, , A2',T43,'A3',T52, 'FROM QF,T65,'TO QF,/) 1050 FORMAT (T3,E9.3,T15,E9.3,T27,E9:3,T39,E9.3,T51,E9.3,T63,E9.3) 1060 FORMAT (///,7X,'BASIC DATA TO DEFINE THE NETWORK AND THE ', 'SIMULATION PROBLEM',//,' AIRWAY FROM',T14,TO',T17,TY', T21,'ROCK T',T28,'LENGTH',T35,'ELEV. D',T48,'R',T54,'COND', T61,'DIFF,T67,'CH4 PR',/) 1070 FORMAT (I5,I6,T12,I4,I3,T20,F6.1,T27,F7.1,T35,F7.1,T44,E8.3,T53, F5.2,F7.3,F8.1) 1080 FORMAT (/,1X,'* NOTE * FOR DETAILED DATA LIST, INPUT TOUT" ', 'AS -1 OR LESS.') 1085 FORMAT (/,2X,'INTERPOLATION:',/,5(' Q*1000 PF '),/) 1090 FORMAT (5(F8.1,F6.2)) END C C C 85 MFIRE2.FOR PROGRAM C C C TRANSIENT-STATE SIMULATION PROGRAM FOR MINE VENTILATION C UNDER THE INFLUENCE OF FIRES C C VERSION OF JULY 1989 C (PART 2) V 1.20 C $INCLUDE:'CMMN.DAT' C CHARACTER*50 MDl,MD2,OPTION C C OPEN (10,FILE = 'NET\STATUS = 'UNKNOWN'.FORM = 'UNFORMATTED') READ (10) NETWW IF (NETWW.EQ.l) GO TO 310 OPEN (21,FILE = 'ZHENG.CHG\STATUS = 'UNKNOWN',FORM = 'UNFORMATTED') READ (21) OPTION READ (21) MD1.TACC IF (OPTION.EQ.'HUNAN-XIANGYING') GO TO 310 WRITE (6,760) OPEN (20,FILE = 'LIANG.CHG',STATUS = 'UNKNOWN',FORM = 'UNFORMATTED') READ (20) NB,NJ,NFNUM,NETW,NTEMP,ITN,DR,TR,TINC,SPAN,IOUT,TOUT, CONCT,NSTOP READ (20) NAV,MAXJ,INFLOW,CRITSM,CRITGS,CRITHT,MNO READ (20) TIME,TSTART,JSTART,NSFLOW,WRNPR,WRNGS,WRNSM,WRNHT READ (20) MARKX,MARKY,NCOMTl,NCOMTS,NCOMT2,LLINE READ (20) JANJAJ DO3200I = l,NB READ (20) NO(I),JS(I) JF(I),NWTYP(I),R(I),Q(I),KF(I),LA(I) READ (20) A(I),0(I),RSTD(I),DZRD(I),FRNVP(I),NREV(I),RDCH4(I) READ (20) RDPROP(I),TRD(I),TJS(I),FFRNVP(I),NNREV(I),JSB(I) READ (20) TROCK(I),TMRD(I),HA(I),HK(I) READ (20) XNEW(I),DCOAGE(I),CH4V(I),CH4PA(I) READ (20) NGIN(I),MMIN(I),NGOUT(I),LOUT(I) IF (CONCT.EQ.1) THEN QQQ(I) = Q(I) TRDD(I)=TRD(I) TJSS(I)=TJS(I) ENDIF 3200 CONTINUE DO3202I=l,IMX READ (20) NOF(I),NFREG(I),RGRAD(I),NFCW(I),MPTS(I), NSKP(I),NEGQ(I) READ (20) NCENT(I),CONT(I),CONC(I),HEAT(I),02MIN(I),SMP02(I), HTP02(I),TPR(I),QCENT(I) DO 3201 J = 1,IMY READ (20) QF(I,J),PF(y) DO 3205 K= 1,4 READ (20) FKQ(I,J,K) 3205 CONTINUE 86 3201 CONTINUE 3202 CONTINUE DO3203I=l,NJ READ (20) JNO(I),T(I),Z(I),CH4C(I) ,JNOL(I),PROP(I), PRCH4(I),JLR(I) IF (CONCT.EQ.1) TTT(I)=T(I) 3203 CONTINUE DO3204K=l,JAJ READ (20) JSTAR(K), TSTAR(K) 3204 CONTINUE DO3206I=l,MNO READ (20) MEND(I),FNVP(I) 3206 CONTINUE IYY=MEND(MNO) DO 3207 1=1 JYY READ (20) MSL(I) 3207 CONTINUE DO 3209 1=1,50 READ (20) ITITLE(I) DO 3208 J = 1,20 READ (20) TITLE(y) 3208 CONTINUE 3209 CONTINUE C SSP=SPAN*60.0 REWIND (21) WRITE (21) OPTION WRITE (21) MD1,SSP C 1 OPEN (9,FTLE=MD1) OPEN (8,nLE = 'YUNZffl.FAN\STATUS = 'UNKNOWN') 5 IF (LLINE.GT.0) THEN READ (9,740) (ROW(I),I=1,80) LLINE=LLINE-1 GO TO 5 ENDIF C C MARKR: 0: OUTPUT WAS GIVEN IN THE LAST INTERVAL. C 1: OUTPUT WILL BE OMITTED IN THE PRESENT INTERVAL DUE TO C INSIGNIFICANT CHANGE. CHANGES IN Q WILL BE CUMULATED. C MH: CONTROLLING THE WRITING OF THE HEADLINE FOR THE CONVERGENCE C INFORMATION OF OMITTED OUTPUT. C ISQC: COUNTER OF AIRWAYS WHICH HAVE THEIR DETAILED DATA RECORDS. C MARKR = TCUMU=0.0 IF (TOUT.LT.l.E-5) TOUT =1.0 MH=0 MARKX=1 JDP=0 TACC = 0.0 ISQC=0 QS = 100.0 QSUM=0.0 87 WRITE (8,560) WRITE (8,550) IF (CONCT.EQ.1) WRITE (8,555) CALL INIT (1) C C TINC: USER-SPECIFIED SPAN OF TIME INTERVAL IN SEC. C QSTD: A CERTAIN PERCENTAGE OF THE SUM OF ABSOLUTE AIRFLOW CHANGES C IN AIRWAYS IN THE FIRST INTERVAL. C QS: VARIATION IN SUM OF ABS. AIRFLOW CHANGES IN SUCCESSIVE C INTERVALS, CRITERION FOR OUTPUT DURING DYNAMIC SIMULATION. C DELTAT: TIME INCREMENT THAT IS ACTUALLY ADOPTED IN THE CURRENT C SIMULATION UPDATING. C IF (TINC.LE.0.0) TINC =15.0 DELTAT = TINC DO 290 MASTER = 1,1000 IF (MARKR.EQ.0) WRITE (8,560) CALL CDCH (NSTOP) IF (NSTOP.GT.0) GO TO 310 C C MARKP: 0: CONVERGENT RESULTS FOR THE PRESENT INTERVAL HAVE NOT C BEEN REACHED. 1: CONVERGENT RESULTS OBTAINED. C ITT: COUNTER OF ITERATION IN NETWORK BALANCING. C IBB: COUNTER OF ITERATION IN DATA PREPARATION. C MARKP=0 MEX=0 ITT=0 IBB=0 CALL INIT (2) C C MARKS: TIMER FOR DATA HANDLING. C MARKQ: 0: NORMAL CONDITION. 1: SIGNIFICANT CONDITION CHANGES C IN JUNCTIONS ARE DETECTED, MORE ITERATIONS ARE NEEDED. C 160 MARKS=0 C C MARKL: 0: NORMAL CONDITION. 1: AIRFLOW REVERSAL FOUND IN THE C SYSTEM, RECONSTRUCTION OF MESH FORMATION IS NEEDED. C MARKL=0 CALL DTTR (MARKL.MARKP) IF (MARKL.NE.0) THEN CALL ARR (MARKX) CALL BASE CALL MSLIST ENDIF D0 165I = 1,NJ TLEFT(I) = -0.1 165 CONTINUE 170 MARKQ =0 CALL CDJN (ISQC.MARKS) DO180I=l,NJ SUMQ(I)=0.0 88 SUMC(I)=0.0 SUMM(I)=0.0 SMHEAT(I)=0.0 180 CONTINUE DO240I = l,NB IQ = IBTN(I) IS = NSACB(I,2) IF (IBTN(I).NE.O) THEN TM = TMRD(I) IF (MARKS.GE.1) THEN CALL ADPT (IS,IQ,MARKS,I) ELSE TMST = TACC + DELTAT CALL KALPHA (TMST,TM,FX,CP,I) COAGE = BI(I)-FX*BI(I)**2/(0.375 + BI(I)) DCOAGE(I) = COAGE XNEW(I) = HK(I)*O(I)**2.*COAGE/(120.*DR*QQ(I)*A(I)) CALL ADPT (IS,IQ,MARKS,I) ENDIF ELSE D0 215U = 1,NJ KN=JLR(U) IF(JS(I).EQJNO(KN)) THEN DST = QQ(I) *DELTAT/(A(I) *60.0) IF (DST.GT.LA(I)) DST = LA(I) CH4B = (RCH4(I)-PRCH4S(KN))*(LA(I)-DST)/LA(I) + PRCH4S(KN) RDCH4(I) = (CH4B*QQ(I) + CH4V(I)*DST/LA(I))/ (QQ(I) + CH4V(I)*DST/LA(I)) ENDIF 215 CONTINUE ENDIF TTB=TRD(I) JJ=IABS(JF(I)) DO220J = l,NJ IF (JNO(J).EQJJ) THEN SUMQ(J) = SUMQ(J) + QQ(I) SUMC(J) = SUMC(J) + QQ(I) *RDPROP(I) SUMM(J) = SUMM(J) + QQ(I) *RDCH4(I) SMHEAT(J) = SMHEAT(J) + (0.2376*TTB + 1.2E-5*TTB**2)*OQ(I) GO TO 240 ENDIF 220 CONTINUE 240 CONTINUE D0 245I = 1,NJ JCH(I)=0 245 CONTINUE C C DO250I = l,NJ IF (JNOL(I).EQJSTART) GO TO 250 C C UPDATING THERMAL STATES IN JUNCTIONS EXCEPT FOR THE USER- C SPECIFIED STARTING JUNCTION (USUALLY THE ATMOSPHERE). 89 K=JLR(I) MARKW=0 TPP=T(K) PRPP=PROP(K) PRCPP=PRCH4(K) C C PROP(K): CONTENT OF CONTAMINANTS IN AIRFLOW. C PRCH4(K): CONTENT OF CH4 IN AIRFLOW. C T(K): TEMPERATURE OF AIRFLOW. C THE ABOVE PARAMETERS ARE EXPRESSED AS MASS RATIOS WITH RESPECT C TO THAT OF AIR CURRENT. C PROP(K) = SUMC(K)/SUMQ(K) PRCH4(K) = SUMM(K)/SUMQ(K) PTCONT = 9.801E7 + 2.0*SMHEAT(K)/(SUMQ(K)*2.4E-5) T(K) = -9900. + SQRT(PTCONT) IF (JAN.LE.1) GO TO 248 D0 247II = 1,JAJ IF (K.EQ JSTAR(II)) THEN T(K)=TSTAR(II) PROP(K)=0.0 PRCH4(K)=0.0 ENDIF 247 CONTINUE 248 IF (CONCT.EQ.1) T(K) = TTT(K) C C MARKW= 1 INDICATES THAT ALL THE DOWN-STREAM AIRWAYS OF JUNCTION C JNO(K) NEED TO HAVE THEIR DETAILED DATA RECORDS. C IF (ABS(TPP-T(K)).GE.1.0) MARKW=1 IF (ABS(PRPP-PROP(K)).GE.l.E-3) MARKW=1 IF (ABS(PRCPP-PRCH4(K)).GE.l.E-3) MARKW=1 IF (MARKW.EQ.1) JCH(K) = 1 IF (MARKW.EQ.1) MARKQ = 1 250 CONTINUE C C IF (MARKS.LT.1.OR.MARKQ.NE.0) THEN IBB = IBB + 1 IF (IBB.LE.7) THEN MARKS = MARKS + 1 GO TO 170 ELSE WRITE (8,580) TACC ENDIF ENDIF CALLPARAM CALLNVP2 ITT=ITT+1 CALL ITR (MARKX,NSFLOW,ITT) IF (ITT.GE.(ITN-9)) THEN J = ITT-ITN+10 HRM(J) = SUMFNV/MNO 90 DO260I = l,NB IF (CONCT.EQ.1) Q(I)=QQQ(I) TMRCD(U) = TMRD(I) QRCD(LJ)=ABS(Q(I)) IF(JSB(I).NE.IABS(JS(I))AND.Q(I).GT.O.O) QRCD(I,J) = -ABS(Q(I)) IF(JSB(I).EQ.IABS(JS(I))AND.Q(I).LT.O.O) QRCD(I,J) = -ABS(Q(I)) 260 CONTINUE ENDIF WRITE (6,770) ITT,SUMFNV/MNO IF (ITT.GE.imOR.(SUMFNV/MNO.LE.2.E-4AND.ITT.GE.2)) THEN CALL EVHT (MARKX,MARKP,MARKL,MARKR,QSUM,QS) ELSE IF (ITT.GE.(ITN-2)AND.IOUT.LT.O) THEN WRITE (8,720) ITT TACC=TACC + TINC CALL OUTPUT (4,MARKX,MARKY,ITT) IF (IOUT.LE.(-2)) CALL OUTPUT (6,MARKX,MARKY,ITT) TACC=TACC-TINC WRITE (8,730) ENDIF CALL DISP (MARKX,ISQC,IBB) GO TO 160 ENDIF IF (MASTER.LE.1) QSTD = QSUM/7. WRITE (6,530) TACC TCUMU = TCUMU + DELTAT IF (TACC.LT.(SPAN*60.)) THEN IF (QSUM.LE.QSTDAND.ITT.LT.ITNAND.TCUMU.LT.TOUT*60.) THEN MARKR = MARKR + 1 TACCl=TACC/60.0 IF (MH.EQ.0) THEN MH = 1 WRITE (8,590) ENDIF WRITE (8,600) SUMFNV/MNO,ITT,TACCl ELSE MARKR=0 TCUMU =0.0 MH = CALL OUTPUT (4,MARKX,MARKY,ITT) IF (IOUT.LE.(-2)) CALL OUTPUT (6,MARKX,MARKY,nT) IF (IOUT.NE.0) CALL OUTPUT (5,MARKX,MARKY,ITT) ENDIF ELSE CALL OUTPUT (4,MARKX,MARKY,nT) IF (IOUT.LE.(-2)) CALL OUTPUT (6,MARKX,MARKY,nT) IF (IOUT.NE.0) CALL OUTPUT (5,MARKX,MARKY,ITT) GO TO 300 ENDIF 290 CONTINUE C 300 WRITE (6,640) 91 310 STOP C 530 FORMAT (/,1X,***» SIMULATION GOES ON, ',F7.0,' SEC. PASSED.',/) 550 FORMAT (T19,'NON-STEADY STATE SIMULATION OUTPUT) 555 FORMAT (T16,'— FOR CONCENTRATION CALCULATION ONLY™') 560 FORMAT (///,1X,71('*'),///) 580 FORMAT (//,1X,'* ATTENTION * SIMULATION STEP DELTAT NEEDS TO ', 'BE SHORTENED AT',/,' ABOUT',F7.0,' SEC. AFTER EVENT ', 'IF DETAILED ANALYSIS IS WANTED.') 590 FORMAT (//,1X,'* ATTENTION * OUTPUT FOR THE FOLLOWING TIME ', 'INCREMENTS WERE',/,lX,'OMITTED DUE TO INSIGNIFICANT ', 'CONDITION CHANGES ( THE THRESHOLD ',/,lX,'IN ACCURACY: ', 'NVP CORR. PER MESH < 0.0002 IN.W.G. )',//,5X,'SUM OF ', 'NVP CORR',T30,'ITERATIONS',T45,'AT TIME IN MIN.',/) 600 FORMAT (7X,F9.5,T31,I5,T47,F6.2) 630 FORMAT (///,1X,71('*'),///,T14,'QUASI-EQUILIBRIUM STATE', ' SIMULATION OUTPUT',///,lX,71('*')) 640 FORMAT (/,1X,'DYNAMIC SIMULATION PART COMPLETED.',//) 720 FORMAT (//,1X,71('-'),///,' * ATTENTION * THE FOLLOWING ', 'IS OUTPUT FOR ITERATION ',14,/,' "DELTA Q H IS ', 'MEANINGLESS HERE.',/) 730 FORMAT (//,1X,71('-')) 740 FORMAT (80A1) 760 FORMAT (/,1X,'ENTERING DYNAMIC SIMULATION PART OF THE PROGRAM.',/ ,1X,'PREFTXED ACCURACY CRITERION = 0.0002 IN.W.G. PER ', 'MESH.',/) 770 FORMAT (10X,'ITERATION ',13,' COMPLETED, CURRENT ERROR = ', F8.5) C C C C END BLOCK DATA C C SUBPROGRAM PURPOSE: C INITIATION OF THE VARIABLES AND ARRAYS IN COMMON BLOCKS. C C - c $INCLUDE:'CMMN.DAT' PARAMETER (K1 = NMX*4, K2=NMX*3, K3=NMX*6, K4=NMX*8, K5=NMY*3, K6=IMX*2, K7=IMX*IMY*2, K8=LMX+NMY+1, K9 = NMY + NMX, K10=NMY*2,K11=NMX*2+IMX*11, K16=NMZ*10*5, K22=NMX*2, K17=NMZ*10*5+NMX*2, K19=NMZ*22, K21 = IMX*3, K23=NMY*4, K24=IMY*IMY+IMY*2+IMX*IMY*4 ) C C DATA NOJS,JF,NWTYP,R,Q,P,KF,IAA,0,RSTD,DZRD,FRNVP,NREV,RDCH4, RDPROP,TRD,TJS,RDOP,RCH4,FFRNVP,RA,NNREV /K1*0,K2*0.0,NMX*0,K3*0.0,NMX*0,K4*0.0,NMX*0/ DATA NOF,NFREG,RGRAD,NFCW,MPTS,QF,PF,NSKP,NEGQ^SB /K6*0,IMX*0.0,K6*0,K7*0.0,IMX*0,IMX*0,NMX*0/ 92 C C DATA FC,DK,FK,FKQ /K24*0.0/ DATA MNO,MEND,MSL,FNVP,RQ,INU,KNO,KJS,KJF /K8*0,K9*0.0,K1*0/ DATA JNO,T,Z,CH4C,JNOL,PROP,PRCH4 r TLR /NMY*0,K5*0.0,NMY*0,K10*0.0,NMY*0/ DATA TROCK,TMRD,HA,HK /K1*0.0/ DATA NCENT,CH4V,CH4PA,CONT,CONC,HEAT,02MIN,SMP02,HTP02,TFSI, 02BEH,TPR,HTAD,QCENT /NMX*0,K11*0.0/ DATA NGIN,MMIN,NGOUT,LOUT /K1*0/ DATA MEMREC,NOREC,ESTPR,ESTCH4,ESTTR /K22*0,K2*0.0/ DATA XNEW,DCOAGE /K22*0.0/ DATA TIME,TSTART,JSTART,TLEFT /0.0,0.0,0,NMX*0.0/ DATA SUMQ,SUMC,SUMM,SMHEAT /K23*0.0/ DATA PROPS,PRCH4S,QQ,QTP,TTJS,TTRD,TAS,BI /K4*0.0/ DATA DELTAT,TACC,SUMFNV /3*0.0/ DATA IBTN,DPPA,NSAC,TMRDA,DELTAQ,DPPB,NSACB,GBTN r FCH,TAUXA, TAUXB,TAUXC,TAUXD,FMASS /hfMX*0,K16*0.0,K22*0,K17*0.0,K22*0,50*0.0,NMY*0,K19*0.0 ) NMZ*0.0/ DATA WRNPR,WRNGS,WRNSM,WRNHT,IOMIT,ROMIT,IAC /4*0.0,IMX*0,K21*0.0,0/ DATA ITITLE,NCOMTl,NCOMTS,NCOMT2,LLINE /54*0/ END SUBROUTINE ARR (MARKX) C C SUBROUTINE PURPOSES: C 1) GROUPING AIRWAYS ACCORDING TO THEIR TYPES. C 2) ARRANGING REGULAR AIRWAYS ACCORDING TO THE PRODUCT OF C QANDR. C C $INCLUDE:'CMMN.DAT' C NBU = NB NBL=1 DO 10K=1,NB IF (NWTYP(K).LT.O) THEN 93 INU(NBU) = K NBU = NBU-1 ELSE IF (NWTYP(K).EQ.0.OR.NWTYP(K).EQ.10) THEN RQ(K) = ABS(R(K)*Q(K)) NWTYP(K)=2 ELSE IF (NFNUM.GT.O) THEN D0 5J = 1,NFNUM IF (NOF(J).EQ.NO(K)) GO TO 10 5 CONTINUE ENDIF INU(NBL)=K NBL=NBL+1 ENDIF 10 CONTINUE IF (NFNUM.GT.0) THEN D0 25K=1,NB DO20J = l,NFNUM IF (NOF(J).EQ.NO(K)) THEN RGRAD(J)=0.0 NFCW(J)=0 NFREG(J) = K INU(NBU)=K NBU = NBU-1 GO TO 25 ENDIF 20 CONTINUE 25 CONTINUE ENDIF C C IF (NBU.GT.(NBL-l)) THEN 30 NRETU=0 DO40K=l,NB IF (NWTYP(K).GE.2) THEN IF (NRETULE.O) THEN NMIN=K NRETU=1 ENDIF IF (RQ(NMIN).GT.RQ(K)) NMIN=K ENDIF 40 CONTINUE INU(NBL) = NMIN NBL=NBL+1 NWTYP(NMIN)=0 IF ((NBU + 1).GT.NBL) GO TO 30 ENDIF IF (MARKX.GT.0) THEN DO60I=l,INFLOW DO50J = l,NB IF (NCENT(I).EQ.NO(J)) THEN NWTYP(J) = 10 GO TO 60 ENDIF 94 50 CONTINUE 60 CONTINUE ENDIF C RETURN END C C SUBROUTINE BASE C C C c C SUBROUTINE PURPOSE: C FORMATION OF BASE SYSTEM. C C c $INCLUDE:'CMMN.DAT' C IND=INU(1) KJF(NJ)=JS(IND) KJS(NJ-1)=JS(IND) JS(IND) = -JS(IND) KJF(NJ-1)=JF(IND) KNO(NJ-l) = IND KNUM = NJ-1 10 DO 30 NUC=2,NB IND=INU(NUC) IF (JS(IND).LT.O) GO TO 30 N1=0 N0=0 DO 20 K=KNUM,NJ IF (JS(IND).EQ.KJF(K)) N0=1 IF (JF(IND).EQ.KJF(K)) Nl=l 20 CONTINUE IF ((Nl + N0).EQ.l) THEN IF (NWTYP(IND).LT.O) WRITE (8,100) NO(IND) KNUM = KNUM-1 IF (N0.LE.0) THEN KJS(KNUM)=JF(IND) KJF(KNUM) = JS(IND) KNO(KNUM) = -IND JS(IND) = -JS(IND) ELSE KJS(KNUM)=JS(IND) KJF(KNUM) = JF(IND) KNO(KNUM) = IND JS(IND) = -JS(IND) ENDIF GO TO 10 ELSE IF ((Nl + N0).GT.l) THEN JS(IND) = -JS(IND) JF(IND) = -JF(IND) 95 ENDIF 30 CONTINUE DO40K=l,NB JS(K)=IABS(JS(K)) 40 CONTINUE C 100 FORMAT (/,1X,'* ATTENTION * REGULATOR',I5,'IN BASE SYSTEM') C RETURN END C C SUBROUTINE MSLIST C C C c C SUBROUTINE PURPOSES: C SET-UP OF MESH LIST. C C c $INCLUDE:'CMMN.DAT' C MESC=0 MNO=0 DO60K=l,NB IF (JF(K).LT.0) THEN JF(K)=-JF(K) MNO=MNO+l JBM=JS(K) JEM=JF(K) NK=K 10 MESC=MESC+1 MEND(MNO) = MESC MSL(MESC)=NK DO20KCO = l,NJ IF (JBM.EQ.KJF(KCO)) THEN KB = KCO GO TO 30 ENDIF 20 CONTINUE 30 DO40KCO = l,NJ IF (JEM.EQ.KJF(KCO)) THEN KE=KCO GO TO 50 ENDIF 40 CONTINUE 50 IF (KB.LT.KE) THEN NK=KNO(KB) JBM=KJS(KB) GO TO 10 ELSE IF (KB.GT.KE) THEN NK=-KNO(KE) 96 JEM = KJS(KE) GO TO 10 ENDIF ENDIF 60 CONTINUE IF (MEND(MNO).GTXMX) WRITE (8,100) C RETURN 100 FORMAT (/,1X/* ERROR * NETWORK TOO BIG, INCREASE LMX.') C END C C SUBROUTINE ITR (MARKX,NSFLOW,ITT) C C c C SUBROUTINE PURPOSE: C APPLICATION OF HARDY CROSS METHOD TO NETWORK BALANCING. C C c $INCLUDE:'CMMN.DAT' C 5 IT=0 10 DQSUM=0. MBEGW = 1 DO50K=l,MNO MENDW=MEND(K) DPSUM = 0. RQSUM=0. N=MSL(MBEGW) IF(N.LT.0)N = -N IF (NWTYP(N).EQ.(-1)) THEN MBEGW = MENDW + 1 GO TO 50 ENDIF DO 30 J=MBEGW,MENDW N=MSL(J) FACT=1. IF (N.LT.0) THEN N=-N FACT=-1. ENDIF IF(NWTYP(N).EQ.l) THEN IF (NFNUM.GT.0) THEN DO20L=l,NFNUM IF (NFREG(L).EQ.N) THEN RQSUM = RQSUM-RGRAD(L) GO TO 25 ENDIF 20 CONTINUE ENDIF 25 IF (IABS(JS(N)).NE JSB(N)) FACT = -FACT 97 DPSUM = DPSUM-FACT*R(N) ELSE RQ2 = R(N) * ABS(Q(N)) *2.E-5 RQSUM = RQSUM + RQ2 DP = R(N) *Q(N) *ABS(Q(N)) *1.E-10 DPSUM = DPSUM + FACT*DP ENDIF 30 CONTINUE DQ = (DPSUM-FNVP(K))*1.E5/RQSUM DO 40 J = MBEGW,MENDW N=MSL(J) FACT=1. IF (N.LT.0) THEN N=-N FACT=-1. ENDIF Q(N) = Q(N)-(DQ*FACT) 40 CONTINUE DQSUM = DQSUM + ABS(DQ) MBEGW = MENDW + 1 50 CONTINUE C DO100KI = l,NB IF (NFNUM.GT.0AND.NWTYP(KI).EQ.1) THEN DO90J = l,NFNUM IF (NOF(J).EQ.NO(KI)) THEN NFCW(J)=0 NEGQ(J)=0 IF(Q(KI).LT.0.0AND.IABS(JS(KI)).EQJSB(KI)) NEGQ(J) = 1 IF(Q(KI).GT.O.OAND.IABS(JS(KI)).NEJSB(KI)) NEGQ(J) = 1 NPTS=MPTS(J) NABF=JS(KI) DO70L=l,NJ IF (NABF.EQ JNO(L)) THEN TABF=T(L) GO TO 80 ENDIF 70 CONTINUE 80 IF (NSKP(J).EQ.0) THEN CALL SPLINE (J,Q(KI),R(KI),TABF,0) NSKP(J) = 1 ELSE CALL SPLINE (J,Q(KI),R(KI),TABF,1) ENDIF GO TO 100 ENDIF 90 CONTINUE ENDIF 100 CONTINUE C IT=IT+1 IF ((DQSUM/FLOAT(MNO)).LT.10.) RETURN 98 IF (IT.GT.100) THEN WRITE (8,210) DQSUM/FLOAT(MNO),ITT RETURN ENDIF GO TO 10 C 200 FORMAT (//,1X,'* ATTENTION * ACCURACY CRITERION IN NETWORK', ' BALANCING',/,1X,'( SUB. ITR ) WAS NOT SATISFIED IN 100' ,'ITERATIONS. THE',/,' CRITERION: 10 PER MESH,',6X, ' CURRENT ERROR:',F8.0) 210 FORMAT (//,1X,'* ATTENTION * ACCURACY CRITERION IN NETWORK', ' BALANCING',/,1X,'( SUB. ITR ) WAS NOT SATISFIED IN 100' /ITERATIONS. THE',/,' CRITERION: 10 PER MESH,\6X, ' CURRENT ERROR:\F8.0,/,' IT WAS HAPPENED IN DATA \ 'PREPARATION CYCLE ',15) C END C C SUBROUTINE SPLINE (J,QKI,RKI,TABF,NTW) C C c C SUBROUTINE PURPOSE: C 1) FAN CURVE FITTING. C 2) FAN PRESSURE INTERPOLATION. C C c $INCLUDE:'CMMN.DAT' C C FKQ(J,I,l-4): COEFFICIENTS. OF 3RD ORDER POLYNOMIAL FOR FAN NOF(J), C SEGMENT I. C NSKP(J) = 1: MARKER INDICATING THAT FAN CURVE FITTING FOR FAN C NOF(J) HAS BEEN PROCESSED. C MF = MPTS(J) IF (NTW.EQ.0) THEN DELQ = 1.0 DELP=0.0 DQP=0.0 MFA = MF-1 DO 10 I = 1,MFA FK(I) = 0.0 DK(I) = 0.0 DO 10 K = 1,MFA FC(I,K) = 0.0 10 CONTINUE FC(1,1) - 2.0 FC(1,2) = 1.0 FC(MFA,MFA-1) = 1.0 FC(MFA,MFA) = 2.0 DO 20 I = 1,MFA DQA = DELQ 99 DELQ m QF(J,I + 1)-QF(J,I) DPA = DELP DELP = PF(J,I+1)-PF(J,I) DQPA = DQP DQP = DELP/DELQ IF (I.GT.1AND.I.LT.MFA) THEN DK(I) = (DQPA*DELQ + DQP*DQA)*3.0 FC(I,M) = DELQ FC(I,I) = 2.0*(DQA+DELQ) FC(I,I+1) = DQA ELSE DK(I) = DQP*3.0 ENDIF 20 CONTINUE DO 25 I = 2.MFA FC(I,I) = FC(I,I)-FC(M,I)*FC(I,M)/FC(I-1,I-1) DK(I) = DK(I)-DK(I-1)*FC(I,I-1)/FC(I-1,I-1) 25 CONTINUE FK(MFA) = DK(MFA)/FC(MFA,MFA) C C DO 30 I = 2,MFA n = MFA-I+1 FK(II) = (DK(II)-FC(II,II + 1)*FK(II + 1))/FC(II,II) 30 CONTINUE DO 35 I = 1,MFA FXD = QF(J,I + 1)-QF(J,I) FXA = 1.0/FXD**2. FXB = FK(I)-(PF(J,I+1)-PF(J,I))/FXD FXC = FK(I+1)-(PF(J,I+1)-PF(J,I))/FXD FKQ(J,I,1) = (QF(J,I + 1)*PF(J,I)-QF(J,I)*PF(J,I+1)) /FXD-FXA*(FXB*QF(J,I)*QF(J,I+1)**2+ FXC*QF(J,I + 1)*QF(J,I)**2) FKQ(J,I,2) = (PF(J,I+1)-PF(J,I))/FXD+FXA*(FXB* (QF(J,I+ 1)**2+2.*QF(J,I+ 1)*QF(J,I)) + FXC*(QF(J,I)* *2 + 2.*QF(J,I + 1) *QF(J,I))) FKQ(J,I,3) = -FXA*(FXB*(2.*QF(J,I+1) + QF(J,I))+FXC* (QF(J,I+1)+2.*QF(J,I))) FKQ(J,I,4) = FXA*(FXB+FXC) 35 CONTINUE NSKP(J) = 1 ENDIF C C QKI=ABS(QKI) IF (QKI.LE.QF(J,l).OR.NEGQ(J).GE.l) THEN RKI = PF(J,l)*(TR+460.)/(TABF+460.) RGRAD(J) = 0.0 NFCW(J) = 1 RETURN ELSE IF (QKI.GE.QF(J,MF)) THEN RKI = PF(J,MF)*(TR + 460.)/(TABF+460.) RGRAD(J) = 0.0 NFCW(J) = 1 100 RETURN ENDIF IF (QF(J,1).GE.QKI) THEN M = 1 ELSE DO 40 K = 2,MF IF (QF(J,K).GE.QKI) THEN M = K-l GO TO 45 ENDIF 40 CONTINUE ENDIF M = MFA 45 RKI = FKQ(J,M,1) + FKQ(J,M,2)*QKI + FKQ(J,M,3)*QKI**2 +FKQ(J,M,4)*QKI**3 RKI = RKI*(TR + 460.)/(TABF + 460.) RGRAD(J) = FKQ(J,M,2) + 2*FKQ(J,M,3)*QKI + 3*FKQ(J,M,4)*QKI**2 C RETURN END C C SUBROUTINE KALPHA (TMST,TM,FX,CP,I) C C c C SUBROUTINE PURPOSE: C EVALUATION OF "COEFFICIENT OF AGE" ASSUMING DRY CASE. C C c $INCLUDE:'CMMN.DAT' C C WT: TEMP. CORRECTED AIR DENSITY, LBM/FT**3. C VISC: KINETIC VISCOSITY OF AIR, FT/HR. C HKA: THERMAL CONDUCTIVITY OF ROCK, BTU/HR*FT*F. C FO: FOURIER NUMBER. BI: BIOT NUMBER. RN: REYNOLDS NUMBER. C HC: HEAT TRANSFER COEFFICIENT. C PI =3.1415936 CP=0.24 TMX=TM QX=QQ(I) TX=TMST/3600. WT = DR*(TR + 460.)/(TMX + 460.) VISC=0.000145*((460.+TMX)/492.)**1.75 HKA = 0.014*((460. + TMX)/492.)**0.81 RN= QX*DR/(15.*WT*0(I)*VISC) FRO = 0.0032 + 0.221/RN* *0.237 POT=(100./RN)**0.125 COR = ((KF(I)*0.075)/(809*DR*FR0))**POT HC=0.005*HKA*O(I)*RN**0.8*COR/A(I) 101 FO=TX*HA(I)*0(I)**2/(4.*A(I)**2) BI(I) = HC*2.*A(I)/(0(I) *HK(I)) X = (0.375 + BI(I))*SQRT(FO) C IF (X.LT.2.5) THEN N=0 SUMT=0.0 ADDT=X 10 SUMT=SUMT+ADDT N=N+1 ADDT=-ADDT*X**2*(2.*N-1)/(N*(2.*N+1)) IF (ABS(ADDT).GE.O.OOOOl) GO TO 10 FX = 1.0-(EXP(X**2))*(1.0-(2.0/SQRT(PI))*SUMT) ELSE N=0 SUMT=0.0 ADDT=1.0 20 SUMT=SUMT+ADDT N=N+1 OLADDT=ADDT ADDT = -ADDT*(2*N-1)/(2.0*X**2) IF (ABS(ADDT).LT.0.00001) GO TO 30 IF (ABS(OLADDT).GTABS(ADDT)) GO TO 20 30 FX=1.0-1.0*SUMT/(SQRT(PI)*X) ENDIF C RETURN END C C SUBROUTINE NVP2 C C c C SUBROUTINE PURPOSE: C EVALUATION OF NVP ACCORDING TO CALCULATED MEAN AIR TEMP. IN C AIRWAYS (REFER TO SUBS. TEVAL AND PARAM). C C c $INCLUDE:'CMMN.DAT' C MBEGW=1 SUMFNV=0.0 DO20K=l,MNO MENDW=MEND(K) C C FNTM: AVERAGE TEMPERATURE IN THE MESH. C FNVP(K): NVP IN MESH K. IN IN.W.G. C SUMFNV: SUM OF NVP VARIATION IN MESHES FROM ITER. TO ITER. C ONVP=FNVP(K) FNVP(K)=0. ZUP=0.0 102 ZDOWN=0.0 HSU=0. TSU=0. DO 10 J=MBEGW,MENDW N=MSL(J) IF (N.LT.0) THEN FACT=-1. NX=-N ELSE FACT=1. NX=N ENDIF HSU = HSU + FACT*FRNVP(NX) TSU = TSU + FACT*FFRNVP(NX) 10 CONTINUE IF (ABS(TSU).GT.l.E-3ANDABS(HSU).GT.l.E-5) THEN HTU = ABS(HSU/TSU) FNTM=SQRT(HTU) FNVP(K) = HSU*DR/(5.2*FNTM) ELSE FNVP(K)=0.0 ENDIF SUMFNV = SUMFNV + ABS(ONVP-FNVP(K)) MBEGW=MENDW+1 20 CONTINUE C C C RETURN END SUBROUTINE INIT (IPT) C C c C SUBROUTINE PURPOSE: C INITIATION OF DATA STORAGE ARRAYS BEFORE DYNAMIC SIMULATION OR C BEFORE EACH TIME INCREMENT. C C — c $INCLUDE:'CMMN.DAT' C IF (IPT.EQ.1) THEN DO30I=l,NB RA(I) = R(I) TMRDA(I) = TMRD(I) IF (JS(I).LT.O) JS(I) = -JS(I) IF (JF(I).LT.O) JF(I) = -JF(I) 30 CONTINUE DO50I=l,INFLOW DO40J = l,NB IF (NCENT(I).NE.NO(J)) GO TO 40 NWTYP(J) = 10 GO TO 50 103 40 CONTINUE 50 CONTINUE ELSE C DO70I = l,NJ TAS(I)=T(I) PROPS(I)=PROP(I) PRCH4S(I)=PRCH4(I) 70 CONTINUE DO80I=l,NMZ FMASS(I) = -1.0 80 CONTINUE DO90I = l,INFLOW HTAD(I) = 0.0 90 CONTINUE DO100I=l,NB IF (NNREV(I).EQ.(NNREV(I)/2)*2) THEN NREV(I)=0 ELSE NREV(I) = 1 ENDIF TTJS(I)=TJS(I) TTRD(I)=TRD(I) RDOP(I)=RDPROP(I) RCH4(I)=RDCH4(I) QQ(I) = Q(I) QTP(I)=Q(I) IF (CONCT.EQ.1) THEN TTJS(I)=TJSS(I) TTRD(I)=TRDD(I) QQ(I) = QQQ(I) QTP(I) = QQQ(I) ENDIF 100 CONTINUE ENDIF C RETURN END C C SUBROUTINE CDCH (NSTOP) C C c C SUBROUTINE PURPOSE: C UPDATING CONDITION CHANGES ACCORDING TO USER-SPECIFIED TIME TABLE C C c $INCLUDE:'CMMN.DAT' C DIMENSION QFX(20),PFX(20),DAL(15) C C 104 IF (TACC.LT.DELTAT) IREAD = 1 C C ICODE: CODE NUMBER. 1: CHANGE TO ORDINARY AIRWAY. 2: CHANGE C TO FAN BRANCH. 3: CHANGE TO FIRE SOURCE. 4: FTRE CEASED. C 5: CHANGE SIMULATION STEPS. 6: JUNCTION WHOSE DOWN-STREAM C SIDE AIRWAYS HAVE DETAILED DATA RECORDS. C NBR: AIRWAY CALLING NUMBER IN WHICH CONDITION CHANGE HAPPENS. C INPUT SCHEME: C TS,ICODE,(MAY BE FOLLOWED BY OTHER PARAMETERS) C TS,1,NBR,RSTD C TS,2,NBR,INDEX,QF1,PF1,QF2,PF2,QF3,PF3,QF4,PF4,QF5,PF5 C TS,3,NBR,CONT,CONC,HEAT,02MIN,SMP02,HTP02,QCENT,TPR C TS,4,NBR C TS,5,DELTAT C TS,6,TOUT C TS,7,JDPP C 1 IF (IREAD.EQ.1) THEN 4 CALL READIN (DAL,14,ISTOP,0) IF (ISTOP.EQ.1) THEN ICODE = DAL(2) WRITE (8,300) IF (ICODE.EQ.1) WRITE (8,310) IF (ICODE.EQ.2) WRITE (8,320) IF (ICODE.EQ.3) WRITE (8,330) IF (ICODE.EQ.4) WRITE (8,340) IF (ICODE.EQ.5) WRITE (8,350) IF (ICODE.EQ.6) WRITE (8,360) IF (ICODE.EQ.7) WRITE (8,365) WRITE (8,370) (ROW(IE),IE=1,80) NSTOP=5 RETURN ENDIF IF (DAL(15).LT.(-1.E20)) GO TO 4 IF (NCOMTS.GT.NCOMT2) THEN NCOMT2=NCOMTS GO TO 4 ENDIF IREAD=0 TS = DAL(1) ENDIF IF (TS*60.0.GT.TACC) RETURN ICODE = DAL(2) C IF (ICODE.EQ.5) THEN DELT = DAL(3) IF (DELT.GT.1.E-3AND.DELT.LT.30.0) THEN WRITE (8,190) DELTAT,DELT,TS DELTAT=DELT ELSE WRITE (8,200) DELT ENDIF GO TO 100 105 ELSE IF (ICODE.EQ.6) THEN TOUT=DAL(3) IF (TOUT.LT.l.E-5) TOUT =1.0 GO TO 100 C ELSE IF (ICODE.EQ.7) THEN JDP=JDP+1 IF (JDP.GT.IMX) THEN WRITE (8,240) JDP=JDP-1 GO TO 100 ENDIF JDPP(JDP)=DAL(3) GO TO 100 ENDIF NBR=DAL(3) D0 5I=1,NB IF (NO(I).EQ.NBR) THEN N=I GO TO 6 ENDIF 5 CONTINUE WRITE (8,210) NBR GO TO 100 C C ICODE = 1 INDICATES THAT AIRWAY NBR BECOMES AN ORDINARY AIRWAY C WITH RESISTANCE EQUAL TO RSTD AT TS MIN. AFTER EVENT. C 6 IF (ICODE.EQ.1) THEN RSTD(N) = DAL(4) R(N)=RSTD(N)*(TMRD(N)+460.0)**2/(TR+460.0)**2 NWTYP(N)=0 IF (NFNUM.GT.0) THEN D0 8J=1,NFNUM IF (NOF(J).EQ.NBR) THEN IF (NFNUM.GTJ) THEN DO 7 K=J,NFNUM-1 NOF(K)=NOF(K+l) MPTS(K) = MPTS(K+ 1) NSKP(K)=NSKP(K+1) 7 CONTINUE ENDIF NOF(NFNUM)=0 MPTS(NFNUM)=0 NSKP(NFNUM) = NFNUM=NFNUM-1 GO TO 9 ENDIF 8 CONTINUE ENDIF 9 WRITE (8,110) NO(N),RSTD(N),TS C ELSE IF (ICODE.EQ.2) THEN INDEX =DAL(4) 106 IF (INDEX.LE.0) THEN WRITE (8,120) INDEX,NBR GO TO 100 ELSE IF (INDEX.EQ.1) THEN RX=DAL(5) IF (NFNUM.GT.O) THEN DO50J = l,NFNUM IF (NOF(J).EQ.NBR) THEN DO40JJ=J,NFNUM-l NOF(JJ)=NOF(JJ+l) MPTS(JJ) = MPTS(JJ + 1) DO40KK=l,IMX QF(JJ,KK) = QF(JJ + 1,KK) PF(JJ,KK) = PF(JJ + 1,KK) 40 CONTINUE NFNUM = NFNUM-1 ENDIF 50 CONTINUE ENDIF NWTYP(N) = 1 R(N)=RX WRITE (8,150) NBR,R(N) GO TO 100 ELSE IF (INDEX.GT.5) THEN WRITE (8,120) INDEX.NBR INDEX =5 ENDIF D0 55I=1,INDEX n=5+(i-i)*2 QFX(I) = DAL(II) PFX(I) = DAL(II + 1) 55 CONTINUE IF (NFNUM.GT.O) THEN DO20J=l,NFNUM IF (NOF(J).EQ.NO(N)) THEN MPTS(J) = INDEX DO10K=l,INDEX QF(J,K) = QFX(K) PF(J,K) = PFX(K) 10 CONTINUE JN=J GO TO 35 ENDIF 20 CONTINUE ENDIF NFNUM=NFNUM+1 IF (NFNUM.GT.IMX) THEN WRITE (8,130) NO(N),PFX(l) NFNUM = NFNUM-1 NWTYP(N) = 1 R(N) = PFX(1) GO TO 100 ENDIF NWTYP(N) = 1 107 NOF(NFNUM) = NO(N) MPTS(NFNUM) = INDEX DO30K=l,INDEX QF(NFNUM,K) = QFX(K) PF(NFNUM,K) = PFX(K) 30 CONTINUE JN=NFNUM 35 WRITE (8,140) NBR,TS,(QF(JN,K),PF(JN,K),K=1,INDEX) C ELSE IF (ICODE.EQ.3) THEN CONTX=DAL(4) CONCX=DAL(5) HEATX=DAL(6) 02MINX=DAL(7) SMP02X=DAL(8) HTP02X=DAL(9) QCENTX=DAL(10) TPRX=DAL(11) IF (TPRX.LT.l.E-5) TPRX=l.E-5 IF (INFLOW.GT.0) THEN DO60J=l,INFLOW IF (NCENT(J).EQ.NBR) THEN CONT(J)=CONTX CONC(J) = CONCX HEAT(J)=HEATX 02MIN(J) = 02MINX SMP02(J)=SMP02X HTP02(J)=HTP02X QCENT(J) = QCENTX TPR(J)=TPRX JN=J GO TO 70 ENDIF 60 CONTINUE ENDIF INFLOW = INFLOW + 1 IF (INFLOW.GT.IMX) THEN WRITE (8,260) NBR GO TO 100 ENDIF NCENT(INFLOW) = NBR CONT(INFLOW) = CONTX CONC(INFLOW) = CONCX HEAT(INFLOW) = HEATX 02MIN(INFLOW) = 02MINX SMP02(INFLOW) - SMP02X HTP02(INFLO W) = HTP02X QCENT(INFLOW) = QCENTX TPR(INFLOW) = TPRX JN= INFLOW 70 NWTYP(N) = 10 D0 75K=1,NB IF (NO(K).EQ.NBRAND.LA(K).GT.30.0) WRITE (8,220) NO(K),LA(K),TS 108 75 CONTINUE WRITE (8,160) NBR,TS,TPR(JN),CONT(JN),CONC(JN),HEAT(JN), 02MIN(JN),SMP02(JN),HTP02(JN),QCENT(JN) C ELSE IF (ICODE.EQ.4) THEN IF (INFLOW.GT.0) THEN DO90I=l,INFLOW IF (NCENT(I).EQ.NBR) THEN DO80J = I,INFLOW NCENT(J) = NCENT(J + 1) CONT(J) = CONT(J + l) CONC(J) = CONC(J + l) HEAT(J) = HEAT(J + 1) 02MIN(J) = 02MIN(J + 1) SMP02(J) = SMP02(J + 1) HTP02( J) = HTP02( J + 1) QCENT(J) = QCENT(J + 1) TPR(J) = TPR(J + 1) 80 CONTINUE INFLOW = INFLOW-l NWTYP(N) = WRITE (8,170) NBR.TS GO TO 100 ENDIF 90 CONTINUE ENDIF ELSE WRITE (8,180) ICODE, NBR ENDIF 100 IREAD = 1 GOTOl C C 110 FORMAT (/,1X,'* ATTENTION * AIRWAY',15,' BECAME AN ORDINARY ', 'AIRWAY WITH',/,DC,'R = \F8.3,' AT',F6.1,' MIN. AFTER ', 'EVENT.') 120 FORMAT (/,1X,'* WARNING * INVALID NUMBER OF DATA POINTS FOR A ', 'FAN CURVE,',/,1X,'WHICH IN TIME TABLE IS 1 TO 5.) 130 FORMAT (/,1X,'* WARNING * NUMBER OF FANS BECAME EXCESSIVE. ', 'FAN IN',/,1X,'BRANCH ',15,' IS TAKEN AS FTXED-P FAN OF, F7.3,' IN.W.G.') 140 FORMAT (/,1X,'* ATTENTION * THE FOLLOWING CHARACTERISTICS FOR ', 'FAN ',14,/,' ACTIVATED AT',F6.2,' MIN. AFTER EVENT.',//, 5(' Q/1000 PF '),//,5(F8.1,F6.2)) 150 FORMAT (/,1X/* ATTENTION * AIRWAY',15,' BECAME A FAN BRANCH ', 'WITH PRESSURE',/,' FTXED AT',F6.2,' IN. W.G. AT',F6.2, ' MIN. AFTER EVENT.') 160 FORMAT (/,DC,'* ATTENTION * BRANCH',15,' CAUGHT IN FIRE AT ', F6.2,' MIN.',/,DC,'LEADING TIME: \F5.1,' PARAMETERS AS', 'FOLLOWS:',//,T7,'FTXED-HEAT-INPUT',T30,'OXYGEN-RICH\ T48,'FUEL-RICH',/,lX,'FLOWRATE',T14,'CONC ,T23,'HEAT',T34,'(%)',T43,'FUME P 02',T54,'HEAT P02',T66, 'REF. Q',//,DC,F8.0,T11,F8.2,T21,E8.3,T30,F7.2,T43, F7.2,T53,F7.2,T63,F9.0) 109 170 FORMAT (/,1X,'* ATTENTION * FTRE',15,' CEASED AT',F6.2,' MIN.', ' AFTER EVENT.') 180 FORMAT (/,' * ATTENTION * INVALID CODE',15,' FOR AIRWAY',15, ' IGNORED. (CDCH)') 190 FORMAT (/,1X,'* ATTENTION * SIMULATION STEP WAS CHANGED ', 'FROM \F6.2,' SEC.',/,' TO ',F6.2,' SEC. AT ',F6.2, ' MINS. AFTER EVENT.') 200 FORMAT (/,DC,'* WARNING * INVALID SIMULATION STEP (',F6.2,' SEC, ') IGNORED.\/,lX,'IT MUST BE LESS THAN 30.0 SEC. (CDCH)') 210 FORMAT (/,1X,'* ATTENTION * AIRWAY',15,' NOT FOUND, DATA ', 'IGNORED. (CDCH)') 220 FORMAT (/,1X,'* ATTENTION * AIRWAY',15,' OF LENGTH',F8.0, ' FT CONTAINS A',/,' HEAT/CONTAMINANT SOURCE AT \F6.2, ' MIN. AFTER EVENT.',/,' IT IS ADVISED TO DIVIDE THE ', 'AIRWAY INTO TWO AND LOCATE THE',/,' FIRE SOURCE IN ', 'THE ONE SHORTER THAN 30 FT.') 230 FORMAT (/,1X,'* ATTENTION * FIRE BRANCH ',15,' NOT FOUND AT', F6.2,' MIN.',/,' AFTER SIMULATION, CHANGE IGNORED.') 240 FORMAT (/,1X,'* ATTENTION * TOO MANY JDPP INPUT, DATA IGNORED.') 250 FORMAT (/,1X,'* ATTENTION * JUNCTION',16,' NOT FOUND AT',F6.2, ' MIN.',/,' AFTER EVENT, CHANGE IGNORED.') 260 FORMAT (/,1X,'* WARNING * NUMBER OF FIRE SOURCES BECAME ', 'EXCESSIVE. SPECIFIED',/,' CONDITION CHANGE IN TIME ', TABLE IGNORED.') 300 FORMAT (/,DC,'THE FOLLOWING VARIABLES WERE EXPECTED TO BE READ', * IN:',//) 310 FORMAT (1X,'TS,1,NBR,R') 320 FORMAT (1X,TS,2,NBR,INDEX,QF,PF,QF,PF,QF,PF,QF,PF,QF,PF) 330 FORMAT (lX,TS,3,NBR,CONT,CONC,HEAT,02MIN,SMPO2,HTPO2,QCENT') 340 FORMAT (1X,TS,4,NBR') 350 FORMAT (1X,'TS,5,DELTAT') 360 FORMAT (lX,'TS,6,TOUT) 365 FORMAT (1X,'TS,7,JDPP') 370 FORMAT (/,1X,'THE CURRENT INPUT WAS:',//,80A1) C END C C C C c C SUBROUTINE PURPOSE: C REARRANGING DETAILED DATA RECORDS FOR THE AIRWAY WHOSE AIRFLOW C REVERSED. C C c $INCLUDE:'CMMN.DAT' C DO90I=l,NB DOU = l,NJ IF (JNO(J).EQJS(I)) JU=J IF (JNO(J).EQJF(I)) JW=J SUBROUTINE DTTR (MARKL,MARKP) 110 1 CONTINUE C C MARKP=0: A THERMALLY BALANCED SOLUTION HAS NOT BEEN REACHED YET C WITHIN A TIME INTERVAL. C MARKP= 1: THE CALCULATION OF THE PRESENT TIME INTERVAL IS DONE. C Q(I): AIRFLOW RATE IN AIRWAY NO(I) AT THE END OF THE PRESENT C INTERVAL. C QQ(I): TIME AVERAGED AIRFLOW RATE. C IF (MARKP.EQ.0) QRS=QQ(I) IF (MARKP.EQ.1) QRS = Q(I) IF (QRS.LT.0.0) THEN MARKL=1 IQ=IBTN(I) IF (IQ.GT.0) THEN IF (MARKP.EQ.1) THEN IS=NSAC(I,2) IF (IS.GT.0) THEN D0 2J = 1,IS DO 2 K= 1,5 GBTN(J,K) = DPPA(IQ r F,K) 2 CONTINUE D0 6J=1,IS JP=IS-J + 1 DO 4 K= 1,5 DPPA(IQ r TP,K) = GBTN(J,K) 4 CONTINUE DPPA(IQ ,JP,1) = LA(I)-DPPA(IQ,JP,1) IF (J.EQ.1) THEN DPPA(IQ,JP,2) = TAUXC(IQ) ELSE DPPA(IQ,JP,2) = TAUXA(IQ,J-1) ENDIF 6 CONTINUE D0 7J = 1,IS JP=IS-J+1 IF (J.EQ.1) THEN TAUXA(IQ,JP) = TRD(I) ELSE TAUXA(IQ r TP) = GBTN(J-1,2) IF (J.EQ.IS) TAUXC(IQ) = GBTN(J,2) ENDIF 7 CONTINUE FMASS1 = DPPA(IQ,1,5) IF (IS.GE.2) THEN D0 8J=1,IS-1 DPPA(IQ,J,5) = DPPA(IQ,J + 1,5) 8 CONTINUE ENDIF IF (FMASS(IQ).LT.0.0) THEN FK1 = 535.0/(460.0 + (DPPA(IQ,IS,2) + TRD(I))/2.0) FMASS(IQ)=A(I)*DPPA(IQ,IS,1)*0.075*FK1 ENDIF DPPA(IQ,IS,5) = FMASS(IQ) Ill FMASS(IQ) = FMASS1 RDPROP(I) = DPPA(IQ,1,3) RDCH4(I) = DPPA(IQ,1,4) RDOP(I) = DPPA(IQ,1,3) RCH4(I) = DPPA(IQ,1,4) ELSE IF (NWTYP(I).NE.10) THEN RDPROP(I) = PROP(JU) RDCH4(I) = PRCH4(JU) RDOP(I)=PROP(JU) RCH4(I) = PRCH4(JU) ENDIF ENDIF ELSE IS=NSACB(I,2) IF (IS.GT.O) THEN DO10J = l,IS DO 10 K= 1,5 GBTN(J,K) = DPPB(IQ,J,K) 10 CONTINUE DO30J=l,IS JP=IS-J+1 DO 20 K= 1,5 DPPB(IQ,JP,K) = GBTN(J,K) 20 CONTINUE DPPB(IQ,JP,1) = LA(I)-DPPB(IQ,JP,1) IF (J.EQ.1) THEN DPPB(IQ,JP,2) = TAUXD(IQ) ELSE DPPB(IQ,JP,2) = TAUXB(IQ,J-1) ENDIF 30 CONTINUE D0 32J=1,IS JP=IS-J+1 IF (J.EQ.1) THEN TAUXB(IQ,JP) = TTRD(I) ELSE TAUXB(IQ,JP) = GBTN(J-1,2) IF (J.EQ.IS) TAUXD(IQ) = GBTN(J,2) ENDIF 32 CONTINUE FMASS1 = DPPB(IQ,1,5) IF (IS.GE.2) THEN D0 35J=1,IS-1 DPPB(IQ J,5) = DPPB(IQ,J + 1,5) 35 CONTINUE ENDIF IF (FMASS(IQ).LT.0.0) THEN FK1 = 535.0/(460.0 + (DPPB(IQ,IS,2) + TTRD(I))/2.0) FMASS(IQ)=A(I)*DPPB(IQ,IS,1)*0.075*FK1 ENDIF DPPB(IQ,IS,5) = FMASS(IQ) FMASS(IQ)=FMASS1 DO40J = l,IS 112 DPPA(IQ,J,5) = DPPB(IQ,J,5) 40 CONTINUE RDPROP(I) = DPPB(IQ,1,3) RDCH4(I) = DPPB(IQ,1,4) RDOP(I) = DPPB(IQ,13) RCH4(I) = DPPB(IQ,1,4) ELSE IF (NWTYP(I).NE.10) THEN RDPROP(I) = PROPS(JU) RDCH4(I) = PRCH4S(JU) RDOP(I) = PROPS(JU) RCH4(I) = PRCH4S(JU) ENDIF ENDIF ENDIF ENDIF TRDA=TRD(I) TTRDA=TTRD(I) TRD(I) = TJS(I) TTRD(I) = TTJS(I) TJS(I)=TRDA TTJS(I) = TTRDA JE=JS(I) JS(I)=JF(I) JF(I)=JE DZRD(I) = -DZRD(I) FRNVP(I) = -FRNVP(I) FFRNVP(I) = -FFRNVP(I) QTP(I) = -QTP(I) QQ(I) = -QQ(I) Q(I) = -Q(I) C C NREV(I): NUMBER OF CHANGES IN AIRFLOW DIRECTION (QQ) IN AIRWAY C NO(I) IN THE PRESENT TIME INTERVAL. C NNREV(I): NUMBER OF CHANGES IN AIRFLOW DIRECTION (Q) IN AIRWAY C NO(I) SINCE TIME ZERO. C NREV(I) = NREV(I) + 1 ENDIF IF (MARKP.EQ.1AND.Q(I)*QTP(I).LT.0.0) NNREV(I) = NNREV(I) + 1 IF (ABS(QQ(I)).LT.l.E-5) THEN WRITE (8,200) NO(I),QQ(I) QQ(I) = l.E-5 ENDIF IF (ABS(Q(I)).LT.l.E-5) THEN WRITE (8,200) NO(I),Q(I) Q(I) = l.E-5 ENDIF 90 CONTINUE C IF (MARKL.NE.0) THEN L=0 M=0 N = l 113 DO120I = l,MAXJ K=L DO100J=l,NB IF (JS(J).EQ.I) THEN L=L+1 NGOUT(L)=J ENDIF 100 CONTINUE LOUT(N) = L MM=M DO110J = l,NB IF (JF(J).EQ.I) THEN M=M + 1 NGIN(M)=J ENDIF 110 CONTINUE MMIN(N)=M IF (MM.NE.M.OR.K.NE.L) THEN JNOL(N)=I N=N+1 ENDIF 120 CONTINUE DO140I = l,NJ DO130J=l,NJ IF (JNOL(I).EQJNO(J)) THEN JLR(I)=J GO TO 140 ENDIF 130 CONTINUE 140 CONTINUE ENDIF C 200 FORMAT (//,1X,'* ATTENTION * AIRWAY',15,' HAD ITS Q OR QQ', • DOWN TO\F6.3,/,' FT3/MIN. DURING ITERATIONS. IT WAS \ 'SET TO 1E-5 FT3/MIN.',/,' TO AVOID POSSIBLE DIVISION ', 'FAULT DURING ITERATION.') C RETURN END C C SUBROUTINE CDJN (ISQQMARKS) C C c C SUBROUTINE PURPOSES: C 1) EVALUATION OF THERMAL STATES IN JUNCTIONS. C 2) DEVELOPING A NEW DATA RECORD INTO AIRWAYS (A) WHOSE BEGINNING C JUNCTION HAS DRASTIC CONDITION CHANGES; OR (B) WHERE AIRFLOW C REVERSAL HAPPENED; OR (C) WHERE A FIRE SOURCE EXISTS; OR (D) C WHICH GOT DETAILED RECORDS IN PREVIOUS INTERVALS ALREADY. C C c 114 $INCLUDE: 'CMMN.DAT' C CP=0.24 DO60I=l,NJ K=JLR(I) JY=1 IF (I.GT.1) JY=LOUT(I-l) + l JZ=LOUT(I) DO50J=JY,JZ NW=NGOUT(J) IF (NW.LE.O) WRITE (8,*) 'NW,I,JY,JZ,NGOUT(jy CO2=0.0 WR=0.0 C NWTYP(I) = 10 INDICATES THAT AIRWAY NO(I) CONTAINS A FIRE SOURCE. C NSAC(I,2): NUMBER OF CONTROL VOLUMES IN AIRWAY NO(I). C IBTN(I) STORES THE ADDRESS OF DATA RECORDS FOR AIRWAY NO(I) IN C ARRAY DPPA, DPPB ETC. C IF (A(NW).GE.1000.0) GO TO 50 IF (MARKS.NE.OAND.NWTYP(NW).NE.10) THEN IF (JCH(K).EQ.O) GO TO 50 C C WHEN THE NEWLY OBTAINED DATA NEED TO BE UPDATED AGAIN IN THE C PRESENT TIME INTERVAL, THE DATA OBTAINED IN THE PREVIOUS SEARCH C IN THE INTERVAL ARE ABANDONED TO AVOID DUPLICATED DATA C RECORDS. C IF (IBTN(NW).GT.O) THEN IZ=IBTN(NW) NSAC(NW,2) = NSACB(NW,2) DO 5 DC =1,10 D0 5rY=L5 DPPA(IZ,DC,IY) = DPPB(IZ,DC,rY) 5 CONTINUE ENDIF ELSE IF (NWTYP(NW).NE.10) THEN C C NON-QUALIFIED AIRWAYS GET NO DETAILED DATA RECORDS AND ARE IGNORED C IF (JDP.GT.O) THEN D0 7DC=LJDP IF (NO(NW).EQJDPP(DQ) GO TO 8 7 CONTINUE ENDIF IF (JCH(K).EQ.OAND.IBTN(NW).EQ.O) GO TO 50 ENDIF 8 CONTAM=0.0 CONTQ=0.0 HEATAD = 0.0 TFS = 0.0 C C ** CHECK TO SEE IF A FIRE SOURCE EXISTS IN THE AIRWAYS. C 115 DO10L=l,INFLOW IF (NCENT(L).EQ.NO(NW)) GO TO 20 10 CONTINUE GO TO 30 C 20 NM=1 FACT = 1.0 IF (QCENT(L).GT.IO.O) THEN Q1 = QQ(NW) IF (Q1.LT.QCENT(L)) Q1=Q1+QCENT(L) FACT = 1.0 + (QQ(NW)-QCENT(L))/Q1 ENDIF IF (ABS(CONT(L)).GT.l.E-3) THEN CONTAM = CONT(L)*CONC(L)/100.0 CONTQ = CONT(L) ELSE CONTAM =0.0 ENDIF 02BEH(L) = (0.21-PROP(K)-CONTAM/QQ(NW))*100.0 HEATAD = HEAT(L)*FACT C IF (O2MIN(L).GT.1.0) THEN 02SCL= 02MIN(L) + (21.0-O2MIN(L))*(FACT-1.0) TACCA = TACC + DELTAT IF (TACCA.GT.TPR(L)*60.0) TACCA =TPR(L)*60.0 PROPA=PROP(K) 02CONS = ((0.21-PROPA-O2SCL/100.0)*TACCA/ (TPR(L)*60.0))*QQ(NW) IF (O2CONS.LT.0.0) O2CONS=0.0 02BEH(L) = (0.21-PROPA-O2CONS/QQ(NW))*100.0 WR=0.0 HEATAD = O2CONS*437.0 CONTAM = PROPA*QQ(NW) + 02CONS ENDIF C IF (SMP02(L).GT.l.E-3) THEN 02LT = 0.21-0.21*(TACC + DELTAT)/(TPR(L)*60.0) IF (O2LT.LT.0.0) O2LT=0.0 PROPA=PROP(K) 02CONS = (0.21-O2LT-PROPA)*QQ(NW) IF (O2CONS.LT.0.0) O2CONS=0.0 CONTAM = (0.21-O2LT)*QQ(NW) IF ((0.21-O2LT).LT.PROPA) CONTAM =PROPA*QQ(NW) 02BEH(L) = O2LT*100.0 IF (FACT.LE.1.0) THEN HTSCL=HTP02(L) ELSE HTSCL= HTP02(L)/FACT ENDIF WR=0.0 HEATAD = 02CONS*HTSCL ENDIF C 30 TK=T(K) 116 IF (NWTYP(NW).EQ.10) TK=TAS(K) VART=(9900.0+TK)**2+2.0*HEATAD/(QQ(NW)*2.4E-5*DR) TJS(NW) = -9900.0 + SQRT(VART) IF (CONCT.EQ.1) TJS(NW)=TJSS(NW) IF (NWTYP(NW).EQ.IO) THEN TRD(NW) = TJS(NW) RDPROP(NW) = (PROP(K)*QQ(NW) + CONTAM)/(QQ(NW) + CONTQ) RDCH4(NW) = PRCH4(K) HTAD(L) = (TJS(NW)-T(K))*0.24*QQ(NW)*DR GO TO 50 ENDIF C C NTAUXC = IF (NSAC(NW,1).EQ.0) THEN C C NSAC(I,1) = 1 INDICATES THAT THE FUME FRONT IS WITHIN AIRWAY NO(I). C NTAUXC=1 NSAC(NW,1) = 1 ENDIF NSAC(NW,2) = NSAC(NW,2) + 1 NS = NSAC(NW,2) IF (IBTN(NW).EQ.O) THEN ISQC=ISQC+1 IF (ISQC.LT.NMZ) THEN IBTN(NW) = ISQC ELSE C C WHEN THE CAPACITIES OF DATA RECORDING ARRAYS ARE SATURATED, LATE C REQUEST WILL BE TURNED DOWN AND A MESSAGE WILL BE GIVEN. C NSAC(NW,1)=0 NSAC(NW,2)=0 IF (IAC.GT.O) THEN D0 35I1 = 1,IAC IF (IOMIT(U).EQ.NW) GO TO 36 35 CONTINUE ENDIF IF (IAC.GE.IMX) GO TO 50 IAC=IAC+1 I1 = IAC 36 IOMIT(Il)=NW ROMIT(Il,l)=T(K) ROMIT(Il,2) = PROP(K) ROMIT(Il,3) = PRCH4(K) GO TO 50 ENDIF ENDIF NQ = IBTN(NW) NN=0 C c TS = DELTAT/60.0 117 IF (TLEFT(K).GE.O.O) TS=TLEFT(K) + 0.00001 DPPA(NQ,NS,5) = DR*QQ(NW)*TS IF (NS.GT.1AND.DELTAT/60.0.GT.TS) THEN DPPA(NQ,NS-1,5) = DPPB(NQ,NS-1,5)+DR*QQ(NW)* (DELTAT/60.0-TS) ENDIF TAUXA(NQ,NS) = TJS(NW) CALL COLUMN (TJS(NW),SEG,NW,NQ,NS) FE=SEG/LA(NW) SEGZ=QQ(NW)*TS*(TMRD(NW)+460.0)/(A(NW)*(TR+460.0)) FA = XNEW(NW) *SEGZ/CP IF (FA.LT.25.0) THEN FAS=EXP(-FA) ELSE FAS =0.0 ENDIF C C AIR TEMP. OF THE C.V. AT ITS NEWLY ARRIVED POSITION IS ESTIMATED. C DPPA(NQ,NS,2) = TROCK(NW) + (TJS(NW)-TROCK(NW))*FAS- (DZRD(NW)*FE/(2.0*778.26*CP))*(1.0 + FAS) C C DATA RECORDED IN DPPA: (1) LOCATION, (2) TEMP. (3) CH4, C (4) FUME, (5) AIR MASS IN C.V.. C IF (NTAUXC.EQ.1) TAUXC(NQ)=TROCK(NW) + (TTJS(NW)-TROCK(NW))^ FAS-(DZRD(NW)*FE/(2.0*778.26*CP))*(1. + FAS) DPPA(NQ,NS,1)=SEG DPPA(NQ,NS,3) = (PROP(K)*QQ(NW) + CONTAM)/(QQ(NW) + CONTQ) DPPA(NQ,NS,4) = (PRCH4(K)*QQ(NW) + CH4V(NW)*FE)/ (QQ(NW) + CH4V(NW) *FE) 50 CONTINUE 60 CONTINUE C RETURN END C C SUBROUTINE COLUMN (T1,X3,I,JQ,JP) C C c C SUBROUTINE PURPOSE: C DETERMINING THE ADVANCING DISTANCE OF AIR COLUMNS. C C c $INCLUDE:'CMMN.DAT' C IF (DPPA(JQ,JP,5).LT.3.0) THEN X3=0.1 RETURN ENDIF KK=0 118 XI =1.0 X2= 100.0 CP = 0.2376 + 0.000024*TMRD(I) CI =TROCK(I)+ 460.0 C2=Tl-TROCK(I) C3=-HK(I)*DCOAGE(I)*O(I)**2/(DR*QQ(I)*CP*120.0*A(I)) AC=DPPA(JQ,JP,5)*53.34/(144.0*14.7*A(I)) 10 EXPR=0.0 IF (C3*Xl.GT.-25.0) EXPR=EXP(C3*X1) XXX = (CI + C2*EXPR)/(C1 + C2) ALOGR=0.0 IF (ABS(XXX-1.0).GT.l.E-4) ALOGR=ALOG(XXX) QMl=Xl/Cl-ALOGR/(Cl*C3) IF (QM1.GTAC) THEN Xl=Xl/5.0 IF (Xl.GT.l.E-3) GO TO 10 ENDIF 20 EXPR=0.0 IF (C3*X2.GT.-25.0) EXPR=EXP(C3*X2) XXX = (CI + C2*EXPR)/(C1 + C2) ALOGR=0.0 IF (ABS(XXX-1.0).GT.l.E-4) ALOGR =ALOG(XXX) QM2=X2/Cl-ALOGR/(Cl*C3) IF (QM2.LT AC) THEN X2=X2*2.0 IF (X2.LT.10000.0) GO TO 20 ENDIF 25 X4=X2/5.0 EXPR=0.0 IF (C3*X4.GT.-25.0) EXPR=EXP(C3*X4) XXX = (CI + C2*EXPR)/(C1 + C2) ALOGR=0.0 IF(ABS(XXX-1.0).GT.l.E-4) ALOGR = ALOG(XXX) QM4= X4/Cl-ALOGR/(Cl*C3) IF (QM4.GTAC) THEN X2=X4 QM2=QM4 IF (X2.GT.10.0) GO TO 25 ENDIF 30 X3=X1 + (X2-X1)*(AC-QM1)/(QM2-QM1) EXPR=0.0 IF (C3*X3.GT.-25.0) EXPR = EXP(C3*X3) XXX = (CI + C2*EXPR)/(C1 + C2) ALOGR =0.0 IF (ABS(XXX-1.0).GT.l.E-4) ALOGR =ALOG (XXX) QM3=X3/Cl-ALOGR/(Cl*C3) IF (ABS(QM3-AC).GT.(5.E-4*AC)) THEN IF (QM3.LEAC) THEN X1=X3 QM1 = QM3 ELSE X2=X3 QM2=QM3 ENDIF 119 C C KK=KK+1 IF (KK.LE.40) GO TO 30 ENDIF IF (X3.LT.0.1) X3=0.1 RETURN END C C SUBROUTINE ADPT (IS,IQ,MARKS,I) C C c C SUBROUTINE PURPOSES: C 1) ADVANCING EXISTING C.V. IN AIRWAYS, UPDATING RELEVANT DATA. C 2) UPDATING AIRWAY ENDING CONDITIONS. C 3) CONDENSING DATA STORAGE ARRAYS IF THERE IS A C.V. EXCEEDING C THE AIRWAY ENDING. C C - c $INCLUDE:'CMMN.DAT' C C IS: NUMBER OF C.V. IN AIRWAY NO(I). C CP=0.24 IF (NSAC(I,2).EQ.O) RETURN D0 5K=1,NJ IF (JS(I).EQJNO(K)) GO TO 8 5 CONTINUE 8 IF (MARKS.GT.OANDJCH(K).EQ.O) RETURN IF (IS.LE.0) GO TO 50 IF (DPPA(IQ,IS + 1,1).GT.LA(I)) GO TO 50 C C "MARKS" ACTS AS A TIMER. WHEN MARKS =0, THIS SUB. ADVANCES ALL C EXISTING C.V., WHILE MARKS >0, IT SEARCHES FOR THOSE C.V. WHICH C WERE GENERATED IN THE PRESENT INTERVAL AND TRAVELLED MORE THAN C ONE AIRWAY IN THE PRESENT INTERVAL THEN UPDATES THE RELEVANT DATA. C C ** MARKS =0, ADVANCING ALL EXISTING DATA POINTS, STARTING WITH THE C.V C CLOSEST TO THE BEGINNING JUNCTION OF THE AIRWAY. C SEGZ=QQ(I)*DELTAT*(TMRD(I)+460.0)/(60.0*A(I)*(TR+460.0)) FA =XNEW(I)*ABS(SEGZ)/CP FAS =0.0 IF (FA.LT.25.0) FAS = EXP(-FA) C DO40K=l,IS JA=IS-K+1 NN=0 MK=0 SEG = DPPA(IQ ,JA + 1,1)-DPPB(IQ,JA + 1,1) IF (ABS(SEG).LT.l.E-3) SEG =0.001 120 VL=SEG/LA(I) T0 = TAUXB(ICUA) T2=DPPB(IQ,JA,2) IRV=0 IF((TAUXB(IQ r FA)LT.DPPB(IQ,JA,2)AND.TAUXB(IQ r rA).GT. TROCK(I)).OR.(TAUXB(IQ,JA).GT.DPPB(IQ,JA,2)AND. TAUXB(IQ,JA).LT.TROCK(I))) THEN T0 = DPPB(IQ,JA,2) T2=TAUXB(IQJA) IRV=1 ENDIF Tl = TROCK(I) + (TO-TROCK(I)) *FAS-(DZRD(I) * VL/(2*778.26*CP)) *(1.0+FAS) TAUXA(IQM)=T1 CALL COLUMN (T1,SEG1,I,IQ,JA) SEG = DPPA(ICUA + 1,1) + SEG1-DPPB(IQ,JA,1) VL=SEG/LA(I) DPPA(IQ,JA,2) = TROCK(I) + (T2-TROCK(I)) *FAS- (DZRD(I)*VL/(2*778.26*CP))*(1.0 + FAS) IF (JA.EQ.1) TAUXC(IQ)=TROCK(I) + (TAUXD(IQ)-TROCK(I))*FAS- (DZRD(I)*VL/(2*778.26*CP))*(1.0+FAS) IF (IRV.EQ.1) THEN TBW = DPPA(IQM,2) DPPA(IQ,JA,2) = TAUXA(ICUA) TAUXA(IQ,JA)=TBW ENDIF DPPA(IQ,JA,1) = DPPB(IQ r FA,l) + SEG SE=ABS(DPPA(IQM,1)-DPPB(IQM,1)) DPPA(IQ,JA,4) = (DPPB(IQ,JA,4)*QQ(I) + CH4V(I)*SE/LA(I))/ (QQ(I) + CH4V(I)*SE/LA(I)) IF (DPPA(IQ,JA,1).GE.LA(I)) GO TO 50 40 CONTINUE VL=(DPPA(IQ,1,1)-DPPB(IQ,1,1))/LA(I) TAUXC(IQ) = TROCK(I) + (TAUXD(IQ)-TROCK(I))*FAS-(DZRD(I)*VL/ (2.0*778.26*CP))*(1.0+ FAS) 50 ISS=NSAC(I,2) D0 52K=1,ISS JA=ISS-K+1 IF (DPPA(IQ,JA,1).GE.LA(I)) GO TO 54 52 CONTINUE IF (NSAC(U).EQ.l) RETURN C C IF NO C.V. EXCEEDS THE ENDING, THEN SUBROUTINE RETURNS AFTER C UPDATING AIRWAY ENDING CONDITIONS. C SEG = LA(I)-DPPA(IQ,1,1) SSL=LA(I)-DPPB(IQ,1,1) IF (SSL.LE.SEG) SSL = SEG FA = XNEW(I) *SEG/CP IF (FA.LE.25.0) THEN FAS = EXP(-FA) ELSE FAS = 0.0 ENDIF 121 TT=DPPA(IQ,1,2) ENDT=TROCK(I) + (TT-TROCK(I))*FAS-(DZRD(I)*SEG/ (2*778.26*CP*LA(I)))*(1.0 + FAS) TRD(I) = TTRD(I) + (ENDT-TTRD(I))*(SSL-SEG)/SSL IF (CONCT.EQ.l) TRD(I)=TRDD(I) RDPROP(I) = RDOP(I) + (DPPA(IQ,l,3)-RDOP(I))*(SSL-SEG)/SSL RETURN C C ** C.V. EXCEEDS THE ENDING, UPDATE OF AIRWAY ENDING CONDITIONS C IS CALLED FOR. C TLEFT(J): TIME LEFT AT JUNCTION JNO(J) FOR WAVE FRONT (C.V.) C TO TRAVEL INTO THE DOWN-STREAM AIRWAY. C 54 D0 56LL=1,NJ IF (IABS(JF(I)).EQJNO(LL)) KL=LL IF (IABS(JS(I)).EQJNO(LL)) ML=LL 56 CONTINUE FL = DPPA(IQ,JA,1)-LA(I) TK = DELTAT*FL/((DPPA(IQ,JA,1)-DPPB(IQ,JA,1)) *60.0) IF (TK.GT.TLEFT(KL)) TLEFT(KL) = TK IF (NSAC(I,1).NE.(-1)) NSAC(I,1) = -1 C C NSAC(I,1) = -1: AIRWAY NO(I) IS A FUME-FILLED ONE. C RDPROP(I): FUME CONCENTRATION AT AIRWAY ENDING. C RDCH4(I): CH4 CONCENTRATION AT AIRWAY ENDING. C DPPA,DPPB: (1) DISTANCE, (2) TEMP. (3) FUME, (4) CH4, C (5) AIR MASS IN C.V. C RDCH4A = DPPA(IQ,JA,4)-CH4V(I) *(DPPA(IQ,JA,1)-LA(I))/ (LA(I)*QQ(I)) C C NSACB: BACKUP ARRAY OF NSAC. NSACB(I,2) INDICATES THE NUMBER C OF C.V. IN AIRWAY NO(I) IN THE LAST INTERVAL. C IF (JA.EQ.NSAC(I,2)) THEN SECT=LA(I) TLAST=TJS(I) RDF = DPPA(IQ ,JA,3)-PROP(ML) IF (NWTYP(I).EQ.10) RDF=0.0 SSL=DPPA(IQ,JA,1) ELSE SECT = LA(I)-DPPA(IQ,JA + 1,1) TLAST = TAUXA(IQ,JA) RDF=DPPA(IQ r TA,3)-DPPA(IQ,JA+l,3) SSL = DPPA(IQ,JA,1)-DPPA(IQ,JA + 1,1) ENDIF RDPROP(I) = DPPA(IQ,JA,3)-RDF*FL/SSL RDCH4(I) = RDCH4A C IF((TAUXB(IQ,JA).LT.DPPB(IQ,JA,2)AND.TAUXB(IQ,JA).GT. . TROCK(I)).OR.(TAUXB(IQ,JA).GT.DPPB(IQ,JA,2)AND. . TAUXB(IQ,JA).LT.TROCK(I))) THEN C FL1 = DPPB(IQ,JA,1)-DPPB(IQ,JA + 1,1) 122 FLL= (DPPA(IQ,JA,1)-LA(I))/(DPPA(IQ JA,1)-DPPA(IQJA + 1,1)) TLAST = DPPB(IQ,JA,2) + (TAUXB(IQ,JA)-DPPB(IQ,JA,2)) *FLL SECT = LA(I)-DPPB(IQ,JA,1) + FL1*FLL ENDIF FA = XNEW(I) *SECT/CP FAS =0.0 IF (FA.LT.25.0) FAS = EXP(-FA) VL=SECT/LA(I) TRD(I) = TROCK(I) + (TLAST-TROCK(I))*FAS- (DZRD(I)*VL/(2*778.26*CP))*(1.0+FAS) IF (CONCT.EQ.1) TRD(I) = TRDD(I) C C WHEN A C.V EXCEEDS AIRWAY ENDING, THE DATA RELATED TO THAT C.V. C ARE DISCARDED AND DATA RECORDING ARRAYS ARE CONDENSED. C JAA=JA + 1 DO 80 K=JAA,11 IF (K.EQJAA) TAUXC(IQ) = TAUXA(IQ,K-1) IF (KXE.10) THEN KA=K-JAA + 1 TAUXA(IQ,KA) = TAUXA(IQ,K) DO 60 L= 1,5 DPPA(IQ,KA,L) = DPPA(IQ,K,L) 60 CONTINUE ELSE TAUXA(IQ,10) = 0.0 DO 70 L= 1,5 DPPA(IQ,10,L)=0.0 70 CONTINUE ENDIF 80 CONTINUE NSAC(I,2) = NSAC(I,2)-JA C C C C RETURN END SUBROUTINE PARAM C C SUBROUTINE PURPOSES: C 1) EVALUATION OF MEAN AND MEAN-SQUARE TEMP. IN AIRWAYS. C 2) CALCULATION OF VARIED AIRFLOW RESISTANCE AND THE PRODUCT C OF MEAN TEMP. AND ELEVATION VARIATION OF EACH AIRWAY FOR C ASSESSING NVP. C $INCLUDE:'CMMN.DAT' C CP=0.24 DO30I = l,NB IF (NWTYP(I).EQ.10) THEN 123 TMRD(I)=TRD(I) FRNVP(I) = (TMRD(I) +460.0) *DZRD(I) FFRNVP(I) = DZRD(I)/(TMRD(I) + 460.0) R(I) = RSTD(I)*(TMRD(I) + 460.0)**2/(TR + 460.0)**2 ENDIF IF (IBTN(I).EQ.O) GO TO 30 IF (NSAC(I,2).EQ.O) THEN C Fl = ABS(TJS(I)-TROCK(I)) F2=ABS(TRD(I)-TROCK(I)) FF=MAX(F1,F2) IF (FFLT.0.1) THEN TMRD(I)=TJS(I) TMSQR= (TJS(I) +460.0)**2 ELSE TTROCK=TROCK(I) IF (ABS(TJS(I)-TTROCK).LT.0.01) TTROCK=TJS(I)-5.0 TT = (TRD(I)-TTROCK)/(TJS(I)-TTROCK) IF (TT.LT.0.01) THEN TTROCK= MIN(TJS(I),TRD(I))-5.0 TT = (TRD(I)-TTROCK)/(TJS(I)-TTROCK) ENDIF IF (ABS(TT-1.0).LT.l.E-3) THEN TMRD(I)=TJS(I) TMSQR= (TJS(I) +460.0)**2 ELSE C=TJS(I)-TTROCK B = ALOG(1.0/TT)/LA(I) C C TMRD(I): MEAN AIR TEMP. IN AIRWAY NO(I). C TMSQR: MEAN-SQUARE TEMP. IN THE SAME AIRWAY. C TMRD(I) = C*(1.0-TT)/(B*LA(I)) +TTROCK TMSQR = (C**2)*(1.0-TT**2)/(2*B*LA(I))+2.0*(TTROCK+ 460.)*C*(1.0-TT)/(B*LA(I)) + (TTROCK+460.0)**2 ENDIF ENDIF ELSE C NZ=NSAC(I,2) IQ=IBTN(I) TMRD(I)=0.0 TMSQR =0.0 DO10J=l,NZ+l IF (J.EQ.1) THEN D1=0.0 D2= LA(I)-DPPA(IQ,J,1) C1=TAUXC(IQ) C2=TRD(I) ELSE D1=0.0 D2=DPPA(IQ,J-1,1)-DPPA(IQ,J,1) Cl=TAUXA(IQ r F-l) C2=DPPA(IQ,J-1,2) 124 ENDIF IF (D2.LT.1.E-5) D2=0.01 Fl = ABS(Cl-TROCK(I)) F2=ABS(C2-TROCK(I)) FF=MAX(F1,F2) IF (FF.LT.0.1) THEN TMRD(I) = TMRD(I) + C1*D2 TMSQR = TMSQR + D2*(C1 + 460.0)**2 ELSE TTROCK= TROCK(I) IF (ABS(C1-TTROCK).LT.0.01) TTROCK=C1-5.0 TT= (C2-TTROCK)/(Cl-TTROCK) IF (TT.LT.0.01) THEN TTROCK= MIN(Cl,C2)-5.0 TT = (C2-TTROCK)/(Cl-TTROCK) ENDIF IF (ABS(TT-1.0).LT.l.E-3) THEN TMRD(I) = TMRD(I) + C1*D2 TMSQR = TMSQR + D2*(C1 + 460.0)**2 ELSE C = Cl-TTROCK B=ALOG(1.0/TT)/D2 TMRD(I) =TMRD(I) + C*(1.0-TT)/B + TTROCK*D2 TMSQR = TMSQR + (C**2)*(1.0-TT**2)/(2*B) + 2.0*(TTROCK + 460.0)*C*(1.0-TT)/B + D2*(TTROCK+460.0)**2 ENDIF ENDIF 10 CONTINUE TMRD(I) =TMRD(I)/LA(I) TMSQR = TMSQR/LA(I) ENDIF C C FRNVP(I): PRODUCT OF MEAN TEMP. AND ELEVATION VARIATION. C FRNVP(I) = (TMRD(I) + 460.0) *DZRD(I) FFRNVP(I) = DZRD(I)/(TMRD(I) + 460.0) C IF (NWTYP(I).NE.l) R(I) = RSTD(I)*TMSQR/(TR+ 460.0) **2 30 CONTINUE C RETURN END C C SUBROUTINE DISP (MARKX,ISQC,IBB) C C C C SUBROUTINE PURPOSES: C 1) DISCARDING THE TENTATIVELY OBTAINED DATA IN THE PREVIOUS C ITERATION TO AVOID UNNECESSARY RECORDS. C 2) RESTORATION OF INITIAL CONDITIONS EXCEPT FOR AIRFLOW RATES. C C 125 C $INCLUDE:'CMMN.DAT C C ABANDON THE DATA FOR AIRWAYS WHICH GOT THEIR DETAILED DATA RECORDS C IN THE PREVIOUS ITERATION. C DO40LRW=l,NB IF (IBTN(LRW).GT.0AND.NSACB(LRW,1).EQ.0) THEN ISQCX=IBTN(LRW) DO10IV=l,NB IF (IBTN(IV).GE.ISQCX) THEN IBTN(IV) = IBTN(IV)-1 ENDIF 10 CONTINUE DO 20 IV=ISQCX,ISQC TAUXC(IV) = TAUXC(IV + 1) DO20IU=l,10 TAUXA(I V,IU) = TAUXA(I V + 1,IU) DO20IW=l,5 DPPA(IV,IU,IW) = DPPA(IV + 1,IU,IW) 20 CONTINUE IBTN(LRW)=0 NSAC(LRW,1)=0 NSAC(LRW,2)=0 ISQC=ISQC-1 ENDIF 40 CONTINUE C C RESTORATION OF INITIAL CONDITIONS FOR THE PRESENT TIME INTERVAL C EXCEPT FOR AIRFLOW DISTRIBUTION. C DO60I = l,NB TJS(I)=TTJS(I) TRD(I)=TTRD(I) RDPROP(I)=RDOP(I) RDCH4(I)=RCH4(I) C C Q(I): AIRFLOW RATE IN AIRWAY NO(I) AT THE END OF THE PRESENT C INTERVAL. C QTP(I): INITIAL AIRFLOW RATE IN AIRWAY NO(I), CONSTANT WITHIN C EACH TIME INCREMENT. C QQ(I): TIME AVERAGED AIRFLOW RATE IN AIRWAY NO(I). C QQA=0.55*Q(I) +0.45*QTP(I) QQ(I) = 0.85*QQA + 0.15*QQ(I) IF (CONCT.EQ.1) QQ(I) = QQQ(I) NSAC(I,1) = NSACB(I,1) NSAC(I,2) = NSACB(I,2) IQ = IBTN(I) IF (IQ.GT.O) THEN TAUXC(IQ) = TAUXD(IQ) DO 50 J =1,10 TAUXA(IQ,J) = TAUXB(IQ,J) DO50JJ = l,5 126 DPPA(IQ,J JJ) = DPPB(IQ,J,JJ) 50 CONTINUE ENDIF 60 CONTINUE D0 65I=1,NJ T(I)=TAS(I) PROP(I)=PROPS(I) PRCH4(I) = PRCH4S(I) 65 CONTINUE DO70I=l,IMX HTAD(I)=0.0 70 CONTINUE IBB=0 C CALL ARR (MARKX) CALL BASE CALL MSLIST C C RETURN END SUBROUTINE EVHT (MARKX,MARKP,MARKL,MARKR,QSUM,QS) C C c C SUBROUTINE PURPOSES: C 1) DATA REARRANGEMENT FOR AIRWAYS IN WHICH AIRFLOW REVERSAL C HAPPENED IN THE PRESENT TIME INCREMENT. C 2) DATA STORAGE ARRAY CONDENSATION FOR ARRAYS WHOSE CAPACITIES C ARE SATURATED. C 3) UPDATING BACKUP ARRAYS TO SET UP THE INITIAL CONDITIONS FOR C THE NEXT TIME INCREMENT. C C c $INCLUDE:'CMMN.DAT' C CP=0.24 MARKP=1 TACC = TACC + DELTAT C CALL DTTR (MARKL,MARKP) IF (MARKL.NE.0) THEN CALL ARR (MARKX) CALL BASE CALL MSLIST ENDIF C C CONDENSATION OF ARRAY DPPA AS ITS CAPACITY IS SATURATED FOR AN C AIRWAY. IT IS DONE BY ABANDONING SOME OF THE MOST CLOSELY LOCATED C DATA POINTS. C DO90I = l,NB 127 IQ=IBTN(I) IF (IQ.NE.O) THEN NS=NSAC(I,2) IF (NS.GE.9) THEN D0 84JB=1,2 JG=NSAC(I,2) SS1=1.E5 JEE=1 DO70JD = l,JG-l SS2= DPPA(IQ,JD,1)-DPPA(IQ,JD + 1,1) IF (SS2.LT.SS1) THEN SS1=SS2 JEE=JD ENDIF 70 CONTINUE IF (JEE.EQ.1) THEN JE=2 ELSE SSI = DPPA(IQ,JEE-1,1)-DPPA(IQ,JEE,1) SS2 = DPPA(IQ,JEE + 1,1)-DPPA(IQ,JEE + 2,1) JE=JEE IF (SS1.GE.SS2) JE=JEE+1 ENDIF NSAC(I,2) = NSAC(I,2)-1 NX=NSAC(I,2) TAUXA(IQ,JE-1) = TAUXA(IQ,JE) DPPA(IQ JE-1,5) = DPPA(IQ,JE-1,5) + DPPA(IQ,JE,5) D0 82JC=JE,NX+1 IF (JC.LE.NX) THEN TAUXA(IQ JC) =TAUXA(IQ JC+ 1) DO80JD=l,5 DPPA(IQ,JC,JD) = DPPA(IQ,JC + 1,JD) 80 CONTINUE ELSE TAUXA(IQ,JC)=0.0 D0 81JD = 1,5 DPPA(IQ,JC,JD)=0.0 81 CONTINUE ENDIF 82 CONTINUE 84 CONTINUE ENDIF ENDIF 90 CONTINUE C C QSUM: SUM OF ABS. AIRFLOW VARIATION IN AIRWAYS, CRITERION FOR C OUTPUT DURING DYNAMIC SIMULATION. C DELTAQ(I): AIRFLOW VARIATION FOR AIRWAY NO(I) BETWEEN TWO C SUCCESSIVE OUTPUT. C MARKR=0: REGULAR OUTPUT WAS GIVEN IN THE LAST TIME INTERVAL. C DELTAQ(I) MUST BE INITIATED TO ZERO. C MARKR= 1: THE OUTPUT FOR THE PRESENT INTERVAL HAS BEEN OMITTED. C DELTAQ(I) HAS ITS CUMULATIVE EFFECT. C 128 QS = QSUM QSUM=0.0 DO110I=l,NB NSACB(I.l) = NSAC(I,1) NSACB(I,2) = NSAC(I,2) IF (MARKR.EQ.O) DELTAQ(I) = 0.0 DELTAQ(I) = DELTAQ(I) + Q(I)-QTP(I) QSUM = QSUM + ABS(DELTAQ(I)) IF (IBTN(I).NE.O) THEN IQ = IBTN(I) TAUXD(IQ) =TAUXC(IQ) DO 100 J = 1,10 TAUXB(IQ r T) =TAUXA(IQ r T) DO 100 K= 1,5 DPPB(IQ J,K) = DPPA(IQ r F,K) 100 CONTINUE ENDIF 110 CONTINUE QS=ABS(QS-QSUM) C RETURN END C C SUBROUTINE OUTPUT (IPT,MARKX,MARKY,ITT) C C c C SUBROUTINE PURPOSE: C OUTPUT OF NORMAL CALCULATION RESULTS. C C C $INCLUDE:'CMMN.DAT' C DIMENSION LST(NMX),TQR(NMX) C C IF (IPT.NE.1) THEN PP = 0.0 DO10L=l,NB IF (NWTYP(L).LE.0.OR.NWTYP(L).EQ.10) THEN P(L) = R(L)*Q(L)*ABS(Q(L))*1.E-10 ELSE P(L) = R(L) ENDIF PP = PP + P(L) 10 CONTINUE PCRIT = PP/FLOAT(NB) C C IF (ITT.GE.ITNAND.IPT.EQ.4) THEN DO 1520I = 1,NB TTMN = 0.0 129 DO 1500 J = 1,10 TTMN = TTMN + TMRCD(U) 1500 CONTINUE TTMN=TTMN/10.0 TQR(I)=0.0 DO 1510 J = 1,10 TQR(I) =TQR(I) + (TMRCD(I,J)-TTMN)**2 1510 CONTINUE 1520 CONTINUE IZ=0 LL=0 1530 11=0 DO1540I=l,NB IF (NO(I).GT.O) THEN IF (TQR(I).GT.TSR.OR.n.EQ.O) THEN TSR=TQR(I) n=i ENDIF ENDIF 1540 CONTINUE IF (II.EQ.0) GO TO 1590 IF (LL.GT.0) THEN KK=0 DO1550J=l,LL K=LST(J) IF (TQR(II).GTTQR(K)) KK=KK+1 1550 CONTINUE IF (KKGE.(LL-2)AND.TQR(II).GT.20.0) GO TO 1560 GO TO 1590 ENDIF 1560 LL=LL+1 LST(LL) = II NO(II) = -NO(n) JSS=JS(II) JFF=JF(II) 1570 DO1580I=l,NB IF (NO(I).GT.0) THEN IF((JS(I).EQJSS.ORJF(I).EQJSS.ORJS(I).EQJFF.OR. JF(I).EQJFF)AND.(TQR(I).GT.20.0))THEN LL=LL+1 LST(LL) = I NO(I) = -NO(I) IF (JS(I).EQJSS) THEN JSS=JF(I) ELSE IF (JF(I).EQ JSS) THEN JSS=JS(I) ELSE IF (JS(I).EQJFF) THEN JFF=JF(I) ELSE JFF=JS(I) ENDIF GO TO 1570 ENDIF ENDIF 130 1580 CONTINUE IZ=IZ+1 IF (IZ.LE.3) GO TO 1530 1590 CRT1=0.0 CRT2=0.0 CRT3=0.0 DO1630I=l,LL K=LST(I) NO(K)=IABS(NO(K)) CRT =0.0 DO 1600 J =103,-1 CRT=CRT + (TMRCD(K r F)-TMRCD(KJ-2))**2 1600 CONTINUE CRT1 = CRT1 + CRT/8.0 CRT =0.0 DO 1610 J =10,4,-1 CRT = CRT + (TMRCD(KJ)-TMRCD(K r T-3)) * *2 1610 CONTINUE CRT2 = CRT2 + CRT/7.0 CRT =0.0 DO 1620 J =10,5,-1 CRT = CRT + (TMRCD(KJ)-TMRCD(KJ)-TMRCD(KJ-4)) * *2 1620 CONTINUE CRT3 = CRT3 + CRT/6.0 1630 CONTINUE CRT1=CRT1/LL CRT2=CRT2/LL CRT3=CRT3/LL LSG = LL IF (MIN(CRT1,CRT2,CRT3)*10.0.LE.MAX(CRT1,CRT2,CRT3)) THEN ICYCLE=2 IF (CRT2.LT.0.95*CRT1) ICYCLE=3 IF (CRT3.LT.0.9*CRT1AND.CRT3.LT.CRT2) ICYCLE = 4 ELSE ICYCLE=0 ENDIF ENDIF ENDIF IF (IPT.EQ.4) THEN C C IF (IACGT.O) THEN WRITE (8,860) D0 76IR = 1,IAC n = IOMIT(I) WRITE (8,870) NO(II),JS(II),ROMIT(IR,l),ROMIT(IR,2), ROMIT(IR,3) 76 CONTINUE IAC=0 ENDIF ITL=ITT JTL=ITN WRITE (8,320) TACC IF (ITL.GE JTL) THEN 131 WRITE (8,690) SUMFNV/MNO KTL=0 D0 78I = 1,NB NREVA=NREV(I) NREVA=NNREV(I) IF (NREVA.GE.ITN/3) THEN IF (KTL.EQ.0) THEN WRITE (8,700) KTL=1 ENDIF IF (NWTYP(I).EQ.l) THEN PP=R(I) ELSE ' PP=R(I)*Q(I)*ABS(Q(I))*1.E-10 ENDIF WRITE (8,710) NO(I),Q(I),PP,NREVA,ITL ENDIF 78 CONTINUE IZ=ITN-9 IF (ICYCLE.EQ.0) THEN WRITE (8,890) (U,U=IZ,IZ+9) ELSE WRITE (8,900) ICYCLE,(U,U=IZ,IZ+9) ENDIF WRITE (8,905) (HRM(U),IJ=1,10) DO80I = l,LSG K=LST(I) IF (JSB(K).EQJS(K)) THEN JSS=JS(K) JFF=JF(K) ELSE JSS=JF(K) JFF=JS(K) ENDIF WRITE (8,910) NO(K),JSS,JFF,(TMRCD(K r F)J=l,10) WRITE (8,920) (QRCD(K,J)/1000.0,J=1,10) 80 CONTINUE ELSE IF (SUMFNV/MNO.LE.2.E-4) WRITE (8,770) SUMFNV/MNO,ITL IF (SUMFNV/MNO.GT.2.E-4) WRITE (8,780) SUMFNV/MNO,ITL ENDIF LINE=NCOMTl+l WRITE (8,750) D0 86I=1,NB 85 U=0 IF (LINE.LE.50) U=ITITLE(LINE) IF (I.EQ.U) THEN IF (LINE.EQ.1) 11=0 IF (LINE.NE.l) I1 = ITITLE(LINE-1) IF (LINE.EQ.50) 12=0 IF (LINE.NE.50) I2=ITITLE(LINE+1) IF (I2.NE.ITITLE(LINE)AND.I1.NEJTITLE(LINE)) THEN WRITE (8,930) (TITLE(LINE,J),J=1,18) ELSE IF (I2.EQ.ITITLE(LINE)AND.I1.EQ.ITITLE(LINE)) THEN 132 WRITE (8,960) (TITLE(LINE,J),J = 1,18) ELSE IF (I1.EQ.ITITLE(LINE)) THEN WRITE (8,940) (TITLE(LINEJ)J = 1,18) ELSE WRITE (8,950) (TITLE(LINEJ)J = 1,18) ENDIF LINE = LINE + 1 GO TO 85 ENDIF IF (CONCT.EQ.0) THEN WRITE (8,760) NO(I),IABS(JS(I)),IABS(JF(I)),DELTAQ(I),Q(I), TMRD(I),TRD(I),RDPROP(I),RDCH4(I),P(I) ELSE WRITE (8,765) NO(I),IABS(JS(I)),IABS(JF(I)),DELTAQ(I),Q(I), RDPROP(I),RDCH4(I),P(I) ENDIF 86 CONTINUE LI=0 D0 87I = 1,NB IF (NSAC(I,l).EQ.l) THEN LK=IBTN(I) LM = IF (DPPA(LK,2,3).GE.l.E-4) LM = 2 IF (DPPA(LK,l,3).GE.l.E-4) LM = 1 IF (LM.GT.O) THEN IF (LI.NE.1) THEN LI=1 WRITE (8,350) ENDIF IF (CONCT.EQ.0) THEN WRITE (8,360) NO(I),DPPA(LK,LM,l)JS(I), DPPA(LK,LM,2),DPPA(LK,LM,3),DPPA(LK,LM,4) ELSE WRITE (8,365) NO(I),DPPA(LK,LM,l),JS(I), DPPA(LK,LM,3),DPPA(LK,LM,4) ENDIF ENDIF ENDIF 87 CONTINUE IF (INFLOW.GT.0) THEN WRITE (8,820) D0 89L=l,INFLOW D0 88J = 1,NB IF (NCENT(L).EQ.NO(J)) THEN WRITE (8,830) NO(J),Q(J),TJS(J),RDPROP(J), 02BEH(L),HTAD(L) IF (TJS(J).GT.3200.0) WRITE (8,995) NO(J) GO TO 89 ENDIF 88 CONTINUE 89 CONTINUE ENDIF IF (IOUT.NE.0) THEN WRITE (8,650) 133 IF (CONCT.EQ.O) THEN WRITE (8,660) (JNO(I),T(I),PROP(I),PRCH4(I),I = l,NJ) ELSE WRITE (8,665) (JNO(I), PROP(I),PRCH4(I),I = 1,NJ) ENDIF ENDIF KTL=0 DO90I = l,NB NNRE VA = NNREV(I) IF ((NNREVA/2)*2.NE.NNREVA) THEN IF (KTL.EQ.0) THEN WRITE (8,470) KTL=1 ENDIF WRITE (8,480) NO(I),IABS(JS(I)),IABS(JF(I)) ENDIF 90 CONTINUE ELSE IF (IPT.EQ.5) THEN WRNSUM = WRNPR + WRNGS + WRNSM + WRNHT IF (WRNSUM.LE.0.) THEN WRITE (8,410) ELSE J=0 WRNP= WRNPR IF (PCRIT*0.05.LE.0.5*WRNPR) WRNP=PCRIT*0.05 D0 95I = 1,NB K=0 L=0 M=0 N=0 IF ((100.*RDCH4(I)).GE.WRNGS) K=K+1 IF ((100.*RDPROP(I)).GE.WRNSM) L=L+1 IF (TRD(I).GE.WRNHT) M=M+1 IF (P(I).LT.WRNP) N=N+1 IF ((K+L+M+N).GT.O) THEN IF (J.EQ.0) THEN WRITE (8,420) WRNGS,WRNSM,WRNHT,WRNP J=J + 1 ENDIF WRITE (8,430) NO(I),IABS(JS(I)),IABS(JF(I)),RDCH4(I), RDPROP(I),TRD(I),P(I) ENDIF 95 CONTINUE IF (J.LE.0) WRITE (8,440) J = KM=0 DO100I = l,NJ K=0 L=0 M=0 IF ((100.*PRCH4(I)).GE.WRNGS) K=K+1 IF ((100.*PROP(I)).GE.WRNSM) L=L+1 IF (T(I).GE.WRNHT) M = M + 1 IF ((K+L + M).GT.0) THEN 134 IF (J.EQ.O) THEN WRITE (8,450) WRNGS,WRNSM,WRNHT,WRNGS,WRNSM,WRNHT ENDIF J=J + 1 IF (2*(J/2).NEJ) THEN KM=I ELSE WRITE (8,460) JNO(KM),PRCH4(KM),PROP(KM),T(KM), JNO(I),PRCH4(I),PROP(I),T(I) KM = ENDIF ENDIF 100 CONTINUE IF (KM.GT.O) WRITE (8,460) JNO(KM),PRCH4(KM),PROP(KM),T(KM) IF (J.LE.0) WRITE (8,445) ENDIF ELSE IF (IPT.EQ.6) THEN IF (CONCT.EQ.1) GO TO 107 NRW=0 DO 105L=1,NB LL=IBTN(L) IF (LL.GT.0) THEN IF (NRW.EQ.0) THEN WRITE (8,570) NRW=1 ENDIF LL1=NSAC(L,2) IF (LL1.GT.0) THEN WRITE (8,580) NO(L),(DPPA(LL r rQ,l) r FS(L),DPPA(LL r FQ,2) ,TAUXA(LL^Q),(DPPA(LL r FQ r TP) r rP = 3,5), JQ = LL1,1,-1) ELSE WRITE (8,640) NO(L),TJS(L),TRD(L),RDPROP(L) ENDIF ENDIF 105 CONTINUE 107 CONTINUE ENDIF C RETURN C 110 FORMAT (///,22X,'NETWORK CALCULATION RESULTS ',/) 120 FORMAT (lX,'AIRWAY\2X,'FROM',4X,TO',3X,'TYPE',8X,'RESISTANCE', 7X,'AIRFLOW,6X,'HEADLOSS',/) 130 FORMAT (I5,I7,I6,I7,8X,E9.4,6X,F10.0,3X,F10.3) 140 FORMAT (///,lX,'NETWORK CONTAINS NO FANS') 150 FORMAT (///,T20,'FANS'//' AIRWAY FROM TO AIRFLOW FAN', ' PRESSURE',/) 160 FORMAT (I5,I7,I7,F13.0,F13.3) 170 FORMAT (/////,' THESE CHARACTERISTICS WERE STORED FOR FANS',515,/ T45.5I5) 175 FORMAT (//,5(' Q*1000 PF '),/) 180 FORMAT (5(F8.1,F6.2)/,5(F8.1,F6.2),/) 190 FORMAT (///,1X,'THE STATED NUMBER OF AIRWAYS WAS',I9,/,1X,THE ', 135 'STATED NUMBER OF JUNCTIONS WAS',17) 200 FORMAT (///,1X,'FAN CHARACTERISTICS ARE EXCEEDED FOR FAN NO.\I5) 240 FORMAT (///,1X,'A TEMPERATURE OF,F6.1,' WAS ASSIGNED TO ', 'JUNCTION NO.\I7) 250 FORMAT (/////,T18,THE FOLLOWING CONTAMINATION WAS ASSUMED',//, 12X,'FDCED INFLUX',T27,'02 CONCENTRATION',T44, 'PRODUCTION PER FT3 02',T67,'REF. Q',/,' AIRWAY FLUX %', 'CONC\3X,'HEAT,3X,'BEHIND FIRE',5X,'FUMES',5X,'HEAT',/) 260 FORMAT (I5,F8.1,F6.2,1X,E9.3,3X,F6.2,4X,F8.2,F10.1,I12) 270 FORMAT (///,DC,' NO CONTAMINATION WAS SPECIFIED') 320 FORMAT (///,20X,'TIME AT ',F6.0,' SEC. AFTER EVENT',//) 350 FORMAT (///,T21,'DATA FOR THE FUME FRONT IN AIRWAYS', ///,DC,'AIRWAY',Tll,'POSITION',T21,'FROM', T37,'TEMPERATURE',T51,'FUME',T61,'METHANE',/) 360 FORMAT (1X,I5,T11,0PF7.2,T19,I5,T38,0PF8.2,T49,2PF6.2,T61,2PF6.2) 365 FORMAT (1X,I5,T11,0PF7.2,T19,I5, T49,2PF6.2,T61,2PF6.2) 410 FORMAT (///,lX,'NO THRESHOLD FOR CRITICAL STATES ', 'WERE SPECIFIED.') 420 FORMAT (///,9X,'IN THE FOLLOWING AIRWAYS EXIST CRITICAL ', 'CONDITIONS',//,1X,'AIRWAY',T10,'FROM',T16,'TO',T22,'CH4 %' ,T33,'FUMES %',T45,'TEMPERATURE',T61,'HEADLOSS',/, T22,' > ',F5.3,T33,' > ',F6.3,T46,' > ',F5.0,' F,T59, '<',F6.3,' IN.WG.',/) 430 FORMAT (I5,I7,I5,T21,2PF6.2,T32,2PF8.3,T45,0PF8.1,T62,0PF6.3) 435 FORMAT (I5,I7,I5,T21,2PF6.2,T32,2PF8.3, T62,0PF6.3) 440 FORMAT (///,lX,'NO CRITICAL CONDITIONS AT AIRWAY ENDS ', 'WERE DETECTED') 445 FORMAT (///,lX,'NO CRITICAL CONDITIONS IN JUNCTIONS WERE ', 'DETECTED.') 450 FORMAT (///,10X,'IN THE FOLLOWING JUNCTIONS EXIST CRITICAL ', 'CONDITIONS',//,' JUNCTION',Tll,'CH4 %',T19,'FUMES %',T28 ,'TEMP. F,T40,'JUNCTION',T49,'CH4 %',T57,'FUMES %',T66, 'TEMP. F,/,T11,' > ',F5.2,T19,' > \F6.3,T29,' > ',F5.0,T49, ' > ',F5.2,T57,' > ',F6.3,T67,' > ',F5.0,/) 460 FORMAT (I6,T11,2PF5.2,T17,2PF8.2,T27,0PF7.1,T39,I6,T49,2PF5.2, T55,2PF8.2,T65,0PF7.1) 465 FORMAT (I6,T11,2PF5.2,T17,2PF8.2, T39,I6,T49,2PF5.2, T55,2PF8.2 ) 470 FORMAT (///,1X,'REVERSAL OF AIRFLOW HAS OCCURRED IN THE ', 'FOLLOWING PLACES',/) 480 FORMAT (DC,'AIRWAY',I6,' IS NOW CARRYING AIR FROM',16,' TO',I6) 490 FORMAT (/////,3X,'NO NETWORK CALCULATION HAS BEEN PERFORMED, ', 'THESE ARE THE INPUT DATA',//,' AIRWAY FROM',T15,'TO', T22,'AIRFLOW',T30,'TYPE',T37,'LENGTH',T47,'AREA\ T57,'R',T64,'K',T68,'PERI.',/) 500 FORMAT (I5,I6,T13,I4,T19,F10.0,T30,I3,T36,F7.1,T44,F7.1,T53,E8.3, T62,I4,F7.1) 570 FORMAT (///,23X,'DATA RECORD IN AIRWAYS',//,1X,'AIRWAY',T12, 'DIST.',T19,'FROM',T26,'FRONT T',T37,'REAR T', T47,'FUME',T57,'CH4',T63,'AIR M (LB)',/) 580 FORMAT (1X,I5,11(T8,0PF9.2,T17,I5,T24,0PF9.2,T34,0PF9.2,T44, 2PF7.2,T53,2PF7.2,T61,0PF9.2,/)) 640 FORMAT (lX,I5,T9,'NO C.V. T(BGG) = ',0PF7.1,', T(END) = ',0PF7.1,', FUME=',2PF5.2,'%.',/) 136 650 FORMAT (///,19X,TARAMETERS OF AIR IN JUNCTIONS',//,lX,'JUNCTION' ,T13,TEMP.',T20,'FUMES',T27,'METHANE , ,T42,'JUNCTION',T53, TEMP.',T60,'FTJMES',T67,'METHANE',/) 660 FORMAT (I6,T9,0PF9.2,T18,2PF7.2,T26,2PF7.2,T41,I6,T49,0PF9.2,T58, 2PF7.2,T66,2PF7.2) 665 FORMAT (16, T18,2PF7.2,T26,2PF7.2,T41,I6, T58, 2PF7.2,T66,2PF7.2) 690 FORMAT (///,1X,THE CALCULATION WAS NOT COMPLETED SINCE THE ', 'NUMBER OF EXCHANGES BETWEEN,/,' NETWORK AND TEMPERATURE' ,' PARTS OF THE PROGRAM BECAME EXCESSIVE.',/,' THRESHOLD', ' IN NVP IS 0.0002 IN.W.G. PER MESH. THE NVP CORRECTION ', 'PER'/,' MESH NOW EQUALS ',F7.5,' IN.W.G.') 700 FORMAT (///,1X,'THE FOLLOWING UNSTABLE AIRWAYS MAY HAVE'.IX, 'CAUSED THE INCOMPLETION',/,' OF NETWORK BALANCING:',/) 710 FORMAT (1X,'AIRWAY',I5,' OF AIRFLOW RATE',F7.0,' (CFM) AND ', 'HEADLOSS',F7.3,' IN.W.G.',/,' HAD ITS AIRFLOW DIRECTION ,' REVERSED',13,' TIMES IN',I3,' ITERATIONS') 750 FORMAT (///,T8,'TEMP. AND CONCENTRA. AT AIRWAY ENDS, HEADLOSS IN' ,' AIRWAYS',//,' AIRWAY',T9,'FROM',T15,TO',T19,'DELTA Q', T29,'AIRFLOW',T38,'AVE. T',T45,T AT END',T54,'FUMES',T61, 'CH4',T65,'HEADLOSS',/) 760 FORMAT (I5,I6,I5,T17,0PF8.0,T27,0PF9.0,T37,0PF7.2,T45,0PF7.2,T52, 2PF6.2,T58,2PF6.2,T66,0PF6.3) 765 FORMAT (I5,I6,I5,T17,0PF8.0,T27,0PF9.0, T52, 2PF6.2,T58,2PF6.2,T66,0PF6.3) 770 FORMAT (/////,' THRESHOLD IN ACCURACY (SUM OF NVP CORRECTIONS ', 'PER MESH < 2.E-4 IN.W.G.)',/,' SATISFIED. CURRENT ', 'SUMFNV PER MESH',F9.6,' IN.W.G., ITERATIONS ',15) 780 FORMAT (/////,LX,THRESHOLD IN ACCURACY (SUM OF NVP',1X, 'CORRECTIONS PER MESH<2.E-4 IN. W.G.)',/,' NOT ', 'SATISFIED. CURRENT SUMFNV: ',F9.6,' IN.W.G., ITER.',I5) 800 FORMAT (/////,12X,'DATA FOR CONCENTRATION AND TEMPERATURE', ' CALCULATION,//,lX,'AIRWAY FROM',T16,TO\T21, 'ELEV. DIFF.',T34,'ROCK T',T43,'CH4 PROD.'.TH'COND.', T61/DIFFUSIVITY',/) 810 FORMAT (I5,I7,I5,T21,F9.2,T33,F7.2,T43,F7.1,T52,F7.2,T61,F8.3) 820 FORMAT (///,23X,'DATA FOR FIRE SOURCES',//,lX,'AIRWAY',Tll, 'AIRFLOW',T21,TEMPERATURE',T37,'FUME',T51,'02 LEFT',T61, 'HEAT INPUT',/) 830 FORMAT (I5,T8,0PF10.0,T22,0PF8.2,T35,2PF6.2,T50,0PF7.2,T62,E8.3) 840 FORMAT (/, IX,' AIRFLOW REVERSED IN FAN BRANCH NO. ',15) 860 FORMAT (//,1X,'THE FOLLOWING DATA RECORDS WERE OMITTED DUE TO ', 'ARRAY CAPACrnES.',//,Tl,'AIRWAY',T15,'PARAMETERS AT ', 'STARTING JUNCTIONS IN THE CURRENT TIME INTER VAL\//,T22, 'JS',T31,'TEMPERATURE',T46,'FUME %',T61,'CH4 %',/) 870 FORMAT (1X,I5,T19,I5,T31,F8.1,T44,F7.3,T59,F7.3) 890 FORMAT (///,1X,'THE FAILURE IN CONVERGING WAS NOT CAUSED BY A', ' CYCLIC PATTERN. DATA OF,/,' SIGNIFICANT CONDITION ', 'CHANGE DURING LAST 10 ITERATIONS FOLLOW. FURTHER',/, ' ANALYSES ARE NEEDED. (TTR" STANDS FOR ITERATION)',//, ' UNITS: Q: AIRFLOW RATE IN 1000FT3/MIN;',17X,T: TEMP. ', 'IN F;',/,8X,'H: NVP CORRECTION PER MESH IN IN.W.G.',//, ' ITR' T5 15 917 f) 900 FORMAT (///,1X,THE FAILURE IN CONVERGING WAS CAUSED BY A CYCLIC, 137 ' PATTERN IN EVERY',13,/,' ITERATIONS AS SHOWN BELOW:', » (TTR" STANDS FOR ITERATION)',//,' UNITS: Q: AIRFLOW ', 'RATE IN 1000FT3/MIN;',17X,T: TEMP. IN F;',/,8X,'H: NVP ', 'CORRECTION PER MESH IN IN.W.G.',//,' ITR',T5,I5,9I7,/) 905 FORMAT (1X,'H',T3,10(1X,F6.4),/) 910 FORMAT (1X/AIRWAY: \I4,10X,'JS:',I4,6X,'JF:',I4,/,1X, T',T3,10F7.1) 920 FORMAT (1X,'Q',T3,10F7.1,/) 930 FORMAT (/,18A4,/) 940 FORMAT (18A4,/) 950 FORMAT (/,18A4) 960 FORMAT (18A4) 970 FORMAT (/////,20X,TIME AT ',F5.1,' HOUR(S) AFTER EVENT',//) 980 FORMAT (///,T2,'JUNCTION',T12,TEMP.',T20,'ELEVATION',T32,'CH4', T40,'JUNCTION',T50,'TEMP.',T58,'ELEVATION',T70,'CH4',/) 990 FORMAT (T2,I5,T10,F7.1,T19,F8.1,T30,F5.2,T40,I5,T48,F7.1,T57,F8.1 ,T68,F5.2) 995 FORMAT (/,'* WARNING * AIR TEMP. IN FIRE',15,' IS EXCEPTIONALLY', ' HIGH FOR MINE FIRE.',/,' THE POSSIBLE CAUSES ARE:',/, ' 1. "QCENT" WAS NOT SPECIFIED;',/,' 2. "QCENT" DOES NOT', ' MATCH "HEAT";',/,' 3. "HTP02" WAS TOO LARGE.') C END C C SUBROUTINE READIN (DAL,MAX,ISTOP,ICT) C C c C SUBROUTINE PURPOSE: C DATA INPUT. C C c $INCLUDE:'CMMN.DAT' CHARACTER*1 CHK(15),ER(80) DIMENSION DAL(15) DATA CHK/'0','1','2','3','4','5','6','7','8','9','.',',',' + ', y y y y j c c KK=0 KK1=0 KK2=0 NEG=0 ISTOP = DO 5 1 = 1,15 DAL(I)=0.0 CONTINUE DO 7 1=1,80 ER(I) = " CONTINUE READ (9,110) (ROW(I),I = 1,80) LLINE = LLINE + 1 138 IDEC=0 MLEV=1 JJ=0 1=15 LEV=0 10 LEV = LEV +1 h=i if (lev.gt.80) go to 50 DO 20 1=1,15 IF (ROW(LEV).EQ.CHK(I)) THEN IF(I.NE.15)KK=1 GO TO 30 ENDIF 20 CONTINUE KK2=KK2+1 IF ((KK.EQ.0AND.ROW(LEV).NE.'$').OR.KK2.GE.4) THEN ISTOP=0 NCOMTS = NCOMTS + 1 IF (NCOMTS.LE50) THEN IF (ICT.EQ.1) THEN KK3 = KK4=0 DO 21 1 = 1,80 IF (ROW(I).NE.CHK(15)) GO TO 22 KK3=KK3+1 21 CONTINUE 22 DO 23 1=80,1,-1 IF (ROW(I).NE.CHK(15)) GO TO 24 KK4=KK4+1 23 CONTINUE 24 LR = (KK3 + KK4-8)/2 IF (LR.LT.0) LR=0 KK5=80-KK4 IF (LR.EQ.0) KK5 = KK3 + 72 D0 25I=KK3+1,KK5 ER(I-KK3 + LR) = ROW(I) 25 CONTINUE DO 26 1=1,80 IF (I.LE.LR) THEN ROW(I) = ' ' ELSE ROW(I) = ER(I) ENDIF 26 CONTINUE ENDIF DO 27 1 = 1,20 J=(M)*4+1 TITLE(NCOMTS,I) = ROW(J)//ROW(J + l)//ROW(J + 2)//ROW(J + 3) 27 CONTINUE ENDIF RETURN ELSE IF (KK.EQ.0AND.ROW(LEV).EQ.'$') THEN KK1 = 1 GO TO 50 139 ELSE IF (KK1.NE.1) THEN ER(LEV) = ROW(LEV) ISTOP=l 1=1 ENDIF 30 IF (I.GT.10) GO TO 40 IF (JJ.EQ.1) MLEV=MLEV+1 JJ=0 IF (IDECEQ.O) THEN DAL(MLEV) = (DAL(MLEV)*10.0) + ((I-l)*1.0) ELSE IF (IDEC.GT.0) THEN DAL(MLEV)=DAL(MLEV) + ((I-1)*1.0)/(10.0**IDEC) ENDIF IF (IDEC.NE.0) IDEC=IDEC+1 GO TO 10 40 IF(I.EQ.11)IDEC=1 IF(I.EQ.14)NEG = 1 IF (I.EQ.12.0R.I.EQ.15) THEN IF (NEG.EQ.1) DAL(MLEV)=0.0-DAL(MLEV) NEG=0 IDEC=0 ENDIF IF (JJ.EQ.1AND.(I.EQ.11.0R.I.EQ.13.0R.I.EQ.14)) THEN MLEV=MLEV+1 JJ=0 ENDIF IF (I.EQ.12) THEN MLEV=MLEV+1 JJ=0 ENDIF IF (I.EQ.15AND.II.EQ.12) JJ=5 IF (I.EQ.15AND.II.NE.15AND.II.NE.12ANDJJ.EQ.0) JJ=1 IF (I.EQ.12) DAL(MLEV)=0.0 IF (MLEV.LE.MAX) GO TO 10 50 IF (ISTOP.GT.0) WRITE (8,100) (ROW(I),I = 1,80),(ER(I),I = 1,80) IF (KK.EQ.0.OR.KK1.EQ.1) DAL(15) = -1.E25 RETURN C 100 FORMAT (/,' * ERROR * ILLEGAL CHARACTER DETECTED IN ', THE LINE WHERE NUMERICAL INPUT',/,' WAS EXPECTED. ', 'TWO LINES FOLLOW: 1 ORIGINAL; 2 ILLEGAL CHARACTERS.', //,80A1,/,80A1,/) 110 FORMAT (80A1) C END INCLUDE FILE PARAMETER . ( NMX=500, NMY=350, NMZ=50, IMX=10, IMY=10, IMZ=10, LMX= 10000 ) REAL LA COMMON /CONTRL/ NB,NJ,NFNUM,NVPN,NETW,NTEMP,MADJ,ITN,DR,TR,TINC, 140 SPAN,IOUT,TOUT,CONCT COMMON /CTRL/ NAV,MAXJ,INFLOW,CRrrSM,CRrrGS,CRITHT COMMON /NTWK/ NO(NMXyS(NMX)JF(NMX),NWTYP(NMX),R(NMX),Q(NMX), P(NMX),KF(NMX),LA(NMX)A(NMX),0(NMX),RSTD(NMX), DZRD(NMX),FRNVP(NMX),NREV(NMX),RDCH4(NMX), RDPROP(NMX),TRD(^^ViX),TJS(NMX),RDOP(NMX),RCH4(NMX), FFRNVP(NMX),RA(NMX),NNREV(NMX) COMMON /FAN/ NOF(IMX),NFREG(IMX),RGRAD(IMX),NFCW(IMX), MPTS(IMX),QF(IMX,IMY),PF(IMX,IMY),NSKP(IMX),NEGQ(DVfX) r rSB(NMX) COMMON /FC/ FC(IMY,IMY),DK(IMY),FK(IMY),FKQ(IMX,IMY,4) COMMON /MESH/ MNO,MEND(NMY),MSL(LMX),FNVP(NMY),RQ(NMX),INU(NMX), KNO(NMX),KJS(NMX),KJF(NMX) COMMON /JUNCT/ JNO(NMY),T(NMY),Z(NMY),CH4C(NMY) r rNOL(NMY), PROP(NMY),PRCH4(NMY)JLR(NMY) COMMON /TEMP/ TROCK(NMX),TMRD(NMX),HA(NMX),HK(NMX) COMMON /FUME/ NCENT(NMX),CH4V(NMX),CH4PA(NMX),CONT(IMX), CONC(IMX),HEAT(IMX),02MIN(IMX),SMP02(IMX),HTP02(IMX), TFSI(IMX),02BEH(IMX),TPR(IMX),HTAD(IMX),QCENT(IMX) COMMON /SCHEME/ NGIN(NMX),MMIN(NMX) ) NGOUT(NMX) ) LOUT(NMX) COMMON /EST/ MEMREC(NMX),NOREC(NMX),ESTPR(NMX),ESTCH4(NMX), ESTTR(NMX) COMMON /FACTOR/ XNEW(NMX),DCOAGE(NMX) COMMON /TTJ/ TIME,TSTART r FSTART,TLEFT(NMX) COMMON /SUM/ SUMQ(NMY),SUMC(NMY),SUMM(NMY),SMHEAT(NMY) CHARACTERS TITLE CHARACTER*1 ROW COMMON /AUX/ PROPS(NMX),PRCH4S(NMX) ) QQ(NMX),QTP(NMX),TTJS(NMX), TTRD(NMX),TAS(NMX),BI(NMX) COMMON /WRN/ WRNPR,WRNGS,WRNSM,WRNHT,IOMIT(IMX),ROMIT(IMX,3),IAC COMMON /TRANS/ DELTAT,TACC,SUMFNV COMMON /RCD/ IBTN(NMX),DPPA(NMZ,10^),NSAC(NMX,2),TMRDA(NMX), DELTAQ(NMX),DPPB(NMZ,10,5),NSACB(NMX,2),GBTN(10,5), JCH(NMY),TAUXA(NMZ,10),TAUXB(NMZ,10),TAUXC(NMZ), TAUXD(NMZ),FMASS(NMZ) COMMON /CCJ/ JDP,JDPP(IMX) COMMON /TREND/ QRCD(NMX,10),TMRCD(NMX,10),HRM(IMX) COMMON /CHRC/ ITITLE(50),NCOMT1,NCOMTS,NCOMT2,LLINE COMMON /ERMSG/ ROW(80)/nTLE(50,20) COMMON /ATJUNT/ JAN r JAJ r FAl(10),JATP(10) r FSTAR(10),TSTAR(10), MSTAR(10),ISTAR(10) COMMON /CONCN/ TTT(NMY),TJSS(NMX),TRDD(NMX),QQQ(NMX) 141 APPENDIX B.-EXAMPLE OF MFIRE DATA FILE AND OUTPUT Data file $ $ $ $ $ *** INPUT FORMAT INSTRUCTION FILE FOR PROGRAM MFIRE *** $ $ $ $ GENERAL RULES FOR DATA INPUT: $ $ $ $ * THERE IS NO NEED TO DISTINGUISH INTERGER AND REAL NUMBERS. $ $ SYMBOLS FOR NUMERICAL INPUT INCLUDE THE FOLLOWING: $ $ 1234567890.,- + BLANK $ $ * FREE FORMAT IS ALLOWED. COMMA AND BLANK SPACE CAN BOTH BE $ $ DELIMITERS. SEQUENTIALLY DISTRIBUTED BLANK SPACES ACT AS ONE $ $ DELIMITER. BLANKS ADJACENT TO A COMMA HAVE NO DELIMITING EFFECT. $ $ * A ZERO INPUT CAN BE OMITTED BUT NOT THE DELIMITERS EXCEPT WHEN $ $ THE ZERO INPUTS ARE THE LAST ONES ON A LINE. $ $ * A LINE WHOSE FIRST NON-BLANK SYMBOL IS "$" IS AN INSTRUCTION $ $ LINE WHICH WILL BE IGNORED IN A PROGRAM RUN. $ $ * A LINE WHOSE FIRST NON-BLANK SYMBOL IS NEITHER ONE USED IN THE $ $ ABOVE LIST FOR NUMERICAL INPUT NOR "$", OR WHICH CONTAINS MORE $ $ THAN 3 SYMBOLS OUTSIDE OF THE LIST, IS A COMMENT LINE WHICH WILL $ $ BE SHOWN IN THE OUTPUT FILE. $ $ $ $ $ $ COMMENTS (OPTIONAL) $ $ $ $ YOU MAY PUT NOTES HERE TO REMIND YOU IN THE FUTURE. THEY WILL BE $ $ SHOWN IN THE OUTPUT FILE. THE NUMBER OF TOTAL ACTIVE COMMENT LINES $ $ IS 50. THE ACTIVE WIDTH OF A LINE IS 72 COLUMNS. $ $ INPUT YOUR COMMENTS HERE $ This file describes a multilevel mine with mutiple atmospheric junctions at different levels. Several options are exercised in this example. A fire of 50,000 BTU/min heat output is simulated in airway number 4. $ $ $ (2) CONTROL LINE I: $ $ NB,NFNUM,INFLOW,NVPN,NETW,TR,MADJ,ITN,NTEMP,TINC,SPAN,IOUT,TOUT,CONTC $ $ $ $ NB: NUMBER OF AIRWAYS IN NETWORK, MAXIMUM =500 $ $ NFNUM: NUMBER OF FAN CHARACTERISTICS, MAXIMUM = 10 $ $ INFLOW: NUMBER OF CONTAMINATION SOURCES, MAXIMUM = 10 $ $ NVPN: MARKER FOR PRESENCE OF JUNCTION CARDS, = PRESENT $ $ NETW: MARKER, 1 = TERMINATE AFTER NETWORK BALANCING $ $ TR: REFERENCE TEMPERATURE OF AIR, DEGREES F. DEFAULT VALUE =75 $ $ MADJ: MAX. NO. OF ITERATIONS IN TEMPERATURE PART. DEFAULT =10 $ $ ITN: MAX. NO. OF ITERATIONS IN DYNAMIC PART, DEFAULT = 10 $ $ NTEMP: MARKER, 1= TERMINATE AFTER STEADY STATE SIMULATION $ $ TINC: TIME INCREMENT IN DYNAMIC SIMULATION PART, SEC. $ $ SPAN: TIME SPAN OF DYNAMIC SIMULATION, MIN. $ $ IOUT: OUTPUT, 0: BRIEF; 1: NORMAL; -1: DETAIL; -2; MORE DETAILED $ $ TOUT: TIME INTERVAL FOR OUTPUT, IN MIN. $ $ CONCT: MARKER, 1= TRANSIENT SIMULATION FOR CONCENTRATION ONLY $ 142 $ 0= TRANSIENT SIMULATION $ $ *** INPUT DATA FOR CONTROL LINE I HERE *** $ $-NB,NFNlJM,INFLOW,NVPN,NETW,TR,M^ $ 49 1 1 75.0 60 60.0 2 -2 $ $ $ $ $ $ $ $ $ $ $ $ $ $ NB: $ JS: $ JF: $ NWTYP: $ R: $ Q: $ KF: $ LA: $ A: $ O: $ HA: $ HK: $ CH4V: $ CH4PA: $ TROCK: $ $ $ AIRWAY LINES NB r FSJF,NWTYP,R,Q,KF,LAAO,HAHK,CH4V,CH4PATROCK * IF NB IS 2 OR LARGER, THE NUMBER OF AIRWAY LINES MUST BE NB. IF NB IS 1 OR LESS, THE LAST AIRWAY LINE MUST BE 9999. * KF,LAAO,HA,HK HAVE THEIR AVERAGE OR DEFAULT VALUES WHICH ARE ACTIVATED BY INPUTING ZERO FOR THE RESPECTIVE TERMS. * TROCK DOES NOT NEED TO INPUT EXCEPT TO OVERRIDE THE PROGRAM CALCULATED VALUE. * COMMENT LINES ARE ACTIVE IN THIS DATA PARAGRAGH. AIRWAY ID NUMBER (1 TO 9980). JUNCTION ID NUMBER OF AIRWAY BEGINNING (1 TO 999) JUNCTION ID NUMBER OF AIRWAY END (1 TO 999) AIRWAY TYPE, 1=FAN; 0= ORDINARY; -1=FDCED-Q RESISTANCE OF AIRWAY l'E-10 IN. W.G./(CFM)*2 AIRFLOW RATE IN CFM FRICTION FACTOR IN 1*E-10 LBM*MIN2/FT~4 AIRWAY LENGTH IN FT AIRWAY CROSS SECTIONAL AREA IN FT2 AIRWAY PERIMETER IN FT THERMAL DIFFUSrVITY OF ROCK, FT2/HR THERMAL CONDUCTIVrrY OF ROCK, BTU/HR*FT*F METHANE EMISION RATE IN AIRWAYS FTO/MIN METHANE EMISION RATE PER UNIT SURFACE AREA FT/MIN AVERAGE ROCK TEMPERATURE IN AIRWAY DEGREES F 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 5 5 8 6 6 7 30 8 7 31 9 10 11 12 13 14 14 28 11 13 *** INPUT DATA FOR AIRWAY CARDS HERE •*< NB,JS r FF,NWTYP,R,Q,KF,LAAO,HAHK,CH4V,CH4PATROCK 32 6 30 8 7 31 9 10 12 14 28 9 10 11 12 13 29 15 16 19 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 9240 42000 3600 5430 5660 4000 3600 1740 1660 4000 6800 3200 1460 1960 400 2800 1000 6800 500 2200 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 430 1000 650 200 50 50 110 110 110 110 200 325 200 300 50 80 350 150 150 150 50.0 55.5 40.0 50.0 60.0 60.0 45.0 15.0 25.0 90.0 45.0 45.0 40.0 60.0 55.0 35.0 35.0 80.0 15.0 45.0 30.0, „„60 30.0, „„60 30.0, „„60 30.0, ,,,,60 30.0, „„60 30.0, „„60 25.0, ,,,,60 20.0, „„60 18.0, ,,,,60 35.0, ,,,,60 30.0, ,,,,60 100.0, „„60 30.0, „„60 30.0, ,,,,60 30.0, „„60 22.0, ,,,,60 30.0, ,,,,60 50 0, ,,,,60 20 0, ,i.i60 26.0, ,,,,60 143 21 29 20 0.0 1000 100 150 5.0 20.0,,, „60 22 16 15 0.0 1000 100 585 55.0 30.0„, „60 23 16 17 0.0 1700 100 55 28.0 20.0,„ „60 24 18 17 0.0 750 100 90 35.0 25.0„, „60 25 19 18 0.0 100 385 30.0 25.0,,, „60 26 19 20 0.0 900 100 650 40.0 24.0,,, „60 27 15 17 22 23 0.0 0.0 5600 900 100 100 210 260 45.0 36.0 26.0,,, „60 28 32.0,,, „60 29 18 24 0.0 750 100 260 28.0 20.0,,, „60 30 19 26 0.0 1000 100 260 7.0 20.0,,, „60 31 20 26 0.0 1680 100 500 14.0 20.0,,, „60 32 21 27 0.0 3120 100 255 30.0 22.0,,, „60 33 22 21 0.0 4200 100 100 30.0 20.0,,, „60 34 23 22 0.0 1400 100 585 30.0 20.0,,, „60 35 23 24 0.0 2300 100 190 40.0 35.0,,, „60 36 24 25 0.0 3000 100 95 40.0 30.0,,, ,,60 37 25 26 0.0 1000 100 220 45.0 26.0,,, „60 38 26 2 0.0 3000 100 450 35.0 25.0,,, ,,60 39 21 1 0.0 1100 100 150 5.0 20.0,,, ,,60 40 25 1 0.0 1750 100 150 8.0 20.0,,, „60 41 33 27 0.0 100000 100 95 10000.0 400.0 42 27 34 0.0 100000 100 4 10000.0 400.0 43 34 3 0.0 100000 100 151 10000.0 400.0 44 4 3 0.0 100000 100 156 10000.0 400.0 45 3 5 1 5.0 1500 100 155 65.0 32.0,„„60 46 32 4 500.0 9500 100 10 30.0 25.0,„„60 47 23 1 0.0 500 100 150 5.0 20.0,„„60 48 1 33 0.0 10000 100 800 10000.0 400.0 49 $ 2 34 5.0 3000 100 600 10000.0 400.0 $ $ JUNCTION LINES SECTION 1 $ $ $ $ * JNO,T,Z,CH4C $ $ $ IF NVPN IS OR LESS, EACH JUNCTION SPECIFIED BY JS AND JF MUST $ HAVE A ONE LINE INPUT HERE. OTHERWISE JUNCTION LINES MUST BE $ $ OMITTED. $ $ $ $ JNO: JUNCTION ID NUMBER (1 TO 999) $ $ T: TEMPERATURE OF AIR IN JUNCTIONS DEGREES F $ $ Z: ELEVATION OF JUNCTIONS FT $ $ $ $ CH4C: METHANE CONCENTRATION IN JUNCTIONS PCT $ $ $ **, PLACE JUNCTION LINES HERE *** $ T,Z,CH4C $ 1 95.0 7690 2 60.0 7591 3 95.0 7440 4 95.0 7284 5 53.0 7286 6 55.0 7289 7 55.0 7289 8 58.0 7289 9 60.0 7365 10 60.0 7365 144 11 60.0 7365 12 60.0 7365 13 60.0 7365 14 60.0 7365 15 60.0 7470 16 60.0 7470 17 60.0 7470 18 60.0 7470 19 60.0 7470 20 60.0 7470 21 60.0 7595 22 60.0 7595 23 60.0 7595 24 60.0 7594 25 60.0 7593 26 60.0 7593 27 95.0 7595 28 60.0 7365 29 60.0 7365 30 60.0 7290 31 57.0 7289 32 47.0 7284 33 95.0 7690 34 95.0 7591 $ $ $ JUNCTION LINES SECTION 2 (JUNCTIONS IN THE ATMOSPHERE) $ $ IF THERE IS MORE THAN ONE JUNCTION IN THE ATMOSPHERE, THIS $ $ SECTION IS EMPLOYED. $ $ $ $ JAN : THE NUMBER OF THE JUNCTIONS IN THE ATMOSPHERE $ $ JA: JUNCTION ID NUMBER $ $ JATP: JUNCTION TYPE: $ $ = STARTING JUNCTION $ $ 1 = OTHER ATMOSPHERE JUNCTIONS EXCEPT STARTING JUNCTION $ $ $ $ *** INPUT DATA FOR JUNCTION LINES SECTION 2 HERE *** $ $ JAN $ JA.JATP $ 1 1 3 4 1 27 1 33 1 34 1 $ FAN LINES 1 AND 2 COMPRISE A DATA GROUP WHICH MUST REPEAT NFNUM $ $ TIMES FOR NFNUM FAN CURVES. IF NFNUM IS OR LESS, FAN LINES 1 AND $ 2 MUST BE OMITTED. $ $ (6) FAN LINE 1 $ NOF.MPTS $ NOF: ID NUMBER OF FAN BRANCH. $ MPTS: NUMBER OF POINTS DEFINING FAN CHARACTERISTICS, MAXIMUM 10 145 $ $ $ (7) FAN LINE 2 (IF MPTS IS LARGER THAN 5, CONTINUE ON 2ND LINE. ) $ $ QF,PF,QF,PF,QF,PF,QF,PF,QF,PF $ $ QF: AIRFLOW AT GIVEN POINT OF FAN CHAR, CFM. $ $ PF: PRESSURE AT GIVEN POINT OF FAN CHAR, IN. W.G. $ $ $ $ *** INPUT FAN LINES 1 AND 2 HERE *** $ $ NOF,MPTS $ $ QF,PF,QF,PF,QF,PF,QF,PF,QF,PF $ 45 10 37500 2.00 41500 1.83 45000 1.64 48500 1.44 52500 1.17 55000 0.98 57500 0.78 60000 0.58 62500 0.36 65000 0.15 « $ $ CONTAMINATION (FIRE SOURCE) LINES $ $ NCENT,CONT,CONC,HEAT,02MIN,SMP02,HTP02,QCENT,TPR $ $ $ $ * EACH FIRE SOURCE MUST HAVE A ONE LINE INPUT HERE. THE NUMBER OF $ $ TOTAL FIRE SOURCES WAS SPECIFIED BY "INFLOW" IN CONTROL LINE 1 $ $ $ $ NCENT: ID NUMBER OF AIRWAYS WITH A FIRE SOURCES $ $ FIXED HEAT OUTPUT FIRE $ $ CONT: VOLUME FLOW RATE OF CONTAMINATED GAS INFLOW IN CFM $ $ CONC: CONCENTRATION OF CONTAMINANT IN GAS INFLOW PCT $ $ HEAT: HEAT ENTERING AIRWAY IN BTU/MIN $ $ OXYGEN RICH FIRE $ $ 02MIN: OXYGEN CONCENTRATION OF AIR CURRECT LEAVING FIRE ZONE PCT $ $ FUEL RICH FIRE $ $ SMP02: CONTAMINANT PRODUCTION PER CFM OF OXYGEN DELIVERY $ $ HTP02: HEAT PRODUCTION (BTU) PER CFM OF OXYGEN DELIVERY $ $ FIRE DAMPING FACTOR $ $ QCENT: REF. Q DEFINING FIRE CHARACTERISTICS CFM $ $ TPR: LEADING TIME PERIOD IN MIN. FOR FIRE TO REACH FULL STRENGTH $ $ $ $ *** INPUT DATA FOR FIRE SOURCES HERE *** $ $ NCENT,CONT,CONC,HEAT,02MIN,SMP02,HTP02,QCENT,TPR $ 4 200 100 50000 $ $ $ CONTROL LINE 2 $ $ NAVJSTART,TSTART,TIME,CRITSM,CRITGS,CRITHT,WRNPR,WRNSM,WRNGS,WRNHT $ $ $ $ * A SET OF DEFAULT VALUES ARE AVAILABLE. THEY CAN BE ACTIVATED BY $ $ INPUTING ZERO FOR THE RESPECTIVE TERMS. $ $ $ $ NAV: MARKER, 1 OR LARGER = AVERAGE VALUE LINE IS PRESENT $ $ JSTART: STARTING JUNCTION (ATMOSPHERE). $ $ TSTART: TEMPERATURE AT THE STARTING JUNCTION, DEGREES F $ $ TIME: TIME SPAN TO ASSUME QUASI-EQUILIBRIUM, HOURS DEFAULT =5 $ $ CRITSM: ACCURACY IN FUME CALCULATIONS PCT DEFAULT =0.005 $ $ CRITGS: ACCURACY IN METHAME CALCULATIONS, PCT DEFAULT =.01 $ $ CRITHT: ACCURACY IN TEMPERATURE CALCULATIONS, F DEFAULT =0.1 $ $ WRNPR: PRESSURE DROP WARNING CRITERIA, IN. W.G. DEFAULT =0.01 $ $ WRNGS: METHANE CONCENTRATION WARNING CRITERIA, PCT DEFAULT =1.0 $ $ WRNSM: FUME CONCENTRATION WARNING CRITERIA, PCT DEFAULT =0.05 $ $ WRNHT: HIGH TEMPERATURE WARNING CRITERIA, DEGREES F DEFAULT = 100 $ 146 $ $ $ *** INPUT DATA FOR CONTROL LINE 2 HERE *** $ $- NAVJSTART,TSTART,TIME,CRITSM,CRITGS,CRrTHT,WRNPR,WRNSM,WRNGS,WRNHT- $ 3 70.0 30.0 .00001 0.10 .20 .01 .00001 .05 95.0 $ $ $ AVERAGE- VALUE LINE $ $ HAAVR,HKAVR,KFAVR,LAAVRAAVR,OAVR $ $ $ $ THIS LINE MUST EXIST IF NAV IN CONTROL LINE 2 IS 1 OR LARGER. $ $ THE DEFAULT VALUE CAN BE SELECTED BY INPUTING ZERO FOR THE $ $ RESPECTIVE TERM. WHEN NAV IS ZERO OR LESS, THE WHOLE SET OF $ $ DEFAULT VALUES WILL BE USED. $ $ $ $ HAAVR: AVERAGE THERMAL DIFFUSIVTTY OF ROCK, FI~2/HR DEFAULT =0.1 $ $ HKAVR: AVERAGE THERMAL CONDUCTIVITY OF ROCK, BTU/HR*FT*F $ $ DEFAULT =3.0 $ $ KFAVR: FRICTION FACTOR, 1*E-10 LBM*MIN^2/FT4. DEFAULT = 100 $ $ LAAVR: AVERAGE LENGTH OF AIRWAY FT DEFAULT = 500 $ $ AAVR: AVERAGE SECTIONAL AREA OF AIRWAY FI~2 DEFAULT = 100 $ $ OAVR: AVERAGE PERIMETER FT DEFAULT =40 $ $ $ $ *** INPUT AVERAGE VALUE LINE HERE IF NEEDED *** $ $ HAAVR,HKAVR,KFAVR,LAAVRAAVR,OAVR $ $ $ $ TIME TABLE FOR CONDITION CHANGES $ $ $ $ THIS TIME TABLE CAN CONTAIN THE FOLLOWING CONDITION CHANGES. IT $ $ MUST END WITH A ONE LINE INPUT OF A VALUE LARGER THAN "SPAN" ON $ $ CONTROL LINE 1. THIS TIME TABLE MUST EXIST, BUT MAY CONTAIN ONLY $ $ THE ENDING LINE. THE CONDITION CHANGE LINES MUST BE LISTED IN $ $ ORDER FROM TIME ZERO. THESE LINES HAVE THE FORM: $ $ TS,ICODE,PARAMETERS $ $ WHERE TS=TIME OF CONDITION CHANGE $ $ ICODE= NATURE OF CONDITION CHANGE $ $ PARAMETERS ARE DEFINED AND RELATED TO SPECIFIC ICODES $ $ $ $ 1) TS,1,NBR,R $ $ THIS INPUT CHANGES BRANCH "NBR" TO AN ORDINARY AIRWAY WITH $ $ AIRFLOW RESISTANCE EQUAL TO "R" AT "TS" MIN AFTER TIME ZERO $ $ NBR: AIRWAY ID NUMBER. $ $ R: RESISTANCE OF AIRWAY 1*E-10 IN. W.G./(CFM)2. $ $ $ $ 2) TS,2,NBR,INDEX,QF1,PF1,QF2,PF2,QF3,PF3,QF4,PF4,QF5,PF5 $ $ THIS INPUT CHANGES BRANCH "NBR" TO A FAN BRANCH WITH ITS $ $ CHARACTERISTICS SPECIFIED BY "QF1" TO "PF5". $ $ INDEX = NUMBER OF DATA POINTS TO DEFINE FAN CHARACTERISTCS MAX = 5$ $ QF=AIRFLOW RATE IN FT^/MIN $ $ PF= CORRESPONDING FAN PRESSURE IN IN. W.G. $ $ $ $ 3) TS,3,NBR,CONT,CONC,HEAT,02MIN,SMPO2,HTPO2,QCENT,TPR $ $ THIS INPUT CHANGES BRANCH "NBR" TO A FIRE SOURCE BRANCH WITH $ $ FIRE CHARACTERISTICS SPECIFIED BY "CONT" TO "TPR", WHICH $ $ RETAIN THE SAME MEANING AS IN CONTAMINANT (FIRE) SOURCE LINE. $ 147 $ $ $ 4) TS,4,NBR $ $ THIS INPUT CHANGES FIRE BRANCH "NBR" TO AN ORDINARY AIRWAY AT $ $ TIME TS". $ $ $ $ 5) TS,5,TINC $ $ THIS INPUT CHANGES THE TIME INCREMENT IN THE DYNAMIC $ $ SIMULATION TO A NEW VALUE OF TINC" IN SEC. $ $ $ $ 6) TS,6,TOUT $ $ THIS INPUT CHANGES OUTPUT INTERVAL TO A NEW VALUE OF "TOUT $ $ IN MIN. $ $ $ $ 7) TS,7,JDPP $ $ THIS ICODE FORCES DETAILED RECORDS TO BE SET UP FOR AIRWAYS $ $ WHICH ARE ON THE IMMEDIATE DOWN STREAM SIDE OF JUNCTION "JDPP" $ $ AT TS" MIN. AFTER TIME ZERO. $ $ $ $ *** INPUT CONDITION CHANGE TIME TABLE HERE *** $ $ (it MUST END WITH A ONE-LINE VALUE LARGER THAN "SPAN") $ 0.0,3,4,200,100,50000 1100 Output file ****+*+*************+****************************************+++********+****+************** OUTPUT OF PROGRAM MFTRE ****4^**:|^**********************************************^ This file describes a multilevel mine with mutiple atmospheric junctions at different levels. Several options are exercised in this example. A fire of 50,000 BTU/min heat output is simulated in airway number 4. REF.TEMP.(TR): 75.0 DEG.F REF. DENSITY (DR): .0740 LBM/FT3 148 LIST OF UNITS USED IN THIS OUTPUT FILE: LENGTH: FT.; AIRFLOW: FT3/MIN; FRICTION FACTOR: THERMAL CONDUCTIVITY: HEADLOSS: CH4 PRODUCTION: AREA: FT2; TEMP. F; LBM*MIN2/FT4; BTU/HR*FT*F; IN.W.G.; FT3/MIN; VOLUME: FT3; RESISTANCE: THERMAL DIFFUSIVITY: CONCENTRATION: HEAT INPUT: MASS: LBM IN.W.G./CFM2 FT2/HR PERCENTAGE BTU/MIN * ATTENTION * A NEW BRANCH HAS BEEN SET UP FOR EACH FIRE SOURCE. AVE.- VALUE CARD WAS OMITTED BY USER (NAV=0) THE FOLLOWING AVERAGE VALUES WILL BE USED TO FILL ANY MISSING DATA: THERMAL DIFFUSIVITY OF ROCK ROCK THERMAL CONDUCTIVITY FRICTION FACTOR AIRWAY LENGTH SECTIONAL AREA PERIMETER .100 3.000 100 500 FT2/HR BTU/(HR*FT*F) l.E-10 LBF*MIN2/FT4 FT 100.000 FT2 40.000 FT NO NETWORK CALCULATION HAS BEEN PERFORMED, THESE ARE THE INPUT DATA AIRWAY FROM TO AIRFLOW TYPE LENGTH AREA R K PERI. 1 5 32 5528. 430.0 50.0 .196E+01 100 30.0 2 5 6 42000. 1000.0 55.5 .478E + 01 100 30.0 3 8 30 10269. 650.0 40.0 .578E+01 100 30.0 4 6 35 14899. .1 50.0 .455E-03 100 30.0 1050 35 8 14899. 200.0 50.0 .911E + 00 100 30.0 5 6 7 27101. 50.0 60.0 .132E + 00 100 30.0 6 7 31 16997. 50.0 60.0 .132E + 00 100 30.0 7 30 9 10269. 110.0 45.0 .573E + 00 100 25.0 8 8 10 4629. 110.0 15.0 .124E + 02 100 20.0 9 7 12 10104. 110.0 25.0 .240E + 01 100 18.0 10 31 14 16997. 110.0 90.0 .100E + 00 100 35.0 11 9 28 17759. 200.0 45.0 .125E + 01 100 30.0 12 10 9 7489. 325.0 45.0 .677E + 01 100 00.0 13 11 10 2860. 200.0 40.0 .178E + 01 100 30.0 14 12 10045. 300.0 60.0 .791E + 00 100 30.0 15 13 12 -60. 50.0 55.0 .171E + 00 100 30.0 149 16 14 13 16000. 80.0 35.0 .779E + 00 100 22.0 17 14 29 997. 350.0 35.0 .465E+01 100 30.0 18 28 15 17759. 150.0 80.0 .278E+00 100 50.0 19 11 16 7185. 150.0 15.0 .169E+02 100 20.0 20 13 19 16059. 150.0 45.0 .812E+00 100 26.0 21 29 20 997. 150.0 5.0 .455E+03 100 20.0 22 16 15 696. 585.0 55.0 .200E+01 100 30.0 23 16 17 6489. 55.0 28.0 .951E+00 100 20.0 24 18 17 2458. 90.0 35.0 .996E+00 100 25.0 25 19 18 10712. 385.0 30.0 .677E+01 100 25.0 26 19 20 3234. 650.0 40.0 .463E+01 100 24.0 27 15 22 18454. 210.0 45.0 .114E+01 100 26.0 28 17 23 8947. 260.0 36.0 .338E+01 100 32.0 29 18 24 8254. 260.0 28.0 .450E+01 100 20.0 30 19 26 2113. 260.0 7.0 .288E+03 100 20.0 31 20 26 4231. 500.0 14.0 .692E+02 100 20.0 32 21 27 19957. 255.0 30.0 .394E+01 100 22.0 33 22 21 21537. 100.0 30.0 .141E+01 100 20.0 34 23 22 3083. 585.0 30.0 .822E+01 100 20.0 35 23 24 3846. 190.0 40.0 .197E + 01 100 35.0 36 24 25 12100. 95.0 40.0 .845E + 00 100 30.0 37 25 26 8179. 220.0 45.0 .119E+01 100 26.0 38 26 2 14523. 450.0 35.0 .498E+01 100 25.0 39 21 1 1580. 150.0 5.0 .455E+03 100 20.0 40 25 1 3921. 150.0 8.0 .111E+03 100 20.0 41 33 27 7520. 95.0 100.0 .721E-06 100 400.0 42 27 34 27477. 4.0 100.0 .304E-07 100 400.0 43 34 3 42000. 151.0 100.0 .115E-05 100 400.0 44 4 3 5528. 156.0 100.0 .118E-05 100 400.0 45 3 5 47528. 1 155.0 65.0 .144E+01 100 32.0 46 32 4 5528. 10.0 30.0 .500E+03 100 25.0 47 23 1 2018. 150.0 5.0 .455E+03 100 20.0 48 1 33 7520. 800.0 100.0 .607E-05 100 400.0 49 2 34 14523. 600.0 100.0 .500E+01 100 400.0 JUNCTION TEMP. ELEVATION CH4 JUNCTION TEMP. ELEVATION CH< 1 95.0 7690.0 .00 2 60.0 7591.0 .00 3 95.0 7440.0 .00 4 95.0 7284.0 .00 5 53.0 7286.0 .00 6 55.0 7289.0 .00 7 55.0 7289.0 .00 8 58.0 7289.0 .00 9 60.0 7365.0 .00 10 60.0 7365.0 .00 11 60.0 7365.0 .00 12 60.0 7365.0 .00 13 60.0 7365.0 .00 14 60.0 7365.0 .00 15 60.0 7470.0 .00 16 60.0 7470.0 .00 17 60.0 7470.0 .00 18 60.0 7470.0 .00 19 60.0 7470.0 .00 20 60.0 7470.0 .00 21 60.0 7595.0 .00 22 60.0 7595.0 .00 23 60.0 7595.0 .00 24 60.0 7594.0 .00 25 60.0 7593.0 .00 26 60.0 7593.0 .00 27 95.0 7595.0 .00 28 60.0 7365.0 .00 29 60.0 7365.0 .00 30 60.0 7290.0 .00 150 31 57.0 7289.0 .00 32 47.0 7284.0 .00 33 95.0 7690.0 .00 34 95.0 7591.0 .00 35 55.0 7289.0 .00 NETWORK CALCULATION RESULTS RWAY FROM TO TYPE RESISTANCE AIRFLOW HEADL 1 5 32 .1959E+01 5528. .006 2 5 6 .4778E+01 42000. .843 3 8 30 .5783E+01 10269. .061 4 6 35 .4555E-03 14899. .000 1050 35 8 .9110E+00 14899. .020 5 6 7 .1318E+00 27101. .010 6 7 31 .1318E+00 16997. .004 7 30 9 .5727E+00 10269. .006 8 8 10 .1237E+02 4629. .027 9 7 12 .2405E+01 10104. .025 10 31 14 .1002E+00 16997. .003 11 9 28 .1250E+01 17759. .039 12 10 9 .6769E+01 7489. .038 13 11 10 .1779E+01 2860. .001 14 12 11 .7908E+00 10045. .008 15 13 12 .1711E+00 -60. .000 16 14 13 .7791E+00 16000. .020 17 14 29 .4648E+01 997. .000 18 28 15 .2780E + 00 17759. .009 19 11 16 .1687E + 02 7185. .087 20 13 19 .8123E+00 16059. .021 21 29 20 .4555E+03 997. .045 22 16 15 .2002E+01 696. .000 23 16 17 .9510E+00 6489. .004 24 18 17 .9960E+00 2458. .001 25 19 18 .6766E+01 10712. .078 26 19 20 .4626E+01 3234. .005 27 15 22 .1137E+01 18454. .039 28 17 23 .3384E+01 8947. .027 29 18 24 .4496E + 01 8254. .031 30 19 26 .2877E+03 2113. .128 31 20 26 .6916E+02 4231. .124 32 21 27 3943E+01 19957. .157 33 22 21 .1406E+01 21537. .065 34 23 22 .8224E+01 3083. .008 35 23 24 .1972E+01 3846. .003 36 24 25 .8451E + 00 12100. .012 37 25 26 .1191E+01 8179. .008 38 26 2 .4980E+01 14523. .105 39 21 1 .4555E+03 1580. .114 40 25 1 .1112E+03 3921. .171 41 33 27 .7212E-06 7520. .000 42 27 34 .3037E-07 27477. .000 43 34 3 .1146E-05 42000. .000 151 44 4 3 .1184E-05 5528. .000 46 32 4 .5000E+03 5528. 1.528 47 23 1 .4555E+03 2018. .186 48 1 33 .6073E-05 7520. .000 49 2 34 .5000E+01 14523. .105 FANS AIRWAY FROM TO AIRFLOW FAN PRESSURE 45 3 5 47528. 1.444 THESE CHARACTERISTICS WERE STORED FOR FANS 45 onooo PF Q*1000 PF Q*1000 PF Q*1000 PF 0*1000 PF 37.5 2.00 41.5 1.83 45.0 1.64 48.5 1.44 52.5 1.17 55.0 .98 57.5 .78 60.0 .58 62.5 .36 65.0 .15 FAN 45 COEFF. OF POLYNOMIAL OF FAN CURVES PF=A0+A1*Q+A2*Q**2+A3*Q**3 A0 Al A2 A3 FROMQF TOQF .143E+02 -.907E-03 .231E-07 -.206E-12 .375E+05 .415E+05 -.204E+02 .160E-02 -.373E-07 .280E-12 .415E+05 .450E+05 .255E+02 -.146E-02 .307E-07 -.224E-12 .450E+05 485E+05 -.695E+01 .550E-03 -.107E-07 .608E-13 .485E+05 525E+05 .356E+01 -.509E-04 .724E-09 -.119E-13 .525E+05 .550E+05 -.544E+02 .311E-02 -.568E-07 .337E-12 .550E+05 .575E+05 .142E+03 -.712E-02 .121E-06 -.695E-12 .575E+05 .600E+05 -.260E+03 .129E-01 -.213E-06 .116E-11 .600E+05 .625E+05 -.344E+04 .163E+00 -.258E-05 .136E-10 .625E+05 .650E+05 INTERPOLATION: Q*1000 PF Q*1000 PF Q*1000 PF ( Q*1000 PF Q*1000 PF 37.5 2.00 38.3 1.97 39.1 1.94 39.9 1.90 40.7 1.87 41.5 1.83 42.2 1.79 42.9 1.76 43.6 1.72 44.3 1.68 45.0 1.64 45.7 1.60 46.4 1.56 47.1 1.52 47.8 1.48 48.5 1.44 49.3 1.39 50.1 1.34 50.9 1.28 51.7 1.23 52.5 1.17 53.0 1.13 53.5 1.10 54.0 1.06 54.5 1.02 152 55.0 57.5 60.0 62.5 .98 55.5 .78 58.0 .58 60.5 .36 63.0 .94 .74 .54 .31 56.0 58.5 61.0 63.5 .90 .70 .49 .26 565 59.0 61.5 64.0 .86 .66 .45 20 57.0 595 62.0 645 .82 .62 .40 .16 THE STATED NUMBER OF AIRWAYS WAS 50 THE STATED NUMBER OF JUNCTIONS WAS 35 DATA FOR CONCENTRATION AND TEMPERATURE CALCULATION RWAY FROM TO ELEV. DIFF. ROCKT CH4 PROD. COND. DIFFUSF/ITY 1 5 32 -2.00 60.00 .0 3.00 .100 2 5 6 3.00 60.00 .0 3.00 .100 3 8 30 1.00 60.00 .0 3.00 .100 4 6 35 .00 60.00 .0 3.00 .100 1050 35 8 .00 60.00 .0 3.00 .100 5 6 7 .00 60.00 .0 3.00 .100 6 7 31 .00 60.00 .0 3.00 .100 7 30 9 75.00 60.00 .0 3.00 .100 8 8 10 76.00 60.00 .0 3.00 .100 9 7 12 76.00 60.00 .0 3.00 .100 10 31 14 76.00 60.00 .0 3.00 .100 11 9 28 .00 60.00 .0 3.00 .100 12 10 9 .00 60.00 .0 3.00 .100 13 11 10 .00 60.00 .0 3.00 .100 14 12 11 .00 60.00 .0 3.00 .100 15 13 12 DO 60.00 .0 3.00 .100 16 14 13 .00 60.00 .0 3.00 .100 17 14 29 .00 60.00 .0 3.00 .100 18 28 15 105.00 60.00 .0 3.00 .100 19 11 16 105.00 60.00 .0 3.00 .100 20 13 19 105.00 60.00 .0 3.00 .100 21 29 20 105.00 60.00 .0 3.00 .100 22 16 15 .00 60.00 .0 3.00 .100 23 16 17 .00 60.00 .0 3.00 .100 24 18 17 .00 60.00 .0 3.00 .100 25 19 18 .00 60.00 .0 3.00 .100 26 19 20 .00 60.00 .0 3.00 .100 27 15 22 125.00 60.00 .0 3.00 .100 28 17 23 125.00 60.00 .0 3.00 .100 29 18 24 124.00 60.00 .0 3.00 .100 30 19 26 123.00 60.00 .0 3.00 .100 31 20 26 123.00 60.00 .0 3.00 .100 32 21 27 .00 60.00 .0 3.00 .100 33 22 21 .00 60.00 .0 3.00 .100 34 23 22 .00 60.00 .0 3.00 .100 35 23 24 -1.00 60.00 .0 3.00 .100 153 36 24 25 -1.00 60.00 .0 3.00 .100 37 25 26 .00 60.00 .0 3.00 .100 38 26 2 -2.00 60.00 .0 3.00 .100 39 21 1 95.00 60.00 .0 3.00 .100 40 25 1 97.00 60.00 .0 3.00 .100 41 33 27 -95.00 94.69 .0 3.00 .100 42 27 34 -4.00 94.71 .0 3.00 .100 43 34 3 -151.00 94.53 .0 3.00 .100 44 4 3 156.00 95.43 .0 3.00 .100 45 3 5 -154.00 60.00 .0 3.00 .100 46 32 4 .00 60.00 .0 3.00 .100 47 23 1 95.00 60.00 .0 3.00 .100 48 1 33 .00 95.00 .0 3.00 .100 49 2 34 .00 95.00 .0 3.00 .100 A TEMPERATURE OF 70.0 WAS ASSIGNED TO JUNCTION NO. THE FOLLOWING CONTAMINATION WAS ASSUMED FDCED INFLUX 02-RICH FUEL-RICH LEADING T REF. Q AIRWAY FLUX %CONC HEAT %02 FUMES HEAT 4 200.0100.00 .500E+05 .00 .00 .0 .00 ********************************************************************************************************* OUTPUT OF THE TEMPERATURE PART OF THE PROGRAM ********************************************************************************************************* THRESHOLD IN ACCURACY (SUM OF NVP CORRECTIONS PER MESH < 2.E-4 IN.W.G.) SATISFIED. CURRENT SUMFNV PER MESH .000083 IN.W.G., ITERATIONS 2 TEMP. AND CONCENTRA. AT AIRWAY ENDS, HEADLOSS IN AIRWAYS AIRWAY FROM TO AIRFLOW AVE. T T AT END FUMES METHANE HEADLOSS 1 5 32 5674. 65.80 63.05 00.00 00.00 .006 2 5 6 43031. 67.15 64.99 00.00 00.00 .859 154 3 8 30 10264. 61.90 60.83 00.00 00.00 .058 4 6 35 14980. 64.99 64.98 00.00 00.00 .000 1050 35 8 14980. 64.28 63.64 00.00 00.00 .020 5 6 7 28050. 64.87 64.76 00.00 00.00 .010 6 7 31 17312. 64.61 64.46 00.00 00.00 .004 7 30 9 10264. 60.57 60.32 00.00 00.00 .006 8 8 10 4716. 62.76 61.99 00.00 00.00 .026 9 7 12 10739. 64.19 63.65 00.00 00.00 .027 10 31 14 17312. 63.98 63.52 00.00 00.00 .003 11 9 28 17907. 60.17 60.15 00.00 00.00 .038 12 10 9 7643. 60.41 60.04 00.00 00.00 .037 13 11 10 2927. 61.43 60.90 00.00 00.00 .001 14 12 11 10205. 62.83 62.14 00.00 00.00 .008 15 12 13 534. 63.19 62.76 00.00 00.00 .000 16 14 13 16358. 63.35 63.19 00.00 00.00 .020 17 14 29 953. 61.27 60.28 00.00 00.00 .000 18 28 15 17907. 59.87 59.62 00.00 00.00 .008 19 11 16 7278. 61.48 60.90 00.00 00.00 .085 20 13 19 16892. 62.63 62.11 00.00 00.00 .022 21 29 20 953. 59.92 59.72 00.00 00.00 .039 22 16 15 1146. 60.31 60.06 00.00 00.00 .000 23 16 17 6132. 60.84 60.79 00.00 00.00 .003 24 18 17 2914. 60.82 60.69 00.00 00.00 .001 25 19 18 11236. 61.47 60.97 00.00 00.00 .081 26 19 20 3443. 60.91 60.28 00.00 00.00 .005 27 15 22 19053. 59.38 59.13 00.00 00.00 .039 28 17 23 9045. 60.26 59.87 00.00 00.00 .026 29 18 24 8322. 60.48 60.06 00.00 00.00 .029 30 19 26 2214. 60.49 59.77 00.00 00.00 .134 31 20 26 4396. 59.86 59.65 00.00 00.00 .126 32 21 27 21211. 59.41 59.49 00.00 00.00 .167 33 22 21 22561. 59.29 59.32 00.00 00.00 .067 34 23 22 3508. 59.94 59.98 00.00 00.00 .010 35 23 24 3634. 59.92 59.95 00.00 00.00 .002 36 24 25 11956. 60.02 60.02 00.00 00.00 .011 37 25 26 8279. 60.02 60.02 00.00 00.00 .008 38 26 2 14889. 59.91 59.94 00.00 00.00 .104 39 21 1 1350. 59.63 59.70 00.00 00.00 .078 40 25 1 3677. 59.82 59.66 00.00 00.00 .142 41 33 27 6931. 94.92 94.96 00.00 00.00 .000 42 27 34 28141. 95.00 95.00 00.00 00.00 .000 43 34 3 43031. 94.97 95.02 00.00 00.00 .000 44 4 3 5674. 95.14 95.01 00.00 00.00 .000 45 3 5 48704. 69.93 69.86 00.00 00.00 1.441 46 32 4 5674. 63.00 62.96 00.00 00.00 1.538 47 23 1 1903. 59.79 59.71 00.00 00.00 .156 48 1 33 6931. 95.00 95.00 00.00 00.00 .000 49 2 34 14889. 92.79 95.00 00.00 00.00 .118 155 DATA FOR FIRE SOURCES AIRWAY AIRFLOW TEMPERATURE FUME 02 LEFT HEAT INPUT 4 14980. 64.99 00.00 .00 .O00E+O0 PARAMETERS OF AIR IN JUNCTIONS JUNCTION TEMP. FUMES METHANE JUNCTION TEMP. FUMES METHANE 1 95.00 00.00 00.00 2 59.94 00.00 00.00 3 70.00 00.00 00.00 4 95.00 00.00 00.00 5 69.86 00.00 00.00 6 64.99 00.00 00.00 7 64.76 00.00 00.00 8 63.64 00.00 00.00 9 60.20 00.00 00.00 10 61.57 00.00 00.00 11 62.14 00.00 00.00 12 63.65 00.00 00.00 13 63.18 00.00 00.00 14 63.52 00.00 00.00 15 59.65 00.00 00.00 16 60.90 00.00 00.00 17 60.76 00.00 00.00 18 60.97 00.00 00.00 19 62.11 00.00 00.00 20 60.16 00.00 00.00 21 59.32 00.00 00.00 22 59.26 00.00 00.00 23 59.87 00.00 00.00 24 60.02 00.00 00.00 25 60.02 00.00 00.00 26 59.87 00.00 00.00 27 95.00 00.00 00.00 28 60.15 00.00 00.00 29 60.28 00.00 00.00 30 60.83 00.00 00.00 31 64.46 00.00 00.00 32 63.05 00.00 00.00 33 95.00 00.00 00.00 34 95.00 00.00 00.00 35 64.98 00.00 00.00 REVERSAL OF AIRFLOW HAS OCCURRED IN THE FOLLOWING PLACES AIRWAY 15 IS NOW CARRYING AIR FROM 12 TO 13 IN THE FOLLOWING AIRWAYS EXIST CRITICAL CONDITIONS AIRWAY FROM TO CH4% FUMES % TEMPERATURE HEADLOSS > .050 > .000 > 95. F < .010 IN.WG 1 5 32 00.00 00.000 63.0 .006 4 6 35 00.00 00.000 65.0 .000 5 6 7 00.00 00.000 64.8 .010 6 7 31 00.00 00.000 64.5 .004 7 30 9 00.00 00.000 60.3 .006 10 31 14 00.00 00.000 63.5 .003 13 11 10 00.00 00.000 60.9 .001 14 12 11 00.00 00.000 62.1 .008 15 12 13 00.00 00.000 62.8 .000 17 14 29 00.00 00.000 60.3 .000 18 28 15 00.00 00.000 59.6 .008 22 16 15 00.00 00.000 60.1 .000 23 16 17 00.00 00.000 60.8 .003 156 60.7 .001 603 .005 60.0 .010 60.0 .002 60.0 .008 95.0 .000 95.0 .000 95.0 .000 95.0 .000 95.0 .000 95.0 .118 IN THE FOLLOWING JUNCTIONS EXIST CRITICAL CONDITIONS JUNCTION CH4 % FUMES % TEMP. F JUNCTION CH4 % FUMES % TEMP. F > .05 > .000 > 95. > .05 > .000 > 95. 24 18 17 00.00 00.000 26 19 20 00.00 00.000 34 23 22 00.00 00.000 35 23 24 00.00 00.000 37 25 26 00.00 00.000 41 33 27 00.00 00.000 42 27 34 00.00 00.000 43 34 3 00.00 00.000 44 4 3 00.00 00.000 48 1 33 00.00 00.000 49 2 34 00.00 00.000 1 00.00 00.00 95.0 4 00.00 00.00 95.0 27 00.00 00.00 95.0 33 00.00 00.00 95.0 34 00.00 00.00 95.0 +************************************************♦*********♦»♦*****»*«*»*»***»*****»»«»**#***♦**♦««*♦»**« NON-STEADY STATE SIMULATION OUTPUT :): + + + *** + * + + * + * + ** + * + *** + ***** + ****♦ + ****************»**»*»*»*»»»*»»»«»••«»***»»**»»*»**»»***»•*»•«*•«•«»* * ATTENTION * BRANCH 4 CAUGHT IN FIRE AT .00 MIN. LEADING TIME: .0 PARAMETERS AS FOLLOWS: FTXED-HEAT-INPUT OXYGEN-RICH FUEL-RICH FLOWRATE CONC. HEAT (%) FUME P 02 HEAT P02 REF. Q 200. 100.00 .500E+05 .00 .00 .00 0. TIME AT 60. SEC. AFTER EVENT THRESHOLD IN ACCURACY (SUM OF NVP CORRECTIONS PER MESH < 2.E-4 IN.W.G.) SATISFIED. CURRENT SUMFNV PER MESH .000096 IN.W.G., ITERATIONS 3 TEMP. AND CONCENTRA. AT AIRWAY ENDS, HEADLOSS IN AIRWAYS 157 IRWAY FROM TO DELTA 1 5 32 1. 2 5 6 -7. 3 8 30 -2506. 4 6 35 2939. 1050 35 8 2939. 5 6 7 -2946. 6 7 31 -1792. 7 30 9 -2506. 8 8 10 5445. 9 7 12 -1154. 10 31 14 -1792. 11 9 28 -1309. 12 10 9 1197. 13 10 11 4248. 14 12 11 -3517. 15 12 13 2363. 16 14 13 -1766. 17 14 29 -26. 18 28 15 -1309. 19 11 16 731. 20 13 19 597. 21 29 20 -26. 22 16 15 1158. 23 16 17 -426. 24 18 17 421. 25 19 18 429. 26 19 20 120. 27 15 22 -152. 28 17 23 -5. 29 18 24 8. 30 19 26 48. 31 20 26 94. 32 21 27 -29. 33 22 21 -33. 34 23 22 119. 35 23 24 -124. 36 24 25 -116. 37 25 26 -121. 38 26 2 21. 39 21 1 -4. 40 25 1 5. 41 33 27 1. 42 27 34 -28. HEADLOSS 5675. 65.80 63.05 00.00 00.00 .006 43024. 67.15 64.99 00.00 00.00 .859 7758. 83.90 60.83 00.00 00.00 .036 17919. 234.04 234.04 1.19 00.00 .000 17919. 209.40 18720 1.19 00.00 .046 25105. 64.87 64.76 00.00 00.00 .008 15520. 64.61 64.46 00.00 00.00 .003 7758. 60 51 6032 00.00 00.00 .003 10161. 16225 140.80 1.19 00.00 .173 9585. 64.19 63.65 00.00 00.00 .021 15520. 63.98 63.52 00.00 00.00 .002 16598. 60.17 60.15 00.00 00.00 .033 8840. 7555 60.04 00.00 00.00 .053 1321. 61.43 62.14 00.00 00.00 .000 6688. 62.83 62.14 00.00 00.00 .003 2897. 63.19 62.76 00.00 00.00 .000 14593. 6335 63.19 00.00 00.00 .016 927. 61.27 60.28 00.00 00.00 .000 16598. 59.87 59.62 00.00 00.00 .007 8009. 61.48 60.90 00.00 00.00 .103 17490. 62.63 62.11 00.00 00.00 .024 927. 59.92 59.72 00.00 00.00 .037 2304. 6031 60.06 00.00 00.00 .001 5706. 60.84 60.79 00.00 00.00 .003 3335. 60.82 60.69 00.00 00.00 .001 11664. 61.47 60.97 00.00 00.00 .087 3563. 60.91 60.28 00.00 00.00 .006 18901. 5938 59.13 00.00 00.00 .038 9040. 60.26 59.87 00.00 00.00 .026 8330. 60.48 60.06 00.00 00.00 .030 2263. 60.49 59.77 00.00 00.00 .139 4490. 59.86 59.65 00.00 00.00 .132 21182. 59.41 59.49 00.00 00.00 .167 22528. 59.29 5932 00.00 00.00 .067 3627. 59.94 59.98 00.00 00.00 .010 3510. 59.92 59.95 00.00 00.00 .002 11840. 60.02 60.02 00.00 00.00 .011 8157. 60.02 60.02 00.00 00.00 .007 14910. 59.91 59.94 00.00 00.00 .105 1346. 59.63 59.70 00.00 00.00 .078 3682. 59.82 59.66 00.00 00.00 .142 6932. 94.92 94.% 00.00 00.00 .000 28114. 95.00 95.00 00.00 00.00 .000 158 43 34 3 -7. 43024. 94.97 95.02 00.00 00.00 .000 44 4 3 1. 5675. 95.14 95.01 00.00 00.00 .000 45 3 5 -6. 48698. 69.93 69.86 00.00 00.00 1.441 46 32 4 1. 5675. 63.00 62.96 00.00 00.00 1.539 47 23 1 0. 1903. 59.79 59.71 00.00 00.00 .156 48 1 33 1. 6932. 95.00 95.00 00.00 00.00 .000 49 2 34 21. 14910. 92.79 95.00 00.00 00.00 .119 DATA FOR THE FUME FRONT IN AIRWAYS AIRWAY 3 12 POSITION 131.09 121.12 FROM 8 10 TEMPERATURE FUME METHANE 158.19 1.19 00.00 80.01 1.10 00.00 DATA FOR FIRE SOURCES AIRWAY AIRFLOW TEMPERATURE FUME 02 LEFT HEAT INPUT 4 17919. 234.04 1.19 19.79 .498E+05 PARAMETERS OF AIR IN JUNCTIONS JUNCTION TEMP. FUMES METHANE JUNCTION TEMP. FUMES METHANE 1 95.00 00.00 00.00 2 59.94 00.00 00.00 3 70.00 00.00 00.00 4 95.00 00.00 00.00 5 69.86 00.00 00.00 6 64.99 00.00 00.00 7 64.76 00.00 00.00 8 187.20 1.19 00.00 9 60.18 00.00 00.00 10 134.51 1.10 00.00 11 62.14 00.00 00.00 12 63.65 00.00 00.00 13 63.15 00.00 00.00 14 63.52 00.00 00.00 15 59.66 00.00 00.00 16 60.90 00.00 00.00 17 60.75 00.00 00.00 18 60.97 00.00 00.00 19 62.11 00.00 00.00 20 60.16 00.00 00.00 21 59.32 00.00 00.00 22 59.26 00.00 00.00 23 59.87 00.00 00.00 24 60.02 00.00 00.00 25 60.02 00.00 00.00 26 59.87 00.00 00.00 27 95.00 00.00 00.00 28 60.15 00.00 00.00 29 60.28 00.00 00.00 30 60.83 00.00 00.00 31 64.46 00.00 00.00 32 63.05 00.00 00.00 33 95.00 00.00 00.00 34 95.00 00.00 00.00 35 234.04 1.19 00.00 159 REVERSAL OF AIRFLOW HAS OCCURRED IN THE FOLLOWING PLACES AIRWAY 13 IS NOW CARRYING AIR FROM 10 TO 11 AIRWAY 15 IS NOW CARRYING AIR FROM 12 TO 13 DATA RECORD IN AIRWAYS AIRWAY DIST. FROM FRONT T REAR T FUME 3 131.09 8 158.19 187.20 1.19 1050 NOC.V. T(BGG)= 234.0, T(END)= 187.2, 8 NOC.V. T(BGG)= 187.2, T(END) = 140.8, 12 121.12 10 80.01 134.51 1.10 CH4 AIR M (LB) 00.00 331.69 FUME= 1.19%. FUME= 1.19%. 00.00 385.12 IN THE FOLLOWING AIRWAYS EXIST CRITICAL CONDITIONS AIRWAY FROM TO CH4% FUMES % TEMPERATURE HEADLOSS > .050 > .000 > 95. F < .010 BSf.WG. 1 5 32 00.00 00.000 63.0 .006 4 6 35 00.00 1.193 234.0 .000 1050 35 8 00.00 1.193 187.2 .046 5 6 7 00.00 00.000 64.8 .008 6 7 31 00.00 00.000 64.5 .003 7 30 9 00.00 00.000 60.3 .003 8 8 10 00.00 1.193 140.8 .173 10 31 14 00.00 00.000 63.5 .002 13 10 11 00.00 00.000 62.1 .000 14 12 11 00.00 00.000 62.1 .003 15 12 13 00.00 00.000 62.8 .000 17 14 29 00.00 00.000 60.3 .000 18 28 15 00.00 00.000 59.6 .007 22 16 15 00.00 00.000 60.1 .001 23 16 17 00.00 00.000 60.8 .003 24 18 17 00.00 00.000 60.7 .001 26 19 20 00.00 00.000 60.3 .006 35 23 24 00.00 00.000 60.0 .002 37 25 26 00.00 00.000 60.0 .007 41 33 27 00.00 00.000 95.0 .000 42 27 34 00.00 00.000 95.0 .000 43 34 3 00.00 00.000 95.0 .000 44 4 3 00.00 00.000 95.0 .000 48 1 33 00.00 00.000 95.0 .000 49 2 34 00.00 00.000 95.0 .119 160 IN THE FOLLOWING JUNCTIONS EXIST CRITICAL CONDITIONS JUNCTION 1 8 27 34 CH4% > .05 00.00 00.00 00.00 00.00 FUMES% > .000 00.00 1.19 00.00 00.00 TEMP. F > 95. 95.0 187.2 95.0 95.0 JUNCTION 4 10 33 35 CH4% > .05 00.00 00.00 00.00 00.00 FUMES% > .000 00.00 1.10 00.00 1.19 TEMP. > 95. 95.0 134.5 95.0 234.0 *******************************************************»»♦********#♦*♦*****#****»****»»**»»***♦**♦******* TIME AT 120. SEC. AFTER EVENT THRESHOLD IN ACCURACY (SUM OF NVP CORRECTIONS PER MESH < 2.E-4 IN.W.G.) SATISFIED. CURRENT SUMFNV PER MESH .000170 IN.W.G., ITERATIONS 2 TEMP. AND CONCENTRA. AT AIRWAY ENDS, HEADLOSS IN AIRWAYS AIRWAY FROM TO DELTA Q AIRFLOW AVE. T T AT END FUMES CH4 HEADLOSS 1 5 32 0. 5675. 65.80 63.05 00.00 00.00 .006 2 5 6 -2. 43022. 67.15 64.99 00.00 00.00 .859 3 8 30 583. 8340. 86.98 60.83 00.00 00.00 .042 4 6 35 -919. 17000. 22523 22523 1.13 00.00 .000 1050 35 8 -919. 17000. 82.48 147.83 1.13 00.00 .038 5 6 7 917. 26021. 64.87 64.76 00.00 00.00 .009 6 7 31 588. 16108. 64.61 64.46 00.00 00.00 .003 7 30 9 583. 8340. 60.57 6032 00.00 00.00 .004 8 8 10 -1501. 8660. 121.20 100 58 1.13 00.00 .110 9 7 12 329. 9914. 64.19 63.65 00.00 00.00 .023 10 31 14 588. 16108. 63.98 63.52 00.00 00.00 .002 11 9 28 293. 16891. 60.17 60.15 00.00 00.00 .034 12 10 9 -289. 8551. 67 .56 60.04 00.00 00.00 .048 13 10 11 -1212. 109. 64.43 62.14 00.00 00.00 .000 14 12 11 1068. 7756. 62.83 62.14 00.00 00.00 .005 15 12 13 -740. 2158. 63.19 62.76 00.00 00.00 .000 16 14 13 578. 15171. 6335 63.19 00.00 00.00 .017 17 14 29 10. 937. 61.27 60.28 00.00 00.00 .000 161 18 28 15 293. 16891. 59.87 59.62 00.00 00.00 .007 19 11 16 -144. 7865. 61.48 60.90 00.00 00.00 .099 20 13 19 -162. 17328. 62.63 62.11 00.00 00.00 .023 21 29 20 10. 937. 59.92 59.72 00.00 00.00 .038 22 16 15 -251. 2052. 6031 60.06 00.00 00.00 .001 23 16 17 107. 5813. 60.84 60.79 00.00 00.00 .003 24 18 17 -106. 3228. 60.82 60.69 00.00 00.00 .001 25 19 18 -116. 11549. 61.47 60.97 00.00 00.00 .086 26 19 20 -33. 3530. 60.91 60.28 00.00 00.00 .005 27 15 22 42. 18943. 5938 59.13 00.00 00.00 .038 28 17 23 1. 9041. 60.26 59.87 00.00 00.00 .026 29 18 24 -9. 8321. 60.48 60.06 00.00 00.00 .029 30 19 26 -13. 2249. 60.49 59.77 00.00 00.00 .138 31 20 26 -22. 4467. 59.86 59.65 00.00 00.00 .130 32 21 27 6. 21188. 59.41 59.49 00.00 00.00 .167 33 22 21 7. 22536. 5929 5932 00.00 00.00 .067 34 23 22 -35. 3592. 59.94 59.98 00.00 00.00 .010 35 23 24 36. 3546. 59.92 59.95 00.00 00.00 .002 36 24 25 27. 11866. 60.02 60.02 00.00 00.00 .011 37 25 26 29. 8186. 60.02 60.02 00.00 00.00 .008 38 26 2 -7. 14903. 59.91 59.94 00.00 00.00 .104 39 21 1 1. 1347. 59.63 59.70 00.00 00.00 .078 40 25 1 -2. 3680. 59.82 59.66 00.00 00.00 .142 41 33 27 -2. 6930. 94.92 94.% 00.00 00.00 .000 42 27 34 5. 28119. 95.00 95.00 00.00 00.00 .000 43 34 3 -2. 43022. 94.97 95.02 00.00 00.00 .000 44 4 3 0. 5675. 95.14 95.01 00.00 00.00 .000 45 3 5 -2. 48697. 69.93 69.86 00.00 00.00 1.441 46 32 4 0. 5675. 63.00 62.96 00.00 00.00 1.539 47 23 1 -0. 1903. 59.79 59.71 00.00 00.00 .156 48 1 33 -2. 6930. 95.00 95.00 00.00 00.00 .000 49 2 34 -7. 14903. 92.79 95.00 00.00 00.00 .119 DATA FOR THE FUME FRONT IN AIRWAYS AIRWAY 3 12 13 POSITION 329.09 30337 16.04 FROM 8 10 10 TEMPERATURE FUME METHANE 98.06 1.19 00.00 60.77 1.10 00.00 97.98 1.13 00.00 DATA FOR FIRE SOURCES AIRWAY AIRFLOW TEMPERATURE FUME 02 LEFT HEAT INPUT 4 17000. 225.23 1.13 19.86 .498E+05 162 PARAMETERS OF AIR IN JUNCTIONS JUNCTION TEMP. FUMES METHANE JUNCTION TEMP. FUMES METHANE 1 95.00 00.00 00.00 2 59.94 00.00 00.00 3 70.00 00.00 00.00 4 95.00 00.00 00.00 5 69.86 00.00 00.00 6 64.99 00.00 00.00 7 64.76 00.00 00.00 8 147.83 1.13 00.00 9 60.17 00.00 00.00 10 100.58 1.13 00.00 11 62.14 00.00 00.00 12 63.65 00.00 00.00 13 63.13 00.00 00.00 14 63.52 00.00 00.00 15 59.67 00.00 00.00 16 60.90 00.00 00.00 17 60.75 00.00 00.00 18 60.97 00.00 00.00 19 62.11 00.00 00.00 20 60.16 00.00 00.00 21 59.32 00.00 00.00 22 59.26 00.00 00.00 23 59.87 00.00 00.00 24 60.02 00.00 00.00 25 60.02 00.00 00.00 26 59.87 00.00 00.00 27 95.00 00.00 00.00 28 60.15 00.00 00.00 29 60.28 00.00 00.00 30 60.83 00.00 00.00 31 64.46 00.00 00.00 32 63.05 00.00 00.00 33 95.00 00.00 00.00 34 95.00 00.00 00.00 35 225.23 1.13 00.00 REVERSAL OF AIRFLOW HAS OCCURRED IN THE FOLLOWING PLACES AIRWAY 13 IS NOW CARRYING AIR FROM 10 TO 11 AIRWAY 15 IS NOW CARRYING AIR FROM 12 TO 13 DATA RECORD IN AIRWAYS AIRWAY DIST. FROM FRONT T REART FUME CH4 AIRM (1 3 110.91 8 114.59 147.83 1.13 00.00 299.23 329.09 8 98.06 10931 1.19 00.00 628.71 1050 NOC.V. T(BGG) = 225.2, T(END)= 147.8, FUME= 1.13%. 8 NOC.V. T(BGG)= 147.8, T(END)= 100.6, FUME= 1.13%. 12 158.99 10 62.72 100.58 1.13 00.00 532.05 303.57 10 60.77 62.85 1.10 00.00 495.75 13 16.04 10 97.98 100.58 1.13 00.00 45.84 163 IN THE FOLLOWING AIRWAYS EXIST CRITICAL CONDITIONS AIRWAY FROM TO CH4% FUMES % TEMPERATURE HEADLOSS > .050 > .000 > 95. F < .010 IN.WG. 1 5 32 00.00 00.000 63.0 .006 4 6 35 00.00 1.131 225.2 .000 1050 35 8 00.00 1.131 147.8 .038 5 6 7 00.00 00.000 64.8 .009 6 7 31 00.00 00.000 64.5 .003 7 30 9 00.00 00.000 60.3 .004 8 8 10 00.00 1.131 100.6 .110 10 31 14 00.00 00.000 63.5 .002 13 10 11 00.00 00.000 62.1 .000 14 12 11 00.00 00.000 62.1 .005 15 12 13 00.00 00.000 62.8 .000 17 14 29 00.00 00.000 60.3 .000 18 28 15 00.00 00.000 59.6 .007 22 16 15 00.00 00.000 60.1 .001 23 16 17 00.00 00.000 60.8 .003 24 18 17 00.00 00.000 60.7 .001 26 19 20 00.00 00.000 60.3 .005 35 23 24 00.00 00.000 60.0 .002 37 25 26 00.00 00.000 60.0 .008 41 33 27 00.00 00.000 95.0 .000 42 27 34 00.00 00.000 95.0 .000 43 34 3 00.00 00.000 95.0 .000 44 4 3 00.00 00.000 95.0 .000 48 1 33 00.00 00.000 95.0 .000 49 2 34 00.00 00.000 95.0 .119 IN THE FOLLOWING JUNCTIONS EXIST CRITICAL CONDITIONS JUNCTION CH4% FUMES % TEMP. F JUNCTION CH4% FUMES % TEMP.F > .05 > .000 > 95. > .05 > .000 > 95. 1 00.00 00.00 95.0 4 00.00 00.00 95.0 8 00.00 1.13 147.8 10 00.00 1.13 100.6 27 00.00 00.00 95.0 33 00.00 00.00 95.0 34 00.00 00.00 95.0 35 00.00 1.13 225.2 ****************************** *************************************************************************** OUTPUT OF THE QUASI-EQUILIBRIUM SIMULATION PART ********************************************************************************************************* 164 REF.TEMP.(TR): 75.0 DEG.F REF. DENSITY (DR): .0740 LBM/FT3 LIST OF UNITS USED IN THIS OUTPUT FILE: LENGTH: FT.; AREA: FT2; AIRFLOW: FT3/MIN; TEMP. F; FRICTION FACTOR: LBM*MIN2/FT4; THERMAL CONDUCnVITY: BTU/HR*FT*F; HEADLOSS: DSf.W.G.; CH4 PRODUCTION: FT3/MIN; VOLUME: FT3; RESISTANCE: THERMAL DIFFUSIVITY: CONCENTRATION: HEAT INPUT: MASS: LBM IN.W.G./CFM2 FT2/HR PERCENTAGE BTU/MIN NO NETWORK CALCULATION HAS BEEN PERFORMED, THESE ARE THE INPUT DATA AIRWAY FROM TO AIRFLOW TYPE LENGTH AREA R K PERI. 1 5 32 5528. 430.0 50.0 .196E+01 100 30.0 2 5 6 42000. 1000.0 55.5 .478E+01 100 30.0 3 8 30 10269. 650.0 40.0 J78E+01 100 30.0 4 6 35 14899. .1 50.0 .455E-03 100 30.0 1050 35 8 14899. 200.0 50.0 .911E+00 100 30.0 5 6 7 27101. 50.0 60.0 .132E+00 100 30.0 6 7 31 16997. 50.0 60.0 .132E+00 100 30.0 7 30 9 10269. 110.0 45.0 .573E+00 100 25.0 8 8 10 4629. 110.0 15.0 .124E+02 100 20.0 9 7 12 10104. 110.0 25.0 240E+01 100 18.0 10 31 14 16997. 110.0 90.0 .lOOE+00 100 35.0 11 9 28 17759. 200.0 45.0 .125E + 01 100 30.0 12 10 9 7489. 325.0 45.0 .677E+01 100 100.0 13 11 10 2860. 200.0 40.0 .178E+01 100 30.0 14 12 11 10045. 300.0 60.0 .791E+00 100 30.0 15 13 12 -60. 50.0 55.0 .171E+00 100 30.0 16 14 13 16000. 80.0 35.0 .779E+00 100 22.0 17 14 29 997. 350.0 35.0 .465E+01 100 30.0 18 28 15 17759. 150.0 80.0 278E+00 100 50.0 19 11 16 7185. 150.0 15.0 .169E+02 100 20.0 20 13 19 16059. 150.0 45.0 .812E+00 100 26.0 21 29 20 997. 150.0 5.0 .455E+03 100 20.0 22 16 15 696. 585.0 55.0 200E+01 100 30.0 23 16 17 6489. 55.0 28.0 .951E+00 100 20.0 24 18 17 2458. 90.0 35.0 .996E+00 100 25.0 25 19 18 10712. 385.0 30.0 .677E+01 100 25.0 26 19 20 3234. 650.0 40.0 .463E+01 100 24.0 27 15 22 18454. 210.0 45.0 .114E+01 100 26.0 28 17 23 8947. 260.0 36.0 338E+01 100 32.0 29 18 24 8254. 260.0 28.0 .450E+01 100 20.0 30 19 26 2113. 260.0 7.0 288E+03 100 20.0 165 31 20 26 4231. 500.0 14.0 .692E+02 100 20.0 32 21 27 19957. 255.0 30.0 394E+01 100 22.0 33 22 21 21537. 100.0 30.0 .141E+01 100 20.0 34 23 22 3083. 585.0 30.0 .822E+01 100 20.0 35 23 24 3846. 190.0 40.0 .197E+01 100 35.0 36 24 25 12100. 95.0 40.0 .845E+00 100 30.0 37 25 26 8179. 220.0 45.0 .119E+01 100 26.0 38 26 2 14523. 450.0 35.0 .498E+01 100 25.0 39 21 1 1580. 150.0 5.0 .455E+03 100 20.0 40 25 1 3921. 150.0 8.0 .111E+03 100 20.0 41 33 27 7520. 95.0 100.0 .721E-06 100 400.0 42 27 34 27477. 4.0 100.0 304E-07 100 400.0 43 34 3 42000. 151.0 100.0 .115E-05 100 400.0 44 4 3 5528. 156.0 100.0 .118E-05 100 400.0 45 3 5 47528. 1 155.0 65.0 .144E+01 100 32.0 46 32 4 5528. 10.0 30.0 .500E+03 100 25.0 47 23 1 2018. 150.0 5.0 .455E+03 100 20.0 48 1 33 7520. 800.0 100.0 .607E-05 100 400.0 49 2 34 14523. 600.0 100.0 .500E+01 100 400.0 JUNCTION TEMP. ELEVATION CH4 JUNCTION TEMP. ELEVATION CH< 1 95.0 7690.0 .00 2 60.0 7591.0 .00 3 95.0 7440.0 .00 4 95.0 7284.0 .00 5 53.0 7286.0 .00 6 55.0 7289.0 .00 7 55.0 7289.0 .00 8 58.0 7289.0 .00 9 60.0 7365.0 .00 10 60.0 7365.0 .00 11 60.0 7365.0 .00 12 60.0 7365.0 .00 13 60.0 7365.0 .00 14 60.0 7365.0 .00 15 60.0 7470.0 .00 16 60.0 7470.0 .00 17 60.0 7470.0 .00 18 60.0 7470.0 .00 19 60.0 7470.0 .00 20 60.0 7470.0 .00 21 60.0 7595.0 .00 22 60.0 7595.0 .00 23 60.0 7595.0 .00 24 60.0 7594.0 .00 25 60.0 7593.0 .00 26 60.0 7593.0 .00 27 95.0 7595.0 .00 28 60.0 7365.0 .00 29 60.0 7365.0 .00 30 60.0 7290.0 .00 31 57.0 7289.0 .00 32 47.0 7284.0 .00 33 95.0 7690.0 .00 34 95.0 7591.0 .00 35 55.0 7289.0 .00 AIRWAY 1 2 3 4 1050 FROM 5 5 8 6 35 NETWORK CALCULATION RESULTS TO TYPE RESISTANCE 32 6 30 35 8 .1959E+01 .4778E+01 .5783E+01 .4555E-03 .9110E+00 AIRFLOW 5528. 42000. 10269. 14899. 14899. HEADLOSS .006 .843 .061 .000 .020 166 5 6 7 .1318E+00 27101. .010 6 7 31 .1318E+00 16997. .004 7 30 9 .5727E+00 10269. .006 8 8 10 .1237E+02 4629. .027 9 7 12 .2405E+01 10104. .025 10 31 14 .1002E+00 16997. .003 11 9 28 .1250E+01 17759. .039 12 10 9 .6769E+01 7489. .038 13 11 10 .1779E+01 2860. .001 14 12 11 .7908E+00 10045. .008 15 13 12 .1711E+00 -60. .000 16 14 13 .7791E+00 16000. .020 17 14 29 .4648E+01 997. .000 18 28 15 .2780E+00 17759. .009 19 11 16 .1687E+02 7185. .087 20 13 19 .8123E+00 16059. .021 21 29 20 .4555E+03 997. .045 22 16 15 .2002E+01 696. .000 23 16 17 .9510E+00 6489. .004 24 18 17 .9960E+00 2458. .001 25 19 18 .6766E+01 10712. .078 26 19 20 .4626E + 01 3234. .005 27 15 22 .1137E+01 18454. .039 28 17 23 3384E + 01 8947. .027 29 18 24 .4496E + 01 8254. .031 30 19 26 .2877E + 03 2113. .128 31 20 26 .6916E + 02 4231. .124 32 21 27 .3943E+01 19957. .157 33 22 21 .1406E+01 21537. .065 34 23 22 .8224E+01 3083. .008 35 23 24 .1972E+01 3846. .003 36 24 25 .8451E + 00 12100. .012 37 25 26 .1191E+01 8179. .008 38 26 2 .4980E + 01 14523. .105 39 21 1 .4555E+03 1580. .114 40 25 1 .1112E+03 3921. .171 41 33 27 .7212E-06 7520. .000 42 27 34 .3037E-07 27477. .000 43 34 3 .1146E-05 42000. .000 44 4 3 .1184E-05 5528. .000 46 32 4 .5000E+03 5528. 1.528 47 23 1 .4555E + 03 2018. .186 48 1 33 .6073E-05 7520. .000 49 2 34 FANS .5000E+01 14523. .105 WAY FROM TO AIRFLOW FAN PRESSURE 15 3 5 47528. 1.444 THESE CHARACTERISTICS WERE STORED FOR FANS 45 167 Q*1000 PF Q*1000 PF Q*1000 PF Q*1000 PF Q*1000 PF 37.5 2.00 41.5 1.83 45.0 1.64 48.5 1.44 52.5 1.17 55.0 .98 57.5 .78 60.0 .58 62.5 .36 65.0 .15 THE STATED NUMBER OF AIRWAYS WAS 50 THE STATED NUMBER OF JUNCTIONS WAS 35 DATA FOR CONCENTRATION AND TEMPERATURE CALCULATION AIRWAY FROM TO ELEV. DIFF. ROCKT CH4 PROD. COND. DIFFUSrVITY 1 5 32 -2.00 60.00 .0 3.00 .100 2 5 6 3.00 60.00 .0 3.00 .100 3 8 30 1.00 60.00 .0 3.00 .100 4 6 35 .00 60.00 .0 3.00 .100 1050 35 8 .00 60.00 .0 3.00 .100 5 6 7 .00 60.00 .0 3.00 .100 6 7 31 .00 60.00 .0 3.00 .100 7 30 9 75.00 60.00 .0 3.00 .100 8 8 10 76.00 60.00 .0 3.00 .100 9 7 12 76.00 60.00 .0 3.00 .100 10 31 14 76.00 60.00 .0 3.00 .100 11 9 28 .00 60.00 .0 3.00 .100 12 10 9 .00 60.00 .0 3.00 .100 13 11 10 .00 60.00 .0 3.00 .100 14 12 11 .00 60.00 .0 3.00 .100 15 13 12 .00 60.00 .0 3.00 .100 16 14 13 .00 60.00 .0 3.00 .100 17 14 29 .00 60.00 .0 3.00 .100 18 28 15 105.00 60.00 .0 3.00 .100 19 11 16 105.00 60.00 .0 3.00 .100 20 13 19 105.00 60.00 .0 3.00 .100 21 29 20 105.00 60.00 .0 3.00 .100 22 16 15 .00 60.00 .0 3.00 .100 23 16 17 .00 60.00 .0 3.00 .100 24 18 17 .00 60.00 .0 3.00 .100 25 19 18 .00 60.00 .0 3.00 .100 26 19 20 .00 60.00 .0 3.00 .100 27 15 22 125.00 60.00 .0 3.00 .100 28 17 23 125.00 60.00 .0 3.00 .100 168 29 18 24 124.00 60.00 .0 3.00 .100 30 19 26 123.00 60.00 .0 3.00 .100 31 20 26 123.00 60.00 .0 3.00 .100 32 21 27 .00 60.00 .0 3.00 .100 33 22 21 .00 60.00 .0 3.00 .100 34 23 22 .00 60.00 .0 3.00 .100 35 23 24 -1.00 60.00 .0 3.00 .100 36 24 25 -1.00 60.00 .0 3.00 .100 37 25 26 .00 60.00 .0 3.00 .100 38 26 2 -2.00 60.00 .0 3.00 .100 39 21 1 95.00 60.00 .0 3.00 .100 40 25 1 97.00 60.00 .0 3.00 .100 41 33 27 -95.00 94.69 .0 3.00 .100 42 27 34 -4.00 94.71 .0 3.00 .100 43 34 3 -151.00 94.53 .0 3.00 .100 44 4 3 156.00 95.43 .0 3.00 .100 45 3 5 -154.00 60.00 .0 3.00 .100 46 32 4 .00 60.00 .0 3.00 .100 47 23 1 95.00 60.00 .0 3.00 .100 48 1 33 .00 95.00 .0 3.00 .100 49 2 34 .00 95.00 .0 3.00 .100 A TEMPERATURE OF 70.0 WAS ASSIGNED TO JUNCTION NO. THE FOLLOWING CONTAMINATION WAS ASSUMED AIRWAY 4 FTXED INFLUX 02-RICH FUEL-RICH LEADING T FLUX %CONC HEAT %02 FUMES HEAT 200.0100.00 .500E+05 .00 .00 .0 .00 REF. Q TIME AT 30.0 HOUR(S) AFTER EVENT THRESHOLD IN ACCURACY (SUM OF NVP CORRECTIONS PER MESH < 2.E-4 IN.W.G.) SATISFIED. CURRENT SUMFNV PER MESH .000084 IN.W.G^ ITERATIONS 4 169 AIRWAY FRO 1 5 2 5 3 8 4 6 1050 35 5 6 6 7 7 30 8 8 9 7 10 31 11 9 12 10 13 10 14 12 15 12 16 14 17 14 18 28 19 11 20 13 21 29 22 16 23 16 24 18 25 19 26 19 27 15 28 17 29 18 30 19 31 20 32 21 33 22 34 23 35 23 36 24 37 25 38 26 39 21 40 25 41 33 42 27 43 34 44 4 45 3 46 32 47 23 48 1 49 2 TEMP. AND CONCENTRA. AT AIRWAY ENDS, HEADLOSS IN AIRWAYS ROM TO AIRFLOW AVE. T T AT END FUMES METHANE 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 32 5648. 65.80 63.04 00.00 6 43284. 67.16 65.01 00.00 30 9713. 118.03 8435 1.01 35 19519. 208.61 208.61 1.01 8 19519. 190.47 173.87 1.01 7 23765. 64.88 64.75 00.00 31 14698. 64.59 64.42 00.00 9 9713. 81.95 79.69 1.01 10 9805. 159.62 146.59 1.01 12 9067. 64.14 63.56 00.00 14 14698. 63.92 63.43 00.00 28 18483. 70.11 68.74 1.01 9 8769. 84.15 62.68 1.01 11 1036. 108.90 84.15 1.01 11 6588. 62.60 61.82 00.00 13 2479. 63.26 62.98 00.00 13 13835. 63.25 63.08 00.00 29 863. 61.21 60.25 00.00 15 18483. 6732 66.04 1.01 16 7625. 63.68 62.67 .14 19 16314. 62.52 62.00 00.00 20 863. 59.91 59.72 00.00 15 1744. 61.02 6025 .14 17 5880. 62.50 6233 .14 17 2881. 60.76 60.64 00.00 18 10840. 6138 60.91 00.00 20 3351. 60.85 60.26 00.00 22 20227. 64.62 63.77 .94 23 8761. 60.98 6035 .09 24 7959. 60.42 60.01 00.00 26 2124. 60.44 59.75 00.00 26 4213. 59.85 59.65 00.00 27 21410. 62.69 6234 .84 21 22798. 63.21 63.07 .84 22 2571. 60.15 60.04 .09 24 4287. 60.24 60.15 .09 25 12246. 60.06 60.05 .03 26 8593. 60.04 60.03 .03 2 14930. 59.92 59.95 .02 1 1388. 60.85 59.90 .84 1 3653. 59.84 59.67 .03 27 6944. 94.92 94.% 00.00 34 28354. 95.00 95.00 00.00 3 43284. 94.97 95.02 00.00 3 5648. 95.14 95.01 00.00 5 48932. 69.93 69.86 00.00 4 5648. 63.00 62.95 00.00 1 1903. 59.97 59.75 .09 33 6944. 95.00 95.00 00.00 34 14930. 92.79 95.00 .02 HEADLOSS .006 .869 .064 .000 .051 .007 .003 .006 .160 .019 .002 .042 .054 .000 .003 .000 .014 .000 .009 .094 .021 .032 .001 .003 .001 .076 .005 .045 .025 .027 .123 .116 .173 .070 .005 .003 .012 .008 .105 .083 .140 .000 .000 .000 .000 1.427 1.524 .156 .000 .119 170 DATA FOR FIRE SOURCES AIRWAY AIRFLOW TEMPERATURE FUME 02 LEFT HEAT INPUT 4 19519. 208.63 1.01 21.00 .500E+05 PARAMETERS OF AIR IN JUNCTIONS JUNCTION TEMP. FUME 1 95.00 00.00 3 70.00 00.00 5 69.86 00.00 7 64.75 00.00 9 71.63 1.01 11 64.85 .14 13 63.06 00.00 15 65.54 .94 17 61.78 .09 19 62.00 00.00 21 63.07 .84 23 60.35 .09 25 60.05 .03 27 95.00 00.00 29 60.25 00.00 31 64.42 00.00 33 95.00 00.00 35 208.61 1.01 METHANE JUNCTION TEMP. FUMES 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 59.95 .02 95.00 00.00 65.01 00.00 173.87 1.01 146.59 1.01 6356 00.00 63.43 00.00 62.67 .14 60.91 00.00 60.15 00.00 6335 .84 60.06 .03 59.89 .02 68.74 1.01 84.35 1.01 63.04 00.00 95.00 00.00 METHANE 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 REVERSAL OF AIRFLOW HAS OCCURRED IN THE FOLLOWING PLACES AIRWAY 13 IS NOW CARRYING AIR FROM 10 TO 11 AIRWAY 15 IS NOW CARRYING AIR FROM 12 TO 13 IN THE FOLLOWING AIRWAYS EXIST CRITICAL CONDITIONS JRWAY FROM TO CH4% FUMES % TEMPERATURE HEADLOSS > .050 > .000 > 95. F < .010 IN.WG. 1 5 32 00.00 00.000 63.0 .006 3 8 30 00.00 1.014 84.3 .064 4 6 35 00.00 1.014 208.6 .000 1050 35 8 00.00 1.014 173.9 .051 5 6 7 00.00 00.000 64.8 .007 6 7 31 00.00 00.000 64.4 .003 7 30 9 00.00 1.014 79.7 .006 171 8 8 10 00.00 1.014 146.6 10 31 14 00.00 00.000 63.4 11 9 28 00.00 1.014 68.7 12 10 9 00.00 1.014 62.7 13 10 11 00.00 1.014 84.1 14 12 11 00.00 00.000 61.8 15 12 13 00.00 00.000 63.0 17 14 29 00.00 00.000 60.2 18 28 15 00.00 1.014 66.0 19 11 16 00.00 .137 62.7 22 16 15 00.00 .137 60.3 23 16 17 00.00 .137 62.3 24 18 17 00.00 00.000 60.6 26 19 20 00.00 00.000 60.3 27 15 22 00.00 .938 63.8 28 17 23 00.00 .092 60.3 32 21 27 00.00 .843 62.3 33 22 21 00.00 .843 63.1 34 23 22 00.00 .092 60.0 35 23 24 00.00 .092 60.2 36 24 25 00.00 .032 60.1 37 25 26 00.00 .032 60.0 38 26 2 00.00 .019 60.0 39 21 1 00.00 .843 59.9 40 25 1 00.00 .032 59.7 41 33 27 00.00 00.000 95.0 42 27 34 00.00 00.000 95.0 43 34 3 00.00 00.000 95.0 44 4 3 00.00 00.000 95.0 47 23 1 00.00 .092 59.8 48 1 33 00.00 00.000 95.0 49 2 34 00.00 .019 95.0 .160 .002 .042 .054 .000 .003 .000 .000 .009 .094 .001 .003 .001 .005 .045 .025 .173 .070 .005 .003 .012 .008 .105 .083 .140 .000 .000 .000 .000 .156 .000 .119 IN THE FOLLOWING JUNCTIONS EXIST CRITICAL CONDITIONS JUNCTION CH4% FUMES % TEMP. F JUNCTION CH4% FUMES % TEMP. F > .05 > .000 > 95. > .05 > .000 > 95. 1 00.00 00.00 95.0 2 00.00 .02 60.0 4 00.00 00.00 95.0 8 00.00 1.01 173.9 9 00.00 1.01 71.6 10 00.00 1.01 146.6 11 00.00 .14 64.9 15 00.00 .94 65.5 16 00.00 .14 62.7 17 00.00 .09 61.8 21 00.00 .84 63.1 22 00.00 .84 63.4 23 00.00 .09 60.3 24 00.00 .03 60.1 25 00.00 .03 60.1 26 00.00 .02 59.9 27 00.00 00.00 95.0 28 00.00 1.01 68.7 30 00.00 1.01 84.3 33 00.00 00.00 95.0 34 00.00 00.00 95.0 35 00.00 1.01 208.6 ftU.S. Government Printing Office: 1990-711-297 INT.BU.OF MINES,PGH.,PA 29112 270 90 &W ,o * *-• 'A • ' * A° ^ * • - - ** ^ • sx j.-s . --ft- 4 ^ *bt- v ;flf^' "^o« ;- "W c° -^v °- S*.tik?\ c°*-iafe% S\&fc?\ c° •:£** * <*.£• > V.* i\ ** .*♦ ' 4¥^. \ >* /flB\ ♦* .*♦ ' J jv«b^ • A>^«. 3* ••!?• ^L *'T7i % ./► .♦* ..»•! ^°- V .o* X -J 1* s-j»*l. + 3 • > A v ' ."o ^. v/^ °o .*V*. %/ ..JJft, %J ,-ifljfc \./ ^jgfc %/ • • ♦ *> v