NATL INST.. OF .STAND &, TECH

OS T7325fl L_

awn MimmMtasmm

NIST

I hi

II if

A User's Guide for RAPID,

Reduction Algorithms for the

Presentation of

Incremental Fire Data

Breese and Peacock — VRS NBS N£S N5S /V#S NBS NBS AiS NBSNBS NBS NBSNBS NBS NBS NBS NBS NBS

NBSNBSNBS NBS NBS NBSI NBS "BSMSfBSf

IS NBS NBS NBS NBS NBS NBS NBS NBS NBS NB.

NBSNBS NBS NBS NBS

IS NBS NBS NBS NBS NBS NBS NBS NBS NBSNB

;

NBS NBS NBS NBS NBS NBS NBSNBS\ NBS NBS P

tS NBS NBS NBS NBS NBS NBS NBS'NBSNBSm

NBS NBS NBS NBS NBS NBS NBS- NBS NBS NBS^

?S NBS NBS NBS NBS NBS NBS NBS NBS NBS NB

NBS NBS NBS National Bureau ^^"^^NBSAB^^

tS NBS NBS NBS NBS NBS NBS NBS NBS NBS NBS

NBSNBSNBS NBS NBS NBS NBS NBS NB$ NBS - BS NBS NBS NBS NBS NBS NBS NBS NBS NBS

; NBS NBS NBS NBS NBS "BS£BS NBS£B*N

BS NBS NBS NBS NBS NBS NBS NBS NBS NBS
Tm he National Bureau of Standards' was established by an act of Congress on March 3, 1901. The M Bureau's overall goal is to strengthen and advance the nation's science and technology and facilitate their effective application for public benefit. To this end, the Bureau conducts research and provides: (1) a

basis for the nation's physical measurement system, (2) scientific and technological services for industry and

government, (3) a technical basis for equity in trade, and (4) technical services to promote public safety.

The Bureau's technical work is performed by the National Measurement Laboratory, the National

Engineering Laboratory, the Institute for Computer Sciences and Technology, and the Institute for Materials Science and Engineering

The National Measurement Laboratory

Provides the national system of physical and chemical measurement;

coordinates the system with measurement systems of other nations and

furnishes essential services leading to accurate and uniform physical and

chemical measurement throughout the Nation's scientific community, in- dustry, and commerce; provides advisory and research services to other Government agencies; conducts physical and chemical research; develops,

produces, and distributes Standard Reference Materials; and provides

calibration services. The Laboratory consists of the following centers:

• Basic Standards

• Radiation Research

• Chemical Physics

• Analytical Chemistry

The National Engineering Laboratory

Provides technology and technical services to the public and private sectors to address national needs and to solve national problems; conducts research in engineering and applied science in support of these efforts; builds and maintains competence in the necessary disciplines required to carry out this research and technical service; develops engineering data and measurement

capabilities; provides engineering measurement traceability services; develops

test methods and proposes engineering standards and code changes; develops

and proposes new engineering practices; and develops and improves

mechanisms to transfer results of its research to the ultimate user. The

Laboratory consists of the following centers:

Applied Mathematics

Electronics and Electrical Engineering2 Manufacturing Engineering

Building Technology

Fire Research

Chemical Engineering2

The Institute for Computer Sciences and Technology

Conducts research and provides scientific and technical services to aid Federal agencies in the selection, acquisition, application, and use of computer technology to improve effectiveness and economy in Government

operations in accordance with Public Law 89-306 (40 U.S.C. 759), relevant Executive Orders, and other directives; carries out this mission by managing

the Federal Information Processing Standards Program, developing Federal ADP standards guidelines, and managing Federal participation in ADP

voluntary standardization activities; provides scientific and technological advisory services and assistance to Federal agencies; and provides the technical foundation for computer-related policies of the Federal Government. The Institute consists of the following centers:

Programming Science and

Technology

Computer Systems

Engineering

The Institute for Materials Science and Engineering

Conducts research and provides measurements, data, standards, reference

materials, quantitative understanding and other technical information fundamental to the processing, structure, properties and performance of materials; addresses the scientific basis for new advanced materials technologies; plans

research around cross-country scientific themes such as nondestructive

evaluation and phase diagram development; oversees Bureau-wide technical programs in nuclear reactor radiation research and nondestructive evaluation; and broadly disseminates generic technical information resulting from

its programs. The Institute consists of the following Divisions:

Ceramics

Fracture and Deformation 3 Polymers

Metallurgy

Reactor Radiation

'Headquarters and Laboratories at Gailhmburg, MI), unless otherwise noted; mailing address

Ciaithersburg. MD 208W. -Some divisions within the center are located at Boulder, CO 80303.

I pcated at Boulder, CO, with some elements at Ciaithersburg, MD.
NBS Special Publication 722

A User's Guide for RAPID,

Reduction Algorithms for the

Presentation of

Incremental Fire Data

J. Newton Breese and Richard D. Peacock

Center for Fire Research

National Engineering Laboratory

National Bureau of Standards

Gaithersburg, MD 20899

August 1986

U.S. Department of Commerce

Malcolm Baldrige, Secretary National Bureau of Standards

Ernest Ambler, Director
Library of Congress

Catalog Card Number: 86-600565

National Bureau of Standards

Special Publication 722

Natl. Bur. Stand. (U.S.),

Spec. Publ. 722

195 pages (Aug. 1986)

CODEN: XNBSAV

U.S. Government Printing Office

Washington: 1986

For sale by the Superintendent

of Documents,

U.S. Government Printing Office,

Washington DC 20402
TABLE OF CONTENTS

TABLE OF CONTENTS i

LIST OF TABLES iv

Abstract 1

1. INTRODUCTION 1

2. Part A: Input and Output Control 4

3. Part B: Test and Instrument Descriptions , 8

4. Part C: Input Formats for Data Acquisition Systems Not Pre-Defined

in RAPID ......... 10

5. Part D: 'Skipping Data Records on Input 14

6. Part E: Input Data in Data-Acquisition- System-Dependent Formats ... 17

7. Part F: Input Data in Data-Acquisition- System- Independent Format . . 18

8. Part G: Corrections to the Data Matrix 20

9. Part H: Non-Trivial Transformations of the Data Matrix ....... 21

10. Part I: Plotting

.

22

11. Notes on the Preparation of Data Inputs (NPDI) Read by RAPID .... 25

12. Transformation Control Commands for Part H 36

12.1 Available Transformation Control Commands 37

12.1.1 Utility Commands 37

12.1.2 Basic Commands 38

12.1.3 Complex Commands 39

12.2 Data Input for Transformation Control Commands 40

13. Data Input for Utility Commands 44

13.1 Part H, Class U, Subpart a: Input Specified by Utility

Command AMBIENTS . . 45

13.2 Part H, Class U, Subpart b: Input Specified by Utility

Command AVERAGE 47

13.3 Part H, Class U, Subpart c: Input Specified by Utility

Command COMBINE 52

13.4 Part H, Class U, Subpart d: Input Specified by Utility

Command COMPUTE 55

iii
13.5 Part H, Class U, Subpart e: Input Specified by Utility

Command DELAY 58

13.6 Part H, Class U, Subpart f: Input Specified by Utility

Command DELTA 60

13.7 Part H, Class U, Subpart g: Input Specified by Utility

Command E119 62

13.8 Part H, Class U, Subpart h: Input Specified by Utility

Command INTEGRATE .... 64

13.9 Part H, Class U, Subpart i: Input Specified by Utility

Command RENAME 66

13.10 Part H, Class U, Subpart j: Input Specified by Utility

Command SEPARATE 68

13.11 Part H, Class U, Subpart k: Input Specified by Utility

Command SMOOTH 72

13.12 Part H, Class U, Subpart 1: Input Specified by Utility

Command SPECIFY . . - 75

13.13 Part H, Class U, Subpart m: Input Specified by Utility

Command STATS . 77

13.14 Part H, Class U, Subpart n: Input Specified by Utility

Command TIME 79

14. Data Input for Basic Commands 81

14.1 Part H, Class B, Subpart a: Input Specified by Basic

Command GAS% 82

14.2 Part H, Class B, Subpart b: Input Specified by Basic

Command PRESSURE 89

14.3 Part H, Class B, Subpart c: Input Specified by Basic

Command SMOKE 91

14.4 Part H, Class B, Subpart d: Input Specified by Basic

Command THERMOCOUPLE 95

14.5 Part H, Class B, Subpart e: Input Specified by Basic

Command VELOCITY 97

14.6 Part H, Class B, Subpart f: Input Specified by Basic

Command WT-LOSS 103

15. DATA INPUT FOR COMPLEX COMMANDS 105

15.1 Part H, Class C, Subpart a: Input Specifie'd by Complex

Command BALANCE 106

15.2 Part H, Class C, Subpart b: Input Specified by Complex

Command FLOW-RATE 108

15.3 Part H, Class C, Subpart c: Input Specified by Complex

Command GAS -FLOW 115

15.4 Part H, Class C, Subpart d: Input Specified by Complex

Command HEAT-RATE ; 120

15.5 Part H, Class C, Subpart e: Input Specified by Complex

Command HEAT -RATE -2 133

15.6 Part H, Class C, Subpart f: Input Specified by Complex

Command HOT/COLD 135

15.7 Part H, Class C, Subpart g: Input Specified by Complex

Command MASS -FLOW 138

iv
15.8 Part H, Class C, Subpart h: Input Specified by Complex

Command MASS -FLOW- 2 142

15.9 Part H, Class C, Subpart i: Input Specified by Complex

Command MASS -FLOW- 3 145

15.10 Part H, Class C, Subpart j: Input Specified by Complex.

Command STATIC 147

15.11 Part H, Class C, Subpart k: Input Specified by Complex

Command SURFACE 154

15.12 Part H, Class C, Subpart 1: Input Specified by Complex

Command VENT-LOSS 157

15.13 Part H, Class C, Subpart m: Input Specified by Complex

Command WT-RATE 159

15.14 Part H, Class C, Subpart n: Input Specified by Complex

Command ZERO-TC . 162

Appendix A 164

Sample Set of Input Data for RAPID 164

Listing of Input Data Set for RAPID 174

Appendix B , .178

Using RAPID on the CFR Minicomputer 178

Using the Program : 179

But, It Can Be Easier Than That .180

Other Niceties to Make Your Life With RAPID Easier 182

Appendix C 185

Selected Listings from the Program 185

PROGRAM RAPID '. 186

BLOCK DATA CRVFIT 188

v
LIST OF TABLES

Table 1. Pre-Defined Data Formats for Input to RAPID 35

Note: Certain commercial equipment is identified in this paper in order to

illustrate adequately certain device specific characteristics. Such

identification does not imply recommendation or endorsement by the

National Bureau of Standards, nor does it imply that the equipment is

necessarily the best available for the purpose.

vi
A Users Guide for RAPID,

Reduction Algorithms for the Presentation of Incremental Fire Data

Version 86.0602

J. Newton Breese and Richard D. Peacock

Abstract

The voluminous amount of data that can be collected by automatic

data acquisition systems during large scale fire tests requires

the use of a digital computer for the reduction of data. RAPID is a stand-alone program specifically designed to convert raw instrument voltages collected during such tests into meaningful

units. The reduced data can also be used alone or in combinations

to obtain quantities that require more than minimal data

reduction. The program is written with the ability to accept

data from a user defined data acquisition system, with the ability

to check the correctness of data included. Through the use of

input data provided by the user, the data can be converted into

meaningful scientific units. The data can then be presented in

tabular or printer plot form, or stored for further processing.

This user's guide provides detailed instructions for the use of

the program.

Key Words: Computer program; data acquisition; data reduction;

fire tests

1. INTRODUCTION

In 1968, the Building Research Division of the National Bureau of Standards

(NBS) approached the Computer Services Division of NBS with a proposal

concerning the design of a series of computer programs to facilitate the

analysis of automatically recorded data. During the following two years, a

system of programs called SPEED (Systematic Plotting and Evaluation of

Enumerated Data) was developed and tested. This system was announced at the

1
Ninth Annual Technical Symposium of the Association for Computing Machinery

and in an article in Computer Graphics . The following paragraphs , quoted from

the Computer Graphics article, which indicated the need for SPEED are still

valid:

"The use of digital scanning systems offers several advantages to

the research scientist. First, their rapid recording capabilities

allow for more complete data sampling. Second, automatically

recorded data is more accurate than data that has been recorded

manually

These advantages are however, to some extent, counterbalanced by

several problems which arise. Two problems are caused by the

large volume of recorded data. First, it is difficult, if not

impossible, to process large volumes of data by hand. Thus, the

scientist finds it necessary to make use of the computer.

Unfortunately, he is often unfamiliar with the capabilities and

limitations of this device. Second, when presented with a large

volume of data, it is often difficult for the scientist to rapidly

interpret the broad characteristics of general trends that may be

present. Two other problems arise in the form in which the data

are recorded. The data are generally recorded in millivolts

rather than standard units. Thus some conversion process, usually

a linear transformation, is required. Furthermore, the recorded

data are not usually directly compatible with computers. In order

for a computer to read this data some special computer program

must be used to read this data in the recorded form and translate

it into the internal computer representation." 1

During the years since its announcement, SPEED has been widely used at NBS and

other computer installations and has been rewritten once to provide new

features and a standardized system of programs with current documentation2

.

RAPID (Reduction Algorithms for the Presentation of Incremental Fire Data) is

1 Smith, John M. , Automatic Data Evaluation, Manipulation, Display, and Plotting

with SPEED, Computer Graphics, Vol. 4, No. 2, 41-53 (Fall 1970).

2 Peacock, R. D., and Smith, John M. , SPEED2, A Computer Program for the

Reduction of Data from Automatic Data Acquisition Systems, Natl. Bur. Stand.

(U. S.), NBSTN 1108 (September 1979).

2
a stand-alone program that employs the software developed for the PL0T2 phase

of SPEED2. In addition, it has been expanded and designed specifically

designed to convert raw fire test data into meaningful units. The reduced

data can be used alone or in combinations to obtain quantities that require

more than minimal data reduction.

This report provides detailed instructions for the use of the program and

describes the implementation of the various calculations available.

3
2. Fart A: Input and Output Control

PFlfiT

Input Variables Format Comments

Al INTYPE , INPRT , INPNCH

,

INSTOP , INERR , INSKIP

,

INSAVE , INTEST

815 This input contains parameters which

control the input. The various

possibilities and their meanings are:

INTYPE = 0 - read Part C data inputs

to specify a special

data acquisition system

1 - reduced data format

input images

2 - pre-processed raw data

input images in reduced data

format (see INSAVE)

3 - VIDAR 5400 series

input image format

4 - VIDAR 5400 series

magnetic tape format [not

available in this version]

5 - Hewlett-Packard 9836

input image format

6 - Hewlett-Packard 9836

magnetic tape format [not

available in this version]

7 - VIDAR Autodata 10 series

input image format [not

available in this version]

8 - VIDAR Autodata 10 series

magnetic tape format [not

available in this version]

9 - VIDAR Autodata 9 series

input image format

10 - VIDAR Autodata 9 series

magnetic tape format [not

available in this version]

4
INPRT - Directs printing of data as recorded by a data acquisition

system. If INPRT is equal to

zero, no data is printed. If

INPRT is greater than zero,

INPRT specifies the maximum

number of data records to be

printed. If INPRT is equal to

-1, all data records are printed. If INPRT is equal to

-2, only data records that

contain errors are. printed.

INPNCH - Directs the output of the data

as recorded by a data

acquisition system to

secondary storage. If

INPNCH is greater than zero,

all data records are written to

the unit specified by INPNCH.

The user may assign this unit

to any storage media.

INSTOP -. If INSTOP is non-zero,

directs RAPID to stop

execution after processing the

input data recorded by the data

acquisition system.

INERR - Specifies the maximum number of

error messages to be printed

during processing of data

recorded by a data acquisition

system.

INSKIP - If INSKIP is non-zero, read

Part D data inputs to specify

records of input data to be

skipped.

5
INSAVE - Directs the output of

interpreted raw data to mass

storage, magnetic tape, etc.

If INSAVE is greater than zero,

all data records not skipped

(see INSKIP) are written to the

unit specified by INSAVE. The user may assign this unit to

any storage media. This

"formatted raw data" may be

identified and used as input to

subsequent runs by setting

INTYPE equal to 2. The format

of the raw data saved is the same as any reduced data saved

by setting NPNCH greater than

zero (see input A2 below)

.

See NPDI [4]

.

INTEST - See NPDI [5] = 0 - include the test number (if

it exists) on input < 0 - delete the test number (if

it exists) on input

Input Variables Format Comments

A2 NTEST , NPRT , NPNCH

,

NPLOT , NCORR , NERR

615 This input contains certain parameters

which control actions concerning the

transformed data matrix. The

possibilities are:

NTEST - See NPDI [5]

- between 1 and 999, inclusive - specifies a test number to

be prefixed to reduced data

instrument numbers output

by setting NPNCH greater

than zero. = 0 - on saved output (see NPNCH)

only include the test

number if it already exists

(from input)

.

6

I'
NPRT - See NPDI [6] > 0 - print out the transformed

data matrix and summary of

minima , maxima , and

averages < 0 - print out only the summary

= 0 - no printout

NPNCH - Directs the output of the

transformed data matrix to card

punch, mass storage, or magnetic tape. If NPNCH is

greater than zero, all

data records are written

to the unit specified by

NPNCH. The user may assign

this unit to any storage media.

NPLOT - If NPLOT is non-zero, Part I data inputs are read to generate

printer plots of selected

instruments

.

NCORR - If NCORR is non-zero, Part G

data inputs are read to correct

readings of the data matrix.

NERR - Specifies the maximum number of

error messages to be generated

by any one data reduction

subroutine

.

7
3. Fart B: Test and Instrument Descriptions

PFHT a

Input Variables Format Comments

B1,B2 TITLE(1:80) .TITLE

(81:120)

A80/

A40

These two inputs specify the title of

the experiment, printed at the top of

all pages of output.

Input Variables Format Comments

B3 KH(i) ,ITYPE(i)

,

NAME ( i ), KHPRT ( i

)

16,12,

A66,A3

For each instrument included in the data

matrix, there must be a input of this

form defining the instrument number,

KH(i); the instrument type, ITYPE(i)

;

and the instrument name, NAME(i). The

instrument number, KH(i), is either the

channel number assigned by the data

acquisition system, or, for user created

instruments, a unique number assigned by

the user. NAME(i) is broken into two

parts: a 6 -character abbreviated ID that

is printed when listing or plotting

data and a 60-character description.

If KHPRT is non-blank, the transformed

instrument values will NOT be printed.

Note that all the channels may be

skipped by setting NPRT <= 0 on PL0T2

Data Input A2 . The number of inputs is

variable, with the end signalled by a input B4, below.

Input Variables Format Comments

B4 I END 77X.A3 If I END is equal to 999, this input

signals the end of the set of instrument

defining inputs, B3 above.

8
Input Variables Format Comments

B5 C(i) , ADD ( i ), POWER( i

)

IX,

3F15.6

Each C(i), ADD ( i ), and POWER(i)

represent the conversion coefficients

for all instruments of type i. There

are as many B5 inputs as there are different types of instruments as defined in the set of instrument inputs,

B3 above. (See NPDI [7]).

Input Variables Format Comments

B6 I END 77X.A3 If I END is equal to 999, this input

signals the end of the set of conversion

coefficient inputs, B5 above.

9
4. Part C: Input Formats for Data Acquisition Systems Not Pre-Defined In RAPID

pint a

If the data acquisition system is not one of the pre-defined types (see Table 1)

,

the user may have to define the formats the program will need for the input

media, the time and data readings, and the end- of- file marker.

At this time, there is only one format for specifying the input media. The

syntax for the format is below:

INPUT=DATA IMAGES, CHANNELS PER LINE=<n>

where n is any integer number >= 1 and where the number is the maximum number of

channels found on a single input image.

As is noted, the format is a specification for data images. Data added from mass

storage or tape files, and data transferred from remote terminals are considered

DATA IMAGES

The syntax for defining the data readings, time readings, and end- of - record and

end- of -file markers is the same for all four:

10
READING=<pattern> or TIME=<pattern> or EOR=<pattern> or EOR=EOR or EOF=<pattern> or EOF=EOF

where pattern is defined by

[N1 ]*(C1 )[N2 ]*(C2 )[N3 ]*(C3

) ... [Nm

. 2 ]*(Cm _ 2 )[N|n . 1 [Nm ]*(Cm )

and

Nx , N2 , N3 ... Nm-2, Nm-1, Nm = any integer greater than or equal to 1

C x

, C2 , C3 ... Cm- 2, Cm-1, Cm = one or more of the following

character specifications:

S - the seconds portion of the time reading

M - the minutes portion of the time reading

H - the hours portion of the time reading

D - the days portion of the time reading

N - any numeric digit (0-9)

A - any alphanumeric character

C - a channel number digit

-Kchar> - the character <char> used to

identify a positive reading

-<char> - the character <char> used to

identify a negative reading

V - a numeric digit of the value of the instrument

reading

R - a numeric digit of the value of the instrument

reading, possibly with an embedded decimal point

E - a numeric digit of the exponent of the instrument

reading

0<char> - the character <char> used to identify an overflow in the instrument reading

K<char> - a special single character <char>

If several possibilities exist for a single character, then all possibilities are

placed within the parentheses. For instance, if a single character is used to

indicate +, -, or overflow, it might be coded as (+1-209) defining the plus

indicator as 1, the minus indicator as 2, and the overflow indicator as 9.

11
Consider a reading as follows: three digits of channel, a single indicating the

sign of the reading or overflow, five characters indicating the value of the

reading, a single character exponent and two spaces. It could be coded as:

READING=(C)(C)(C) (+1-209) (V) (V) (V) (V) (V) (E) (K ) (K )

or equally

READING=3*(C) (+1-209)5*(V) (E)2*(K )

The forms EOR-EOR and E0F=E0F are used for magnetic tape media and indicate,

respectively, that the data records are separated by physical record gaps on the

tape and that there is a physical end-of-file mark on the tape.

Data Inputs CI through C5 are only entered if parameter INTYPE (Data Input Al) is

zero

12
Input Variables Format Comments

CI IN A80 IN - the input media definition

Input Variables Format Comments

C2 IN A80 IN - the reading definition

Input Variables Format Comments

C3 IN A80 IN - the time definition

Input Variables Format Comments

C4 IN A80 IN - the end- of- record (EOR)

definition

Input Variables Format Comments

C5 IN A80 IN - the end-of-file (EOF)

definition

13
5. Fart D: Skipping Data Records on Input

FUST 1

Part D specifies the records to be skipped during the processing of data recorded

by a data acquisition system. The records identified to be skipped are ignored

on input; no translation of the skipped records is done.

There are two methods of describing which records are to be skipped:

1. Up to 16 different records can be enumerated by entering the scan

number of the record to be skipped.

2. A "skip/keep" pattern, defining the records to be skipped and kept

can be input

For method 2, the input form is defined as follows:

SKIP=(C1 N1 )R1 (C2 N2 )R2 ... (q.-xVi)".-!

where

14
C£ = S or K or F

where, S stands for Skip

K stands for Keep

F stands for Final record

N± = any number >= 1 where the number is an integer indicating

the number of times the preceding C is to

be repeated

Ri = any number >= 1

where the number is an integer indicating

the last record number on which the CN pair

is impacted

Like the data system format specifications, if several combinations exist for a

single Ci Ni pair, than all possibilities are placed within the parenthesis. For

example, if the user wishes to skip two records and one record from record 1 to

record 200, it would be coded as (S2K1)200.

Consider the coding for the following requirements — The user wishes to keep

records 1 to 5; skip 2 records and keep 1 record for records 6 to 150; and keep

every record for records 151 to 599; record 600 is to be the last record

processed:

SKIP=(K1)5 (S2K1)150 (Kl)599 (Fl)600

Note that care should be taken to ensure that no overlaps or conflicts exist in

the pattern. If conflicts exist, the first encountered sepcification that

applies to a given input record will be used, leading to potentially

unpredictable results

.

15
Part D should only be entered if parameter INSKIP (Data Input Al) is greater than

zero

Input Variables Format Comments

Dla ISKIP(l) ,ISKIP(2)

,

. .

. ,ISKIP(i)

1 <= i <= 16

1615 This is method 1

ISKIP - the number of the record to

be skipped

Input Variables Format Comments

Dlb IN A80 This is method 2.

IN - the skip/keep pattern as described above

16
6. Fart E: Input Data in Data-Acquisition- System-Dependent Formats

PART

Part E data images are the data recorded by the data acquisition system prepared

in the format recorded by a data acquisition system. Different formats, such as

those described in Table 1 or as defined using Part C data images, are possible.

If the data images were prepared by an earlier run of RAPID (by setting INPNCH

greater than zero) , the set of data images produced should be in the proper

format for insertion at this point.

17
7. Part F: Input Data in Data-Acquisition- System- Independent Format

HFJT

Part F data images are the data recorded by the data acquisition system or by and

earlier run of RAPID in a format that is generated when INSAVE and/or NPNCH are

greater -than zero. If the data being input were created in one of those two

ways, it already should be in the correct format for insertion at this point.

If the data are being generated in some other way, the format of the inputs is as

described below. One set of Fl and F2 inputs should be prepared for each instrument .

Part F data inputs are read only if parameter INTYPE (Data Input Al) is equal to

2 or 4.

Input Variables Format Comments

Fl NPTS , KH , NAME1 , *

,

216, NPTS - the number of data points for

NAME2 A6.A1, this instrument

A60 KH - the instrument number

NAMEl - a six character abbreviated ID * = '*' NAME2 - a 60 character description of

the instrument

Note that the string '999' in columns

78-80 terminates the reading of Part F

data inputs

18
Input Variables Format Comments

F2 REED(l) ,REED(2) 7E11.5 Note that as many F2 inputs as necessary

REED(i) should be entered until all NPTS data

1 <= i <= NPTS points have been entered.

REED - a data point

19
8. Part G: Corrections to the Data Matrix

PF1NT S

Part G data inputs are read only if parameter NCORR (Data Input A2) is non-zero.

As many additional sets of Gl and G2 inputs as are required may be included at

this point to make the necessary corrections.

Input Variables Format Comments

Gl IRL,IRH,ICL,ICH 415 The variables define a low row index

(IRL) , a high row index (IRH) , a low

column index (ICL) , and a high column

index (ICH) to define the portion of the

data matrix to be corrected. See NPDI

[9].

Note that setting IRL less than zero terminates the reading of Part G data

inputs

Input Variables Format Comments

G2 REED(i,j) ,i=IRL,IRH,

or j=ICL,ICH

8F10.0 These are the corrections to the matrix.

The number of inputs required depends on

the number of corrections:

GInt

(IRH-IRL)+(ICH-ICL)+1

8 + 1

where GInt represents the greatest

integer function.

20
9. Fart H: Non-Trivial Transformations of the Data Matrix

FIFiT h

In Part B, above, it is possible to identify conversion constants for each

instrument that allow the user to multiply, add to, and raise to a power, the

value of each instrument by those constants.

However, in many cases the use of those constants is not sufficient to transform

the raw data into values of use to the test analyst. Therefore, a large set of

subroutines is included at this point to allow the conversion and manipulation of

not only raw data, but also the combinations of converted data needed to produce

the complex variety of values required for good fire test analysis.

The description of the input for Part H is rather extensive, so, in order to

preserve the continuity of this document, it is included after Table 1.

21
10. Part I: Plotting

PflFtiT I

Although not always precise in the conveyance of information, printer plots can

be a useful tool to the test analyst.

Three forms of plots can be used here:

1 . PLOT Nx Nyl Ny2 . . . Nym

where Nyl, Ny2 , Nym are any number of instrument numbers representing

the y-axis values being plotted versus instrument number Nx, the x-axis

values

2. PLOT Nxl.Nyl Nx2,Ny2 ... Nxm.Nym

where Nyl, Ny2 , Nym are any number of instrument numbers representing

the y-axis values being plotted versus instrument numbers Nxl , Nx2

,

Nxm (respectively), the x-axis values.

3 . PROFILE

where, typically, values are plotted versus position rather than versus

time

22
Part I data inputs are read only if parameter NPLOT (Data Input A2) is non-zero.

Input Variables Format Comments

11 IN A80 IN - one of the three forms of plots

described above. If form 1 or 2 is used, and there is not

enough room on one input to

identify all the instrument

numbers required, this input

may be continued by placing a semicolon (;) on the input.

See NPDI [3]

Input Variables Format Comments

12 GTITL A80 GTITL - the 80 character graph title

printed above the graph. If

Form 3 of input 11 was used,

GTlTL is concatenated with the

string

' PROFILE OF THE FOLLOWING

CHANNELS :

Input Variables Format Comments

13 JCHAN(l) ,JCHAN(2)

. .

. ,JCHAN(i) X

1 <= i <= 20

EVALU8

(NPDI

[2])

Read this input only if Form 3 of input

11 is used.

JCHAN - the instrument number of the

values to be plotted in the

profile (see NPDI [3]). These

values are the x-axis values.

X = ' X' - the end- of- set mark

Input Variables Format Comments

14 P0S(1),P0S(2)

POS(j) X

j=i

EVALU8

(NPDI

[2])

Read this input only if Form 3 of input

11 is used. . POS - the position of instruments

identified with input 12;

these values are the y-axis

values

X = ' X' - the end- of- set mark

23
Input Variables Format Comments

15 JTIME.ISCAN(l)

,

ISCAN(2)

ISCAN(k) X

1 <= k

EVALU8

(NPDI

[2])

Enter this input only if Form 3 of input

11 is used.

JTIME - the time channel instrument

number (see NPDI [3]).

ISCAN - if ISCAN is an integer, it is

the scan number of the values

of the JCHAN to be used.

- if ISCAN is a real (has a decimal point) it is the time

of the values of the JCHAN to

be used. If the time cannot be

exactly matched, the time

nearest without going over is

used.

X = ' X' - the end- of- set mark

Input Variables Format Comments

16 XL , XH , YL , YH open

(NPDI

[1])

XL - lower limit of the X axis

XH - upper limit of the X axis

YL - lower limit of the Y axis

YH - upper limit of the Y axis

Input Variables Format Comments

17 XBUFF , YBUFF 2A40 XBUFF - the 40 character x-axis title.

XBUFF will be centered by the

program

YBUFF - the 40 character y-axis title.

YBUFF will be centered by the

program.

24
11. Notes on the Preparation of Data Inputs (NPDI) Read by RAPID

1ETE5

NPDI [1] Open (List Directed) Formats

When entering values using an open (list directed) format, the value of the

variable being entered must match the variable type (e.g., when entering an

integer, a value with a decimal point must not be found). Therefore, variable

names used in this program follow the standard convention for typing:

unless otherwise noted -

variable names beginning with the letters A through H or 0 through Z

are real;

variable names beginning with the letters I through N are integer.

NPDI [2] Special Format Read by Subroutine EVALU8

Subroutine EVALU8 is a general purpose data input reading routine. It is called

by many of the data reduction subroutines. It reads and counts the number of

input values on the input, stores them and their types (integer or real) in data

arrays, and returns the data and control to the calling subroutine.

25
An input value is defined as the string of digits and/or characters found between

spaces or commas on a data input. The end of the set of values is signaled by

the characters ' X' (space, X) after the last value. When no limit is imposed by

the calling subroutine, up to 100 values may be read in one set. If all the

values cannot fit on one input, they may continue on to the next input. Inputs

will continue to be read until ' X' or an illegal character is encountered. If

no digits or characters are encountered before the first comma or between commas,

a real value of 0.0 is assumed.

The legal digits and characters are as follows:

0

1

2

3

4

5

6

78

9+ (plus)

- (minus)

. (decimal point)

E (exponent)

$ (dollar sign)

, (comma)

(space)

X

This subroutine will accept either integer or real values with the stipulation

that the values must match the type of the variable being entered. (See NPDI [1]

above). A real value must include a decimal point or "E"

26
The dollar sign ($) has a special meaning to this subroutine. It signals that a

channel created during execution of the program is to be used. The number

following the dollar sign represents the order in which the channel was created.

The dollar sign and the digits are automatically replaced by the channel number

in which the values are stored. See NPDI [3], below.

Note that the format described here is almost identical to "open" (list directed)

format. The difference is the limit on the number of values that can be read and

the special characters: the dollar sign ($) and letter X.

NPDI [3] Channels Created by the Program

This program creates new channels in which to store some of the calculated data.

To identify a created channel for use by a data reduction subroutine or by the

plot routine (data input II) , only the order in which the channels were created

need be known. For example, to plot the data stored in the fifth channel

created, enter the number '$5' where the channel number is normally entered. The

program automatically replaces the dollar sign ($) and the 5 with the proper

channel number. This method of identifying a channel may be used in any of the

subroutines when the input data are read using subroutine EVALU8 . (See NPDI [2]

above) . It may also be used when entering channel numbers for plots or as noted

in other specific command instructions.

The dollar sign method of identifying created channels can not be used if the

channel was created in a previous execution of the program. In those cases, the
channel must be handled in the normal manner, appearing in the instrument list

(data input B3) and using the complete, right- justified, six-digit number.

The created channel numbers can be assigned for use in two ways: automatically

by the program and by the user by means of the SPECIFY command. If the program

chooses the channel number, the number is chosen such that the smallest available

channel number from an unused series of channels is used. (Note: a channel

series is a value from 0 to 9 and is identified by the first digit in the channel

number (see NPDI [5] below). The program checks the original instrument list and

determines the series which have channels used. The remaining series are put in

the created channel pool for use as needed. The total number of channels that

can be automatically drawn from the pool is then the number of empty series times

100. Also, for that reason, it is wise to choose a channel number for time in a

series that is already being used.

NPDI [4] Saving Unreduced (Raw) Data in a Formatted Data Matrix

The option for saving raw, unreduced data in .a formatted data matrix is input on

Data Input Al (Variable INSAVE) . By setting INSAVE to the appropriate value the

first time the raw data set is used, a formatted raw data set can be saved.

Since this new data set is in a data-collection- system- independent format, the

program can (in subsequent executions) read the input data without having to

interpret for format correctness (i.e., read numbers instead of reading character

by character), which is significantly faster.

28
NPDI [5] Instrument Numbers - Management of the Test Number Prefix

An instrument number is a six digit number whose first three digits represent a

test number and whose last three digits represent a channel number. There are

two variables, INTEST (Data Input Al) and NTEST (Data Input A2) , that control the

test number prefix part of the instrument numbers. INTEST controls the prefix

during input, NTEST controls the prefix during output (when NPNCH (Data Input A2)

is greater than zero)

INTEST can direct the program to either pass the test number through or to strip

off the test number, leaving only the channel number (effectively it changes the

test number prefix to 000, which is insignificant). If the test number is passed

through and it is NOT insignificant, it must be used when identifying instruments

for data transformations and plotting.

NTEST can direct the program to pass the test number "as is" to the saved reduced

data file or to replace the test number with a value between 1 and 999 inclusive.

NTEST has no effect if NPNCH is zero, since no reduced data are saved.

NPDI [6] Output of the Transformed Data Matrix

The option for printing (or not printing) the transformed data matrix is input on

Data Input A2. In the SPEED2 version, the matrix is either not printed

(NPRT.EQ.O) or printed (NPRT.NE.O). The RAPID version is slightly different in

29
that it prepares a table of minimums , maximums and averages for each channel and,

consequently, the options for NPRT have also changed:

NPRT - 0, neither data matrix nor summary table is printed

< 0 , only the summary table is printed

> 0, both the matrix and the summary table are printed.

This change is compatible with earlier versions of the program.

NPDI [7] Constant Value Conversion Inputs

In subroutine CONV, after all other conversions and calculations are done, the

data undergo one final reduction before finally leaving the subroutine . In the

SPEED2 version, this reduction is linear and of the form

REED = (REED * C) + ADD

where C and ADD are constants entered with data input B5 . The RAPID version is

different in that it includes an exponential value

REED - ((REED * C) + ADD) ** POWER

where C, ADD, and POWER are the constants entered.

Data input B5 is modified as follows to accommodate the change:

30
Variables: C(i) , ADD(i) , POWER(i)

Format: 1X.3F15.6

The following default conditions exist to help avoid errors:

if ABS (POWER) < 1. and (REED * C) and ADD < 0, then the

calculated value defaults to zero.

if POWER = 0. , POWER defaults to 1.

The automatically assigned constant values for channels created by the program

are

C = 1.0 ADD =0.0 POWER =1.0

This change is compatible with earlier versions of the program.

NPDI [8] Variables in Brackets ([]) and Braces ({})

In the documentation above, some of the variables in the variable lists under

each command appear within brackets ( [ ] ) or braces ( { } ) . The variables within

brackets are optional; the variables with braces are conditional. The options

and/or conditions are specified to the right under the Comments. If the variable

31
is not used as an argument, the comma used to separate it from the other variables (if used) should also be omitted.

NPDI [9] Making Corrections to the Data Matrix

RAPID also provides the capability of modifying or correcting entries in the

input matrix. Any number of corrections may be made; however, any single

correction may apply only to one single entry, consecutive entries in a single

column, or consecutive entries in a single row. Corrections are expected if and

only if the parameter NCORR (Data Input A2) is set non-zero by the user.

Assuming NCORR is non-zero, RAPID will read a input containing the variables IRL

(a low row index) , IRH (a high row index) , 1CL (a low column index) , and ICH (a

high column index). The following restrictions apply:

a. Either IRL=IRH or ICL=ICH or both. Note, if IRL=IRH , all corrections apply

to a single row. If ICL=ICH, all corrections apply to a single column. If

IRL=IRH and ICL=ICH, a single entry will be corrected.

b. IRL is greater than zero but less than or equal to IRH or IRL is less than

zero. IRL less than zero signifies the end of the corrections.

c. ICL is greater than zero but less than or equal to ICH or both ICL and ICH

are less than zero. Note that ICL and ICH must be both positive or both

negative. If they are negative, they are interpreted to be instrument

32
numbers rather than column numbers. In this case, the column i in which

instrument number ICL is stored is found. Similarly, the column j in which

instrument number ICH is stored is found. Then the values of ICL and ICH

are replaced by i and j respectively. The restriction becomes i is greater

than zero but less than or equal to j

Failure to satisfy any of the above restrictions will result in an error message

being printed and may result in all following data inputs being out of order.

Thus, particular care must be taken in the preparation of this input.

There are, in effect, only three valid combinations. They are:

a. IRL is equal to IRH and ICL is equal to ICH meaning correct entry

REED (IRL, ICL)

b. IRL is less than IRH and ICL is equal to ICH meaning correct entries

REED (IRL, ICL) , REED ( IRL+1 , ICL) , REED ( IRH- 1 , ICL) and REED (IRH, ICL)

c. IRL is equal to IRH and ICL is less than ICH meaning correct entries

REED (IRL, ICL) , REED ( IRL, ICL+1) , REED (IRL, ICH-1) and REED (IRL, ICH)

In any of the above cases, the number of entries to be corrected is

(IRH- IRL) + (ICH- ICL) + 1

33
These entry corrections are read from a series of data images prepared in the

format 8F10.0.

34
Table 1. Pre-Defined Data Formats for Input to RAPID

1 - reduced data format input images

2 - pre-processed raw data input images in reduced data format

3 - VIDAR 5400 series input image format

4 - VIDAR 5400 series magnetic tape format

5 - Hewlett-Packard 9836 input image format

9 - VIDAR Autodata 9 series input image format

10 - VIDAR Autodata 9 series magnetic tape format

FORMAT

J. N End Of End Of

T

Y

Record File

P Input Input

E Reading Time Tape Image Tape Image

1 s . wvwEsee s . wwvEsee none 77*b999

2 s . wwvEsee s .wwvEsee none 77*b999

3 c cc swwvebb sss6ssssssbb bX FILEND

4 c cc swwvebb sss6ssssssbb EOR EOF

5 CcccbswwwvEeeebbX aaaabddaaaaaaaaabhh : mm : ss EOR EOF

9 cccbswwwaaaeX dd:hh:mm: ssaaaaX bX FILEND

10 cccbswwwaaaaX dd : hh : mm : ssaaaaX EOR EOF

a - any character

o - an overflow indicator

c - a channel number

digit

s - sign of a reading

b - blank

v - magnitude of reading

e - exponent of a reading n - a numeric (0 - 9) r - value of a reading

d,h,m,s - days, hours,

minutes , seconds of

a time reading

C - the character "C"

E - the character "E"

X - the character "X"

: - the character "

:

EOR - magnetic tape

end of record

EOF - magnetic tape

end of file

If a number is followed by a star (*) , the character immediately following the

star is repeated that number of times.

35
12. Transformation Control Commands for Fart H

Data Reduction and Transformation Subroutines

There are 33 commands that the main conversion subroutine uses to call the

subroutines needed to perform the data transformations routinely required for

fire test data. For discussion and documentation purposes only, these commands

and subroutines can be divided into three classes: utility, basic, and complex.

The utility class performs operations on reduced data such as integrating and

averaging.

The basic class calculation is one in which, with the exception of temperature,

only the values from one instrument are required. Typically, the basic class

calculation does not create any new channels.

The complex class calculation requires at least two sets of instrument values or

other information, such as instrument position. Typically, the complex class

calculation creates one or more new channels in order to store the calculated

results

36
The subroutines that actually perform the data reduction are invoked by entering

a command (beginning in column 1) with data input HI. When a subroutine is

called, it will look for the additional input information needed to perform the

data transformation. When the data transformation is complete, control returns

to the main conversion subroutine, which looks for the next command to be

executed.

A brief description of each subroutine is shown in the following sections.

12.1 Available Transformation Control Commands

12.1.1 Utility Commands

Class Subpart Command Purpose

U a AMBIENTS

(Utility)

b AVERAGE

COMBINE

override default values of ambient

temperature, pressure and relative humidity

find the average of "n" channels; upper and/or

lower limits may be set for each channel and

the average may be weighted

concatenate the values from more than one channel over specific intervals of the complete

test in order to create a new, continuous,

channel

COMPUTE find the result of any FORTRAN- like algebraic

expression; operations are add, subtract,

multiply, divide, raise to a power,

find minimum or maximum; operands may be

constants or channel numbers

e DELAY

f DELTA

adjust the values of specific channels

to account for a delay in response, etc

find the difference between consecutive

readings of the same channel

37
m

n

E119 create a channel with the standard E119

temperature (°C or F) for each time scan using an identified time channel

INTEGRATE integrate a channel with respect to time

RENAME give meaningful names (other than the default

names) to created channels

SEPARATE for channels that store information from more than one instrument, separate and store the

individual results in individual channels

SMOOTH reduce the "noise" in a channel using a sliding least- squares straight line fit for

small sections of the curve

SPECIFY specify the channel number that a created

channel will receive

STATS calculate various statistics regarding any

particular channel: minimum, maximum,

average , time to exceed a particular value

,

etc

TIME convert h/m/s to elapsed s and/or add a time

shift to the existing, or a new, time channel

12.1.2 Basic Commands

Class Subpart Command Purpose

B

(Basic)

GAS% calculate concentrations of different gases

PRESSURE calculate static pressure

SMOKE calculate smoke optical density

THERMOCOUPLE convert voltage output to temperature for

or TC various different types of thermocouples

VELOCITY calculate gas velocity

WT-LOSS calculate total weight loss of monitored items

38
12.1.3 Complex Commands

Class Subpart Command Purpose

C a BALANCE

(Complex)

b FLOW- RATE

c GAS -FLOW

d HEAT -RATE

e HEAT -RATE -2

f HOT/COLD

g MASS -FLOW

h MASS -FLOW

calculate rate of heat release from total

energy balance

find neutral plane height and calculate volume

flow rate, mass flow rate, and convective

energy transport rate in and out of a chamber

using gas velocity

calculate the mass flow rate through an opening of any gas whose concentration,

velocity, and temperature are known

calculate the rate of heat release from gas

concentration (oxygen depletion) , gas

velocity, and gas temperature

calculate the rate of heat release from

oxygen depletion, gas velocity, and gas

temperature; specifically designed for use when only one of each type of instrument is

used (no profiles)

find the position of the hot/cold interface

as determined by the temperatures from an identified profile

calculate neutral plane height and mass flow

rate of gas through an opening using gas

temperature profiles

calculate the mass flow rate of gas through

an opening using temperature profiles and

a neutral plane height determined by another

source

39
MASS -FLOW

STATIC

calculate the mass flow rate of gas through

an opening using a single gas velocity

measurement and the area of the vent

perpendicular to the gas flow

find the neutral plane height, thermal

discontinuity height, pressure at the thermal

discontinuity height, opening gas velocities,

and interior temperatures from static pressure

inside chamber.

m

n

SURFACE calculate average and total heat loss rate and

total incident heat flux to a surface

using surface temperature

VENT-LOSS "calculate radiative heat loss through an opening using exhaust gas temperature

WT-RATE calculate percent weight loss, rate of weight

loss, and rate of heat release from total

weight loss

ZERO-TC calculate zero diameter thermocouple

temperatures from least squares fit of

temperatures from various sized thermocouples

12.2 Data Input for Transformation Control Commands

The commands may be given in any order and as many times as necessary. The end

of data transformation is signaled by entering the command "END".

Note that many of the subroutines called "create" new channels in which to store

the calculated or transformed results. These channels must be included when

counting the number of channels used. Make sure the parameter NCOL in the main

program, RAPID, is large enough. Up to 1000 channels may be created by the

program

All units are metric for both input and output unless otherwise noted.

40
Input Variables Format Comments

HI CMD , COMENT A80 At least the "END" command must be

entered! All commands MUST begin

in column 1 and MUST NOT contain any

spaces. However, there are some abbreviations that may be used. The

end of the command is signified by at

least one space; the rest of the input

may contain any comment you wish to

make . An unrecognizable command will

cause program termination.

The inputs required by the subroutine

called should directly follow each

command. When the transformation

performed by the subroutine is complete

the next command may be entered.

Note that any part of the command in

brackets is optional and the commands

may be in upper or lower case. CMD = A[MBIENTS] - subroutine AMBSET

class U

subpart a = AV [ ERAGE ] - subroutine AVRAGE

class U

subpart b = B[ALANCE] - subroutine BALNCE

class C

subpart a = COMB[INE] - subroutine COMBIN

class U

subpart c - C[OMPUTE] -'subroutine COMPUT

class U

subpart d = DELA[Y] - subroutine DELAY

class U

subpart e = D[ELTA] - subroutine DELTA

class U

subpart f = E[119] - subroutine E119

class U

subpart g = F[ LOW-RATE] - subroutine FLORAT

class C

subpart b

41
G[AS%] - subroutine GASCON

class B

subpart a GAS- [FLOW] - subroutine GASFLO

class C

subpart c H[ EAT -RATE] - subroutine RHRDOX

class C

subpart d

H[EAT-RATE- ] 2

-subroutine RHRD02

class C

subpart e H0[T/C0LD] - subroutine HTNCLD

class C

subpart f

I [NTEGRATE] - subroutine INTGRT

class U

subpart h

M[ASS-FLOW] - subroutine MASFLO

class C

subpart g

M[ASS-FLOW- ]2 -subroutine MASFL2

class C

subpart h

M[ASS-FL0W-]3 -subroutine MASFL3

class C

subpart i

P[RESSURE] - subroutine PRESS

class B

subpart b

R [ ENAME ] - subroutine NUNAME

class U

subpart i S [ EPARATE ] - subroutine SEPRAT

class U

subpart j

SM[OKE] - subroutine SMOKE

class B

subpart c SMOO[TH] - subroutine SMOOTH

class U

subpart k

SP[ECIFY] - subroutine SPECFY

class U

subpart 1 ST[ATIC] - subroutine STATIC

class C

subpart j
STATS

= SU[RFACE]

thermocouple;

or TC

= T [ IME

]

= V[ELOCITY]

= VEN[T-LOSS

= W[T-LOSS]

= WT-R[ATE]

= Z[ERO-TC]

= END

subroutine STATS

class U

subpart m

subroutine SURFAC

class C

subpart k

I subroutine TC

class B

subpart d

subroutine TYME

class U

subpart n subroutine GASVEL

class B

subpart e subroutine VENT

class C

subpart 1

subroutine WTLOSS

class B

subpart f

subroutine WTRATE

class C

subpart m

subroutine ZDIAM

class C

subpart n

end of Part

H input

COMENT - beginning with the first

position after the space, any

comment you wish to make

.

At this point enter the input specified under each command as it is given.

43
Data Input for Utility Commands

44
13.1 Part H, Class U, Subpart a: Input Specified by Utility Command AMBIENTS

FMSIEnTS

The subroutine can assign values other than default values to the ambient

temperature (°C), pressure (kPa) , and relative humidity (%) . The ambient air

density (kg/cu m) is calculated using the ambient temperature and pressure and is

not available to be set.

The default ambient values are:

Temperature = 20 °C

Pressure = 101.3 kPa

Relative Humidity = 50. %

Air Density = 1.205 kg/cu m

It is possible to give the command AMBIENTS more than once. However, any ambient

that is set using this subroutine, will remain at the value given until reset

also using this subroutine. The values set here are in effect and are available

throughout the program. Any other subroutine that is called that requires an

ambient value will use the most current value of the ambient. It is not necessary to issue the command AMBIENTS if the default values are to be used.

45
Input Variables Format Comments

HUal CTRL A80 Only one of these inputs is read each

time the command AMBIENTS is given. The

program searches for each of the three

"key-words" that identify which ambient

value is to be set:

"AMBT=" - set ambient temperature,

°C

"AMBP=" - set ambient pressure, kPa

"AMBRH-=" - set ambient relative

humidity, percent

After each key -word, the next five characters are assumed to be the value of

the ambient being set, in F format (e.g.

"AMBT= 238.54" would assign the value

238. °C to the ambient temperature;

the 5 and 4 are ignored since they are

the sixth and seventh characters.

Any or all of the ambient values may be

set with this control input. If more

than one value is set, be sure that at

least 5 characters (including blanks)

separate each key-word. The key-words

may appear on the control input in any

order

Enter Another Command (Data Input HI)

46
13.2 Part H, Class U, Subpart b: Input Specified by Utility Command AVERAGE

F11EHF1GE

The subroutine finds the average of the values from up to 25 channels. The

average may be a weighted average and lower and/or upper limits for the values

may be specified.

The general format for entering the information for the average is as follows

:

[<lim>] ch(l) [wf (1) ] [<lim>] ch(2) [wf(2)] ... [<lim>] ch(i) [wf(i)] X

for 1 <= i <= 25.

In the format above, brackets (i.e., []) surround values that are optional inputs

(the brackets themselves should not appear on the input input) . Note that the

limits (lim) appear within "limit delimiters" - O - and that, once set, apply to

the values of all channels that follow until they are reset. You may specify a

lower limit only, an upper limit only, both a lower and an upper limit, or no

limits. Initially no values are set and, thus, no limits will be used unless

specified. Conversely, the weighting factor (wf) only applies to the channel

that it follows. If no weighting factor is specified, the weighting factor

defaults to 1.0. The commas are optional. The "X" signals the end of the input

and is strictly required. Often, one input will not allow sufficient space to

enter all the input desired. Therefore, the input may appear on any number of

47
inputs as long as not more than 500 characters are used (including spaces and the

"X") .

The specific format for entering limits is as follows:

< [R or D] lower limit] •[ [R or D] upper limit1

>

As in the general format above , values or characters within a set of brackets are

optional. To identify that limits are being entered, a set of less-than (<) and

greater- than (>) symbols (limit delimiters) must surround the limits. The limits

themselves may be real or integer values; however, an integer value is assumed to

be a channel number. If the limit is a real value, the value of the limit is

constant. If the limit is a channel number, the value of the limit is the value

stored in the channel at the time being averaged. If a channel number that does

not exist is entered as a limit, the run terminates.

The "R" and "D" stand for REPLACE and DELETE, respectively. If a value is

outside a limit that has an "R" attached to it, the value being averaged is

replaced by the limit value. If outside a limit that has a "D" attached, the

value is not used to find the average and the population of the average is

decreased by the weighting factor for that channel. If neither "R" nor "D" is

entered, "R" is assumed.

48
A lower limit only, an upper limit only, both lower and upper limits, and no

limits may be specified. The different combinations of limits is obtained as

follows ( indicates a channel or constant value)

< > or < ,> - set lower limit only, no upper limit

<, > - set upper limit only, no lower limit

<——, > - set both limits

O or <,> - set no limits

Note that an empty field is not the same as having a limit set to zero. Also

note that a comma may appear if a lower limit is set but must appear if an upper

limit is to be set (an error will occur if one is not found)

The specific format for entering a weighting factor is as follows:

[* ]

where ; stands for the weighting factor value.

The brackets again indicate that the weighting factor is an optional entry. To

identify that a weighting factor is being entered, a "*" must be prefixed to the

weighting factor value. The value itself may be a real or an integer, but will

be treated by the program as a real.

Note that anywhere in this subroutine that a channel number is allowed as an

entry, a created channel number can be specified by using the method described in

the Notes on the Preparation of Data Inputs Read by RAP-ID (see NPDI [3]).

49
Following is an example of a typical input record:

321 322*1.5 323 <320,D1000.> 324,*2,325 O 326 <,R1000.> 327 X

The record above would be deciphered as follows:

C C c C o R C o R

h W F h n e D h n e a e a L L a s p e U L a s P n i c o i n t 1 1 P i n t 1 n g t w m n a a e p m n a a

e h o e i eon cot e i eon c o

1 t r r t 1 r t ere r t 1 r t e r

321 1. 0 none none

322 1. 5 none none

323 1. 0 none none

324 2. 0 320 chan rep 1000. const del

325 1. 0 320 chan rep 1000. const del

326 1. 0 none none

327 1. 0 none 1000. const rep

One channel is created by the program for each average found.

50
Input Variables Format Comments

HUbl NAVG open

(NPDI

[1])

Only one of these inputs is read each

time the command AVERAGE is given.

NAVG - number of average calculations

to be made . Prepare NAVG

sets of HUb2 inputs. NAVG

channels will be created

Input Variables Format Comments

HUb2 IN A80 Any number of these inputs may be used

for a single average (up to 500

characters including spaces and

the "X" )

IN - the input record as described

in the discussion above

Enter Another Command (Data Input HI)

51
13.3 Part H, Class U, Subpart c: Input Specified by Utility Command COMBINE

QDRI3I1E

The subroutine concatenates values from identified channels over specified

ranges. The resulting data vector is stored in a channel created by the program.

It is useful for combining into one channel, the values from two or more

channels, such as when two instruments with different ranges are used to measure

the same phenomenon.

A time (in seconds) or a scan number may be used to identify when the values from

a channel are to begin being included. If a time is used, the actual scan number

(j) is determined internally such that t(j-l) < time <= t(j), and where t(i) is

the time at the ith scan. The values from a channel continue to be included

until the next beginning scan number is reached (if there is one) . If desired,

times and scan numbers can both be used (a time for one channel, a scan for the

next , etc . )

If the range of the first channel begins sometime after the first scan, the scans

of the created channel are undefined and arbitrarily set to zero.

The scan numbers (or times) need not be entered in any particular order except

that they should match the same relative order in which the channel numbers to be

combined were entered. Ordering of the scans is done internally.

52
For example, if the combined channel were to be made up of three different data

channels over four intervals, the inputs might look like this:

621 622 621 650 X

0. 300. 600. 250 X

This set of inputs instructs the subroutine to create a channel made up of the

values from channel 621 from time 0. up to, but not including, the value at time

300. seconds. From 300. up to, but not including, 600., the values from channel

622. From 600. seconds up to, but not including, the value at scan 250, the

values from channel 621 again. And from scan 250 to the end, the values from

channel 650.

Card Variables Format Comments

HUcl NCOMB [,JTIME] open

(NPDI

[1])

Only one of these inputs is read each

time the command COMBINE is given.

NCOMB — number of combinations of

channels to be made . Prepare

NCOMB sets of HUc2 and HUc3

inputs. NCOMB. channels will

be created.

JTIME — the time channel number.

If times are to be used to

define the beginning of an

interval, this value must be

entered.

Card Variables Format Comments

HUc2 JCHAN(i) X

1 <= i <= 20

EVALU8

(NPDI

[2])

JCHAN — channel number of values to be

included in the combination

(NPDI [3]).

53
Card Variables Format Comments

HUc3 (IB(i) or BTIME(i)

}

X

1 <- i <- 20

EVALU8

(NPDI

[2])

These values are used to identify the

beginning of the interval corresponding

to the data channels above.

IB — a scan number.

BTIME - a time in seconds. BTIME

may not be used if JTIME is not

specified.

Enter Another Command (Data Card Hi)

54
13.4 Part H, Class U, Subpart d: Input Specified by Utility Command COMPUTE

The subroutine deciphers a FORTRAN-type algebraic expression and calculates the

results. The operations that can be handled are ADD (+) , SUBTRACT (-), MULTIPLY

(*) , DIVIDE (/) , RAISE TO A POWER (**) , AVERAGE (A) , FIND THE MINIMUM (<) , and

FIND THE MAXIMUM (>) . (Note that AVERAGE (A) , MINIMUM (<) , and MAXIMUM (>) have

non-standard operator symbols). The operators and operands may be nested in

parentheses in order to perform the operations in the desired sequence. The

operators themselves have hierarchical ranks as follows:

The AVERAGE function generates the appropriate ADDs , DIVIDES, and nesting to

insure the proper average is found. Note that, unlike the averaging algorithm

employed when the command AVERAGE is given, no limits or weights can be used for

this average .

Function Symbol Rank

AVERAGE

RAISE TO A POWER

MULTIPLY or DIVIDE

ADD or SUBTRACT

MINIMUM or MAXIMUM

A

**

* or / + or - < or >

3

2

10

0

55
When several AVERAGE operators are encountered in a string (unbroken by parentheses or other operators) all the values linked together by the A's are added

before the average is found.

The MINIMUM operation finds and saves the smaller value of two values and the

MAXIMUM operation does the same only for the larger value.

The operands may be either real constants or channel numbers . If an operand

contains a decimal point, it is assumed to be a constant. Otherwise, the operand

is assumed to be a channel number. If you wish to use channels which were

created by the program, you may do so by using the method described in the Notes

on the Preparation of Data Inputs Read by RAPID (see NPDI [3]). If an assumed

channel is not found, the run will terminate.

A typical computation might be as follows:

(301 A 302 A 303 * ((20.9 - (313 < 314)) / 100.)) ** 2. X

In the example above, the first step is to find the smaller value from channels

313 and 314 and then subtract that value from th constant 20.9. That result is

then divided by 100.. The average of the values from channels 301, 302, and 303

is then found and then multiplied by the result of the above division. Finally,

that result is squared. The "X" indicates the end of the computation and must be

present. Up to 500 significant (non-blank) characters may be used to enter one

computation (including the "X").

56
In addition there are three so-called "channel operators". The three channel

operators are H (for HIGH), L (for LOW), and M (for MEAN). These operators are

used to find a single value within a single channel. The syntax is to use the

operator (H, L, or M) followed by a channel number; e.g., H408, L16162, M$03.

The operator and its channel number are reduced to a single real number before

any other calculation is done. Thus the channel operator/channel number may be

used anywhere a real number may be used and must follow any syntax pertaining to

real numbers.

H <channel number> returns the highest value found in the channel.

L <channel number> returns the lowest value found in the channel.

M <channel number> returns the average of all the values found in the

channel

.

One channel is created by the program for each computation performed.

Input Variables Format Comments

HUdl NCOMP open

(NPDI

[1])

Only one of these inputs is read each

time the command COMPUTE is given.

NCOMP - the number of computations

done. Prepare NCOMP sets of

HUd2 inputs. NCOMP channels

will be created.

Input Variables Format Comments

HUd2 IN A80 As many inputs as needed may be used

but the total number of significant

(non-blank) characters may not

exceed 500.

IN - the input computation as described in the discussion

above

.

Enter Another Command (Data Input HI)

57
13.5 Part H, Class U, Subpart e: Input Specified by Utility Command DELAY

HELM

This subroutine accounts for any delay in the output due to the response time of

an instrument. For any response time, r, a reading, R, at time, t, is defined

as: R(t) = R(t+r) . If the response time is not an even multiple of the scan

rate, a straight line interpolation of the data is done.

For time, x < t+r < y, the interpolation and redefinition is:

R(t) = R(t+r) =

(t+r) - x

y-x

* [R(y) - R(x)]

No new channels are created by this command. Any changes in the data matrix take

place in the identified channel.

58
Input variaDies r ormat Comments

HUel NDLAY open

(NPDI

[1])

NDLAY - the number of groups of

channels for which delays are

to be entered.

Enter NDLAY HUe2 inputs.

Trrni 1 1~

JL I 1 tJ> Ul V CX J_ J.CIU XCD 1 Ui Hid L.

HUe2 JCHAN(l) ,JCHAN(2)

,

. . . ,JCHAN(i) ,JTIME,

DLAY X

1 <= i <= 98

EVALU8

(NPDI

[3])

JCHAN - the channel number of the

values which are delayed

(NPDI [3]).

JTIME - the time channel number, s. DLAY - the amount of the delay, s. X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

59
13.6 Part H, Class U, Subpart f: Input Specified by Utility Command DELTA

lELfn

The subroutine calculates the difference between sequential values of any

particular channel. The results are stored in a channel created by the program.

Any channel number may be used as input. If you wish to use a channel which was

created by the program, you may do so by using the method described in the Notes

on the Preparation of Data Inputs Read by RAPID (see NPDI [3]).

There are two methods of calculation and storage of results as follows:

Method 1:

D(l) = 0.

D(i) = r(i) - r(i-l), for 2 <= i <-= N

Method 2:

D(i) - r(i+l) - r(i), for 1 <« i <- N-l

D(N) = 0.

where D is the resulting difference, r is the value stored in the channel, and N

is the total number of scans.

60
X lip LI L. \JV dlQ V* "1ldUlCO Q*hkT PC r ul uicL u OWillilit- L I L.O

HTTf1 NCHAN U U v 1. ). (NPDI

[1])

NHHAN - t~hp niiTnV>PT* of rT-iflTrnpl ^ "Fov which the incremental

differences between adjacent

values are calculated.

Prepare NCHAN HUf2 inputs.

NCHAN channels are created.

Input Variables Format Comments

HUf2 JCHAN, [ICALC] X EVALU8

(NPDI

[2])

JCHAN - the channel number containing

the values between which the

differences are calculated

(NPDI [3]).

ICALC = 0 , method 1 , above

O 0, method 2, above.

Note that the default for a missing value is Method 1.

X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

61
13.7 Part H, Class U, Subpart g: Input Specified by Utility Command E119

The subroutine calculates the standard E119 temperature for each time from an

identified time channel. The temperature may be stored as either degrees Celsius

or Fahrenheit in a channel created by the program. This subroutine will only

calculate values for one channel at a time and thus, it must be called each time

a channel is to be created.

The equations used to calculate the temperature are as follows:

for time less than zero -

T - 70.

for time less than 2 hours -

T = 1044. * Tanh(0.8429 * t) - 498.2 * Tanh(0.9736 * t) + 1286. * Tanh(8.9100 * t) + 70.

for time equal to or greater than 2 hours -

T - 1632. + 75. * t + 70.

where

,

Tanh is the hyperbolic tangent function,

T — temperature in degrees Fahrenheit, and

t — time in hours

62
Note that the calculation is made in degrees Fahrenheit and is converted to

Celsius, if necessary.

One channel is created each time the command E119 is given.

Input Variables Format Comments

HUgl JTIME , ITCODE open

(NPDI

[1])

Only one of these inputs is read each

time the command E119 is given. One

channel is created.

JTIME - time channel number

ITCODE - identify output in degrees

Celsius or degrees Fahrenheit: = 1, Celsius — 2, Fahrenheit

Enter Another Command (Data Input HI)

63
13.8 Part H, Class U, Subpart h: Input Specified by Utility Command INTEGRATE

INTEGRATE

The subroutine calculates the area under the curve with respect to time. The

area is calculated using a geometric algorithm (the sum of the trapezoids defined

by the segment of the curve between two points and the time axis) . The calculated values are stored in a channel created by the program.

*

*

* r(i-l)

* +

* * r(i)

dt

time ,

A(i) = SUM[a(i) ,i=l,n] = SUM[ (r(i-l)+r(i) )*dt(i)/2 , i=l ,n]

where A(i) is the total area under the curve up to point i, a(i) is the area of

the "ith" trapezoid, and SUM is the summation function.

Note that the values being integrated have already been transformed using the

conversion coefficients input on PLOT2 data input B5 for the original channel.

64
The conversion coefficients for the created channels are the default values of

C = 1.0, ADD = 0.0, and POWER = 1.0.

Input Variables Format Comments

HUhl NINT open

(NPDI

[1])

Only one of these inputs is read each

time the command INTEGRATE is given.

NINT - number of curves to be

integrated. Prepare NINT HUh2

inputs. NINT channels will be

created.

Input Variables Format Comments

HUh2 JCHAN, JTIME X EVALU8

(NPDI

[2])

JCHAN - channel number of curve to be

integrated (NPDI [3])

JTIME - reference time channel number

with respect to which JCHAN

is integrated, s X = ' X' end- of- set mark

Enter Another Command (Data Input HI)

65
13.9 Part H, Class U, Subpart i: Input Specified by Utility Command RENAME

KE1FMIE

The subroutine allows the user to provide descriptions of the channels created by

the program other than the descriptions generated by the program when a channel

is created. The format used is the same as that for data inputs B3 and B4 except

that the "$" signifying a created channel is recognized and the instrument type

need not be identified.

66
Input Variables Format Comments

HUil CHAN , ID1 , ID2 , KHPRT A6,2X,

A6.A60,

A3

The number of HUil inputs is variable.

The end of HUil format inputs is

signaled by entering one HUi2 input.

CHAN - the channel number being

identified, right justified and

including the "$" (if desired)

in the left-most significant

not?! t" l on ID1 - a six- character , abbreviated ID.

ID2 - the 60-character description.

KHPRT = '

' (blank field) - print out

the values of this column on output O ' ' (non-blank) - do not print

out the values of this column

Input Variables Format Comments

HUi2 I END 77X.A3 I END = '999' - end of the set of

HUil inputs

Enter Another Command (Data Input HI)

67
13.10 Part H, Class U, Subpart j: Input Specified by Utility Command SEPARATE

SEPARATE

Often times one channel will be used to collect the data from more than one

instrument by manually or automatically stepping a switch, etc. In order to

plot, or otherwise compare, the individual values, it is necessary to resolve the

channel into its separate parts. Since the time at which the "nth" value of each

part is recorded is different, the time channel must also be resolved into

separate parts.

The subroutine resolves both the data and time channels into parts according to a

pattern, or "separation code", provided by the user. Various, repeatable

patterns may be needed to identify which scans belong to which instrument. The

separation code format allows for an infinite number of variations.

In general, the separation code consists of the "skip/keep" pattern in parentheses followed by the scan number of the last scan to which the pattern applies:

([skip/keep pattern]) [scan number] ([skip/keep pattern]) [scan number] ...

The skip/keep pattern is repeated until the scan number is reached. The pattern

itself consists of a series of letters and numbers signifying skip or keep and

68
how many scans of each. The letter 'S' stands for skip; the letter 'K' stands

for keep. Any number of alternating skips and keeps may appear in the pattern.

Example 1

The channel has the values from three instruments stored in it and each instrument is recorded every third scan. There were 295 scans taken. The separation

codes for the three instruments would be:

Instrument 1

Instrument 2

Instrument 3

(K1S2)295

(S1K1S1)295

(S2K1)295

(keep scans 1, 4, 7, 295)

(keep scans 2, 5, 8, 293)

(keep scans 3, 6, 9, 294)

Example 2

One set of instruments' values stored in the channel was recorded such that, to

recover them, every first, third, fourth and sixth scans are skipped and every

second and fifth are kept, up to scan 100. From scan 101 to 295 (end of test),

every other scan is kept. The separation code would be:

(SI Kl S2 Kl Sl)100 (SI Kl)295

Alternatively, the letter 'E' may be used to signify the last scan recorded:

(SI Kl S2 Kl Sl)100 (SI K1)E

69
Spaces in the code are ignored except that if a space follows a number, the whole

number is assumed to be to the left of the space:

(S1K1S 2 Kl SI) 100(S IK 1 ) E

is the same as the code above

The following syntax rules should be used when preparing the separation code:

1. A '(' should be the first significant character on the input and should be

the first significant character, if any, after a scan number.

2. An 'S' or a 'K' must be the next significant character after '('

3 A "repeat" number must follow 'S' or 'K' even if it is 1

4. An 'S', 'K' , or ')' must be the next significant character following a

repeat number.

5. A scan number or 'E' must be the next significant character (s) following

')'•

6. Spaces are ignored except that if a space follows a number, the whole

number is assumed to be to the left of the space.

Note that if an 'E' is not used and the last scan number given is not greater

than or equal to the number of scans in the channel, all scans past the last scan

number given are skipped. If the last scan number given is greater than the

number of scans used, the "skip/keep" pattern is repeated until the last scan

used is reached.

70
The conversion coefficients of the original channel (identified by ITYPE on data

input B3 and entered with data input B5) are also used by the newly created

channel

.

Both the separated values and the separated time are stored in new channels

created by the program.

Input Variables Format Comments

HUjl JTIME , J CHAN , NPART X EVALU8

(NPDI

[2])

Only one of these inputs is read each

time the command SEPARATE is given.

JCHAN - channel number of data to be

separated into parts (NPDI [3])

JTIME - reference time channel number

NPART - number of parts into which data

is to separated. Prepare NPART

HUj2 input (s)

X - ' X' - end-of-set mark.

Input Variables Format Comments

HUj2 PAT A80 2 channels created for every HUj2 input

| read: first is for data, second is for

time

.

PAT - 80 character separation code:

1) first character must be '('

2) 'S' or 'K' must follow '('

3) "repeat" number must follow

'S' or 'K' 4) 'S', 'K', or ')' must follow

"repeat" number

5) scan number or 'E' must

follow ')'

6) spaces are ignored except

they must not be in the

middle of numbers

Enter Another Command (Data Input HI)

71
13.11 Part H, Class U, Subpart k: Input Specified by Utility Command SMOOTH

SliDDTH

The subroutine will smooth "noisy" data by finding the least squares straight

line fit for small sections, or "windows", of the curve. The window is an odd

number of adjacent values from the channel being smoothed along with the corresponding values from the time channel. The smoothed value at the center of the

window is calculated from the equation of the fit line and stored in a new

channel created by the program. After the smoothed point is calculated and

stored, the window slides up, dropping the "oldest" value and adding a new one.

A new straight line is determined and the point calculated and stored. The

process is repeated until the entire curve is smoothed.

Note that any odd number of points may be used, but a small number is preferable

when the trend of the curve shows a rapid increase or decrease.

It is possible to re-smooth a curve simply by entering the created channel numbe

of a previously smoothed curve as the channel to be smoothed (see NPDI [3]).

The equation of the line is of the form: S(i) = A * x(i) + B, where S(i) is the

calculated "ith" smooth point, x(i) is the "ith" time value, and A and B are

determined by:
A =

B =

n* SUM[x(i>*y(i) ,i=a,b] - SUM[x(i) , i=a,b] * SUM[y(i) , i=a,b]

n * SUM[(x(i)**2) ,i=a,b] - (SUM[x(i) , i=a,b] )**2

SUM[y(i) ,i=a,b] - A * SUM[x(i) , i=a,b]

n

where n is the number of points in the window between point a and point b, x(i)

is the "ith" time reading, y(i) is the "ith" value from the curve being smoothed,

and SUM is the summation function.

Note that the values being smoothed have already been transformed using the

conversion coefficients input on data input B5 for the original channel. The

conversion coefficients for the created channels are the default values of C =

1.0, ADD =0.0, and POWER =1.0.

73
Input Variables Format Comments

HUkl NCHAN open

(NPDI

[1])

Only one of tbese inputs is read each

time the command SMOOTH is given.

NCHAN - number of channels to be

smoothed. Prepare NCHAN HUk2

inputs. NCHAN channels will

be created.

Input Variables Format Comments

HUk2 JCHAN, JTIME [,NPTS]

X

EVALU8

(NPDI

[2])

JCHAN - channel number of data to be

smoothed (NPDI [3])

JTIME - time channel number

NPTS - number of values in "window"

(default value is 3)

X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

74
I

13.12 Part H, Class U, Subpart 1: Input Specified by Utility Command SPECIFY

SPESIFl

The subroutine allows the user to specify the channel number that the next "n"

created channels will be given (see NPDI [3]). Up to 100 channel numbers can be

specified at a time. A channel number can be specified more than once with no

message given. If a specified channel has already been used, the values in that

channel are over-written. If all the channels from a previous SPECIFY command

have not been used when a new SPECIFY command is given, the left-over channels

from the previous command are NOT used. It is possible for more than one created

channel reference ($xxx) to point to the same channel and a single channel may,

at different points in the execution, contain more than one set of reduced data.

It is therefore very important that care be exercised when using this command.

NOTE - THIS CAN BE A VERY DANGEROUS COMMAND.

75
Input Variables Format Comments

HUH JSPEC(i) X EVALU8 JSPEC - a channel number to be used

i <- 1 <- 100 (NPDI when a channel is created, in

[2]) order of usage (NPDI [3]).

X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

76
13.13 Part H, Class U, Subpart m: Input Specified by Utility Command STATS

STFIT5

The subroutine calculates various statistics with respect to the values from any

particular channel. It finds the minimum and maximum values and the times at

which those values first occur. It calculates the average value for the test.

It compares the values from the channel to a constant or the values from some

other channel and determines

1. the first time at which the value of the channel is less than the comparison value and greater than the comparison value, and

2. the total time less than the comparison value, and greater than the

comparison value.

In addition, the time range over which the statistics are determined can be

specified.

This subroutine does not reduce any raw data and does not create any new

channels.

77
Input Variables Format Comments

HUml NSTATS open

(NPDI

[1])

NSTATS - the number of blocks of channels for which statistics are

to be determined. Prepare

NSTATS HUm2 inputs.

Input Variables Format Comments

HUm2 JCHANL , JCHANH , CMPVAL

or JCOMP.JTIME

[

, TIMELO or ITIMEL

[

, TIMEHI or ITIMEH]

]

X

EVALU8

(NPDI

[2])

JCHANL - the first channel number in

the block of channels

(NPDI [3]).

JCHANH - the last channel number in the

block of channels (NPDI [3]).

Note that JCHANL and JCHANH

should be determined by the

order of the instrument list

(data inputs B3) . If there

is only one channel in the

block, JCHANH should be the same as JCHANL which should

be the channel

CMPVAL - a constant comparison value.

JCOMP - the channel number of the

values to be used for

comparison.

JTIME - the time channel number

TIMELO - the time(s) at which to begin

determining the statistics,

default is time of first scan. ITIMEL - scan number at which to begin

determining the statistics,

default is 1

TIMEHI - the time(s) at which to end

determination of statistics,

default is time of last scan. ITIMEH - scan number at which to end

determination of statistics,

default is the last scan. X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

78
13.14 Part H, Class U, Subpart n: Input Specified by Utility Command TIME

The subroutine can change the readings stored in a specified channel from

hours/minutes/seconds format to elapsed seconds, and/or add a time shift. The

results may be stored back in the original channel (destroying the old values) or

they may be stored in a new channel (saving the old values in the original

channel)

.

H/M/S Conversion to S

The hours / minutes / seconds to seconds conversion is not needed unless the

program expects the time reading to be in seconds format but was recorded in

hours / minutes / seconds format. If the program gets the format it expects, the

time is automatically converted to seconds.

Time Shift

The time shift is used when "time-zero" occurs before or after the data acquisition system is started. If the event marking the beginning of the test occurs

before the start of the data acquisition, the time shift will be a positive

value; if it occurs after, the time shift will be a negative value.

79
New Channel

The new channel is created automatically by the program at the option of the

user. However, it is not always necessary to store the adjusted time in a new

channel. If the old values in the original channel are not required, and the

size of the data matrix is critical, it is recommended that a new channel not be

used.

Note that, alternatively, if a new channel is not needed, the hours / minutes /

seconds to seconds conversion and the time shift can be performed without using

the TIME command by using appropriate coded part B (instrument identification and

conversion coefficient) and part C (reading format) data inputs.

Input Variables Format Comments

HUnl JTIMEO , ITIME , IHMS

,

open Only one of these inputs is read each

TSHIFT (NPDI time the command TIME is given.

[1]) JTIMEO - original time channel number

ITIME > 0 - create new time channel to

store adjusted time

(1 channel created)

IHMS > 0 - perform h/m/s to s conversion

TSHIFT - time shift, s

Enter Another Command (Data Input HI)

80
Data Input for Basic Commands

81
14.1 Fart H, Class B, Subpart a: Input Specified by Basic Command GAS%

The subroutine calculates the volume percent concentrations of gas from the

output of four different types of analyzers

Types 1 and 2

For analyzer types 1 and 2, the concentration is calculated using a natural lo

fit of the calibration curve (actually the inverse of Beer's Law, which is an

exponential) . The calibration curve is the relationship of the concentration

the analyzer meter reading and not necessarily to the recorded analyzer output

The actual calculation is made by first changing the recorded output to an

equivalent meter reading and then using that meter reading in the calibration

curve equation to find the concentration:

R - R(0)

M = * M(s)

R(s) - R(0)

where M is the calculated meter reading corresponding to output R, M(s) is the

known meter reading for known output R(s) , and R(0) is the output for zero

percent concentration of gas. Then,

82
C = -a * ln(1.0 - (M/b))

where C is the calculated concentration, M is the meter reading calculated above,

and a and b are the curve fit coefficients.

Type 2 analyzers differ from type 1 analyzers only in that they may use two

ranges during a test and, thus, two calibration curves. The range change may be

indicated automatically by a voltage change in a dummy channel or it may be

indicated by entering the scan number or time of the switch. There are advantages and disadvantages to each type of indicator. The automatic indicator

allows an unlimited number of switches between the two ranges but the output

voltages must be less than and greater than one volt to indicate the change. If

either the scan number or the time is used to indicate the switch, only one

switch can be used. In addition, if the time is used, the time channel number

must have an I TYPE equal to 1 (see PLOT2 data input B3)

.

Coefficients for calibration curves can be catalogued in the program. A

BLOCK DATA subroutine for this purpose has already been prepared. An example can

be found in Appendix B.

If the calibration curve you need is not already catalogued, find the coefficients for the curve and enter them with the appropriate data input (data input

HBa2.1 or HBa3.1)

.

83
Type 3

The change in output from type 3 analyzers is linearly proportional to the change

in concentration of the gas. Once the slope of the line is found, any concentration may be calculated. To define the slope, two points must be known, typically

the "zero" and one other point. The concentration, C, for any output R then

becomes

C(s) * (R - R(0))

C

R(s) - R(0)

where R(0) is the output for zero concentration and R(s) is the output for known

concentration C(s).

Type 4

The concentration recorded by type 4 analyzers is proportional to 10**(-R/k),

where R is the recorded output and k is a constant determined by the analyzer

characteristics

To find k, two concentrations and their corresponding outputs must be known:

84
R(2) - R(l)

k

log (C(l) / C(2))

where R(l) is the output corresponding to C(l) and R(2) is the output corresponding to C(2). Note that neither C(l) nor C(2) may be zero.

Then the concentration, C, for any output R is

C(s)

C = 10**((R-R(s))/k)

where R(s) is the known output for C(s) and k is as calculated above. In this

program C(l) equals C(s).

For all four types of analyzers, the calculated concentrations (volume percent)

replace the raw data values in the data matrix; no new channels are created.

Input Variables Format Comments

HBal NGAS open Only one of these inputs is read each

(NPDI time the command GAS% is given.

[1]) NGAS - number of gas analyzers

.

Prepare NGAS set(s) of HBa2

through Hfia5 inputs

85
Input Variables Format Comments

HBa2 .JCHAN,ITYPE,IDNO,

ZERO , SPAN , SM

{ ,CA,CB} X

EVALU8

(NPDI

[2])

JCHAN - analyzer channel number

(NPDI [3])

ITYPE - analyzer type code. Use this

input format only if ITYPE = 1

single range calibration curve IDNO - curve number of analyzer and

range to be used

= 0 , if analyzer is not in

catalog (read input HBa2.2)

ZERO - output for zero concentration

of gas

CPAM _ r»iit"niit~ fnr q Ltti nun concentration of gas

SM - meter . reading for span

concentration

CA,CB - calibration curve coefficients.

Enter these values only if

IDNO=0

AY —= ' XXV' _ onH CilU - Ulnf - OCt cot" mo111 cl vVLev

HRa? 9 ^FRNO GA<1 RANRF Aft Aft A5 input HBa2.1)

SERNO - analyzer serial number

GAS - type of gas analyzed

RANGE - maximum concentration of

gas for analyzer (volume %)

Input Variables Format Comments

HBa3 .

JCHAN, ITYPE, IDN01,

IDN02 , LHTYPE , LOHI

,

ZERO, SPAN1, SMI

{ ,CA1,CB1) ,SPAN2,

SM2 {

, CA2 , CB2 } X

EVALU8

(NPDI

[2])

JCHAN - analyzer channel number

ITYPE - analyzer type code. Use this

input format only if ITYPE - 2 double range calibration curve IDN01 - first curve number of analyzer

and range to be used

=0, if analyzer is not in

catalog (read input HBa3.2)

IDN02 - second curve number of analyzer

and range to be used

=0, if analyzer is not in

catalog (read input HBa3.3)

LHTYPE = 1 - range 1 and range 2 are identified by the output

values of another channel

output < 1 . - range 1

,

output -> 1. - range 2 = 2 - switch from range 1 to

range 2 at a particular

scan

86
- 3 - switch from range 1 to

range 2 at or after a particular time

LOHI - if LHTYPE=1, the channel number

of the switch indicator

- if LHTYPE=2 , the scan number of

the first scan after the switch

- if LHTYPE=3 , the time in

seconds at or after which the

switch is made (the comparison

is made with the time channel

identified by I TYPE = 1 from

data input B3 after all

reduction has been performed

including by conversion

coefficients C, ADD, and POWER

identified on data input B5)

ZERO - output for zero concentration

of gas

SPAN1 - output for a known

concentration of gas on the

first range

SMI - meter reading for SPANl

concentration

CAl.CBl - calibration curve coefficients

Enter these values only if

IDN01-=0

.

SPAN2 - output for a known

concentration of gas on the

second range

SM2 - meter reading for SPAN

2

concentration

CA2,CB2 - calibration curve coefficients

Enter these values only if

IDN02=0

.

X = ' X' - end- of -set mark

HBa3 .

2

SERNO , GAS , RANGE1

,

RANGE2

A8.A8

A5.A5

Read this input only if IDN01 and IDN02 = 0. (see input HBa3.1).

SERNO - analyzer serial number

GAS - type of gas analyzed

RANGEl - maximum concentration of

gas for 1st range of

analyzer (volume %)

RANGE2 - same as above but for

2nd range

HBa3 .

3

{RANGE!} {RANGE2

}

A5 Read this input if only IDNOl=0 or only IDN02=0. (see input HBa3.1).

RANGEl - same as for input HBa3 . 2

.

Enter this value only if

IDN01=0

.

87
RANGE2 - same as for input HBa3 . 2

Enter this value only if

IDN02=0

Input Variables Format Comments

HBa4 JCHAN, ITYPE [.ZERO]

[

, SPAN] ,CON x

EVALU8

(NPDI

[2])

JCHAN - analyzer channel number

(NPDI [3]).

ITYPE - analyzer type code. Use this

input format only if ITYPE = 3 change in gas concentration

linearly proportional to change

in analyzer output

ZERO - output for zero concentration

of gas . Note : if only three

arguments are entered with this

input, ZERO is assumed = 0.0.

SPAN - output for a known

concentration of gas. Note: if

Anl UL1XYv fVlT^OO L.L1L CC r\\J V*L "Pfll A-KJ\J.L 1 Y* afO'llTTIPnt'C d J_ i^t-Uut: 1 1 L. o are entered with this input,

QPAKT ic cot" onnal i~r\ o fi Tct" reading of the analyzer.

CON - span gas concentration

(volume %)

X = ' X' - end-of-set mark

Input Variables Format Comments

HBa5 JCHAN, ITYPE, CI, Rl,

C2.R2 X

EVALU8

(NPDI

[2])

JCHAN - analyzer channel number

(NPDI [3]).

ITYPE - analyzer type code. Use this

input format only if ITYPE = 4

gas concentration proportional

to 10**(-R/k)

CI - known concentration of gas

,

volume % (not equal to zero)

Rl - output for known concentration

CI

C2 - known concentration of gas

different than CI, volume %

(not equal to zero)

R2 - output for known concentration

C2

X - ' X' - end-of-set mark

Enter Another Command (Data Input HI)

88
14.2 Fart H, Class B, Subpart b: Input Specified by Basic Command PRESSURE

PRESSURE

The subroutine calculates static pressure from the output of pressure transducers. A static pressure probe is two sided and senses the difference in

pressure between one side and the other. A typical use for the probe is to

measure the pressure difference between the inside and outside of a test chamber.

For all the static pressure calculations, the calculated values replace the raw

data values in the data matrix; no new channels are created.

Input Variables Format Comments

HBbl NSTAT open

(NPDI

[1])

Only one of these inputs is read each

time the command PRESSURE is given.

NSTAT - number of channels to be

converted from raw data to

static pressure. Prepare NSTAT

HBb2 input (s)

89
Input Variables Format Comments

HBb2 J CHAN, ZERO , CON X EVALU8 JCHAN - pressure probe channel number

(NPDI (NPDI [3]).

[2]) ZERO - output for zero pressure

difference (ambient)

CON - conversion factor from output

to static pressure (pascals per

unit output)

X = ' X' - end-of-set mark.

Enter Another Command (Data Input HI)

90
14.3 Fart H, Class B, Subpart c: Input Specified by Basic Command SMOKE

51ENE

The subroutine calculates the optical density per unit length from the recorded

output of a smoke meter. There are three types of relationships between the

optical density and the output.

Type 1 - optical density proportional to the log of the inverse of the

fraction of full transmission, output decreasing for transmission

decreasing.

Type 2 - same as type 1 but output increasing for transmission decreasing.

Type 3 - optical density linearly proportional to the zero -adjusted output

voltage

Type 4 - extinction coefficient linearly proportional to the zero -adjusted

output voltage

91
For types 1 and 2

,

O.D. = log (1/P)

where O.D. is the optical density and P is the fraction of full transmission

R - R(0)

P =

R(l) - R(0)

where R is any recorded output, R(l) is the output at full transmission, and R(0)

is the output at zero transmission.

Note that the equation for optical density will not allow P equal to zero and,

thus, R may not equal R(0) . Since, in practice, the meter cannot sense less than

one hundredth of one percent of full transmission, that value is assumed equal to

zero and for any value less than that the optical density defaults to 5.0.

For types 3 and 4,

S = (R - R(l)) * C

where S is either the optical density (type 3) or the extinction coefficient

(type 4) and C is the calibration factor for the smoke meter,

92
change in S C -

change in voltage output

For all the optical density calculations, the calculated values replace the raw

data values in the data matrix; no new channels are created.

Input Variables Format Comments

HBcl NMETER open Only one of these inputs is read each

(NPDI time the command SMOKE is given.

[1]) NMETER - number of smoke meters

Prepare NMETER HBc2 input (s)

93
Input Variables Format Comments

HBc2 JCHAN, JTYPE [{.PATH}

[, ICONV [,R100

[{,R0}]]]] {[,CAL]}

X

EVALU8

(NPDI

[2])

JCHAN - smoke meter channel number

(NPDI [3]).

JTYPE = 1 - optical densityproportional to the log of

the inverse of percent of

full transmission; output

decreasing for

transmission decreasing = 2 - same as type 1 but output

increasing for transmission

decreasing

= 3 - optical density linearly

proportional to zero adjusted voltage = 4 - extinction coefficient

linearly proportional to zero adjusted voltage

effective path length of smoke

meter, m. Enter this value

only if JTYPE = 1,2 or 3.

If INCONV O 0, convert optical

density to extinction

coefficient for types 1, 2 and 3 or convert extinction

coefficient to optical density

for type 4.

R100 - output for 100% transmission

R0 - output for 0% transmission.

Enter this value only if

JTYPE = 1 or 2.

CAL - change in optical density

or extinction coefficient

per unit change in voltage

output. Enter this value

only if JTYPE - 3 or 4.

X = ' X' - ,end-of-set mark used by

subroutine EVALU8

PATH

ICONV

Enter Another Command (Data Input HI)

94
14.4 Fart H, Class B, Subpart d: Input Specified by Basic Command THERMOCOUPLE

The subroutine calculates the temperature in degrees C (Celsius) , F (Fahrenheit)

,

K (Kelvin) , or R (Rankine) from the thermocouple output voltage using an eightsegment curve fit for seven different types of thermocouples: E, S, J, T, K, B

and R.

The instruments to be converted are entered in blocks, identifying only the first

and last instruments in the block. A block is a contiguous set of B3 data

inputs. Note that the input for this command can be simplified by grouping all

the thermocouple channels together in the instrument list (Data Input B3)

.

95
Input Variables Format Comments

HBdl NTCGRP open

(NPDI

[1])

NTCGRP - the number of thermocouple

blocks to be converted.

Prepare NTCGRP HBd2 inputs.

Input Variables Format Comments

HBd2 JLOW.JHI

[JT[ .ISCALE] ] X

EVALU8

(NPDI

[2])

JLOW - the first thermocouple

instrument number of the block.

(NPDI [3]).

JHI - the last thermocouple

instrument number of the block.

(NPDI [3]).

JT - the thermocouple type,

i.d. number:

1 - Type E

2 - Type S

3 - Type J

4 - Type T

5 - Type K

6 - Type B

7 - Type R

The default type for missing

or invalid input is 5 (Type K)

ISCALE - the output temperature units

-L . U . 1 1LU11U C J- . 1 - °c

2 - °F

3 - °K

4 - °R

The default units for missing

or invalid input is 1 (°C).

X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

96
14.5 Fart H, Class B, Subpart e: Input Specified by Basic Command VELOCITY

IELEC ITI

1

The subroutine calculates the gas velocity from the output of a velocity probe

(pressure transducer). There are two kinds of probes: mono -directional (pitot

tube) and bi-directional. Essentially, the probes sense the dynamic air pressure

on them and the transducers convert it to a voltage output.

Pressure Calculation

The conversion factor for changing the voltage output to pressure (the sensitivity) must be known (e.g., 10V = 1" H20 = 248.7 Pa). The pressure, P, is then

P = (R - R(0)) * S

where R(0) is the output at ambient pressure, R is the recorded output, and S is

the sensitivity (Pa/output unit)

.

97
Gas Density Calculation

In addition to the pressure, the gas density, p, is also necessary. The gas

density is directly proportional to the absolute gas temperature: by the gas law

P(0) * T(0)

p =

T

where p(0) and T(0) are known, related gas density (kg/m3

) and temperature (K)

and T is the input gas temperature (K) . Note that p(0)*T(0) is constant and

equal to 353 kg*K/m3

.

Input Temperature

The input temperature for the gas density calculation may be from one of three

different sources

1. A single temperature from one, or the average of several, thermocouples

located near the velocity probe;

2. An arbitrary, constant temperature supplied by the user;

3 . An interpolated temperature from the values of two thermocouples near the

velocity probe.

98
Velocity Calculation

For mono -directional probes (pitot tubes), the velocity, v, is calculated by

v = (2. * P / p) ** 0.5

where P is the pressure in pascals (Pa) and p is the gas density (kg/m3

)

N kg * m

Pa = = —

m

2 s2 * m2

„3 p(0) * T(0) (K * kg / m

3

) 353

P = = (kg / ra3

) T (K) T

Substituting the proper units back into the velocity equation yields

v = 0.0753 * (P * T) ** 0.5 m/s

The equation for bi-directional probes is similar

v = (1.717 * P / p) ** 0.5

= 0.0698 * (P * T) ** 0.5 m/s

Note that the bi-directional probes measure velocity in two directions. In this

subroutine, which direction is positive and which is negative has no real

meaning. However, in subroutine FLORAT the convention is that the positive

direction is out of the test chamber and the negative direction is into the test

99
chamber. Mono -directional probes should be consistent with any bi-directional

probes and/or with each other.

This subroutine replaces the raw data in the data matrix with the calculated gas

velocities; no new channels are created.

Input Variables Format Comments

HBel NPROBE open

(NPDI

[1])

Only one of these inputs is read each

time the command VELOCITY is given.

NPROBE - number of velocity probes.

Prepare NPROBE HBe2 input (s)

Input Variables Format Comments

HBe2 JCHAN, SEN, ZERO,

JPTYPE , JTMETH

{

, JTEMP} {.CTEMP}

{ ,P0SJ,JTEMP1,

PTEMPl , JTEMP2

,

PTEMP2 } X

EVALU8

(NPDI

[2])

JCHAN - velocity probe channel number

(NPDI [3]).

SEN - sensitivity (or calibration)

of transducer (pascals per

output unit)

ZERO - transducer output for no -flow

condition

100
JPTYPE - velocity probe type code

- 1 - mono -directional probe,

positive change in output

for positive change in

gas flow

= -1 - mono -directional probe,

negative change in output

for positive change in

gas flow = 2 - mono -directional probe,

positive change in output

for negative change in

gas flow = -2 - mono -directional probe,

negative change in output

for negative change in

gas flow

= 3 - bi-directional probe,

positive change in output

for positive change in

gas flow = -3 - bi-directional probe,

negative change in output

for negative change in

gas flow

Note: by convention, if the

gas flow rate is being measured

in and out of a test chamber,

the out- flow is assumed to be

in the positive direction. If

only one direction is being

investigated, assume it to be

the positive direction

JTMETH - velocity probe temperature

correction method code

= 1 - a single temperature from

a thermocouple near the

velocity probe

= 2 - an arbitrary, .fixed

temperature

= 3 - an interpolation of

temperature between two

thermocouples near the

velocity probe

JTEMP - a single temperature channel

number, °C (NPDI [3] )

Enter this value only if

JTMETH = 1.

CTEMP - an arbitrary constant

temperature, °C. Enter this

value only if JTMETH - 2.

101
POSJ - position of velocity probe

relative to an arbitrary

origin, m. Enter this value

only if JTMETH - 3 JTEMP1 - the upper temperature channel

number (by probe position) used

in interpolation, °C (NPDI

[3]). Enter this value only

if JTMETH = 3 PTEMP1 - position of JTEMP1 relative to same origin as probe, m. Enter

this value only if JTMETH = 3 JTEMP2 - the lower temperature channel

number (by probe position) used

in interpolation, °C (NPDI

[3]). Enter this value only if

JTMETH = 3 PTEMP2 - position of JTEMP2 relative to same origin as probe, m. Enter

this value only if JTMETH = 3 X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

102
14.6 Part H, Class B, Subpart f: Input Specified by Basic Command WT-LOSS

NT-LESS

The subroutine calculates the total weight loss of an item that is being weighed

by a load cell.

The change in weight is linearly proportional to the change in output and the

total weight loss is defined as

T = C * (R(l) - R)

where T is the total weight loss (kg) , R(l) is the output at the beginning of the

test (i.e. the output corresponding to the initial weight), R is any output, and

C is the conversion factor from volts to kg.

If the initial weight, W (kg), of the weighed item and the output, R(0) , for zero

weight are known, C can be calculated by the program as

W

c = R(D - R(0)

otherwise C must be input.

103
For all the total weight loss calculations, the calculated values replace the raw

data values in the data matrix; no new channels are created.

Input Variables Format Comments

HBfl NCHAN open

(NPDI

[1])

Only one of these inputs is read each

time the command WT-LOSS is given.

NCHAN - number of weight loss channels.

Prepare NCHAN HBf2 input (s)

Input Variables Format Comments

HBf2 JCHAN{ , ZERO, WEIGHT}

{ ,CON} X

EVALU8

(NPDI

[2])

JCHAN - load cell channel number

(NPDI [3]).

ZERO - output for zero weight.

Enter this value only if it

and the initial weight are known.

WEIGHT - initial total weight of items on load cell, kg. Enter

this value only if it and the

output for zero weight are known.

CON - the output to weight conversion

factor. Enter this value only

if ZERO or WEIGHT is unknown.

X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

104
DATA INPUT FOR COMPLEX COMMANDS

105
15.1 Part H, Class C, Subpart a: Input Specified by Complex Command BALANCE

3HLFH1QE

The subroutine solves an energy balance equation to find the rate of heat release

of the system:

E(i) + Q' - Q(s) - Q(o) E(o) = 0

where

E(i) - the convective energy transfer rate into the system, kW

(equals the product of the mass flow rate and enthalpy into system,

calculated in subroutine FLORAT)

E(o) - the convective energy transfer rate out of the system, kW

(equals the product of the mass flow rate and enthalpy out of

system, calculated in subroutine FLORAT)

Q(s) - total heat loss rate to surfaces, kW (calculated in subroutine

SURFAC)

Q(o) - total heat loss rate through an opening, kW (calculated in

subroutine RHLOPN)

Q' - rate of heat release of system, kW

Rearranging and solving for the rate of heat release of the system we have:

Q' = Q(s) + Q(o) + M(o) * E(o) - M(i) * E(i)

106
The calculated results are stored in a channel created by the program. The

subroutine does not reduce any raw data.

Input Variables Format Comments

HCal JEIN(l) ,JE0UT(1)

,

JEIN(2) ,JE0UT(2)

...,JEIN(i),

JEOUT(i) X

1 <= i <= 5

EVALU8

(NPDI

[2])

Enter convective energy flow rate

in and flow rate out channel numbers

in pairs.

JEIN - convective energy flow rate

into chamber, kW (NPDI [3])

JEOUT - convective energy flow rate

out of chamber, kW (NPDI [3])

X = ' X' - end-of-set mark

Input Variables Format Comments

HCa2 JWALL(l) ,JWALL(2)

,

. .

. ,JWALL(i) X

1 <= i <= 10

EVALU8

(NPDI

[2])

JWALL - total radiative rate of heat

loss to surfaces channel

number, kW (NPDI [3])

X = ' X' - end-of-set mark

Input Variables Format Comments

HCa3 JOPEN(l) ,J0PEN(2)

,

. .

. ,J0PEN(i) X

1 <= i <= 5

EVALU8

(NPDI

[2])

JOPEN - total radiative rate of heat

loss through an opening channel

number, kW (NPDI [3])

X = ' X' - end-of-set mark used by

subroutine EVALU8

Enter Another Command (Data Input HI)

107
15.2 Part H, Class C, Subpart b: Input Specified by Complex Command FLOW-RATE

FLEW -R FIT E

The subroutine makes four separate calculations based on the gas velocity (m/s)

profile of an opening in the test chamber: 1) neutral plane height (m) of the

opening; 2) volume flow rate (m3 /s) in and out of the opening; 3) mass flow rate

(kg/s) in and out of the opening; and 4) convective energy transfer rate (kW) in

and out of the opening. The seven different calculated values are all stored in

their own channels created by the program. This subroutine does not reduce any

raw data.

Neutral Plane

The neutral plane height calculation requires a velocity profile of the opening

being investigated. The velocities are checked from top to bottom for gas flow

reversal. When reversal is found, the neutral plane height is calculated by

interpolating the two velocities and the positions of the velocity probes to find

the position of zero velocity (the neutral plane)

108
Height Above Floor

* (v' ,h'

)

+ neutral plane, h(np)

(v,h) *

-> Gas Flow In Gas Flow Out

-v * (h' - h)

h(np) - h +

v' - v

Volume, Mass, and Convective Energy Flow Rates

For all three kinds of calculated flow rates, the flow rate is proportional to

the product of the velocity, v (m/s) , the opening height, H (m) , and the opening

width, W (m)

:

volume flow rate, V = v * H * W

mass flow rate, M = V * p, where p

energy flow rate, E = M * C(p) * dT,

is the gas density

where C(p) is the specific heat of the

gas and dT is the difference between

the absolute gas temperature, T (K)

,

and absolute ambient temperature,

T(amb) (K)

109
For air,

C(p) = 0.9126 + 2.577 * 10**(-4) * T - 3.974 * 10**(-8) * T**2

Both the mass and energy flow rate calculations require the gas temperature to

make the calculations (to find p and dT respectively). The input temperature may

be from three different sources:

1. an arbitrary constant temperature supplied by the user;

2. a single temperature from one, or the average of several, thermocouple (s)

located near the velocity probe;

3 . an interpolated temperature from the values of two thermocouples near the

velocity probe.

When only one velocity in the opening is known, the calculations are made

assuming the same gas velocity over the whole area. However, when a velocity

profile is used, the opening height is divided into segments calculated by the

program and determined by the velocity probe positions. The flow rates for each

part are calculated using the opening width, W (m) , the segment height, h(i) (m)

,

and the segment gas velocity, v(i) (m/s)

There are some conventions built in to the default flow coefficient conditions of

this subroutine. In particular, the default flow coefficient for the positive

direction corresponds to flows of relatively hot gas at relatively high velocities while the default flow coefficient for the negative direction corresponds to

110
flows of relatively cool gas at relatively low velocities. Thus the default

conditions correspond to in - negative and out — positive.

The user is not restricted to these conventions; however, and may change them

with the appropriate choices for the flow coefficients.

Note also that for comparison and plotting purposes, the absolute values of

negative flow rates are returned. It is up to the user to decide the convention

he wishes to use for in and out (-,+ or +,-). Note, however, that the negative

value is stored in the first channel created and the positive value in the

second.

Height Above Floor

h(l) >* v(l)

h(2) >* v(2)

h(3) >* v(3)

h(4) >* v(4)

v(5) *< h(5)

v(6) *< h(6) <

Negative Gas Velocity

> Positive Gas Velocity

111
Input Variables Format Comments

HCbl NPROBE,INP,IVF,IMF,

IEF.HDOOR { ,WDOOR)

[

, FCNEG [, FCPOS ] ] X

EVALU8

(NPDI

[2])

Only one of these inputs is read each

time the command FLOW- RATE is given.

NPROBE - number of velocity channels

to be used by this subroutine.

Prepare NPROBE HCb2 inputs

INP - the neutral plane height, m. =0, do not store the result

O 0, store the result (1 channel

created)

the volume flow rate, m

3 IVF /s.

=0, do not store the result (s) = 1, store only the flows in the

negative direction

(1 channel created) = 2, store only the flows in the

positive direction

(1 channel created)

3, store flows in both

directions (2 channels

created)

IMF - the mass flow rate, kg/s

The values for IMF have the same function as IVF above.

IEF - the convective energy flow

rate, kW. The values for IEF

have the same function as IVF

above

HDOOR - height of instrumented door

or other opening, m WDOOR - width of instrumented door or other opening, m. Enter this

value only if IVF, IMF or IEF

is greater than zero FCNEG - empirically derived flow

coefficient, default = 0. FCPOS - empirically derived flow

coefficient, default = 0. X = ' X' - end-of-set mark

68

73

112
Input Variables Format Comments

HCb2 JVEL.POSJ {, CTEMP}

{, JTEMP) {.JTEMP1,

P0STC1 , JTEMP2

,

POSTC2 } [, CTAMB or

ITAMB] X

EVALU8

(NPDI

[2])

Information on all velocity probes used

in above calculations

.

JVEL - velocity channel number, m/s

(NPDI [3]).

POSJ - position of probe relative to

bottom of opening, m. CTEMP - temperature correction, °C.

Enter this value only if

a constant temperature

correction is used.

JTEMP - thermocouple channel number,

°C. Enter this value only

if the temperature correction

is from a single, related

thermocouple (NPDI [3]).

JTEMP1 - the upper temperature channel

number (by probe position) used

in interpolation, °C (NPDI

[3]). Enter this value only if

using temperature interpolation

P0STC1 - position of JTEMPl relative to same origin as probe, m. Enter

this value only if using

temperature interpolation

JTEMP2 - the lower temperature channel

number (by probe position) used

in interpolation, °C (NPDI

[3]). Enter this value only if

using temperature interpolation

P0STC2 - position of JTEMP2 relative to same origin as probe, m. Enter

cms value onxy n using

temperature interpolation

CTAMB - ambient temperature, °C

ITAMB - any integer value. The ambient

temperature will be the first

reading from whichever

temperature method is used

above

.

113
Note that if neither CTAMB nor ITAMB

are entered, the current default value

for the ambient temperature will be

used (20 °C, unless redefined).

X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

114
15.3 Fart H, Class C, Subpart c: Input Specified by Complex Command GAS -FLOW

5F15-FLDU

The subroutine calculates the mass flow rate of a gas of known concentration,

molecular weight, and velocity through an opening of known area. There are two

methods of calculating the mass flow rate: one is for openings where only one gas

concentration value is available and the other is where there is more than one

value (vertical profile) . Both use the same equation to calculate the mass flow

rate

:

x(g) * W(g) * v(g) * A * T(amb) * p(amb)

M' =

W(a) * T(g)

where

M' - mass flow rate of gas, kg/s

x(g) - gas concentration expressed as a mole fraction

v(g) - gas velocity through opening, m/s

A - area of opening, m

2 T(amb) - ambient temperature, K

p(amb) - density of air at ambient temperature, kg/m3 W(g) , W(a) - molecular weight of gas and air

T(g) - gas temperature, K

When more than one gas probe are used (method 2), the opening is divided into

segments, the sizes of which are governed by the positions of the probes. The

115
boundary between two probes is simply the halfway point. The total mass flow

rate of the gas is the sum of the mass flow rates for the segments. Note that

there is provision for the user to select segment sizes if desired.

The calculated values are stored in channels created by the program. This

subroutine does not reduce any raw data.

Input Variables Format Comments

HCcl ICALC, [CTAMB or JTAMB] XEVALU8

(NPDI

[2])

Only one set of these inputs is read

each time the command GAS -FLOW is given.

One channel is created for every HCcl

input read.

ICALC - calculation type code = 1 - single segment opening.

Prepare one HCc2 and one HCc3 input. = 2 - multi- segment opening.

Prepare one HCc2 input, one HCc4 input, and one set of

HCc5 inputs.

CTAMB - constant ambient temperature,

°C

JTAMB - channel number of the ambient

temperature (NPDI [3]), °C

Note that if both CTAMB and JTAMB are left blank, the current default value

for the ambient temperature will be

used (20 °C, unless redefined).

X = ' X' - end-of-set mark

Input Variables Format Comments

HCc2 IGAS A20 IGAS - a 20 character name for the

kind of gas to be quantified

116
Input Variables Format Comments

HCc3 JGAS.JVELl.CTEMP or JTEMP1 , AREA, AMWG X

EVALU8

(NPDI

[2])

Read this input only if ICALC =- 1.

JGAS - gas concentration channel

number, vol % (NPDI [3])

JVELl - gas velocity channel number,

m/s (NPDI [3])

CTEMP - a constant associated

temperature °C

JTEMPl - gas temperature channel number,

°C (NPDI [3])

AREA - cross sectional area of opening

m

2 AMWG - molecular weight of gas

X = ' X' - end-of-set mark

Input Variables Format Comments

HCc4 NGAS,HT,WD,JNP,

ISMETH.AMWG X

EVALU8

(NPDI

[2])

Read this input only if ICALC = 2.

NGAS - number of gas probe locations

Prepare NGAS HCc5 inputs

HT - height of opening parallel

to line of probes, m

WD - width of opening perpendicular

to line of probes, m

JNP - neutral plane height channel

number, m (NPDI [3])

ISMETH = 1 - subroutine determines fixed

segment heights based on

gas probe positions

(entered with input HCc5) = 2 - user supplies fixed segment

heights (one for each gas

probe). See SEGHT (input

HCc5)

AMWG - molecular weight of gas

X = ' X' - end-of-set mark

117
Input Variables Format Comments

HCc5 JGAS , GASPOS , IVMETH

,

ITMETH { ,JVEL)

{

, JVELl, VPOS 1.JVEL2,

VPOS2) { ,CTEMP or JTEMP} {, JTEMPl,

TPOSl,JTEMP2,TPOS2)

{

, SEGHT) X

EVALU8

(NPDI

[2])

Read this input only if ICALC = 2.

JGAS - gas concentration channel

number, vol % (NPDI [3])

GASPOS - position of gas probe from

bottom of opening, m

IVMETH — 1 - use single associated

velocity channel number

= 2 - use velocity interpolation

ITMETH = 1 - use single associated

temperature channel number

or constant temperature

= 2 - use temperature channel

interpolation

JVEL - a single associated velocity

channel number, m/s

(NPDI [3]). Enter this value

only if IVMETH = 1.

JVELl - the upper velocity channel

number (by probe position) used

in interpolation, m/s

(NPDI [3]). Enter this value

only if IVMETH = 2.

VP0S1 - position of JVELl from bottom

of opening, m. Enter this

value only if IVMETH = 2 JVEL2 - lower velocity channel number

used in interpolation, m (NPDI

[3]). Enter this value only if

IVMETH = 2 VP0S2 - position of JVEL2 from bottom

of opening, m. Enter this

value only if IVMETH = 2 CTEMP - a constant associated

temperature °C. Enter this

value only if ITMETH = 1 JTEMP - a single associated temperature

channel number, °C

(NPDI [3]). Enter this value

only if ITMETH = 1.

JTEMPl - the upper temperature channel

number (by probe position) used

in interpolation, °C

(NPDI [3]). Enter this value

only if ITMETH = 2.

TPOSl - position of JTEMPl from bottom

of opening, m. Enter this

value only if ITMETH - 2

118
JTEMP2 - lower temperature channel

number used in interpolation,

°C (NPDI [3]). Enter this

value only if ITMETH = 2

TP0S2 - position of JTEMP2 from bottom

of opening, m. Enter this

value only if ITMETH - 2

SEGHT - user supplied height of segment

associated with JGAS , m. Enter

this value only if ISMETH > 1

(see input HCc4)

X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

119
15.4 Part H, Class C, Subpart d: Input Specified by Complex Command HEAT-RATE

HEFIT-PSF1TE

The subroutine calculates the total rate of heat release for a system based on

the oxygen depletion of the gas leaving the system3. There are five basic

methods of calculating the rate of heat release. Some or all of the following

input variables are required to make the calculations: oxygen, carbon dioxide,

and carbon monoxide gas concentrations (volume percent) , exhaust gas velocity

(m/s), exhaust opening (doorway, window, stack, etc.) dimensions (m) , neutral

plane height (m) , exhaust gas temperature (°C), input air volume flow rate

(m3 /s), and input fuel volume flow rate (m3 /s).

The choice of method' used to calculate the rate of heat release must be based on

test conditions and available information. The five methods are:

1. open system - no restriction on air going into the test chamber; one oxygen

concentration, one gas velocity, and one gas temperature measurement in the

exhaust gas (from a single probe or from the average of several); the

oxygen concentration may or may not be corrected for carbon dioxide

concentration.

3 Parker, W. J., Calculations of the Heat Release Rate by Oxygen Consumption for

Various Applications, Nat. Bur. Stand., (U. S.), NBSIR 81-2427-1 (March 1982).

120
2. the same type calculation as (1) except there are more than one oxygen

concentration, gas velocity, and gas temperature measurement in the opening

(i.e. a vertical profile of quantities). Essentially, the rate of heat

release is calculated for each "segment" represented by an oxygen measurement, then added together to find the total rate of heat release.

3. open system - one oxygen, carbon dioxide, carbon monoxide, gas velocity,

and gas temperature measurement; the fuel burning characteristics must be

known, i.e. the stoichiometric coefficients of water, carbon dioxide,

carbon monoxide, oxygen, and the fuel. The oxygen concentration is always

corrected for carbon dioxide and carbon monoxide.

4. the same type calculation as (3) except there is a vertical profile as in

type (2).

5. closed system - the input air and fuel are monitored and may be regulated;

the outflow concentrations of oxygen, carbon dioxide, and carbon monoxide

are known as are the stoichiometric coefficients of water, carbon dioxide,

carbon monoxide, oxygen and fuel in the reaction equation.

Methods 1 and 2 use the same equation to calculate the rate of heat release:

d02 * H * v * A * T(amb)

Q' =

T

where

121
Q' - rate of heat release, kW

d02 - oxygen depletion corrected for carbon dioxide concentration and

expressed as a mole fraction =

0.209 - [x(02) * 0.01 / (1.0 - x(C02) * 0.01)]

1.0 - (x(02) * 0.01) / (1.0 - x(C02) * 0.01)

where x(02) and x(C02) are the oxygen and carbon dioxide concentrations, respectively, in volume percent. If the correction for carbon

dioxide is not used, the equation for oxygen depletion reduces to

0.209 - x(02) * 0.01

1.0 - x(02) * 0.01

H - heat of combustion of fuel in terms of a volume of oxygen consumed at

STP, kJ/m3 (default value is 17010 kJ/m3

)

v - outflow gas velocity, m/s

A - opening area, m

2

T(amb) - ambient temperature, K

T - outflow gas temperature , K

Methods 3 and 4 use a different, more precise but more complex, equation to

calculate the rate of heat release:

122
d02 * H * v * A * T(amb)

Q'

T * [1. + 0.209 * ((1. + a * dnu) / nu(02))]

where

Q' - rate of heat release, kW

d02 - corrected oxygen depletion expressed as a mole fraction

= 0.209 - x(02) / (1. + gamma), where

gamma = nu(H20) * (x(C02) + x(C0)) / (nu(C02) + nu(CO))

x(02) , x"(C02) , x(C0) - oxygen, carbon dioxide, and carbon monoxide

concentrations expressed as mole fractions

dnu - difference in the sum of the stoichiometric coefficients of

products and reactants, dnu = SUM[nu(p)] - SUM[nu(r)] = nu(H20) + nu(C02) + nu(CO) - nu(02) - nu(f)

, where SUM is the summation

function

nu(H20) , nu(C02) , nu(CO) , nu(02) , nu(f) - stoichiometric coefficients of

water, carbon dioxide, carbon monoxide, oxygen, and fuel in the

reaction equation

H - heat of combustion of fuel in terms of a volume of oxygen

consumed at STP, kJ/m3 (default value is 17010 kJ/m3

) v - outflow gas velocity, m/s

A - opening area, m

2 T(amb) - ambient temperature, K

T - outflow gas temperature , K

a - alpha, expansion factor for fraction of air depleted of oxygen.

For x(02) greater than zero, a=l. for x(02) equal zero, a=-l./dnu

123
The calculation of the rate of heat release using method 5 rests heavily on the

volume flow rates of air and fuel into the system and the oxygen concentration in

the exhaust gas:

x(02) * W(a) V(f) * W(f)

Q' = H * V(a) * [0.209 -

( + )]

(1. + gamma) * W(g) V(a) * W(a)

where

Q' - rate of heat release, kW

H - heat of combustion of fuel in terms of a volume of oxygen consumed

at STP, kJ/m3 (default value is 17010 kJ/m3

) gamma - correction factor for oxygen,

gamma = nu(H20) * (x(C02) + x(C0)) / (nu(C02) + nu(CO))

x(02) , x(C02), x(C0) - oxygen, carbon dioxide, and carbon monoxide

concentrations expressed as mole fractions

nu(H20) , nu (C02) , nu(CO) - stoichiometric coefficients of water, carbon

dioxide, and carbon monoxide in the reaction equation

V(a) , V(f) - temperature adjusted volume flow rate of air and fuel into the

system, m

3 /s

W(a) , W(f), W(g) - molecular weight of input air, input fuel, and exhaust

gas

When more than one oxygen probe are used (methods 2 and 4) , the opening is

divided into segments, the sizes of which are governed by the positions of the

probes. The boundary between two probes is simply the halfway point. The total

rate of heat release is then the sum of the rates of heat release for the

segments. Note that there is provision for the user to select segment sizes if

The calculated values are stored in their own channels created by the program.

This subroutine does not reduce any raw data.

desired.

124
Input Variables Format Comments

HCdl ICALC, [CTAMB or JTAMB] XEVALU8

(NPDI

[2])

Only one set of these inputs is read

each time the command HEAT-RATE is

given. One channel is created for every

HCdl input read.

ICALC - calculation type code

= 1 - single- segment opening,

uncorrected oxygen (or

oxygen corrected for carbon

dioxide only) . Prepare one HCd2 input. = 2 - multi- segment opening,

uncorrected oxygen (or

oxygen corrected for carbon

dioxide only) . Prepare one HCd3 input and one set of

HCd4 inputs. = 3 - single -segment opening,

oxygen corrected for carbon

dioxide and carbon monoxide

and considering fuel

burning characteristics.

Prepare one HCd5 and one HCd6 input. = 4 - multi -segment opening,

oxygen corrected for carbon

dioxide and carbon monoxide

and considering fuel

burning characteristics.

Prepare one HCd5 input, one HCd7 input, and one set of

HCd8 inputs. = 5 - closed system, input air

and fuel monitored, exhaust

oxygen corrected for carbon

dioxide and carbon monoxide

and considering fuel

burning characteristics.

Prepare one HCd5 input and

one HCd9 input.

CTAMB - a constant ambient temperature,

°C.

JTAMB - channel number of the ambient

temperature, °C (NPDI [3]).

125
Note that if both CTAMB and JTAMB are left blank, the current default value

for the ambient temperature will be

used (20 °C, unless redefined).

X = ' X' - end-of-set mark

Input Variables Format Comments

HCd2 J02,JVEL1,CTEMP or

J TEMP , AREA , ICORR

{ ,JCORR) [ ,HCOM] X

EVALU8

(NPDI

[2])

Read this input only if ICALC = 1. J02 - oxygen concentration channel

number, vol % (NPDI [3])

JVEL1 - velocity channel number, m/s

(NPDI [3])

CTEMP - a constant associated

temperature, °C. Enter this

value only if a constant

temperature correction is used.

JTEMP - temperature channel number

(NPDI [3]) °C. Enter this

value only if the temperature

correction is from a related

thermocouple

AREA - cross sectional area of opening

(m2

) ICORR = 0 - no carbon dioxide

correction of oxygen

depletion for rate of

heat release calculation

> 0 - make carbon dioxide

tUI let LlUtl

JCORR - carbon dioxide concentration

channel number for carbon

dioxide correction of oxygen

depletion (NPDI [3]). Enter

this value only if ICORR > 0

HCOM - average heat of combustion of

fuel expressed in terms of a unit volume of oxygen consumed

at STP (kJ/m3

) . Enter this

value only if the default value

needs to be changed. The

default value is 17010. kJ/m3 (average for many common fuels)

X = ' X' - end-of-set mark

126
Input Variables Format Comments

HCd3 N02,HT,WD,JNP,

ISMETH,ICORR

[,HCOM] X

EVALU8

(NPDI

[2])

Read this input only if ICALC = 2.

N02 - number of oxygen probe

locations. Prepare N02 HCd4

input ( s

)

HT - height of opening parallel to

line of probes, m

WD - width of opening perpendicular

to line of probes, m

JNP - neutral plane height channel

number, m (NPDI [3])

ISMETH = 1 - subroutine determines fixed

segment heights based on

gas probe positions

(entered with input HCd4) > 1 - user supplies fixed segment

heights, m (one for each

gas probe) . See SEGHT

(input HCd4)

ICORR = 0 - no carbon dioxide

correction of oxygen

depletion for rate of

heat release calculation

> 0 - make carbon dioxide

correction

HCOM - average heat of combustion of

fuel expressed in terms of a unit volume of oxygen consumed

at STP (kJ/m3 ). Enter this

value only if the default value

needs to be changed. The

default value is 17010. kJ/m3 (average for many common fuels)

X = ' X' - end-of-set mark

Input Variables Format Comments

HCd4 J02,02POS,IVMETH,

ITMETH {

, JVEL}

{

, JVEL1 , VPOS 1 , JVEL2

,

VP0S2 } { ,CTEMP or JTEMP} {.JTEMPl,

TPOSl,JTEMP2,TPOS2}

{

, SEGHT} {, JCORR} X

EVALU8

(NPDI

[2])

Read this input only if ICALC = 2.

J02 - oxygen concentration channel

number, vol % (NPDI {3])

02P0S - position of oxygen probe from

bottom of opening, m

IVMETH = 1 - use single associated

velocity channel number

= 2 - use velocity channel

interpolation

127
ITMETH = 1 - use single associated

temperature channel number

or constant temperature

= 2 - use temperature channel

interpolation

JVEL - a single associated velocity

channel number, m/s (NPDI [3]).

Enter this value only if

IVMETH =1.

JVEL1 - the upper velocity channel (by

position) used in interpolation

m/s (NPDI [3]). Enter this

value only if IVMETH = 2.

VP0S1 - position of JVEL1 from bottom

of opening, m. Enter this

value only if IVMETH = 2 JVEL2 - lower velocity channel number

used in interpolation, m (NPDI

[3]). Enter this value only if

IVMETH = 2 VP0S2 - position of JVEL2 from bottom

of opening, m. Enter this

value only if IVMETH. = 2 CTEMP - a constant associated

temperature , ° C . Enter this

value only if ITMETH = 1

JTEMP - a single associated temperature

channel number, °C

(NPDI [3]). Enter this value

only if ITMETH = 1.

JTEMP1 - upper temperature channel

channel number (by position)

used in interpolation, °C

(NPDI [3]). Enter this value

only if ITMETH = 2.

TP0S1 - position of JTEMP1 from bottom

of opening, m. Enter this

value only if ITMETH = 2 JTEMP2 - lower temperature channel

number used in interpolation,

°C (NPDI [3]). Enter this

value only if ITMETH = 2 TP0S2 - position of JTEMP2 from bottom

of opening, m. Enter this

value only if ITMETH - 2 SEGHT - user supplied height of segment

associated with JGAS , m. Enter

this value only if ISMETH > 1 (see input HCd3)

128
JCORR - carbon dioxide concentration

channel number for carbon

dioxide correction of oxygen

depletion (NPDI [3]). Enter

this value only if ICORR > 0 see input HCd3)

X — ' X' - end-of-set mark

Input Variables Format Comments

HCd5 VH20,VC02,VCO,

V02.VF [,HCOM] X

EVALU8

(NPDI

[2])

Read this input only if ICALC =3, 4 or

5.

VH20 - stoichiometric coefficient of

water in the reaction

VC02 - coefficient of carbon dioxide

VCO - coefficient of carbon monoxide

V02 - coefficient of oxygen

VF - coefficient of the fuel

HCOM - average heat of combustion of

fuel expressed in terms of a uni t volume of oxv?en consumed,

at STP (kJ/m3

) . Enter this

value onlv if the default value

needs to be changed. The

default value is 17010. kJ/m3 (average for many common fuels)

X - ' X' - end-of-set mark

Input Variables Format Comments

HCd6 J02,JC02,JCO,JVEL,

CTEMP or JTEMP,

AREA X

EVALU8

(NPDI

[2])

Read this input only if ICALC - 3

.

J02 - oxygen concentration channel

number, vol % (NPDI [3])

JC02 - carbon dioxide concentration

channel number, vol % (NPDI

[3])

JCO - carbon monoxide concentration

channel number, vol % (NPDI

[3])

JVEL - velocity channel number, m/s

(NPDI [3])

CTEMP - a constant associated

. temperature , 0 C

JTEMP - temperature channel number,

°C (NPDI [3])

AREA - cross sectional area of

opening , m

2 X - ' X' - end-of-set mark

129
Input Variables Format Comments

HCd7 N02,HT,WD,JNP,

JAVFRI , JAVFRO , CAT

or JATI.CATO or JATO,WF,ISMETH X

EVALU8

(NPDI

[2])

Read this input only if ICALC = 4.

N02 - number of oxygen probe

locations. Prepare N02 HCd8

input ( s

)

HT - height of opening parallel

to line of probes, m

WD - width of opening perpendicular

to line of probes, m

JNP - neutral plane height channel

number, m (NPDI [3])

JAVFRI - volume flow rate of gas going

into chamber channel number

,

m

3 /s (NPDI [3])

JAVFRO - volume flow rate of gas coming

out of chamber channel number, m

3 /s (NPDI [3])

CATI - constant temperature of air

going into opening, °C

JATI - average temperature of air

going into opening channel

number (NPDI [3])

CATO - constant temperature of air

coming out of opening, °C

JATO - average temperature of gas

coming out of opening channel

number (NPDI [3])

WF - molecular weight of the fuel

ISMETH = 1 - subroutine determines fixed

segment heights based on

gas probe positions

(entered with input HCd8) > 1 - user supplies fixed segment

heights (one for each gas

probe). See SEGHT (input

HCd8)

X = ' X' - end-of-set mark

Input Variables Format Comments

HCd8 J02,JC02,JCO,GASPOS,

IVMETH ITMETH ( JVEL)

{ ,JVEL1,VP0S1,JVEL2,

VP0S2 } { , CTEMP or JTEMP) {.JTEMP1,

TPOSl,JTEMP2,TPOS2)

{

, SEGHT) X

EVALU8

(NPDI

[2])

Read this input only if ICALC = 4.

J02 - oxygen concentration channel

number, vol % (NPDI [3])

JC02 - carbon dioxide concentration

channel number, vol % (NPDI

[3])

JCO - carbon monoxide

concentration channel number,

vol % (NPDI [3])

130
GASPOS - position of gas probe from

bottom of opening, m

IVMETH = 1 - use single associated

velocity channel number = 2 - use velocity interpolation

ITMETH = 1 - use single associated

temperature channel number

or constant temperature

= 2 - use temperature channel

interpolation

JVEL - a single associated velocity

channel number, m/s (NPDI [3]).

Enter this value only if

IVMETH =1.

JVEL1 - the upper velocity channel

number (by probe position) used

in interpolation, m/s

(NPDI [3]). Enter this value

only if IVMETH = 2.

VP0S1 - position of JVEL1 from bottom

of opening, m. Enter this

value only if IVMETH = 2 JVEL2 - lower velocity channel number

used in interpolation, m (NPDI

[3]). Enter this value only if

IVMETH = 2 VP0S2 - position of JVEL2 from bottom

of opening, m. Enter this

value only if IVMETH = 2 CTEMP - a constant associated

temperature °C. Enter this

value only if ITMETH = 1

JTEMP - a single associated temperature

channel number (NPDI [3]).

Enter this value only if

ITMETH =1.

JTEMPl - the upper temperature channel

number (by probe position) used

in interpolation, °C

(NPDI [3]). Enter this value

only if ITMETH = 2.

TP0S1 - position of JTEMPl from bottom

of opening, m. Enter this

value only if ITMETH = 2 JTEMP2 - lower temperature channel

number used in interpolation,

°C (NPDI [3] ) . Enter this

value only if ITMETH = 2 TP0S2 - position of JTEMP2 from bottom

of opening, m. Enter this

value only if ITMETH = 2

131
SEGHT - user supplied height of segment

associated with JGAS , m. Enter

this value only if ISMETH > 1 (see input HCd7)

X = ' X' - end-of-set mark

Input Variables Format Comments

HCd9 J02,JC02,JCO,JVFF,

JVFA,WF,CTF or JTF,

CTA or JTA X

EVALU8

(NPDI

[2])

Read this input only if ICALC = 5. J02 - oxygen concentration channel

number, vol % (NPDI [3])

JC02 - carbon dioxide concentration

channel number, vol % (NPDI

[3])

JCO - carbon monoxide concentration

channel number, vol % (NPDI

[3])

JVFF - fuel volume flow rate channel

number, m

3 /s (NPDI [3])

JVFA - air volume flow rate channel

number, m

3 /s (NPDI [3])

WF - molecular weight of fuel

CTF - a constant fuel temperature,

°C

JTF - fuel temperature channel

number (NPDI [3]), °C

CTA - a constant air temperature,

°C

JTA - air temperature channel

number (NPDI [3]), °C

X - ' X' - end-of-set mark

Enter Another Command (Data Input HI)

132
15.5 Fart H, Class G, Subpart e: Input Specified by Complex Command HEAT-RATE2

HEflT-RflTE-a

The subroutine calculates the total rate of heat release for a system based .on

the oxygen depletion and mass flow rate of exhaust gases through an exhaust duct

or other exhaust collection device. For the best results, the specific energy

and the stoichiometric factor for the fuel being burned should be known. The

default values for these parameters are 13100. kJ/kg and 1.5, respectively.

The rate of heat release equation is then

M(02)

Q' = S * * m' * X

M(air)

where

,

Q' - rate of heat release, kW

S - specific energy (S = dhc/rO) , kJ/kg (default = 13100.)

dhc - net heat of combustion, kJ/kg

rO - stoichiometric oxygen/fuel mass ratio

M(02) - molecular weight of oxygen (= 32.)

M(air) - molecular weight of air (= 28.97)

m' - mass flow rate of gases through collection duct, kg/s

and,

133
1 x

[(1 - X02 - XC02) / (X02(0) * (1 - XC02) - X02 * (1 - XC02(0)))] + (b-1)

X02(0) - baseline oxygen concentration, as a fraction

X02 - oxygen concentration, as a fraction

XC02(0) - baseline carbon dioxide concentration, as a fraction

XC02 - carbon dioxide concentration, as a fraction

b - stoichiometric factor, dimensionless (default = 1.5)

The calculated values are stored in their own channels created by the program.

One channel is created each time the command HEAT-RATE- 2 is given. This subroutine does not reduce any raw data.

Input Variables Format Comments

HCel J02,CMFR or JMFR,

IC02 {,JC02}

[ [ ,B] .SENRGY] X

EVALU8

(NPDI

[2])

J02 - oxygen concentration channel

number (NPDI [3]), vol %.

CMFR - an arbitrary, constant mass flow rate , kg/s

JMFR - a mass flow rate channel

number (NPDI [3]), kg/s.

IC02 = 0, no carbon dioxide correction > 0, oxygen corrected for carbon

dioxide

JC02 - the carbon monoxide

concentration channel number,

volume %, used to correct the

oxygen concentration (NPDI [3])

Enter this value only if

IC02 > 0.

B - stoichiometric factor,

dimensionless. (Default - 1.5)

SENRGY - specific energy, kJ/kg.

(Default - 13100.)

X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

134
15.6 Part H, Class C, Subpart f: Input Specified by Complex Command HOT/COLD

HDT/GDU

The subroutine finds the height of the hot/cold interface and the average

temperatures above and below the interface using a temperature profile of the

gas

The temperature at the interface is defined to be

where

,

Ti = Tl + ((Th - Tl) * C)

Ti - the temperature at the interface height

Tl - the lowest temperature in the profile; (this subroutine uses the

temperature of the bottom thermocouple in the profile)

Th - the highest temperature in the profile.

C - an empirical value, less than or equal to 1.0, used to define the

temperature at the interface height

Once the temperature at the interface height is known, the height of the

interface is found by interpolating between the pair of profile temperatures that

4 Cooper, L. Y. , Harkleroad, M. , Quintiere , J. G .

, and Rinkinen, W. J., An

Experimental Study of Upper Hot Layer Stratification in Full -Scale Multiroom Fire

Scenarios, J. Heat Trans., Vol. 104, 741-749 (November 1982).

135
bracket the interface temperature. Note that you may request the program to

calculate (by extrapolation) the temperature at height = 0.0 and that that

temperature and position are than available to the algorithm for finding the

interface height.

Once the interface height is known, the average temperatures above and below it

are calculated.

The calculated interface height, average upper gas temperature, and average lower

gas temperature are stored in channels created by the program, at the option of

the user. This subroutine does not reduce any raw data. Any units may be used

for temperature and position as long as they are consistent among themselves.

Only one set of HCf inputs is read each time the command HOT/COLD is given.

136
Variables Format Comments

IHT;IHOT,ICOLD,

ROOMHT, [IXTRAP,

[PCT] X

EVALU8

(NPDI

[2])

IHT > 0 - store the calculated

interface height. One

channel is created.

IHOT > 0 - store the calculated

temperature of the gases

above the interface

ICOLD > 0 - store the calculated

temperature of the gases

below the interface

ROOMHT - the height of the ceiling at

the point in line with the

temperature profile

IXTRAP > 0 - calculate temperature at

HEIGHT = 0.0 by extrapolation of the bottom two

thermocouples

.

PCT - the temperature at the

. interface height is defined as Tc + (Th - Tc) * (IPCT/100).

The default value is 20.

X = ' X' - end-of-set mark

Variables Format Comments

JTEMP(l) ,JTEMP(2)

,

. .

. ,JTEMP(i) X

1 <= i <= 25

EVALU8

(NPDI

[2])

JTEMP - thermocouple channel number

(NPDI [3]).

Thermocouples may be in any

order. The positions, entered

with data input HCf3 below, must

be in the same order.

X = ' X' - end-of-set mark

Variables Format Comments

POS(l) ,P0S(2)

,

POS(i) X

1 <= i <= 25

EVALU8

(NPDI

[2])

POS - height of the thermocouple in

the corresponding position on data input HCf2.

X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

137
15.7 Part H, Class C, Subpart g: Input Specified by Complex Command MASS-FLOW

mnss-FLDUi

The subroutine calculates the height of the neutral plane from the temperature

profile at the room opening and one static pressure probe and the mass flow rate

of hot gas in and out of the fire room based only on the gas temperature and

opening dimensions5 6

The neutral plane is found by solving the following equation for "Hnp"

dP + g * rho * SUM [(1. - (Ta/T)) * dH] =0.0

where

,

dP: pressure (Pa) at an arbitrarily chosen height, "Hp" (m)

g: acceleration due to gravity = 9.8 m/s2 rho: density of air (kg/cu m) at temperature "Ta"

Ta: absolute ambient temperature (K)

T: absolute temperature (K) at some height, "H" (m) , in interior

of room, where Hp <= H <= Hnp

5 Lee, B . T., Effect of Ventilation on the Rates of Heat, Smoke, and Carbon

Monoxide Production in A Typical Jail Cell Fire, Nat. Bur. Stand., (U. S.), NBSIR

82-2469 (March 1982).

6 Lee, B. T., Effect of Wall and Room Surfaces on the Rates of Heat, Smoke, and

Carbon Monoxide Production in A Park Lodging Bedroom Fire, Nat. Bur. Stand.,

(U. S.), NBSIR 85-2998 (February 1985).

138
dH: segment height (m) , which is at most twice the accuracy of the

calculation

SUM: the summation function over the range Hp to Hnp by dH

Hnp: the neutral plane height (m)

Once the neutral plane height is calculated, the mass flow rates are calculated

using the following equation:

Mdot = C*W*rho*Ta*SQRT(2g) * SUMd [SQRT(1/Td * SUMi [ (1/Ta - 1/Ti) * dHi]) * dHd]

where

,

Mdot: mass flow rate (kg/s)

C: flow coefficient; defaults are 0.68 for inflow and 0 .73 for outflow

W: the width of the opening (m)

rho

:

density of air (kg/cu m) at temperature "Ta"

Ta: absolute ambient temperature (K)

g: acceleration due to gravity = 9.8 m/s2 SQRT: the square root function

dHd: segment height in doorway (m)

Td: absolute temperature (K) at some height "H" (m) in doorway

Ti: absolute temperature (K) at some height "H" (m) in interior

dHi: segment height in interior (m)

SUMd: the summation function over the range

Hnp to zero by -dHd for in- flow and

Hnp to Hdoor by dHd for out -flow

SUMi: the summation function over the range

Hnp to H by -dHi for in- flow and

Hnp to H by dHi for out -flow

Hdoor: the height of the opening (m)

Hnp: the height of the neutral plane (m)

The results are stored in channels created by the program. This subroutine does

not reduce any raw data.

139
Input Variables Format Comments

HCgl WDOOR.HDOOR.HINT,

INP.IMFI.IMFO,

CPR or JPR.PPR,

CTAMB or JTAMB

,

[ , FCI [

, FCO

[ ,HACC] ]

] X

EVALU8

(NPDI

[2])

WDOOR - width of opening, m-. HDOOR - height of opening, m. HINT - height of interior, m. INP O 0 - save the neutral plane

heights calculated. One

channel is created.

IMFI O 0 - calculate and save the mass flow rate into room. One channel is created.

IMFO O 0 - calculate and save the mass flow rate out of

room. One channel is

created.

CPR - constant static pressure, Pa.

JPR - static pressure channel number

Pa (NPDI [3]).

PPR - position of static pressure

measurement above floor, m. CTAMB - constant ambient temperature,

°C.

JTAMB = 0 - use default ambient

temperature

> 0 - temperature channel of

temperature to be used as ambient (NPDI [3]).

FCI - flow coefficient for flows

going into room (default -

0.68)

FCO - flow coefficient for flows

going out of room (default = 0.73)

HACC - accuracy of the neutral plane

calculation, m (default = 0.01)

X = ' X' - end-of-set mark

Input Variables Format Comments

HCg2 JTCD(l) ,JTCD(2)

JTCD(i) X

1 <= i <= 50

EVALU8

(NPDI

[2])

JTCD - doorway thermocouple channel

number, °C (NPDI [3]).

X = ' X' - end-of-set mark

Input Variables Format Comments

HCg3 PD(1),PD<2),...,

PD(i) X

1 <- i <- 50

EVALU8

(NPDI

[2])

PD - doorway thermocouple positions

(height above floor) of above

thermocouples in same order, m. X = ' X' - end-of-set mark

140
Input Variables Format Comments

HCg4 JTCI(l) ,JTCI(2)

JTCI(i) X

1 <= i <= 50

EVALU8

(NPDI

[2])

JTCI - interior thermocouple channel

number, °C (NPDI [3]).

X = ' X' - end-of-set mark

Input Variables Format Comments

HCg5 PI01),PI(2)

PI(i) X

1 <- i <= 50

EVALU8

(NPDI

[2])

PI - interior thermocouple positions

(height above floor) of above

thermocouples in same order, m. X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

141
15.8 Part H, Class C, Subpart h: Input Specified by Complex Command MASS -FLOW

USB- FLOUI - B

The subroutine is very similar to the one used for the command MASS -FLOW, except

that the neutral plane height is an input value instead of a calculated value.

The mass flow rate of gas in and out of the fire room is still based on the gas

temperature and the opening dimensions.

The mass flow rates are calculated using the following equation:

Mdot = C*W*rho*Ta*SQRT(2g) * SUMd [SQRT(1/Td * SUMi [(1/Ta - 1/Ti) * dHi]) * dHd]

where

,

Mdot: mass flow rate (kg/s)

C: flow coefficient; defaults are 0.68 for inflow and 0.73 for outflow

W: the width of the opening (m)

rho: density of air (kg/cu m) at temperature "Ta"

Ta: absolute ambient temperature (K)

g: acceleration due to gravity = 9.8 m/s2 SQRT: the square root function

dHd: segment height in doorway (m)

Td: absolute temperature (K) at some height, "H"

Ti: absolute temperature (K) at some height, "H"

dHi: segment height in interior (m)

SUMd: the summation function over the range

Hnp to zero by -dHd for in- flow and

Hnp to Hdoor by dHd for out -flow

(m) in doorway

(m) in interior

142
SUMi: the summation function over the range

Hnp to H by -dHi for in- flow and

Hnp to H by dHi for out -flow

Hdoor:„the height of the opening (m)

Hnp: the height of the neutral plane (m)

The results are stored in channels created by the program,

not reduce any raw data.

This subroutine does

Input Variables Format Comments

HChl WDOOR , HDOOR , HINT , CNP

or JNP , IMFI , IMFO

CTAMB or JTAMB,

[ , FCI [

, FCO

[,HACC] j] X

EVALU8

(NPDI

[2])

WDOOR - width of opening, m. HDOOR - height of opening, m. HINT - height of interior, m. CNP - constant neutral plane height,

. m. JNP - neutral plane height channel

number , m (NPDI [ 3 ] )

IMFI > 0 - calculate and save the mass flow rate into room. One channel is created.

IMFO > 0 - calculate and save the mass flow rate out of

room. One channel is

created.

CPR - constant static pressure, Pa.

JPR - static pressure channel number,

Pa (NPDI [3] )

PPR - position of static pressure

measurement above floor, m. CTAMB - constant ambient temperature,

°C.

JTAMB = 0 - use default ambient

temperature > 0 - temperature channel of

temperature to be used as ambient (NPDI [3]).

FCI - flow coefficient for flows

going into room (default = 0.68)

143
FCO - flow coefficient for flows

going out of room (default =

0.73)

HACC - accuracy of the neutral plane

calculation, m (default = 0.01)

X = ' X' - end-of-set mark

Input Variables Format Comments

HCh2 JTCD(l) ,JTCD(2)

JTCD(i) X

1 <= i <= 50

EVALU8

(NPDI

[2])

JTCD - doorway thermocouple channel

number, °C (NPDI [3]).

X = ' X' - end-of-set mark

Input Variables Format Comments

HCh3 PD(1),PD(2), . .

.

,

PD(i) X

l.<= i <= 50

EVALU8

(NPDI

[2])

PD - doorway thermocouple positions

(height above floor) of above

thermocouples in same order, m. X = ' X' - end-of-set mark

Input Variables Format Comments

HCh4 JTCI(l) ,JTCI(2)

JTCI(i) X

1 <- i <- 50

EVALU8

(NPDI

[2])

JTCI - interior thermocouple channel

number, °C (NPDI [3]).

X — ' X' - end-of-set mark

Input Variables Format Comments

HCh5 PI(1),PI(2),... ) PI(i) X

1 <= i <= 50

EVALU8

(NPDI

[2])

PI - interior thermocouple positions

(height above floor) of above

thermocouples in same order, m. X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

144
15.9 Part H, Class C, Subpart i: Input Specified by Complex Command MASS -FLOW3

H55- FLDUI - 3

The subroutine calculates the mass flow rate of gas through an opening where the

gas flow is in only one direction and the velocity, temperature, and area

perpendicular to the flow are known. It is particularly well suited for calculations in an exhaust duct.

The equation for the mass flow rate is

m' = c *v*A* rho * (Ta/T)

where

,

m' - mass flow rate of gas, kg/s

c - empirical flow coefficient, default = 1.0

V - gas velocity, m/s

A - cross sectional area of the duct (perpendicular to the direction

of gas flow, m

2 rho - density of air at temperature "Ta" , kg/m3 Ta - absolute ambient temperature, default = 293.15 K (20 C)

T - absolute temperature of gas, K

The calculated results are stored in a channel created by the program. One

channel is created each time the command MASS -FLOW- 3 is given. The subroutine

does not reduce any raw data.

145
Input Variables Format Comments

HCil JVEL , AREA , JTEMP or CTEMP [

, C [

, CTAMB or JTAMB] ] X

EVALU8

(NPDI

[2])

JVEL - gas velocity channel number,

(NPDI [3]) m/s.

AREA - cross sectional area of the

exhaust duct perpendicular to

the gas flow, m

2

. JTEMP - gas temperature channel number,

°C (NPDI [3]).

CTEMP - an arbitrary constant gas

temperature , ° C

C - an empirical flow coefficient.

(Default =1.0)

CTAMB - an arbitrary constant ambient

temperature , ° C

JTAMB - an ambient temperature channel

number, °C (NPDI [3]).

Note that if both CTAMB and JTAMB are left blank, the current default value

for the ambient temperature will be

used (20 °C, unless redefined).

X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

146
15.10 Part H, Class C, Subpart j: Input Specified by Complex Command STATIC

5TFITIG

The subroutine uses static pressure measurements in conjunction with some other

test parameters, such as temperature, to calculate various quantities of

interest.

Generally, if more than one probe is used they are arranged such that a pressure

"profile" of the room from top to bottom can be ascertained. In addition, the

profile makes it possible to calculate gas velocities through openings in the

chamber, the neutral plane and thermal discontinuity heights in the openings, and

the interior gas temperature in the chamber.

The standard unit for pressure is the pascal (Pa). The calculated velocities,

heights, and temperatures are in meters per second (m/s) , meters (m) , and degrees

Celsius (°C), respectively.

Gas Velocities

The gas velocity, v (m/s), through an opening at a given height, z (m) , can be

147
calculated from the static pressure at height z and the average local gas

temperature:

v(z) = (2 * dP(z) / p(z)) ** .5

where dP(z) is the pressure difference at height z with respect to ambient static

pressure (Pa) and p(z) is the density of the gas (kg/m3

) at height z. Using the

gas law:

p(z) = p(0) * T(0) / T(z)

where T(z) is the absolute average local temperature (K) and p(0) and T(0) are

constant, arbitrarily chosen gas density and temperature (p(0) = 1.197 kg/m3

,

T(0) = 295 (K) . The velocity equation then becomes

v = [2 * T(z) * dP(z) / (p(0) * T(0))] ** .5

= .07526 * (T(z) * dP(z)) ** .5

Neutral Plane and Thermal Discontinuity Heights

To find the neutral plane and thermal discontinuity heights from the static

pressure "profile", two least square straight lines are found: one for the

probes above the neutral plane (positive pressure difference with ambient) , one

for the probes below the neutral plane (negative pressure difference with

ambient). The Y-axis intercept for the former yields the neutral plane height;

148
the intersection of the two yields the thermal discontinuity height. In addition, once the thermal discontinuity height is found, the first equation can be

rearranged and evaluated to find the static pressure at that height.

The equations for the two lines are of the form:

z = a * dP + b and

z' = c * dP' + d

where z and z' are the heights above the floor and dP and dP' are the pressure

differences with respect to ambient static pressure at those heights.

The equations for the coefficients are:

n* SUM[dP(i)*z(i) ,i=l,n] - SUM[dP(i) , i=l ,n] * SUM[z(i) , i=l ,n] a = n * SUM[dP(i)**2,i=l,n] - SUM[dP(i) , i=l ,n] ** 2

SUM[z(i) ,i=l,n] - a * SUM[dP(i) , i=l ,n]

b n

n' * SUM[dP' (i)*z' (i) ,1-1, n' ] - SUM[dP' (i) , i=l ,n' ] * SUM[z ' (i) , i=l ,n'

]

c = —— ———

n' * SUM[dP' (i)**2,i=l,n' ] - SUM[dP' (i) , i=l ,n' ] ** 2

SUM[z' (i) ,i=l,n' ] - c * SUM[dP' (i) , i=l ,n'

]

d -

n'

where n and n' are the number of probes above and below the neutral plane,

respectively, and SUM is the summation function. The neutral plane height,

149
z(np), equals b. The thermal discontinuity height occurs at the height where dP

- dP' - dP(td) and z = z' = z(td). Then, solving the two equations,

z(td) = a * dP(td) + b and

z(td) = c * dP(td) + d

simultaneously for the thermal discontinuity height yields

(b * c) - (a * d)

z(td) =

(c - a)

Rearranging the first equation and evaluating at height z(td) yields the pressure

at the thermal discontinuity height:

z(td) = a * dP(td) + b

dP(td) = b * z(td) / a

Interior Gas Temperatures

The interior gas temperature T (°C) at a given height z is calculated from the

difference in pressure between height z and the thermal discontinuity height and

the difference in position between the two heights.

T(amb)

T(z) = - 273.15

1 - (DP / (G * p(amb) * DZ))

150
where DP = dP(z) - dP(td), DZ = z - z(td), G is the acceleration due to gravity

(= 9.806 m/s2

)

, and T(amb) and p(amb) are the ambient gas temperature (K) and

density (kg/m3

)

.

The calculated values are stored in channels created by the program. This

subroutine does not reduce any raw data.

151
Input Variables Format Comments

HCj 1 NPROBE , IVEL {

, JTAVG }

,

INPTD {.HEIGHT},

ITEMP [, CTAMB or JTAMB] X

EVALU8

(NPDI

[2])

NPROBE

IVEL

JTAVG -

INPTD

number of static pressure

probes in this profile.

Prepare NPROBE HCj 2 inputs.

0 - no calculations made > 0 - calculate air velocity

through opening from

interior static pressure

for each probe. NPROBE

channels will be created.

average interior upper air

temperature channel, °C

(NPDI [3]). Enter this value

only if IVEL > 0.

0 - no calculations > 0 - calculate the positions of

the neutral plane and

thermal discontinuity and

the static pressure at the

thermal discontinuity

height. 3 channels will be

created.

HEIGHT - opening height, m. Enter this

value only if INPTD > 0.

ITEMP = 0 - no calculations made > 0 - calculate the interior

gas temperature near each

probe. NPROBE channels

will be created.

ITEMP may only be > 0 if

INPTD > 0.

CTAMB - a constant ambient temperature,

°C.

JTAMB - channel number of the ambient

temperature (NPDI [3]), °C.

Note that if both CTAMB and JTAMB are left blank, the current default value

for the ambient temperature will be

used (20 °C, unless redefined).

The ambient temperature is not required

if IVEL-0 and ITEMP-0.

X - ' X' - end-of-set mark

152
Input Variables Format Comments

HCj2 _—_—_____—, __—___—_JCHAN,POS { ,JTOPEN} X EVALU8 J CHAN - static pressure channel number,

Pa (NPDI [3]).

[2]) POS - position of probe relative to

floor, m. JTOPEN - corresponding opening

thermocouple channel (NPDI [3])

Enter this value only if

IVEL > 0 (see input HCjl).

X = ' X' - end-of-set mark

Enter Another Command (Data Input Hi)

153
15.11 Part H, Class C, Subpart k: Input Specified by Complex Command SURFACE

5LRFF1CE

The subroutine calculates the average and total heat loss rate and the incident

heat flux to a semi -infinite surface (such as a wall' or ceiling) from the surface

temperature and material characteristics7

. The three equations are related to

each other and are as follows:

(T - T(0))

q(a,j) = k/2 * (pi/a)**0.5 * (t(j) - t(j-l))**0.5

SUM[q(a,i) * (<t(j) - t(i-l))**0.5 - (t(j) - t(i))**0.5), 1-1, j-1]

q(t,j) = q(a,j) * A

q(j) = q(a,j) + e * s * (T**4)

where

q(a,j) - average heat loss rate per unit area, kW/m2

, at time step j

q(t,j) - total heat loss rate, kW, at time step j

q(j) - incident heat flux, kW/m2

, at time step j

k - thermal conductivity of surface, kW/m * °C

pi - ratio of the radius squared to the area of a circle = 3.14159

a - alpha, thermal diffusivity of the surface material, m

2 /s

T(0) - initial surface temperature, K

7 Fang, J. B. , and Breese , J. N. , Fire Development in Residential Basement

Rooms, Nat. Bur. Stand., (U. S.), NBSIR 80-2120 (October 1980).

154
T - surface temperature, K

t(j) - time at step j, s A - surface area, m

2 e — epsilon, total emissivity of surface, dimensionless

s - sigma, Stefan- Boltzmann constant, = 5.667 * 10.**-11 kW / (m2 * K*

)

All three calculations are made at the same time and each is stored in its own

channel created by the program. This subroutine does not reduce any raw data.

Input Variables Format Comments

HCkl IWTYPE , AREA , CTEMP or JTEMP , JTIME {,TCONA,

TCONB,ALPHA,EPSIS]

,

IAHLR , ITHLR , ITNHF

[

, CTAMB or JTAMB] X

EVALU8

(NPDI

[2]

IWTYPE - wall material type code = 1 - plywood

= 2 - concrete block

= 3 - gypsum board (default) = 4 - acoustic tile = 5 - ceramic board

= 6 - kaowool

= 0 - any user defined material

(thermal characteristics

entered below)

AREA - total surface area, m

2 GTEMP - constant surface temperature,

°C

JTEMP - temperature channel number

(single or average), °C

(NPDI [3])

JTIME - reference time channel number,

s TCONA , TCONB - the thermal conductivity

of a material varies with

temperature. TCONA and TCONB

are variables in the straight

line definition of the thermal

conductivity = TCONA + TCONB * T, where T is

the material temperature

(°C). For temperatures

less than 260 °C, the

conductivity is assumed the same as at 260 °C. Enter

these values only if IWTYPE = 0

155
ALPHA - thermal diffusivity of surface

material not in list, m

2 /s.

Enter this value only if

IWTYPE = 0

EPSIS - total emissivity of surface

material not in list. Enter

this value only if IWTYPE = 0

IAHLR > 0 - save the calculated values

of the average rate of

heat loss . One channel

created

ITHLP. > 0 - save the calculated values

of the total heat loss.

One channel created.

ITNHF > 0 - save the calculated values

of the incident heat flux.

One channel created.

CTAMB - a constant ambient temperature,

°C

JTAMB = 0 - use CTEMP or the first

reading from channel JTEMP,

whichever is used

> 0 - the ambient temperature

channel number (NPDI [3]).

Note that if neither CTAMB nor JTAMB

are used, the default ambient temperature is used. (See AMBIENTS command)

X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

156
15.12 Fart H, Class C, Subpart 1: Input Specified by Complex Command VENT-LOSS

IE1TLCSS

The subroutine calculates the radiative heat loss rate through an opening based

on the temperature in the opening. The equation is as follows:

Q' =s*e*A* (T**4 - T(amb)**4)

where

Q' - rate of heat loss, kW

s - sigma, Stefan-Boltzmann constant, = 5.667 * 10.**-11 kW / (m2 * K*

)

e - epsilon, emissivity of hot gas containing carbon dioxide, water

vapor and smoke, dimensionless (assumed = 1.0)

A - area of opening, m

2 T(amb) - ambient temperature, K

T - gas temperature , K

If a temperature profile is used (i.e. more than one thermocouple in the opening), the opening is divided into segments. The heat loss rate for each segment

is calculated and added together to get the total.

The calculated results are stored in a channel created by the program. This

subroutine does not reduce any raw data.

157
Input Variables Format Comments

HC11 OPENWD , OPENHT

,

[CTAMB or JTAMB] X

EVALU8

(NPDI

I ' J )

One channel is created each time the

command VENT -LOSS is given.

OPENWD - width of the opening

perpendicular to the string of

thermocouples , m

VJ.Tilil.Nni llcJ_gLlL. UL LLLc OpcIlXUg

parallel to string of

thermocouples , m

CTAMB - a constant ambient temperature,

°C.

JTAMB - channel number of the ambient

temperature (NPDI [3]), °C.

Note that if both CTAMB and JTAMB are left blank, the current default value

for the ambient temperature will be

used (20 °C, unless redefined).

X = ' X' - end-of-set mark

Input Variables Format Comments

HC12 JTEMP(i) X

1 <= i <= 30

EVALU8

(NPDI

[2])

JTEMP - single or average temperature

channel number, °C

(NPDI [3])

X = ' X' - end-of-set mark

Input Variables Format Comments

HC13 TMPLOC(j) X

2 <= j <= i

EVALU8

(NPDI

[2])

Enter this input only if 2 or more temperature channels were entered above

TMPLOC - the height of the temperature

reading (m) of the above

in the same order

X = ' X' - end-of-set mark

Enter Another Command (Data Input Hi)

158
15.13 Fart H, Class C, Subpart m: Input Specified by Complex Command WT-RATE

1T-RF1TE

The subroutine makes two different calculations based on the total weight loss of

an item: percent weight loss and rate of weight loss. Each of the calculations

can be called individually. The calculated results are stored in their own

channels created by the program. This subroutine does not reduce any raw data.

Percent Weight Loss

The percent weight loss is simply the total weight loss divided by the initial

weight

100 * T

%WL = W

159
Rate of Weight Loss

The rate of weight loss (kg/s) is calculated by finding the least squares

straight line fit of five adjacent points on the total weight loss curve. The

rate of weight loss at the center point then, is simply the slope of the line:

N * SUM[t(i)*T(i) ,i=a,b] - SUM[ t(i) , i-a,b] * SUM[T(i) , i=a,b]

W

N * SUM[t(i)**2,i=a,b] - (SUM[ t(i) , i=a,b] )**2

where W is the rate of weight loss (kg/s), T is the total weight loss (kg) at

time t (s), N is the number of points fit (currently 5) and SUM is the summation

function. In general (except near the end points), if I is the point of interest, then a - I - 2 and b — I + 2.

By dropping the "oldest" point and adding a new one, the slope can be found

efficiently at every point.

Note that to be able to calculate the rate of weight loss, the corresponding time

channel must be available.

160
Input Variables Format Comments

HCml JCHAN, NPWL { .WEIGHT}

,

NRWL { ,JTIME} X

EVALU8

(NPDI

[2])

Only one of these inputs is read each

time the command WT-RATE is given.

JCHAN - total weight loss channel

number, kg (NPDI [3])

NPWL > 0 - percent weight loss

calculation to be made.

One channel created.

WEIGHT - initial weight of object, kg.

Enter this value only if

NPWL > 0.

NRWL > 0 - rate of weight loss

calculation to be made.

One channel created.

JTIME - corresponding elapsed time

channel , s . Enter this value

only if NRWL > 0.

X = ' X' - end-of-set mark

Enter Another Command (Data Input Hi)

161
15.14 Fart H, Class C, Subpart n: Input Specified by Complex Command ZERO-TC

The subroutine finds the least squares fit of temperatures from various sized

thermocouples and calculates the temperature for any other given size of thermocouple using the derived coefficients. Typically, the temperature is calculated

for a zero diameter thermocouple

The evaluated equation is of the form:

T(e) = AO + Al * D(e)

where T(e) is the calculated temperature for a thermocouple of diameter D(e) , and

AO and Al are the derived coefficients from the least squares fit:

Al

SUM(D(i)*T(i) ,i=l,N) - (SUM(D(i)) * SUM(T(i) )

, i=l ,N) / N

SUM(D(i)**2,i=l,N) - (SUM(D(i) , i=l ,N) )**2 / N

SUM(T(i) ,i=l,N) SUM(D(i) ,i=l,N)

AO Al *

N N

where D(i) and T(i) are the thermocouple diameter and its related temperature, N

162
is the number of thermocouples, and SUM Is the summation function. Note that at

least two thermocouples must be input.

The calculated temperature is stored in a channel created by the program. This

subroutine does not reduce any raw data. Any units may be used for the diameters

and temperatures as long as they are consistent within a group.

Input Variables Format Comments

HCnl NGRP open

(NPDI

[1])

Only one of these inputs is read each

time ZDIAM is called.

NGRP - number of groups of

thermocouples to be fit.

Prepare NGRP sets of HCn2

inputs. (NGRP channels created,

one for each group .

)

Input Variables Format Comments

HCn2 [EVDIAM, ] DIAM(l)

TEMP(l) ,DIAM(2)

TEMP(2) , . .

.

, DIAM(i)

TEMP(i) X

1 <= i <= 25

EVALU8

(NPDI

[2])

EVDIAM - diameter for which the derived

fit is evaluated (default, if

omitted, is zero)

DIAM - thermocouple diameter

TEMP - thermocouple channel number

(NPDI [3]).

X = ' X' - end-of-set mark

Enter Another Command (Data Input HI)

163
Appendix A

Sample Set of Input Data for RAPID

164
To aid users in preparing input data from the execution of RAPID, a sample set of

data that has been used to perform calculations on data collected by an automatic

data acquisition system is presented on the following pages. A detailed

description of each data input in the data set is presented to give the user an

idea of the placement and function of the various data inputs used to perform

calculations with RAPID. The information is divided into three columns. In

column 1 , the identifying data input number as indexed in this report and

throughout the computer program is shown. In column 2, a detailed description of

the variables read from the line of input and their values is presented.

Column 3 shows the data input itself as it. would be used as input for RAPID.

Note that many spaces may occur between data inputs in Column 3. These multiple

blank lines are only to allow a complete description of the data set and would

not be included in an input data file for RAPID . A listing of the same data set

exactly as it would look to execute RAPID is included at the end of this

appendix

165
> U U <r w ^ w <s w lO Q

W W =te H

_1 X

pj CU QJ O 5 3 0 M ""HQ

4J a) *s

•H H

O P. <H O 0

P. -

tn ^ 1/1

o *J 3

P.

166
E 3 o o

88

w S u

(Q w O

g<o °

* 8 §

IS M

H l-l

O (M o o CM (M

I H Q M O 2 m Ph w

>-3 to

O 2 CO CM CM CM

C (D ..j 43 <d « )j » O in « So -u

CO

•rt c

(0 43 c s s

4. S

01 +> U 1/1 •H C

o o

£3

- 43 m c £Z43 O

43 <H C <H

(D 01 H O

.-1 42 tj o

0 43 a •H o 4) •rt C/l VI n M

a 01 43

•H H o

<)-l (0 c

Ol •H 01 o

Ol O o

Ol (1) (A u

ft c o 1-1 < w •rt fx. o

8«a o - n

4l » H - 8 & (0 43 01 g,

<0 M

a) - a

u

4i < a

o

G oi in 00 01

l/l CO B CO s -h a

.-1 43 u (0 o 4> B 43 CO o

w

on da at C 01 •H S3

•rt •H 01 M c

<H H •rt u Ol •H CD 01 Ol O U O 43

Ol 01 G M M

ft O •H 01 10 < w u 10 N PL,

O 43 U

P. >s 43 ! 01 43 TJ

43 <D "O 98.

g s

TJ

(0 TJ 43

i 01 (0 • o. -a • ft •H 01

4«S 43 &I/1H

O H

CO <H

43g*

01

ai •a en

ai in ft 01 a, o

•H O

y w ft

167
*> o

M O

«0 a

CLi M

a h +3

01 M H

>> O O

M "H (jl,

m n co a

in 06 S?8

B z

s s

.3.8

4-> O. O 4J M M MM ro <t-i o a o

CM -H Z CM <J

rH 10

168
CO

rH X m o CO m m 3- Ol O Ol o o

CM o CM o CO u -T u O rH o

O rH o O

o

CO CO 1 m

o CD O -3 -3- rH CO rH CO CO

CM CO -3- CO CO CO

M CD

C

CO "

(o m

M 10 in o E-i 0 cn E O

o .C CO rH 01 H < CO o l-l ^-1 .p tp o II M P o CM 1-1 0 CO rH H CO c M T3

SH

CD 10 i

n m o <4-l Ph rt

CO s <D o CO Q> P-l CO N U Jj if M CO

•H a c •H X 4= * 4a w AN m T3 01 CD c o 0

Jj oi •P o VI E-i P .-h H c O c ~3 O) CD Jj -T o tH 01 CD u c H 10 H -H M 10 H M o rH •H rH PL, •H C •H <r

CO o M P O C a CO CD H CO O in <H CO O 01 CD CO

Pli H 4J CO 0) •H CO o 43 P x> CO O O H •H CM M 01 ^5 1-1 •P c o rH Oh u P CO xt O o o CM CO CO j-l 0

CO to 0) 43 3 CO CO •o 10 O E 10 p p> CO •H II 60 JJ 60 rH

AS o o N 0) g n .-H if in m 14 0

3 e CO rH 01 o TJ o •iH M m •H w u o o O E w

§ o O o M 10 H rH 3 c •P C ll-l 10 0 a O) T3 CO o 1-1 tp w

•H -H o 10 o CO .-1 r*s CO C p <H o CO (0 o CM^

co T3 C o o H CD CO •H o CD 60 a O CO o C m

a

43 CO CO a <H c 10 TJ o 1-1 10 ^3 c o U 00 P co to 01 CO H o 10 43 60 9 c 43 H H

(0 w 60 o M VI c c -H < <H M in o O) T3 -P 0 ID

T> CO H H CO 43 CD CD •H TJ TJ O CD •rt cn CD CO CO ^-1 -3"

4-) O 0 P <P i

60 o 3 H CD 10 o 4J m P CM a CD 14 10 CO M (0 o P CO c 60 o O <p •H CD o 60 CD cn CO ID H M -P o

CO C CO —

1

0 iH o •rl •H lp u o c E li 1-1 6 c 01 U

Xt 60 o M 3 .C 01 .-1 A tp P •H •H

AN

CD M n 0 0 P H -H CO o P CD •H CO a tp c o o o T3 cd H CD CD O r-l O in 01 0. rH P Q CD CD CO M 10 ^-1 JJ C

Co CO CO 10 c CO ft 43 10 rH O TJ CO oi CO 4J 10 0) o 3 3 TJ .Q oi o 1—

1

CO P M o o H N •H M CO <_> u T3 O <H

r^ M

O rJ rH g3

o H T3 01 c * 0 •H O iH 1 ip rH

CO •H 0

10 II rf O w •tH 0

10 Ph T3 CO •H CO 01 Ed

-3- 0 U

H 10 in H 0) CO CT> O M

ll -T M 3 0 0 CO 43 rQ <H N ID CO O 0 O U u U < 0

rH CM rH CM rH

CM CM CM CM -3

CO CO CO CO

. Ph pqan s

rH CM

rH 43 rQ b w a

169
3

i

x

EH ta N H Eh

eg u X O

ID S ID S

CO W 00 w

2 o u x B

S'

ID E N O

CO CO V> U

O J o

H E r-i * co o

.H IB (D.-l<H<H'-l'-l*-",ii r!>S'H B"H BppnaQioatnpSiauin fca ta Ed ta b3 Ea Ea Ea H -O "O H ^

ta 3 3 an u

EC ta EC

170
X!

ta co O X

CO </>

CM OK O CM <

COz 88

X X! X Pi

O O p-|

* 8

« «

•o> -co

NNN «<0 (» H XXXX

~~ — — S ^ ^ ^ 2 0)0)0)0)

p ^ —- ^ 0)00)0) « co co 1 h n h n n

<T N H O H H H S H H H N Hcounv/v/^UcoaocijH^coccjoco

ta o ta g to

tH CM CM iH H N HD'O'OHHH'O'BH

W B9 ta ta 33 ta ta

H N N CM TJ 13 T3 13 - » p ta p ta ta ta

H N N N

*C3 T3 T3 T3 iH - - ~ 3 W

ta

171
X »S

X o o o o o o o o o £ s » O) < O H H H H u to <» v> <n co o n id o o o o o

el (O o to N N N N » « « «

CO 00 00 CO

<r r~ r~

H

NN

N

H 73 T3 T) IdH

tn eg tr: En § P o (0 OJ •H *J •0

in jJ ra ( ra V)

(0 .H 0 C 3 » 00 00 o

•H f—4} s u <oo CO ta w o •O <0

0) •o

T! *J c <u 1 w fo o M O .C O L1 4J P. 0-.

172
173
Listing of Input Data Set for RAPID

174
0

20000100 18 10 5 FURNITURE CALORIMETER TEST #110 85.0806

FAN SPEED TEST

99 1TIME ELAPSED TIME (S)

80 2MARKEREVENT MARKER (V)

78 2TC THERMOCOUPLE (C)

79 2TC THERMOCOUPLE (C)

81 3RADMTRRADI0METER #624416 (KW/SQ M)

82 2C02 CARBON DIOXIDE CONCENTRATION #34678 SPAN 9.42% (VOL %)

83 2CO CARBON MONOXIDE CONCENTRATION #34753 SPAN 1.82% (VOL %)

84 202 OXYGEN CONCENTRATION (VOL %)

85 2GASVELBI- DIRECTIONAL PROBE (M/S)

86 2WTLOSSTOTAL WEIGHT LOSS (KG)

87 2 SMOKE SMOKE EXTINCTION COEFFICIENT

999

1.0

1.0

26355.

999

SKIP-(S1)4

TIME 120 SECONDS TO IGNITION

99 0 0 -120.

GAS%

382 1 0 .00014 .09557 95.5 16.6299 220.467 X

34678 C02 10

83 1 0 -.00008 .04818 46. 6.43811 185.106 X

34753 CO 5 84 3 -.0015 20.9 X

VELOCITY

1

85 49.74 +.068 3 1 78 X

DELAY TIME FOR PULSE TO TRAVEL DOWN EXHAUST PIPE TO INSTRUMENTS

1

78 79 81 82 83 84 85 87 99 9.5 X

WT-LOSS

186 22.7 X

SPECIFY

86 X

SMOOTH

1

86 99 5 X

WT-RATE

86 0 1 99 X

SPECIFY

$2 X

COMPUTE CHANGE RATE OF WEIGHT LOSS FROM KG/S TO G/S

1$2 * 1000. X

MASS -FLOW

175
85 0.18 78 .9 X

HEAT -RATE -2

84 $4 1 82 1.5 13100. X

SPECIFY

$5 X

COMPUTE CHANGE RHR FROM KW TO MW

1

$5 / 1000. X

INTEGRATE COMPUTE TOTAL HEAT RELEASED (MJ)

1$5 99 X

COMPUTE RATIOS BETWEEN RHR AND RWL AND TOTHR AND TOTAL WT LOSS

2$5 / ($2 / 1000.) X

$7 / 86 X

SPECIFY

87 X

COMPUTE SMOKE EXTINCTION COEFFICIENT

187 * 10. X

COMPUTE INCREMENTAL MASS OF GASES PRODUCED

3(44. / 28.97) * $4 * (1. - 1.5 * 82 * .01) * (82 * .01) X C02

(28. / 28.97) * $4 * (1. - 1.5 * 82 * .01) * (83 * .01) X CO

(18. / 28.97) * $4 * ( 1.5 * 82 * .01) X H20

COMPUTE MASS OF GASES PRODUCED PER MASS LOSS OF SAMPLE (INSTANTANEOUS)

3$11 / ($2 / 1000.) X

$12 / ($2 / 1000.) X

$13 / ($2 / 1000.) X

INTEGRATE

4

$11 99 X

$12 99 X

$13 99 X

$2 99 X

COMPUTE MASS OF GASES PRODUCED PER MASS LOSS OF SAMPLE (AVERAGE)

3$17 / ($20 / 1000.) X

$18 / ($20 / 1000.) X

$19 / ($20 / 1000.) X

STATS

4

78 $23 0. 99 0. 300. X

78 $23 0. 99 300. 600. X

78 $23 0. 99 600. 900. X

78 $23 0. 99 0. 900. X

RENAME

999

END

PLOT 99 78 79

GAS TEMPERATURE IN PIPE

176
0. 1000. 0. 100.

TIME - S

PLOT 99 81

RADIOMETER

0. 1000. 0. 500.

TIME - S

PLOT 99 82

CARBON DIOXIDE CONCENTRATION

0. 1000. 0. 1.

TIME - S

PLOT 99 83

CARBON MONOXIDE CONCENTRATION

0. 1000. 0. 0.1

TIME - S

PLOT 99 84

OXYGEN CONCENTRATION IN PIPE

0. 1000. 10. 22.5

TIME - S

PLOT 99 85

GAS VELOCITY THROUGH PIPE

0. 1000. 0. 25.

TIME - S

PLOT 99 86

TOTAL WEIGHT LOSS OF COMBUSTIBLES

0. 1000. 0. 25.

TIME - S

PLOT 99 $02

RATE OF WEIGHT LOSS

0. 1000. -10. 90.

TIME - S

PLOT 99 $05

RATE OF HEAT RELEASE THROUGH PIPE

0. 1000. 0. 0.1

TIME - S

PLOT 99 $7

TOTAL HEAT RELEASED

0. 1000. 0. 10.

TIME - S PLOT 99 $8 $9

INSTANTANEOUS AND AVERAGE HEAT RELEASED

0. 1000. 0. 250.

TIME - S

PLOT 99 $14 $15 $16

MASS OF C02, CO, AND H20 PRODUCED PER

0. 1000. 0. 10.

TIME - S

PLOT 99 $21 $22 $23

MASS OF C02, CO, AND H20 PRODUCED PER

0. 1000. 0. 10.

TIME - S

TEMPERATURE | DEG C

HEAT FLUX | KW PER SQ METER

CONCENTRATION | VOLUME PERCENT

CONCENTRATION | VOLUME PERCENT

CONCENTRATION | VOLUME PERCENT

VELOCITY | METERS PER S

WEIGHT LOSS | KG

RATE OF WEIGHT LOSS | GRAMS PER S

RATE OF HEAT RELEASE | MW

TOTAL HEAT RELEASED | MJ

PER KG OF SAMPLE BURNED

MEGAJOULES PER KILOGRAM

MASS OF SAMPLE BURNED (INSTANTANEOUS)

KG PER KG

MASS OF SAMPLE BURNED (AVERAGE)

KG PER KG

177
Appendix B

Using RAPID on the CFR Minicomput<

178
This appendix provides details specifically on the use of RAPID on the CFR

Perkin - Elmer 3252 Minicomputer. The process will be similar on other

computers, with different operating systems commands to load and execute the

programs

.

ITa'Tng trVio- Program

On the 3252, RAPID exists in three versions (for three different maximum data

set sizes). The program RAPID has a data set size of 100 columns by 100 rows.

RAPIDB has a larger data set size of 400 by 400. A third version, RAPIDH has

a data set size of 400 by 2000. To run RAPID, load one of the versions,

assigned the appropriate logical units and start the program as:

*L0AD RAPID (or RAPIDB or RAPIDH)

*AS 5 ,<RAPIDinputdatacardfile>

*AS 6 ,<RAPIDprintedoutputfile>

*AS 7,<RAPIDdatasystemdatafile>

*START

where <RAPIDinputdatacardfile> is the set of input data as detailed in the NBS

report, <RAPIDprintedoutputfile> is the file where printed output from the

program is to be written (which may, of course, be the printer PR:), and

<RAPIDdatasystemdatafile> is the file of data collected by the data

acquisition system. Up to three additional, optional logical units may be

required depending upon the values of three variables read from the input data

179
set on logical unit 5 (variable INPNCH specifies a logical unit to write a

file of data as recorded by the data acquisition system, INSAVE specifies a

logical unit to write a file of data as recorded by the data acquisition

system in a format which may be easily and quickly read in future RAPID runs,

and NPNCH specifies a logical unit to write a file of the transformed data

once all calculations have been performed) . These logical units must be

preassigned prior to entering the START command from MTM.

To make execution of the program easier, a number of CSS files have been

created. Before describing them, it is necessary to detail a few conventions

assumed in the use of the CSS files. A number of extensions for file names

are assumed within the CSS files. A list follows.

But. It Can Be Easier Than That

. DTA Data file containing the raw unformatted data as recorded by

the data acquisition system.

. FRD Data file containing formatted raw data prepared from the

data acquisition system file (the .DTA file) by specifying

INSAVE non zero on RAPID data card Al

.CRD Data file containing the input data for the execution of

RAPID.

.RED Data file of the transformed data written once all

calculations have been preformed on the data.

180
.SAV File of the printed output from the execution of RAPID

A naming convention for the filenames is assumed in the CSS files as well.

Each test is identified by a two character test series identification followed

by up to six alphanumeric characters to uniquely identify the test within a

test series. One way we have found particularly convenient is to use the date

of the test in the form YYMMDD. Thus, the filename FC850806 would identify a

test in the FC series (for Furniture Calorimeter) performed on August 6, 1985.

Execution of RAPID is performed in two steps. In the first, a formatted raw

data file is prepared with one run of RAPID to produce a . FRD file from a .DTA

file. To do this, a CSS call is entered:

*FRD <tes tseries> , <filename> , <printedoutput> , <vers ionofRAPIDtouse>

where <testseries> is the two letter designation of the series of tests to

which this data set belongs, <filename> is the name of the specific test being

reduced (without extensions) , <printedoutput> specifies the destination of the

printed output (usually PR: or C:), and <vers ionofRAPIDtouse> is either left

blank (to use the smallest version of RAPID) or B or H to use the larger

versions

Once the FRD file is created, another CSS call can be used to create all files

with extensions as outlined above:

181
*RAPID <filename> , <vers ionofRAPIDtouse>

If printed output is desired (normally the printout from the execution is left

in the file <filename>. SAV) , it can be routed to the printer by

*PRINT <filename>.SAV,VFC

Other Niceties to Make Your Life With RAPID Easier

One more program and CSS is available to annotate a list of RAPID input cards

with created instrument numbers and locations is available. It's use has

proven invaluable when creating (and especially modifying) an input data set.

To use is, simply enter

*CCLIST <filename> , <printedoutput>

and you will get a two column listing with the created channels and their

numbers on the left hand side and a formatted listing of the input data set on

the right.

Gas Analysis Conversion Constants

A number of gas analyzers are predefined in the program and are available to

182
the command GAS% by number alone as detailed in Section 14.1. A listing

the predefined analyzers and their constants are shown below:

cu

rV

e SerialNumber Make Gas Range a b

1

2

3

3351

8312

8313

Lira

Lira

Lira

C02

C02

CO

20.0%

20.0%

10.0%

35 . 6728

64.0867

22.5739

232 . 667

372.973

278.821

4

56

30760

30761

31497

Lira

Lira

Lira

CO

CO

C02

10 . 0%

10.0%

4.0%.

17 . 8165

17.4194

7.42968

232 . 728

229.156

239.724

7

8

9

32369

100203

100203

Lira

Beckman

Beckman

CO

C02

C02

2.0%

0.5%

2.5%

3 . 05138

.836754

1.49959

208 . 020

222.762

123.019

10

11

12

100203

100203

100324

Beckman

Beckman

Beckman

C02

C02

CO

5.0%

20.0%

0.1%

6 . 57108

14614.9

22.2749

187 . 330

73115.0

22316.4

13

14

15

100324

100324

100324

Beckman

Beckman

Beckman

CO

CO

CO

0.5%

1.0%

5.0%

. 334504

2.76620

1209.37

128 . 746

327.558

24229.0

16

17

18

300634

300634

300635

Beckman

Beckman

Beckman

C02

C02

CO

2 . 5%

15.0%

1.0%

7 . 52544

12.2465

6.34414

353 . 735

141.164

685.198

19

20

21

300635

30759

32062

Beckman

Lira

Lira

CO

CO

CO

7.0%

10.0%

2.0%

5.00492

17.1453

2.71598

132 .479

226.150

191.773

22

23

24

32371

34537

34539

Lira

Lira

Lira

COZ

CO

C02

ZU . u%

15.0%

20.0%

20.5896

29.3901

O /. Q 1 CO z^y

idz

193.337

202.437

25

26

27

34677

34865

34540

Lira

Lira

Lira

C02

C02

C02

10.0%

10.0%

20.0%

16.7002

13.7266

32.8684

221.373

193.402

219.574

28

29

30

34391

34538

32372

Lira

Lira

Lira

CO

CO

C02

10.0%

15.0%

20.0%

17.6194

20.0793

29.7035

230.505

189.892

203.110

183
cu

rv

e SerialNumber Make Gas Range a b

31 34678 Lira C02 10 0% 16 6299 220. 467

32 34753 Lira CO 5 0% 6 4381 185. 106

33 103522 Beckman C02 2 5% 4 4600 231. 000

34 31445 Lira C02 20 0% 37 3761 237. 640

35 32098 Lira CO 1 0% 1 2718 182. 966

36 100203 Beckman C02 5 0% 6 3243 181. 815

37 100324 Beckman CO 1 0% 2 1355 261. 877

38 101403 Beckman C02 5 0% 6 1889 8. 972

39 101403 Beckman C02 20 0% 12 3116 6. 180

40 101404 Beckman CO 1 0% 2 4985 15. 073

41 101404 Beckman CO 5 .0% 2 .5896 5. 774

184
Appendix C

Selected Listings from the Program

Only two routines would normally be changed by the user, the main

program RAPID and block data subprogram CRVFIT. In the main

program, the user may adjust the number of rows and columns in the

data arrays to match the size of the data set under consideration.

Subprogram CRVFIT allows the user to maintain a catalog of gas

analysis equipment which can be referenced by number, without

entering calibrations and identifications for the analyzers at

each execution of the program.

185
PROGRAM RAPID

1 | PROGRAM RAPID 1 2 |c VERSION 86.0602 2

3 |c 3

4 |c xxxxxxxx xxxxxxxx xxxxxxxx xxxxxx xxxxxxxx 4 5 |c XXXX X X XXXX XXXX X XXXX X xxxx 5

6 |c XXXX X X XXXX XXXX X XXXX X XXXX 6

7 |c XXXXXXX XXXXXXXX XXXXXXXX XXXX X XXXX 7 8 |c X XXXX X XXXX XXXX XXXX X XXXX 8

9 |c X XXXX X XXXX XXXX XXXX X XXXX 9

10 |c X XXXX X XXXX XXXX XXXXXX XXXXXXXX 10

11 |c 11

12 |c 12

13 |c REDUCTION ALGORITHMS FOR THE PRESENTATION OF INCREMENTAL FIRE DATA 13

14 |c _ _ 14 15 |c WRITTEN BY J. NEWTON BREESE, CENTER FOR FIRE RESEARCH, NBS 15

16 |c RICHARD D. PEACOCK, CENTER FOR FIRE RESEARCH, NBS 16

17 |c 17 18 |c RAPID IS A COLLECTION OF ROUTINES DESIGNED TO TRANSFORM OR REDUCE 18 19 |c DATA COLLECTED BY AUTOMATED DATA ACQUISITION SYSTEMS FROM FIRE TESTS. 19

20 |c ITS PURPOSE IS TO TRANSLATE THE COLLECTED DATA, PERFORM LINEAR AND 20

21 |c NON-LINEAR TRANSFORMATIONS ON THE DATA, AND TO PRODUCE LISTINGS AND 21

22 |c PLOTS OF THE REDUCED DATA. 22

23 |c 23

24 |c RAPID COMPILE TIME PARAMETERS 24 25 |c 25 26 |c HROW: MAXIMUM NUMBER OF ROWS (SCARS) IK THE INPUT DATA 26

27 |c NCOL: MAXIMUM NUMBER OF COLUMNS (INSTRUMENTS) TO BE PROCESSED 27 28 |c MAXPLT: MAXIMUM NUMBER OF CURVES TO BE PLOTTED ON A SINGLE CURVE 28 29 |c MAXCNL: MAXIMUM NUMBER OF INSTRUMENTS RECORDED BY THE DATA SYSTEM 29

30 jc LUIN: LOGICAL UNIT PROM WHICH CARD IMAGES ARE READ 30

31 |c LUOUT: LOGICAL UNIT TO WHICH PRINT IMAGES ARE SENT 31 32 |c LUDATA: LOGICAL UNIT FROM WHICH TEST DATA ARE ENTERED 32

33 |c 33

34 1 INTEGER OUTDIM, PLTDIM 34 35 PARAMETER (NRQW-400, NCQL-400) 35 36 PARAMETER (MAXPLT-11) 36

37 ' PARAMETER (MAXCNL-200) 37 38 I PARAMETER (OUTDIM=18*MAXCNL+160

)

38 39 ! PARAMETER (NPTS=MAXPLT*NROW+2) 39

40 1 PARAMETER (PLTDIM=2*MAXPLT) 40

41 1 PARAMETER (LUIN-5 , LUOUT-6 , LUDATA-7

)

41

42 1 CHARACTER VERSN*27 , NAME (NCOL ) *66 , IPN ( PLTDIM )*6 , IOUT (OUTDIM) 42

43 s CHARACTER IKSP ( 80 ), JCHN (MAXPLT ) *6 , KHPRT (NCOL ) *3 43

44 j INTEGER ATSCAN(2,NCOL) 44 45 i D IMENSION REED ( NROW , NCOL )

, KH ( NCOL )

, ITYPE ( NCOL ), C ( NCOL ), ADD ( NCOL

)

45 46 1 D IMENSION X ( NROW , MAXPLT ) , Y ( NROW , MAXPLT )

, XP3 ( NPTS ), YP3 ( NPTS

)

46

47 DIMENSION MAXR(NCOL),ICHRS(320),MCNL(MAXCNL),IPC(PLTDIM),XR(NROW) 47 48 DIMENSION YR(NROW) ,JM( PLTDIM) , ISKIP(320 ) , POWER(NCOL) 48

49 1 DIMENSION IXR (NROW) , I YR ( NROW ), RMAX ( NCOL ), RMIN ( NCOL )

, RAVG ( NCOL

)

49

50 ! EQUIVALENCE (IXR.XR), (IYR.YR) 50

51 ! COMMON /ERRORS/ ICRD.ISEG 51

52 COMMON /IO/ LUI.LUO.LUD 52

53 EQUIVALENCE (X.XP3), (Y.YP3) 53

54 LUI=LUIN 54 55 LUC-LUOUT 55 56 LUD=LUDATA 56

57 |c 57 58 |c VERSN IS USED FOR IDENTIFICATION PURPOSES ONLY, 58

59 |c TO IDENTIFY THE VERSION OF RAPID IN USE 59 60 |c 60

61 VERSN='PE:3242 86.0602 (400,400)' 61

62 |c VERSION 85.1009: 1) ADDED CODE FOR SUBROUTINE COMB IN 62

63 |c 2) REVISED SUBROUTINE HTNCLD. 63

64 |c DEFAULT PERCENTAGE IS NOW 15. 64 65 |c OPTION FOR EXTRAPOLATING BOTTOM TWO 65

186
66 lc TWFPMfYYMrPT F^ TO APPPHYTMATF TFMPFPATITPF

67 c AT FT DDR

68 c

69 c VFRSION 85 1197- 11 ^FPAPATFn THF PTfRVF FTT TNFOPMATTON FRHM

70 c DUDnuuiiriL ^TIRPHTTTTNF fiAQPON uAoouri THiu PflPM r ux\n P.T cmcf,. fVV nATA uaxa PPVPTT isKvrxx.

71/ x c THT^ XQXO TIT DLAJ^K fY"V UAXA T1ATA QPPTTPtN oil^llUfi PAM l*ATl PPDCt "PTTQTOM UUoIUI PTTTT DU1L1T"

79 p FOR ANY USERS SET OF GAS METERS.

7^ p 2) CHANGED NAME OF PROGRAM FROM SPEEDY TO RAPID.

1L1 *? lp 7*/ J p VERSION 86.0602: 1) CHANGED INPUT FORMAT FROM OPEN FORMAT TO

7fi /D 1 p USE OF SUBROUTINE EVALU8 TO TAKE ADVANTAGE

77 p1 OF BEING ABLE TO USE CREATED CHANNELS AS

/O I

L

INPUT. CHANGES MADE IN SUBROUTINES SEPRAT

7Q 1 p AND PRESS.

ou 1 n

1 ^

A1OX WRITE (LUO.1010) VERSN

OZ 1 p INITIALIZE ARRAYS TO PREPARE FOR DATA SET DO 20 I=l,NCOL

OH KH(I)=0

OO | ITYPE(I)=0

OO MAXR(I)=0

A7o/ DO 10 J=l,NROW

88 REED(J,I)=0.

89 10 CONTINUE

90 ] CONTINUE

91 DO 30 1=1,320

92 ISKIP(I)=0

93 30 CONTINUE

94 DO 40 I=1,MAXCNL

95 MCNL(I)=0

96 1 40 CONTINUE

9798 CALL PLOT2 (NROW ; NCOL , REED , KH , ITYPE , C , ADD , NAME , X , Y , MAXPLT , IOUT

,

2 OUTDIM , MAXR , IPC , JM , PLTDIM , IPN , MCNL , MAXCNL , ISKIP , POWER , ICHRS , IKSP

,

99 3 XR.YR, IXR, IYR, JCHN,RMAX,RMIN,RAVG, ATSCAN,KHPRT)

100 WRITE (LUO.1020) VERSN

101 STOP

102 |c- 103 | 1010 FORMAT ('1 RAPID DATA REDUCTION ROUTINES VERSION: ' ,A) 104 j 1020 FORMAT ('1 RAPID VERSION: ',A, * END OF DATA SET'

)

105 |c- 106 END

66

6768

69

7071

72

73

747576

7778

79

808182

83

848586

8788

89

909192

93

949596

9798

99

100 101

102

103

104

105

106

187
BLOCK DATA CRVFIT

1 BLOCK DATA CRVFIT 1 2 |c 2

3 |c xxxxxxxx xxxxxxxx xxxx X XXXXXXXX xxxxxx xxxxxxxx 3 4 |c X XXXX xxxx X XXXX X xxxx xxxx XXXX 4 5 jc X xxxx xxxx X XXXX X xxxx XXXX XXXX 5 6 |c X xxxxxxx xxxx X xxxxxxxx xxxx XXXX 6

7 |c X xxxx X XXXX XXXX X xxxx XXXX XXXX 7 8 |c X XXXX X XXXX xxxx X xxxx XXXX XXXX 8

9 |c XXXXXXXX X xxxx xxxx xxxx xxxxxx xxxx 9 10 |c 10

11 ' CHARACTER SERNO(50)*8,GAS(50)*8,RANGE(50)*5 11

12 DIMENSION CA(50),CB(50) 12

13 COMMON /CRVIDS/ SERNO, GAS, RANGE 13

14 ' COMMON /CRVFTS/ CA,CB,NINS 14

15 |c 15

16 |c CURVE FIT CATALOG 16

17 jc 17 18 1 DATA (SERNO(I), GAS(I)

,

RANGE(I)

,

CA(I), CB(I), 1=1,10) 18

19 I 1/ 1 3351'

,

' C02 '

,

' 20.0', 35.6728, 232 667, 19

20 2 8312'

,

C02 '

,

' 20 . 0

'

, 64.0867, 372 973, 20

21 3 8313'

,

' CO '

,

' 10.0', 22.5739, 278 821, 21 22 4 30760'

,

CO ' 10.0', 17.8165, 232 728, 22

23 5 30761'

,

CO ' 10.0', 17.4194, 229 156, 23

24 6 31497'

,

C02 '

,

' 4.0', 7.42968, 239 724, 24 25 i 7 32369'

,

CO ' 2.0', 3.05138, 208 020, 25

26 8 100203'

,

C02 '

, ' 0.5', .836754, 222 762, 26

27 9 100203'

,

C02 '

,

' 2.5*, 1.49959, 123 019, 27 28 A 100203'

,

C02 '

, ' 5.0*, 6.57108, 187 330/ 28 29 1 DATA (SERNO(I), GAS(I), RANGE ( I )

,

CA(I), CB(I), 1=11,20) 29

30 1/ ' 100203'

,

002 '

,

' 20.0', 14614.9, 73115.0, 30

31 1 2 100324*

,

CO ' 0.1', 22.2749, 22316.4, 31

32 3 100324'

,

CO ' 0.5', .334504, 128 746, 32

33 ! 4 100324'

,

CO ' 1.0', 2.76620, 327 558, 33

34

j 5 100324'

,

CO ' 5.0', 1209.37, 24229.0, 34 35 6 300634'

,

C02 '

, ' 2.5', 7.52544, 353 735, 35

36 7 300634'

,

C02 '

,

' 15.0', 12.2465, 141 164, 36

37 i 8 300635'

,

CO ' 1.0*. 6.34414, 685 198, 37 38 1 9 300635'

,

CO ' 7.0', 5.00492, 132 479, 38 39 it i 30759'

,

CO ' 10.0', 17.1453, 226 150/ 39

40 1 DATA (SERNO(I), GAS(I), RANGE(I), CA(I), CB(I), 1=21,30) 40

41 1 1/ * 32062'

,

CO ' 2.0', 2.71598, 191 773, 41

42 2 32371'

,

C02 '

, ' 20.0', 39.0345, 249 152, 42

43 i 3 34537'

,

CO ' 15.0*, 20.5896, 193 337, 43

44 1 4 34539*

,

C02 '

,

' 20.0', 29.3901, 202 437, 44

45 ! 5 34677'

,

C02 '

, ' 10.0', 16.7002, 221 373, 45

46 ! 6 34865'

,

C02 '

,

' 10.0', 13.7266, 193 402, 46

47 i 7 34540'

,

C02 '

,

' 20.0*, 32.8684, 219 574, 47

48 8 34391'

,

CO ' 10.0'

,

17.6194, 230 505, 48

49 1 9 34538'

,

CO ' 15.0', 20.0793, 189 892, 49

50 I n? | ' 32372'

,

C02 '

, * 20.0', 29.7035, 203 892/ 50

51 DATA (SERNO(I)

,

GAS(I)

,

RANGE ( I )

,

CA(I), CB(I), 1-31,40) 51

52 1 /' 34678*

,

C02 '

,

' 10.0', 16.6299, 220 467, 52

53 2 34753'

,

CO ' 5.0*, 6.4381, 185 106, 53

54 3 103522' , C02 '

, ' 2.5', 4.4600, 231 000, 54 55 4 31445'

,

C02 '

, ' 20.0', 37.3761, 237 640, 55

56 5 32098'

,

' CO '

,

' 1.0', 1.2718, 182 966, 56

57 6 100203' , C02 '

, ' 5.0', 6.3243, 181 815, 57 58 7 100324'

,

CO '

,

' 1.0', 2.1355, 261 877, 58

59 8 101403' , C02 '

,

' 5.0', 6.1889, 8 972, 59

60 9 101403' , C02 '

,

' 20.0', 12.3116, 6 180, 60

61 # i 101404' , ' CO '

,

' 1.0', 2.4985, 15 073/ 61 62 DATA (SERNO(I), GAS(I), RANGE ( I )

,

CA(I), CB(I), 1-41,41) 62

63 1 /' 101404' , CO ' 5.0', 2.5896, 5 774/ 63

64 DATA NINS /41/ 64 65 END 65

188
NBS.114A (REV. 2-80) U.S. DEPT. OF COMM.

BIBLIOGRAPHIC DATA

SHEET (See instructions)

1. PUBLICATION OR

REPORT NO.

NBS/SP-722

2. Performing Organ. Report No. 3. Publication Date August 1986

4. TITLE AND SUBTITLE

A Users Guide for RAPID,

Reduction Algorithms for the Presentation of Incremental Fire Data

5. AUTHOR(S)

J. N. Breese and R. D. Peacock

6. PERFORMING ORGANIZATION (If joint or other than NBS. see instructions)

NATIONAL BUREAU OF STANDARDS

DEPARTMENT OF COMMERCE

GAITHERSBURG, MP 20899

7. Contract/Grant No.

8. Type of Report & Period Covered

Final

9. SPONSORING ORGANIZATION NAME AND COMPLETE ADDRESS (Street, City, State, ZIP)

Same as Item 6.

10. SUPPLEMENTARY NOTES

Library of Congress Catalog Card Number 86-600565

I

| Document describes a computer program; SF-185, FIPS Software Summary, is attached.

11. ABSTRACT (A 200-word or less factual summary of most significant information. If document includes a significant

bibliography or literature survey, mention it here)

The Voluminous amount of data than can be collected by automatic

data acquisition systems during large scale fire tests requires

the use of a digital computer for the reduction of data. RAPID is

a stand-alone program specifically designed to convert raw

instrument voltages collected during such tests into meaningful

units. The reduced data can also be used alone or in combinations

to obtain quantities that require more than minimal data

reduction. The program is written with the ability to accept

data from a user defined data acquisition system, with the ability to

check the correctness of data included. Through the use of input data

provided by the user, the data can be converted into meaningful

scientific units. The data can then be presented in tabular or printer plot form, or stored for further processing.

This user's guide provides detailed instructions for the use of the

program.

12. KEY WORDS (Six to twelve entries; alphabetical order; capitalize only proper names; and separate key words by semicolons)

Computer program; data reduction; data acquisition; fire tests

13. AVAILABILITY

Ptl Unlimited

| | For Official Distribution. Do Not Release to NTIS

| Xl Order From Superintendent of Documents, U.S. Government Printing Office, Washington, D.C.

20402.

[ | Order From National Technical Information Service (NTIS), Springfield, VA. 22161

14. NO. OF

PRINTED PAGES

195

15. Price

•U.S. GOVERNMENT PRINTING OFFICEi 1986 0-^91-097/5257^ USCOMM-DC 6043-P80

NBSTechnical Publications

Periodical

Journal of Research—The Journal of Research of the National Bureau of Standards reports NBS research and development in those disciplines of the physical and engineering sciences in which the Bureau is active. These include physics, chemistry, engineering, mathematics, and computer sciences. Papers cover a broad

range of subjects, with major emphasis on measurement methodology and the basic technology underlying

standardization. Also included from time to time are survey articles on topics closely related to the Bureau's

technical and scientific programs. Issued six times a year.

Nonperiodicals

Monographs—Major contributions to the technical literature on various subjects related to the Bureau's scientific and technical activities. Handbooks—Recommended codes of engineering and industrial practice (including safety codes) developed in cooperation with interested industries, professional organizations, and regulatory bodies.

Special Publications—Include proceedings of conferences sponsored by NBS, NBS annual reports and other

special publications appropriate to this grouping such as wall charts, pocket cards, and bibliographies.

Applied Mathematics Series—Mathematical tables, manuals, and studies of special interest to physicists

engineers, chemists, biologists, mathematicians, computer programmers, and others engaged in scientific and

technical work.

National Standard Reference Data Series—Provides quantitative data on the physical and chemical properties

ot materials, compiled from the world's literature and critically evaluated. Developed under a worldwide pro- gram coordinated by NBS under the authority of the National Standard Data Act (Public Law 90-3%) NOTE: The Journal of Physical and Chemical Reference Data (JPCRD) is published quarterly for NBS by

the American Chemical Society (ACS) and the American Institute of Physics (AIP). Subscriptions reprints and supplements are available from ACS, 1155 Sixteenth St., NW, Washington, DC 20056.

Building Science Series—Disseminates technical information developed at the Bureau on building materials,

components, systems, and whole structures. The series presents research results, test methods, and perfor-

' mance criteria related to the structural and environmental functions and the durability and safety

characteristics of building elements and systems.

Technical Notes—Studies or reports which are complete in themselves but restrictive in their treatment of a

subject. Analogous to monographs but not so comprehensive in scope or definitive in treatment of the subject

area. Often serve as a vehicle for final reports of work performed at NBS under the sponsorship of other government agencies.

Voluntary Product Standards—Developed under procedures published by the Department of Commerce in Part 10, Title 15, of the Code of Federal Regulations. The standards establish nationally recognized re- quirements for products, and provide all concerned interests with a basis for common understanding of the

characteristics of the products. NBS administers this program as a supplement to the activities of the private sector standardizing organizations.

Consumer Information Series—Practical information, based on NBS research and experience, covering areas of interest to the consumer. Easily understandable language and illustrations provide useful background

knowledge for shopping in today's technological marketplace.

Order the above NBS publications from: Superintendent of Documents, Government Printim Office Washington, DC 20402.

' Order the following NBS publications—FIPS and NBSIR's—from the National Technical Information Service, Springfield, VA 2P16I.

Federal Information Processing Standards Publications (FIPS PUB)—Publications in this series collectively constitute the Federal Information Processing Standards Register. The Register serves as the official source of

information in the Federal Government regarding standards issued by NBS pursuant to the Federal Property

and Administrative Services Act of 1949 as amended, Public Law 89-306 (79 Stat. 1 127), and as implemented

by Executive Order 1 1717 (38 FR 12315, dated May 11, 1973) and Part 6 of Title 15 CFR (Code of Federal

Regulations).

NBS Interagency Reports (NBSIR)—A special series of interim or final reports on work performed by NBS

for outside sponsors (both government and non-government). In general, initial distribution is handled by the sponsor; public distribution is by the National Technical Information Service, Springfield, VA 22161 in "paper copy or microfiche form.
U.S. Department of Commerce

National Bureau of Standards

Gaithersburg. MD 20899

Official Business

Penalty for Private Use $300